_nogo: TIMES 1 DD 0 _noloc: TIMES 1 DD 0 _opindex: TIMES 1 DD 0 _opsize: TIMES 1 DD 0 _swactive: TIMES 1 DD 0 _swdefaul: TIMES 1 DD 0 _swnext DD 0 _swend DD 0 _stage DD 0 _wq DD 0 _argcs: TIMES 1 DD 0 _argvs DD 0 _wqptr DD 0 _litptr: TIMES 1 DD 0 _macptr: TIMES 1 DD 0 _pptr: TIMES 1 DD 0 _ch: TIMES 1 DD 0 _nch: TIMES 1 DD 0 _declared: TIMES 1 DD 0 _iflevel: TIMES 1 DD 0 _skipleve: TIMES 1 DD 0 _nxtlab: TIMES 1 DD 0 _litlab: TIMES 1 DD 0 _csp: TIMES 1 DD 0 _argstk: TIMES 1 DD 0 _argtop: TIMES 1 DD 0 _ncmp: TIMES 1 DD 0 _errflag: TIMES 1 DD 0 _eof: TIMES 1 DD 0 _output: TIMES 1 DD 0 _files: TIMES 1 DD 0 _filearg DD 0 _input DD -1 _input2 DD -1 _usexpr DD 1 _ccode DD 1 _snext DD 0 _stail DD 0 _slast DD 0 _listfp: TIMES 1 DD 0 _lastst: TIMES 1 DD 0 _oldseg: TIMES 1 DD 0 _optimize: TIMES 1 DB 0 _alarm: TIMES 1 DB 0 _monitor: TIMES 1 DB 0 _pause: TIMES 1 DB 0 _symtab DD 0 _litq DD 0 _macn DD 0 _macq DD 0 _pline DD 0 _mline DD 0 _line DD 0 _lptr DD 0 _glbptr DD 0 _locptr DD 0 _quote DB 34 TIMES 1 DB 0 _cptr DD 0 _cptr2 DD 0 _cptr3 DD 0 _msname: TIMES 9 DB 0 _ssname: TIMES 9 DB 0 _op DD 57,73,3,20,55,43,22,47,35,7 DD 6,1,69,52,16,49 _op2 DD 57,73,3,20,55,44,23,48,36,7 DD 6,1,69,53,17,50 _main: PUSH EBP MOV EBP,ESP MOV EAX,_1_1+0 PUSH EAX MOV EAX,__iob MOV EBX,32 ADD EAX,EBX PUSH EAX MOV CL,2 CALL _fputs ADD ESP,8 MOV EAX,_1_1+47 PUSH EAX MOV EAX,__iob MOV EBX,32 ADD EAX,EBX PUSH EAX MOV CL,2 CALL _fputs ADD ESP,8 MOV EAX,_1_1+95 PUSH EAX MOV EAX,__iob MOV EBX,32 ADD EAX,EBX PUSH EAX MOV CL,2 CALL _fputs ADD ESP,8 LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] MOV DWORD [_argcs],EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] MOV DWORD [_argvs],EAX MOV EAX,360 PUSH EAX MOV EAX,1 PUSH EAX MOV CL,2 CALL _OS_callo ADD ESP,8 MOV DWORD [_swnext],EAX MOV EAX,[_swnext] MOV EBX,1424 ADD EAX,EBX MOV DWORD [_swend],EAX MOV EAX,200 PUSH EAX MOV EAX,8 PUSH EAX MOV CL,2 CALL _OS_callo ADD ESP,8 MOV DWORD [_stage],EAX MOV EAX,30 PUSH EAX MOV EAX,4 PUSH EAX MOV CL,2 CALL _OS_callo ADD ESP,8 MOV DWORD [_wq],EAX MOV DWORD [_wqptr],EAX MOV EAX,3000 PUSH EAX MOV EAX,1 PUSH EAX MOV CL,2 CALL _OS_callo ADD ESP,8 MOV DWORD [_litq],EAX MOV EAX,3300 PUSH EAX MOV EAX,1 PUSH EAX MOV CL,2 CALL _OS_callo ADD ESP,8 MOV DWORD [_macn],EAX MOV EAX,2100 PUSH EAX MOV EAX,1 PUSH EAX MOV CL,2 CALL _OS_callo ADD ESP,8 MOV DWORD [_macq],EAX MOV EAX,128 PUSH EAX MOV EAX,1 PUSH EAX MOV CL,2 CALL _OS_callo ADD ESP,8 MOV DWORD [_pline],EAX MOV EAX,128 PUSH EAX MOV EAX,1 PUSH EAX MOV CL,2 CALL _OS_callo ADD ESP,8 MOV DWORD [_mline],EAX MOV EAX,[_stage] MOV EBX,6400 ADD EAX,EBX MOV DWORD [_slast],EAX MOV EAX,4400 PUSH EAX MOV EAX,1 PUSH EAX MOV CL,2 CALL _OS_callo ADD ESP,8 MOV DWORD [_symtab],EAX MOV EAX,[_symtab] MOV DWORD [_locptr],EAX MOV EAX,[_symtab] MOV EBX,400 ADD EAX,EBX MOV DWORD [_glbptr],EAX XOR CL,CL CALL _ask XOR CL,CL CALL _openfile XOR CL,CL CALL _preproce XOR CL,CL CALL _header XOR CL,CL CALL _setcodes XOR CL,CL CALL _parse XOR CL,CL CALL _trailer MOV EAX,[_output] PUSH EAX MOV CL,1 CALL _OS_fclos ADD ESP,4 POP EBP RET _1_1 DB 83,109,97,108,108,32,67,32,51,56 DB 54,47,78,84,44,32,86,101,114,115 DB 105,111,110,32,51,46,49,44,32,82 DB 101,118,105,115,105,111,110,32,76,101 DB 118,101,108,32,49,10,0,67,111,112 DB 121,114,105,103,104,116,32,49,57,56 DB 50,44,32,49,57,56,51,44,32,49 DB 57,56,53,44,32,49,57,56,56,32 DB 74,46,32,69,46,32,72,101,110,100 DB 114,105,120,10,0,67,111,112,121,114 DB 105,103,104,116,32,49,57,57,56,32 DB 32,72,32,84,32,87,97,108,104,101 DB 105,109,10,10,0 _parse: PUSH EBP MOV EBP,ESP _1_3: MOV EAX,[_eof] OR EAX,EAX JE _1_5 JMP _1_4 _1_5: MOV EAX,_1_2+0 PUSH EAX MOV EAX,6 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_7 JMP _1_6 _1_7: MOV EAX,3 PUSH EAX MOV CL,1 CALL _dodeclar ADD ESP,4 JMP _1_8 _1_6: MOV EAX,2 PUSH EAX MOV CL,1 CALL _dodeclar ADD ESP,4 OR EAX,EAX JNE _1_10 JMP _1_9 _1_10: JMP _1_11 _1_9: MOV EAX,_1_2+7 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_13 JMP _1_12 _1_13: XOR CL,CL CALL _doasm JMP _1_14 _1_12: MOV EAX,_1_2+12 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_16 JMP _1_15 _1_16: XOR CL,CL CALL _doinclud JMP _1_17 _1_15: MOV EAX,_1_2+21 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_19 JMP _1_18 _1_19: XOR CL,CL CALL _dodefine JMP _1_20 _1_18: XOR CL,CL CALL _dofuncti _1_20: _1_17: _1_14: _1_11: _1_8: XOR CL,CL CALL _blanks JMP _1_3 _1_4: POP EBP RET _1_2 DB 101,120,116,101,114,110,0,35,97,115 DB 109,0,35,105,110,99,108,117,100,101 DB 0,35,100,101,102,105,110,101,0 _dodeclar: PUSH EBP MOV EBP,ESP MOV EAX,_1_21+0 PUSH EAX MOV EAX,4 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_23 JMP _1_22 _1_23: MOV EAX,4 PUSH EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _declglb ADD ESP,8 JMP _1_24 _1_22: MOV EAX,_1_21+5 PUSH EAX MOV EAX,8 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_26 JMP _1_25 _1_26: MOV EAX,_1_21+14 PUSH EAX MOV EAX,4 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_28 JMP _1_27 _1_28: MOV EAX,5 PUSH EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _declglb ADD ESP,8 JMP _1_29 _1_27: MOV EAX,_1_21+19 PUSH EAX MOV EAX,3 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 MOV EAX,17 PUSH EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _declglb ADD ESP,8 _1_29: JMP _1_30 _1_25: MOV EAX,_1_21+23 PUSH EAX MOV EAX,3 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JE _1_34 JMP _1_32 _1_34: LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,3 CALL __eq OR EAX,EAX JE _1_35 JMP _1_32 _1_35: XOR EAX,EAX JMP _1_33 _1_32: MOV EAX,1 _1_33: OR EAX,EAX JNE _1_36 JMP _1_31 _1_36: MOV EAX,16 PUSH EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _declglb ADD ESP,8 JMP _1_37 _1_31: XOR EAX,EAX POP EBP RET _1_37: _1_30: _1_24: XOR CL,CL CALL _ns MOV EAX,1 POP EBP RET _1_21 DB 99,104,97,114,0,117,110,115,105,103 DB 110,101,100,0,99,104,97,114,0,105 DB 110,116,0,105,110,116,0 _declglb: PUSH EBP MOV EBP,ESP ADD ESP,-8 _1_39: XOR CL,CL CALL _endst OR EAX,EAX JNE _1_42 JMP _1_41 _1_42: MOV ESP,EBP POP EBP RET _1_41: MOV EAX,_1_38+0 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_44 JMP _1_43 _1_44: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX,3 MOV [EBX],EAX LEA EAX,[EBP-8] MOV EBX,EAX XOR EAX,EAX MOV [EBX],EAX JMP _1_45 _1_43: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX,1 MOV [EBX],EAX LEA EAX,[EBP-8] MOV EBX,EAX MOV EAX,1 MOV [EBX],EAX _1_45: MOV EAX,_ssname PUSH EAX MOV CL,1 CALL _symname ADD ESP,4 OR EAX,EAX JE _1_47 JMP _1_46 _1_47: XOR CL,CL CALL _illname _1_46: MOV EAX,_ssname PUSH EAX MOV CL,1 CALL _findglb ADD ESP,4 OR EAX,EAX JNE _1_49 JMP _1_48 _1_49: MOV EAX,_ssname PUSH EAX MOV CL,1 CALL _multidef ADD ESP,4 _1_48: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,1 CALL __eq OR EAX,EAX JNE _1_51 JMP _1_50 _1_51: MOV EAX,_1_38+2 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_53 JMP _1_52 _1_53: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX,4 MOV [EBX],EAX MOV EAX,_1_38+4 PUSH EAX MOV CL,1 CALL _need ADD ESP,4 JMP _1_54 _1_52: MOV EAX,_1_38+6 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_56 JMP _1_55 _1_56: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX,2 MOV [EBX],EAX LEA EAX,[EBP-8] PUSH EAX XOR CL,CL CALL _needsub POP EBX MOV [EBX],EAX _1_55: _1_54: _1_50: LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,3 CALL __eq OR EAX,EAX JNE _1_58 JMP _1_57 _1_58: MOV EAX,_ssname PUSH EAX LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,2 MOV ECX,EAX MOV EAX,EBX SAR EAX,CL PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,3 CALL _external ADD ESP,12 JMP _1_59 _1_57: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,4 CALL __ne OR EAX,EAX JNE _1_61 JMP _1_60 _1_61: LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,2 MOV ECX,EAX MOV EAX,EBX SAR EAX,CL PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP-8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,3 CALL _initials ADD ESP,12 _1_60: _1_59: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,3 CALL __eq OR EAX,EAX JNE _1_63 JMP _1_62 _1_63: MOV EAX,_ssname PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV EAX,4 PUSH EAX XOR EAX,EAX PUSH EAX MOV EAX,_glbptr PUSH EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,7 CALL _addsym ADD ESP,28 JMP _1_64 _1_62: MOV EAX,_ssname PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP-8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,2 MOV ECX,EAX MOV EAX,EBX SAR EAX,CL POP EBX IMUL EBX PUSH EAX XOR EAX,EAX PUSH EAX MOV EAX,_glbptr PUSH EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,7 CALL _addsym ADD ESP,28 _1_64: MOV EAX,_1_38+8 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JE _1_66 JMP _1_65 _1_66: MOV ESP,EBP POP EBP RET _1_65: JMP _1_39 _1_40: MOV ESP,EBP POP EBP RET _1_38 DB 42,0,40,0,41,0,91,0,44,0 _initials: PUSH EBP MOV EBP,ESP ADD ESP,-4 XOR EAX,EAX MOV DWORD [_litptr],EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] OR EAX,EAX JE _1_69 JMP _1_68 _1_69: LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX,-1 MOV [EBX],EAX _1_68: LEA EAX,[EBP-4] PUSH EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] POP EBX MOV [EBX],EAX MOV EAX,_1_67+0 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_71 JMP _1_70 _1_71: MOV EAX,_1_67+2 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_73 JMP _1_72 _1_73: _1_74: LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] OR EAX,EAX JNE _1_76 JMP _1_75 _1_76: LEA EAX,[EBP+16] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP+8] PUSH EAX MOV CL,3 CALL _init ADD ESP,12 MOV EAX,_1_67+4 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JE _1_78 JMP _1_77 _1_78: JMP _1_75 _1_77: JMP _1_74 _1_75: MOV EAX,_1_67+6 PUSH EAX MOV CL,1 CALL _need ADD ESP,4 JMP _1_79 _1_72: LEA EAX,[EBP+16] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP+8] PUSH EAX MOV CL,3 CALL _init ADD ESP,12 _1_79: _1_70: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,-1 CALL __eq OR EAX,EAX JNE _1_83 JMP _1_81 _1_83: LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,-1 CALL __eq OR EAX,EAX JNE _1_84 JMP _1_81 _1_84: MOV EAX,1 JMP _1_82 _1_81: XOR EAX,EAX _1_82: OR EAX,EAX JNE _1_85 JMP _1_80 _1_85: LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,2 CALL __eq OR EAX,EAX JNE _1_87 JMP _1_86 _1_87: MOV EAX,_1_67+8 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_86: XOR EAX,EAX PUSH EAX LEA EAX,[EBP+16] MOV EBX,EAX MOV EAX,4 MOV [EBX],EAX PUSH EAX MOV CL,2 CALL _stowlit ADD ESP,8 _1_80: LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,1 CALL _public ADD ESP,4 MOV EAX,[_litptr] OR EAX,EAX JG _1_89 JMP _1_88 _1_89: LEA EAX,[EBP+16] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,1 CALL _dumplits ADD ESP,4 JMP _1_90 _1_88: LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] OR EAX,EAX JG _1_92 JMP _1_91 _1_92: MOV EAX,58 PUSH EAX MOV EAX,[_output] PUSH EAX MOV CL,2 CALL _OS_fputc ADD ESP,8 _1_91: _1_90: LEA EAX,[EBP+16] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _dumpzero ADD ESP,8 MOV ESP,EBP POP EBP RET _1_67 DB 61,0,123,0,44,0,125,0,110,101 DB 101,100,32,97,114,114,97,121,32,115 DB 105,122,101,0 _init: PUSH EBP MOV EBP,ESP ADD ESP,-4 LEA EAX,[EBP-4] PUSH EAX MOV CL,1 CALL _string ADD ESP,4 OR EAX,EAX JNE _1_95 JMP _1_94 _1_95: LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,1 CALL __eq OR EAX,EAX JE _1_99 JMP _1_97 _1_99: LEA EAX,[EBP+16] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,1 CALL __ne OR EAX,EAX JE _1_100 JMP _1_97 _1_100: XOR EAX,EAX JMP _1_98 _1_97: MOV EAX,1 _1_98: OR EAX,EAX JNE _1_101 JMP _1_96 _1_101: MOV EAX,_1_93+0 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_96: LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV EAX,[_litptr] PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] POP EBX XCHG EAX,EBX SUB EAX,EBX POP EBX XCHG EAX,EBX SUB EAX,EBX POP EBX MOV [EBX],EAX LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,3 CALL __eq OR EAX,EAX JNE _1_103 JMP _1_102 _1_103: XOR CL,CL CALL _point _1_102: JMP _1_104 _1_94: LEA EAX,[EBP-4] PUSH EAX MOV CL,1 CALL _constexp ADD ESP,4 OR EAX,EAX JNE _1_106 JMP _1_105 _1_106: LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,3 CALL __eq OR EAX,EAX JNE _1_108 JMP _1_107 _1_108: MOV EAX,_1_93+42 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_107: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP+16] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _stowlit ADD ESP,8 LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,1 XCHG EAX,EBX SUB EAX,EBX POP EBX MOV [EBX],EAX _1_105: _1_104: MOV ESP,EBP POP EBP RET _1_93 DB 109,117,115,116,32,97,115,115,105,103 DB 110,32,116,111,32,99,104,97,114,32 DB 112,111,105,110,116,101,114,32,111,114 DB 32,99,104,97,114,32,97,114,114,97 DB 121,0,99,97,110,110,111,116,32,97 DB 115,115,105,103,110,32,116,111,32,112 DB 111,105,110,116,101,114,0 _needsub: PUSH EBP MOV EBP,ESP ADD ESP,-4 MOV EAX,_1_109+0 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_111 JMP _1_110 _1_111: XOR EAX,EAX MOV ESP,EBP POP EBP RET _1_110: LEA EAX,[EBP-4] PUSH EAX MOV CL,1 CALL _constexp ADD ESP,4 OR EAX,EAX JE _1_113 JMP _1_112 _1_113: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX,1 MOV [EBX],EAX _1_112: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] OR EAX,EAX JL _1_115 JMP _1_114 _1_115: MOV EAX,_1_109+2 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 LEA EAX,[EBP-4] PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] NEG EAX POP EBX MOV [EBX],EAX _1_114: MOV EAX,_1_109+24 PUSH EAX MOV CL,1 CALL _need ADD ESP,4 LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] MOV ESP,EBP POP EBP RET _1_109 DB 93,0,110,101,103,97,116,105,118,101 DB 32,115,105,122,101,32,105,108,108,101 DB 103,97,108,0,93,0 _doinclud: PUSH EBP MOV EBP,ESP ADD ESP,-36 XOR CL,CL CALL _blanks MOV EAX,[_lptr] MOV EBX,EAX MOVSX EAX,BYTE [EBX] MOV EBX,EAX MOV EAX,34 CALL __eq OR EAX,EAX JE _1_120 JMP _1_118 _1_120: MOV EAX,[_lptr] MOV EBX,EAX MOVSX EAX,BYTE [EBX] MOV EBX,EAX MOV EAX,60 CALL __eq OR EAX,EAX JE _1_121 JMP _1_118 _1_121: XOR EAX,EAX JMP _1_119 _1_118: MOV EAX,1 _1_119: OR EAX,EAX JNE _1_122 JMP _1_117 _1_122: MOV EAX,[_lptr] INC EAX MOV DWORD [_lptr],EAX _1_117: LEA EAX,[EBP-4] MOV EBX,EAX XOR EAX,EAX MOV [EBX],EAX _1_123: MOV EAX,[_lptr] PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] POP EBX ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] OR EAX,EAX JNE _1_127 JMP _1_125 _1_127: MOV EAX,[_lptr] PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] POP EBX ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] MOV EBX,EAX MOV EAX,34 CALL __ne OR EAX,EAX JNE _1_128 JMP _1_125 _1_128: MOV EAX,[_lptr] PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] POP EBX ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] MOV EBX,EAX MOV EAX,62 CALL __ne OR EAX,EAX JNE _1_129 JMP _1_125 _1_129: MOV EAX,[_lptr] PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] POP EBX ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] MOV EBX,EAX MOV EAX,10 CALL __ne OR EAX,EAX JNE _1_130 JMP _1_125 _1_130: MOV EAX,1 JMP _1_126 _1_125: XOR EAX,EAX _1_126: OR EAX,EAX JNE _1_131 JMP _1_124 _1_131: LEA EAX,[EBP-36] PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] POP EBX ADD EAX,EBX PUSH EAX MOV EAX,[_lptr] PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] POP EBX ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] POP EBX MOV [EBX],AL LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] INC EAX MOV [EBX],EAX JMP _1_123 _1_124: LEA EAX,[EBP-36] PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] POP EBX ADD EAX,EBX MOV EBX,EAX XOR EAX,EAX MOV [EBX],AL LEA EAX,[EBP-36] PUSH EAX MOV EAX,_1_116+0 PUSH EAX MOV CL,2 CALL _OS_fopen ADD ESP,8 MOV DWORD [_input2],EAX OR EAX,EAX JE _1_133 JMP _1_132 _1_133: MOV EAX,-1 MOV DWORD [_input2],EAX MOV EAX,_1_116+2 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_132: XOR CL,CL CALL _kill MOV ESP,EBP POP EBP RET _1_116 DB 114,0,111,112,101,110,32,102,97,105 DB 108,117,114,101,32,111,110,32,105,110 DB 99,108,117,100,101,32,102,105,108,101 DB 0 _dodefine: PUSH EBP MOV EBP,ESP ADD ESP,-4 MOV EAX,_msname PUSH EAX MOV CL,1 CALL _symname ADD ESP,4 OR EAX,EAX JE _1_136 JMP _1_135 _1_136: XOR CL,CL CALL _illname XOR CL,CL CALL _kill MOV ESP,EBP POP EBP RET _1_135: LEA EAX,[EBP-4] MOV EBX,EAX XOR EAX,EAX MOV [EBX],EAX MOV EAX,_msname PUSH EAX MOV EAX,[_macn] PUSH EAX MOV EAX,11 PUSH EAX MOV EAX,[_macn] MOV EBX,3300 ADD EAX,EBX PUSH EAX MOV EAX,300 PUSH EAX XOR EAX,EAX PUSH EAX MOV CL,6 CALL _search ADD ESP,24 OR EAX,EAX JE _1_138 JMP _1_137 _1_138: MOV EAX,[_cptr] MOV DWORD [_cptr2],EAX OR EAX,EAX JNE _1_140 JMP _1_139 _1_140: _1_141: MOV EAX,[_cptr2] INC EAX MOV DWORD [_cptr2],EAX DEC EAX PUSH EAX MOV EAX,_msname PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] INC EAX MOV [EBX],EAX DEC EAX POP EBX ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] POP EBX MOV [EBX],AL OR EAX,EAX JNE _1_143 JMP _1_142 _1_143: JMP _1_141 _1_142: JMP _1_144 _1_139: MOV EAX,_1_134+0 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 MOV ESP,EBP POP EBP RET _1_144: _1_137: MOV EAX,[_macptr] PUSH EAX MOV EAX,[_cptr] MOV EBX,9 ADD EAX,EBX PUSH EAX MOV EAX,2 PUSH EAX MOV CL,3 CALL _putint ADD ESP,12 _1_145: XOR CL,CL CALL _white OR EAX,EAX JNE _1_147 JMP _1_146 _1_147: XOR CL,CL CALL _gch JMP _1_145 _1_146: _1_148: XOR CL,CL CALL _gch PUSH EAX MOV CL,1 CALL _putmac ADD ESP,4 OR EAX,EAX JNE _1_150 JMP _1_149 _1_150: JMP _1_148 _1_149: MOV EAX,[_macptr] MOV EBX,EAX MOV EAX,2099 CALL __ge OR EAX,EAX JNE _1_152 JMP _1_151 _1_152: MOV EAX,_1_134+22 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 MOV EAX,7 PUSH EAX MOV CL,1 CALL _OS_exit ADD ESP,4 _1_151: MOV ESP,EBP POP EBP RET _1_134 DB 109,97,99,114,111,32,110,97,109,101 DB 32,116,97,98,108,101,32,102,117,108 DB 108,0,109,97,99,114,111,32,115,116 DB 114,105,110,103,32,113,117,101,117,101 DB 32,102,117,108,108,0 _putmac: PUSH EBP MOV EBP,ESP MOV EAX,[_macq] PUSH EAX MOV EAX,[_macptr] POP EBX ADD EAX,EBX PUSH EAX LEA EAX,[EBP+8] MOV EBX,EAX MOVSX EAX,BYTE [EBX] POP EBX MOV [EBX],AL MOV EAX,[_macptr] MOV EBX,EAX MOV EAX,2099 CALL __lt OR EAX,EAX JNE _1_155 JMP _1_154 _1_155: MOV EAX,[_macptr] INC EAX MOV DWORD [_macptr],EAX _1_154: LEA EAX,[EBP+8] MOV EBX,EAX MOVSX EAX,BYTE [EBX] POP EBP RET _dofuncti: PUSH EBP MOV EBP,ESP ADD ESP,-4 XOR EAX,EAX MOV DWORD [_litptr],EAX MOV DWORD [_lastst],EAX MOV DWORD [_noloc],EAX MOV DWORD [_nogo],EAX XOR CL,CL CALL _getlabel MOV DWORD [_litlab],EAX MOV EAX,[_symtab] MOV DWORD [_locptr],EAX MOV EAX,_1_156+0 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_158 JMP _1_157 _1_158: XOR CL,CL CALL _blanks _1_157: MOVSX EAX,BYTE [_monitor] OR EAX,EAX JNE _1_160 JMP _1_159 _1_160: MOV EAX,[_line] PUSH EAX MOV EAX,__iob MOV EBX,64 ADD EAX,EBX PUSH EAX MOV CL,2 CALL _lout ADD ESP,8 _1_159: MOV EAX,_ssname PUSH EAX MOV CL,1 CALL _symname ADD ESP,4 OR EAX,EAX JE _1_162 JMP _1_161 _1_162: MOV EAX,_1_156+5 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 XOR EAX,EAX MOV DWORD [_errflag],EAX XOR CL,CL CALL _kill MOV ESP,EBP POP EBP RET _1_161: LEA EAX,[EBP-4] PUSH EAX MOV EAX,_ssname PUSH EAX MOV CL,1 CALL _findglb ADD ESP,4 POP EBX MOV [EBX],EAX OR EAX,EAX JNE _1_164 JMP _1_163 _1_164: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,2 ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] MOV EBX,EAX MOV EAX,4 CALL __eq OR EAX,EAX JNE _1_166 JMP _1_165 _1_166: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,2 ADD EAX,EBX MOV EBX,EAX MOV EAX,2 MOV [EBX],AL JMP _1_167 _1_165: MOV EAX,_ssname PUSH EAX MOV CL,1 CALL _multidef ADD ESP,4 _1_167: JMP _1_168 _1_163: MOV EAX,_ssname PUSH EAX MOV EAX,4 PUSH EAX MOV EAX,16 PUSH EAX XOR EAX,EAX PUSH EAX XOR EAX,EAX PUSH EAX MOV EAX,_glbptr PUSH EAX MOV EAX,2 PUSH EAX MOV CL,7 CALL _addsym ADD ESP,28 _1_168: MOV EAX,4 PUSH EAX MOV CL,1 CALL _public ADD ESP,4 XOR EAX,EAX MOV DWORD [_argstk],EAX MOV EAX,_1_156+37 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JE _1_170 JMP _1_169 _1_170: MOV EAX,_1_156+39 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_169: _1_171: MOV EAX,_1_156+53 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JE _1_173 JMP _1_172 _1_173: MOV EAX,_ssname PUSH EAX MOV CL,1 CALL _symname ADD ESP,4 OR EAX,EAX JNE _1_175 JMP _1_174 _1_175: MOV EAX,_ssname PUSH EAX MOV CL,1 CALL _findloc ADD ESP,4 OR EAX,EAX JNE _1_177 JMP _1_176 _1_177: MOV EAX,_ssname PUSH EAX MOV CL,1 CALL _multidef ADD ESP,4 JMP _1_178 _1_176: MOV EAX,_ssname PUSH EAX XOR EAX,EAX PUSH EAX XOR EAX,EAX PUSH EAX XOR EAX,EAX PUSH EAX MOV EAX,[_argstk] PUSH EAX MOV EAX,_locptr PUSH EAX MOV EAX,1 PUSH EAX MOV CL,7 CALL _addsym ADD ESP,28 MOV EAX,[_argstk] MOV EBX,4 ADD EAX,EBX MOV DWORD [_argstk],EAX _1_178: JMP _1_179 _1_174: MOV EAX,_1_156+55 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 XOR CL,CL CALL _skip _1_179: XOR CL,CL CALL _blanks MOV EAX,[_lptr] PUSH EAX MOV EAX,_1_156+77 PUSH EAX MOV CL,2 CALL _streq ADD ESP,8 MOV EBX,EAX XOR EAX,EAX CALL __eq OR EAX,EAX JNE _1_183 JMP _1_181 _1_183: MOV EAX,_1_156+79 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 MOV EBX,EAX XOR EAX,EAX CALL __eq OR EAX,EAX JNE _1_184 JMP _1_181 _1_184: MOV EAX,1 JMP _1_182 _1_181: XOR EAX,EAX _1_182: OR EAX,EAX JNE _1_185 JMP _1_180 _1_185: MOV EAX,_1_156+81 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_180: XOR CL,CL CALL _endst OR EAX,EAX JNE _1_187 JMP _1_186 _1_187: JMP _1_172 _1_186: JMP _1_171 _1_172: XOR EAX,EAX MOV DWORD [_csp],EAX MOV EAX,[_argstk] MOV EBX,4 ADD EAX,EBX MOV DWORD [_argtop],EAX _1_188: MOV EAX,[_argstk] OR EAX,EAX JNE _1_190 JMP _1_189 _1_190: MOV EAX,_1_156+90 PUSH EAX MOV EAX,4 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_192 JMP _1_191 _1_192: MOV EAX,4 PUSH EAX MOV CL,1 CALL _doargs ADD ESP,4 XOR CL,CL CALL _ns JMP _1_193 _1_191: MOV EAX,_1_156+95 PUSH EAX MOV EAX,3 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_195 JMP _1_194 _1_195: MOV EAX,16 PUSH EAX MOV CL,1 CALL _doargs ADD ESP,4 XOR CL,CL CALL _ns JMP _1_196 _1_194: MOV EAX,_1_156+99 PUSH EAX MOV EAX,8 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_198 JMP _1_197 _1_198: MOV EAX,_1_156+108 PUSH EAX MOV EAX,4 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_200 JMP _1_199 _1_200: MOV EAX,5 PUSH EAX MOV CL,1 CALL _doargs ADD ESP,4 XOR CL,CL CALL _ns JMP _1_201 _1_199: MOV EAX,_1_156+113 PUSH EAX MOV EAX,3 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 MOV EAX,17 PUSH EAX MOV CL,1 CALL _doargs ADD ESP,4 XOR CL,CL CALL _ns _1_201: JMP _1_202 _1_197: MOV EAX,_1_156+117 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 JMP _1_189 _1_202: _1_196: _1_193: JMP _1_188 _1_189: MOV EAX,18 PUSH EAX XOR EAX,EAX PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 XOR CL,CL CALL _statemen MOV EAX,[_lastst] MOV EBX,EAX MOV EAX,3 CALL __ne OR EAX,EAX JNE _1_206 JMP _1_204 _1_206: MOV EAX,[_lastst] MOV EBX,EAX MOV EAX,13 CALL __ne OR EAX,EAX JNE _1_207 JMP _1_204 _1_207: MOV EAX,1 JMP _1_205 _1_204: XOR EAX,EAX _1_205: OR EAX,EAX JNE _1_208 JMP _1_203 _1_208: MOV EAX,67 PUSH EAX XOR EAX,EAX PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 _1_203: MOV EAX,[_litptr] OR EAX,EAX JNE _1_210 JMP _1_209 _1_210: MOV EAX,1 PUSH EAX MOV CL,1 CALL _toseg ADD ESP,4 MOV EAX,66 PUSH EAX MOV EAX,[_litlab] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,1 PUSH EAX MOV CL,1 CALL _dumplits ADD ESP,4 _1_209: MOV ESP,EBP POP EBP RET _1_156 DB 118,111,105,100,0,105,108,108,101,103 DB 97,108,32,102,117,110,99,116,105,111 DB 110,32,111,114,32,100,101,99,108,97 DB 114,97,116,105,111,110,0,40,0,110 DB 111,32,111,112,101,110,32,112,97,114 DB 101,110,0,41,0,105,108,108,101,103 DB 97,108,32,97,114,103,117,109,101,110 DB 116,32,110,97,109,101,0,41,0,44 DB 0,110,111,32,99,111,109,109,97,0 DB 99,104,97,114,0,105,110,116,0,117 DB 110,115,105,103,110,101,100,0,99,104 DB 97,114,0,105,110,116,0,119,114,111 DB 110,103,32,110,117,109,98,101,114,32 DB 111,102,32,97,114,103,117,109,101,110 DB 116,115,0 _doargs: PUSH EBP MOV EBP,ESP ADD ESP,-16 _1_212: MOV EAX,[_argstk] OR EAX,EAX JE _1_215 JMP _1_214 _1_215: MOV ESP,EBP POP EBP RET _1_214: LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV EAX,3 PUSH EAX LEA EAX,[EBP-4] PUSH EAX LEA EAX,[EBP-8] PUSH EAX MOV CL,4 CALL _decl ADD ESP,16 OR EAX,EAX JNE _1_217 JMP _1_216 _1_217: LEA EAX,[EBP-16] PUSH EAX MOV EAX,_ssname PUSH EAX MOV CL,1 CALL _findloc ADD ESP,4 POP EBX MOV [EBX],EAX OR EAX,EAX JNE _1_219 JMP _1_218 _1_219: LEA EAX,[EBP-16] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] POP EBX MOV [EBX],AL LEA EAX,[EBP-16] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,1 ADD EAX,EBX PUSH EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] POP EBX MOV [EBX],AL LEA EAX,[EBP-8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP-16] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,3 ADD EAX,EBX PUSH EAX MOV EAX,4 PUSH EAX MOV CL,3 CALL _putint ADD ESP,12 MOV EAX,[_argtop] PUSH EAX LEA EAX,[EBP-16] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,5 ADD EAX,EBX MOV EBX,2 ADD EAX,EBX PUSH EAX MOV EAX,4 PUSH EAX MOV CL,2 CALL _getint ADD ESP,8 POP EBX XCHG EAX,EBX SUB EAX,EBX PUSH EAX LEA EAX,[EBP-16] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,5 ADD EAX,EBX MOV EBX,2 ADD EAX,EBX PUSH EAX MOV EAX,4 PUSH EAX MOV CL,3 CALL _putint ADD ESP,12 JMP _1_220 _1_218: MOV EAX,_1_211+0 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_220: _1_216: MOV EAX,[_argstk] MOV EBX,EAX MOV EAX,4 XCHG EAX,EBX SUB EAX,EBX MOV DWORD [_argstk],EAX XOR CL,CL CALL _endst OR EAX,EAX JNE _1_222 JMP _1_221 _1_222: MOV ESP,EBP POP EBP RET _1_221: MOV EAX,_1_211+16 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JE _1_224 JMP _1_223 _1_224: MOV EAX,_1_211+18 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_223: JMP _1_212 _1_213: MOV ESP,EBP POP EBP RET _1_211 DB 110,111,116,32,97,110,32,97,114,103 DB 117,109,101,110,116,0,44,0,110,111 DB 32,99,111,109,109,97,0 _decl: PUSH EBP MOV EBP,ESP ADD ESP,-12 MOV EAX,_1_225+0 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_227 JMP _1_226 _1_227: LEA EAX,[EBP-8] MOV EBX,EAX MOV EAX,1 MOV [EBX],EAX JMP _1_228 _1_226: LEA EAX,[EBP-8] MOV EBX,EAX XOR EAX,EAX MOV [EBX],EAX _1_228: MOV EAX,_1_225+2 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_230 JMP _1_229 _1_230: LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,3 MOV [EBX],EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,4 MOV [EBX],EAX JMP _1_231 _1_229: LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,1 MOV [EBX],EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP+20] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,2 MOV ECX,EAX MOV EAX,EBX SAR EAX,CL POP EBX MOV [EBX],EAX _1_231: LEA EAX,[EBP-4] PUSH EAX MOV EAX,_ssname PUSH EAX MOV CL,1 CALL _symname ADD ESP,4 POP EBX MOV [EBX],EAX OR EAX,EAX JE _1_233 JMP _1_232 _1_233: XOR CL,CL CALL _illname _1_232: LEA EAX,[EBP-8] MOV EBX,EAX MOV EAX, [EBX] OR EAX,EAX JNE _1_237 JMP _1_235 _1_237: MOV EAX,_1_225+4 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_238 JMP _1_235 _1_238: MOV EAX,1 JMP _1_236 _1_235: XOR EAX,EAX _1_236: OR EAX,EAX JNE _1_239 JMP _1_234 _1_239: _1_234: MOV EAX,_1_225+6 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_241 JMP _1_240 _1_241: LEA EAX,[EBP-8] MOV EBX,EAX MOV EAX, [EBX] CALL __lneg OR EAX,EAX JE _1_245 JMP _1_243 _1_245: LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,3 CALL __ne OR EAX,EAX JE _1_246 JMP _1_243 _1_246: XOR EAX,EAX JMP _1_244 _1_243: MOV EAX,1 _1_244: OR EAX,EAX JNE _1_247 JMP _1_242 _1_247: MOV EAX,_1_225+8 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_242: MOV EAX,_1_225+21 PUSH EAX MOV CL,1 CALL _need ADD ESP,4 JMP _1_248 _1_240: LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,1 CALL __eq OR EAX,EAX JNE _1_252 JMP _1_250 _1_252: MOV EAX,_1_225+23 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_253 JMP _1_250 _1_253: MOV EAX,1 JMP _1_251 _1_250: XOR EAX,EAX _1_251: OR EAX,EAX JNE _1_254 JMP _1_249 _1_254: LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP+16] MOV EBX,EAX MOV EAX, [EBX] POP EBX MOV [EBX],EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX XOR CL,CL CALL _needsub POP EBX IMUL EBX POP EBX MOV [EBX],EAX OR EAX,EAX JE _1_256 JMP _1_255 _1_256: LEA EAX,[EBP+16] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,2 CALL __eq OR EAX,EAX JNE _1_258 JMP _1_257 _1_258: MOV EAX,_1_225+25 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_257: LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,4 MOV [EBX],EAX _1_255: _1_249: _1_248: LEA EAX,[EBP-12] PUSH EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,4 XCHG EAX,EBX CDQ IDIV EBX MOV EAX,EDX POP EBX MOV [EBX],EAX LEA EAX,[EBP-12] MOV EBX,EAX MOV EAX, [EBX] OR EAX,EAX JNE _1_260 JMP _1_259 _1_260: LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP-12] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,4 XCHG EAX,EBX SUB EAX,EBX POP EBX ADD EAX,EBX POP EBX MOV [EBX],EAX _1_259: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] MOV ESP,EBP POP EBP RET _1_225 DB 40,0,42,0,41,0,40,0,116,114 DB 121,32,40,42,46,46,46,41,40,41 DB 0,41,0,91,0,110,101,101,100,32 DB 97,114,114,97,121,32,115,105,122,101 DB 0 _statemen: PUSH EBP MOV EBP,ESP MOV EAX,[_ch] MOV EBX,EAX XOR EAX,EAX CALL __eq OR EAX,EAX JNE _1_265 JMP _1_263 _1_265: MOV EAX,[_eof] OR EAX,EAX JNE _1_266 JMP _1_263 _1_266: MOV EAX,1 JMP _1_264 _1_263: XOR EAX,EAX _1_264: OR EAX,EAX JNE _1_267 JMP _1_262 _1_267: POP EBP RET _1_262: MOV EAX,_1_261+0 PUSH EAX MOV EAX,4 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_270 JMP _1_269 _1_270: MOV EAX,4 PUSH EAX MOV CL,1 CALL _declloc ADD ESP,4 XOR CL,CL CALL _ns JMP _1_271 _1_269: MOV EAX,_1_261+5 PUSH EAX MOV EAX,3 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_273 JMP _1_272 _1_273: MOV EAX,16 PUSH EAX MOV CL,1 CALL _declloc ADD ESP,4 XOR CL,CL CALL _ns JMP _1_274 _1_272: MOV EAX,_1_261+9 PUSH EAX MOV EAX,8 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_276 JMP _1_275 _1_276: MOV EAX,_1_261+18 PUSH EAX MOV EAX,4 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_278 JMP _1_277 _1_278: MOV EAX,5 PUSH EAX MOV CL,1 CALL _declloc ADD ESP,4 XOR CL,CL CALL _ns JMP _1_279 _1_277: MOV EAX,_1_261+23 PUSH EAX MOV EAX,3 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 MOV EAX,17 PUSH EAX MOV CL,1 CALL _declloc ADD ESP,4 XOR CL,CL CALL _ns _1_279: JMP _1_280 _1_275: MOV EAX,[_declared] OR EAX,EAX JGE _1_282 JMP _1_281 _1_282: MOV EAX,[_ncmp] MOV EBX,EAX MOV EAX,1 CALL __gt OR EAX,EAX JNE _1_284 JMP _1_283 _1_284: MOV EAX,[_declared] MOV DWORD [_nogo],EAX _1_283: MOV EAX,2 PUSH EAX MOV EAX,[_csp] PUSH EAX MOV EAX,[_declared] POP EBX XCHG EAX,EBX SUB EAX,EBX PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,-1 MOV DWORD [_declared],EAX _1_281: MOV EAX,_1_261+27 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_286 JMP _1_285 _1_286: XOR CL,CL CALL _compound JMP _1_287 _1_285: MOV EAX,_1_261+29 PUSH EAX MOV EAX,2 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_289 JMP _1_288 _1_289: XOR CL,CL CALL _doif MOV EAX,1 MOV DWORD [_lastst],EAX JMP _1_290 _1_288: MOV EAX,_1_261+32 PUSH EAX MOV EAX,5 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_292 JMP _1_291 _1_292: XOR CL,CL CALL _dowhile MOV EAX,2 MOV DWORD [_lastst],EAX JMP _1_293 _1_291: MOV EAX,_1_261+38 PUSH EAX MOV EAX,2 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_295 JMP _1_294 _1_295: XOR CL,CL CALL _dodo MOV EAX,8 MOV DWORD [_lastst],EAX JMP _1_296 _1_294: MOV EAX,_1_261+41 PUSH EAX MOV EAX,3 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_298 JMP _1_297 _1_298: XOR CL,CL CALL _dofor MOV EAX,9 MOV DWORD [_lastst],EAX JMP _1_299 _1_297: MOV EAX,_1_261+45 PUSH EAX MOV EAX,6 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_301 JMP _1_300 _1_301: XOR CL,CL CALL _doswitch MOV EAX,10 MOV DWORD [_lastst],EAX JMP _1_302 _1_300: MOV EAX,_1_261+52 PUSH EAX MOV EAX,4 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_304 JMP _1_303 _1_304: XOR CL,CL CALL _docase MOV EAX,11 MOV DWORD [_lastst],EAX JMP _1_305 _1_303: MOV EAX,_1_261+57 PUSH EAX MOV EAX,7 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_307 JMP _1_306 _1_307: XOR CL,CL CALL _dodefaul MOV EAX,12 MOV DWORD [_lastst],EAX JMP _1_308 _1_306: MOV EAX,_1_261+65 PUSH EAX MOV EAX,4 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_310 JMP _1_309 _1_310: XOR CL,CL CALL _dogoto MOV EAX,13 MOV DWORD [_lastst],EAX JMP _1_311 _1_309: XOR CL,CL CALL _dolabel OR EAX,EAX JNE _1_313 JMP _1_312 _1_313: MOV EAX,14 MOV DWORD [_lastst],EAX JMP _1_314 _1_312: MOV EAX,_1_261+70 PUSH EAX MOV EAX,6 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_316 JMP _1_315 _1_316: XOR CL,CL CALL _doreturn XOR CL,CL CALL _ns MOV EAX,3 MOV DWORD [_lastst],EAX JMP _1_317 _1_315: MOV EAX,_1_261+77 PUSH EAX MOV EAX,5 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_319 JMP _1_318 _1_319: XOR CL,CL CALL _dobreak XOR CL,CL CALL _ns MOV EAX,4 MOV DWORD [_lastst],EAX JMP _1_320 _1_318: MOV EAX,_1_261+83 PUSH EAX MOV EAX,8 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JNE _1_322 JMP _1_321 _1_322: XOR CL,CL CALL _docont XOR CL,CL CALL _ns MOV EAX,5 MOV DWORD [_lastst],EAX JMP _1_323 _1_321: MOV EAX,_1_261+92 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_325 JMP _1_324 _1_325: XOR EAX,EAX MOV DWORD [_errflag],EAX JMP _1_326 _1_324: MOV EAX,_1_261+94 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_328 JMP _1_327 _1_328: XOR CL,CL CALL _doasm MOV EAX,6 MOV DWORD [_lastst],EAX JMP _1_329 _1_327: XOR EAX,EAX PUSH EAX MOV CL,1 CALL _doexpr ADD ESP,4 XOR CL,CL CALL _ns MOV EAX,7 MOV DWORD [_lastst],EAX _1_329: _1_326: _1_323: _1_320: _1_317: _1_314: _1_311: _1_308: _1_305: _1_302: _1_299: _1_296: _1_293: _1_290: _1_287: _1_280: _1_274: _1_271: _1_268: MOV EAX,[_lastst] POP EBP RET _1_261 DB 99,104,97,114,0,105,110,116,0,117 DB 110,115,105,103,110,101,100,0,99,104 DB 97,114,0,105,110,116,0,123,0,105 DB 102,0,119,104,105,108,101,0,100,111 DB 0,102,111,114,0,115,119,105,116,99 DB 104,0,99,97,115,101,0,100,101,102 DB 97,117,108,116,0,103,111,116,111,0 DB 114,101,116,117,114,110,0,98,114,101 DB 97,107,0,99,111,110,116,105,110,117 DB 101,0,59,0,35,97,115,109,0 _declloc: PUSH EBP MOV EBP,ESP ADD ESP,-8 MOV EAX,[_swactive] OR EAX,EAX JNE _1_332 JMP _1_331 _1_332: MOV EAX,_1_330+0 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_331: MOV EAX,[_noloc] OR EAX,EAX JNE _1_334 JMP _1_333 _1_334: MOV EAX,_1_330+22 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_333: MOV EAX,[_declared] OR EAX,EAX JL _1_336 JMP _1_335 _1_336: MOV EAX,_1_330+44 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_335: _1_337: XOR CL,CL CALL _endst OR EAX,EAX JNE _1_340 JMP _1_339 _1_340: MOV ESP,EBP POP EBP RET _1_339: LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV EAX,2 PUSH EAX LEA EAX,[EBP-4] PUSH EAX LEA EAX,[EBP-8] PUSH EAX MOV CL,4 CALL _decl ADD ESP,16 MOV EAX,[_declared] PUSH EAX LEA EAX,[EBP-8] MOV EBX,EAX MOV EAX, [EBX] POP EBX ADD EAX,EBX MOV DWORD [_declared],EAX MOV EAX,_ssname PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP-8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV EAX,[_csp] PUSH EAX MOV EAX,[_declared] POP EBX XCHG EAX,EBX SUB EAX,EBX PUSH EAX MOV EAX,_locptr PUSH EAX MOV EAX,1 PUSH EAX MOV CL,7 CALL _addsym ADD ESP,28 MOV EAX,_1_330+72 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JE _1_342 JMP _1_341 _1_342: MOV ESP,EBP POP EBP RET _1_341: JMP _1_337 _1_338: MOV ESP,EBP POP EBP RET _1_330 DB 110,111,116,32,97,108,108,111,119,101 DB 100,32,105,110,32,115,119,105,116,99 DB 104,0,110,111,116,32,97,108,108,111 DB 119,101,100,32,119,105,116,104,32,103 DB 111,116,111,0,109,117,115,116,32,100 DB 101,99,108,97,114,101,32,102,105,114 DB 115,116,32,105,110,32,98,108,111,99 DB 107,0,44,0 _compound: PUSH EBP MOV EBP,ESP ADD ESP,-8 LEA EAX,[EBP-4] PUSH EAX MOV EAX,[_csp] POP EBX MOV [EBX],EAX LEA EAX,[EBP-8] PUSH EAX MOV EAX,[_locptr] POP EBX MOV [EBX],EAX XOR EAX,EAX MOV DWORD [_declared],EAX MOV EAX,[_ncmp] INC EAX MOV DWORD [_ncmp],EAX _1_344: MOV EAX,_1_343+0 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JE _1_346 JMP _1_345 _1_346: MOV EAX,[_eof] OR EAX,EAX JNE _1_348 JMP _1_347 _1_348: MOV EAX,_1_343+2 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 JMP _1_345 JMP _1_349 _1_347: XOR CL,CL CALL _statemen _1_349: JMP _1_344 _1_345: MOV EAX,[_ncmp] DEC EAX MOV DWORD [_ncmp],EAX OR EAX,EAX JNE _1_353 JMP _1_351 _1_353: MOV EAX,[_lastst] MOV EBX,EAX MOV EAX,3 CALL __ne OR EAX,EAX JNE _1_354 JMP _1_351 _1_354: MOV EAX,[_lastst] MOV EBX,EAX MOV EAX,13 CALL __ne OR EAX,EAX JNE _1_355 JMP _1_351 _1_355: MOV EAX,1 JMP _1_352 _1_351: XOR EAX,EAX _1_352: OR EAX,EAX JNE _1_356 JMP _1_350 _1_356: MOV EAX,2 PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 _1_350: LEA EAX,[EBP-8] MOV EBX,EAX MOV EAX, [EBX] MOV DWORD [_cptr],EAX _1_357: MOV EAX,[_cptr] PUSH EAX MOV EAX,[_locptr] POP EBX CALL __ult OR EAX,EAX JNE _1_359 JMP _1_358 _1_359: MOV EAX,[_cptr] PUSH EAX MOV CL,1 CALL _nextsym ADD ESP,4 MOV DWORD [_cptr2],EAX MOV EAX,[_cptr] MOV EBX,EAX MOVSX EAX,BYTE [EBX] OR EAX,EAX JE _1_361 JMP _1_360 _1_361: _1_362: MOV EAX,[_cptr] PUSH EAX MOV EAX,[_cptr2] POP EBX CALL __ult OR EAX,EAX JNE _1_364 JMP _1_363 _1_364: LEA EAX,[EBP-8] MOV EBX,EAX MOV EAX, [EBX] INC EAX MOV [EBX],EAX DEC EAX PUSH EAX MOV EAX,[_cptr] INC EAX MOV DWORD [_cptr],EAX DEC EAX MOV EBX,EAX MOVSX EAX,BYTE [EBX] POP EBX MOV [EBX],AL JMP _1_362 _1_363: JMP _1_365 _1_360: MOV EAX,[_cptr2] MOV DWORD [_cptr],EAX _1_365: JMP _1_357 _1_358: LEA EAX,[EBP-8] MOV EBX,EAX MOV EAX, [EBX] MOV DWORD [_locptr],EAX MOV EAX,-1 MOV DWORD [_declared],EAX MOV ESP,EBP POP EBP RET _1_343 DB 125,0,110,111,32,102,105,110,97,108 DB 32,125,0 _doif: PUSH EBP MOV EBP,ESP ADD ESP,-8 LEA EAX,[EBP-4] PUSH EAX XOR CL,CL CALL _getlabel POP EBX MOV [EBX],EAX PUSH EAX MOV EAX,1 PUSH EAX MOV CL,2 CALL _test ADD ESP,8 XOR CL,CL CALL _statemen MOV EAX,_1_366+0 PUSH EAX MOV EAX,4 PUSH EAX MOV CL,2 CALL _amatch ADD ESP,8 OR EAX,EAX JE _1_368 JMP _1_367 _1_368: MOV EAX,41 PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV ESP,EBP POP EBP RET _1_367: LEA EAX,[EBP-8] PUSH EAX XOR CL,CL CALL _getlabel POP EBX MOV [EBX],EAX MOV EAX,[_lastst] MOV EBX,EAX MOV EAX,3 CALL __ne OR EAX,EAX JNE _1_372 JMP _1_370 _1_372: MOV EAX,[_lastst] MOV EBX,EAX MOV EAX,13 CALL __ne OR EAX,EAX JNE _1_373 JMP _1_370 _1_373: MOV EAX,1 JMP _1_371 _1_370: XOR EAX,EAX _1_371: OR EAX,EAX JNE _1_374 JMP _1_369 _1_374: MOV EAX,40 PUSH EAX LEA EAX,[EBP-8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 _1_369: MOV EAX,41 PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 XOR CL,CL CALL _statemen MOV EAX,41 PUSH EAX LEA EAX,[EBP-8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV ESP,EBP POP EBP RET _1_366 DB 101,108,115,101,0 _dowhile: PUSH EBP MOV EBP,ESP ADD ESP,-16 LEA EAX,[EBP-16] PUSH EAX MOV CL,1 CALL _addwhile ADD ESP,4 MOV EAX,41 PUSH EAX LEA EAX,[EBP-16] MOV EBX,4 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 LEA EAX,[EBP-16] MOV EBX,8 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV EAX,1 PUSH EAX MOV CL,2 CALL _test ADD ESP,8 XOR CL,CL CALL _statemen MOV EAX,40 PUSH EAX LEA EAX,[EBP-16] MOV EBX,4 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,41 PUSH EAX LEA EAX,[EBP-16] MOV EBX,8 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 XOR CL,CL CALL _delwhile MOV ESP,EBP POP EBP RET _dodo: PUSH EBP MOV EBP,ESP ADD ESP,-16 LEA EAX,[EBP-16] PUSH EAX MOV CL,1 CALL _addwhile ADD ESP,4 MOV EAX,41 PUSH EAX LEA EAX,[EBP-16] MOV EBX,4 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 XOR CL,CL CALL _statemen MOV EAX,_1_376+0 PUSH EAX MOV CL,1 CALL _need ADD ESP,4 LEA EAX,[EBP-16] MOV EBX,8 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV EAX,1 PUSH EAX MOV CL,2 CALL _test ADD ESP,8 MOV EAX,40 PUSH EAX LEA EAX,[EBP-16] MOV EBX,4 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,41 PUSH EAX LEA EAX,[EBP-16] MOV EBX,8 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 XOR CL,CL CALL _delwhile XOR CL,CL CALL _ns MOV ESP,EBP POP EBP RET _1_376 DB 119,104,105,108,101,0 _dofor: PUSH EBP MOV EBP,ESP ADD ESP,-24 LEA EAX,[EBP-16] PUSH EAX MOV CL,1 CALL _addwhile ADD ESP,4 LEA EAX,[EBP-20] PUSH EAX XOR CL,CL CALL _getlabel POP EBX MOV [EBX],EAX LEA EAX,[EBP-24] PUSH EAX XOR CL,CL CALL _getlabel POP EBX MOV [EBX],EAX MOV EAX,_1_377+0 PUSH EAX MOV CL,1 CALL _need ADD ESP,4 MOV EAX,_1_377+2 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JE _1_379 JMP _1_378 _1_379: XOR EAX,EAX PUSH EAX MOV CL,1 CALL _doexpr ADD ESP,4 XOR CL,CL CALL _ns _1_378: MOV EAX,41 PUSH EAX LEA EAX,[EBP-20] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,_1_377+4 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JE _1_381 JMP _1_380 _1_381: LEA EAX,[EBP-16] MOV EBX,8 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX XOR EAX,EAX PUSH EAX MOV CL,2 CALL _test ADD ESP,8 XOR CL,CL CALL _ns _1_380: MOV EAX,40 PUSH EAX LEA EAX,[EBP-24] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,41 PUSH EAX LEA EAX,[EBP-16] MOV EBX,4 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,_1_377+6 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JE _1_383 JMP _1_382 _1_383: XOR EAX,EAX PUSH EAX MOV CL,1 CALL _doexpr ADD ESP,4 MOV EAX,_1_377+8 PUSH EAX MOV CL,1 CALL _need ADD ESP,4 _1_382: MOV EAX,40 PUSH EAX LEA EAX,[EBP-20] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,41 PUSH EAX LEA EAX,[EBP-24] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 XOR CL,CL CALL _statemen MOV EAX,40 PUSH EAX LEA EAX,[EBP-16] MOV EBX,4 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,41 PUSH EAX LEA EAX,[EBP-16] MOV EBX,8 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 XOR CL,CL CALL _delwhile MOV ESP,EBP POP EBP RET _1_377 DB 40,0,59,0,59,0,41,0,41,0 _doswitch: PUSH EBP MOV EBP,ESP ADD ESP,-36 LEA EAX,[EBP-24] PUSH EAX MOV EAX,[_swactive] POP EBX MOV [EBX],EAX LEA EAX,[EBP-28] PUSH EAX MOV EAX,[_swdefaul] POP EBX MOV [EBX],EAX LEA EAX,[EBP-32] PUSH EAX LEA EAX,[EBP-36] PUSH EAX MOV EAX,[_swnext] POP EBX MOV [EBX],EAX POP EBX MOV [EBX],EAX LEA EAX,[EBP-16] PUSH EAX MOV CL,1 CALL _addwhile ADD ESP,4 MOV EAX,[_wqptr] MOV EBX,4 ADD EAX,EBX MOV EBX,EAX MOV EAX,12 XCHG EAX,EBX SUB EAX,EBX MOV EBX,EAX XOR EAX,EAX MOV [EBX],EAX MOV EAX,_1_384+0 PUSH EAX MOV CL,1 CALL _need ADD ESP,4 MOV EAX,1 PUSH EAX MOV CL,1 CALL _doexpr ADD ESP,4 MOV EAX,_1_384+2 PUSH EAX MOV CL,1 CALL _need ADD ESP,4 XOR EAX,EAX MOV DWORD [_swdefaul],EAX MOV EAX,1 MOV DWORD [_swactive],EAX MOV EAX,40 PUSH EAX LEA EAX,[EBP-20] PUSH EAX XOR CL,CL CALL _getlabel POP EBX MOV [EBX],EAX PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 XOR CL,CL CALL _statemen MOV EAX,40 PUSH EAX LEA EAX,[EBP-16] MOV EBX,8 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,41 PUSH EAX LEA EAX,[EBP-20] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,72 PUSH EAX XOR EAX,EAX PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 _1_385: LEA EAX,[EBP-36] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV EAX,[_swnext] POP EBX CALL __ult OR EAX,EAX JNE _1_387 JMP _1_386 _1_387: MOV EAX,56 PUSH EAX LEA EAX,[EBP-36] MOV EBX,EAX MOV EAX, [EBX] INC EAX INC EAX INC EAX INC EAX MOV [EBX],EAX DEC EAX DEC EAX DEC EAX DEC EAX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,112 PUSH EAX LEA EAX,[EBP-36] MOV EBX,EAX MOV EAX, [EBX] INC EAX INC EAX INC EAX INC EAX MOV [EBX],EAX DEC EAX DEC EAX DEC EAX DEC EAX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 JMP _1_385 _1_386: MOV EAX,112 PUSH EAX XOR EAX,EAX PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,[_swdefaul] OR EAX,EAX JNE _1_389 JMP _1_388 _1_389: MOV EAX,40 PUSH EAX MOV EAX,[_swdefaul] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 _1_388: MOV EAX,41 PUSH EAX LEA EAX,[EBP-16] MOV EBX,8 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 XOR CL,CL CALL _delwhile LEA EAX,[EBP-32] MOV EBX,EAX MOV EAX, [EBX] MOV DWORD [_swnext],EAX LEA EAX,[EBP-28] MOV EBX,EAX MOV EAX, [EBX] MOV DWORD [_swdefaul],EAX LEA EAX,[EBP-24] MOV EBX,EAX MOV EAX, [EBX] MOV DWORD [_swactive],EAX MOV ESP,EBP POP EBP RET _1_384 DB 40,0,41,0 _docase: PUSH EBP MOV EBP,ESP MOV EAX,[_swactive] OR EAX,EAX JE _1_392 JMP _1_391 _1_392: MOV EAX,_1_390+0 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_391: MOV EAX,[_swnext] PUSH EAX MOV EAX,[_swend] POP EBX CALL __ugt OR EAX,EAX JNE _1_394 JMP _1_393 _1_394: MOV EAX,_1_390+14 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 POP EBP RET _1_393: MOV EAX,41 PUSH EAX MOV EAX,[_swnext] INC EAX INC EAX INC EAX INC EAX MOV DWORD [_swnext],EAX DEC EAX DEC EAX DEC EAX DEC EAX PUSH EAX XOR CL,CL CALL _getlabel POP EBX MOV [EBX],EAX PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,[_swnext] INC EAX INC EAX INC EAX INC EAX MOV DWORD [_swnext],EAX DEC EAX DEC EAX DEC EAX DEC EAX PUSH EAX MOV CL,1 CALL _constexp ADD ESP,4 MOV EAX,_1_390+29 PUSH EAX MOV CL,1 CALL _need ADD ESP,4 POP EBP RET _1_390 DB 110,111,116,32,105,110,32,115,119,105 DB 116,99,104,0,116,111,111,32,109,97 DB 110,121,32,99,97,115,101,115,0,58 DB 0 _dodefaul: PUSH EBP MOV EBP,ESP MOV EAX,[_swactive] OR EAX,EAX JNE _1_397 JMP _1_396 _1_397: MOV EAX,[_swdefaul] OR EAX,EAX JNE _1_399 JMP _1_398 _1_399: MOV EAX,_1_395+0 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_398: JMP _1_400 _1_396: MOV EAX,_1_395+18 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_400: MOV EAX,_1_395+32 PUSH EAX MOV CL,1 CALL _need ADD ESP,4 MOV EAX,41 PUSH EAX XOR CL,CL CALL _getlabel MOV DWORD [_swdefaul],EAX PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 POP EBP RET _1_395 DB 109,117,108,116,105,112,108,101,32,100 DB 101,102,97,117,108,116,115,0,110,111 DB 116,32,105,110,32,115,119,105,116,99 DB 104,0,58,0 _dogoto: PUSH EBP MOV EBP,ESP MOV EAX,[_nogo] OR EAX,EAX JG _1_403 JMP _1_402 _1_403: MOV EAX,_1_401+0 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 JMP _1_404 _1_402: MOV EAX,1 MOV DWORD [_noloc],EAX _1_404: MOV EAX,_ssname PUSH EAX MOV CL,1 CALL _symname ADD ESP,4 OR EAX,EAX JNE _1_406 JMP _1_405 _1_406: MOV EAX,40 PUSH EAX XOR EAX,EAX PUSH EAX MOV CL,1 CALL _addlabel ADD ESP,4 PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 JMP _1_407 _1_405: MOV EAX,_1_401+30 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 _1_407: XOR CL,CL CALL _ns POP EBP RET _1_401 DB 110,111,116,32,97,108,108,111,119,101 DB 100,32,119,105,116,104,32,98,108,111 DB 99,107,45,108,111,99,97,108,115,0 DB 98,97,100,32,108,97,98,101,108,0 _dolabel: PUSH EBP MOV EBP,ESP ADD ESP,-4 XOR CL,CL CALL _blanks LEA EAX,[EBP-4] PUSH EAX MOV EAX,[_lptr] POP EBX MOV [EBX],EAX MOV EAX,_ssname PUSH EAX MOV CL,1 CALL _symname ADD ESP,4 OR EAX,EAX JNE _1_410 JMP _1_409 _1_410: XOR CL,CL CALL _gch MOV EBX,EAX MOV EAX,58 CALL __eq OR EAX,EAX JNE _1_412 JMP _1_411 _1_412: MOV EAX,41 PUSH EAX MOV EAX,1 PUSH EAX MOV CL,1 CALL _addlabel ADD ESP,4 PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,1 MOV ESP,EBP POP EBP RET _1_411: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV EAX,[_lptr] POP EBX XCHG EAX,EBX SUB EAX,EBX PUSH EAX MOV CL,1 CALL _bump ADD ESP,4 _1_413: _1_409: XOR EAX,EAX MOV ESP,EBP POP EBP RET _addlabel: PUSH EBP MOV EBP,ESP MOV EAX,_ssname PUSH EAX MOV CL,1 CALL _findloc ADD ESP,4 MOV DWORD [_cptr],EAX OR EAX,EAX JNE _1_416 JMP _1_415 _1_416: MOV EAX,[_cptr] MOV EBX,EAX MOVSX EAX,BYTE [EBX] OR EAX,EAX JNE _1_418 JMP _1_417 _1_418: MOV EAX,_1_414+0 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 JMP _1_419 _1_417: LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] OR EAX,EAX JNE _1_421 JMP _1_420 _1_421: MOV EAX,[_cptr] MOV EBX,1 ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] OR EAX,EAX JNE _1_423 JMP _1_422 _1_423: MOV EAX,_1_414+12 PUSH EAX MOV CL,1 CALL _error ADD ESP,4 JMP _1_424 _1_422: MOV EAX,[_cptr] MOV EBX,1 ADD EAX,EBX MOV EBX,EAX MOV EAX,1 MOV [EBX],AL _1_424: _1_420: _1_419: JMP _1_425 _1_415: MOV EAX,_ssname PUSH EAX XOR EAX,EAX PUSH EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX XOR EAX,EAX PUSH EAX XOR CL,CL CALL _getlabel PUSH EAX MOV EAX,_locptr PUSH EAX XOR EAX,EAX PUSH EAX MOV CL,7 CALL _addsym ADD ESP,28 MOV DWORD [_cptr],EAX _1_425: MOV EAX,[_cptr] MOV EBX,5 ADD EAX,EBX MOV EBX,2 ADD EAX,EBX PUSH EAX MOV EAX,4 PUSH EAX MOV CL,2 CALL _getint ADD ESP,8 POP EBP RET _1_414 DB 110,111,116,32,97,32,108,97,98,101 DB 108,0,100,117,112,108,105,99,97,116 DB 101,32,108,97,98,101,108,0 _doreturn: PUSH EBP MOV EBP,ESP ADD ESP,-4 XOR CL,CL CALL _endst OR EAX,EAX JE _1_428 JMP _1_427 _1_428: MOV EAX,1 PUSH EAX MOV CL,1 CALL _doexpr ADD ESP,4 _1_427: LEA EAX,[EBP-4] PUSH EAX MOV EAX,[_csp] POP EBX MOV [EBX],EAX MOV EAX,67 PUSH EAX XOR EAX,EAX PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] MOV DWORD [_csp],EAX MOV ESP,EBP POP EBP RET _dobreak: PUSH EBP MOV EBP,ESP ADD ESP,-4 LEA EAX,[EBP-4] PUSH EAX MOV EAX,[_wqptr] PUSH EAX MOV CL,1 CALL _readwhil ADD ESP,4 POP EBX MOV [EBX],EAX OR EAX,EAX JE _1_431 JMP _1_430 _1_431: MOV ESP,EBP POP EBP RET _1_430: MOV EAX,2 PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,40 PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,8 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV ESP,EBP POP EBP RET _docont: PUSH EBP MOV EBP,ESP ADD ESP,-4 LEA EAX,[EBP-4] PUSH EAX MOV EAX,[_wqptr] POP EBX MOV [EBX],EAX _1_433: LEA EAX,[EBP-4] PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,1 CALL _readwhil ADD ESP,4 POP EBX MOV [EBX],EAX OR EAX,EAX JE _1_436 JMP _1_435 _1_436: MOV ESP,EBP POP EBP RET _1_435: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,4 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] OR EAX,EAX JNE _1_438 JMP _1_437 _1_438: JMP _1_434 _1_437: JMP _1_433 _1_434: MOV EAX,2 PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV EAX,40 PUSH EAX LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,4 ADD EAX,EBX MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _gen ADD ESP,8 MOV ESP,EBP POP EBP RET _doasm: PUSH EBP MOV EBP,ESP XOR EAX,EAX MOV DWORD [_ccode],EAX _1_440: XOR CL,CL CALL _inline MOV EAX,_1_439+0 PUSH EAX MOV CL,1 CALL _match ADD ESP,4 OR EAX,EAX JNE _1_443 JMP _1_442 _1_443: JMP _1_441 _1_442: MOV EAX,[_eof] OR EAX,EAX JNE _1_445 JMP _1_444 _1_445: JMP _1_441 _1_444: MOV EAX,[_line] PUSH EAX MOV EAX,[_output] PUSH EAX MOV CL,2 CALL _fputs ADD ESP,8 JMP _1_440 _1_441: XOR CL,CL CALL _kill MOV EAX,1 MOV DWORD [_ccode],EAX POP EBP RET _1_439 DB 35,101,110,100,97,115,109,0 _doexpr: PUSH EBP MOV EBP,ESP ADD ESP,-16 LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] MOV DWORD [_usexpr],EAX _1_447: LEA EAX,[EBP-12] PUSH EAX LEA EAX,[EBP-16] PUSH EAX MOV CL,2 CALL _setstage ADD ESP,8 LEA EAX,[EBP-4] PUSH EAX LEA EAX,[EBP-8] PUSH EAX MOV CL,2 CALL _expressi ADD ESP,8 LEA EAX,[EBP-12] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP-16] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _clearsta ADD ESP,8 MOV EAX,[_ch] MOV EBX,EAX MOV EAX,44 CALL __ne OR EAX,EAX JNE _1_450 JMP _1_449 _1_450: JMP _1_448 _1_449: MOV EAX,1 PUSH EAX MOV CL,1 CALL _bump ADD ESP,4 JMP _1_447 _1_448: MOV EAX,1 MOV DWORD [_usexpr],EAX MOV ESP,EBP POP EBP RET _ask: PUSH EBP MOV EBP,ESP ADD ESP,-8 LEA EAX,[EBP-4] PUSH EAX XOR EAX,EAX MOV DWORD [_nxtlab],EAX MOV DWORD [_listfp],EAX POP EBX MOV [EBX],EAX MOV EAX,__iob MOV EBX,32 ADD EAX,EBX MOV DWORD [_output],EAX XOR EAX,EAX MOV BYTE [_optimize],AL XOR EAX,EAX MOV BYTE [_pause],AL MOV BYTE [_monitor],AL MOV BYTE [_alarm],AL MOV EAX,[_mline] MOV DWORD [_line],EAX _1_452: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] INC EAX MOV [EBX],EAX PUSH EAX MOV EAX,[_line] PUSH EAX MOV EAX,128 PUSH EAX MOV EAX,[_argcs] PUSH EAX MOV EAX,[_argvs] PUSH EAX MOV CL,5 CALL _getarg ADD ESP,20 MOV EBX,EAX MOV EAX,-1 CALL __ne OR EAX,EAX JNE _1_454 JMP _1_453 _1_454: MOV EAX,[_line] MOV EBX,EAX MOVSX EAX,BYTE [EBX] MOV EBX,EAX MOV EAX,45 CALL __ne OR EAX,EAX JNE _1_458 JMP _1_456 _1_458: MOV EAX,[_line] MOV EBX,EAX MOVSX EAX,BYTE [EBX] MOV EBX,EAX MOV EAX,47 CALL __ne OR EAX,EAX JNE _1_459 JMP _1_456 _1_459: MOV EAX,1 JMP _1_457 _1_456: XOR EAX,EAX _1_457: OR EAX,EAX JNE _1_460 JMP _1_455 _1_460: JMP _1_452 _1_455: MOV EAX,[_line] MOV EBX,1 ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] PUSH EAX MOV CL,1 CALL _toupper ADD ESP,4 MOV EBX,EAX MOV EAX,76 CALL __eq OR EAX,EAX JNE _1_464 JMP _1_462 _1_464: MOV EAX,[_line] MOV EBX,2 ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] PUSH EAX MOV CL,1 CALL _isdigit ADD ESP,4 OR EAX,EAX JNE _1_465 JMP _1_462 _1_465: MOV EAX,[_line] MOV EBX,3 ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] MOV EBX,EAX MOV EAX,32 CALL __le OR EAX,EAX JNE _1_466 JMP _1_462 _1_466: MOV EAX,1 JMP _1_463 _1_462: XOR EAX,EAX _1_463: OR EAX,EAX JNE _1_467 JMP _1_461 _1_467: MOV EAX,[_line] MOV EBX,2 ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] MOV EBX,EAX MOV EAX,48 XCHG EAX,EBX SUB EAX,EBX MOV DWORD [_listfp],EAX JMP _1_452 _1_461: MOV EAX,[_line] MOV EBX,1 ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] PUSH EAX MOV CL,1 CALL _toupper ADD ESP,4 MOV EBX,EAX MOV EAX,78 CALL __eq OR EAX,EAX JNE _1_471 JMP _1_469 _1_471: MOV EAX,[_line] MOV EBX,2 ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] PUSH EAX MOV CL,1 CALL _toupper ADD ESP,4 MOV EBX,EAX MOV EAX,79 CALL __eq OR EAX,EAX JNE _1_472 JMP _1_469 _1_472: MOV EAX,[_line] MOV EBX,3 ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] MOV EBX,EAX MOV EAX,32 CALL __le OR EAX,EAX JNE _1_473 JMP _1_469 _1_473: MOV EAX,1 JMP _1_470 _1_469: XOR EAX,EAX _1_470: OR EAX,EAX JNE _1_474 JMP _1_468 _1_474: XOR EAX,EAX MOV BYTE [_optimize],AL JMP _1_452 _1_468: MOV EAX,[_line] MOV EBX,1 ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] PUSH EAX MOV CL,1 CALL _toupper ADD ESP,4 MOV EBX,EAX MOV EAX,68 CALL __eq OR EAX,EAX JNE _1_476 JMP _1_475 _1_476: LEA EAX,[EBP-8] MOV EBX,EAX XOR EAX,EAX MOV [EBX],EAX MOV EAX,[_line] PUSH EAX LEA EAX,[EBP-8] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,2 ADD EAX,EBX POP EBX ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] MOV DWORD [_ch],EAX MOV EAX,[_line] PUSH EAX LEA EAX,[EBP-8] MOV EBX,EAX MOV EAX, [EBX] POP EBX ADD EAX,EBX MOV EBX,2 ADD EAX,EBX MOV DWORD [_lptr],EAX XOR CL,CL CALL _dodefine JMP _1_452 _1_475: MOV EAX,[_line] MOV EBX,2 ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] MOV EBX,EAX MOV EAX,32 CALL __le OR EAX,EAX JNE _1_478 JMP _1_477 _1_478: MOV EAX,[_line] MOV EBX,1 ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] PUSH EAX MOV CL,1 CALL _toupper ADD ESP,4 MOV EBX,EAX MOV EAX,65 CALL __eq OR EAX,EAX JNE _1_480 JMP _1_479 _1_480: MOV EAX,1 MOV BYTE [_alarm],AL JMP _1_452 _1_479: MOV EAX,[_line] MOV EBX,1 ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] PUSH EAX MOV CL,1 CALL _toupper ADD ESP,4 MOV EBX,EAX MOV EAX,77 CALL __eq OR EAX,EAX JNE _1_482 JMP _1_481 _1_482: MOV EAX,1 MOV BYTE [_monitor],AL JMP _1_452 _1_481: MOV EAX,[_line] MOV EBX,1 ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] PUSH EAX MOV CL,1 CALL _toupper ADD ESP,4 MOV EBX,EAX MOV EAX,80 CALL __eq OR EAX,EAX JNE _1_484 JMP _1_483 _1_484: MOV EAX,1 MOV BYTE [_pause],AL JMP _1_452 _1_483: _1_477: MOV EAX,_1_451+0 PUSH EAX MOV EAX,__iob MOV EBX,64 ADD EAX,EBX PUSH EAX MOV CL,2 CALL _fputs ADD ESP,8 MOV EAX,_1_451+57 PUSH EAX MOV EAX,__iob MOV EBX,64 ADD EAX,EBX PUSH EAX MOV CL,2 CALL _fputs ADD ESP,8 MOV EAX,_1_451+74 PUSH EAX MOV EAX,__iob MOV EBX,64 ADD EAX,EBX PUSH EAX MOV CL,2 CALL _fputs ADD ESP,8 MOV EAX,_1_451+89 PUSH EAX MOV EAX,__iob MOV EBX,64 ADD EAX,EBX PUSH EAX MOV CL,2 CALL _fputs ADD ESP,8 MOV EAX,_1_451+104 PUSH EAX MOV EAX,__iob MOV EBX,64 ADD EAX,EBX PUSH EAX MOV CL,2 CALL _fputs ADD ESP,8 MOV EAX,_1_451+118 PUSH EAX MOV EAX,__iob MOV EBX,64 ADD EAX,EBX PUSH EAX MOV CL,2 CALL _fputs ADD ESP,8 MOV EAX,_1_451+139 PUSH EAX MOV EAX,__iob MOV EBX,64 ADD EAX,EBX PUSH EAX MOV CL,2 CALL _fputs ADD ESP,8 MOV EAX,7 PUSH EAX MOV CL,1 CALL _OS_exit ADD ESP,4 JMP _1_452 _1_453: MOV ESP,EBP POP EBP RET _1_451 DB 117,115,97,103,101,58,32,99,99,32 DB 91,102,105,108,101,93,46,46,46,32 DB 91,45,109,93,32,91,45,97,93,32 DB 91,45,112,93,32,91,45,108,35,93 DB 32,91,45,110,111,93,32,91,45,100 DB 60,105,100,62,93,10,0,32,45,109 DB 32,32,32,32,32,109,111,110,105,116 DB 111,114,10,0,32,45,97,32,32,32 DB 32,32,97,108,97,114,109,10,0,32 DB 45,112,32,32,32,32,32,112,97,117 DB 115,101,10,0,32,45,108,35,32,32 DB 32,32,108,105,115,116,10,0,32,45 DB 110,111,32,32,32,32,110,111,32,111 DB 112,116,105,109,105,122,101,10,0,32 DB 45,100,60,105,100,62,32,112,114,101 DB 45,35,100,101,102,105,110,101,32,105 DB 100,10,0 _openfile: PUSH EBP MOV EBP,ESP ADD ESP,-28 MOV EAX,-1 MOV DWORD [_input],EAX _1_486: MOV EAX,[_filearg] INC EAX MOV DWORD [_filearg],EAX PUSH EAX MOV EAX,[_pline] PUSH EAX MOV EAX,128 PUSH EAX MOV EAX,[_argcs] PUSH EAX MOV EAX,[_argvs] PUSH EAX MOV CL,5 CALL _getarg ADD ESP,20 MOV EBX,EAX MOV EAX,-1 CALL __ne OR EAX,EAX JNE _1_488 JMP _1_487 _1_488: MOV EAX,[_pline] MOV EBX,EAX MOVSX EAX,BYTE [EBX] MOV EBX,EAX MOV EAX,45 CALL __eq OR EAX,EAX JE _1_492 JMP _1_490 _1_492: MOV EAX,[_pline] MOV EBX,EAX MOVSX EAX,BYTE [EBX] MOV EBX,EAX MOV EAX,47 CALL __eq OR EAX,EAX JE _1_493 JMP _1_490 _1_493: XOR EAX,EAX JMP _1_491 _1_490: MOV EAX,1 _1_491: OR EAX,EAX JNE _1_494 JMP _1_489 _1_494: JMP _1_486 _1_489: LEA EAX,[EBP-28] MOV EBX,EAX XOR EAX,EAX MOV [EBX],EAX LEA EAX,[EBP-20] MOV EBX,EAX MOV EAX,-1 MOV [EBX],EAX LEA EAX,[EBP-24] MOV EBX,EAX XOR EAX,EAX MOV [EBX],EAX _1_495: MOV EAX,[_pline] PUSH EAX LEA EAX,[EBP-20] MOV EBX,EAX MOV EAX, [EBX] INC EAX MOV [EBX],EAX POP EBX ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] OR EAX,EAX JNE _1_497 JMP _1_496 _1_497: MOV EAX,[_pline] PUSH EAX LEA EAX,[EBP-20] MOV EBX,EAX MOV EAX, [EBX] POP EBX ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] MOV EBX,EAX MOV EAX,46 CALL __eq OR EAX,EAX JNE _1_499 JMP _1_498 _1_499: LEA EAX,[EBP-28] MOV EBX,EAX MOV EAX,1 MOV [EBX],EAX JMP _1_496 _1_498: LEA EAX,[EBP-24] MOV EBX,EAX MOV EAX, [EBX] MOV EBX,EAX MOV EAX,10 CALL __lt OR EAX,EAX JNE _1_501 JMP _1_500 _1_501: LEA EAX,[EBP-16] PUSH EAX LEA EAX,[EBP-24] MOV EBX,EAX MOV EAX, [EBX] INC EAX MOV [EBX],EAX DEC EAX POP EBX ADD EAX,EBX PUSH EAX MOV EAX,[_pline] PUSH EAX LEA EAX,[EBP-20] MOV EBX,EAX MOV EAX, [EBX] POP EBX ADD EAX,EBX MOV EBX,EAX MOVSX EAX,BYTE [EBX] POP EBX MOV [EBX],AL _1_500: JMP _1_495 _1_496: LEA EAX,[EBP-28] MOV EBX,EAX MOV EAX, [EBX] CALL __lneg OR EAX,EAX JNE _1_503 JMP _1_502 _1_503: MOV EAX,[_pline] PUSH EAX LEA EAX,[EBP-20] MOV EBX,EAX MOV EAX, [EBX] POP EBX ADD EAX,EBX PUSH EAX MOV EAX,_1_485+0 PUSH EAX MOV CL,2 CALL _strcpy ADD ESP,8 _1_502: MOV EAX,[_pline] PUSH EAX MOV EAX,_1_485+3 PUSH EAX MOV CL,2 CALL _mustopen ADD ESP,8 MOV DWORD [_input],EAX MOV EAX,[_files] CALL __lneg OR EAX,EAX JNE _1_505 JMP _1_504 _1_505: LEA EAX,[EBP-16] PUSH EAX LEA EAX,[EBP-24] MOV EBX,EAX MOV EAX, [EBX] POP EBX ADD EAX,EBX PUSH EAX MOV EAX,_1_485+5 PUSH EAX MOV CL,2 CALL _strcpy ADD ESP,8 LEA EAX,[EBP-16] PUSH EAX MOV EAX,_1_485+10 PUSH EAX MOV CL,2 CALL _mustopen ADD ESP,8 MOV DWORD [_output],EAX _1_504: MOV EAX,1 MOV DWORD [_files],EAX XOR CL,CL CALL _kill MOV ESP,EBP POP EBP RET JMP _1_486 _1_487: MOV EAX,[_files] INC EAX MOV DWORD [_files],EAX DEC EAX OR EAX,EAX JNE _1_507 JMP _1_506 _1_507: MOV EAX,1 MOV DWORD [_eof],EAX JMP _1_508 _1_506: MOV EAX,__iob MOV DWORD [_input],EAX _1_508: XOR CL,CL CALL _kill MOV ESP,EBP POP EBP RET _1_485 DB 46,67,0,114,0,46,65,83,77,0 DB 119,0 _mustopen: PUSH EBP MOV EBP,ESP ADD ESP,-4 LEA EAX,[EBP-4] PUSH EAX LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX LEA EAX,[EBP+8] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV CL,2 CALL _OS_fopen ADD ESP,8 POP EBX MOV [EBX],EAX OR EAX,EAX JNE _1_511 JMP _1_510 _1_511: LEA EAX,[EBP-4] MOV EBX,EAX MOV EAX, [EBX] MOV ESP,EBP POP EBP RET _1_510: MOV EAX,_1_509+0 PUSH EAX MOV EAX,__iob MOV EBX,64 ADD EAX,EBX PUSH EAX MOV CL,2 CALL _fputs ADD ESP,8 LEA EAX,[EBP+12] MOV EBX,EAX MOV EAX, [EBX] PUSH EAX MOV EAX,__iob MOV EBX,64 ADD EAX,EBX PUSH EAX MOV CL,2 CALL _lout ADD ESP,8 MOV EAX,7 PUSH EAX MOV CL,1 CALL _OS_exit ADD ESP,4 MOV ESP,EBP POP EBP RET _1_509 DB 111,112,101,110,32,101,114,114,111,114 DB 32,111,110,32,0