From 0778b5bba7bf4f336725fb32dad8d7065afe3563 Mon Sep 17 00:00:00 2001 From: Richard Burgess <> Date: Thu, 9 Feb 1995 16:31:12 +0000 Subject: [PATCH] autocommit for file dated 1995-02-09 16:31:12 --- msamples/cm32m/cm32.asm | 11847 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 11847 insertions(+) create mode 100644 msamples/cm32m/cm32.asm diff --git a/msamples/cm32m/cm32.asm b/msamples/cm32m/cm32.asm new file mode 100644 index 0000000..ccf9f33 --- /dev/null +++ b/msamples/cm32m/cm32.asm @@ -0,0 +1,11847 @@ + +.DATA +_itoken DB 0,0,0,0,0,0,0,0,0,0,0 + DB 0,0,0,0,0,0,0,0,0,0,0 + DB 0,0,0,0,0,0,0,0,0,0,0 + DB 1,0,0,0,3,5,0,8,9,10,12 + DB 15,16,20,22,0,0,0,0,0,0,0 + DB 0,0,0,24,25,26,30,32,36,0,0 + DB 0,0,0,0,0,0,0,0,0,0,0 + DB 0,0,0,0,0,0,0,0,0,0,0 + DB 0,0,0,37,0,38,39,0,0,0,41 + DB 42,46,48,50,52,0,53,0,0,56,0 + DB 0,0,0,0,57,59,65,66,68,69,0 + DB 0,0,70,71,74,75,0 +_tokens DD OFFSET L_lit+0,OFFSET L_lit+1,OFFSET L_lit+4 + DD OFFSET L_lit+6,OFFSET L_lit+9,OFFSET L_lit+11 + DD OFFSET L_lit+14,OFFSET L_lit+17,OFFSET L_lit+19 + DD OFFSET L_lit+21,OFFSET L_lit+23,OFFSET L_lit+26 + DD OFFSET L_lit+28,OFFSET L_lit+31,OFFSET L_lit+34 + DD OFFSET L_lit+36,OFFSET L_lit+38,OFFSET L_lit+41 + DD OFFSET L_lit+44,OFFSET L_lit+47,OFFSET L_lit+49 + DD OFFSET L_lit+53,OFFSET L_lit+55,OFFSET L_lit+58 + DD OFFSET L_lit+60,OFFSET L_lit+62,OFFSET L_lit+64 + DD OFFSET L_lit+68,OFFSET L_lit+71,OFFSET L_lit+74 + DD OFFSET L_lit+76,OFFSET L_lit+79,OFFSET L_lit+81 + DD OFFSET L_lit+85,OFFSET L_lit+88,OFFSET L_lit+91 + DD OFFSET L_lit+93,OFFSET L_lit+95,OFFSET L_lit+97 + DD OFFSET L_lit+99,OFFSET L_lit+102,OFFSET L_lit+104 + DD OFFSET L_lit+110,OFFSET L_lit+115,OFFSET L_lit+120 + DD OFFSET L_lit+126,OFFSET L_lit+135,OFFSET L_lit+143 + DD OFFSET L_lit+146,OFFSET L_lit+151,OFFSET L_lit+158 + DD OFFSET L_lit+162,OFFSET L_lit+166,OFFSET L_lit+171 + DD OFFSET L_lit+181,OFFSET L_lit+185,OFFSET L_lit+188 + DD OFFSET L_lit+193,OFFSET L_lit+202,OFFSET L_lit+209 + DD OFFSET L_lit+216,OFFSET L_lit+223,OFFSET L_lit+230 + DD OFFSET L_lit+237,OFFSET L_lit+244,OFFSET L_lit+250 + DD OFFSET L_lit+258,OFFSET L_lit+267,OFFSET L_lit+273 + DD OFFSET L_lit+278,OFFSET L_lit+284,OFFSET L_lit+286 + DD OFFSET L_lit+289,OFFSET L_lit+292,OFFSET L_lit+294 + DD OFFSET L_lit+296,0 +_priority DB 0,9,0,2,13,5,2,8,0,0,2 + DB 13,15,2,12,0,15,2,15,12,0,15 + DB 2,13,0,0,2,11,10,10,9,2,2 + DB 11,10,10,3,0,0,2,7,0,0,0 + DB 0,0,0,0,0,0,0,0,0,0,0 + DB 0,0,0,0,0,0,0,0,0,0,0 + DB 0,0,0,0,0,4,2,6,0,0,0 + DB 0,0,0,0,0,0,0,0,0,0,0 + DB 0,0,0,0,0,0,0,0,0,0,0 + DB 0,0,0,0,0,0,0,0,0,0,0 + DB 0,0,0,0,0,0,0,0,0,0,0 + DB 0,0,0,0,0,0,0 +_optype DB 0,2,1,3,2,4,3,2,0,0,3 + DB 2,0,3,2,0,0,3,2,2,0,2 + DB 3,2,0,0,3,2,2,2,2,3,3 + DB 2,2,2,4,0,0,3,2,0,0,0 + DB 0,0,0,0,0,0,0,0,0,0,0 + DB 0,0,0,0,0,1,0,0,0,0,0 + DB 0,0,0,0,0,4,3,2,0,1,0 + DB 0,0,0,0,0,0,0,0,0,0,0 + DB 0,0,0,0,0,0,0,0,0,0,0 + DB 0,0,0,0,0,0,0,0,0,0,0 + DB 0,0,0,0,0,0,0,0,0,0,0 + DB 0,0,0,0,0,0,0 +EXTRN _AllocPage FWORD +EXTRN _AllocOSPage FWORD +EXTRN _AllocDMAPage FWORD +EXTRN _DeAllocPage FWORD +EXTRN _QueryPages FWORD +EXTRN _GetPhyAdd FWORD +EXTRN _AliasMem FWORD +EXTRN _DeAliasMem FWORD +PUBLIC _oNextGName DD 0 +PUBLIC _oNextLName DD 0 +PUBLIC _global_top DD 0 +PUBLIC _global_count DD 0 +PUBLIC _iproto_next DD 1 +PUBLIC _icrntpro DD 0 +PUBLIC _iarg DD 0 +PUBLIC _argtype DD 0 +PUBLIC _local_top DD 300 +PUBLIC _fInStruct DB 0 +PUBLIC _structname DB 48,83,116,114,117,99,116,68,101,102,0 + DB 0 +PUBLIC _NxtStrucNum DB 0 +PUBLIC _dim_top DD 0 +PUBLIC _literal_top DD 0 +PUBLIC _expr_ptr DD 0 +PUBLIC _if_flag DB 0 +PUBLIC _asm_flag DB 0 +PUBLIC _not_flag DB 0 +PUBLIC _prefix DB 76 +PUBLIC _exit_label DD 0 +PUBLIC _exit_used DD 0 +PUBLIC _in_function DD 0 +PUBLIC _loop_ptr DD 0 +PUBLIC _switch_ptr DD 0 +PUBLIC _define_top DD 0 +PUBLIC _sdefault DD 0 +PUBLIC _exit_flag DD 0 +PUBLIC _next_lab DD 0 +PUBLIC _line_number DD 0 +PUBLIC _begin_comment DD 0 +PUBLIC _ungot_token DD 0 +PUBLIC _error_count DD 0 +PUBLIC _warn_count DD 0 +PUBLIC _macro DD 0 +PUBLIC _include DD 0 +PUBLIC _source_fh DD 0 +PUBLIC _asm_fh DD 0 +PUBLIC _code_fh DD 0 +PUBLIC _list_fh DD 0 +PUBLIC _fLISTOpen DB 0 +PUBLIC _fTEMPOpen DB 0 +PUBLIC _fCODEOpen DB 0 +PUBLIC _fASMOpen DB 0 +PUBLIC _comment_flag DB -1 +PUBLIC _fQuiet DB 0 +PUBLIC _fSource DB 0 +PUBLIC _fNoOpt DB 0 +PUBLIC _fOptS DB 0 +PUBLIC _fList DB 0 +PUBLIC _fGen DB 0 +PUBLIC _fWarnings DB 0 +PUBLIC _incdir DD OFFSET L_lit+298 +PUBLIC _global_width DD 0 +PUBLIC _asmlab DD 0 +PUBLIC _stack_flag DB 0 +PUBLIC _pc DD 0 +PUBLIC _pco DD 0 +PUBLIC _pd DD 0 +PUBLIC _peep_table DD OFFSET L_lit+312,OFFSET L_lit+330,OFFSET L_lit+339 + DD OFFSET L_lit+357,OFFSET L_lit+366,OFFSET L_lit+393 + DD OFFSET L_lit+411,OFFSET L_lit+435,OFFSET L_lit+446 + DD OFFSET L_lit+470,OFFSET L_lit+481,OFFSET L_lit+505 + DD OFFSET L_lit+516,OFFSET L_lit+572,OFFSET L_lit+596 + DD OFFSET L_lit+618,OFFSET L_lit+627,OFFSET L_lit+648 + DD OFFSET L_lit+659,OFFSET L_lit+681,OFFSET L_lit+692 + DD OFFSET L_lit+713,OFFSET L_lit+724,OFFSET L_lit+746 + DD OFFSET L_lit+757,OFFSET L_lit+777,OFFSET L_lit+788 + DD OFFSET L_lit+809,OFFSET L_lit+820,OFFSET L_lit+840 + DD OFFSET L_lit+851,OFFSET L_lit+872,OFFSET L_lit+883 + DD OFFSET L_lit+903,OFFSET L_lit+914,OFFSET L_lit+935 + DD OFFSET L_lit+946,OFFSET L_lit+956,OFFSET L_lit+959 + DD OFFSET L_lit+972,OFFSET L_lit+978,OFFSET L_lit+992 + DD OFFSET L_lit+999,OFFSET L_lit+1026,OFFSET L_lit+1042 + DD OFFSET L_lit+1068,OFFSET L_lit+1085,OFFSET L_lit+1115 + DD OFFSET L_lit+1129,OFFSET L_lit+1158,OFFSET L_lit+1171 + DD OFFSET L_lit+1195,OFFSET L_lit+1217,OFFSET L_lit+1241 + DD OFFSET L_lit+1263,OFFSET L_lit+1287,OFFSET L_lit+1309 + DD OFFSET L_lit+1333,OFFSET L_lit+1355,OFFSET L_lit+1379 + DD OFFSET L_lit+1390,OFFSET L_lit+1424,OFFSET L_lit+1442 + DD OFFSET L_lit+1476,OFFSET L_lit+1494,OFFSET L_lit+1516 + DD OFFSET L_lit+1535,OFFSET L_lit+1556,OFFSET L_lit+1564 + DD OFFSET L_lit+1575,OFFSET L_lit+1588,OFFSET L_lit+1598 + DD OFFSET L_lit+1609,OFFSET L_lit+1619,OFFSET L_lit+1630 + DD OFFSET L_lit+1640,0 +PUBLIC _peep_top DW 0 +PUBLIC _peep_next DW 0 +L_lit DB 0,33,61,0,33,0,37,61,0,37,0,38,38,0,38,61 + DB 0,38,0,40,0,41,0,42,61,0,42,0,43,43,0,43 + DB 61,0,43,0,44,0,45,45,0,45,61,0,45,62,0,45 + DB 0,46,46,46,0,46,0,47,61,0,47,0,58,0,59,0 + DB 60,60,61,0,60,60,0,60,61,0,60,0,61,61,0,61 + DB 0,62,62,61,0,62,62,0,62,61,0,62,0,63,0,91 + DB 0,93,0,94,61,0,94,0,98,114,101,97,107,0,99,97 + DB 115,101,0,99,104,97,114,0,99,111,110,115,116,0,99,111 + DB 110,116,105,110,117,101,0,100,101,102,97,117,108,116,0,100 + DB 111,0,101,108,115,101,0,101,120,116,101,114,110,0,102,97 + DB 114,0,102,111,114,0,103,111,116,111,0,105,110,116,101,114 + DB 114,117,112,116,0,105,110,116,0,105,102,0,108,111,110,103 + DB 0,114,101,103,105,115,116,101,114,0,114,101,116,117,114,110 + DB 0,115,105,103,110,101,100,0,115,105,122,101,111,102,0,115 + DB 116,97,116,105,99,0,115,116,114,117,99,116,0,115,119,105 + DB 116,99,104,0,115,104,111,114,116,0,116,121,112,101,100,101 + DB 102,0,117,110,115,105,103,110,101,100,0,117,110,105,111,110 + DB 0,118,111,105,100,0,119,104,105,108,101,0,123,0,124,124 + DB 0,124,61,0,124,0,125,0,126,0,92,67,77,51,50,92 + DB 73,78,67,76,85,68,69,0,9,77,79,86,32,128,44,129 + DB 10,9,77,79,86,32,129,44,128,0,9,77,79,86,32,128 + DB 44,129,0,9,77,79,86,32,128,44,129,10,9,77,79,86 + DB 32,128,44,130,0,9,77,79,86,32,128,44,130,0,9,77 + DB 79,86,32,128,44,129,10,9,77,79,86,32,130,44,128,10 + DB 9,77,79,86,32,129,44,128,0,9,77,79,86,32,130,44 + DB 128,10,9,77,79,86,32,128,44,129,0,9,77,79,86,32 + DB 69,65,88,44,128,10,9,77,79,86,32,69,67,88,44,69 + DB 65,88,0,9,77,79,86,32,69,67,88,44,128,0,9,77 + DB 79,86,32,69,83,73,44,128,10,9,77,79,86,32,69,65 + DB 88,44,69,83,73,0,9,77,79,86,32,69,65,88,44,128 + DB 0,9,76,69,65,32,69,83,73,44,128,10,9,77,79,86 + DB 32,69,65,88,44,69,83,73,0,9,76,69,65,32,69,65 + DB 88,44,128,0,9,80,85,83,72,32,69,65,88,10,9,76 + DB 69,65,32,69,83,73,44,128,10,9,77,79,86,32,69,65 + DB 88,44,69,83,73,10,9,80,79,80,32,69,66,88,10,9 + DB 65,68,68,32,69,65,88,44,69,66,88,0,9,65,68,68 + DB 32,69,65,88,44,69,83,73,10,9,76,69,65,32,69,83 + DB 73,44,128,0,9,80,79,80,32,69,66,88,10,9,77,79 + DB 86,32,69,65,88,44,69,66,88,0,9,80,79,80,32,69 + DB 65,88,0,9,77,79,86,32,69,67,88,44,51,50,10,9 + DB 77,85,76,32,69,67,88,0,9,83,72,76,32,69,65,88 + DB 44,53,0,9,77,79,86,32,69,67,88,44,51,50,10,9 + DB 73,77,85,76,32,69,67,88,0,9,83,72,76,32,69,65 + DB 88,44,53,0,9,77,79,86,32,69,67,88,44,49,54,10 + DB 9,77,85,76,32,69,67,88,0,9,83,72,76,32,69,65 + DB 88,44,52,0,9,77,79,86,32,69,67,88,44,49,54,10 + DB 9,73,77,85,76,32,69,67,88,0,9,83,72,76,32,69 + DB 65,88,44,52,0,9,77,79,86,32,69,67,88,44,56,10 + DB 9,77,85,76,32,69,67,88,0,9,83,72,76,32,69,65 + DB 88,44,51,0,9,77,79,86,32,69,67,88,44,56,10,9 + DB 73,77,85,76,32,69,67,88,0,9,83,72,76,32,69,65 + DB 88,44,51,0,9,77,79,86,32,69,67,88,44,52,10,9 + DB 77,85,76,32,69,67,88,0,9,83,72,76,32,69,65,88 + DB 44,50,0,9,77,79,86,32,69,67,88,44,52,10,9,73 + DB 77,85,76,32,69,67,88,0,9,83,72,76,32,69,65,88 + DB 44,50,0,9,77,79,86,32,69,67,88,44,50,10,9,77 + DB 85,76,32,69,67,88,0,9,83,72,76,32,69,65,88,44 + DB 49,0,9,77,79,86,32,69,67,88,44,50,10,9,73,77 + DB 85,76,32,69,67,88,0,9,83,72,76,32,69,65,88,44 + DB 49,0,9,74,77,80,32,128,10,128,58,0,128,58,0,9 + DB 74,77,80,32,128,10,129,58,10,128,58,0,128,58,10,129 + DB 58,0,9,74,77,80,32,128,10,9,74,77,80,32,129,0 + DB 9,74,77,80,32,128,0,9,74,78,90,32,128,10,9,74 + DB 77,80,32,129,10,128,58,10,9,74,77,80,32,130,10,129 + DB 58,0,129,58,10,9,74,77,80,32,130,10,9,74,90,32 + DB 129,0,9,74,90,32,128,10,9,74,77,80,32,129,10,128 + DB 58,10,9,74,77,80,32,130,10,129,58,0,129,58,10,9 + DB 74,77,80,32,130,10,9,74,78,90,32,129,0,9,74,78 + DB 90,32,128,10,9,74,77,80,32,129,10,128,58,10,9,74 + DB 77,80,32,83,72,79,82,84,32,130,0,9,74,77,80,32 + DB 129,10,9,74,78,90,32,130,0,9,74,90,32,128,10,9 + DB 74,77,80,32,129,10,128,58,10,9,74,77,80,32,83,72 + DB 79,82,84,32,130,0,9,74,77,80,32,129,10,9,74,90 + DB 32,130,0,9,77,79,86,32,65,76,44,128,10,9,77,79 + DB 86,83,88,32,69,65,88,44,65,76,0,9,77,79,86,83 + DB 88,32,69,65,88,44,66,89,84,69,32,80,84,82,32,128 + DB 0,9,77,79,86,32,65,76,44,128,10,9,77,79,86,90 + DB 88,32,69,65,88,44,65,76,0,9,77,79,86,90,88,32 + DB 69,65,88,44,66,89,84,69,32,80,84,82,32,128,0,9 + DB 77,79,86,32,65,88,44,128,10,9,77,79,86,83,88,32 + DB 69,65,88,44,65,88,0,9,77,79,86,83,88,32,69,65 + DB 88,44,87,79,82,68,32,80,84,82,32,128,0,9,77,79 + DB 86,32,65,88,44,128,10,9,77,79,86,90,88,32,69,65 + DB 88,44,65,88,0,9,77,79,86,90,88,32,69,65,88,44 + DB 87,79,82,68,32,80,84,82,32,128,0,9,77,79,86,32 + DB 69,67,88,44,128,10,9,67,77,80,32,69,65,88,44,69 + DB 67,88,0,9,67,77,80,32,69,65,88,44,128,0,9,77 + DB 79,86,83,88,32,69,67,88,44,66,89,84,69,32,80,84 + DB 82,128,10,9,67,77,80,32,69,65,88,44,69,67,88,0 + DB 9,67,77,80,32,65,76,44,66,89,84,69,32,80,84,82 + DB 128,0,9,77,79,86,90,88,32,69,67,88,44,66,89,84 + DB 69,32,80,84,82,128,10,9,67,77,80,32,69,65,88,44 + DB 69,67,88,0,9,67,77,80,32,65,76,44,66,89,84,69 + DB 32,80,84,82,128,0,9,77,79,86,32,69,65,88,44,91 + DB 128,10,9,80,85,83,72,32,69,65,88,0,9,80,85,83 + DB 72,32,68,87,79,82,68,32,80,84,82,32,91,128,0,9 + DB 77,79,86,32,69,65,88,44,128,10,9,80,85,83,72,32 + DB 69,65,88,0,9,80,85,83,72,32,128,0,9,77,79,86 + DB 32,69,65,88,44,48,0,9,88,79,82,32,69,65,88,44 + DB 69,65,88,0,9,77,79,86,32,65,88,44,48,0,9,88 + DB 79,82,32,65,88,44,65,88,0,9,77,79,86,32,65,76 + DB 44,48,0,9,88,79,82,32,65,76,44,65,76,0,9,77 + DB 79,86,32,65,76,44,48,0,9,88,79,82,32,65,76,44 + DB 65,76,0,73,110,118,97,108,105,100,32,109,97,99,114,111 + DB 32,112,97,114,97,109,101,116,101,114,0,85,110,116,101,114 + DB 109,105,110,97,116,101,100,32,115,116,114,105,110,103,0,85 + DB 110,100,101,102,105,110,101,100,32,109,97,99,114,111,0,10 + DB 0,10,0,67,77,51,50,32,86,50,46,51,77,32,111,112 + DB 116,105,109,105,122,101,114,32,112,104,97,115,101,13,10,0 + DB 35,97,115,109,0,35,101,110,100,97,115,109,0,35,105,102 + DB 100,101,102,0,35,105,102,110,100,101,102,0,35,101,108,115 + DB 101,0,35,101,110,100,105,102,0,35,112,114,97,103,109,97 + DB 0,35,100,101,102,105,110,101,0,84,111,111,32,109,97,110 + DB 121,32,109,97,99,114,111,32,100,101,102,105,110,105,116,105 + DB 111,110,115,0,73,110,118,97,108,105,100,32,109,97,99,114 + DB 111,32,110,97,109,101,0,84,111,111,32,109,97,110,121,32 + DB 109,97,99,114,111,32,112,97,114,97,109,101,116,101,114,115 + DB 0,35,117,110,100,101,102,0,35,105,110,99,108,117,100,101 + DB 0,84,111,111,32,109,97,110,121,32,105,110,99,108,117,100 + DB 101,32,102,105,108,101,115,0,73,110,118,97,108,105,100,32 + DB 105,110,99,108,117,100,101,32,102,105,108,101,32,110,97,109 + DB 101,0,114,0,67,97,110,110,111,116,32,111,112,101,110,32 + DB 105,110,99,108,117,100,101,32,102,105,108,101,0,85,110,107 + DB 110,111,119,110,32,112,114,101,112,114,111,99,101,115,115,111 + DB 114,32,100,105,114,101,99,116,105,118,101,0,87,97,114,110 + DB 105,110,103,58,32,0,83,121,110,116,97,120,32,101,114,114 + DB 111,114,0,84,121,112,101,115,32,109,105,115,109,97,116,99 + DB 104,0,73,108,108,101,103,97,108,32,105,110,100,105,114,101 + DB 99,116,105,111,110,0,69,120,112,101,99,116,101,100,0,85 + DB 110,116,101,114,109,105,110,97,116,101,100,32,99,111,109,109 + DB 101,110,116,32,102,114,111,109,32,108,105,110,101,58,32,0 + DB 84,111,111,32,109,97,110,121,32,101,114,114,111,114,115,0 + DB 84,111,111,32,109,97,110,121,32,101,114,114,111,114,115,0 + DB 70,97,116,97,108,32,101,114,114,111,114,44,32,99,111,109 + DB 112,105,108,97,116,105,111,110,32,97,98,111,114,116,101,100 + DB 13,10,0,70,97,116,97,108,32,101,114,114,111,114,44,32 + DB 99,111,109,112,105,108,97,116,105,111,110,32,97,98,111,114 + DB 116,101,100,13,10,0,78,111,32,97,99,116,105,118,101,32 + DB 108,111,111,112,0,78,111,32,97,99,116,105,118,101,32,115 + DB 119,105,116,99,104,0,65,78,68,32,69,65,88,44,69,65 + DB 88,0,85,110,116,101,114,109,105,110,97,116,101,100,32,102 + DB 117,110,99,116,105,111,110,0,32,101,114,114,111,114,115,13 + DB 10,0,32,119,97,114,110,105,110,103,115,13,10,0,83,116 + DB 114,105,110,103,32,115,112,97,99,101,32,101,120,97,117,115 + DB 116,101,100,0,68,117,112,108,105,99,97,116,101,32,108,111 + DB 99,97,108,32,111,114,32,97,114,103,0,65,114,103,32,110 + DB 111,116,32,115,97,109,101,32,116,121,112,101,32,97,115,32 + DB 112,114,111,116,111,116,121,112,101,32,105,110,32,0,80,114 + DB 111,116,111,116,121,112,101,32,116,97,98,108,101,32,102,117 + DB 108,108,0,83,121,109,98,111,108,32,116,97,98,108,101,32 + DB 102,117,108,108,0,76,111,99,97,108,32,115,121,109,98,111 + DB 108,32,110,97,109,101,32,112,111,111,108,32,102,117,108,108 + DB 0,73,110,99,111,110,115,105,115,116,97,110,116,32,114,101 + DB 45,100,101,99,108,97,114,97,116,105,111,110,0,68,117,112 + DB 108,105,99,97,116,101,32,103,108,111,98,97,108,0,83,121 + DB 109,98,111,108,32,116,97,98,108,101,32,102,117,108,108,0 + DB 71,108,111,98,97,108,32,115,121,109,98,111,108,32,110,97 + DB 109,101,32,112,111,111,108,32,102,117,108,108,0,69,120,112 + DB 114,101,115,115,105,111,110,32,115,116,97,99,107,32,111,118 + DB 101,114,102,108,111,119,0,69,120,112,114,101,115,115,105,111 + DB 110,32,115,116,97,99,107,32,117,110,100,101,114,102,108,111 + DB 119,0,67,111,110,115,116,97,110,116,32,101,120,112,114,101 + DB 115,115,105,111,110,32,114,101,113,117,105,114,101,100,0,68 + DB 101,99,108,97,114,97,116,105,111,110,32,109,117,115,116,32 + DB 112,114,101,99,101,101,100,32,99,111,100,101,0,84,121,112 + DB 101,32,115,112,101,99,105,102,105,101,114,32,109,105,115,115 + DB 105,110,103,0,78,117,108,108,32,111,110,108,121,32,97,108 + DB 108,111,119,101,100,32,105,110,32,102,105,114,115,116,32,105 + DB 110,100,101,120,0,78,117,109,101,114,105,99,32,99,111,110 + DB 115,116,97,110,116,32,114,101,113,117,105,114,101,100,0,68 + DB 105,109,101,110,115,105,111,110,32,116,97,98,108,101,32,102 + DB 117,108,108,0,73,108,108,101,103,97,108,32,105,110,105,116 + DB 105,97,108,105,122,97,116,105,111,110,0,84,111,111,32,109 + DB 97,110,121,32,111,112,101,110,32,98,114,97,99,101,115,0 + DB 85,110,98,97,108,97,110,99,101,100,32,98,114,97,99,101 + DB 115,0,73,109,112,114,111,112,101,114,32,98,114,97,99,107 + DB 101,116,101,100,32,105,110,105,116,105,97,108,105,122,97,116 + DB 105,111,110,0,73,110,118,97,108,105,100,32,105,110,105,116 + DB 32,116,121,112,101,0,85,110,100,101,102,105,110,101,100,0 + DB 77,117,115,116,32,98,101,32,112,111,105,110,116,101,114,32 + DB 97,114,114,97,121,0,73,109,112,114,111,112,101,114,32,98 + DB 114,97,99,107,101,116,101,100,32,105,110,105,116,105,97,108 + DB 105,122,97,116,105,111,110,0,73,109,112,114,111,112,101,114 + DB 32,115,121,109,98,111,108,32,105,110,32,105,110,105,116,105 + DB 97,108,105,122,97,116,105,111,110,0,84,111,111,32,109,97 + DB 110,121,32,105,110,105,116,105,97,108,32,118,97,108,117,101 + DB 115,0,73,110,99,111,114,114,101,99,116,32,100,101,99,108 + DB 97,114,97,116,105,111,110,0,115,116,114,117,99,116,32,118 + DB 97,114,105,97,98,108,101,32,101,120,112,101,99,116,101,100 + DB 0,115,116,114,117,99,116,32,116,97,103,32,110,97,109,101 + DB 32,101,120,112,101,99,116,101,100,0,83,116,114,117,99,116 + DB 117,114,101,32,123,32,101,120,112,101,99,116,101,100,0,73 + DB 108,108,101,103,97,108,108,121,32,110,101,115,116,101,100,32 + DB 102,117,110,99,116,105,111,110,32,111,114,32,112,114,111,116 + DB 111,116,121,112,101,0,80,114,111,116,111,116,121,112,101,32 + DB 116,97,98,108,101,32,102,117,108,108,0,85,110,114,101,115 + DB 111,108,118,101,100,0,85,110,114,101,102,101,114,101,110,99 + DB 101,100,0,69,65,88,0,79,70,70,83,69,84,32,0,95 + DB 108,105,116,43,0,68,87,79,82,68,32,80,84,82,32,91 + DB 69,66,80,43,69,68,73,43,0,87,79,82,68,32,80,84 + DB 82,32,91,69,66,80,43,69,68,73,43,0,66,89,84,69 + DB 32,80,84,82,32,91,69,66,80,43,69,68,73,43,0,68 + DB 87,79,82,68,32,80,84,82,32,91,69,66,80,43,0,87 + DB 79,82,68,32,80,84,82,32,91,69,66,80,43,0,66,89 + DB 84,69,32,80,84,82,32,91,69,66,80,43,0,68,87,79 + DB 82,68,32,80,84,82,32,91,69,66,80,45,0,87,79,82 + DB 68,32,80,84,82,32,91,69,66,80,45,0,66,89,84,69 + DB 32,80,84,82,32,91,69,66,80,45,0,69,67,88,0,69 + DB 68,88,0,68,87,79,82,68,32,80,84,82,32,0,87,79 + DB 82,68,32,80,84,82,32,0,66,89,84,69,32,80,84,82 + DB 32,0,91,69,83,73,43,0,91,69,67,88,43,0,91,69 + DB 68,88,43,0,91,69,66,88,43,0,91,69,83,73,93,0 + DB 91,69,68,88,93,0,91,69,67,88,93,0,91,69,66,88 + DB 93,0,69,66,88,0,32,69,82,82,79,82,32,105,110,32 + DB 119,114,105,116,101,95,111,112,101,114,10,0,80,85,83,72 + DB 32,69,66,88,0,77,79,86,32,69,66,88,44,69,65,88 + DB 0,80,79,80,32,69,68,88,0,80,79,80,32,69,68,88 + DB 0,9,88,79,82,32,69,65,88,44,69,65,88,10,0,77 + DB 79,86,32,69,65,88,44,124,0,77,79,86,90,88,32,69 + DB 65,88,44,124,0,77,79,86,83,88,32,69,65,88,44,124 + DB 0,9,88,79,82,32,69,65,88,44,69,65,88,10,0,77 + DB 79,86,32,65,76,44,124,0,77,79,86,83,88,32,69,65 + DB 88,44,124,0,9,88,79,82,32,69,67,88,44,69,67,88 + DB 10,0,77,79,86,32,69,67,88,44,124,0,77,79,86,90 + DB 88,32,69,67,88,44,124,0,77,79,86,83,88,32,69,67 + DB 88,44,124,0,9,88,79,82,32,69,67,88,44,69,67,88 + DB 10,0,77,79,86,32,67,76,44,124,0,77,79,86,83,88 + DB 32,69,67,88,44,124,0,80,85,83,72,32,69,66,88,0 + DB 80,85,83,72,32,69,66,88,0,77,79,86,32,69,66,88 + DB 44,69,83,73,0,78,69,71,32,124,0,78,79,84,32,124 + DB 0,65,68,68,32,124,44,115,116,114,117,99,115,105,122,101 + DB 0,65,68,68,32,124,44,52,0,65,68,68,32,124,44,50 + DB 0,73,78,67,32,124,0,83,85,66,32,124,44,115,116,114 + DB 117,99,115,105,122,101,0,83,85,66,32,124,44,52,0,83 + DB 85,66,32,124,44,50,0,68,69,67,32,124,0,65,68,68 + DB 32,69,83,73,44,69,65,88,0,70,117,110,99,116,105,111 + DB 110,32,110,111,116,32,112,114,111,116,111,116,121,112,101,100 + DB 0,85,110,100,101,102,105,110,101,100,32,115,121,109,98,111 + DB 108,0,9,77,79,86,32,69,65,88,44,79,70,70,83,69 + DB 84,32,0,9,76,69,65,32,69,65,88,44,0,77,79,86 + DB 32,69,65,88,44,69,83,73,0,73,110,118,97,108,105,100 + DB 32,39,38,39,32,111,112,101,114,97,116,105,111,110,0,83 + DB 121,109,98,111,108,32,101,120,112,101,99,116,101,100,0,39 + DB 40,39,32,101,120,112,101,99,116,101,100,0,9,65,68,68 + DB 32,69,65,88,44,0,80,85,83,72,32,69,65,88,0,9 + DB 77,79,86,32,69,68,73,44,32,0,65,68,68,32,69,83 + DB 73,44,69,65,88,0,77,79,86,32,69,65,88,44,69,83 + DB 73,0,78,111,116,32,97,32,115,116,114,117,99,116,117,114 + DB 101,32,109,101,109,98,101,114,0,83,116,114,117,99,116,117 + DB 114,101,32,109,101,109,98,101,114,32,101,120,112,101,99,116 + DB 101,100,0,80,111,105,110,116,101,114,32,116,111,32,83,116 + DB 114,117,99,116,32,101,120,112,101,99,116,101,100,0,83,116 + DB 114,117,99,116,117,114,101,32,109,101,109,98,101,114,32,101 + DB 120,112,101,99,116,101,100,0,83,116,114,117,99,116,117,114 + DB 101,32,109,101,109,98,101,114,32,101,120,112,101,99,116,101 + DB 100,0,73,110,118,97,108,105,100,32,115,116,114,117,99,116 + DB 117,114,101,32,111,112,101,114,97,116,105,111,110,0,65,68 + DB 68,32,69,83,73,44,69,65,88,0,77,79,86,32,69,65 + DB 88,44,69,83,73,0,65,68,68,32,124,44,115,116,114,117 + DB 99,115,105,122,101,0,65,68,68,32,124,44,52,0,65,68 + DB 68,32,124,44,50,0,73,78,67,32,124,0,83,85,66,32 + DB 124,44,115,116,114,117,99,115,105,122,101,0,83,85,66,32 + DB 124,44,52,0,83,85,66,32,124,44,50,0,68,69,67,32 + DB 124,0,77,79,86,32,69,67,88,44,69,65,88,0,65,68 + DB 68,32,69,65,88,44,124,0,65,68,68,32,69,65,88,44 + DB 69,67,88,0,83,85,66,32,69,65,88,44,124,0,83,85 + DB 66,32,69,65,88,44,69,67,88,0,77,85,76,32,69,67 + DB 88,0,73,77,85,76,32,69,67,88,0,88,79,82,32,69 + DB 68,88,44,69,68,88,0,68,73,86,32,69,67,88,0,67 + DB 68,81,0,73,68,73,86,32,69,67,88,0,77,79,86,32 + DB 69,65,88,44,69,68,88,0,65,78,68,32,69,65,88,44 + DB 124,0,65,78,68,32,69,65,88,44,69,67,88,0,79,82 + DB 32,69,65,88,44,124,0,79,82,32,69,65,88,44,69,67 + DB 88,0,88,79,82,32,69,65,88,44,124,0,88,79,82,32 + DB 69,65,88,44,69,67,88,0,83,72,76,32,69,65,88,44 + DB 67,76,0,65,78,68,32,69,65,88,44,48,70,70,70,70 + DB 104,0,65,78,68,32,69,65,88,44,48,70,70,104,0,83 + DB 72,82,32,69,65,88,44,67,76,0,83,72,82,32,65,88 + DB 44,67,76,0,83,72,82,32,65,76,44,67,76,0,67,77 + DB 80,32,69,65,88,44,124,0,67,77,80,32,69,65,88,44 + DB 69,67,88,0,83,69,84,69,32,65,76,0,83,69,84,78 + DB 69,32,65,76,0,83,69,84,76,32,65,76,0,83,69,84 + DB 76,69,32,65,76,0,83,69,84,71,32,65,76,0,83,69 + DB 84,71,69,32,65,76,0,83,69,84,66,32,65,76,0,83 + DB 69,84,66,69,32,65,76,0,83,69,84,65,32,65,76,0 + DB 83,69,84,65,69,32,65,76,0,65,78,68,32,65,76,44 + DB 65,76,0,65,78,68,32,69,65,88,44,69,65,88,0,83 + DB 69,84,90,32,65,76,0,65,78,68,32,65,76,44,65,76 + DB 0,77,79,86,32,124,44,32,69,65,88,0,77,79,86,32 + DB 124,44,32,65,88,0,77,79,86,32,124,44,32,65,76,0 + DB 78,111,110,45,97,115,115,105,103,110,97,98,108,101,0,0 + DB 44,0,32,68,66,32,0,32,68,87,32,0,32,68,68,32 + DB 0,79,70,70,83,69,84,32,0,79,70,70,83,69,84,32 + DB 76,95,108,105,116,43,0,76,95,0,0,32,68,68,32,48 + DB 104,10,0,32,68,68,32,0,32,68,85,80,40,48,41,10 + DB 0,32,68,87,32,48,104,10,0,32,68,87,32,0,32,68 + DB 85,80,40,48,41,10,0,32,68,66,32,48,104,10,0,32 + DB 68,66,32,0,32,68,85,80,40,48,41,10,0,69,88,84 + DB 82,78,32,0,32,70,87,79,82,68,0,69,88,84,82,78 + DB 32,0,32,78,69,65,82,0,69,88,84,82,78,32,0,32 + DB 68,68,0,32,68,87,0,32,68,66,0,58,10,0,80,85 + DB 83,72,65,68,0,80,85,83,72,32,69,66,80,0,77,79 + DB 86,32,69,66,80,44,69,83,80,0,9,83,85,66,32,69 + DB 83,80,44,0,80,79,80,65,68,0,73,82,69,84,68,0 + DB 77,79,86,32,69,83,80,44,69,66,80,0,80,79,80,32 + DB 69,66,80,0,9,82,69,84,70,32,0,9,82,69,84,78 + DB 32,0,9,82,69,84,70,0,82,69,84,78,0,58,10,0 + DB 95,108,105,116,0,44,0,32,68,66,32,0,9,67,65,76 + DB 76,32,70,87,79,82,68,32,80,84,82,32,0,9,67,65 + DB 76,76,32,0,9,65,68,68,32,69,83,80,44,0,9,74 + DB 77,80,32,0,9,74,77,80,32,83,72,79,82,84,32,0 + DB 9,74,78,90,32,0,9,74,90,32,0,9,74,78,90,32 + DB 83,72,79,82,84,32,0,9,74,90,32,83,72,79,82,84 + DB 32,0,9,74,77,80,32,0,9,67,77,80,32,69,65,88 + DB 44,0,9,74,69,32,0,77,79,86,32,69,83,73,44,69 + DB 65,88,0,9,77,79,86,32,69,83,73,44,0,10,0,9 + DB 77,79,86,32,69,83,73,44,79,70,70,83,69,84,32,0 + DB 9,76,69,65,32,69,83,73,44,0,10,0,80,85,66,76 + DB 73,67,32,0,80,85,66,76,73,67,32,0,67,111,100,101 + DB 32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119 + DB 46,46,46,32,40,53,49,50,48,48,48,32,98,121,116,101 + DB 115,41,13,10,0,84,111,111,32,109,97,110,121,32,97,99 + DB 116,105,118,101,32,99,97,115,101,115,0,10,10,46,67,79 + DB 68,69,10,0,10,46,68,65,84,65,10,0,78,111,116,32 + DB 101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111 + DB 32,97,108,108,111,99,97,116,101,32,37,100,32,98,121,116 + DB 101,115,46,13,10,0,73,110,118,97,108,105,100,32,108,97 + DB 98,101,108,32,112,114,101,102,105,120,32,99,104,97,114,97 + DB 99,116,101,114,0,73,110,118,97,108,105,100,32,115,119,105 + DB 116,99,104,0,114,0,119,0,69,114,114,111,114,58,32,67 + DB 97,110,39,116,32,111,112,101,110,32,65,83,77,32,102,105 + DB 108,101,10,0,84,111,111,32,109,97,110,121,32,112,97,114 + DB 97,109,101,116,101,114,115,0,67,32,77,105,110,117,115,32 + DB 51,50,32,67,111,109,112,105,108,101,114,44,32,86,101,114 + DB 115,105,111,110,32,50,46,51,77,13,10,0,85,115,97,103 + DB 101,58,32,83,111,117,114,99,101,70,105,108,101,32,91,65 + DB 115,109,70,105,108,101,93,32,47,83,32,47,69,32,47,71 + DB 32,47,76,32,47,87,32,47,80,120,13,10,0,47,83,32 + DB 32,83,117,112,112,114,101,115,115,32,115,99,114,101,101,110 + DB 32,111,117,116,112,117,116,32,40,101,46,103,46,44,32,104 + DB 101,114,97,108,100,41,13,10,0,47,69,32,32,69,109,98 + DB 101,100,32,115,111,117,114,99,101,32,105,110,32,65,83,77 + DB 32,111,117,116,112,117,116,13,10,0,47,71,32,32,71,101 + DB 110,101,114,97,116,101,32,115,101,112,97,114,97,116,101,32 + DB 67,111,100,101,32,38,32,68,97,116,97,32,102,105,108,101 + DB 115,13,10,0,47,76,32,32,76,105,115,116,32,102,105,108 + DB 101,32,103,101,110,101,114,97,116,101,100,32,102,111,114,32 + DB 101,114,114,111,114,115,13,10,0,47,78,32,32,78,111,32 + DB 111,112,116,105,109,105,122,97,116,105,111,110,13,10,0,47 + DB 79,32,32,79,112,116,105,109,105,122,101,32,102,111,114,32 + DB 115,112,101,101,100,46,13,10,0,47,87,32,32,87,97,114 + DB 110,105,110,103,115,32,79,78,13,10,0,47,80,120,32,76 + DB 97,98,101,108,32,112,114,101,102,105,120,32,99,104,97,114 + DB 97,99,116,101,114,32,40,120,61,76,97,98,101,108,32,99 + DB 104,97,114,41,13,10,10,0,69,114,114,111,114,58,32,83 + DB 111,117,114,99,101,32,102,105,108,101,110,97,109,101,32,114 + DB 101,113,117,105,114,101,100,13,10,0,119,0,69,114,114,111 + DB 114,58,32,67,97,110,39,116,32,111,112,101,110,32,65,83 + DB 77,32,102,105,108,101,13,10,0,119,0,67,97,110,110,111 + DB 116,32,111,112,101,110,32,76,73,83,84,32,102,105,108,101 + DB 0,119,0,67,97,110,110,111,116,32,111,112,101,110,32,67 + DB 111,100,101,32,102,105,108,101,0,67,32,77,105,110,117,115 + DB 32,51,50,32,67,111,109,112,105,108,101,114,44,32,86,101 + DB 114,115,105,111,110,32,50,46,51,77,13,10,0 +PUBLIC _pcodebuf DD 0h +PUBLIC _line_in DB 200 DUP(0) +PUBLIC _input_ptr DD 0h +PUBLIC _gst DB 32 DUP(0) +PUBLIC _namesize DB 0h +PUBLIC _gvalue DD 0h +PUBLIC _GPool DB 15000 DUP(0) +PUBLIC _LPool DB 300 DUP(0) +PUBLIC _symtab DB 7200 DUP(0) +PUBLIC _proto_list DD 700 DUP(0) +PUBLIC _arg_count DD 0h +PUBLIC _local_stack DD 0h +PUBLIC _sptr DD 0h +PUBLIC _fptr DD 0h +PUBLIC _CrntStrucDef DD 0h +PUBLIC _memoffset DD 0h +PUBLIC _strucsize DD 0h +PUBLIC _dim_pool DD 100 DUP(0) +PUBLIC _literal_pool DB 10000 DUP(0) +PUBLIC _expstk DB 320 DUP(0) +PUBLIC _break_stack DD 10 DUP(0) +PUBLIC _continue_stack DD 10 DUP(0) +PUBLIC _switch_stack DD 160 DUP(0) +PUBLIC _buffer DB 200 DUP(0) +PUBLIC _buffin_ptr DD 0h +PUBLIC _buffout_ptr DD 0h +PUBLIC _define_index DD 500 DUP(0) +PUBLIC _define_pool DB 15000 DUP(0) +PUBLIC _define_ptr DD 0h +PUBLIC _parm DW 0h +PUBLIC _parm_index DD 10 DUP(0) +PUBLIC _parm_pool DB 200 DUP(0) +PUBLIC _parm_ptr DD 0h +PUBLIC _incl_line DD 5 DUP(0) +PUBLIC _incl_fh DD 5 DUP(0) +PUBLIC _codename DB 40 DUP(0) +PUBLIC _srcname DB 40 DUP(0) +PUBLIC _asmname DB 40 DUP(0) +PUBLIC _lstname DB 40 DUP(0) +PUBLIC _zero_flag DB 0h +PUBLIC _databuf DB 4096 DUP(0) +PUBLIC _peep_buffer DB 1000 DUP(0) +PUBLIC _symbols DB 200 DUP(0) + + +.CODE +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 +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 _exit: 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 +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 _exit: NEAR +_is_alpha: + PUSH EBP + MOV EBP,ESP + MOVSX EAX,BYTE PTR [EBP+8] + MOV ECX,32 + OR EAX,ECX + CMP EAX,97 + SETGE AL + AND AL,AL + JZ L_1 + MOVSX EAX,BYTE PTR [EBP+8] + MOV ECX,32 + OR EAX,ECX + CMP EAX,122 + SETLE AL + AND AL,AL +L_1: + JNZ L_2 + MOVSX EAX,BYTE PTR [EBP+8] + CMP EAX,95 + SETE AL + AND AL,AL +L_2: + POP EBP + RETN 4 +_is_digit: + PUSH EBP + MOV EBP,ESP + MOVSX EAX,BYTE PTR [EBP+8] + CMP EAX,48 + SETGE AL + AND AL,AL + JZ L_4 + MOVSX EAX,BYTE PTR [EBP+8] + CMP EAX,57 + SETLE AL + AND AL,AL +L_4: + POP EBP + RETN 4 +_copystring: + PUSH EBP + MOV EBP,ESP +L_6: + MOV ESI,DWORD PTR [EBP+12] + INC DWORD PTR [EBP+12] + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP+8] + INC DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + AND EAX,EAX + JZ L_7 + JMP L_6 +L_7: + POP EBP + RETN 8 +_equal_string: + PUSH EBP + MOV EBP,ESP +L_8: + MOV ESI,DWORD PTR [EBP+12] + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP+8] + INC DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [EBX] + CMP AL,BYTE PTR [ESI] + SETNE AL + AND AL,AL + JZ L_11 + XOR EAX,EAX + JMP L_12 +L_11: +L_9: + MOV ESI,DWORD PTR [EBP+12] + INC DWORD PTR [EBP+12] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JNZ L_8 +L_10: + MOV EAX,-1 +L_12: + POP EBP + RETN 8 +_skip_blanks: + PUSH EBP + MOV EBP,ESP +L_13: + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,33 + SETL AL + AND AL,AL + JZ L_15 + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] +L_15: + AND EAX,EAX + JZ L_14 + INC _buffin_ptr + MOV EAX,_buffin_ptr + JMP L_13 +L_14: + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + POP EBP + RETN +_more_parms: + PUSH EBP + MOV EBP,ESP + SUB ESP,1 + CALL _skip_blanks + MOV BYTE PTR [EBP-1], AL + CMP EAX,44 + SETE AL + AND AL,AL + JNZ L_17 + MOVSX EAX,BYTE PTR [EBP-1] + CMP EAX,41 + SETE AL + AND AL,AL +L_17: + JZ L_18 + INC _buffin_ptr + MOV EAX,_buffin_ptr + JMP L_19 +L_18: + PUSH OFFSET L_lit+1651 + CALL _line_error +L_19: + MOVSX EAX,BYTE PTR [EBP-1] + CMP EAX,44 + SETE AL + AND AL,AL + MOV ESP,EBP + POP EBP + RETN +_skip_comment: + PUSH EBP + MOV EBP,ESP + SUB ESP,3 + XOR EAX,EAX + MOV WORD PTR [EBP-2], AX +L_21: + MOV ESI,_buffin_ptr + INC _buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBP-3], AL + AND EAX,EAX + JNZ L_23 + MOV EAX,OFFSET _buffer + MOV _buffin_ptr, EAX + PUSH EAX + PUSH 200 + PUSH _source_fh + CALL _fgets + AND EAX,EAX + JNZ L_24 + MOV ESI,_buffin_ptr + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + CALL _UTC_error + JMP L_25 +L_24: + INC _line_number + MOV EAX,_line_number + JMP L_26 +L_23: + MOVZX EAX,WORD PTR [EBP-2] + MOV ECX,8 + SHL EAX,CL + AND EAX,0FFFFh + MOVSX ECX,BYTE PTR [EBP-3] + ADD EAX,ECX + MOV WORD PTR [EBP-2], AX + CMP EAX,10799 + SETE AL + AND AL,AL + JZ L_27 + JMP L_25 +L_27: + MOVZX EAX,WORD PTR [EBP-2] + CMP EAX,12074 + SETE AL + AND AL,AL + JZ L_28 + CALL _skip_comment +L_28: +L_26: + JMP L_21 +L_22: +L_25: + MOV ESP,EBP + POP EBP + RETN +_copy_name: + PUSH EBP + MOV EBP,ESP +L_29: + MOV ESI,_buffout_ptr + INC _buffout_ptr + MOV EBX,ESI + MOV ESI,_buffin_ptr + INC _buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL +L_30: + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _is_alpha + AND EAX,EAX + JNZ L_32 + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _is_digit +L_32: + AND EAX,EAX + JNZ L_29 +L_31: + MOV ESI,_buffout_ptr + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + POP EBP + RETN +_copy_string: + PUSH EBP + MOV EBP,ESP + SUB ESP,1 + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBP-1], AL + CMP EAX,34 + SETE AL + AND AL,AL + JNZ L_33 + MOVSX EAX,BYTE PTR [EBP-1] + CMP EAX,39 + SETE AL + AND AL,AL +L_33: + JZ L_34 +L_35: + MOV ESI,_buffout_ptr + INC _buffout_ptr + MOV EBX,ESI + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + AND EAX,EAX + JNZ L_38 + PUSH OFFSET L_lit+1675 + CALL _line_error + JMP L_39 +L_38: + MOV ESI,_buffin_ptr + INC _buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,92 + SETE AL + AND AL,AL + JZ L_40 + MOV ESI,_buffout_ptr + INC _buffout_ptr + MOV EBX,ESI + MOV ESI,_buffin_ptr + INC _buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL +L_40: +L_36: + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP AL,BYTE PTR [EBP-1] + SETNE AL + AND AL,AL + JNZ L_35 +L_37: + MOV ESI,_buffout_ptr + INC _buffout_ptr + MOV EBX,ESI + MOV ESI,_buffin_ptr + INC _buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL +L_34: +L_39: + MOV ESP,EBP + POP EBP + RETN +_lookup_macro: + PUSH EBP + MOV EBP,ESP + SUB ESP,8 + MOV EAX,_buffout_ptr + MOV DWORD PTR [EBP-8], EAX + CALL _copy_name + MOV EAX,_macro + SUB EAX,1 + MOV DWORD PTR [EBP-4], EAX +L_41: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,0 + SETGE AL + AND AL,AL + JZ L_42 + JMP SHORT L_43 +L_44: + DEC DWORD PTR [EBP-4] + MOV EAX,DWORD PTR [EBP-4] + JMP SHORT L_41 +L_43: + PUSH DWORD PTR [EBP-8] + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + MOV ESI,OFFSET _define_index + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _strcmp + AND EAX,EAX + JNZ L_45 + MOV EAX,DWORD PTR [EBP-4] + JMP L_46 +L_45: + JMP L_44 +L_42: + MOVSX EAX,BYTE PTR [EBP+8] + AND EAX,EAX + JZ L_47 + PUSH OFFSET L_lit+1695 + CALL _line_error +L_47: + MOV EAX,-1 +L_46: + MOV ESP,EBP + POP EBP + RETN 4 +_resolve_macro: + PUSH EBP + MOV EBP,ESP + SUB ESP,17 + MOV EAX,_buffout_ptr + MOV DWORD PTR [EBP-12], EAX + XOR EAX,EAX + PUSH EAX + CALL _lookup_macro + MOV DWORD PTR [EBP-16], EAX + CMP EAX,-1 + SETNE AL + AND AL,AL + JZ L_48 + MOV EAX,DWORD PTR [EBP-16] + SHL EAX,2 + MOV ESI,OFFSET _define_index + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-4], EAX +L_49: + MOV ESI,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_50 + JMP L_49 +L_50: + XOR EAX,EAX + MOV _parm, AX + MOV EAX,OFFSET _parm_pool + MOV _parm_ptr, EAX + MOV ESI,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_51 + CALL _skip_blanks + CMP EAX,40 + SETE AL + AND AL,AL + JZ L_52 + INC _buffin_ptr + MOV EAX,_buffin_ptr +L_53: + MOVZX EAX,_parm + INC _parm + SHL EAX,2 + MOV ESI,OFFSET _parm_index + ADD ESI,EAX + MOV EAX,_parm_ptr + MOV DWORD PTR [ESI], EAX +L_56: + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_58 + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,44 + SETNE AL + AND AL,AL + JZ L_59 + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,41 + SETNE AL + AND AL,AL +L_59: +L_58: + JZ L_57 + MOV ESI,_parm_ptr + INC _parm_ptr + MOV EBX,ESI + MOV ESI,_buffin_ptr + INC _buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_56 +L_57: + MOV ESI,_parm_ptr + INC _parm_ptr + XOR EAX,EAX + MOV BYTE PTR [ESI], AL +L_54: + CALL _more_parms + AND EAX,EAX + JNZ L_53 +L_55: +L_52: +L_51: +L_60: + MOV ESI,DWORD PTR [EBP-4] + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBP-17], AL + AND EAX,EAX + JZ L_61 + MOVSX EAX,BYTE PTR [EBP-17] + MOV ECX,128 + AND EAX,ECX + JZ L_62 + MOVSX EAX,BYTE PTR [EBP-17] + MOV ECX,127 + AND EAX,ECX + MOV DWORD PTR [EBP-16], EAX + MOVZX ECX,_parm + CMP EAX,ECX + SETB AL + AND AL,AL + JZ L_63 + MOV EAX,DWORD PTR [EBP-16] + SHL EAX,2 + MOV ESI,OFFSET _parm_index + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-8], EAX +L_64: + MOV ESI,DWORD PTR [EBP-8] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_65 + JMP SHORT L_66 +L_67: + INC DWORD PTR [EBP-8] + MOV EAX,DWORD PTR [EBP-8] + JMP SHORT L_64 +L_66: + MOV ESI,DWORD PTR [EBP-12] + INC DWORD PTR [EBP-12] + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP-8] + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_67 +L_65: +L_63: + JMP L_68 +L_62: + MOV ESI,DWORD PTR [EBP-12] + INC DWORD PTR [EBP-12] + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP-4] + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL +L_68: + INC DWORD PTR [EBP-4] + MOV EAX,DWORD PTR [EBP-4] + JMP L_60 +L_61: + MOV EAX,DWORD PTR [EBP-12] + MOV _buffout_ptr, EAX + MOV ESI,EAX ;IndexPtr + XOR EAX,EAX + MOV BYTE PTR [ESI], AL +L_48: + MOV ESP,EBP + POP EBP + RETN +_match: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + MOV EAX,_buffin_ptr + MOV DWORD PTR [EBP-4], EAX +L_69: + MOV ESI,DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_70 + MOV ESI,DWORD PTR [EBP+8] + INC DWORD PTR [EBP+8] + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + MOVSX EAX,BYTE PTR [EBX] + CMP AL,BYTE PTR [ESI] + SETNE AL + AND AL,AL + JZ L_71 + XOR EAX,EAX + JMP L_72 +L_71: + JMP L_69 +L_70: + MOV ESI,DWORD PTR [EBP-4] + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _is_alpha + AND EAX,EAX + JNZ L_73 + MOV ESI,DWORD PTR [EBP-4] + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _is_digit +L_73: + AND EAX,EAX + JZ L_74 + XOR EAX,EAX + JMP L_72 +L_74: + MOV EAX,DWORD PTR [EBP-4] + MOV _buffin_ptr, EAX + CALL _skip_blanks + MOV EAX,1 +L_72: + MOV ESP,EBP + POP EBP + RETN 4 +_compareT: + PUSH EBP + MOV EBP,ESP + SUB ESP,11 + XOR EAX,EAX + MOV WORD PTR [EBP-2], AX +L_75: + MOVSX EAX,WORD PTR [EBP-2] + CMP EAX,8 + SETL AL + AND AL,AL + JZ L_76 + JMP SHORT L_77 +L_78: + INC WORD PTR [EBP-2] + MOVSX EAX,WORD PTR [EBP-2] + JMP SHORT L_75 +L_77: + MOVSX EAX,WORD PTR [EBP-2] + MOV ECX,25 + IMUL ECX + XOR ECX,ECX + ADD EAX,ECX + MOV ESI,OFFSET _symbols + ADD ESI,EAX + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + JMP L_78 +L_76: + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,100 + IMUL ECX + MOV ESI,OFFSET _peep_buffer + ADD ESI,EAX + MOV EAX,ESI + MOV DWORD PTR [EBP-6], EAX +L_79: + MOV ESI,DWORD PTR [EBP+12] + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBP-11], AL + AND EAX,EAX + JZ L_80 + MOVSX EAX,BYTE PTR [EBP-11] + CMP EAX,10 + SETE AL + AND AL,AL + JZ L_81 + MOV ESI,DWORD PTR [EBP-6] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_82 + XOR EAX,EAX + JMP L_83 +L_82: + MOV EAX,DWORD PTR [EBP+8] + ADD EAX,1 + MOV ECX,10 + CDQ + IDIV ECX + MOV EAX,EDX + MOV DWORD PTR [EBP+8], EAX + MOV EAX,DWORD PTR [EBP+8] + MOVZX ECX,_peep_next + CMP EAX,ECX + SETE AL + AND AL,AL + JZ L_84 + XOR EAX,EAX + JMP L_83 +L_84: + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,100 + IMUL ECX + MOV ESI,OFFSET _peep_buffer + ADD ESI,EAX + MOV EAX,ESI + MOV DWORD PTR [EBP-6], EAX + JMP L_85 +L_81: + MOVSX EAX,BYTE PTR [EBP-11] + CMP EAX,32 + SETE AL + AND AL,AL + JZ L_86 + MOV ESI,DWORD PTR [EBP-6] + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _isspace + AND EAX,EAX + JNZ L_87 + XOR EAX,EAX + JMP L_83 +L_87: +L_88: + MOV ESI,DWORD PTR [EBP-6] + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _isspace + AND EAX,EAX + JZ L_89 + INC DWORD PTR [EBP-6] + MOV EAX,DWORD PTR [EBP-6] + JMP L_88 +L_89: + JMP L_90 +L_86: + MOVSX EAX,BYTE PTR [EBP-11] + MOV ECX,128 + AND EAX,ECX + JZ L_91 + MOV EAX,DWORD PTR [EBP+12] + ADD EAX,1 + MOV ESI,EAX ;IndexPtr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBP-11], AL + MOV ESI,DWORD PTR [EBP+12] + MOVSX EAX,BYTE PTR [ESI] + MOV ECX,127 + AND EAX,ECX + MOV ECX,25 + IMUL ECX + MOV ESI,OFFSET _symbols + ADD ESI,EAX + MOV EAX,ESI + MOV DWORD PTR [EBP-10], EAX + MOV ESI,DWORD PTR [EBP-10] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_92 +L_93: + MOV ESI,DWORD PTR [EBP-6] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_95 + MOV ESI,DWORD PTR [EBP-6] + MOVSX EAX,BYTE PTR [ESI] + CMP AL,BYTE PTR [EBP-11] + SETNE AL + AND AL,AL +L_95: + JZ L_94 + MOV ESI,DWORD PTR [EBP-6] + INC DWORD PTR [EBP-6] + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP-10] + INC DWORD PTR [EBP-10] + MOVSX EAX,BYTE PTR [EBX] + CMP AL,BYTE PTR [ESI] + SETNE AL + AND AL,AL + JZ L_96 + XOR EAX,EAX + JMP L_83 +L_96: + JMP L_93 +L_94: + MOV ESI,DWORD PTR [EBP-10] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_97 + XOR EAX,EAX + JMP L_83 +L_97: + JMP L_98 +L_92: +L_99: + MOV ESI,DWORD PTR [EBP-6] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_101 + MOV ESI,DWORD PTR [EBP-6] + MOVSX EAX,BYTE PTR [ESI] + CMP AL,BYTE PTR [EBP-11] + SETNE AL + AND AL,AL +L_101: + JZ L_100 + MOV ESI,DWORD PTR [EBP-10] + INC DWORD PTR [EBP-10] + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP-6] + INC DWORD PTR [EBP-6] + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_99 +L_100: + MOV ESI,DWORD PTR [EBP-10] + XOR EAX,EAX + MOV BYTE PTR [ESI], AL +L_98: + JMP L_102 +L_91: + MOV ESI,DWORD PTR [EBP-6] + INC DWORD PTR [EBP-6] + MOVSX EAX,BYTE PTR [EBP-11] + CMP AL,BYTE PTR [ESI] + SETNE AL + AND AL,AL + JZ L_103 + XOR EAX,EAX + JMP L_83 +L_103: +L_102: +L_90: +L_85: + INC DWORD PTR [EBP+12] + MOV EAX,DWORD PTR [EBP+12] + JMP L_79 +L_80: + MOV ESI,DWORD PTR [EBP-6] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ SHORT L_105 + XOR EAX,EAX + JMP SHORT L_104 +L_105: + MOV EAX,DWORD PTR [EBP+8] + ADD EAX,1 +L_104: +L_83: + MOV ESP,EBP + POP EBP + RETN 8 +_exchange: + PUSH EBP + MOV EBP,ESP + SUB ESP,8 + MOV EAX,DWORD PTR [EBP+12] + ADD EAX,9 + MOV ECX,10 + XOR EDX,EDX + DIV ECX + MOV EAX,EDX + MOV _peep_top, AX + MOVZX EAX,_peep_top + MOV ECX,100 + MUL ECX + MOV ESI,OFFSET _peep_buffer + ADD ESI,EAX + MOV EAX,ESI + MOV DWORD PTR [EBP-8], EAX +L_106: + MOV ESI,DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_107 + MOV ESI,DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [ESI] + MOV ECX,128 + AND EAX,ECX + JZ L_108 + MOV ESI,DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [ESI] + MOV ECX,127 + AND EAX,ECX + MOV ECX,25 + IMUL ECX + MOV ESI,OFFSET _symbols + ADD ESI,EAX + MOV EAX,ESI + MOV DWORD PTR [EBP-4], EAX +L_109: + MOV ESI,DWORD PTR [EBP-4] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_110 + MOV ESI,DWORD PTR [EBP-8] + INC DWORD PTR [EBP-8] + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_109 +L_110: + JMP L_111 +L_108: + MOV ESI,DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,10 + SETE AL + AND AL,AL + JZ L_112 + MOV ESI,DWORD PTR [EBP-8] + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + MOVZX EAX,_peep_top + MOV ECX,9 + ADD EAX,ECX + MOV ECX,10 + XOR EDX,EDX + DIV ECX + MOV EAX,EDX + MOV _peep_top, AX + MOVZX EAX,_peep_top + MOV ECX,100 + MUL ECX + MOV ESI,OFFSET _peep_buffer + ADD ESI,EAX + MOV EAX,ESI + MOV DWORD PTR [EBP-8], EAX + JMP L_113 +L_112: + MOV ESI,DWORD PTR [EBP-8] + INC DWORD PTR [EBP-8] + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL +L_113: +L_111: + INC DWORD PTR [EBP+8] + MOV EAX,DWORD PTR [EBP+8] + JMP L_106 +L_107: + MOV ESI,DWORD PTR [EBP-8] + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + MOV ESP,EBP + POP EBP + RETN 8 +_fgetcode: + PUSH EBP + MOV EBP,ESP + SUB ESP,9 + MOV EAX,DWORD PTR [EBP+12] + MOV DWORD PTR [EBP-5], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-9], EAX + MOV EAX,_pco + CMP EAX,_pc + SETAE AL + AND AL,AL + JZ L_114 + XOR EAX,EAX + JMP L_115 +L_114: +L_116: + MOV EAX,DWORD PTR [EBP+8] + SUB EAX,1 + CMP EAX,DWORD PTR [EBP-9] + SETG AL + AND AL,AL + JZ L_118 + MOV EAX,_pco + MOV ESI,_pcodebuf + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] +L_118: + AND EAX,EAX + JZ L_117 + MOV EAX,_pco + MOV ESI,_pcodebuf + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + MOV BYTE PTR [EBP-1], AL + MOV ESI,DWORD PTR [EBP+12] + INC DWORD PTR [EBP+12] + MOV EAX,_pco + INC _pco + MOV EBX,ESI + MOV ESI,_pcodebuf + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + MOV EAX,DWORD PTR [EBP-9] + INC DWORD PTR [EBP-9] + MOVSX EAX,BYTE PTR [EBP-1] + CMP EAX,10 + SETE AL + AND AL,AL + JZ L_119 + MOV ESI,DWORD PTR [EBP+12] + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + MOV EAX,DWORD PTR [EBP-5] + JMP L_115 +L_119: + JMP L_116 +L_117: + MOV EAX,DWORD PTR [EBP-9] + AND EAX,EAX + JZ L_120 + MOV EAX,DWORD PTR [EBP-5] + JMP L_115 +L_120: + XOR EAX,EAX +L_121: +L_115: + MOV ESP,EBP + POP EBP + RETN 8 +_read_line: + PUSH EBP + MOV EBP,ESP + SUB ESP,5 + MOVZX EAX,_peep_next + MOV ECX,100 + MUL ECX + MOV ESI,OFFSET _peep_buffer + ADD ESI,EAX + PUSH ESI + PUSH 100 + CALL _fgetcode + AND EAX,EAX + JZ L_122 + MOVZX EAX,_peep_next + MOV ECX,100 + MUL ECX + MOV ESI,OFFSET _peep_buffer + ADD ESI,EAX + MOV EAX,ESI + MOV DWORD PTR [EBP-5], EAX +L_123: + MOV ESI,DWORD PTR [EBP-5] + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBP-1], AL + AND EAX,EAX + JZ L_124 + MOVSX EAX,BYTE PTR [EBP-1] + CMP EAX,13 + SETE AL + AND AL,AL + JZ L_125 + MOV ESI,DWORD PTR [EBP-5] + XOR EAX,EAX + MOV BYTE PTR [ESI], AL +L_125: + MOVSX EAX,BYTE PTR [EBP-1] + CMP EAX,10 + SETE AL + AND AL,AL + JZ L_126 + MOV ESI,DWORD PTR [EBP-5] + XOR EAX,EAX + MOV BYTE PTR [ESI], AL +L_126: + MOV ESI,DWORD PTR [EBP-5] + INC DWORD PTR [EBP-5] + MOV EAX,DWORD PTR [ESI] + JMP L_123 +L_124: + MOVZX EAX,_peep_next + MOV ECX,1 + ADD EAX,ECX + MOV ECX,10 + XOR EDX,EDX + DIV ECX + MOV EAX,EDX + MOV _peep_next, AX + MOV EAX,1 + JMP L_127 +L_122: + XOR EAX,EAX +L_127: + MOV ESP,EBP + POP EBP + RETN +_write_line: + PUSH EBP + MOV EBP,ESP + MOVSX EAX,_fGen + AND EAX,EAX + JZ L_128 + MOVZX EAX,_peep_top + MOV ECX,100 + MUL ECX + MOV ESI,OFFSET _peep_buffer + ADD ESI,EAX + PUSH ESI + PUSH _code_fh + CALL _fputs + JMP L_129 +L_128: + MOVZX EAX,_peep_top + MOV ECX,100 + MUL ECX + MOV ESI,OFFSET _peep_buffer + ADD ESI,EAX + PUSH ESI + PUSH _asm_fh + CALL _fputs +L_129: + MOVZX EAX,_peep_top + MOV ECX,1 + ADD EAX,ECX + MOV ECX,10 + XOR EDX,EDX + DIV ECX + MOV EAX,EDX + MOV _peep_top, AX + MOVSX EAX,_fGen + AND EAX,EAX + JZ L_130 + PUSH OFFSET L_lit+1711 + PUSH _code_fh + CALL _fputs + JMP L_131 +L_130: + PUSH OFFSET L_lit+1713 + PUSH _asm_fh + CALL _fputs +L_131: + POP EBP + RETN +_optimize: + PUSH EBP + MOV EBP,ESP + SUB ESP,12 + MOVSX EAX,_fQuiet + AND EAX,EAX + JNZ L_132 + PUSH OFFSET L_lit+1715 + PUSH 2 + CALL _fputs +L_132: + XOR EAX,EAX + MOV DWORD PTR [EBP-8], EAX +L_133: +L_135: + MOVZX EAX,_peep_next + MOV ECX,1 + ADD EAX,ECX + MOV ECX,10 + XOR EDX,EDX + DIV ECX + MOV EAX,EDX + MOVZX ECX,_peep_top + CMP EAX,ECX + SETNE AL + AND AL,AL + JZ L_136 + CALL _read_line + AND EAX,EAX + JZ L_136 + JMP L_135 +L_136: + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_138: + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + MOV ESI,OFFSET _peep_table + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-12], EAX + AND EAX,EAX + JZ L_139 + JMP SHORT L_140 +L_141: + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,2 + MOV DWORD PTR [EBP-4], EAX + JMP SHORT L_138 +L_140: + PUSH DWORD PTR [EBP-12] + MOVZX EAX,_peep_top + PUSH EAX + CALL _compareT + MOV DWORD PTR [EBP-8], EAX + MOV EAX,DWORD PTR [EBP-8] + AND EAX,EAX + JZ L_142 + PUSH DWORD PTR [EBP-8] + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + SHL EAX,2 + MOV ESI,OFFSET _peep_table + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _exchange + JMP L_139 +L_142: + JMP L_141 +L_139: + MOV EAX,DWORD PTR [EBP-8] + AND EAX,EAX + JNZ L_143 + CALL _write_line +L_143: + MOVZX EAX,_peep_top + MOVZX ECX,_peep_next + CMP EAX,ECX + SETE AL + AND AL,AL + JZ L_144 + JMP L_145 +L_144: + JMP L_133 +L_134: +L_145: + MOV ESP,EBP + POP EBP + RETN +_readline: + PUSH EBP + MOV EBP,ESP + SUB ESP,7 +L_146: + MOV EAX,OFFSET _buffer + MOV _buffin_ptr, EAX + PUSH EAX + PUSH 200 + PUSH _source_fh + CALL _fgets + AND EAX,EAX + JNZ L_148 + MOV EAX,_include + AND EAX,EAX + JZ L_149 + PUSH _source_fh + CALL _fclose + DEC _include + MOV EAX,_include + SHL EAX,2 + MOV ESI,OFFSET _incl_line + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV _line_number, EAX + MOV EAX,_include + SHL EAX,2 + MOV ESI,OFFSET _incl_fh + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV _source_fh, EAX + JMP L_146 +L_149: + XOR EAX,EAX + JMP L_150 +L_148: + INC _line_number + MOV EAX,_line_number + MOV EAX,OFFSET _line_in + MOV _buffout_ptr, EAX + XOR EAX,EAX + MOV BYTE PTR [EBP-7], AL + CALL _skip_blanks + MOV BYTE PTR [EBP-6], AL + CMP EAX,35 + SETE AL + AND AL,AL + JZ L_151 + PUSH OFFSET L_lit+1744 + CALL _match + AND EAX,EAX + JZ L_152 + MOV EAX,-1 + MOV _asm_flag, AL + MOV EAX,-1 + MOV BYTE PTR [EBP-7], AL + JMP L_153 +L_152: + PUSH OFFSET L_lit+1749 + CALL _match + AND EAX,EAX + JZ L_154 + XOR EAX,EAX + MOV _asm_flag, AL + MOV EAX,-1 + MOV BYTE PTR [EBP-7], AL + JMP L_155 +L_154: + PUSH OFFSET L_lit+1757 + CALL _match + AND EAX,EAX + JZ L_156 + MOV EAX,-1 + MOV BYTE PTR [EBP-7], AL + MOVSX EAX,_if_flag + AND EAX,EAX + JZ L_157 + INC _if_flag + MOVSX EAX,_if_flag + JMP L_158 +L_157: + XOR EAX,EAX + PUSH EAX + CALL _lookup_macro + CMP EAX,-1 + SETE AL + AND AL,AL + JZ L_159 + MOV EAX,128 + MOV _if_flag, AL +L_159: +L_158: + JMP L_160 +L_156: + PUSH OFFSET L_lit+1764 + CALL _match + AND EAX,EAX + JZ L_161 + MOV EAX,-1 + MOV BYTE PTR [EBP-7], AL + MOVSX EAX,_if_flag + AND EAX,EAX + JZ L_162 + INC _if_flag + MOVSX EAX,_if_flag + JMP L_163 +L_162: + XOR EAX,EAX + PUSH EAX + CALL _lookup_macro + CMP EAX,-1 + SETNE AL + AND AL,AL + JZ L_164 + MOV EAX,128 + MOV _if_flag, AL +L_164: +L_163: + JMP L_165 +L_161: + PUSH OFFSET L_lit+1772 + CALL _match + AND EAX,EAX + JZ L_166 + MOV EAX,-1 + MOV BYTE PTR [EBP-7], AL + MOVSX EAX,_if_flag + MOV ECX,127 + AND EAX,ECX + JNZ L_167 + MOVSX EAX,_if_flag + MOV ECX,128 + XOR EAX,ECX + MOV _if_flag, AL +L_167: + JMP L_168 +L_166: + PUSH OFFSET L_lit+1778 + CALL _match + AND EAX,EAX + JZ L_169 + MOV EAX,-1 + MOV BYTE PTR [EBP-7], AL + MOVSX EAX,_if_flag + MOV ECX,127 + AND EAX,ECX + JZ L_170 + DEC _if_flag + MOVSX EAX,_if_flag + JMP L_171 +L_170: + XOR EAX,EAX + MOV _if_flag, AL +L_171: + JMP L_172 +L_169: + PUSH OFFSET L_lit+1785 + CALL _match + AND EAX,EAX + JZ L_173 + MOV EAX,-1 + MOV BYTE PTR [EBP-7], AL +L_173: +L_172: +L_168: +L_165: +L_160: +L_155: +L_153: +L_151: + MOVSX EAX,BYTE PTR [EBP-7] + AND EAX,EAX + SETZ AL + AND AL,AL + JZ L_174 + MOVSX EAX,_if_flag + AND EAX,EAX + SETZ AL + AND AL,AL +L_174: + JZ L_175 + MOVSX EAX,BYTE PTR [EBP-6] + CMP EAX,35 + SETE AL + AND AL,AL + JZ L_176 + PUSH OFFSET L_lit+1793 + CALL _match + AND EAX,EAX + JZ L_177 + MOV EAX,_macro + CMP EAX,500 + SETAE AL + AND AL,AL + JZ L_178 + PUSH OFFSET L_lit+1801 + CALL _fatal_error + PUSH -1 + CALL _exit +L_178: + MOV EAX,_macro + INC _macro + SHL EAX,2 + MOV ESI,OFFSET _define_index + ADD ESI,EAX + MOV EAX,_define_ptr + MOV DWORD PTR [ESI], EAX + MOV _buffout_ptr, EAX + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _is_alpha + AND EAX,EAX + JNZ L_179 + PUSH OFFSET L_lit+1828 + CALL _line_error + JMP L_146 +L_179: + CALL _copy_name + MOV EAX,_buffout_ptr + MOV _define_ptr, EAX + MOV ESI,_define_ptr + INC _define_ptr + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + XOR EAX,EAX + MOV _parm, AX + MOV EAX,OFFSET _parm_pool + MOV _parm_ptr, EAX + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,40 + SETE AL + AND AL,AL + JZ L_180 + MOV ESI,_define_ptr + INC _define_ptr + MOV EAX,1 + MOV BYTE PTR [ESI], AL + INC _buffin_ptr + MOV EAX,_buffin_ptr +L_181: + MOVZX EAX,_parm + CMP EAX,10 + SETAE AL + AND AL,AL + JZ L_184 + PUSH OFFSET L_lit+1847 + CALL _line_error + JMP L_183 +L_184: + MOVZX EAX,_parm + INC _parm + SHL EAX,2 + MOV ESI,OFFSET _parm_index + ADD ESI,EAX + MOV EAX,_parm_ptr + MOV _buffout_ptr, EAX + MOV DWORD PTR [ESI], EAX + CALL _skip_blanks + CALL _copy_name + MOV EAX,_buffout_ptr + ADD EAX,1 + MOV _parm_ptr, EAX +L_182: + CALL _more_parms + AND EAX,EAX + JNZ L_181 +L_183: + JMP L_185 +L_180: + MOV ESI,_define_ptr + INC _define_ptr + XOR EAX,EAX + MOV BYTE PTR [ESI], AL +L_185: + CALL _skip_blanks +L_186: + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBP-5], AL + AND EAX,EAX + JZ L_187 + MOV EAX,_define_ptr + MOV _buffout_ptr, EAX + MOVSX EAX,BYTE PTR [EBP-5] + PUSH EAX + CALL _is_alpha + AND EAX,EAX + JZ L_188 + CALL _resolve_macro + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_189: + MOV EAX,DWORD PTR [EBP-4] + MOVZX ECX,_parm + CMP EAX,ECX + SETB AL + AND AL,AL + JZ L_190 + JMP SHORT L_191 +L_192: + INC DWORD PTR [EBP-4] + MOV EAX,DWORD PTR [EBP-4] + JMP SHORT L_189 +L_191: + PUSH _define_ptr + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + MOV ESI,OFFSET _parm_index + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _strcmp + AND EAX,EAX + JNZ L_193 + MOV ESI,_define_ptr + INC _define_ptr + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,128 + MOV BYTE PTR [ESI], AL + MOV EAX,_define_ptr + MOV _buffout_ptr, EAX + JMP L_190 +L_193: + JMP L_192 +L_190: + MOV EAX,_buffout_ptr + MOV _define_ptr, EAX + JMP L_194 +L_188: + MOVSX EAX,BYTE PTR [EBP-5] + CMP EAX,34 + SETE AL + AND AL,AL + JNZ L_195 + MOVSX EAX,BYTE PTR [EBP-5] + CMP EAX,39 + SETE AL + AND AL,AL +L_195: + JZ L_196 + CALL _copy_string + MOV EAX,_buffout_ptr + MOV _define_ptr, EAX + JMP L_197 +L_196: + INC _buffin_ptr + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,42 + SETE AL + AND AL,AL + JZ L_198 + MOVSX EAX,BYTE PTR [EBP-5] + CMP EAX,47 + SETE AL + AND AL,AL +L_198: + JZ L_199 + INC _buffin_ptr + MOV EAX,_line_number + MOV _begin_comment, EAX + CALL _skip_comment + JMP L_200 +L_199: + MOV ESI,_define_ptr + INC _define_ptr + MOVSX EAX,BYTE PTR [EBP-5] + MOV BYTE PTR [ESI], AL +L_200: +L_197: +L_194: + JMP L_186 +L_187: + MOV ESI,_define_ptr + INC _define_ptr + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + JMP L_201 +L_177: + PUSH OFFSET L_lit+1873 + CALL _match + AND EAX,EAX + JZ L_202 + PUSH -1 + CALL _lookup_macro + MOV DWORD PTR [EBP-4], EAX + CMP EAX,-1 + SETNE AL + AND AL,AL + JZ L_203 + MOV EAX,_macro + SUB EAX,1 + CMP EAX,DWORD PTR [EBP-4] + SETE AL + AND AL,AL + JZ L_204 + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + MOV ESI,OFFSET _define_index + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV _define_ptr, EAX + JMP L_205 +L_204: + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + SHL EAX,2 + MOV ESI,OFFSET _define_index + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV _buffin_ptr, EAX + MOV EBX,EAX + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + MOV ESI,OFFSET _define_index + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV _parm_ptr, EAX + MOV ECX,EAX + MOV EAX,EBX + SUB EAX,ECX + MOV _parm, AX + MOV ECX,EAX + MOV EAX,_define_ptr + SUB EAX,ECX + MOV _define_ptr, EAX +L_206: + MOV EAX,_parm_ptr + CMP EAX,_define_ptr + SETB AL + AND AL,AL + JZ L_207 + MOV ESI,_parm_ptr + INC _parm_ptr + MOV EBX,ESI + MOV ESI,_buffin_ptr + INC _buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_206 +L_207: +L_208: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,_macro + SETB AL + AND AL,AL + JZ L_209 + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + MOV ESI,OFFSET _define_index + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + SHL EAX,2 + MOV EBX,ESI + MOV ESI,OFFSET _define_index + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOVZX ECX,_parm + SUB EAX,ECX + MOV DWORD PTR [EBX], EAX + INC DWORD PTR [EBP-4] + MOV EAX,DWORD PTR [EBP-4] + JMP L_208 +L_209: +L_205: + DEC _macro + MOV EAX,_macro +L_203: + JMP L_210 +L_202: + PUSH OFFSET L_lit+1880 + CALL _match + AND EAX,EAX + JZ L_211 + MOV EAX,_include + CMP EAX,5 + SETGE AL + AND AL,AL + JZ L_212 + PUSH OFFSET L_lit+1889 + CALL _fatal_error +L_212: + CALL _skip_blanks + MOV BYTE PTR [EBP-5], AL + CMP EAX,60 + SETE AL + AND AL,AL + JZ L_213 + MOV EAX,_incdir + MOV _parm_ptr, EAX +L_214: + MOV ESI,_parm_ptr + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_215 + JMP SHORT L_216 +L_217: + INC _parm_ptr + MOV EAX,_parm_ptr + JMP SHORT L_214 +L_216: + MOV ESI,_buffout_ptr + INC _buffout_ptr + MOV EBX,ESI + MOV ESI,_parm_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_217 +L_215: + MOV ESI,_buffout_ptr + INC _buffout_ptr + MOV EAX,92 + MOV BYTE PTR [ESI], AL + MOV EAX,62 + MOV BYTE PTR [EBP-5], AL + JMP L_218 +L_213: + MOVSX EAX,BYTE PTR [EBP-5] + CMP EAX,34 + SETNE AL + AND AL,AL + JZ L_219 + PUSH OFFSET L_lit+1912 + CALL _line_error + JMP L_146 +L_219: +L_218: +L_220: + INC _buffin_ptr + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_222 + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP AL,BYTE PTR [EBP-5] + SETNE AL + AND AL,AL +L_222: + JZ L_221 + MOV ESI,_buffout_ptr + INC _buffout_ptr + MOV EBX,ESI + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_220 +L_221: + MOV ESI,_buffout_ptr + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + MOV EAX,_include + SHL EAX,2 + MOV ESI,OFFSET _incl_fh + ADD ESI,EAX + MOV EAX,_source_fh + MOV DWORD PTR [ESI], EAX + MOV EAX,_include + SHL EAX,2 + MOV ESI,OFFSET _incl_line + ADD ESI,EAX + MOV EAX,_line_number + MOV DWORD PTR [ESI], EAX + PUSH OFFSET _line_in + PUSH OFFSET L_lit+1938 + CALL _fopen + MOV _source_fh, EAX + AND EAX,EAX + JZ L_223 + XOR EAX,EAX + MOV _line_number, EAX + INC _include + MOV EAX,_include + JMP L_224 +L_223: + PUSH OFFSET L_lit+1940 + CALL _line_error + MOV EAX,_include + SHL EAX,2 + MOV ESI,OFFSET _incl_fh + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV _source_fh, EAX +L_224: + JMP L_225 +L_211: + PUSH OFFSET L_lit+1965 + CALL _line_error +L_225: +L_210: +L_201: + JMP L_226 +L_176: + MOVSX EAX,_asm_flag + AND EAX,EAX + JZ L_227 + PUSH OFFSET _buffer + CALL _do_asm + JMP L_228 +L_227: +L_229: + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBP-5], AL + AND EAX,EAX + JZ L_230 + MOVSX EAX,BYTE PTR [EBP-5] + PUSH EAX + CALL _is_alpha + AND EAX,EAX + JZ L_231 + CALL _resolve_macro + JMP L_232 +L_231: + MOVSX EAX,BYTE PTR [EBP-5] + CMP EAX,34 + SETE AL + AND AL,AL + JNZ L_233 + MOVSX EAX,BYTE PTR [EBP-5] + CMP EAX,39 + SETE AL + AND AL,AL +L_233: + JZ L_234 + CALL _copy_string + JMP L_235 +L_234: + INC _buffin_ptr + MOV ESI,_buffin_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,42 + SETE AL + AND AL,AL + JZ L_236 + MOVSX EAX,BYTE PTR [EBP-5] + CMP EAX,47 + SETE AL + AND AL,AL + JZ L_237 + MOVSX EAX,_comment_flag +L_237: +L_236: + AND EAX,EAX + JZ L_238 + INC _buffin_ptr + MOV EAX,_line_number + MOV _begin_comment, EAX + CALL _skip_comment + JMP L_239 +L_238: + MOV ESI,_buffout_ptr + INC _buffout_ptr + MOVSX EAX,BYTE PTR [EBP-5] + MOV BYTE PTR [ESI], AL +L_239: +L_235: +L_232: + JMP L_229 +L_230: +L_228: + MOVSX EAX,_fSource + AND EAX,EAX + JZ L_240 + PUSH 59 + CALL _code_chr + PUSH OFFSET _buffer + CALL _code_str +L_240: + MOV EAX,OFFSET _line_in + MOV _input_ptr, EAX + MOV ESI,_buffout_ptr + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + MOV EAX,-1 + JMP L_150 +L_226: +L_175: + JMP L_146 +L_147: +L_150: + MOV ESP,EBP + POP EBP + RETN +_test_exit: + PUSH EBP + MOV EBP,ESP + MOV EAX,_exit_flag + AND EAX,EAX + JZ L_241 + PUSH _exit_flag + PUSH -1 + CALL _jump + MOV EAX,-1 + MOV _exit_used, EAX + XOR EAX,EAX + MOV _exit_flag, EAX + JMP L_242 +L_241: + MOV EAX,-1 +L_242: + POP EBP + RETN +_t_warn: + PUSH EBP + MOV EBP,ESP + SUB ESP,2 + INC _warn_count + MOV EAX,_warn_count + MOVSX EAX,_fWarnings + AND EAX,EAX + JNZ L_243 + JMP L_244 +L_243: + MOV EAX,_include + SHL EAX,2 + MOV ESI,OFFSET _incl_line + ADD ESI,EAX + MOV EAX,_line_number + MOV DWORD PTR [ESI], EAX + XOR EAX,EAX + MOV WORD PTR [EBP-2], AX +L_245: + MOVSX EAX,WORD PTR [EBP-2] + CMP EAX,_include + SETLE AL + AND AL,AL + JZ L_246 + JMP SHORT L_247 +L_248: + INC WORD PTR [EBP-2] + MOVSX EAX,WORD PTR [EBP-2] + JMP SHORT L_245 +L_247: + MOVSX EAX,WORD PTR [EBP-2] + SHL EAX,2 + MOV ESI,OFFSET _incl_line + ADD ESI,EAX + PUSH DWORD PTR [ESI] + PUSH _list_fh + CALL _put_num + PUSH 58 + PUSH _list_fh + CALL _fputc + JMP L_248 +L_246: + PUSH 32 + PUSH _list_fh + CALL _fputc + PUSH OFFSET L_lit+1996 + PUSH _list_fh + CALL _fputs + PUSH DWORD PTR [EBP+12] + PUSH _list_fh + CALL _fputs + PUSH 32 + PUSH _list_fh + CALL _fputc + PUSH 39 + PUSH _list_fh + CALL _fputc + PUSH DWORD PTR [EBP+8] + PUSH _list_fh + CALL _fputs + PUSH 39 + PUSH _list_fh + CALL _fputc + PUSH 13 + PUSH _list_fh + CALL _fputc + PUSH 10 + PUSH _list_fh + CALL _fputc +L_244: + MOV ESP,EBP + POP EBP + RETN 8 +_t_error: + PUSH EBP + MOV EBP,ESP + SUB ESP,54 + LEA EAX,DWORD PTR [EBP-50] + MOV DWORD PTR [EBP-54], EAX +L_249: + MOV ESI,DWORD PTR [EBP+12] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_250 + MOV ESI,DWORD PTR [EBP-54] + INC DWORD PTR [EBP-54] + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP+12] + INC DWORD PTR [EBP+12] + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_249 +L_250: + MOV ESI,DWORD PTR [EBP-54] + INC DWORD PTR [EBP-54] + MOV EAX,58 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-54] + INC DWORD PTR [EBP-54] + MOV EAX,32 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-54] + INC DWORD PTR [EBP-54] + MOV EAX,39 + MOV BYTE PTR [ESI], AL +L_251: + MOV ESI,DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_252 + MOV ESI,DWORD PTR [EBP-54] + INC DWORD PTR [EBP-54] + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP+8] + INC DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_251 +L_252: + MOV ESI,DWORD PTR [EBP-54] + INC DWORD PTR [EBP-54] + MOV EAX,39 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-54] + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + LEA EAX,DWORD PTR [EBP-50] + PUSH EAX + CALL _line_error + MOV ESP,EBP + POP EBP + RETN 8 +_symbol_error: + PUSH EBP + MOV EBP,ESP + PUSH DWORD PTR [EBP+8] + PUSH OFFSET _gst + CALL _t_error + POP EBP + RETN 4 +_syntax_error: + PUSH EBP + MOV EBP,ESP + PUSH OFFSET L_lit+2006 + CALL _line_error + POP EBP + RETN +_type_error: + PUSH EBP + MOV EBP,ESP + PUSH OFFSET L_lit+2019 + CALL _line_error + POP EBP + RETN +_index_error: + PUSH EBP + MOV EBP,ESP + PUSH OFFSET L_lit+2034 + CALL _line_error + POP EBP + RETN +_test_token: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + CALL _get_token + MOV DWORD PTR [EBP-4], EAX + CMP EAX,DWORD PTR [EBP+8] + SETE AL + AND AL,AL + JZ L_253 + MOV EAX,-1 + JMP L_254 +L_253: + PUSH DWORD PTR [EBP-4] + CALL _unget_token + XOR EAX,EAX +L_254: + MOV ESP,EBP + POP EBP + RETN 4 +_expect: + PUSH EBP + MOV EBP,ESP + PUSH DWORD PTR [EBP+8] + CALL _test_token + AND EAX,EAX + JNZ L_255 + PUSH OFFSET L_lit+2054 + MOV EAX,DWORD PTR [EBP+8] + SHL EAX,2 + MOV ESI,OFFSET _tokens + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _t_error +L_255: + POP EBP + RETN 4 +_UTC_error: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + MOV EAX,_include + SHL EAX,2 + MOV ESI,OFFSET _incl_line + ADD ESI,EAX + MOV EAX,_line_number + MOV DWORD PTR [ESI], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_256: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,_include + SETBE AL + AND AL,AL + JZ L_257 + JMP SHORT L_258 +L_259: + INC DWORD PTR [EBP-4] + MOV EAX,DWORD PTR [EBP-4] + JMP SHORT L_256 +L_258: + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + MOV ESI,OFFSET _incl_line + ADD ESI,EAX + PUSH DWORD PTR [ESI] + PUSH _list_fh + CALL _put_num + PUSH 58 + PUSH _list_fh + CALL _fputc + JMP L_259 +L_257: + PUSH 32 + PUSH _list_fh + CALL _fputc + PUSH OFFSET L_lit+2063 + PUSH _list_fh + CALL _fputs + PUSH _begin_comment + PUSH _list_fh + CALL _put_num + PUSH 13 + PUSH _list_fh + CALL _fputc + PUSH 10 + PUSH _list_fh + CALL _fputc + INC _error_count + MOV EAX,_error_count + CMP EAX,15 + SETE AL + AND AL,AL + JZ L_260 + PUSH OFFSET L_lit+2096 + CALL _fatal_error +L_260: + MOV ESP,EBP + POP EBP + RETN +_line_error: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + MOV EAX,_include + SHL EAX,2 + MOV ESI,OFFSET _incl_line + ADD ESI,EAX + MOV EAX,_line_number + MOV DWORD PTR [ESI], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_261: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,_include + SETBE AL + AND AL,AL + JZ L_262 + JMP SHORT L_263 +L_264: + INC DWORD PTR [EBP-4] + MOV EAX,DWORD PTR [EBP-4] + JMP SHORT L_261 +L_263: + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + MOV ESI,OFFSET _incl_line + ADD ESI,EAX + PUSH DWORD PTR [ESI] + PUSH _list_fh + CALL _put_num + PUSH 58 + PUSH _list_fh + CALL _fputc + JMP L_264 +L_262: + PUSH 32 + PUSH _list_fh + CALL _fputc + PUSH DWORD PTR [EBP+8] + PUSH _list_fh + CALL _fputs + PUSH 13 + PUSH _list_fh + CALL _fputc + PUSH 10 + PUSH _list_fh + CALL _fputc + INC _error_count + MOV EAX,_error_count + CMP EAX,15 + SETE AL + AND AL,AL + JZ L_265 + PUSH OFFSET L_lit+2112 + CALL _fatal_error +L_265: + MOV ESP,EBP + POP EBP + RETN 4 +_fatal_error: + PUSH EBP + MOV EBP,ESP + PUSH DWORD PTR [EBP+8] + CALL _line_error + PUSH OFFSET L_lit+2128 + PUSH 2 + CALL _fputs + MOVSX EAX,_fList + AND EAX,EAX + JZ L_266 + PUSH OFFSET L_lit+2163 + PUSH _list_fh + CALL _fputs + MOVSX EAX,_fLISTOpen + AND EAX,EAX + JZ L_267 + PUSH _list_fh + CALL _fclose +L_267: +L_266: + MOVSX EAX,_fASMOpen + AND EAX,EAX + JZ L_268 + PUSH _asm_fh + CALL _fclose +L_268: + PUSH -1 + CALL _exit + POP EBP + RETN 4 +_check_loop: + PUSH EBP + MOV EBP,ESP + PUSH 25 + CALL _expect + MOV EAX,_loop_ptr + AND EAX,EAX + JZ L_269 + MOV EAX,_loop_ptr + SUB EAX,1 + SHL EAX,2 + MOV ESI,DWORD PTR [EBP+8] + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV _exit_flag, EAX + JMP L_270 +L_269: + PUSH OFFSET L_lit+2198 + CALL _line_error +L_270: + POP EBP + RETN 4 +_check_switch: + PUSH EBP + MOV EBP,ESP + MOV EAX,_sdefault + AND EAX,EAX + JNZ L_271 + PUSH OFFSET L_lit+2213 + CALL _line_error +L_271: + INC _next_lab + PUSH _next_lab + CALL _gen_label + MOV EAX,_next_lab + POP EBP + RETN +_test_jump: + PUSH EBP + MOV EBP,ESP + CALL _test_exit + AND EAX,EAX + JZ L_273 + PUSH DWORD PTR [EBP+8] + PUSH -1 + CALL _jump +L_273: + POP EBP + RETN 4 +_cond_jump: + PUSH EBP + MOV EBP,ESP + MOVSX EAX,_zero_flag + AND EAX,EAX + JZ L_274 + PUSH OFFSET L_lit+2230 + CALL _out_inst + XOR EAX,EAX + MOV _zero_flag, AL +L_274: + MOVSX EAX,BYTE PTR [EBP+16] + MOVSX ECX,_not_flag + XOR EAX,ECX + PUSH EAX + PUSH DWORD PTR [EBP+12] + MOVSX EAX,BYTE PTR [EBP+8] + PUSH EAX + CALL _jump_if + XOR EAX,EAX + MOV _not_flag, AL + POP EBP + RETN 12 +_get_number: + PUSH EBP + MOV EBP,ESP + SUB ESP,5 + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_275: + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBP-5], AL + PUSH EAX + CALL _is_digit + AND EAX,EAX + JZ L_278 + MOVSX EAX,BYTE PTR [EBP-5] + MOV ECX,48 + SUB EAX,ECX + MOV BYTE PTR [EBP-5], AL + JMP L_279 +L_278: + MOVSX EAX,BYTE PTR [EBP-5] + CMP EAX,97 + SETGE AL + AND AL,AL + JZ L_280 + MOVSX EAX,BYTE PTR [EBP-5] + MOV ECX,87 + SUB EAX,ECX + MOV BYTE PTR [EBP-5], AL + JMP L_281 +L_280: + MOVSX EAX,BYTE PTR [EBP-5] + CMP EAX,65 + SETGE AL + AND AL,AL + JZ L_282 + MOVSX EAX,BYTE PTR [EBP-5] + MOV ECX,55 + SUB EAX,ECX + MOV BYTE PTR [EBP-5], AL + JMP L_283 +L_282: + JMP L_277 +L_283: +L_281: +L_279: + MOVSX EAX,BYTE PTR [EBP-5] + CMP EAX,DWORD PTR [EBP+12] + SETAE AL + AND AL,AL + JZ L_284 + JMP L_277 +L_284: + MOV EAX,DWORD PTR [EBP-4] + MOV ECX,DWORD PTR [EBP+12] + MUL ECX + MOVSX ECX,BYTE PTR [EBP-5] + ADD EAX,ECX + MOV DWORD PTR [EBP-4], EAX + INC _input_ptr + MOV EAX,_input_ptr +L_276: + DEC DWORD PTR [EBP+8] + MOV EAX,DWORD PTR [EBP+8] + AND EAX,EAX + JNZ L_275 +L_277: + MOV EAX,DWORD PTR [EBP-4] +L_285: + MOV ESP,EBP + POP EBP + RETN 8 +_clean_up: + PUSH EBP + MOV EBP,ESP + SUB ESP,16 + MOV EAX,_in_function + AND EAX,EAX + JZ L_286 + PUSH OFFSET L_lit+2242 + CALL _fatal_error +L_286: + XOR EAX,EAX + MOV _sptr, EAX +L_287: + MOV EAX,_sptr + CMP EAX,_global_top + SETB AL + AND AL,AL + JZ L_288 + JMP SHORT L_289 +L_290: + INC _sptr + MOV EAX,_sptr + JMP SHORT L_287 +L_289: + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-4], EAX + AND EAX,16384 + JZ L_291 + MOV EAX,DWORD PTR [EBP-4] + AND EAX,4194304 + JZ L_292 + PUSH _sptr + CALL _gen_ext_data_DASM +L_292: +L_291: + JMP L_290 +L_288: + PUSH OFFSET _literal_pool + PUSH _literal_top + CALL _gen_literal + XOR EAX,EAX + MOV _sptr, EAX +L_293: + MOV EAX,_sptr + CMP EAX,_global_top + SETB AL + AND AL,AL + JZ L_294 + JMP SHORT L_295 +L_296: + INC _sptr + MOV EAX,_sptr + JMP SHORT L_293 +L_295: + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-4], EAX + MOV EAX,DWORD PTR [EBP-4] + AND EAX,18104320 + JNZ L_297 + MOV EAX,DWORD PTR [EBP-4] + AND EAX,71 + JZ L_298 + MOV EAX,4 + MOV DWORD PTR [EBP-8], EAX + JMP L_299 +L_298: + MOV EAX,DWORD PTR [EBP-4] + AND EAX,32 + JZ L_300 + MOV EAX,2 + MOV DWORD PTR [EBP-8], EAX + JMP L_301 +L_300: + MOV EAX,DWORD PTR [EBP-4] + AND EAX,16 + JZ L_302 + MOV EAX,1 + MOV DWORD PTR [EBP-8], EAX + JMP L_303 +L_302: + MOV EAX,DWORD PTR [EBP-4] + AND EAX,512 + JZ L_304 + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+16] + MOV DWORD PTR [EBP-8], EAX + JMP L_305 +L_304: + MOV EAX,1 + MOV DWORD PTR [EBP-8], EAX +L_305: +L_303: +L_301: +L_299: + MOV EAX,DWORD PTR [EBP-4] + AND EAX,256 + JZ L_306 + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+20] + MOV DWORD PTR [EBP-12], EAX + MOV EAX,DWORD PTR [EBP-12] + INC DWORD PTR [EBP-12] + SHL EAX,2 + MOV ESI,OFFSET _dim_pool + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-16], EAX +L_307: + MOV EAX,DWORD PTR [EBP-16] + DEC DWORD PTR [EBP-16] + AND EAX,EAX + JZ L_308 + MOV EAX,DWORD PTR [EBP-12] + INC DWORD PTR [EBP-12] + SHL EAX,2 + MOV ESI,OFFSET _dim_pool + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-8] + MOV ECX,DWORD PTR [ESI] + MUL ECX + MOV DWORD PTR [EBP-8], EAX + JMP L_307 +L_308: +L_306: + PUSH _sptr + PUSH DWORD PTR [EBP-8] + CALL _gen_global +L_297: + JMP L_296 +L_294: + MOV EAX,_pd + AND EAX,EAX + JZ L_309 + PUSH OFFSET _databuf + PUSH _pd + PUSH 1 + PUSH _asm_fh + CALL _fwrite + XOR EAX,EAX + MOV _pd, EAX +L_309: + MOV EAX,_error_count + AND EAX,EAX + JNZ L_310 + MOVSX EAX,_fNoOpt + AND EAX,EAX + JZ L_311 +L_312: + PUSH OFFSET _buffer + PUSH 200 + CALL _fgetcode + AND EAX,EAX + JZ L_313 + MOVSX EAX,_fGen + AND EAX,EAX + JZ L_314 + PUSH OFFSET _buffer + PUSH _code_fh + CALL _fputs + JMP L_315 +L_314: + PUSH OFFSET _buffer + PUSH _asm_fh + CALL _fputs +L_315: + JMP L_312 +L_313: + JMP L_316 +L_311: + CALL _optimize +L_316: +L_310: + PUSH _asm_fh + CALL _fclose + MOVSX EAX,_fLISTOpen + AND EAX,EAX + JZ L_317 + PUSH _list_fh + CALL _fclose +L_317: + MOVSX EAX,_fCODEOpen + AND EAX,EAX + JZ L_318 + PUSH _code_fh + CALL _fclose +L_318: + MOVSX EAX,_fQuiet + AND EAX,EAX + JNZ L_319 + PUSH _error_count + PUSH 2 + CALL _put_num + PUSH OFFSET L_lit+2264 + PUSH 2 + CALL _fputs + PUSH _warn_count + PUSH 2 + CALL _put_num + PUSH OFFSET L_lit+2274 + PUSH 2 + CALL _fputs +L_319: + XOR EAX,EAX + PUSH EAX + CALL _exit + MOV ESP,EBP + POP EBP + RETN +_read_char: + PUSH EBP + MOV EBP,ESP + SUB ESP,1 +L_320: + MOV ESI,_input_ptr + INC _input_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBP-1], AL + AND EAX,EAX + JNZ L_321 + CALL _readline + AND EAX,EAX + JNZ L_322 + CALL _clean_up + PUSH _error_count + CALL _exit +L_322: + JMP L_320 +L_321: + MOVSX EAX,BYTE PTR [EBP-1] + MOV ESP,EBP + POP EBP + RETN +_unget_token: + PUSH EBP + MOV EBP,ESP + MOV EAX,DWORD PTR [EBP+8] + MOV _ungot_token, EAX + POP EBP + RETN 4 +_read_special: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + CALL _read_char + MOV DWORD PTR [EBP-4], EAX + CMP AL,BYTE PTR [EBP+8] + SETE AL + AND AL,AL + JZ L_324 + MOV EAX,65280 + JMP L_325 +L_324: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,92 + SETE AL + AND AL,AL + JZ L_326 + CALL _read_char + MOV DWORD PTR [EBP-4], EAX + JMP L_328 +L_329: + MOV EAX,10 + MOV DWORD PTR [EBP-4], EAX + JMP L_327 +L_330: + MOV EAX,13 + MOV DWORD PTR [EBP-4], EAX + JMP L_327 +L_331: + MOV EAX,9 + MOV DWORD PTR [EBP-4], EAX + JMP L_327 +L_332: + MOV EAX,12 + MOV DWORD PTR [EBP-4], EAX + JMP L_327 +L_333: + MOV EAX,8 + MOV DWORD PTR [EBP-4], EAX + JMP L_327 +L_334: + MOV EAX,11 + MOV DWORD PTR [EBP-4], EAX + JMP L_327 +L_335: + PUSH 16 + PUSH 2 + CALL _get_number + MOV DWORD PTR [EBP-4], EAX + JMP L_327 +L_336: + PUSH DWORD PTR [EBP-4] + CALL _is_digit + AND EAX,EAX + JZ L_337 + DEC _input_ptr + PUSH 8 + PUSH 3 + CALL _get_number + MOV DWORD PTR [EBP-4], EAX +L_337: + JMP L_327 +L_328: + CMP EAX,120 + JE L_335 + CMP EAX,118 + JE L_334 + CMP EAX,98 + JE L_333 + CMP EAX,102 + JE L_332 + CMP EAX,116 + JE L_331 + CMP EAX,114 + JE L_330 + CMP EAX,110 + JE L_329 + JMP L_336 +L_327: +L_326: + MOV EAX,DWORD PTR [EBP-4] + AND EAX,255 +L_325: + MOV ESP,EBP + POP EBP + RETN 4 +_get_token: + PUSH EBP + MOV EBP,ESP + SUB ESP,13 + MOV EAX,_ungot_token + AND EAX,EAX + JZ L_338 + MOV EAX,_ungot_token + MOV DWORD PTR [EBP-4], EAX + XOR EAX,EAX + MOV _ungot_token, EAX + MOV EAX,DWORD PTR [EBP-4] + JMP L_339 +L_338: +L_340: + CALL _read_char + MOV BYTE PTR [EBP-13], AL +L_341: + MOVSX EAX,BYTE PTR [EBP-13] + CMP EAX,32 + SETE AL + AND AL,AL + JNZ L_343 + MOVSX EAX,BYTE PTR [EBP-13] + CMP EAX,9 + SETE AL + AND AL,AL + JNZ L_344 + MOVSX EAX,BYTE PTR [EBP-13] + CMP EAX,10 + SETE AL + AND AL,AL + JNZ L_345 + MOVSX EAX,BYTE PTR [EBP-13] + CMP EAX,13 + SETE AL + AND AL,AL +L_345: +L_344: +L_343: + JNZ L_340 +L_342: + DEC _input_ptr + MOV EAX,_input_ptr + MOV DWORD PTR [EBP-12], EAX + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV ESI,OFFSET _itoken + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + XOR ECX,ECX + CMP EAX,ECX + SETNE AL + AND AL,AL + JZ L_346 + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV ESI,OFFSET _itoken + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + MOV DWORD PTR [EBP-4], EAX +L_347: + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + MOV ESI,OFFSET _tokens + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-8], EAX + AND EAX,EAX + JZ L_348 + JMP SHORT L_349 +L_350: + INC DWORD PTR [EBP-4] + MOV EAX,DWORD PTR [EBP-4] + JMP SHORT L_347 +L_349: + MOV ESI,_input_ptr + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP-8] + MOVSX EAX,BYTE PTR [EBX] + CMP AL,BYTE PTR [ESI] + SETNE AL + AND AL,AL + JZ L_351 + JMP L_348 +L_351: +L_352: + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBP-13], AL + AND EAX,EAX + JZ L_354 + MOV ESI,DWORD PTR [EBP-8] + MOVSX EAX,BYTE PTR [ESI] + CMP AL,BYTE PTR [EBP-13] + SETE AL + AND AL,AL +L_354: + JZ L_353 + INC DWORD PTR [EBP-8] + MOV EAX,DWORD PTR [EBP-8] + INC _input_ptr + MOV EAX,_input_ptr + JMP L_352 +L_353: + MOV ESI,DWORD PTR [EBP-8] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JNZ L_355 + MOV EAX,DWORD PTR [EBP-8] + SUB EAX,1 + MOV ESI,EAX ;IndexPtr + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _is_alpha + AND EAX,EAX + JZ L_356 + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _is_alpha +L_356: + AND EAX,EAX + JZ L_357 + JMP L_350 +L_357: + MOV EAX,DWORD PTR [EBP-4] + JMP L_339 +L_355: + MOV EAX,DWORD PTR [EBP-12] + MOV _input_ptr, EAX + JMP L_350 +L_348: +L_346: + MOV EAX,DWORD PTR [EBP-12] + MOV _input_ptr, EAX + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBP-13], AL + CMP EAX,34 + SETE AL + AND AL,AL + JZ L_358 + INC _input_ptr + MOV EAX,_literal_top + MOV _gvalue, EAX +L_359: + MOV EAX,_literal_top + CMP EAX,10000 + SETAE AL + AND AL,AL + JZ L_362 + PUSH OFFSET L_lit+2286 + CALL _fatal_error +L_362: + MOV EAX,_literal_top + INC _literal_top + MOV ESI,OFFSET _literal_pool + ADD ESI,EAX + MOV EBX,ESI + PUSH EBX + PUSH 34 + CALL _read_special + MOV DWORD PTR [EBP-4], EAX + POP EDX + MOV BYTE PTR [EDX], AL +L_360: + MOV EAX,DWORD PTR [EBP-4] + AND EAX,65280 + JZ L_359 +L_361: + MOV EAX,101 + JMP L_339 +L_358: + MOVSX EAX,BYTE PTR [EBP-13] + CMP EAX,39 + SETE AL + AND AL,AL + JZ L_363 + INC _input_ptr + MOV EAX,_input_ptr +L_364: + PUSH 39 + CALL _read_special + MOV DWORD PTR [EBP-4], EAX + AND EAX,65280 + JNZ L_365 + MOV EAX,DWORD PTR [EBP-4] + AND EAX,255 + MOV _gvalue, EAX + JMP L_364 +L_365: + MOV EAX,100 + JMP L_339 +L_363: + MOVSX EAX,BYTE PTR [EBP-13] + PUSH EAX + CALL _is_digit + AND EAX,EAX + JZ L_366 + MOVSX EAX,BYTE PTR [EBP-13] + CMP EAX,48 + SETE AL + AND AL,AL + JZ L_367 + INC _input_ptr + MOV EAX,_input_ptr + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,120 + SETE AL + AND AL,AL + JNZ L_368 + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,88 + SETE AL + AND AL,AL +L_368: + JZ L_369 + INC _input_ptr + PUSH 16 + XOR EAX,EAX + PUSH EAX + CALL _get_number + MOV _gvalue, EAX + JMP L_370 +L_369: + PUSH 8 + XOR EAX,EAX + PUSH EAX + CALL _get_number + MOV _gvalue, EAX +L_370: + JMP L_371 +L_367: + PUSH 10 + XOR EAX,EAX + PUSH EAX + CALL _get_number + MOV _gvalue, EAX +L_371: + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,85 + SETE AL + AND AL,AL + JNZ L_372 + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,117 + SETE AL + AND AL,AL +L_372: + JZ L_373 + INC _input_ptr + MOV EAX,_input_ptr + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,76 + SETE AL + AND AL,AL + JNZ L_374 + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,108 + SETE AL + AND AL,AL +L_374: + JZ L_375 + INC _input_ptr + MOV EAX,_input_ptr +L_375: + JMP L_376 +L_373: + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,76 + SETE AL + AND AL,AL + JNZ L_377 + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,108 + SETE AL + AND AL,AL +L_377: + JZ L_378 + INC _input_ptr + MOV EAX,_input_ptr +L_378: +L_376: + MOV EAX,100 + JMP L_339 +L_366: + MOVSX EAX,BYTE PTR [EBP-13] + PUSH EAX + CALL _is_alpha + AND EAX,EAX + JZ L_379 + XOR EAX,EAX + MOV _gvalue, EAX +L_380: + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBP-13], AL + PUSH EAX + CALL _is_alpha + AND EAX,EAX + JNZ L_382 + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBP-13], AL + PUSH EAX + CALL _is_digit +L_382: + AND EAX,EAX + JZ L_381 + MOV EAX,_gvalue + CMP EAX,31 + SETB AL + AND AL,AL + JZ L_383 + MOV EAX,_gvalue + INC _gvalue + MOV ESI,OFFSET _gst + ADD ESI,EAX + MOVSX EAX,BYTE PTR [EBP-13] + MOV BYTE PTR [ESI], AL +L_383: + INC _input_ptr + MOV EAX,_input_ptr + JMP L_380 +L_381: + MOV EAX,_gvalue + MOV ESI,OFFSET _gst + ADD ESI,EAX + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + MOV EAX,_gvalue + MOV _namesize, AL + MOV EAX,103 + JMP L_339 +L_379: + INC _input_ptr + MOV EAX,-1 +L_339: + MOV ESP,EBP + POP EBP + RETN +_lookup_local: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + MOV EAX,299 + MOV WORD PTR [EBP-2], AX +L_384: + MOV EAX,_local_top + SUB EAX,1 + MOVZX ECX,WORD PTR [EBP-2] + CMP EAX,ECX + SETB AL + AND AL,AL + JZ L_385 + MOVZX EAX,WORD PTR [EBP-2] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV WORD PTR [EBP-4], AX + PUSH OFFSET _gst + MOVZX EAX,WORD PTR [EBP-4] + MOV ESI,OFFSET _LPool + ADD ESI,EAX + PUSH ESI + CALL _equal_string + AND EAX,EAX + JZ L_386 + MOVZX EAX,WORD PTR [EBP-2] + MOV _sptr, EAX + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + OR EAX,4194304 + MOV DWORD PTR [ESI], EAX + JMP L_387 +L_386: + MOVZX EAX,WORD PTR [EBP-2] + DEC WORD PTR [EBP-2] + JMP L_384 +L_385: + XOR EAX,EAX +L_387: + MOV ESP,EBP + POP EBP + RETN +_lookup_global: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + XOR EAX,EAX + MOV WORD PTR [EBP-2], AX +L_388: + MOVZX EAX,WORD PTR [EBP-2] + CMP EAX,_global_top + SETB AL + AND AL,AL + JZ L_389 + JMP SHORT L_390 +L_391: + MOVZX EAX,WORD PTR [EBP-2] + INC WORD PTR [EBP-2] + JMP SHORT L_388 +L_390: + MOVZX EAX,WORD PTR [EBP-2] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV WORD PTR [EBP-4], AX + PUSH OFFSET _gst + MOVZX EAX,WORD PTR [EBP-4] + MOV ESI,OFFSET _GPool + ADD ESI,EAX + PUSH ESI + CALL _equal_string + AND EAX,EAX + JZ L_392 + MOVZX EAX,WORD PTR [EBP-2] + MOV _sptr, EAX + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + OR EAX,4194304 + MOV DWORD PTR [ESI], EAX + JMP L_393 +L_392: + JMP L_391 +L_389: + XOR EAX,EAX +L_393: + MOV ESP,EBP + POP EBP + RETN +_lookup_member: + PUSH EBP + MOV EBP,ESP + SUB ESP,6 + MOV EAX,31 + MOV WORD PTR [EBP-2], AX +L_394: + MOVZX EAX,WORD PTR [EBP-2] + XOR ECX,ECX + CMP EAX,ECX + SETA AL + AND AL,AL + JZ L_395 + JMP SHORT L_396 +L_397: + MOVZX EAX,WORD PTR [EBP-2] + DEC WORD PTR [EBP-2] + JMP SHORT L_394 +L_396: + MOVZX EAX,WORD PTR [EBP-2] + MOV ESI,OFFSET _gst + ADD ESI,EAX + MOVZX EAX,WORD PTR [EBP-2] + MOV ECX,1 + SUB EAX,ECX + MOV EBX,ESI + MOV ESI,OFFSET _gst + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_397 +L_395: + MOV ESI,OFFSET _gst + MOV EAX,48 + MOV BYTE PTR [ESI], AL + INC _namesize + XOR EAX,EAX + MOV AL,_namesize + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+4] + MOV WORD PTR [EBP-6], AX + MOVZX EAX,WORD PTR [EBP-6] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,2097152 + JZ L_398 + MOVZX EAX,WORD PTR [EBP-6] + MOV ECX,1 + ADD EAX,ECX + MOV WORD PTR [EBP-2], AX +L_399: + MOVZX EAX,WORD PTR [EBP-2] + CMP EAX,_global_top + SETB AL + AND AL,AL + JZ L_400 + JMP SHORT L_401 +L_402: + MOVZX EAX,WORD PTR [EBP-2] + INC WORD PTR [EBP-2] + JMP SHORT L_399 +L_401: + MOVZX EAX,WORD PTR [EBP-2] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,67108864 + JNZ L_403 + JMP L_400 +L_403: + MOVZX EAX,WORD PTR [EBP-2] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV WORD PTR [EBP-4], AX + PUSH OFFSET _gst + MOVZX EAX,WORD PTR [EBP-4] + MOV ESI,OFFSET _GPool + ADD ESI,EAX + PUSH ESI + CALL _equal_string + AND EAX,EAX + JZ L_404 + MOVZX EAX,WORD PTR [EBP-2] + MOV _sptr, EAX + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + OR EAX,4194304 + MOV DWORD PTR [ESI], EAX + JMP L_405 +L_404: + JMP L_402 +L_400: + JMP L_406 +L_398: + MOVZX EAX,WORD PTR [EBP-6] + MOV ECX,1 + SUB EAX,ECX + MOV WORD PTR [EBP-2], AX +L_407: + MOV EAX,_local_top + SUB EAX,1 + MOVZX ECX,WORD PTR [EBP-2] + CMP EAX,ECX + SETB AL + AND AL,AL + JZ L_408 + JMP SHORT L_409 +L_410: + MOVZX EAX,WORD PTR [EBP-2] + DEC WORD PTR [EBP-2] + JMP SHORT L_407 +L_409: + MOVZX EAX,WORD PTR [EBP-2] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,67108864 + JNZ L_411 + JMP L_408 +L_411: + MOVZX EAX,WORD PTR [EBP-2] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV WORD PTR [EBP-4], AX + PUSH OFFSET _gst + MOVZX EAX,WORD PTR [EBP-4] + MOV ESI,OFFSET _LPool + ADD ESI,EAX + PUSH ESI + CALL _equal_string + AND EAX,EAX + JZ L_412 + MOVZX EAX,WORD PTR [EBP-2] + MOV _sptr, EAX + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + OR EAX,4194304 + MOV DWORD PTR [ESI], EAX + JMP L_405 +L_412: + JMP L_410 +L_408: +L_406: + XOR EAX,EAX +L_405: + MOV ESP,EBP + POP EBP + RETN 4 +_define_symbol: + PUSH EBP + MOV EBP,ESP + SUB ESP,6 + MOV EAX,_in_function + AND EAX,EAX + JZ L_413 + MOV EAX,DWORD PTR [EBP+12] + AND EAX,131072 + JZ L_414 + MOV ESI,OFFSET _gst + MOV EAX,95 + MOV BYTE PTR [ESI], AL + MOV EAX,1 + MOV ESI,OFFSET _gst + ADD ESI,EAX + MOV EAX,45 + MOV BYTE PTR [ESI], AL + MOV EAX,2 + MOV ESI,OFFSET _gst + ADD ESI,EAX + MOV EAX,_arg_count + ADD EAX,65 + MOV BYTE PTR [ESI], AL + MOV EAX,3 + MOV ESI,OFFSET _gst + ADD ESI,EAX + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + MOV EAX,3 + MOV _namesize, AL + JMP L_415 +L_414: + CALL _lookup_local + AND EAX,EAX + JZ L_416 + PUSH OFFSET L_lit+2308 + CALL _symbol_error + JMP L_417 +L_416: +L_415: + DEC _local_top + MOV EAX,_local_top + MOV _sptr, EAX + MOV EAX,DWORD PTR [EBP+12] + AND EAX,32768 + JZ L_418 + MOV EAX,DWORD PTR [EBP+12] + AND EAX,-131073 + MOV DWORD PTR [EBP+12], EAX + MOV EAX,_icrntpro + AND EAX,EAX + JZ L_419 + MOV EAX,_icrntpro + INC _icrntpro + SHL EAX,2 + MOV ESI,OFFSET _proto_list + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + CMP EAX,DWORD PTR [EBP+12] + SETNE AL + AND AL,AL + JZ L_420 + MOV EAX,_fptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV WORD PTR [EBP-6], AX + PUSH OFFSET L_lit+2331 + MOVZX EAX,WORD PTR [EBP-6] + MOV ESI,OFFSET _GPool + ADD ESI,EAX + PUSH ESI + CALL _t_warn +L_420: + JMP L_421 +L_419: + MOV EAX,_iproto_next + INC _iproto_next + SHL EAX,2 + MOV ESI,OFFSET _proto_list + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP+12] + MOV DWORD PTR [ESI], EAX +L_421: + MOV EAX,_iproto_next + CMP EAX,700 + SETA AL + AND AL,AL + JZ L_422 + PUSH OFFSET L_lit+2366 + CALL _fatal_error +L_422: + JMP L_423 +L_418: + MOV EAX,_local_stack + MOV DWORD PTR [EBP-4], EAX +L_423: + MOV EAX,_global_top + CMP EAX,_local_top + SETA AL + AND AL,AL + JZ L_424 + PUSH OFFSET L_lit+2387 + CALL _fatal_error +L_424: + MOV EAX,_oNextLName + ADD EAX,31 + CMP EAX,300 + SETA AL + AND AL,AL + JZ L_425 + PUSH OFFSET L_lit+2405 + CALL _fatal_error +L_425: + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,_oNextLName + MOV DWORD PTR [ESI+8], EAX + MOV EAX,_oNextLName + MOV ESI,OFFSET _LPool + ADD ESI,EAX + PUSH ESI + PUSH OFFSET _gst + CALL _copystring + MOV EAX,_oNextLName + XOR ECX,ECX + MOV CL,_namesize + ADD EAX,ECX + MOV _oNextLName, EAX + MOV EAX,_oNextLName + INC _oNextLName + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP+12] + MOV DWORD PTR [ESI], EAX + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [ESI+12], EAX + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP+8] + MOV DWORD PTR [ESI+20], EAX + JMP L_426 +L_413: + MOV EAX,DWORD PTR [EBP+12] + OR EAX,2097152 + MOV DWORD PTR [EBP+12], EAX + CALL _lookup_global + MOV DWORD PTR [EBP-4], EAX + AND EAX,EAX + JZ L_427 + MOV EAX,DWORD PTR [EBP-4] + AND EAX,393216 + JZ L_428 + MOV EAX,DWORD PTR [EBP-4] + OR EAX,5390336 + MOV EBX,EAX + MOV EAX,DWORD PTR [EBP+12] + OR EAX,5390336 + CMP EAX,EBX + SETNE AL + AND AL,AL + JZ L_429 + PUSH OFFSET L_lit+2433 + CALL _symbol_error +L_429: + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP+12] + MOV DWORD PTR [ESI], EAX + JMP L_417 +L_428: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,67108864 + JZ L_431 + JMP L_432 +L_431: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,33554432 + JZ L_433 + PUSH OFFSET _structname + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV ESI,OFFSET _GPool + ADD ESI,EAX + PUSH ESI + CALL _equal_string +L_433: + AND EAX,EAX + JZ L_434 + JMP L_435 +L_434: + PUSH OFFSET L_lit+2461 + CALL _symbol_error + JMP L_417 +L_435: +L_432: +L_430: +L_427: + MOV EAX,_global_top + INC _global_top + MOV _sptr, EAX + MOV EAX,_global_count + INC _global_count + MOV DWORD PTR [EBP-4], EAX + MOV EAX,_global_top + CMP EAX,_local_top + SETA AL + AND AL,AL + JZ L_436 + PUSH OFFSET L_lit+2478 + CALL _fatal_error +L_436: + MOV EAX,_oNextGName + ADD EAX,31 + CMP EAX,15000 + SETA AL + AND AL,AL + JZ L_437 + PUSH OFFSET L_lit+2496 + CALL _fatal_error +L_437: + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,_oNextGName + MOV DWORD PTR [ESI+8], EAX + MOV EAX,_oNextGName + MOV ESI,OFFSET _GPool + ADD ESI,EAX + PUSH ESI + PUSH OFFSET _gst + CALL _copystring + MOV EAX,_oNextGName + XOR ECX,ECX + MOV CL,_namesize + ADD EAX,ECX + MOV _oNextGName, EAX + MOV EAX,_oNextGName + INC _oNextGName + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP+12] + MOV DWORD PTR [ESI], EAX + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [ESI+12], EAX + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP+8] + MOV DWORD PTR [ESI+20], EAX +L_426: +L_417: + MOV ESP,EBP + POP EBP + RETN 8 +_push: + PUSH EBP + MOV EBP,ESP + MOV EAX,_expr_ptr + CMP EAX,20 + SETAE AL + AND AL,AL + JZ L_438 + PUSH OFFSET L_lit+2525 + CALL _fatal_error +L_438: + MOV EAX,_expr_ptr + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP+20] + MOV DWORD PTR [ESI], EAX + MOV EAX,_expr_ptr + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP+16] + MOV DWORD PTR [ESI+4], EAX + MOV EAX,_expr_ptr + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP+12] + MOV DWORD PTR [ESI+8], EAX + MOV EAX,_expr_ptr + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP+8] + MOV DWORD PTR [ESI+12], EAX + MOV EAX,_expr_ptr + INC _expr_ptr + POP EBP + RETN 16 +_pop: + PUSH EBP + MOV EBP,ESP + MOV EAX,_expr_ptr + AND EAX,EAX + JNZ L_439 + PUSH OFFSET L_lit+2551 + CALL _fatal_error +L_439: + MOV EAX,_expr_ptr + DEC _expr_ptr + MOV ESI,DWORD PTR [EBP+20] + MOV EAX,_expr_ptr + SHL EAX,4 + MOV EBX,ESI + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBX], EAX + MOV ESI,DWORD PTR [EBP+16] + MOV EAX,_expr_ptr + SHL EAX,4 + MOV EBX,ESI + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+4] + MOV DWORD PTR [EBX], EAX + MOV ESI,DWORD PTR [EBP+12] + MOV EAX,_expr_ptr + SHL EAX,4 + MOV EBX,ESI + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV DWORD PTR [EBX], EAX + MOV ESI,DWORD PTR [EBP+8] + MOV EAX,_expr_ptr + SHL EAX,4 + MOV EBX,ESI + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+12] + MOV DWORD PTR [EBX], EAX + POP EBP + RETN 16 +_get_constant: + PUSH EBP + MOV EBP,ESP + SUB ESP,8 + XOR EAX,EAX + MOV _expr_ptr, EAX + PUSH 25 + CALL _do_oper + PUSH EAX + CALL _unget_token + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + LEA EAX,DWORD PTR [EBP-4] + PUSH EAX + LEA EAX,DWORD PTR [EBP-8] + PUSH EAX + CALL _pop + MOV ESI,DWORD PTR [EBP+12] + MOV EAX,DWORD PTR [ESI] + CMP EAX,100 + SETNE AL + AND AL,AL + JZ L_440 + MOV ESI,DWORD PTR [EBP+12] + MOV EAX,DWORD PTR [ESI] + CMP EAX,101 + SETNE AL + AND AL,AL +L_440: + JZ L_441 + PUSH OFFSET L_lit+2578 + CALL _line_error +L_441: + MOV ESP,EBP + POP EBP + RETN 8 +_define_var: + PUSH EBP + MOV EBP,ESP + SUB ESP,54 + MOV EAX,_in_function + CMP EAX,1 + SETA AL + AND AL,AL + JZ L_442 + PUSH OFFSET L_lit+2607 + CALL _line_error +L_442: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,16 + JZ L_443 + MOV EAX,1 + MOV DWORD PTR [EBP-24], EAX + JMP L_444 +L_443: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,32 + JZ L_445 + MOV EAX,2 + MOV DWORD PTR [EBP-24], EAX + JMP L_446 +L_445: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,64 + JZ L_447 + MOV EAX,4 + MOV DWORD PTR [EBP-24], EAX + JMP L_448 +L_447: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,512 + JZ L_449 + MOV EAX,_CrntStrucDef + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+16] + MOV DWORD PTR [EBP-24], EAX + JMP L_450 +L_449: + PUSH OFFSET L_lit+2637 + CALL _line_error +L_450: +L_448: +L_446: +L_444: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,32775 + JZ L_451 + MOV EAX,4 + MOV DWORD PTR [EBP-24], EAX +L_451: + MOV EAX,DWORD PTR [EBP-24] + MOV DWORD PTR [EBP-32], EAX + MOVSX EAX,_fInStruct + AND EAX,EAX + JZ L_452 + MOV EAX,DWORD PTR [EBP+8] + OR EAX,83886080 + MOV DWORD PTR [EBP+8], EAX + MOV EAX,31 + MOV DWORD PTR [EBP-28], EAX +L_453: + MOV EAX,DWORD PTR [EBP-28] + CMP EAX,0 + SETA AL + AND AL,AL + JZ L_454 + JMP SHORT L_455 +L_456: + MOV EAX,DWORD PTR [EBP-28] + DEC DWORD PTR [EBP-28] + JMP SHORT L_453 +L_455: + MOV EAX,DWORD PTR [EBP-28] + MOV ESI,OFFSET _gst + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-28] + SUB EAX,1 + MOV EBX,ESI + MOV ESI,OFFSET _gst + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_456 +L_454: + MOV ESI,OFFSET _gst + MOV EAX,48 + MOV BYTE PTR [ESI], AL + INC _namesize + XOR EAX,EAX + MOV AL,_namesize +L_452: + MOV EAX,_dim_top + MOV DWORD PTR [EBP-48], EAX + XOR EAX,EAX + MOV BYTE PTR [EBP-54], AL + XOR EAX,EAX + MOV DWORD PTR [EBP-44], EAX +L_457: + PUSH 37 + CALL _test_token + AND EAX,EAX + JZ L_458 + INC DWORD PTR [EBP-44] + MOV EAX,DWORD PTR [EBP-44] + INC _dim_top + PUSH 38 + CALL _test_token + AND EAX,EAX + JZ L_459 + MOVSX EAX,BYTE PTR [EBP-54] + AND EAX,EAX + JNZ L_460 + MOV EAX,DWORD PTR [EBP-44] + CMP EAX,1 + SETA AL + AND AL,AL +L_460: + JZ L_461 + PUSH OFFSET L_lit+2660 + CALL _line_error +L_461: + DEC BYTE PTR [EBP-54] + MOVSX EAX,BYTE PTR [EBP-54] + MOV EAX,_dim_top + SHL EAX,2 + MOV ESI,OFFSET _dim_pool + ADD ESI,EAX + MOV EAX,1 + MOV DWORD PTR [ESI], EAX + MOV ECX,DWORD PTR [EBP-24] + MUL ECX + MOV DWORD PTR [EBP-24], EAX + JMP L_457 +L_459: + LEA EAX,DWORD PTR [EBP-4] + PUSH EAX + LEA EAX,DWORD PTR [EBP-16] + PUSH EAX + CALL _get_constant + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,100 + SETNE AL + AND AL,AL + JZ L_462 + PUSH OFFSET L_lit+2693 + CALL _line_error +L_462: + MOV EAX,_dim_top + SHL EAX,2 + MOV ESI,OFFSET _dim_pool + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-16] + MOV DWORD PTR [ESI], EAX + MOV ECX,DWORD PTR [EBP-24] + MUL ECX + MOV DWORD PTR [EBP-24], EAX + PUSH 38 + CALL _expect + JMP L_457 +L_458: + MOV EAX,DWORD PTR [EBP-44] + AND EAX,EAX + JZ L_463 + MOV EAX,DWORD PTR [EBP+8] + OR EAX,256 + MOV DWORD PTR [EBP+8], EAX + MOV EAX,DWORD PTR [EBP-48] + SHL EAX,2 + MOV ESI,OFFSET _dim_pool + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-44] + MOV DWORD PTR [ESI], EAX + INC _dim_top + MOV EAX,_dim_top + CMP EAX,100 + SETA AL + AND AL,AL + JZ L_464 + PUSH OFFSET L_lit+2719 + CALL _fatal_error +L_464: +L_463: + PUSH 31 + CALL _test_token + AND EAX,EAX + JZ L_465 + MOV EAX,DWORD PTR [EBP+8] + OR EAX,1048576 + MOV DWORD PTR [EBP+8], EAX +L_465: + MOV EAX,_local_stack + ADD EAX,DWORD PTR [EBP-24] + MOV _local_stack, EAX + PUSH DWORD PTR [EBP+8] + PUSH DWORD PTR [EBP-48] + CALL _define_symbol + MOV EAX,DWORD PTR [EBP+8] + AND EAX,83886080 + JZ L_466 + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,_CrntStrucDef + MOV DWORD PTR [ESI+4], EAX + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,_CrntStrucDef + MOV ECX,24 + MUL ECX + MOV EBX,ESI + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+16] + MOV DWORD PTR [EBX+16], EAX + MOV EAX,_CrntStrucDef + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+16] + ADD EAX,DWORD PTR [EBP-24] + MOV DWORD PTR [ESI+16], EAX +L_466: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,512 + JZ L_467 + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,_CrntStrucDef + MOV DWORD PTR [ESI+4], EAX + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,_CrntStrucDef + MOV ECX,24 + MUL ECX + MOV EBX,ESI + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+16] + MOV DWORD PTR [EBX+16], EAX +L_467: + MOV EAX,-1 + MOV BYTE PTR [EBP-53], AL + XOR EAX,EAX + MOV DWORD PTR [EBP-40], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-52], EAX + MOV EAX,DWORD PTR [EBP+8] + AND EAX,1048576 + JZ L_468 + MOV EAX,_in_function + AND EAX,EAX + JNZ L_469 + MOVSX EAX,_fInStruct +L_469: + AND EAX,EAX + JZ L_470 + PUSH OFFSET L_lit+2740 + CALL _line_error +L_470: + PUSH _sptr + CALL _data_global + XOR EAX,EAX + MOV DWORD PTR [EBP-36], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-20], EAX +L_471: + CALL _get_token + MOV DWORD PTR [EBP-4], EAX + JMP L_475 +L_476: + MOVSX EAX,BYTE PTR [EBP-54] + AND EAX,EAX + JZ L_477 + MOV EAX,DWORD PTR [EBP-36] + CMP EAX,1 + SETE AL + AND AL,AL +L_477: + JZ L_478 + INC DWORD PTR [EBP-40] + MOV EAX,DWORD PTR [EBP-40] +L_478: + MOV EAX,DWORD PTR [EBP-36] + INC DWORD PTR [EBP-36] + MOV EAX,DWORD PTR [EBP-36] + CMP EAX,DWORD PTR [EBP-44] + SETA AL + AND AL,AL + JZ L_479 + PUSH OFFSET L_lit+2763 + CALL _line_error +L_479: + MOV EAX,70 + MOV DWORD PTR [EBP-12], EAX + MOV EAX,-1 + MOV BYTE PTR [EBP-53], AL + JMP L_474 +L_480: + MOV EAX,DWORD PTR [EBP-36] + AND EAX,EAX + JZ L_481 + DEC DWORD PTR [EBP-36] + MOV EAX,DWORD PTR [EBP-36] + JMP L_482 +L_481: + PUSH OFFSET L_lit+2784 + CALL _line_error +L_482: + MOV EAX,DWORD PTR [EBP-44] + CMP EAX,1 + SETA AL + AND AL,AL + JZ L_483 + MOV EAX,DWORD PTR [EBP-36] +L_483: + AND EAX,EAX + JZ L_484 +L_485: + MOV EAX,_dim_top + SUB EAX,1 + SHL EAX,2 + MOV ESI,OFFSET _dim_pool + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-20] + CMP EAX,DWORD PTR [ESI] + SETB AL + AND AL,AL + JZ L_486 + PUSH 100 + XOR EAX,EAX + PUSH EAX + PUSH DWORD PTR [EBP-32] + CALL _init_static + INC DWORD PTR [EBP-20] + MOV EAX,DWORD PTR [EBP-20] + JMP L_485 +L_486: +L_484: + MOV EAX,DWORD PTR [EBP-52] + ADD EAX,DWORD PTR [EBP-20] + MOV DWORD PTR [EBP-52], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-20], EAX + XOR EAX,EAX + MOV BYTE PTR [EBP-53], AL + MOV EAX,74 + MOV DWORD PTR [EBP-12], EAX + JMP L_474 +L_487: + MOV EAX,DWORD PTR [EBP-44] + CMP EAX,1 + SETA AL + AND AL,AL + JZ L_488 + MOV EAX,DWORD PTR [EBP-36] + CMP EAX,1 + SETE AL + AND AL,AL + JZ L_489 + MOV EAX,DWORD PTR [EBP-12] + CMP EAX,101 + SETE AL + AND AL,AL + JZ L_490 + MOV EAX,DWORD PTR [EBP+8] + AND EAX,7 + AND EAX,EAX + SETZ AL + AND AL,AL +L_490: +L_489: +L_488: + JZ L_491 +L_492: + MOV EAX,_dim_top + SUB EAX,1 + SHL EAX,2 + MOV ESI,OFFSET _dim_pool + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-20] + CMP EAX,DWORD PTR [ESI] + SETB AL + AND AL,AL + JZ L_493 + PUSH 100 + XOR EAX,EAX + PUSH EAX + PUSH DWORD PTR [EBP-32] + CALL _init_static + INC DWORD PTR [EBP-20] + MOV EAX,DWORD PTR [EBP-20] + JMP L_492 +L_493: + MOV EAX,DWORD PTR [EBP-52] + ADD EAX,DWORD PTR [EBP-20] + MOV DWORD PTR [EBP-52], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-20], EAX +L_491: + MOV EAX,DWORD PTR [EBP-12] + CMP EAX,74 + SETE AL + AND AL,AL + JZ L_494 + XOR EAX,EAX + MOV BYTE PTR [EBP-53], AL + JMP L_495 +L_494: + MOV EAX,-1 + MOV BYTE PTR [EBP-53], AL +L_495: + MOV EAX,15 + MOV DWORD PTR [EBP-12], EAX + JMP L_474 +L_496: + MOV EAX,DWORD PTR [EBP-36] + AND EAX,EAX + SETZ AL + AND AL,AL + JZ L_497 + MOV EAX,DWORD PTR [EBP-44] + CMP EAX,1 + SETE AL + AND AL,AL +L_497: + JZ L_498 + MOV EAX,-1 + MOV BYTE PTR [EBP-53], AL +L_498: +L_499: +L_500: +L_501: +L_502: + PUSH DWORD PTR [EBP-4] + CALL _unget_token + MOVSX EAX,BYTE PTR [EBP-53] + AND EAX,EAX + JZ L_503 + MOVSX EAX,BYTE PTR [EBP-54] + AND EAX,EAX + JZ L_504 + MOV EAX,DWORD PTR [EBP-36] + CMP EAX,1 + SETE AL + AND AL,AL +L_504: + JZ L_505 + INC DWORD PTR [EBP-40] + MOV EAX,DWORD PTR [EBP-40] +L_505: + LEA EAX,DWORD PTR [EBP-4] + PUSH EAX + LEA EAX,DWORD PTR [EBP-16] + PUSH EAX + CALL _get_constant + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,101 + SETE AL + AND AL,AL + JZ L_506 + MOV EAX,DWORD PTR [EBP+8] + AND EAX,7 + AND EAX,EAX + SETZ AL + AND AL,AL +L_506: + JZ L_507 +L_508: + PUSH 100 + MOV EAX,DWORD PTR [EBP-16] + MOV ESI,OFFSET _literal_pool + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + PUSH DWORD PTR [EBP-32] + CALL _init_static + INC DWORD PTR [EBP-20] + MOV EAX,DWORD PTR [EBP-20] +L_509: + INC DWORD PTR [EBP-16] + MOV EAX,DWORD PTR [EBP-16] + CMP EAX,_literal_top + SETB AL + AND AL,AL + JNZ L_508 +L_510: + MOV EAX,_gvalue + MOV _literal_top, EAX + MOV EAX,DWORD PTR [EBP-36] + AND EAX,EAX + SETZ AL + AND AL,AL + JZ L_511 + MOV EAX,DWORD PTR [EBP-44] + CMP EAX,1 + SETE AL + AND AL,AL +L_511: + JZ L_512 + MOV EAX,DWORD PTR [EBP-20] + MOV DWORD PTR [EBP-52], EAX + MOV EAX,DWORD PTR [EBP-20] + MOV DWORD PTR [EBP-40], EAX +L_512: + JMP L_513 +L_507: + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-32] + CALL _init_static + MOV EAX,DWORD PTR [EBP-44] + AND EAX,EAX + JNZ L_514 + INC DWORD PTR [EBP-52] + MOV EAX,DWORD PTR [EBP-52] +L_514: + INC DWORD PTR [EBP-20] + MOV EAX,DWORD PTR [EBP-20] +L_513: + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-12], EAX + JMP L_515 +L_503: + PUSH OFFSET L_lit+2802 + CALL _line_error +L_515: + JMP L_474 +L_516: + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-12], EAX + MOVSX EAX,BYTE PTR [EBP-53] + AND EAX,EAX + JZ L_517 + MOV EAX,DWORD PTR [EBP+8] + AND EAX,7 + JZ L_518 + CALL _lookup_global + MOV DWORD PTR [EBP-8], EAX + AND EAX,EAX + JZ L_519 + MOV EAX,DWORD PTR [EBP-8] + AND EAX,278528 + JZ L_520 + PUSH OFFSET L_lit+2836 + CALL _symbol_error + JMP L_521 +L_520: + PUSH 103 + PUSH _sptr + PUSH DWORD PTR [EBP-32] + CALL _init_static + MOV EAX,DWORD PTR [EBP-20] + ADD EAX,DWORD PTR [EBP-32] + MOV DWORD PTR [EBP-20], EAX +L_521: + JMP L_522 +L_519: + PUSH OFFSET L_lit+2854 + CALL _symbol_error +L_522: + JMP L_523 +L_518: + PUSH OFFSET L_lit+2864 + CALL _line_error +L_523: + JMP L_524 +L_517: + PUSH OFFSET L_lit+2886 + CALL _line_error +L_524: + JMP L_474 +L_525: + PUSH OFFSET L_lit+2920 + CALL _line_error + JMP L_474 +L_475: + CMP EAX,103 + JE L_516 + CMP EAX,2 + JE L_502 + CMP EAX,75 + JE L_501 + CMP EAX,19 + JE L_500 + CMP EAX,100 + JE L_499 + CMP EAX,101 + JE L_496 + CMP EAX,15 + JE L_487 + CMP EAX,74 + JE L_480 + CMP EAX,70 + JE L_476 + JMP L_525 +L_474: +L_472: + MOV EAX,DWORD PTR [EBP-36] + AND EAX,EAX + JNZ L_526 + MOV EAX,DWORD PTR [EBP-12] + CMP EAX,15 + SETE AL + AND AL,AL +L_526: + JZ L_527 + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,25 + SETNE AL + AND AL,AL +L_527: + JNZ L_471 +L_473: + MOV EAX,DWORD PTR [EBP-36] + AND EAX,EAX + JZ L_528 + PUSH 74 + CALL _expect +L_528: + MOVSX EAX,BYTE PTR [EBP-54] + AND EAX,EAX + JZ L_529 + MOV EAX,DWORD PTR [EBP-48] + ADD EAX,1 + SHL EAX,2 + MOV ESI,OFFSET _dim_pool + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-40] + MOV DWORD PTR [ESI], EAX +L_529: + MOV EAX,1 + MOV DWORD PTR [EBP-28], EAX +L_530: + MOV EAX,DWORD PTR [EBP-44] + AND EAX,EAX + JZ L_531 + MOV EAX,DWORD PTR [EBP-44] + DEC DWORD PTR [EBP-44] + ADD EAX,DWORD PTR [EBP-48] + SHL EAX,2 + MOV ESI,OFFSET _dim_pool + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-28] + MOV ECX,DWORD PTR [ESI] + MUL ECX + MOV DWORD PTR [EBP-28], EAX + JMP L_530 +L_531: +L_532: + MOV EAX,DWORD PTR [EBP-52] + CMP EAX,DWORD PTR [EBP-28] + SETB AL + AND AL,AL + JZ L_533 + PUSH 100 + XOR EAX,EAX + PUSH EAX + PUSH DWORD PTR [EBP-32] + CALL _init_static + INC DWORD PTR [EBP-52] + MOV EAX,DWORD PTR [EBP-52] + JMP L_532 +L_533: + MOV EAX,DWORD PTR [EBP-52] + CMP EAX,DWORD PTR [EBP-28] + SETA AL + AND AL,AL + JZ L_534 + PUSH OFFSET L_lit+2954 + CALL _line_error +L_534: + CALL _end_static +L_468: + MOV ESP,EBP + POP EBP + RETN 4 +_check_func: + PUSH EBP + MOV EBP,ESP + MOV EAX,_in_function + AND EAX,EAX + JZ L_535 + MOV EAX,_in_function + CMP EAX,2 + SETB AL + AND AL,AL + JZ L_536 + MOV EAX,2 + MOV _in_function, EAX + PUSH _fptr + PUSH _local_stack + CALL _enter_func +L_536: + JMP L_537 +L_535: + PUSH OFFSET L_lit+2978 + CALL _line_error +L_537: + POP EBP + RETN +_declare: + PUSH EBP + MOV EBP,ESP + XOR EAX,EAX + MOV _fInStruct, AL +L_538: + MOV EAX,DWORD PTR [EBP+12] + JMP L_541 +L_542: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,-33 + MOV DWORD PTR [EBP+8], EAX + MOV EAX,DWORD PTR [EBP+8] + OR EAX,16 + MOV DWORD PTR [EBP+8], EAX + JMP L_540 +L_543: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,64 + JNZ L_544 + MOV EAX,DWORD PTR [EBP+8] + OR EAX,32 + MOV DWORD PTR [EBP+8], EAX +L_544: + JMP L_540 +L_545: + MOV EAX,DWORD PTR [EBP+8] + OR EAX,32 + MOV DWORD PTR [EBP+8], EAX + JMP L_540 +L_546: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,-33 + MOV DWORD PTR [EBP+8], EAX + MOV EAX,DWORD PTR [EBP+8] + OR EAX,64 + MOV DWORD PTR [EBP+8], EAX + JMP L_540 +L_547: + MOV EAX,DWORD PTR [EBP+8] + OR EAX,32 + MOV DWORD PTR [EBP+8], EAX + MOV EAX,DWORD PTR [EBP+8] + OR EAX,128 + MOV DWORD PTR [EBP+8], EAX + JMP L_540 +L_548: + MOV EAX,DWORD PTR [EBP+8] + OR EAX,32 + MOV DWORD PTR [EBP+8], EAX + MOV EAX,DWORD PTR [EBP+8] + AND EAX,-129 + MOV DWORD PTR [EBP+8], EAX + JMP L_540 +L_549: + MOV EAX,DWORD PTR [EBP+8] + OR EAX,4096 + MOV DWORD PTR [EBP+8], EAX + JMP L_540 +L_550: + MOV EAX,DWORD PTR [EBP+8] + OR EAX,33554432 + MOV DWORD PTR [EBP+8], EAX + JMP L_540 +L_551: + MOV EAX,DWORD PTR [EBP+8] + OR EAX,2048 + MOV DWORD PTR [EBP+8], EAX + JMP L_540 +L_552: + MOV EAX,DWORD PTR [EBP+8] + OR EAX,16384 + MOV DWORD PTR [EBP+8], EAX + JMP L_540 +L_553: + MOV EAX,DWORD PTR [EBP+8] + OR EAX,1024 + MOV DWORD PTR [EBP+8], EAX + JMP L_540 +L_554: + MOV EAX,DWORD PTR [EBP+8] + OR EAX,8388608 + MOV DWORD PTR [EBP+8], EAX + JMP L_540 +L_555: + MOV EAX,DWORD PTR [EBP+8] + OR EAX,8 + MOV DWORD PTR [EBP+8], EAX + JMP L_540 +L_556: + MOV EAX,DWORD PTR [EBP+8] + OR EAX,8192 + MOV DWORD PTR [EBP+8], EAX + JMP L_540 +L_557: +L_558: + INC DWORD PTR [EBP+8] + MOV EAX,DWORD PTR [EBP+8] +L_559: + PUSH 11 + CALL _test_token + AND EAX,EAX + JNZ L_558 +L_560: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,32768 + JZ L_561 + PUSH 15 + CALL _test_token +L_561: + AND EAX,EAX + JZ L_562 + MOV EAX,DWORD PTR [EBP+8] + OR EAX,131072 + MOV DWORD PTR [EBP+8], EAX + PUSH EAX + CALL _define_var + JMP L_563 +L_562: + PUSH 103 + CALL _test_token + AND EAX,EAX + JNZ L_565 + CALL _syntax_error +L_565: +L_564: +L_566: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,33554432 + JZ L_567 + CALL _lookup_global + AND EAX,EAX + JZ L_568 + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,33554432 + JZ L_569 + MOV EAX,_sptr + MOV _CrntStrucDef, EAX + PUSH 11 + CALL _test_token + AND EAX,EAX + JZ L_570 +L_571: + INC DWORD PTR [EBP+8] + MOV EAX,DWORD PTR [EBP+8] +L_572: + PUSH 11 + CALL _test_token + AND EAX,EAX + JNZ L_571 +L_573: +L_570: + PUSH 103 + CALL _test_token + AND EAX,EAX + JNZ L_574 + PUSH OFFSET L_lit+3000 + CALL _line_error + JMP L_563 +L_574: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,-33554433 + MOV DWORD PTR [EBP+8], EAX + MOV EAX,DWORD PTR [EBP+8] + OR EAX,512 + MOV DWORD PTR [EBP+8], EAX +L_575: + JMP L_576 +L_569: + PUSH OFFSET L_lit+3025 + CALL _line_error +L_576: + JMP L_577 +L_568: + MOV EAX,DWORD PTR [EBP+8] + OR EAX,16777216 + PUSH EAX + XOR EAX,EAX + PUSH EAX + CALL _define_symbol + MOV EAX,_sptr + MOV _CrntStrucDef, EAX + PUSH 70 + CALL _test_token + AND EAX,EAX + JNZ L_578 + PUSH OFFSET L_lit+3050 + CALL _line_error + JMP L_579 +L_578: + MOV EAX,1 + MOV _fInStruct, AL + XOR EAX,EAX + MOV DWORD PTR [EBP+8], EAX + JMP L_540 +L_579: +L_577: +L_567: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,32768 + JZ L_580 + PUSH DWORD PTR [EBP+8] + CALL _define_var + JMP L_563 +L_580: + PUSH 8 + CALL _test_token + AND EAX,EAX + JZ L_581 + PUSH DWORD PTR [EBP+8] + CALL _define_func + JMP L_582 +L_581: + PUSH DWORD PTR [EBP+8] + CALL _define_var +L_582: + PUSH 15 + CALL _test_token + AND EAX,EAX + JZ L_583 + JMP L_540 +L_583: + PUSH 25 + CALL _test_token + MOVSX EAX,_fInStruct + AND EAX,EAX + JZ L_584 + XOR EAX,EAX + MOV DWORD PTR [EBP+8], EAX + JMP L_540 +L_584: + JMP L_563 +L_585: +L_586: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,33554432 + JZ L_587 + PUSH OFFSET _gst + PUSH OFFSET _structname + CALL _copystring + MOV EAX,11 + MOV _gvalue, EAX + MOV EAX,DWORD PTR [EBP+8] + OR EAX,16777216 + PUSH EAX + XOR EAX,EAX + PUSH EAX + CALL _define_symbol + MOV EAX,_sptr + MOV _CrntStrucDef, EAX + MOV EAX,1 + MOV _fInStruct, AL + XOR EAX,EAX + MOV DWORD PTR [EBP+8], EAX + JMP L_540 +L_587: + CALL _syntax_error +L_588: + JMP L_540 +L_589: + MOVSX EAX,_fInStruct + AND EAX,EAX + JNZ L_590 + CALL _syntax_error + JMP L_563 +L_590: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,-33554433 + MOV DWORD PTR [EBP+8], EAX + MOV EAX,DWORD PTR [EBP+8] + OR EAX,512 + MOV DWORD PTR [EBP+8], EAX + XOR EAX,EAX + MOV _fInStruct, AL +L_591: + PUSH 25 + CALL _test_token + AND EAX,EAX + JZ L_592 + JMP L_563 +L_592: + JMP L_540 +L_593: + PUSH DWORD PTR [EBP+12] + CALL _unget_token +L_594: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,32768 + JZ L_595 + MOV EAX,DWORD PTR [EBP+8] + OR EAX,131072 + MOV DWORD PTR [EBP+8], EAX + PUSH EAX + CALL _define_var + JMP L_563 +L_595: + JMP L_540 +L_596: + CALL _syntax_error + JMP L_540 +L_541: + CMP EAX,15 + JE L_594 + CMP EAX,9 + JE L_593 + CMP EAX,74 + JE L_589 + CMP EAX,70 + JE L_586 + CMP EAX,103 + JE L_566 + CMP EAX,11 + JE L_557 + CMP EAX,50 + JE L_556 + CMP EAX,68 + JE L_555 + CMP EAX,53 + JE L_554 + CMP EAX,57 + JE L_553 + CMP EAX,49 + JE L_552 + CMP EAX,44 + JE L_551 + CMP EAX,62 + JE L_550 + CMP EAX,61 + JE L_549 + CMP EAX,59 + JE L_548 + CMP EAX,66 + JE L_547 + CMP EAX,56 + JE L_546 + CMP EAX,64 + JE L_545 + CMP EAX,54 + JE L_543 + CMP EAX,43 + JE L_542 + JMP L_596 +L_540: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,-264 + MOV DWORD PTR [EBP+8], EAX + CALL _get_token + MOV DWORD PTR [EBP+12], EAX + JMP L_538 +L_539: +L_563: + POP EBP + RETN 8 +_define_func: + PUSH EBP + MOV EBP,ESP + SUB ESP,24 + XOR EAX,EAX + MOV _icrntpro, EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-16], EAX + XOR EAX,EAX + MOV _arg_count, EAX + XOR EAX,EAX + MOV _oNextLName, EAX + MOV EAX,_in_function + AND EAX,EAX + JZ L_597 + PUSH OFFSET L_lit+3071 + CALL _line_error + JMP L_598 +L_597: + CALL _lookup_global + MOV DWORD PTR [EBP-12], EAX + AND EAX,EAX + JZ L_599 + MOV EAX,DWORD PTR [EBP-12] + AND EAX,131072 + JZ L_600 + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+20] + MOV _icrntpro, EAX +L_600: + JMP L_601 +L_599: + MOV EAX,DWORD PTR [EBP+8] + OR EAX,262144 + OR EAX,2097152 + PUSH EAX + XOR EAX,EAX + PUSH EAX + CALL _define_symbol + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,_iproto_next + MOV DWORD PTR [ESI+20], EAX +L_601: + MOV EAX,_sptr + MOV _fptr, EAX + MOV EAX,300 + MOV _local_top, EAX + MOV EAX,_dim_top + MOV DWORD PTR [EBP-8], EAX + MOV EAX,1 + MOV _in_function, EAX +L_602: + CALL _get_token + MOV DWORD PTR [EBP-4], EAX + JMP L_606 +L_607: +L_608: +L_609: +L_610: +L_611: +L_612: +L_613: +L_614: +L_615: + PUSH DWORD PTR [EBP-4] + PUSH 32768 + CALL _declare + MOV EAX,_arg_count + ADD EAX,1 + MOV _arg_count, EAX + JMP L_605 +L_616: + JMP L_605 +L_617: + MOV EAX,_iproto_next + INC _iproto_next + SHL EAX,2 + MOV ESI,OFFSET _proto_list + ADD ESI,EAX + MOV EAX,8 + MOV DWORD PTR [ESI], EAX + MOV EAX,-1 + MOV DWORD PTR [EBP-16], EAX + MOV EAX,_fptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + OR EAX,65536 + MOV DWORD PTR [ESI], EAX + JMP L_605 +L_618: + MOV EAX,_arg_count + AND EAX,EAX + JZ L_619 + CALL _syntax_error +L_619: +L_620: + MOV EAX,DWORD PTR [EBP-16] + AND EAX,EAX + JNZ L_621 + MOV EAX,_iproto_next + INC _iproto_next + SHL EAX,2 + MOV ESI,OFFSET _proto_list + ADD ESI,EAX + MOV EAX,8 + MOV DWORD PTR [ESI], EAX + MOV EAX,_iproto_next + CMP EAX,700 + SETA AL + AND AL,AL + JZ L_622 + PUSH OFFSET L_lit+3110 + CALL _fatal_error +L_622: + MOV EAX,-1 + MOV DWORD PTR [EBP-16], EAX + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,9 + SETE AL + AND AL,AL + JZ L_623 + PUSH DWORD PTR [EBP-4] + CALL _unget_token +L_623: +L_621: + JMP L_605 +L_606: + CMP EAX,68 + JE L_618 + CMP EAX,20 + JE L_617 + CMP EAX,15 + JE L_616 + CMP EAX,62 + JE L_615 + CMP EAX,44 + JE L_614 + CMP EAX,8192 + JE L_613 + CMP EAX,43 + JE L_612 + CMP EAX,66 + JE L_611 + CMP EAX,59 + JE L_610 + CMP EAX,54 + JE L_609 + CMP EAX,56 + JE L_608 + CMP EAX,64 + JE L_607 + JMP L_620 +L_605: +L_603: + MOV EAX,DWORD PTR [EBP-16] + AND EAX,EAX + JZ L_602 +L_604: + CALL _get_token + MOV DWORD PTR [EBP-4], EAX + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,9 + SETNE AL + AND AL,AL + JZ L_624 + CALL _syntax_error +L_624: + PUSH 25 + CALL _test_token + AND EAX,EAX + JZ L_625 + MOV EAX,_fptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + OR EAX,131072 + MOV DWORD PTR [ESI], EAX + XOR EAX,EAX + MOV _in_function, EAX + XOR EAX,EAX + MOV _exit_label, EAX + XOR EAX,EAX + MOV _exit_flag, EAX + XOR EAX,EAX + MOV _exit_used, EAX + MOV EAX,DWORD PTR [EBP-8] + MOV _dim_top, EAX + MOV EAX,_fptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,16384 + JZ L_626 + PUSH _fptr + CALL _gen_extern_DASM +L_626: + JMP L_627 +L_625: + MOV EAX,_fptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,-131073 + MOV DWORD PTR [ESI], EAX + MOV EAX,_fptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + OR EAX,262144 + MOV DWORD PTR [ESI], EAX + XOR EAX,EAX + MOV _local_stack, EAX + XOR EAX,EAX + MOV _exit_label, EAX + XOR EAX,EAX + MOV _exit_flag, EAX + XOR EAX,EAX + MOV _exit_used, EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-24], EAX + MOV EAX,_arg_count + MOV DWORD PTR [EBP-20], EAX +L_628: + MOV EAX,DWORD PTR [EBP-20] + CMP EAX,0 + SETA AL + AND AL,AL + JZ L_629 + JMP SHORT L_630 +L_631: + MOV EAX,DWORD PTR [EBP-20] + DEC DWORD PTR [EBP-20] + JMP SHORT L_628 +L_630: + MOV EAX,_fptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,8192 + JZ L_632 + MOV EAX,300 + SUB EAX,DWORD PTR [EBP-20] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-24] + ADD EAX,12 + MOV DWORD PTR [ESI+12], EAX + JMP L_633 +L_632: + MOV EAX,300 + SUB EAX,DWORD PTR [EBP-20] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-24] + ADD EAX,8 + MOV DWORD PTR [ESI+12], EAX +L_633: + MOV EAX,DWORD PTR [EBP-24] + ADD EAX,4 + MOV DWORD PTR [EBP-24], EAX + JMP L_631 +L_629: + CALL _get_token + MOV DWORD PTR [EBP-4], EAX + PUSH EAX + CALL _statement + CALL _check_func + MOV EAX,_exit_label + AND EAX,EAX + JZ L_634 + MOV EAX,_exit_used +L_634: + AND EAX,EAX + JZ L_635 + PUSH _exit_label + CALL _gen_label +L_635: + MOV EAX,_fptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,65536 + JZ L_636 + XOR EAX,EAX + PUSH EAX + CALL _end_func + JMP L_637 +L_636: + PUSH DWORD PTR [EBP-24] + CALL _end_func +L_637: + XOR EAX,EAX + MOV _in_function, EAX + XOR EAX,EAX + MOV _exit_label, EAX + XOR EAX,EAX + MOV _exit_flag, EAX + XOR EAX,EAX + MOV _exit_used, EAX + MOV EAX,DWORD PTR [EBP-8] + MOV _dim_top, EAX +L_638: + MOV EAX,_local_top + CMP EAX,300 + SETB AL + AND AL,AL + JZ L_639 + MOV EAX,_local_top + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-4], EAX + AND EAX,16384 + JZ L_640 + PUSH OFFSET L_lit+3131 + MOV EAX,_local_top + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV ESI,OFFSET _LPool + ADD ESI,EAX + PUSH ESI + CALL _t_error +L_640: + MOV EAX,DWORD PTR [EBP-4] + AND EAX,4194304 + JNZ L_641 + PUSH OFFSET L_lit+3142 + MOV EAX,_local_top + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV ESI,OFFSET _LPool + ADD ESI,EAX + PUSH ESI + CALL _t_warn +L_641: + INC _local_top + MOV EAX,_local_top + JMP L_638 +L_639: +L_627: +L_598: + MOV ESP,EBP + POP EBP + RETN 4 +_write_oper: + PUSH EBP + MOV EBP,ESP + MOV EAX,DWORD PTR [EBP+20] + JMP L_643 +L_644: + PUSH OFFSET L_lit+3155 + CALL _code_str + JMP L_642 +L_645: + PUSH DWORD PTR [EBP+16] + CALL _code_num + JMP L_642 +L_646: + PUSH OFFSET L_lit+3159 + CALL _code_str + MOVSX EAX,_prefix + PUSH EAX + CALL _code_chr + PUSH OFFSET L_lit+3167 + CALL _code_str + PUSH DWORD PTR [EBP+16] + CALL _code_num + JMP L_642 +L_647: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,2097152 + JZ L_648 + PUSH 95 + CALL _code_chr + MOV EAX,DWORD PTR [EBP+16] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV ESI,OFFSET _GPool + ADD ESI,EAX + PUSH ESI + CALL _code_str + JMP L_642 +L_648: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,32768 + JZ L_649 + MOV EAX,_fptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,65536 + JZ L_650 + MOV EAX,DWORD PTR [EBP+12] + AND EAX,71 + JZ L_651 + PUSH OFFSET L_lit+3173 + CALL _code_str + JMP L_652 +L_651: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,32 + JZ L_653 + PUSH OFFSET L_lit+3193 + CALL _code_str + JMP L_654 +L_653: + PUSH OFFSET L_lit+3212 + CALL _code_str +L_654: +L_652: + MOV EAX,DWORD PTR [EBP+16] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + PUSH DWORD PTR [ESI+12] + CALL _code_num + PUSH 93 + CALL _code_chr + JMP L_655 +L_650: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,71 + JZ L_656 + PUSH OFFSET L_lit+3231 + CALL _code_str + JMP L_657 +L_656: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,32 + JZ L_658 + PUSH OFFSET L_lit+3247 + CALL _code_str + JMP L_659 +L_658: + PUSH OFFSET L_lit+3262 + CALL _code_str +L_659: +L_657: + MOV EAX,DWORD PTR [EBP+16] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + PUSH DWORD PTR [ESI+12] + CALL _code_num + PUSH 93 + CALL _code_chr +L_655: + JMP L_660 +L_649: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,71 + JZ L_661 + PUSH OFFSET L_lit+3277 + CALL _code_str + JMP L_662 +L_661: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,32 + JZ L_663 + PUSH OFFSET L_lit+3293 + CALL _code_str + JMP L_664 +L_663: + PUSH OFFSET L_lit+3308 + CALL _code_str +L_664: +L_662: + MOV EAX,DWORD PTR [EBP+16] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + PUSH DWORD PTR [ESI+12] + CALL _code_num + PUSH 93 + CALL _code_chr +L_660: + JMP L_642 +L_665: + PUSH OFFSET L_lit+3323 + CALL _code_str + JMP L_642 +L_666: + PUSH OFFSET L_lit+3327 + CALL _code_str + JMP L_642 +L_667: +L_668: +L_669: +L_670: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,71 + JZ L_671 + PUSH OFFSET L_lit+3331 + CALL _code_str + JMP L_672 +L_671: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,32 + JZ L_673 + PUSH OFFSET L_lit+3342 + CALL _code_str + JMP L_674 +L_673: + PUSH OFFSET L_lit+3352 + CALL _code_str +L_674: +L_672: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,EAX + JZ L_675 + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,109 + SETE AL + AND AL,AL + JZ L_676 + PUSH OFFSET L_lit+3362 + CALL _code_str + JMP L_677 +L_676: + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,107 + SETE AL + AND AL,AL + JZ L_678 + PUSH OFFSET L_lit+3368 + CALL _code_str + JMP L_679 +L_678: + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,108 + SETE AL + AND AL,AL + JZ L_680 + PUSH OFFSET L_lit+3374 + CALL _code_str + JMP L_681 +L_680: + PUSH OFFSET L_lit+3380 + CALL _code_str +L_681: +L_679: +L_677: + PUSH DWORD PTR [EBP+8] + CALL _code_num + PUSH 93 + CALL _code_chr + JMP L_682 +L_675: + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,109 + SETE AL + AND AL,AL + JZ L_683 + PUSH OFFSET L_lit+3386 + CALL _code_str + JMP L_684 +L_683: + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,108 + SETE AL + AND AL,AL + JZ L_685 + PUSH OFFSET L_lit+3392 + CALL _code_str + JMP L_686 +L_685: + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,107 + SETE AL + AND AL,AL + JZ L_687 + PUSH OFFSET L_lit+3398 + CALL _code_str + JMP L_688 +L_687: + PUSH OFFSET L_lit+3404 + CALL _code_str +L_688: +L_686: +L_684: +L_682: + JMP L_642 +L_689: + PUSH OFFSET L_lit+3410 + CALL _code_str + JMP L_642 +L_690: +L_691: +L_692: + PUSH DWORD PTR [EBP+20] + CALL _code_num + PUSH OFFSET L_lit+3414 + CALL _code_str + JMP L_642 +L_643: + CMP EAX,112 + JE L_691 + CMP EAX,113 + JE L_690 + CMP EAX,110 + JE L_689 + CMP EAX,111 + JE L_670 + CMP EAX,107 + JE L_669 + CMP EAX,108 + JE L_668 + CMP EAX,109 + JE L_667 + CMP EAX,106 + JE L_666 + CMP EAX,105 + JE L_665 + CMP EAX,103 + JE L_647 + CMP EAX,101 + JE L_646 + CMP EAX,100 + JE L_645 + CMP EAX,104 + JE L_644 + JMP L_692 +L_642: + POP EBP + RETN 16 +_GenCodeOper: + PUSH EBP + MOV EBP,ESP + PUSH 9 + CALL _code_chr +L_693: + MOV ESI,DWORD PTR [EBP+24] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_694 + MOV ESI,DWORD PTR [EBP+24] + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,124 + SETE AL + AND AL,AL + JZ L_695 + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _write_oper + JMP L_696 +L_695: + MOV ESI,DWORD PTR [EBP+24] + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _code_chr +L_696: + INC DWORD PTR [EBP+24] + MOV EAX,DWORD PTR [EBP+24] + JMP L_693 +L_694: + PUSH 10 + CALL _code_chr + POP EBP + RETN 20 +_StackEAX: + PUSH EBP + MOV EBP,ESP + SUB ESP,8 + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_697: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,_expr_ptr + SETB AL + AND AL,AL + JZ L_698 + JMP SHORT L_699 +L_700: + INC DWORD PTR [EBP-4] + MOV EAX,DWORD PTR [EBP-4] + JMP SHORT L_697 +L_699: + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + CMP EAX,104 + SETE AL + AND AL,AL + JZ L_701 + XOR EAX,EAX + MOV DWORD PTR [EBP-8], EAX +L_702: + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,_expr_ptr + SETB AL + AND AL,AL + JZ L_703 + JMP SHORT L_704 +L_705: + INC DWORD PTR [EBP-8] + MOV EAX,DWORD PTR [EBP-8] + JMP SHORT L_702 +L_704: + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + CMP EAX,110 + SETE AL + AND AL,AL + JNZ L_706 + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + CMP EAX,111 + SETE AL + AND AL,AL +L_706: + JZ L_707 + PUSH OFFSET L_lit+3436 + CALL _out_inst + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + CMP EAX,110 + SETE AL + AND AL,AL + JZ L_708 + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,112 + MOV DWORD PTR [ESI], EAX + JMP L_709 +L_708: + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,113 + MOV DWORD PTR [ESI], EAX +L_709: + JMP L_703 +L_707: + JMP L_705 +L_703: + CALL _test_not + PUSH OFFSET L_lit+3445 + CALL _out_inst + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,110 + MOV DWORD PTR [ESI], EAX +L_701: + JMP L_700 +L_698: + MOV ESP,EBP + POP EBP + RETN +_CheckStack: + PUSH EBP + MOV EBP,ESP + MOV EAX,DWORD PTR [EBP+8] + CMP EAX,113 + SETE AL + AND AL,AL + JZ L_710 + PUSH OFFSET L_lit+3457 + CALL _out_inst + MOV EAX,108 + MOV DWORD PTR [EBP+8], EAX + JMP L_711 +L_710: + MOV EAX,DWORD PTR [EBP+8] + CMP EAX,112 + SETE AL + AND AL,AL + JZ L_712 + PUSH OFFSET L_lit+3465 + CALL _out_inst + MOV EAX,106 + MOV DWORD PTR [EBP+8], EAX +L_712: +L_711: + MOV EAX,DWORD PTR [EBP+8] + POP EBP + RETN 4 +_LoadEAX: + PUSH EBP + MOV EBP,ESP + MOV EAX,DWORD PTR [EBP+12] + AND EAX,262144 + JZ L_714 + CALL _type_error +L_714: + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,104 + SETE AL + AND AL,AL + JZ L_715 + CALL _test_not + JMP L_716 +L_715: + PUSH DWORD PTR [EBP+20] + CALL _CheckStack + MOV DWORD PTR [EBP+20], EAX + CALL _StackEAX + XOR EAX,EAX + MOV _not_flag, AL + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,100 + SETE AL + AND AL,AL + JZ L_717 + MOV EAX,DWORD PTR [EBP+16] + AND EAX,EAX + SETZ AL + AND AL,AL +L_717: + JZ L_718 + CALL _test_not + PUSH OFFSET L_lit+3473 + CALL _code_str + JMP L_716 +L_718: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,71 + JNZ L_719 + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,100 + SETE AL + AND AL,AL + JNZ L_720 + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,106 + SETE AL + AND AL,AL + JNZ L_721 + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,110 + SETE AL + AND AL,AL + JNZ L_722 + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,105 + SETE AL + AND AL,AL +L_722: +L_721: +L_720: +L_719: + JZ L_723 + PUSH OFFSET L_lit+3487 + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _GenCodeOper + JMP L_724 +L_723: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,32 + JZ L_725 + MOV EAX,DWORD PTR [EBP+12] + AND EAX,128 + JZ L_726 + PUSH OFFSET L_lit+3497 + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _GenCodeOper + JMP L_727 +L_726: + PUSH OFFSET L_lit+3509 + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _GenCodeOper +L_727: + JMP L_728 +L_725: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,128 + JZ L_729 + PUSH OFFSET L_lit+3521 + CALL _code_str + PUSH OFFSET L_lit+3535 + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _GenCodeOper + JMP L_730 +L_729: + PUSH OFFSET L_lit+3544 + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _GenCodeOper +L_730: +L_728: +L_724: + MOV EAX,-1 + MOV _zero_flag, AL +L_716: + POP EBP + RETN 16 +_LoadECX: + PUSH EBP + MOV EBP,ESP + MOV EAX,DWORD PTR [EBP+12] + AND EAX,262144 + JZ L_731 + CALL _type_error +L_731: + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,105 + SETE AL + AND AL,AL + JZ L_732 + JMP L_733 +L_732: + PUSH DWORD PTR [EBP+20] + CALL _CheckStack + MOV DWORD PTR [EBP+20], EAX + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,100 + SETE AL + AND AL,AL + JZ L_734 + MOV EAX,DWORD PTR [EBP+16] + AND EAX,EAX + SETZ AL + AND AL,AL +L_734: + JZ L_735 + PUSH OFFSET L_lit+3556 + CALL _code_str + JMP L_733 +L_735: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,71 + JNZ L_736 + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,100 + SETE AL + AND AL,AL + JNZ L_737 + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,106 + SETE AL + AND AL,AL + JNZ L_738 + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,110 + SETE AL + AND AL,AL + JNZ L_739 + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,104 + SETE AL + AND AL,AL +L_739: +L_738: +L_737: +L_736: + JZ L_740 + PUSH OFFSET L_lit+3570 + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _GenCodeOper + JMP L_741 +L_740: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,32 + JZ L_742 + MOV EAX,DWORD PTR [EBP+12] + AND EAX,128 + JZ L_743 + PUSH OFFSET L_lit+3580 + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _GenCodeOper + JMP L_744 +L_743: + PUSH OFFSET L_lit+3592 + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _GenCodeOper +L_744: + JMP L_745 +L_742: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,128 + JZ L_746 + PUSH OFFSET L_lit+3604 + CALL _code_str + PUSH OFFSET L_lit+3618 + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _GenCodeOper + JMP L_747 +L_746: + PUSH OFFSET L_lit+3627 + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _GenCodeOper +L_747: +L_745: +L_741: +L_733: + POP EBP + RETN 16 +_sub_eval: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 +L_748: + PUSH 25 + CALL _do_oper + MOV DWORD PTR [EBP-4], EAX + CMP EAX,15 + SETNE AL + AND AL,AL + JZ L_750 + PUSH DWORD PTR [EBP-4] + CALL _unget_token + PUSH DWORD PTR [EBP+8] + CALL _expect + JMP L_751 +L_750: + LEA EAX,DWORD PTR [EBP-4] + PUSH EAX + LEA EAX,DWORD PTR [EBP-4] + PUSH EAX + LEA EAX,DWORD PTR [EBP-4] + PUSH EAX + LEA EAX,DWORD PTR [EBP-4] + PUSH EAX + CALL _pop + JMP L_748 +L_749: +L_751: + MOV ESP,EBP + POP EBP + RETN 4 +_eval: + PUSH EBP + MOV EBP,ESP + SUB ESP,16 + XOR EAX,EAX + MOV _expr_ptr, EAX + XOR EAX,EAX + MOV _not_flag, AL + PUSH DWORD PTR [EBP+12] + CALL _sub_eval + LEA EAX,DWORD PTR [EBP-4] + PUSH EAX + LEA EAX,DWORD PTR [EBP-8] + PUSH EAX + LEA EAX,DWORD PTR [EBP-12] + PUSH EAX + LEA EAX,DWORD PTR [EBP-16] + PUSH EAX + CALL _pop + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,104 + SETNE AL + AND AL,AL + JNZ L_752 + MOVSX EAX,BYTE PTR [EBP+8] +L_752: + AND EAX,EAX + JZ L_753 + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + CALL _LoadEAX +L_753: + MOV ESP,EBP + POP EBP + RETN 8 +_out_inst: + PUSH EBP + MOV EBP,ESP + PUSH 9 + CALL _code_chr + PUSH DWORD PTR [EBP+8] + CALL _code_str + PUSH 10 + CALL _code_chr + POP EBP + RETN 4 +_StackTop: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_754: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,_expr_ptr + SETB AL + AND AL,AL + JZ L_755 + JMP SHORT L_756 +L_757: + INC DWORD PTR [EBP-4] + MOV EAX,DWORD PTR [EBP-4] + JMP SHORT L_754 +L_756: + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + CMP EAX,110 + SETE AL + AND AL,AL + JNZ L_758 + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + CMP EAX,111 + SETE AL + AND AL,AL +L_758: + JZ L_759 + PUSH OFFSET L_lit+3639 + CALL _out_inst + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + CMP EAX,110 + SETE AL + AND AL,AL + JZ L_760 + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,112 + MOV DWORD PTR [ESI], EAX + JMP L_761 +L_760: + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,113 + MOV DWORD PTR [ESI], EAX +L_761: + JMP L_755 +L_759: + JMP L_757 +L_755: + MOV ESP,EBP + POP EBP + RETN +_StackESI: + PUSH EBP + MOV EBP,ESP + SUB ESP,8 + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_762: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,_expr_ptr + SETB AL + AND AL,AL + JZ L_763 + JMP SHORT L_764 +L_765: + INC DWORD PTR [EBP-4] + MOV EAX,DWORD PTR [EBP-4] + JMP SHORT L_762 +L_764: + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + CMP EAX,109 + SETE AL + AND AL,AL + JZ L_766 + XOR EAX,EAX + MOV DWORD PTR [EBP-8], EAX +L_767: + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,_expr_ptr + SETB AL + AND AL,AL + JZ L_768 + JMP SHORT L_769 +L_770: + INC DWORD PTR [EBP-8] + MOV EAX,DWORD PTR [EBP-8] + JMP SHORT L_767 +L_769: + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + CMP EAX,110 + SETE AL + AND AL,AL + JNZ L_771 + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + CMP EAX,111 + SETE AL + AND AL,AL +L_771: + JZ L_772 + PUSH OFFSET L_lit+3648 + CALL _out_inst + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + CMP EAX,110 + SETE AL + AND AL,AL + JZ L_773 + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,112 + MOV DWORD PTR [ESI], EAX + JMP L_774 +L_773: + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,113 + MOV DWORD PTR [ESI], EAX +L_774: + JMP L_768 +L_772: + JMP L_770 +L_768: + PUSH OFFSET L_lit+3657 + CALL _out_inst + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,4 + MOV ESI,OFFSET _expstk + ADD ESI,EAX + MOV EAX,111 + MOV DWORD PTR [ESI], EAX +L_766: + JMP L_765 +L_763: + MOV ESP,EBP + POP EBP + RETN +_load_index: + PUSH EBP + MOV EBP,ESP + CALL _StackESI + MOV EAX,DWORD PTR [EBP+12] + AND EAX,32768 + JNZ L_775 + MOV EAX,DWORD PTR [EBP+12] + AND EAX,256 + AND EAX,EAX + SETZ AL + AND AL,AL +L_775: + JZ L_776 + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _index_ptr + JMP L_777 +L_776: + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _index_adr +L_777: + POP EBP + RETN 16 +_do_unary: + PUSH EBP + MOV EBP,ESP + SUB ESP,17 + LEA EAX,DWORD PTR [EBP-4] + PUSH EAX + LEA EAX,DWORD PTR [EBP-8] + PUSH EAX + LEA EAX,DWORD PTR [EBP-12] + PUSH EAX + LEA EAX,DWORD PTR [EBP-16] + PUSH EAX + CALL _pop + XOR EAX,EAX + MOV BYTE PTR [EBP-17], AL + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,100 + SETE AL + AND AL,AL + JZ L_778 + MOV EAX,-1 + MOV BYTE PTR [EBP-17], AL + MOV EAX,DWORD PTR [EBP+8] + JMP L_780 +L_781: + NEG DWORD PTR [EBP-8] + MOV EAX,DWORD PTR [EBP-8] + JMP L_779 +L_782: + NOT DWORD PTR [EBP-8] + MOV EAX,DWORD PTR [EBP-8] + JMP L_779 +L_783: + MOV EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [EBP-8], EAX + AND EAX,EAX + SETZ AL + AND AL,AL + JMP L_779 +L_784: + XOR EAX,EAX + MOV BYTE PTR [EBP-17], AL + JMP L_779 +L_780: + CMP EAX,2 + JE L_783 + CMP EAX,75 + JE L_782 + CMP EAX,19 + JE L_781 + JMP L_784 +L_779: +L_778: + MOVSX EAX,BYTE PTR [EBP-17] + AND EAX,EAX + JNZ L_785 + MOV EAX,DWORD PTR [EBP+8] + JMP L_787 +L_788: + PUSH OFFSET L_lit+3669 + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + CALL _GenCodeOper + JMP L_786 +L_789: + PUSH OFFSET L_lit+3675 + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + CALL _GenCodeOper + JMP L_786 +L_790: + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + CALL _LoadEAX + MOV EAX,104 + MOV DWORD PTR [EBP-4], EAX + MOV EAX,1 + MOV _not_flag, AL + JMP L_786 +L_791: + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-8] + CALL _ispStruct + AND EAX,EAX + JZ L_792 + PUSH OFFSET L_lit+3681 + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + CALL _GenCodeOper + JMP L_793 +L_792: + PUSH DWORD PTR [EBP-12] + CALL _isp32 + AND EAX,EAX + JZ L_794 + PUSH OFFSET L_lit+3697 + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + CALL _GenCodeOper + JMP L_795 +L_794: + PUSH DWORD PTR [EBP-12] + CALL _isp16 + AND EAX,EAX + JZ L_796 + PUSH OFFSET L_lit+3705 + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + CALL _GenCodeOper + JMP L_797 +L_796: + PUSH OFFSET L_lit+3713 + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + CALL _GenCodeOper +L_797: +L_795: +L_793: + JMP L_786 +L_798: + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-8] + CALL _ispStruct + AND EAX,EAX + JZ L_799 + PUSH OFFSET L_lit+3719 + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + CALL _GenCodeOper + JMP L_800 +L_799: + PUSH DWORD PTR [EBP-12] + CALL _isp32 + AND EAX,EAX + JZ L_801 + PUSH OFFSET L_lit+3735 + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + CALL _GenCodeOper + JMP L_802 +L_801: + PUSH DWORD PTR [EBP-12] + CALL _isp16 + AND EAX,EAX + JZ L_803 + PUSH OFFSET L_lit+3743 + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + CALL _GenCodeOper + JMP L_804 +L_803: + PUSH OFFSET L_lit+3751 + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + CALL _GenCodeOper +L_804: +L_802: +L_800: + JMP L_786 +L_805: + CALL _syntax_error + JMP L_786 +L_787: + CMP EAX,16 + JE L_798 + CMP EAX,12 + JE L_791 + CMP EAX,2 + JE L_790 + CMP EAX,75 + JE L_789 + CMP EAX,19 + JE L_788 + JMP L_805 +L_786: +L_785: + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + CALL _push + MOV ESP,EBP + POP EBP + RETN 4 +_eval_index: + PUSH EBP + MOV EBP,ESP + SUB ESP,25 + XOR EAX,EAX + MOV BYTE PTR [EBP-25], AL + MOV EAX,DWORD PTR [EBP+16] + AND EAX,256 + JZ L_806 + MOV EAX,DWORD PTR [EBP+20] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+20] + MOV DWORD PTR [EBP-12], EAX + MOV EAX,DWORD PTR [EBP-12] + INC DWORD PTR [EBP-12] + SHL EAX,2 + MOV ESI,OFFSET _dim_pool + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-4], EAX + JMP L_807 +L_806: + MOV EAX,1 + MOV DWORD PTR [EBP-4], EAX + MOV DWORD PTR [EBP-12], EAX +L_807: + MOV EAX,DWORD PTR [EBP+20] + MOV DWORD PTR [EBP-16], EAX + PUSH DWORD PTR [EBP+24] + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + CALL _push +L_808: + MOV EAX,DWORD PTR [EBP+16] + AND EAX,263 + MOV DWORD PTR [EBP+20], EAX + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,256 + SETE AL + AND AL,AL + JNZ L_811 + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,2 + SETB AL + AND AL,AL +L_811: + JZ L_812 + MOV EAX,DWORD PTR [EBP+16] + AND EAX,16 + JZ L_813 + MOV EAX,1 + MOV DWORD PTR [EBP-20], EAX + JMP L_814 +L_813: + MOV EAX,DWORD PTR [EBP+16] + AND EAX,32 + JZ L_815 + MOV EAX,2 + MOV DWORD PTR [EBP-20], EAX + JMP L_816 +L_815: + MOV EAX,DWORD PTR [EBP+16] + AND EAX,64 + JZ L_817 + MOV EAX,4 + MOV DWORD PTR [EBP-20], EAX + JMP L_818 +L_817: + MOV EAX,DWORD PTR [EBP+16] + AND EAX,512 + JZ L_819 + MOV EAX,DWORD PTR [EBP-16] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+16] + MOV DWORD PTR [EBP-20], EAX +L_819: +L_818: +L_816: +L_814: + JMP L_820 +L_812: + MOV EAX,4 + MOV DWORD PTR [EBP-20], EAX +L_820: + DEC DWORD PTR [EBP-4] + MOV EAX,DWORD PTR [EBP+16] + AND EAX,256 + JZ L_821 + INC DWORD PTR [EBP-12] + MOV EAX,DWORD PTR [EBP-12] + MOV DWORD PTR [EBP+24], EAX + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP+20], EAX + AND EAX,EAX + JNZ L_822 + MOV EAX,DWORD PTR [EBP+16] + AND EAX,-257 + MOV DWORD PTR [EBP+16], EAX +L_822: +L_823: + MOV EAX,DWORD PTR [EBP+20] + DEC DWORD PTR [EBP+20] + AND EAX,EAX + JZ L_824 + MOV EAX,DWORD PTR [EBP+24] + INC DWORD PTR [EBP+24] + SHL EAX,2 + MOV ESI,OFFSET _dim_pool + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-20] + MOV ECX,DWORD PTR [ESI] + MUL ECX + MOV DWORD PTR [EBP-20], EAX + JMP L_823 +L_824: + JMP L_825 +L_821: + MOV EAX,DWORD PTR [EBP+16] + AND EAX,7 + JZ L_826 + DEC DWORD PTR [EBP+16] + MOV EAX,DWORD PTR [EBP+16] + MOVSX EAX,BYTE PTR [EBP-25] + AND EAX,EAX + JZ L_827 + LEA EAX,DWORD PTR [EBP+24] + PUSH EAX + LEA EAX,DWORD PTR [EBP+20] + PUSH EAX + LEA EAX,DWORD PTR [EBP-8] + PUSH EAX + LEA EAX,DWORD PTR [EBP-24] + PUSH EAX + CALL _pop + PUSH DWORD PTR [EBP+24] + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-24] + CALL _LoadEAX + LEA EAX,DWORD PTR [EBP+24] + PUSH EAX + LEA EAX,DWORD PTR [EBP+20] + PUSH EAX + LEA EAX,DWORD PTR [EBP-8] + PUSH EAX + LEA EAX,DWORD PTR [EBP-24] + PUSH EAX + CALL _pop + PUSH DWORD PTR [EBP+24] + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-24] + CALL _load_index + PUSH OFFSET L_lit+3757 + CALL _out_inst + MOV EAX,109 + MOV DWORD PTR [EBP+24], EAX + PUSH EAX + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP-24] + CALL _push + XOR EAX,EAX + MOV BYTE PTR [EBP-25], AL +L_827: + JMP L_828 +L_826: + CALL _index_error +L_828: +L_825: + PUSH 38 + CALL _sub_eval + MOV EAX,DWORD PTR [EBP-20] + CMP EAX,1 + SETNE AL + AND AL,AL + JZ L_829 + PUSH 100 + PUSH DWORD PTR [EBP-20] + PUSH 64 + XOR EAX,EAX + PUSH EAX + CALL _push + PUSH 11 + CALL _do_lr2op +L_829: + MOVSX EAX,BYTE PTR [EBP-25] + AND EAX,EAX + JZ L_830 + PUSH 14 + CALL _do_lr2op +L_830: + MOV EAX,1 + MOV BYTE PTR [EBP-25], AL +L_809: + PUSH 37 + CALL _test_token + AND EAX,EAX + JNZ L_808 +L_810: + MOV ESI,DWORD PTR [EBP+8] + MOV EAX,DWORD PTR [EBP+16] + MOV DWORD PTR [ESI], EAX + MOVSX EAX,BYTE PTR [EBP-25] + MOV ESP,EBP + POP EBP + RETN 20 +_get_value: + PUSH EBP + MOV EBP,ESP + SUB ESP,46 + CALL _get_token + MOV DWORD PTR [EBP-24], EAX + JMP L_833 +L_834: + MOV EAX,100 + MOV DWORD PTR [EBP-28], EAX + MOV EAX,_gvalue + MOV DWORD PTR [EBP-32], EAX + MOV EAX,64 + MOV DWORD PTR [EBP-36], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-44], EAX + JMP L_832 +L_835: + MOV EAX,101 + MOV DWORD PTR [EBP-28], EAX + MOV EAX,_gvalue + MOV DWORD PTR [EBP-32], EAX + MOV EAX,17 + MOV DWORD PTR [EBP-36], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-44], EAX + JMP L_832 +L_836: + CALL _lookup_local + AND EAX,EAX + JNZ L_837 + CALL _lookup_global +L_837: + AND EAX,EAX + JNZ L_838 + PUSH 8 + CALL _test_token + AND EAX,EAX + JZ L_839 + PUSH OFFSET L_lit+3769 + CALL _symbol_error + JMP L_840 +L_839: + PUSH OFFSET L_lit+3793 + CALL _symbol_error +L_840: +L_838: + MOV EAX,103 + MOV DWORD PTR [EBP-28], EAX + MOV EAX,_sptr + MOV DWORD PTR [EBP-32], EAX + MOV EAX,DWORD PTR [EBP-32] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-36], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-44], EAX + JMP L_832 +L_841: + CALL _get_value + LEA EAX,DWORD PTR [EBP-28] + PUSH EAX + LEA EAX,DWORD PTR [EBP-32] + PUSH EAX + LEA EAX,DWORD PTR [EBP-36] + PUSH EAX + LEA EAX,DWORD PTR [EBP-44] + PUSH EAX + CALL _pop + CALL _StackESI + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _index_ptr + MOV EAX,109 + MOV DWORD PTR [EBP-28], EAX + MOV EAX,DWORD PTR [EBP-36] + AND EAX,7 + JZ L_842 + DEC DWORD PTR [EBP-36] + MOV EAX,DWORD PTR [EBP-36] + JMP L_843 +L_842: + CALL _index_error +L_843: + JMP L_832 +L_844: + CALL _get_value + LEA EAX,DWORD PTR [EBP-28] + PUSH EAX + LEA EAX,DWORD PTR [EBP-32] + PUSH EAX + LEA EAX,DWORD PTR [EBP-36] + PUSH EAX + LEA EAX,DWORD PTR [EBP-44] + PUSH EAX + CALL _pop + MOV EAX,DWORD PTR [EBP-28] + CMP EAX,103 + SETE AL + AND AL,AL + JZ L_845 + CALL _StackEAX + MOV EAX,DWORD PTR [EBP-36] + AND EAX,2097152 + JZ SHORT L_847 + MOV EAX,OFFSET L_lit+3810 + JMP SHORT L_846 +L_847: + MOV EAX,OFFSET L_lit+3827 +L_846: + PUSH EAX + CALL _code_str + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _write_oper + PUSH 10 + CALL _code_chr + XOR EAX,EAX + MOV _not_flag, AL + MOV EAX,DWORD PTR [EBP-36] + ADD EAX,1 + AND EAX,-262145 + MOV DWORD PTR [EBP-36], EAX + MOV EAX,104 + MOV DWORD PTR [EBP-28], EAX + JMP L_848 +L_845: + MOV EAX,DWORD PTR [EBP-28] + CMP EAX,109 + SETE AL + AND AL,AL + JZ L_849 + CALL _StackEAX + XOR EAX,EAX + MOV _not_flag, AL + PUSH OFFSET L_lit+3837 + CALL _out_inst + MOV EAX,DWORD PTR [EBP-36] + ADD EAX,1 + AND EAX,-262145 + MOV DWORD PTR [EBP-36], EAX + MOV EAX,104 + MOV DWORD PTR [EBP-28], EAX + JMP L_850 +L_849: + MOV EAX,DWORD PTR [EBP-28] + CMP EAX,104 + SETE AL + AND AL,AL + JZ L_851 + MOV EAX,DWORD PTR [EBP-36] + AND EAX,7 +L_851: + JZ L_852 + JMP L_853 +L_852: + PUSH OFFSET L_lit+3849 + CALL _line_error +L_853: +L_850: +L_848: + JMP L_832 +L_854: + PUSH 9 + CALL _sub_eval + LEA EAX,DWORD PTR [EBP-28] + PUSH EAX + LEA EAX,DWORD PTR [EBP-32] + PUSH EAX + LEA EAX,DWORD PTR [EBP-36] + PUSH EAX + LEA EAX,DWORD PTR [EBP-44] + PUSH EAX + CALL _pop + JMP L_832 +L_855: + PUSH 8 + CALL _test_token + AND EAX,EAX + JZ L_856 + CALL _get_value + LEA EAX,DWORD PTR [EBP-28] + PUSH EAX + LEA EAX,DWORD PTR [EBP-32] + PUSH EAX + LEA EAX,DWORD PTR [EBP-36] + PUSH EAX + LEA EAX,DWORD PTR [EBP-44] + PUSH EAX + CALL _pop + MOV EAX,DWORD PTR [EBP-28] + CMP EAX,103 + SETE AL + AND AL,AL + JZ L_857 + MOV EAX,DWORD PTR [EBP-36] + AND EAX,7 + JZ L_858 + MOV EAX,4 + MOV DWORD PTR [EBP-20], EAX + JMP L_859 +L_858: + MOV EAX,DWORD PTR [EBP-36] + AND EAX,16 + JZ L_860 + MOV EAX,1 + MOV DWORD PTR [EBP-20], EAX + JMP L_861 +L_860: + MOV EAX,DWORD PTR [EBP-36] + AND EAX,32 + JZ L_862 + MOV EAX,2 + MOV DWORD PTR [EBP-20], EAX + JMP L_863 +L_862: + MOV EAX,DWORD PTR [EBP-36] + AND EAX,64 + JZ L_864 + MOV EAX,4 + MOV DWORD PTR [EBP-20], EAX + JMP L_865 +L_864: + MOV EAX,DWORD PTR [EBP-36] + AND EAX,512 + JZ L_866 + MOV EAX,DWORD PTR [EBP-32] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+16] + MOV DWORD PTR [EBP-20], EAX + JMP L_867 +L_866: + MOV EAX,4 + MOV DWORD PTR [EBP-20], EAX +L_867: +L_865: +L_863: +L_861: +L_859: + MOV EAX,DWORD PTR [EBP-36] + AND EAX,256 + JZ L_868 + MOV EAX,DWORD PTR [EBP-36] + AND EAX,7 + AND EAX,EAX + SETZ AL + AND AL,AL +L_868: + JZ L_869 + MOV EAX,DWORD PTR [EBP-32] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+20] + MOV DWORD PTR [EBP-12], EAX + MOV EAX,DWORD PTR [EBP-12] + INC DWORD PTR [EBP-12] + SHL EAX,2 + MOV ESI,OFFSET _dim_pool + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-16], EAX +L_870: + MOV EAX,DWORD PTR [EBP-16] + DEC DWORD PTR [EBP-16] + AND EAX,EAX + JZ L_871 + MOV EAX,DWORD PTR [EBP-12] + INC DWORD PTR [EBP-12] + SHL EAX,2 + MOV ESI,OFFSET _dim_pool + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-20] + MOV ECX,DWORD PTR [ESI] + MUL ECX + MOV DWORD PTR [EBP-20], EAX + JMP L_870 +L_871: +L_869: + MOV EAX,100 + MOV DWORD PTR [EBP-28], EAX + MOV EAX,64 + MOV DWORD PTR [EBP-36], EAX + MOV EAX,DWORD PTR [EBP-20] + MOV DWORD PTR [EBP-32], EAX + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + XOR EAX,EAX + PUSH EAX + CALL _push + PUSH 9 + CALL _expect + JMP L_872 +L_857: + PUSH OFFSET L_lit+3871 + CALL _line_error +L_873: + JMP L_874 +L_856: + PUSH OFFSET L_lit+3887 + CALL _line_error +L_874: + JMP L_832 +L_875: + CALL _get_value + PUSH DWORD PTR [EBP-24] + CALL _do_unary + JMP L_872 +L_833: + CMP EAX,60 + JE L_855 + CMP EAX,8 + JE L_854 + CMP EAX,7 + JE L_844 + CMP EAX,11 + JE L_841 + CMP EAX,103 + JE L_836 + CMP EAX,101 + JE L_835 + CMP EAX,100 + JE L_834 + JMP L_875 +L_832: + PUSH 8 + CALL _test_token + AND EAX,EAX + JZ L_876 + MOV EAX,DWORD PTR [EBP-32] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+20] + MOV _iarg, EAX + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _push + CALL _StackEAX + CALL _StackESI + MOV EAX,DWORD PTR [EBP-36] + AND EAX,65536 + JZ L_877 + MOV EAX,-1 + MOV BYTE PTR [EBP-46], AL + JMP L_878 +L_877: + XOR EAX,EAX + MOV BYTE PTR [EBP-46], AL +L_878: + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX + MOV DWORD PTR [EBP-8], EAX + CALL _StackTop + PUSH 9 + CALL _test_token + AND EAX,EAX + JNZ L_879 +L_880: + MOV EAX,_iarg + SHL EAX,2 + MOV ESI,OFFSET _proto_list + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV _argtype, EAX + MOV EAX,_argtype + AND EAX,8 + JNZ L_883 + MOV EAX,_iarg + INC _iarg +L_883: + PUSH 25 + CALL _do_oper + MOV DWORD PTR [EBP-24], EAX + LEA EAX,DWORD PTR [EBP-28] + PUSH EAX + LEA EAX,DWORD PTR [EBP-32] + PUSH EAX + LEA EAX,DWORD PTR [EBP-36] + PUSH EAX + LEA EAX,DWORD PTR [EBP-44] + PUSH EAX + CALL _pop + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _LoadEAX + MOV EAX,DWORD PTR [EBP-28] + CMP EAX,109 + SETNE AL + AND AL,AL + JZ L_884 + MOV EAX,DWORD PTR [EBP-44] + AND EAX,EAX + JZ L_885 + MOV EAX,DWORD PTR [EBP-36] + AND EAX,7 +L_885: +L_884: + JZ L_886 + PUSH OFFSET L_lit+3900 + CALL _code_str + PUSH DWORD PTR [EBP-44] + CALL _code_num + PUSH 10 + CALL _code_chr +L_886: + PUSH OFFSET L_lit+3910 + CALL _out_inst + INC DWORD PTR [EBP-4] + MOV EAX,DWORD PTR [EBP-4] + MOVSX EAX,BYTE PTR [EBP-46] + AND EAX,EAX + SETZ AL + AND AL,AL + JNZ L_887 + MOVSX EAX,BYTE PTR [EBP-46] + AND EAX,EAX + JZ L_888 + MOV EAX,_argtype + CMP EAX,8 + SETE AL + AND AL,AL +L_888: +L_887: + JZ L_889 + INC DWORD PTR [EBP-8] + MOV EAX,DWORD PTR [EBP-8] +L_889: +L_881: + MOV EAX,DWORD PTR [EBP-24] + CMP EAX,15 + SETE AL + AND AL,AL + JNZ L_880 +L_882: + MOV EAX,DWORD PTR [EBP-24] + CMP EAX,9 + SETNE AL + AND AL,AL + JZ L_890 + CALL _syntax_error +L_890: +L_879: + XOR EAX,EAX + MOV _iarg, EAX + LEA EAX,DWORD PTR [EBP-28] + PUSH EAX + LEA EAX,DWORD PTR [EBP-32] + PUSH EAX + LEA EAX,DWORD PTR [EBP-36] + PUSH EAX + LEA EAX,DWORD PTR [EBP-44] + PUSH EAX + CALL _pop + MOVSX EAX,BYTE PTR [EBP-46] + AND EAX,EAX + JZ L_891 + PUSH OFFSET L_lit+3919 + CALL _code_str + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,2 + PUSH EAX + CALL _code_num + PUSH 10 + CALL _code_chr + JMP L_892 +L_891: + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_892: + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + PUSH DWORD PTR [EBP-4] + CALL _call + MOV EAX,104 + MOV DWORD PTR [EBP-28], EAX + MOV EAX,DWORD PTR [EBP-36] + AND EAX,-262145 + MOV DWORD PTR [EBP-36], EAX +L_876: + XOR EAX,EAX + MOV BYTE PTR [EBP-45], AL + PUSH 37 + CALL _test_token + AND EAX,EAX + JZ L_893 + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + LEA EAX,DWORD PTR [EBP-36] + PUSH EAX + CALL _eval_index + MOV BYTE PTR [EBP-45], AL + LEA EAX,DWORD PTR [EBP-24] + PUSH EAX + LEA EAX,DWORD PTR [EBP-32] + PUSH EAX + LEA EAX,DWORD PTR [EBP-28] + PUSH EAX + LEA EAX,DWORD PTR [EBP-44] + PUSH EAX + CALL _pop + MOV EAX,DWORD PTR [EBP-24] + CMP EAX,100 + SETE AL + AND AL,AL + MOV EBX,EAX + MOV EAX,DWORD PTR [EBP-32] + AND EAX,EAX + SETZ AL + AND AL,AL + AND EAX,EBX + JZ L_894 + LEA EAX,DWORD PTR [EBP-28] + PUSH EAX + LEA EAX,DWORD PTR [EBP-32] + PUSH EAX + LEA EAX,DWORD PTR [EBP-40] + PUSH EAX + LEA EAX,DWORD PTR [EBP-44] + PUSH EAX + CALL _pop + MOV EAX,DWORD PTR [EBP-40] + AND EAX,263 + JZ L_895 + MOV EAX,DWORD PTR [EBP-28] + CMP EAX,109 + SETNE AL + AND AL,AL +L_895: + JZ L_896 + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-40] + PUSH DWORD PTR [EBP-44] + CALL _load_index +L_896: + JMP L_897 +L_894: + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-44] + CALL _LoadEAX + LEA EAX,DWORD PTR [EBP-28] + PUSH EAX + LEA EAX,DWORD PTR [EBP-32] + PUSH EAX + LEA EAX,DWORD PTR [EBP-40] + PUSH EAX + LEA EAX,DWORD PTR [EBP-44] + PUSH EAX + CALL _pop + MOV EAX,DWORD PTR [EBP-40] + AND EAX,263 + JZ L_898 + MOV EAX,DWORD PTR [EBP-28] + CMP EAX,109 + SETNE AL + AND AL,AL +L_898: + JZ L_899 + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-40] + PUSH DWORD PTR [EBP-44] + CALL _load_index +L_899: + PUSH OFFSET L_lit+3930 + CALL _out_inst +L_897: + MOV EAX,109 + MOV DWORD PTR [EBP-28], EAX +L_893: + MOV EAX,DWORD PTR [EBP-36] + AND EAX,256 + JZ L_900 + MOV EAX,DWORD PTR [EBP-36] + AND EAX,67109376 + AND EAX,EAX + SETZ AL + AND AL,AL +L_900: + JZ L_901 + MOV EAX,DWORD PTR [EBP-36] + ADD EAX,1 + AND EAX,-257 + MOV DWORD PTR [EBP-36], EAX + MOV EAX,DWORD PTR [EBP-36] + AND EAX,32768 + JNZ L_902 + MOVSX EAX,BYTE PTR [EBP-45] + AND EAX,EAX + JNZ L_903 + CALL _StackEAX + CALL _StackESI + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _index_adr +L_903: + CALL _StackEAX + XOR EAX,EAX + MOV _not_flag, AL + PUSH OFFSET L_lit+3942 + CALL _out_inst + MOV EAX,104 + MOV DWORD PTR [EBP-28], EAX +L_902: +L_901: + PUSH 18 + CALL _test_token + AND EAX,EAX + JZ L_904 + MOV EAX,DWORD PTR [EBP-36] + AND EAX,512 + JZ L_905 + MOV EAX,DWORD PTR [EBP-36] + AND EAX,7 + JNZ L_906 + MOV EAX,DWORD PTR [EBP-28] + CMP EAX,109 + SETE AL + AND AL,AL +L_906: +L_905: + JZ L_907 + MOV EAX,DWORD PTR [EBP-28] + CMP EAX,103 + SETE AL + AND AL,AL + JZ L_908 + CALL _StackEAX + CALL _StackESI + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _index_ptr + MOV EAX,109 + MOV DWORD PTR [EBP-28], EAX +L_908: + PUSH 103 + CALL _test_token + AND EAX,EAX + JZ L_909 + PUSH DWORD PTR [EBP-32] + CALL _lookup_member + AND EAX,EAX + JZ L_910 + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+16] + MOV _memoffset, EAX + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-36], EAX + MOV EAX,_sptr + MOV DWORD PTR [EBP-32], EAX + MOV EAX,_memoffset + MOV DWORD PTR [EBP-44], EAX + MOV EAX,DWORD PTR [EBP-36] + AND EAX,256 + JZ L_911 + MOV EAX,DWORD PTR [EBP-36] + ADD EAX,1 + AND EAX,-257 + MOV DWORD PTR [EBP-36], EAX +L_911: + MOV EAX,109 + MOV DWORD PTR [EBP-28], EAX + JMP L_912 +L_910: + PUSH OFFSET L_lit+3954 + CALL _line_error +L_912: + JMP L_913 +L_909: + PUSH OFFSET L_lit+3977 + CALL _line_error +L_913: + JMP L_914 +L_907: + PUSH OFFSET L_lit+4003 + CALL _line_error +L_914: +L_904: + PUSH 21 + CALL _test_token + AND EAX,EAX + JZ L_915 + MOV EAX,DWORD PTR [EBP-36] + AND EAX,512 + JZ L_916 + MOV EAX,DWORD PTR [EBP-36] + AND EAX,7 + AND EAX,EAX + SETZ AL + AND AL,AL +L_916: + JZ L_917 + MOV EAX,DWORD PTR [EBP-28] + CMP EAX,103 + SETE AL + AND AL,AL + JZ L_918 + CALL _StackEAX + CALL _StackESI + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _index_adr + MOV EAX,109 + MOV DWORD PTR [EBP-28], EAX +L_918: + PUSH 103 + CALL _test_token + AND EAX,EAX + JZ L_919 + PUSH DWORD PTR [EBP-32] + CALL _lookup_member + AND EAX,EAX + JZ L_920 + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+16] + MOV _memoffset, EAX + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-36], EAX + MOV EAX,_sptr + MOV DWORD PTR [EBP-32], EAX + MOV EAX,_memoffset + MOV DWORD PTR [EBP-44], EAX + MOV EAX,109 + MOV DWORD PTR [EBP-28], EAX + JMP L_921 +L_920: + PUSH OFFSET L_lit+4030 + CALL _line_error +L_921: + JMP L_922 +L_919: + PUSH OFFSET L_lit+4056 + CALL _line_error +L_922: + JMP L_923 +L_917: + PUSH OFFSET L_lit+4082 + CALL _line_error +L_923: +L_915: + XOR EAX,EAX + MOV BYTE PTR [EBP-45], AL + PUSH 37 + CALL _test_token + AND EAX,EAX + JZ L_924 + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + LEA EAX,DWORD PTR [EBP-36] + PUSH EAX + CALL _eval_index + MOV BYTE PTR [EBP-45], AL + LEA EAX,DWORD PTR [EBP-24] + PUSH EAX + LEA EAX,DWORD PTR [EBP-32] + PUSH EAX + LEA EAX,DWORD PTR [EBP-28] + PUSH EAX + LEA EAX,DWORD PTR [EBP-44] + PUSH EAX + CALL _pop + MOV EAX,DWORD PTR [EBP-24] + CMP EAX,100 + SETE AL + AND AL,AL + MOV EBX,EAX + MOV EAX,DWORD PTR [EBP-32] + AND EAX,EAX + SETZ AL + AND AL,AL + AND EAX,EBX + JZ L_925 + LEA EAX,DWORD PTR [EBP-28] + PUSH EAX + LEA EAX,DWORD PTR [EBP-32] + PUSH EAX + LEA EAX,DWORD PTR [EBP-40] + PUSH EAX + LEA EAX,DWORD PTR [EBP-44] + PUSH EAX + CALL _pop + MOV EAX,DWORD PTR [EBP-40] + AND EAX,263 + JZ L_926 + MOV EAX,DWORD PTR [EBP-28] + CMP EAX,109 + SETNE AL + AND AL,AL +L_926: + JZ L_927 + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-40] + PUSH DWORD PTR [EBP-44] + CALL _load_index + MOV EAX,DWORD PTR [EBP-28] + CMP EAX,111 + SETE AL + AND AL,AL + JZ L_928 + MOV EAX,DWORD PTR [EBP-32] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,256 +L_928: + JZ L_929 + MOV EAX,110 + MOV DWORD PTR [EBP-28], EAX +L_929: +L_927: + JMP L_930 +L_925: + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-44] + CALL _LoadEAX + LEA EAX,DWORD PTR [EBP-28] + PUSH EAX + LEA EAX,DWORD PTR [EBP-32] + PUSH EAX + LEA EAX,DWORD PTR [EBP-40] + PUSH EAX + LEA EAX,DWORD PTR [EBP-44] + PUSH EAX + CALL _pop + MOV EAX,DWORD PTR [EBP-40] + AND EAX,263 + JZ L_931 + MOV EAX,DWORD PTR [EBP-28] + CMP EAX,109 + SETNE AL + AND AL,AL +L_931: + JZ L_932 + MOV EAX,DWORD PTR [EBP-28] + CMP EAX,111 + SETE AL + AND AL,AL + JZ L_933 + MOV EAX,DWORD PTR [EBP-32] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,256 +L_933: + JZ L_934 + MOV EAX,110 + MOV DWORD PTR [EBP-28], EAX +L_934: + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-40] + PUSH DWORD PTR [EBP-44] + CALL _load_index +L_932: + PUSH OFFSET L_lit+4110 + CALL _out_inst +L_930: + MOV EAX,109 + MOV DWORD PTR [EBP-28], EAX +L_924: + MOV EAX,DWORD PTR [EBP-36] + AND EAX,256 + JZ L_935 + MOV EAX,DWORD PTR [EBP-36] + AND EAX,67108864 +L_935: + JZ L_936 + MOV EAX,DWORD PTR [EBP-36] + ADD EAX,1 + AND EAX,-257 + MOV DWORD PTR [EBP-36], EAX + MOV EAX,DWORD PTR [EBP-36] + AND EAX,32768 + JNZ L_937 + MOVSX EAX,BYTE PTR [EBP-45] + AND EAX,EAX + JNZ L_938 + CALL _StackEAX + CALL _StackESI + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _index_adr +L_938: + CALL _StackEAX + XOR EAX,EAX + MOV _not_flag, AL + PUSH OFFSET L_lit+4122 + CALL _out_inst + MOV EAX,104 + MOV DWORD PTR [EBP-28], EAX +L_937: +L_936: + PUSH 12 + CALL _test_token + AND EAX,EAX + JZ L_939 + MOV EAX,DWORD PTR [EBP-36] + AND EAX,7 + JZ L_940 + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _load_index + JMP L_941 +L_940: + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _LoadEAX +L_941: + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-32] + CALL _ispStruct + AND EAX,EAX + JZ L_942 + PUSH OFFSET L_lit+4134 + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _GenCodeOper + JMP L_943 +L_942: + PUSH DWORD PTR [EBP-36] + CALL _isp32 + AND EAX,EAX + JZ L_944 + PUSH OFFSET L_lit+4150 + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _GenCodeOper + JMP L_945 +L_944: + PUSH DWORD PTR [EBP-36] + CALL _isp16 + AND EAX,EAX + JZ L_946 + PUSH OFFSET L_lit+4158 + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _GenCodeOper + JMP L_947 +L_946: + PUSH OFFSET L_lit+4166 + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _GenCodeOper +L_947: +L_945: +L_943: + MOV EAX,DWORD PTR [EBP-36] + AND EAX,7 + JZ L_948 + MOV EAX,109 + MOV DWORD PTR [EBP-28], EAX + JMP L_949 +L_948: + MOV EAX,104 + MOV DWORD PTR [EBP-28], EAX +L_949: + JMP L_950 +L_939: + PUSH 16 + CALL _test_token + AND EAX,EAX + JZ L_951 + MOV EAX,DWORD PTR [EBP-36] + AND EAX,7 + JZ L_952 + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _load_index + JMP L_953 +L_952: + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _LoadEAX +L_953: + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-32] + CALL _ispStruct + AND EAX,EAX + JZ L_954 + PUSH OFFSET L_lit+4172 + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _GenCodeOper + JMP L_955 +L_954: + PUSH DWORD PTR [EBP-36] + CALL _isp32 + AND EAX,EAX + JZ L_956 + PUSH OFFSET L_lit+4188 + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _GenCodeOper + JMP L_957 +L_956: + PUSH DWORD PTR [EBP-36] + CALL _isp16 + AND EAX,EAX + JZ L_958 + PUSH OFFSET L_lit+4196 + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _GenCodeOper + JMP L_959 +L_958: + PUSH OFFSET L_lit+4204 + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _GenCodeOper +L_959: +L_957: +L_955: + MOV EAX,DWORD PTR [EBP-36] + AND EAX,7 + JZ L_960 + MOV EAX,109 + MOV DWORD PTR [EBP-28], EAX + JMP L_961 +L_960: + MOV EAX,104 + MOV DWORD PTR [EBP-28], EAX +L_961: +L_951: +L_950: + PUSH DWORD PTR [EBP-28] + PUSH DWORD PTR [EBP-32] + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-44] + CALL _push +L_872: + MOV ESP,EBP + POP EBP + RETN +_combine: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + MOV EAX,DWORD PTR [EBP+12] + AND EAX,7 + MOV EBX,EAX + MOV EAX,DWORD PTR [EBP+8] + AND EAX,7 + CMP EAX,EBX + SETBE AL + AND AL,AL + JZ L_962 + MOV EAX,DWORD PTR [EBP+12] + AND EAX,7 + MOV DWORD PTR [EBP-4], EAX + JMP L_963 +L_962: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,7 + MOV DWORD PTR [EBP-4], EAX +L_963: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,64 + JNZ L_964 + MOV EAX,DWORD PTR [EBP+8] + AND EAX,64 +L_964: + JZ L_965 + MOV EAX,DWORD PTR [EBP-4] + OR EAX,64 + MOV DWORD PTR [EBP-4], EAX + JMP L_966 +L_965: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,32 + JNZ L_967 + MOV EAX,DWORD PTR [EBP+8] + AND EAX,32 +L_967: + JZ L_968 + MOV EAX,DWORD PTR [EBP-4] + OR EAX,32 + MOV DWORD PTR [EBP-4], EAX + JMP L_969 +L_968: + MOV EAX,DWORD PTR [EBP-4] + OR EAX,16 + MOV DWORD PTR [EBP-4], EAX +L_969: +L_966: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,DWORD PTR [EBP+8] + AND EAX,128 + JNZ L_970 + MOV EAX,DWORD PTR [EBP-4] + JMP L_971 +L_970: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,128 + JZ L_972 + MOV EAX,DWORD PTR [EBP+8] + AND EAX,128 +L_972: + JZ L_973 + MOV EAX,DWORD PTR [EBP-4] + OR EAX,128 + MOV DWORD PTR [EBP-4], EAX + MOV EAX,DWORD PTR [EBP-4] + JMP L_971 +L_973: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,112 + MOV EBX,EAX + MOV EAX,DWORD PTR [EBP+8] + AND EAX,112 + CMP EAX,EBX + SETBE AL + AND AL,AL + JZ L_974 + MOV EAX,DWORD PTR [EBP+8] + AND EAX,128 +L_974: + JZ L_975 + MOV EAX,DWORD PTR [EBP-4] + OR EAX,128 + MOV DWORD PTR [EBP-4], EAX + JMP L_976 +L_975: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,112 + MOV EBX,EAX + MOV EAX,DWORD PTR [EBP+8] + AND EAX,112 + CMP EAX,EBX + SETAE AL + AND AL,AL + JZ L_977 + MOV EAX,DWORD PTR [EBP+12] + AND EAX,128 +L_977: + JZ L_978 + MOV EAX,DWORD PTR [EBP-4] + OR EAX,128 + MOV DWORD PTR [EBP-4], EAX +L_978: +L_976: + MOV EAX,DWORD PTR [EBP-4] +L_971: + MOV ESP,EBP + POP EBP + RETN 8 +_do_oper: + PUSH EBP + MOV EBP,ESP + SUB ESP,32 + MOV EAX,DWORD PTR [EBP+8] + CMP EAX,5 + SETE AL + AND AL,AL + JNZ L_979 + MOV EAX,DWORD PTR [EBP+8] + CMP EAX,71 + SETE AL + AND AL,AL + JNZ L_980 + MOV EAX,DWORD PTR [EBP+8] + CMP EAX,36 + SETE AL + AND AL,AL +L_980: +L_979: + JZ L_981 + LEA EAX,DWORD PTR [EBP-8] + PUSH EAX + LEA EAX,DWORD PTR [EBP-12] + PUSH EAX + LEA EAX,DWORD PTR [EBP-16] + PUSH EAX + LEA EAX,DWORD PTR [EBP-24] + PUSH EAX + CALL _pop + CALL _StackEAX + CALL _StackESI + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,104 + SETNE AL + AND AL,AL + JZ L_982 + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-24] + CALL _LoadEAX +L_982: + INC _next_lab + MOV EAX,_next_lab + MOV DWORD PTR [EBP-32], EAX + MOV EAX,DWORD PTR [EBP+8] + CMP EAX,36 + SETE AL + AND AL,AL + JZ L_983 + XOR EAX,EAX + PUSH EAX + INC _next_lab + MOV EAX,_next_lab + MOV DWORD PTR [EBP-4], EAX + PUSH EAX + XOR EAX,EAX + PUSH EAX + CALL _cond_jump + PUSH 24 + CALL _sub_eval + LEA EAX,DWORD PTR [EBP-8] + PUSH EAX + LEA EAX,DWORD PTR [EBP-12] + PUSH EAX + LEA EAX,DWORD PTR [EBP-16] + PUSH EAX + LEA EAX,DWORD PTR [EBP-24] + PUSH EAX + CALL _pop + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-24] + CALL _LoadEAX + PUSH DWORD PTR [EBP-32] + XOR EAX,EAX + PUSH EAX + CALL _jump + PUSH DWORD PTR [EBP-4] + CALL _gen_label + JMP L_984 +L_983: + CALL _test_not + MOV EAX,DWORD PTR [EBP+8] + CMP EAX,5 + SETE AL + AND AL,AL + JZ L_985 + XOR EAX,EAX + PUSH EAX + PUSH DWORD PTR [EBP-32] + PUSH -1 + CALL _cond_jump + JMP L_986 +L_985: + PUSH 1 + PUSH DWORD PTR [EBP-32] + PUSH -1 + CALL _cond_jump +L_986: +L_984: + PUSH 25 + CALL _do_oper + MOV DWORD PTR [EBP-4], EAX + LEA EAX,DWORD PTR [EBP-8] + PUSH EAX + LEA EAX,DWORD PTR [EBP-12] + PUSH EAX + LEA EAX,DWORD PTR [EBP-20] + PUSH EAX + LEA EAX,DWORD PTR [EBP-28] + PUSH EAX + CALL _pop + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-28] + CALL _LoadEAX + PUSH DWORD PTR [EBP-32] + CALL _gen_label + PUSH 104 + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + CALL _combine + PUSH EAX + PUSH DWORD PTR [EBP-28] + CALL _push + MOV EAX,DWORD PTR [EBP-4] + JMP L_987 +L_981: + CALL _get_value + CALL _get_token + MOV DWORD PTR [EBP-4], EAX +L_988: + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,OFFSET _optype + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,1 + SETG AL + AND AL,AL + JZ L_990 + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,OFFSET _priority + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP+8] + MOV EBX,ESI + MOV ESI,OFFSET _priority + ADD ESI,EAX + MOVSX EAX,BYTE PTR [EBX] + CMP AL,BYTE PTR [ESI] + SETGE AL + AND AL,AL +L_990: + JZ L_989 + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,OFFSET _priority + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP+8] + MOV EBX,ESI + MOV ESI,OFFSET _priority + ADD ESI,EAX + MOVSX EAX,BYTE PTR [EBX] + CMP AL,BYTE PTR [ESI] + SETE AL + AND AL,AL + JZ L_991 + MOV EAX,DWORD PTR [EBP+8] + MOV ESI,OFFSET _optype + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,2 + SETE AL + AND AL,AL +L_991: + JZ L_992 + PUSH DWORD PTR [EBP+8] + CALL _do_lr2op + PUSH DWORD PTR [EBP-4] + CALL _do_oper + JMP L_987 +L_992: + PUSH DWORD PTR [EBP-4] + CALL _do_oper + MOV DWORD PTR [EBP-4], EAX + JMP L_988 +L_989: + MOV EAX,DWORD PTR [EBP+8] + CMP EAX,25 + SETNE AL + AND AL,AL + JZ L_993 + PUSH DWORD PTR [EBP+8] + CALL _do_lr2op +L_993: + MOV EAX,DWORD PTR [EBP-4] +L_987: + MOV ESP,EBP + POP EBP + RETN 4 +_do_lr2op: + PUSH EBP + MOV EBP,ESP + SUB ESP,68 + LEA EAX,DWORD PTR [EBP-16] + PUSH EAX + LEA EAX,DWORD PTR [EBP-20] + PUSH EAX + LEA EAX,DWORD PTR [EBP-24] + PUSH EAX + LEA EAX,DWORD PTR [EBP-32] + PUSH EAX + CALL _pop + LEA EAX,DWORD PTR [EBP-4] + PUSH EAX + LEA EAX,DWORD PTR [EBP-8] + PUSH EAX + LEA EAX,DWORD PTR [EBP-12] + PUSH EAX + LEA EAX,DWORD PTR [EBP-28] + PUSH EAX + CALL _pop + XOR EAX,EAX + MOV DWORD PTR [EBP-36], EAX + MOV DWORD PTR [EBP-64], EAX + MOV DWORD PTR [EBP-60], EAX + MOV DWORD PTR [EBP-56], EAX + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,100 + SETE AL + AND AL,AL + JZ L_994 + MOV EAX,1 + MOV DWORD PTR [EBP-60], EAX + MOV EAX,DWORD PTR [EBP-24] + MOV DWORD PTR [EBP-12], EAX +L_994: + MOV EAX,DWORD PTR [EBP-16] + CMP EAX,100 + SETE AL + AND AL,AL + JZ L_995 + XOR EAX,EAX + MOV DWORD PTR [EBP-60], EAX + MOV EAX,DWORD PTR [EBP-12] + MOV DWORD PTR [EBP-24], EAX +L_995: + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-24] + CALL _combine + MOV DWORD PTR [EBP-52], EAX + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,100 + SETE AL + AND AL,AL + JZ L_996 + MOV EAX,DWORD PTR [EBP-16] + CMP EAX,100 + SETE AL + AND AL,AL + JZ L_997 + MOV EAX,DWORD PTR [EBP+8] + CMP EAX,5 + SETNE AL + AND AL,AL + JZ L_998 + MOV EAX,DWORD PTR [EBP+8] + CMP EAX,71 + SETNE AL + AND AL,AL +L_998: +L_997: +L_996: + JZ L_999 + MOV EAX,DWORD PTR [EBP+8] + JMP L_1001 +L_1002: + MOV EAX,DWORD PTR [EBP-8] + ADD EAX,DWORD PTR [EBP-20] + MOV DWORD PTR [EBP-8], EAX + JMP L_1000 +L_1003: + MOV EAX,DWORD PTR [EBP-8] + SUB EAX,DWORD PTR [EBP-20] + MOV DWORD PTR [EBP-8], EAX + JMP L_1000 +L_1004: + MOV EAX,DWORD PTR [EBP-8] + MOV ECX,DWORD PTR [EBP-20] + MUL ECX + MOV DWORD PTR [EBP-8], EAX + JMP L_1000 +L_1005: + MOV EAX,DWORD PTR [EBP-8] + MOV ECX,DWORD PTR [EBP-20] + XOR EDX,EDX + DIV ECX + MOV DWORD PTR [EBP-8], EAX + JMP L_1000 +L_1006: + MOV EAX,DWORD PTR [EBP-8] + MOV ECX,DWORD PTR [EBP-20] + XOR EDX,EDX + DIV ECX + MOV EAX,EDX + MOV DWORD PTR [EBP-8], EAX + JMP L_1000 +L_1007: + MOV EAX,DWORD PTR [EBP-8] + AND EAX,DWORD PTR [EBP-20] + MOV DWORD PTR [EBP-8], EAX + JMP L_1000 +L_1008: + MOV EAX,DWORD PTR [EBP-8] + OR EAX,DWORD PTR [EBP-20] + MOV DWORD PTR [EBP-8], EAX + JMP L_1000 +L_1009: + MOV EAX,DWORD PTR [EBP-8] + XOR EAX,DWORD PTR [EBP-20] + MOV DWORD PTR [EBP-8], EAX + JMP L_1000 +L_1010: + MOV EAX,DWORD PTR [EBP-8] + MOV ECX,DWORD PTR [EBP-20] + SHL EAX,CL + MOV DWORD PTR [EBP-8], EAX + JMP L_1000 +L_1011: + MOV EAX,DWORD PTR [EBP-8] + MOV ECX,DWORD PTR [EBP-20] + SHR EAX,CL + MOV DWORD PTR [EBP-8], EAX + JMP L_1000 +L_1012: + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [EBP-20] + SETE AL + AND AL,AL + MOV DWORD PTR [EBP-8], EAX + JMP L_1000 +L_1013: + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [EBP-20] + SETNE AL + AND AL,AL + MOV DWORD PTR [EBP-8], EAX + JMP L_1000 +L_1014: + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [EBP-20] + SETB AL + AND AL,AL + MOV DWORD PTR [EBP-8], EAX +L_1015: + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [EBP-20] + SETBE AL + AND AL,AL + MOV DWORD PTR [EBP-8], EAX + JMP L_1000 +L_1016: + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [EBP-20] + SETA AL + AND AL,AL + MOV DWORD PTR [EBP-8], EAX + JMP L_1000 +L_1017: + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [EBP-20] + SETAE AL + AND AL,AL + MOV DWORD PTR [EBP-8], EAX + JMP L_1000 +L_1018: + CALL _syntax_error + JMP L_1000 +L_1001: + CMP EAX,34 + JE L_1017 + CMP EAX,35 + JE L_1016 + CMP EAX,28 + JE L_1015 + CMP EAX,29 + JE L_1014 + CMP EAX,1 + JE L_1013 + CMP EAX,30 + JE L_1012 + CMP EAX,33 + JE L_1011 + CMP EAX,27 + JE L_1010 + CMP EAX,40 + JE L_1009 + CMP EAX,73 + JE L_1008 + CMP EAX,7 + JE L_1007 + CMP EAX,4 + JE L_1006 + CMP EAX,23 + JE L_1005 + CMP EAX,11 + JE L_1004 + CMP EAX,19 + JE L_1003 + CMP EAX,14 + JE L_1002 + JMP L_1018 +L_1000: + JMP L_1019 +L_999: + MOV EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [EBP-40], EAX + MOV EAX,DWORD PTR [EBP-12] + MOV DWORD PTR [EBP-44], EAX + MOV EAX,104 + MOV DWORD PTR [EBP-68], EAX + MOV EAX,DWORD PTR [EBP-12] + OR EAX,DWORD PTR [EBP-24] + AND EAX,135 + JZ L_1020 + MOV EAX,1 + MOV DWORD PTR [EBP-56], EAX +L_1020: + MOV EAX,DWORD PTR [EBP-16] + CMP EAX,104 + SETE AL + AND AL,AL + JZ L_1021 + MOV EAX,1 + MOV DWORD PTR [EBP-60], EAX +L_1021: + MOV EAX,DWORD PTR [EBP+8] + JMP L_1023 +L_1024: +L_1025: + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _push + JMP L_1026 +L_1027: + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-36], EAX + MOV EAX,14 + MOV DWORD PTR [EBP+8], EAX + JMP L_1022 +L_1028: + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-36], EAX + MOV EAX,19 + MOV DWORD PTR [EBP+8], EAX + JMP L_1022 +L_1029: + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-36], EAX + MOV EAX,11 + MOV DWORD PTR [EBP+8], EAX + JMP L_1022 +L_1030: + MOV EAX,23 + MOV DWORD PTR [EBP+8], EAX + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-36], EAX + JMP L_1022 +L_1031: + MOV EAX,4 + MOV DWORD PTR [EBP+8], EAX + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-36], EAX + JMP L_1022 +L_1032: + MOV EAX,27 + MOV DWORD PTR [EBP+8], EAX + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-36], EAX + JMP L_1022 +L_1033: + MOV EAX,33 + MOV DWORD PTR [EBP+8], EAX + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-36], EAX + JMP L_1022 +L_1034: + MOV EAX,7 + MOV DWORD PTR [EBP+8], EAX + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-36], EAX + JMP L_1022 +L_1035: + MOV EAX,73 + MOV DWORD PTR [EBP+8], EAX + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-36], EAX + JMP L_1022 +L_1036: + MOV EAX,40 + MOV DWORD PTR [EBP+8], EAX + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-36], EAX + JMP L_1022 +L_1023: + CMP EAX,39 + JE L_1036 + CMP EAX,72 + JE L_1035 + CMP EAX,6 + JE L_1034 + CMP EAX,32 + JE L_1033 + CMP EAX,26 + JE L_1032 + CMP EAX,3 + JE L_1031 + CMP EAX,22 + JE L_1030 + CMP EAX,10 + JE L_1029 + CMP EAX,17 + JE L_1028 + CMP EAX,13 + JE L_1027 + CMP EAX,71 + JE L_1025 + CMP EAX,5 + JE L_1024 +L_1022: + MOV EAX,DWORD PTR [EBP+8] + JMP L_1038 +L_1039: +L_1040: +L_1041: +L_1042: +L_1043: + MOV EAX,1 + MOV DWORD PTR [EBP-64], EAX + JMP L_1037 +L_1044: + MOV EAX,DWORD PTR [EBP-60] + AND EAX,EAX + JZ L_1045 + MOV EAX,DWORD PTR [EBP-56] + AND EAX,EAX + JZ L_1046 + MOV EAX,78 + MOV DWORD PTR [EBP+8], EAX + JMP L_1047 +L_1046: + MOV EAX,35 + MOV DWORD PTR [EBP+8], EAX +L_1047: + JMP L_1048 +L_1045: + MOV EAX,DWORD PTR [EBP-56] + AND EAX,EAX + JZ L_1049 + MOV EAX,76 + MOV DWORD PTR [EBP+8], EAX +L_1049: +L_1048: + JMP L_1037 +L_1050: + MOV EAX,DWORD PTR [EBP-60] + AND EAX,EAX + JZ L_1051 + MOV EAX,DWORD PTR [EBP-56] + AND EAX,EAX + JZ L_1052 + MOV EAX,79 + MOV DWORD PTR [EBP+8], EAX + JMP L_1053 +L_1052: + MOV EAX,34 + MOV DWORD PTR [EBP+8], EAX +L_1053: + JMP L_1054 +L_1051: + MOV EAX,DWORD PTR [EBP-56] + AND EAX,EAX + JZ L_1055 + MOV EAX,77 + MOV DWORD PTR [EBP+8], EAX +L_1055: +L_1054: + JMP L_1037 +L_1056: + MOV EAX,DWORD PTR [EBP-60] + AND EAX,EAX + JZ L_1057 + MOV EAX,DWORD PTR [EBP-56] + AND EAX,EAX + JZ L_1058 + MOV EAX,76 + MOV DWORD PTR [EBP+8], EAX + JMP L_1059 +L_1058: + MOV EAX,29 + MOV DWORD PTR [EBP+8], EAX +L_1059: + JMP L_1060 +L_1057: + MOV EAX,DWORD PTR [EBP-56] + AND EAX,EAX + JZ L_1061 + MOV EAX,78 + MOV DWORD PTR [EBP+8], EAX +L_1061: +L_1060: + JMP L_1037 +L_1062: + MOV EAX,DWORD PTR [EBP-60] + AND EAX,EAX + JZ L_1063 + MOV EAX,DWORD PTR [EBP-56] + AND EAX,EAX + JZ L_1064 + MOV EAX,77 + MOV DWORD PTR [EBP+8], EAX + JMP L_1065 +L_1064: + MOV EAX,28 + MOV DWORD PTR [EBP+8], EAX +L_1065: + JMP L_1066 +L_1063: + MOV EAX,DWORD PTR [EBP-56] + AND EAX,EAX + JZ L_1067 + MOV EAX,79 + MOV DWORD PTR [EBP+8], EAX +L_1067: +L_1066: + JMP L_1037 +L_1038: + CMP EAX,34 + JE L_1062 + CMP EAX,35 + JE L_1056 + CMP EAX,28 + JE L_1050 + CMP EAX,29 + JE L_1044 + CMP EAX,33 + JE L_1043 + CMP EAX,27 + JE L_1042 + CMP EAX,4 + JE L_1041 + CMP EAX,23 + JE L_1040 + CMP EAX,19 + JE L_1039 +L_1037: + MOV EAX,DWORD PTR [EBP-16] + CMP EAX,104 + SETE AL + AND AL,AL + JZ L_1068 + MOV EAX,DWORD PTR [EBP-64] +L_1068: + AND EAX,EAX + JZ L_1069 + CALL _test_not + PUSH OFFSET L_lit+4210 + CALL _out_inst + MOV EAX,105 + MOV DWORD PTR [EBP-16], EAX +L_1069: + MOV EAX,DWORD PTR [EBP-60] + AND EAX,EAX + JZ L_1070 + MOV EAX,DWORD PTR [EBP-64] + AND EAX,EAX + SETZ AL + AND AL,AL +L_1070: + JZ L_1071 + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-48], EAX + MOV EAX,DWORD PTR [EBP-16] + MOV DWORD PTR [EBP-4], EAX + MOV EAX,DWORD PTR [EBP-48] + MOV DWORD PTR [EBP-16], EAX + MOV EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [EBP-48], EAX + MOV EAX,DWORD PTR [EBP-20] + MOV DWORD PTR [EBP-8], EAX + MOV EAX,DWORD PTR [EBP-48] + MOV DWORD PTR [EBP-20], EAX + MOV EAX,DWORD PTR [EBP-12] + MOV DWORD PTR [EBP-48], EAX + MOV EAX,DWORD PTR [EBP-24] + MOV DWORD PTR [EBP-12], EAX + MOV EAX,DWORD PTR [EBP-48] + MOV DWORD PTR [EBP-24], EAX + MOV EAX,DWORD PTR [EBP-28] + MOV DWORD PTR [EBP-48], EAX + MOV EAX,DWORD PTR [EBP-32] + MOV DWORD PTR [EBP-28], EAX + MOV EAX,DWORD PTR [EBP-48] + MOV DWORD PTR [EBP-32], EAX +L_1071: + MOV EAX,DWORD PTR [EBP-24] + AND EAX,262144 + JZ L_1072 + CALL _type_error +L_1072: + MOV EAX,DWORD PTR [EBP+8] + CMP EAX,31 + SETNE AL + AND AL,AL + JZ L_1073 + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-28] + CALL _LoadEAX +L_1073: + PUSH DWORD PTR [EBP-16] + CALL _CheckStack + MOV DWORD PTR [EBP-16], EAX + MOV EAX,DWORD PTR [EBP+8] + JMP L_1075 +L_1076: + MOV EAX,DWORD PTR [EBP-16] + CMP EAX,DWORD PTR [EBP-4] + SETE AL + AND AL,AL + JZ L_1077 + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [EBP-20] + SETE AL + AND AL,AL +L_1077: + JZ L_1078 + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-68], EAX + JMP L_1074 +L_1078: + MOV EAX,DWORD PTR [EBP-60] + AND EAX,EAX + JZ L_1079 + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _store + JMP L_1080 +L_1079: + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _LoadEAX + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-28] + CALL _store +L_1080: + JMP L_1074 +L_1081: + MOV EAX,DWORD PTR [EBP-24] + AND EAX,71 + JZ L_1082 + PUSH OFFSET L_lit+4222 + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _GenCodeOper + JMP L_1083 +L_1082: + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _LoadECX + PUSH OFFSET L_lit+4232 + CALL _out_inst +L_1083: + XOR EAX,EAX + MOV _zero_flag, AL + JMP L_1074 +L_1084: + MOV EAX,DWORD PTR [EBP-24] + AND EAX,71 + JZ L_1085 + PUSH OFFSET L_lit+4244 + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _GenCodeOper + JMP L_1086 +L_1085: + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _LoadECX + PUSH OFFSET L_lit+4254 + CALL _out_inst +L_1086: + XOR EAX,EAX + MOV _zero_flag, AL + JMP L_1074 +L_1087: + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _LoadECX + MOV EAX,DWORD PTR [EBP-52] + AND EAX,128 + JZ L_1088 + PUSH OFFSET L_lit+4266 + CALL _out_inst + JMP L_1089 +L_1088: + PUSH OFFSET L_lit+4274 + CALL _out_inst +L_1089: + MOV EAX,1 + MOV _zero_flag, AL + JMP L_1074 +L_1090: +L_1091: + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _LoadECX + MOV EAX,DWORD PTR [EBP-52] + AND EAX,128 + JZ L_1092 + PUSH OFFSET L_lit+4283 + CALL _out_inst + PUSH OFFSET L_lit+4295 + CALL _out_inst + JMP L_1093 +L_1092: + PUSH OFFSET L_lit+4303 + CALL _out_inst + PUSH OFFSET L_lit+4307 + CALL _out_inst +L_1093: + MOV EAX,-1 + MOV _zero_flag, AL + MOV EAX,DWORD PTR [EBP+8] + CMP EAX,4 + SETE AL + AND AL,AL + JZ L_1094 + PUSH OFFSET L_lit+4316 + CALL _out_inst +L_1094: + JMP L_1074 +L_1095: + MOV EAX,DWORD PTR [EBP-24] + AND EAX,71 + JZ L_1096 + PUSH OFFSET L_lit+4328 + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _GenCodeOper + JMP L_1097 +L_1096: + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _LoadECX + PUSH OFFSET L_lit+4338 + CALL _out_inst +L_1097: + XOR EAX,EAX + MOV _zero_flag, AL + JMP L_1074 +L_1098: + MOV EAX,DWORD PTR [EBP-24] + AND EAX,71 + JZ L_1099 + PUSH OFFSET L_lit+4350 + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _GenCodeOper + JMP L_1100 +L_1099: + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _LoadECX + PUSH OFFSET L_lit+4359 + CALL _out_inst +L_1100: + XOR EAX,EAX + MOV _zero_flag, AL + JMP L_1074 +L_1101: + MOV EAX,DWORD PTR [EBP-24] + AND EAX,71 + JZ L_1102 + PUSH OFFSET L_lit+4370 + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _GenCodeOper + JMP L_1103 +L_1102: + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _LoadECX + PUSH OFFSET L_lit+4380 + CALL _out_inst +L_1103: + XOR EAX,EAX + MOV _zero_flag, AL + JMP L_1074 +L_1104: + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _LoadECX + PUSH OFFSET L_lit+4392 + CALL _out_inst + MOV EAX,DWORD PTR [EBP-52] + AND EAX,32 + JZ L_1105 + PUSH OFFSET L_lit+4403 + CALL _out_inst + JMP L_1106 +L_1105: + MOV EAX,DWORD PTR [EBP-52] + AND EAX,16 + JZ L_1107 + PUSH OFFSET L_lit+4418 + CALL _out_inst +L_1107: +L_1106: + XOR EAX,EAX + MOV _zero_flag, AL + JMP L_1074 +L_1108: + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _LoadECX + MOV EAX,DWORD PTR [EBP-52] + AND EAX,71 + JZ L_1109 + PUSH OFFSET L_lit+4431 + CALL _out_inst + JMP L_1110 +L_1109: + MOV EAX,DWORD PTR [EBP-52] + AND EAX,32 + JZ L_1111 + PUSH OFFSET L_lit+4442 + CALL _out_inst + JMP L_1112 +L_1111: + PUSH OFFSET L_lit+4452 + CALL _out_inst +L_1112: +L_1110: + XOR EAX,EAX + MOV _zero_flag, AL + JMP L_1074 +L_1113: +L_1114: +L_1115: +L_1116: +L_1117: +L_1118: +L_1119: +L_1120: +L_1121: +L_1122: + MOV EAX,DWORD PTR [EBP-24] + AND EAX,71 + JZ L_1123 + PUSH OFFSET L_lit+4462 + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _GenCodeOper + JMP L_1124 +L_1123: + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-32] + CALL _LoadECX + PUSH OFFSET L_lit+4472 + CALL _out_inst +L_1124: + MOV EAX,DWORD PTR [EBP+8] + JMP L_1126 +L_1127: + PUSH OFFSET L_lit+4484 + CALL _out_inst + JMP L_1125 +L_1128: + PUSH OFFSET L_lit+4492 + CALL _out_inst + JMP L_1125 +L_1129: + PUSH OFFSET L_lit+4501 + CALL _out_inst + JMP L_1125 +L_1130: + PUSH OFFSET L_lit+4509 + CALL _out_inst + JMP L_1125 +L_1131: + PUSH OFFSET L_lit+4518 + CALL _out_inst + JMP L_1125 +L_1132: + PUSH OFFSET L_lit+4526 + CALL _out_inst + JMP L_1125 +L_1133: + PUSH OFFSET L_lit+4535 + CALL _out_inst + JMP L_1125 +L_1134: + PUSH OFFSET L_lit+4543 + CALL _out_inst + JMP L_1125 +L_1135: + PUSH OFFSET L_lit+4552 + CALL _out_inst + JMP L_1125 +L_1136: + PUSH OFFSET L_lit+4560 + CALL _out_inst + JMP L_1125 +L_1126: + CMP EAX,79 + JE L_1136 + CMP EAX,78 + JE L_1135 + CMP EAX,77 + JE L_1134 + CMP EAX,76 + JE L_1133 + CMP EAX,34 + JE L_1132 + CMP EAX,35 + JE L_1131 + CMP EAX,28 + JE L_1130 + CMP EAX,29 + JE L_1129 + CMP EAX,1 + JE L_1128 + CMP EAX,30 + JE L_1127 +L_1125: + PUSH OFFSET L_lit+4569 + CALL _out_inst + XOR EAX,EAX + MOV _zero_flag, AL + JMP L_1074 +L_1137: + CALL _syntax_error + JMP L_1074 +L_1075: + CMP EAX,79 + JE L_1122 + CMP EAX,78 + JE L_1121 + CMP EAX,77 + JE L_1120 + CMP EAX,76 + JE L_1119 + CMP EAX,34 + JE L_1118 + CMP EAX,35 + JE L_1117 + CMP EAX,28 + JE L_1116 + CMP EAX,29 + JE L_1115 + CMP EAX,1 + JE L_1114 + CMP EAX,30 + JE L_1113 + CMP EAX,33 + JE L_1108 + CMP EAX,27 + JE L_1104 + CMP EAX,40 + JE L_1101 + CMP EAX,73 + JE L_1098 + CMP EAX,7 + JE L_1095 + CMP EAX,4 + JE L_1091 + CMP EAX,23 + JE L_1090 + CMP EAX,11 + JE L_1087 + CMP EAX,19 + JE L_1084 + CMP EAX,14 + JE L_1081 + CMP EAX,31 + JE L_1076 + JMP L_1137 +L_1074: + MOV EAX,DWORD PTR [EBP-36] + AND EAX,EAX + JZ L_1138 + PUSH DWORD PTR [EBP-36] + PUSH DWORD PTR [EBP-40] + PUSH DWORD PTR [EBP-44] + PUSH DWORD PTR [EBP-28] + CALL _store +L_1138: + MOV EAX,DWORD PTR [EBP-68] + MOV DWORD PTR [EBP-4], EAX +L_1019: + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-52] + PUSH DWORD PTR [EBP-28] + CALL _push +L_1026: + MOV ESP,EBP + POP EBP + RETN 4 +_test_not: + PUSH EBP + MOV EBP,ESP + MOVSX EAX,_not_flag + AND EAX,EAX + JZ L_1139 + PUSH OFFSET L_lit+4579 + CALL _out_inst + PUSH OFFSET L_lit+4591 + CALL _out_inst + PUSH OFFSET L_lit+4599 + CALL _out_inst + XOR EAX,EAX + MOV _not_flag, AL + XOR EAX,EAX + MOV _zero_flag, AL +L_1139: + POP EBP + RETN +_store: + PUSH EBP + MOV EBP,ESP + PUSH DWORD PTR [EBP+20] + CALL _CheckStack + MOV DWORD PTR [EBP+20], EAX + MOV EAX,DWORD PTR [EBP+20] + JMP L_1141 +L_1142: +L_1143: +L_1144: +L_1145: +L_1146: + PUSH DWORD PTR [EBP+20] + CALL _CheckStack + MOV DWORD PTR [EBP+20], EAX + MOV EAX,DWORD PTR [EBP+12] + AND EAX,71 + JZ L_1147 + PUSH OFFSET L_lit+4609 + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _GenCodeOper + JMP L_1148 +L_1147: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,32 + JZ L_1149 + PUSH OFFSET L_lit+4620 + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _GenCodeOper + JMP L_1150 +L_1149: + PUSH OFFSET L_lit+4630 + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _GenCodeOper +L_1150: +L_1148: + MOV EAX,-1 + MOV _zero_flag, AL + JMP L_1140 +L_1151: + PUSH OFFSET L_lit+4640 + CALL _line_error + JMP L_1140 +L_1141: + CMP EAX,111 + JE L_1146 + CMP EAX,108 + JE L_1145 + CMP EAX,107 + JE L_1144 + CMP EAX,109 + JE L_1143 + CMP EAX,103 + JE L_1142 + JMP L_1151 +L_1140: + POP EBP + RETN 16 +_ispStruct: + PUSH EBP + MOV EBP,ESP + MOV EAX,DWORD PTR [EBP+12] + AND EAX,7 + CMP EAX,1 + SETA AL + AND AL,AL + JZ L_1152 + XOR EAX,EAX + JMP L_1153 +L_1152: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,512 + JZ L_1154 + MOV EAX,DWORD PTR [EBP+12] + AND EAX,7 +L_1154: + JZ L_1155 + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+16] + MOV _strucsize, EAX + MOV EAX,1 + JMP L_1153 +L_1155: + XOR EAX,EAX +L_1153: + POP EBP + RETN 8 +_isp32: + PUSH EBP + MOV EBP,ESP + MOV EAX,DWORD PTR [EBP+8] + AND EAX,6 + JZ L_1156 + MOV EAX,1 + JMP L_1157 +L_1156: + MOV EAX,DWORD PTR [EBP+8] + AND EAX,7 + JZ L_1158 + MOV EAX,DWORD PTR [EBP+8] + AND EAX,64 + JMP L_1157 +L_1158: + XOR EAX,EAX +L_1157: + POP EBP + RETN 4 +_isp16: + PUSH EBP + MOV EBP,ESP + MOV EAX,DWORD PTR [EBP+8] + AND EAX,7 + JZ L_1159 + MOV EAX,DWORD PTR [EBP+8] + AND EAX,32 + JMP L_1160 +L_1159: + XOR EAX,EAX +L_1160: + POP EBP + RETN 4 +_do_asm: + PUSH EBP + MOV EBP,ESP + PUSH DWORD PTR [EBP+8] + CALL _code_str + POP EBP + RETN 4 +_init_static: + PUSH EBP + MOV EBP,ESP + SUB ESP,16 + MOV EAX,OFFSET L_lit+4655 + MOV DWORD PTR [EBP-4], EAX + MOV EAX,_global_width + AND EAX,EAX + JZ L_1161 + MOV EAX,OFFSET L_lit+4656 + MOV DWORD PTR [EBP-4], EAX + JMP L_1162 +L_1161: + MOVSX EAX,BYTE PTR [EBP+8] + CMP EAX,1 + SETE AL + AND AL,AL + JZ L_1163 + MOV EAX,OFFSET L_lit+4658 + MOV DWORD PTR [EBP-4], EAX + JMP L_1164 +L_1163: + MOVSX EAX,BYTE PTR [EBP+8] + CMP EAX,2 + SETE AL + AND AL,AL + JZ L_1165 + MOV EAX,OFFSET L_lit+4663 + MOV DWORD PTR [EBP-4], EAX + JMP L_1166 +L_1165: + MOVSX EAX,BYTE PTR [EBP+8] + CMP EAX,4 + SETE AL + AND AL,AL + JZ L_1167 + MOV EAX,OFFSET L_lit+4668 + MOV DWORD PTR [EBP-4], EAX +L_1167: +L_1166: +L_1164: +L_1162: + MOV EAX,DWORD PTR [EBP+16] + CMP EAX,103 + SETE AL + AND AL,AL + JZ L_1168 + MOV EAX,OFFSET L_lit+4673 + MOV DWORD PTR [EBP-8], EAX + MOV EAX,_global_width + ADD EAX,7 + MOV _global_width, EAX + JMP L_1169 +L_1168: + MOV EAX,DWORD PTR [EBP+16] + CMP EAX,101 + SETE AL + AND AL,AL + JZ L_1170 + MOV EAX,OFFSET L_lit+4681 + MOV DWORD PTR [EBP-8], EAX + MOV EAX,DWORD PTR [EBP-8] + ADD EAX,7 + MOV ESI,EAX ;IndexPtr + MOVSX EAX,_prefix + MOV BYTE PTR [ESI], AL + MOV EAX,_global_width + ADD EAX,23 + MOV _global_width, EAX + JMP L_1171 +L_1170: + MOV EAX,DWORD PTR [EBP+16] + CMP EAX,102 + SETE AL + AND AL,AL + JZ L_1172 + MOV EAX,OFFSET L_lit+4695 + MOV DWORD PTR [EBP-8], EAX + MOV ESI,DWORD PTR [EBP-8] + MOVSX EAX,_prefix + MOV BYTE PTR [ESI], AL + MOV EAX,_global_width + ADD EAX,4 + MOV _global_width, EAX + JMP L_1173 +L_1172: + MOV EAX,OFFSET L_lit+4698 + MOV DWORD PTR [EBP-8], EAX + MOV EAX,_global_width + ADD EAX,6 + MOV _global_width, EAX +L_1173: +L_1171: +L_1169: + MOV ESI,DWORD PTR [EBP-4] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_1174 + PUSH DWORD PTR [EBP-4] + CALL _data_str +L_1174: + MOV ESI,DWORD PTR [EBP-8] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_1175 + PUSH DWORD PTR [EBP-8] + CALL _data_str +L_1175: + MOV EAX,DWORD PTR [EBP+16] + CMP EAX,103 + SETNE AL + AND AL,AL + JZ L_1176 + PUSH DWORD PTR [EBP+12] + CALL _data_num + JMP L_1177 +L_1176: + MOV EAX,DWORD PTR [EBP+12] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV ESI,OFFSET _GPool + ADD ESI,EAX + MOV EAX,ESI + MOV DWORD PTR [EBP-12], EAX + PUSH DWORD PTR [EBP-12] + CALL _data_str + XOR EAX,EAX + MOV DWORD PTR [EBP-16], EAX +L_1178: + MOV ESI,DWORD PTR [EBP-12] + INC DWORD PTR [EBP-12] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_1179 + MOV EAX,DWORD PTR [EBP-16] + ADD EAX,1 + MOV DWORD PTR [EBP-16], EAX + JMP L_1178 +L_1179: + MOV EAX,_global_width + ADD EAX,DWORD PTR [EBP-16] + MOV _global_width, EAX +L_1177: + MOV EAX,_global_width + CMP EAX,60 + SETA AL + AND AL,AL + JZ L_1180 + XOR EAX,EAX + MOV _global_width, EAX + PUSH 10 + CALL _data_chr +L_1180: + MOV ESP,EBP + POP EBP + RETN 12 +_end_static: + PUSH EBP + MOV EBP,ESP + MOV EAX,_global_width + AND EAX,EAX + JZ L_1181 + PUSH 10 + CALL _data_chr + XOR EAX,EAX + MOV _global_width, EAX +L_1181: + POP EBP + RETN +_gen_global: + PUSH EBP + MOV EBP,ESP + PUSH DWORD PTR [EBP+12] + CALL _data_global + MOV EAX,DWORD PTR [EBP+12] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,71 + JZ L_1182 + MOV EAX,DWORD PTR [EBP+8] + CMP EAX,4 + SETE AL + AND AL,AL + JZ L_1183 + PUSH OFFSET L_lit+4699 + CALL _data_str + JMP L_1184 +L_1183: + PUSH OFFSET L_lit+4707 + CALL _data_str + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,4 + XOR EDX,EDX + DIV ECX + PUSH EAX + CALL _data_num + PUSH OFFSET L_lit+4712 + CALL _data_str +L_1184: + JMP L_1185 +L_1182: + MOV EAX,DWORD PTR [EBP+12] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,32 + JZ L_1186 + MOV EAX,DWORD PTR [EBP+8] + CMP EAX,2 + SETE AL + AND AL,AL + JZ L_1187 + PUSH OFFSET L_lit+4721 + CALL _data_str + JMP L_1188 +L_1187: + PUSH OFFSET L_lit+4729 + CALL _data_str + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,2 + XOR EDX,EDX + DIV ECX + PUSH EAX + CALL _data_num + PUSH OFFSET L_lit+4734 + CALL _data_str +L_1188: + JMP L_1189 +L_1186: + MOV EAX,DWORD PTR [EBP+12] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,528 + JZ L_1190 + MOV EAX,DWORD PTR [EBP+8] + CMP EAX,1 + SETE AL + AND AL,AL + JZ L_1191 + PUSH OFFSET L_lit+4743 + CALL _data_str + JMP L_1192 +L_1191: + PUSH OFFSET L_lit+4751 + CALL _data_str + PUSH DWORD PTR [EBP+8] + CALL _data_num + PUSH OFFSET L_lit+4756 + CALL _data_str +L_1192: +L_1190: +L_1189: +L_1185: + POP EBP + RETN 8 +_gen_extern_DASM: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-4], EAX + MOV EAX,DWORD PTR [EBP-4] + AND EAX,8192 + JZ L_1193 + PUSH OFFSET L_lit+4765 + CALL _data_str + PUSH 95 + CALL _data_chr + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV ESI,OFFSET _GPool + ADD ESI,EAX + PUSH ESI + CALL _data_str + PUSH OFFSET L_lit+4772 + CALL _data_str + PUSH 10 + CALL _data_chr + JMP L_1194 +L_1193: + MOV EAX,DWORD PTR [EBP-4] + AND EAX,262144 + JZ L_1195 + PUSH OFFSET L_lit+4779 + CALL _code_str + PUSH 95 + CALL _code_chr + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV ESI,OFFSET _GPool + ADD ESI,EAX + PUSH ESI + CALL _code_str + PUSH 58 + CALL _code_chr + PUSH OFFSET L_lit+4786 + CALL _code_str + PUSH 10 + CALL _code_chr +L_1195: +L_1194: + MOV ESP,EBP + POP EBP + RETN 4 +_gen_ext_data_DASM: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-4], EAX + MOV EAX,DWORD PTR [EBP-4] + AND EAX,262144 + JNZ L_1196 + PUSH OFFSET L_lit+4792 + CALL _data_str + PUSH 95 + CALL _data_chr + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV ESI,OFFSET _GPool + ADD ESI,EAX + PUSH ESI + CALL _data_str + MOV EAX,DWORD PTR [EBP-4] + AND EAX,71 + JZ L_1197 + PUSH OFFSET L_lit+4799 + CALL _data_str + JMP L_1198 +L_1197: + MOV EAX,DWORD PTR [EBP-4] + AND EAX,32 + JZ L_1199 + PUSH OFFSET L_lit+4803 + CALL _data_str + JMP L_1200 +L_1199: + PUSH OFFSET L_lit+4807 + CALL _data_str +L_1200: +L_1198: + PUSH 10 + CALL _data_chr +L_1196: + MOV ESP,EBP + POP EBP + RETN 4 +_enter_func: + PUSH EBP + MOV EBP,ESP + PUSH DWORD PTR [EBP+12] + CALL _code_global + PUSH OFFSET L_lit+4811 + CALL _code_str + MOV EAX,_fptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,8388608 + JZ L_1201 + PUSH OFFSET L_lit+4814 + CALL _out_inst + JMP L_1202 +L_1201: + PUSH OFFSET L_lit+4821 + CALL _out_inst + PUSH OFFSET L_lit+4830 + CALL _out_inst + MOV EAX,DWORD PTR [EBP+8] + AND EAX,EAX + JZ L_1203 + PUSH OFFSET L_lit+4842 + CALL _code_str + PUSH DWORD PTR [EBP+8] + CALL _code_num + PUSH 10 + CALL _code_chr +L_1203: +L_1202: + POP EBP + RETN 8 +_end_func: + PUSH EBP + MOV EBP,ESP + MOV EAX,_fptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,8388608 + JZ L_1204 + PUSH OFFSET L_lit+4852 + CALL _out_inst + PUSH OFFSET L_lit+4858 + CALL _out_inst + JMP L_1205 +L_1204: + MOV EAX,_local_stack + AND EAX,EAX + JZ L_1206 + PUSH OFFSET L_lit+4864 + CALL _out_inst +L_1206: + PUSH OFFSET L_lit+4876 + CALL _out_inst + MOV EAX,DWORD PTR [EBP+8] + AND EAX,EAX + JZ L_1207 + MOV EAX,_fptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,8192 + JZ L_1208 + PUSH OFFSET L_lit+4884 + CALL _code_str + JMP L_1209 +L_1208: + PUSH OFFSET L_lit+4891 + CALL _code_str +L_1209: + PUSH DWORD PTR [EBP+8] + CALL _code_num + PUSH 10 + CALL _code_chr + JMP L_1210 +L_1207: + MOV EAX,_fptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,8192 + JZ L_1211 + PUSH OFFSET L_lit+4898 + CALL _out_inst + JMP L_1212 +L_1211: + PUSH OFFSET L_lit+4904 + CALL _out_inst +L_1212: +L_1210: +L_1205: + POP EBP + RETN 4 +_gen_label: + PUSH EBP + MOV EBP,ESP + MOVSX EAX,_prefix + PUSH EAX + CALL _code_chr + PUSH 95 + CALL _code_chr + PUSH DWORD PTR [EBP+8] + CALL _code_num + PUSH OFFSET L_lit+4909 + CALL _code_str + POP EBP + RETN 4 +_gen_literal: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + MOV EAX,DWORD PTR [EBP+8] + AND EAX,EAX + JZ L_1213 + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX + MOVSX EAX,_prefix + PUSH EAX + CALL _data_chr + PUSH OFFSET L_lit+4912 + CALL _data_str +L_1214: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [EBP+8] + SETB AL + AND AL,AL + JZ L_1215 + MOV EAX,DWORD PTR [EBP-4] + MOV ECX,16 + XOR EDX,EDX + DIV ECX + MOV EAX,EDX + AND EAX,EAX + JZ SHORT L_1217 + MOV EAX,OFFSET L_lit+4917 + JMP SHORT L_1216 +L_1217: + MOV EAX,OFFSET L_lit+4919 +L_1216: + PUSH EAX + CALL _data_str + MOV ESI,DWORD PTR [EBP+12] + INC DWORD PTR [EBP+12] + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + PUSH EAX + CALL _data_num + INC DWORD PTR [EBP-4] + MOV EAX,DWORD PTR [EBP-4] + MOV ECX,16 + XOR EDX,EDX + DIV ECX + MOV EAX,EDX + AND EAX,EAX + JNZ L_1218 + PUSH 10 + CALL _data_chr +L_1218: + JMP L_1214 +L_1215: + MOV EAX,DWORD PTR [EBP-4] + MOV ECX,16 + XOR EDX,EDX + DIV ECX + MOV EAX,EDX + AND EAX,EAX + JZ L_1219 + PUSH 10 + CALL _data_chr +L_1219: +L_1213: + MOV ESP,EBP + POP EBP + RETN 8 +_call: + PUSH EBP + MOV EBP,ESP + PUSH DWORD PTR [EBP+24] + CALL _CheckStack + MOV DWORD PTR [EBP+24], EAX + MOV EAX,DWORD PTR [EBP+16] + AND EAX,8192 + JZ L_1220 + PUSH OFFSET L_lit+4924 + CALL _code_str + JMP L_1221 +L_1220: + PUSH OFFSET L_lit+4941 + CALL _code_str +L_1221: + MOV EAX,DWORD PTR [EBP+24] + CMP EAX,100 + SETE AL + AND AL,AL + JZ L_1222 + PUSH DWORD PTR [EBP+20] + CALL _code_num + JMP L_1223 +L_1222: + PUSH DWORD PTR [EBP+24] + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + CALL _write_oper +L_1223: + PUSH 10 + CALL _code_chr + MOV EAX,DWORD PTR [EBP+8] + AND EAX,EAX + JZ L_1224 + MOV EAX,DWORD PTR [EBP+8] + SHL EAX,2 + MOV DWORD PTR [EBP+8], EAX + PUSH OFFSET L_lit+4948 + CALL _code_str + PUSH DWORD PTR [EBP+8] + CALL _code_num + PUSH 10 + CALL _code_chr +L_1224: + MOV EAX,-1 + MOV _zero_flag, AL + POP EBP + RETN 20 +_jump: + PUSH EBP + MOV EBP,ESP + MOVSX EAX,BYTE PTR [EBP+8] + AND EAX,EAX + JZ SHORT L_1226 + MOV EAX,OFFSET L_lit+4958 + JMP SHORT L_1225 +L_1226: + MOV EAX,OFFSET L_lit+4964 +L_1225: + PUSH EAX + CALL _code_str + MOVSX EAX,_prefix + PUSH EAX + CALL _code_chr + PUSH 95 + CALL _code_chr + PUSH DWORD PTR [EBP+12] + CALL _code_num + PUSH 10 + CALL _code_chr + POP EBP + RETN 8 +_jump_if: + PUSH EBP + MOV EBP,ESP + MOVSX EAX,BYTE PTR [EBP+8] + AND EAX,EAX + JZ L_1227 + MOVSX EAX,BYTE PTR [EBP+16] + AND EAX,EAX + JZ SHORT L_1229 + MOV EAX,OFFSET L_lit+4976 + JMP SHORT L_1228 +L_1229: + MOV EAX,OFFSET L_lit+4982 +L_1228: + PUSH EAX + CALL _code_str + JMP L_1230 +L_1227: + MOVSX EAX,BYTE PTR [EBP+16] + AND EAX,EAX + JZ SHORT L_1232 + MOV EAX,OFFSET L_lit+4987 + JMP SHORT L_1231 +L_1232: + MOV EAX,OFFSET L_lit+4999 +L_1231: + PUSH EAX + CALL _code_str +L_1230: + MOVSX EAX,_prefix + PUSH EAX + CALL _code_chr + PUSH 95 + CALL _code_chr + PUSH DWORD PTR [EBP+12] + CALL _code_num + PUSH 10 + CALL _code_chr + POP EBP + RETN 12 +_do_switch: + PUSH EBP + MOV EBP,ESP + PUSH OFFSET L_lit+5010 + CALL _code_str + MOVSX EAX,_prefix + PUSH EAX + CALL _code_chr + PUSH 95 + CALL _code_chr + PUSH DWORD PTR [EBP+8] + CALL _code_num + PUSH 10 + CALL _code_chr + POP EBP + RETN 4 +_build_switch: + PUSH EBP + MOV EBP,ESP +L_1233: + MOV EAX,_switch_ptr + CMP EAX,DWORD PTR [EBP+8] + SETA AL + AND AL,AL + JZ L_1234 + PUSH OFFSET L_lit+5016 + CALL _code_str + DEC _switch_ptr + MOV EAX,_switch_ptr + SHL EAX,2 + MOV ESI,OFFSET _switch_stack + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _code_num + PUSH 10 + CALL _code_chr + PUSH OFFSET L_lit+5026 + CALL _code_str + MOVSX EAX,_prefix + PUSH EAX + CALL _code_chr + PUSH 95 + CALL _code_chr + DEC _switch_ptr + MOV EAX,_switch_ptr + SHL EAX,2 + MOV ESI,OFFSET _switch_stack + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _code_num + PUSH 10 + CALL _code_chr + JMP L_1233 +L_1234: + POP EBP + RETN 4 +_index_ptr: + PUSH EBP + MOV EBP,ESP + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,104 + SETE AL + AND AL,AL + JZ L_1235 + PUSH OFFSET L_lit+5031 + CALL _out_inst + JMP L_1236 +L_1235: + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,109 + SETE AL + AND AL,AL + JZ L_1237 + JMP L_1238 +L_1237: + PUSH DWORD PTR [EBP+20] + CALL _CheckStack + MOV DWORD PTR [EBP+20], EAX + PUSH OFFSET L_lit+5043 + CALL _code_str + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _write_oper + PUSH OFFSET L_lit+5053 + CALL _code_str +L_1239: +L_1236: +L_1238: + POP EBP + RETN 16 +_index_adr: + PUSH EBP + MOV EBP,ESP + MOV EAX,DWORD PTR [EBP+20] + CMP EAX,109 + SETNE AL + AND AL,AL + JZ L_1240 + MOV EAX,DWORD PTR [EBP+12] + AND EAX,2097152 + JZ SHORT L_1242 + MOV EAX,OFFSET L_lit+5055 + JMP SHORT L_1241 +L_1242: + MOV EAX,OFFSET L_lit+5072 +L_1241: + PUSH EAX + CALL _code_str + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + CALL _write_oper + PUSH OFFSET L_lit+5082 + CALL _code_str +L_1240: + POP EBP + RETN 16 +_code_global: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV ESI,OFFSET _GPool + ADD ESI,EAX + MOV EAX,ESI + MOV DWORD PTR [EBP-4], EAX + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,4096 + JNZ L_1243 + PUSH OFFSET L_lit+5084 + CALL _code_str +L_1243: + PUSH 95 + CALL _code_chr + PUSH DWORD PTR [EBP-4] + CALL _code_str + MOV ESP,EBP + POP EBP + RETN 4 +_data_global: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV ESI,OFFSET _GPool + ADD ESI,EAX + MOV EAX,ESI + MOV DWORD PTR [EBP-4], EAX + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,4096 + JNZ L_1244 + PUSH OFFSET L_lit+5092 + CALL _data_str +L_1244: + PUSH 95 + CALL _data_chr + PUSH DWORD PTR [EBP-4] + CALL _data_str + MOV ESP,EBP + POP EBP + RETN 4 +_code_chr: + PUSH EBP + MOV EBP,ESP + MOV EAX,_pc + INC _pc + MOV ESI,_pcodebuf + ADD ESI,EAX + MOVSX EAX,BYTE PTR [EBP+8] + MOV BYTE PTR [ESI], AL + MOV EAX,_pc + CMP EAX,511999 + SETAE AL + AND AL,AL + JZ L_1245 + PUSH OFFSET L_lit+5100 + MOV EDI, 0 + CALL _printf + ADD ESP,4 + PUSH 1 + CALL _exit +L_1245: + POP EBP + RETN 4 +_code_str: + PUSH EBP + MOV EBP,ESP +L_1246: + MOV ESI,DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_1247 + MOV ESI,DWORD PTR [EBP+8] + INC DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _code_chr + JMP L_1246 +L_1247: + POP EBP + RETN 4 +_code_num: + PUSH EBP + MOV EBP,ESP + SUB ESP,14 + MOV EAX,DWORD PTR [EBP+8] + AND EAX,-2147483648 + JZ L_1248 + PUSH 45 + CALL _code_chr + NEG DWORD PTR [EBP+8] + MOV EAX,DWORD PTR [EBP-8] +L_1248: + XOR EAX,EAX + MOV DWORD PTR [EBP-14], EAX +L_1249: + MOV EAX,DWORD PTR [EBP-14] + INC DWORD PTR [EBP-14] + LEA ESI,BYTE PTR [EBP-10] + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,10 + XOR EDX,EDX + DIV ECX + MOV EAX,EDX + ADD EAX,48 + MOV BYTE PTR [ESI], AL +L_1250: + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,10 + XOR EDX,EDX + DIV ECX + MOV DWORD PTR [EBP+8], EAX + AND EAX,EAX + JNZ L_1249 +L_1251: +L_1252: + MOV EAX,DWORD PTR [EBP-14] + AND EAX,EAX + JZ L_1253 + DEC DWORD PTR [EBP-14] + MOV EAX,DWORD PTR [EBP-14] + LEA ESI,BYTE PTR [EBP-10] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _code_chr + JMP L_1252 +L_1253: + MOV ESP,EBP + POP EBP + RETN 4 +_data_chr: + PUSH EBP + MOV EBP,ESP + MOV EAX,_pd + INC _pd + MOV ESI,OFFSET _databuf + ADD ESI,EAX + MOVSX EAX,BYTE PTR [EBP+8] + MOV BYTE PTR [ESI], AL + MOV EAX,_pd + CMP EAX,4095 + SETA AL + AND AL,AL + JZ L_1254 + PUSH OFFSET _databuf + PUSH 4096 + PUSH 1 + PUSH _asm_fh + CALL _fwrite + XOR EAX,EAX + MOV _pd, EAX +L_1254: + POP EBP + RETN 4 +_data_str: + PUSH EBP + MOV EBP,ESP +L_1255: + MOV ESI,DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_1256 + MOV ESI,DWORD PTR [EBP+8] + INC DWORD PTR [EBP+8] + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _data_chr + JMP L_1255 +L_1256: + POP EBP + RETN 4 +_data_num: + PUSH EBP + MOV EBP,ESP + SUB ESP,14 + MOV EAX,DWORD PTR [EBP+8] + AND EAX,-2147483648 + JZ L_1257 + PUSH 45 + CALL _data_chr + NEG DWORD PTR [EBP+8] + MOV EAX,DWORD PTR [EBP-8] +L_1257: + XOR EAX,EAX + MOV DWORD PTR [EBP-14], EAX +L_1258: + MOV EAX,DWORD PTR [EBP-14] + INC DWORD PTR [EBP-14] + LEA ESI,BYTE PTR [EBP-10] + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,10 + XOR EDX,EDX + DIV ECX + MOV EAX,EDX + ADD EAX,48 + MOV BYTE PTR [ESI], AL +L_1259: + MOV EAX,DWORD PTR [EBP+8] + MOV ECX,10 + XOR EDX,EDX + DIV ECX + MOV DWORD PTR [EBP+8], EAX + AND EAX,EAX + JNZ L_1258 +L_1260: +L_1261: + MOV EAX,DWORD PTR [EBP-14] + AND EAX,EAX + JZ L_1262 + DEC DWORD PTR [EBP-14] + MOV EAX,DWORD PTR [EBP-14] + LEA ESI,BYTE PTR [EBP-10] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _data_chr + JMP L_1261 +L_1262: + MOV ESP,EBP + POP EBP + RETN 4 +_put_num: + PUSH EBP + MOV EBP,ESP + SUB ESP,14 + MOV EAX,DWORD PTR [EBP+12] + AND EAX,-2147483648 + JZ L_1263 + PUSH 45 + PUSH DWORD PTR [EBP+8] + CALL _fputc + NEG DWORD PTR [EBP+12] + MOV EAX,DWORD PTR [EBP-12] +L_1263: + XOR EAX,EAX + MOV DWORD PTR [EBP-14], EAX +L_1264: + MOV EAX,DWORD PTR [EBP-14] + INC DWORD PTR [EBP-14] + LEA ESI,BYTE PTR [EBP-10] + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP+12] + MOV ECX,10 + XOR EDX,EDX + DIV ECX + MOV EAX,EDX + ADD EAX,48 + MOV BYTE PTR [ESI], AL +L_1265: + MOV EAX,DWORD PTR [EBP+12] + MOV ECX,10 + XOR EDX,EDX + DIV ECX + MOV DWORD PTR [EBP+12], EAX + AND EAX,EAX + JNZ L_1264 +L_1266: +L_1267: + MOV EAX,DWORD PTR [EBP-14] + AND EAX,EAX + JZ L_1268 + DEC DWORD PTR [EBP-14] + MOV EAX,DWORD PTR [EBP-14] + LEA ESI,BYTE PTR [EBP-10] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + PUSH DWORD PTR [EBP+8] + CALL _fputc + JMP L_1267 +L_1268: + MOV ESP,EBP + POP EBP + RETN 8 +_statement: + PUSH EBP + MOV EBP,ESP + SUB ESP,16 + CALL _test_exit + MOV EAX,DWORD PTR [EBP+8] + JMP L_1270 +L_1271: + CALL _check_func + JMP L_1272 +L_1273: +L_1274: + CALL _get_token + MOV DWORD PTR [EBP+8], EAX + CMP EAX,74 + SETNE AL + AND AL,AL + JZ L_1275 + PUSH DWORD PTR [EBP+8] + CALL _statement + JMP L_1274 +L_1275: + JMP L_1269 +L_1276: +L_1277: +L_1278: +L_1279: +L_1280: +L_1281: +L_1282: +L_1283: +L_1284: +L_1285: +L_1286: +L_1287: + PUSH DWORD PTR [EBP+8] + XOR EAX,EAX + PUSH EAX + CALL _declare + JMP L_1269 +L_1288: + CALL _check_func + PUSH 8 + CALL _expect + PUSH 9 + XOR EAX,EAX + PUSH EAX + CALL _eval + XOR EAX,EAX + PUSH EAX + INC _next_lab + MOV EAX,_next_lab + MOV DWORD PTR [EBP-4], EAX + PUSH EAX + PUSH -1 + CALL _cond_jump + CALL _get_token + PUSH EAX + CALL _statement + PUSH 48 + CALL _test_token + AND EAX,EAX + JZ L_1289 + INC _next_lab + MOV EAX,_next_lab + MOV DWORD PTR [EBP-8], EAX + PUSH EAX + CALL _test_jump + PUSH DWORD PTR [EBP-4] + CALL _gen_label + MOV EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [EBP-4], EAX + CALL _get_token + PUSH EAX + CALL _statement +L_1289: + CALL _test_exit + PUSH DWORD PTR [EBP-4] + CALL _gen_label + JMP L_1269 +L_1290: + CALL _check_func + MOV EAX,_loop_ptr + SHL EAX,2 + MOV ESI,OFFSET _continue_stack + ADD ESI,EAX + INC _next_lab + MOV EAX,_next_lab + MOV DWORD PTR [EBP-4], EAX + MOV DWORD PTR [ESI], EAX + PUSH EAX + CALL _gen_label + MOV EAX,_loop_ptr + INC _loop_ptr + SHL EAX,2 + MOV ESI,OFFSET _break_stack + ADD ESI,EAX + INC _next_lab + MOV EAX,_next_lab + MOV DWORD PTR [EBP-8], EAX + MOV DWORD PTR [ESI], EAX + PUSH 8 + CALL _expect + PUSH 9 + XOR EAX,EAX + PUSH EAX + CALL _eval + XOR EAX,EAX + PUSH EAX + PUSH DWORD PTR [EBP-8] + PUSH -1 + CALL _cond_jump + CALL _get_token + PUSH EAX + CALL _statement + PUSH DWORD PTR [EBP-4] + CALL _test_jump + PUSH DWORD PTR [EBP-8] + CALL _gen_label + DEC _loop_ptr + MOV EAX,_loop_ptr + JMP L_1269 +L_1291: + CALL _check_func + INC _next_lab + MOV EAX,_next_lab + MOV DWORD PTR [EBP-4], EAX + PUSH EAX + CALL _gen_label + MOV EAX,_loop_ptr + SHL EAX,2 + MOV ESI,OFFSET _continue_stack + ADD ESI,EAX + INC _next_lab + MOV EAX,_next_lab + MOV DWORD PTR [EBP-8], EAX + MOV DWORD PTR [ESI], EAX + MOV EAX,_loop_ptr + INC _loop_ptr + SHL EAX,2 + MOV ESI,OFFSET _break_stack + ADD ESI,EAX + INC _next_lab + MOV EAX,_next_lab + MOV DWORD PTR [EBP-12], EAX + MOV DWORD PTR [ESI], EAX + CALL _get_token + PUSH EAX + CALL _statement + PUSH DWORD PTR [EBP-8] + CALL _gen_label + PUSH 69 + CALL _expect + PUSH 25 + XOR EAX,EAX + PUSH EAX + CALL _eval + PUSH 1 + PUSH DWORD PTR [EBP-4] + PUSH -1 + CALL _cond_jump + PUSH DWORD PTR [EBP-12] + CALL _gen_label + DEC _loop_ptr + MOV EAX,_loop_ptr + JMP L_1269 +L_1292: + CALL _check_func + PUSH 8 + CALL _expect + PUSH 25 + CALL _test_token + AND EAX,EAX + JNZ L_1293 + PUSH 25 + PUSH -1 + CALL _eval +L_1293: + INC _next_lab + MOV EAX,_next_lab + MOV DWORD PTR [EBP-4], EAX + MOV DWORD PTR [EBP-16], EAX + PUSH EAX + CALL _gen_label + MOV EAX,_loop_ptr + SHL EAX,2 + MOV ESI,OFFSET _break_stack + ADD ESI,EAX + INC _next_lab + MOV EAX,_next_lab + MOV DWORD PTR [EBP-8], EAX + MOV DWORD PTR [ESI], EAX + PUSH 25 + CALL _test_token + AND EAX,EAX + JNZ L_1294 + PUSH 25 + XOR EAX,EAX + PUSH EAX + CALL _eval + XOR EAX,EAX + PUSH EAX + PUSH DWORD PTR [EBP-8] + PUSH -1 + CALL _cond_jump +L_1294: + PUSH 9 + CALL _test_token + AND EAX,EAX + JNZ L_1295 + INC _next_lab + MOV EAX,_next_lab + MOV DWORD PTR [EBP-12], EAX + PUSH EAX + XOR EAX,EAX + PUSH EAX + CALL _jump + INC _next_lab + MOV EAX,_next_lab + MOV DWORD PTR [EBP-16], EAX + PUSH EAX + CALL _gen_label + PUSH 9 + PUSH -1 + CALL _eval + PUSH DWORD PTR [EBP-4] + XOR EAX,EAX + PUSH EAX + CALL _jump + PUSH DWORD PTR [EBP-12] + CALL _gen_label +L_1295: + MOV EAX,_loop_ptr + INC _loop_ptr + SHL EAX,2 + MOV ESI,OFFSET _continue_stack + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-16] + MOV DWORD PTR [ESI], EAX + CALL _get_token + PUSH EAX + CALL _statement + PUSH DWORD PTR [EBP-16] + CALL _test_jump + PUSH DWORD PTR [EBP-8] + CALL _gen_label + DEC _loop_ptr + MOV EAX,_loop_ptr + JMP L_1269 +L_1296: + CALL _check_func + MOV EAX,_sdefault + MOV DWORD PTR [EBP-4], EAX + MOV EAX,_loop_ptr + INC _loop_ptr + SHL EAX,2 + MOV ESI,OFFSET _break_stack + ADD ESI,EAX + INC _next_lab + MOV EAX,_next_lab + MOV DWORD PTR [EBP-8], EAX + MOV _sdefault, EAX + MOV DWORD PTR [ESI], EAX + PUSH 8 + CALL _expect + PUSH 9 + PUSH -1 + CALL _eval + INC _next_lab + MOV EAX,_next_lab + MOV DWORD PTR [EBP-12], EAX + PUSH EAX + CALL _do_switch + MOV EAX,_switch_ptr + MOV DWORD PTR [EBP-16], EAX + CALL _get_token + PUSH EAX + CALL _statement + PUSH DWORD PTR [EBP-8] + CALL _test_jump + PUSH DWORD PTR [EBP-12] + CALL _gen_label + PUSH DWORD PTR [EBP-16] + CALL _build_switch + MOV EAX,_sdefault + CMP EAX,DWORD PTR [EBP-4] + SETNE AL + AND AL,AL + JZ L_1297 + PUSH _sdefault + PUSH -1 + CALL _jump +L_1297: + PUSH DWORD PTR [EBP-8] + CALL _gen_label + DEC _loop_ptr + MOV EAX,DWORD PTR [EBP-4] + MOV _sdefault, EAX + JMP L_1269 +L_1298: + CALL _check_switch + MOV DWORD PTR [EBP-4], EAX + LEA EAX,DWORD PTR [EBP-8] + PUSH EAX + LEA EAX,DWORD PTR [EBP-12] + PUSH EAX + CALL _get_constant + MOV EAX,_switch_ptr + INC _switch_ptr + SHL EAX,2 + MOV ESI,OFFSET _switch_stack + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [ESI], EAX + MOV EAX,_switch_ptr + INC _switch_ptr + SHL EAX,2 + MOV ESI,OFFSET _switch_stack + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-12] + MOV DWORD PTR [ESI], EAX + MOV EAX,_switch_ptr + CMP EAX,160 + SETAE AL + AND AL,AL + JZ L_1299 + PUSH OFFSET L_lit+5141 + CALL _fatal_error +L_1299: + PUSH 24 + CALL _expect + JMP L_1269 +L_1300: + CALL _check_switch + MOV _sdefault, EAX + PUSH 24 + CALL _expect + JMP L_1269 +L_1301: + CALL _check_func + PUSH 25 + CALL _test_token + AND EAX,EAX + JNZ L_1302 + PUSH 25 + PUSH -1 + CALL _eval +L_1302: + MOV EAX,_exit_label + AND EAX,EAX + JZ SHORT L_1304 + MOV EAX,_exit_label + JMP SHORT L_1303 +L_1304: + INC _next_lab + MOV EAX,_next_lab + MOV _exit_label, EAX +L_1303: + MOV _exit_flag, EAX + JMP L_1269 +L_1305: + PUSH OFFSET _break_stack + CALL _check_loop + JMP L_1269 +L_1306: + PUSH OFFSET _continue_stack + CALL _check_loop + JMP L_1269 +L_1307: + CALL _check_func + CALL _get_token + CMP EAX,103 + SETNE AL + AND AL,AL + JZ L_1308 + CALL _syntax_error + JMP L_1269 +L_1308: + CALL _lookup_local + MOV DWORD PTR [EBP-4], EAX + AND EAX,EAX + JZ L_1309 + MOV EAX,DWORD PTR [EBP-4] + AND EAX,524288 + JNZ L_1310 + CALL _type_error +L_1310: + JMP L_1311 +L_1309: + PUSH 4718592 + INC _next_lab + PUSH _next_lab + CALL _define_symbol +L_1311: + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + PUSH DWORD PTR [ESI+20] + PUSH -1 + CALL _jump + JMP L_1269 +L_1312: + MOV EAX,_in_function + AND EAX,EAX + JNZ L_1313 + PUSH DWORD PTR [EBP+8] + XOR EAX,EAX + PUSH EAX + CALL _declare + JMP L_1269 +L_1313: + MOV ESI,_input_ptr + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,58 + SETE AL + AND AL,AL + JZ L_1314 + CALL _check_func + INC _input_ptr + MOV EAX,_input_ptr + CALL _lookup_local + AND EAX,EAX + JZ L_1315 + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,-16385 + MOV DWORD PTR [ESI], EAX + JMP L_1316 +L_1315: + PUSH 524288 + INC _next_lab + PUSH _next_lab + CALL _define_symbol +L_1316: + MOV EAX,_sptr + MOV ECX,24 + MUL ECX + MOV ESI,OFFSET _symtab + ADD ESI,EAX + PUSH DWORD PTR [ESI+20] + CALL _gen_label + JMP L_1269 +L_1314: +L_1317: + CALL _check_func + PUSH DWORD PTR [EBP+8] + CALL _unget_token + PUSH 25 + PUSH -1 + CALL _eval + JMP L_1269 +L_1270: + CMP EAX,103 + JE L_1312 + CMP EAX,52 + JE L_1307 + CMP EAX,45 + JE L_1306 + CMP EAX,41 + JE L_1305 + CMP EAX,58 + JE L_1301 + CMP EAX,46 + JE L_1300 + CMP EAX,42 + JE L_1298 + CMP EAX,63 + JE L_1296 + CMP EAX,51 + JE L_1292 + CMP EAX,47 + JE L_1291 + CMP EAX,69 + JE L_1290 + CMP EAX,55 + JE L_1288 + CMP EAX,68 + JE L_1287 + CMP EAX,53 + JE L_1286 + CMP EAX,57 + JE L_1285 + CMP EAX,49 + JE L_1284 + CMP EAX,62 + JE L_1283 + CMP EAX,61 + JE L_1282 + CMP EAX,66 + JE L_1281 + CMP EAX,59 + JE L_1280 + CMP EAX,56 + JE L_1279 + CMP EAX,64 + JE L_1278 + CMP EAX,43 + JE L_1277 + CMP EAX,54 + JE L_1276 + CMP EAX,70 + JE L_1273 + CMP EAX,25 + JE L_1271 + JMP L_1317 +L_1269: +L_1272: + MOV ESP,EBP + POP EBP + RETN 4 +_compile: + PUSH EBP + MOV EBP,ESP + MOV EAX,OFFSET _define_pool + MOV _define_ptr, EAX + MOV EAX,OFFSET _line_in + MOV _input_ptr, EAX + MOV ESI,EAX ;IndexPtr + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + MOVSX EAX,_fGen + AND EAX,EAX + JNZ L_1318 + PUSH OFFSET L_lit+5163 + CALL _code_str + PUSH OFFSET L_lit+5172 + CALL _data_str +L_1318: +L_1319: + CALL _get_token + PUSH EAX + CALL _statement + JMP L_1319 +L_1320: + POP EBP + RETN +PUBLIC _main: + PUSH EBP + MOV EBP,ESP + SUB ESP,16 + PUSH 125 + PUSH OFFSET _pcodebuf + CALL FWORD PTR _AllocPage + MOV DWORD PTR [EBP-8], EAX + MOV EAX,DWORD PTR [EBP-8] + AND EAX,EAX + JZ L_1321 + PUSH OFFSET L_lit+5180 + PUSH 512000 + MOV EDI, 4 + CALL _printf + ADD ESP,8 +L_1321: + MOV EAX,2 + MOV _list_fh, EAX + MOV EAX,1 + MOV DWORD PTR [EBP-4], EAX +L_1322: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [EBP+12] + SETB AL + AND AL,AL + JZ L_1323 + JMP SHORT L_1324 +L_1325: + INC DWORD PTR [EBP-4] + MOV EAX,DWORD PTR [EBP-4] + JMP SHORT L_1322 +L_1324: + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + MOV ESI,DWORD PTR [EBP+8] + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-12], EAX + MOV ESI,DWORD PTR [EBP-12] + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,47 + SETE AL + AND AL,AL + JZ L_1326 + MOV ESI,DWORD PTR [EBP-12] + INC DWORD PTR [EBP-12] + MOV EAX,DWORD PTR [ESI] + MOV ESI,DWORD PTR [EBP-12] + MOVSX EAX,BYTE PTR [ESI] + JMP L_1328 +L_1329: +L_1330: + MOV EAX,1 + MOV _fQuiet, AL + JMP L_1327 +L_1331: +L_1332: + MOV EAX,1 + MOV _fList, AL + JMP L_1327 +L_1333: +L_1334: + MOV EAX,1 + MOV _fSource, AL + JMP L_1327 +L_1335: +L_1336: + MOV EAX,1 + MOV _fGen, AL + JMP L_1327 +L_1337: +L_1338: + MOV EAX,1 + MOV _fNoOpt, AL + JMP L_1327 +L_1339: +L_1340: + MOV EAX,1 + MOV _fOptS, AL + JMP L_1327 +L_1341: +L_1342: + MOV EAX,1 + MOV _fWarnings, AL + JMP L_1327 +L_1343: +L_1344: + MOV ESI,DWORD PTR [EBP-12] + INC DWORD PTR [EBP-12] + MOV EAX,DWORD PTR [ESI] + MOV ESI,DWORD PTR [EBP-12] + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _is_alpha + AND EAX,EAX + JNZ L_1345 + PUSH OFFSET L_lit+5222 + CALL _fatal_error +L_1345: + MOV ESI,DWORD PTR [EBP-12] + MOVSX EAX,BYTE PTR [ESI] + MOV _prefix, AL + JMP L_1327 +L_1346: + PUSH OFFSET L_lit+5253 + CALL _fatal_error + JMP L_1327 +L_1328: + CMP EAX,112 + JE L_1344 + CMP EAX,80 + JE L_1343 + CMP EAX,119 + JE L_1342 + CMP EAX,87 + JE L_1341 + CMP EAX,111 + JE L_1340 + CMP EAX,79 + JE L_1339 + CMP EAX,110 + JE L_1338 + CMP EAX,78 + JE L_1337 + CMP EAX,103 + JE L_1336 + CMP EAX,71 + JE L_1335 + CMP EAX,101 + JE L_1334 + CMP EAX,69 + JE L_1333 + CMP EAX,108 + JE L_1332 + CMP EAX,76 + JE L_1331 + CMP EAX,115 + JE L_1330 + CMP EAX,83 + JE L_1329 + JMP L_1346 +L_1327: + JMP L_1347 +L_1326: + MOV EAX,_source_fh + AND EAX,EAX + JNZ L_1348 + PUSH OFFSET _srcname + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + MOV ESI,DWORD PTR [EBP+8] + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _copystring + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + MOV ESI,DWORD PTR [EBP+8] + ADD ESI,EAX + PUSH DWORD PTR [ESI] + PUSH OFFSET L_lit+5268 + CALL _fopen + MOV _source_fh, EAX + JMP L_1349 +L_1348: + MOV EAX,_asm_fh + AND EAX,EAX + JNZ L_1350 + PUSH OFFSET _asmname + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + MOV ESI,DWORD PTR [EBP+8] + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _copystring + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + MOV ESI,DWORD PTR [EBP+8] + ADD ESI,EAX + PUSH DWORD PTR [ESI] + PUSH OFFSET L_lit+5270 + CALL _fopen + MOV _asm_fh, EAX + AND EAX,EAX + JNZ L_1351 + PUSH OFFSET L_lit+5272 + PUSH 2 + CALL _fputs + PUSH -1 + CALL _exit +L_1351: + JMP L_1352 +L_1350: + PUSH OFFSET L_lit+5300 + CALL _fatal_error +L_1352: +L_1349: +L_1347: + JMP L_1325 +L_1323: + MOV EAX,_source_fh + AND EAX,EAX + JNZ L_1353 + PUSH OFFSET L_lit+5320 + PUSH 2 + CALL _fputs + PUSH OFFSET L_lit+5356 + PUSH 2 + CALL _fputs + PUSH OFFSET L_lit+5405 + PUSH 2 + CALL _fputs + PUSH OFFSET L_lit+5449 + PUSH 2 + CALL _fputs + PUSH OFFSET L_lit+5482 + PUSH 2 + CALL _fputs + PUSH OFFSET L_lit+5524 + PUSH 2 + CALL _fputs + PUSH OFFSET L_lit+5561 + PUSH 2 + CALL _fputs + PUSH OFFSET L_lit+5583 + PUSH 2 + CALL _fputs + PUSH OFFSET L_lit+5609 + PUSH 2 + CALL _fputs + PUSH OFFSET L_lit+5627 + PUSH 2 + CALL _fputs + PUSH OFFSET L_lit+5672 + PUSH 2 + CALL _fputs + PUSH -1 + CALL _exit +L_1353: + MOV EAX,_asm_fh + AND EAX,EAX + JNZ L_1354 + PUSH OFFSET _asmname + PUSH OFFSET _srcname + CALL _copystring + MOV EAX,OFFSET _asmname + MOV DWORD PTR [EBP-16], EAX +L_1355: + MOV ESI,DWORD PTR [EBP-16] + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,46 + SETNE AL + AND AL,AL + JZ L_1357 + MOV ESI,DWORD PTR [EBP-16] + MOVSX EAX,BYTE PTR [ESI] + XOR ECX,ECX + CMP EAX,ECX + SETNE AL + AND AL,AL +L_1357: + JZ L_1356 + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,DWORD PTR [ESI] + JMP L_1355 +L_1356: + MOVSX EAX,_fGen + AND EAX,EAX + JZ L_1358 + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,46 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,68 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,65 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,83 + MOV BYTE PTR [ESI], AL + JMP L_1359 +L_1358: + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,46 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,65 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,83 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,77 + MOV BYTE PTR [ESI], AL +L_1359: + MOV ESI,DWORD PTR [EBP-16] + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + PUSH OFFSET _asmname + PUSH OFFSET L_lit+5706 + CALL _fopen + MOV _asm_fh, EAX + AND EAX,EAX + JNZ L_1360 + PUSH OFFSET L_lit+5708 + PUSH 2 + CALL _fputs + PUSH -1 + CALL _exit +L_1360: +L_1354: + MOV EAX,1 + MOV _fASMOpen, AL + MOVSX EAX,_fList + AND EAX,EAX + JZ L_1361 + PUSH OFFSET _lstname + PUSH OFFSET _srcname + CALL _copystring + MOV EAX,OFFSET _lstname + MOV DWORD PTR [EBP-16], EAX +L_1362: + MOV ESI,DWORD PTR [EBP-16] + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,46 + SETNE AL + AND AL,AL + JZ L_1364 + MOV ESI,DWORD PTR [EBP-16] + MOVSX EAX,BYTE PTR [ESI] + XOR ECX,ECX + CMP EAX,ECX + SETNE AL + AND AL,AL +L_1364: + JZ L_1363 + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,DWORD PTR [ESI] + JMP L_1362 +L_1363: + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,46 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,76 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,83 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,84 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-16] + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + PUSH OFFSET _lstname + PUSH OFFSET L_lit+5737 + CALL _fopen + MOV _list_fh, EAX + AND EAX,EAX + JNZ L_1365 + PUSH OFFSET L_lit+5739 + CALL _fatal_error + JMP L_1366 +L_1365: + MOV EAX,1 + MOV _fLISTOpen, AL +L_1366: +L_1361: + MOVSX EAX,_fGen + AND EAX,EAX + JZ L_1367 + PUSH OFFSET _codename + PUSH OFFSET _srcname + CALL _copystring + MOV EAX,OFFSET _codename + MOV DWORD PTR [EBP-16], EAX +L_1368: + MOV ESI,DWORD PTR [EBP-16] + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,46 + SETNE AL + AND AL,AL + JZ L_1370 + MOV ESI,DWORD PTR [EBP-16] + MOVSX EAX,BYTE PTR [ESI] + XOR ECX,ECX + CMP EAX,ECX + SETNE AL + AND AL,AL +L_1370: + JZ L_1369 + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,DWORD PTR [ESI] + JMP L_1368 +L_1369: + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,46 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,67 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,65 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-16] + INC DWORD PTR [EBP-16] + MOV EAX,83 + MOV BYTE PTR [ESI], AL + MOV ESI,DWORD PTR [EBP-16] + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + PUSH OFFSET _codename + PUSH OFFSET L_lit+5761 + CALL _fopen + MOV _code_fh, EAX + AND EAX,EAX + JNZ L_1371 + PUSH OFFSET L_lit+5763 + CALL _fatal_error + JMP L_1372 +L_1371: + MOV EAX,1 + MOV _fCODEOpen, AL +L_1372: +L_1367: + MOVSX EAX,_fQuiet + AND EAX,EAX + JNZ L_1373 + PUSH OFFSET L_lit+5785 + PUSH 2 + CALL _fputs +L_1373: + CALL _compile + MOV ESP,EBP + POP EBP + RETN 8 -- 2.40.0