mirror of
https://github.com/KolibriOS/kolibrios.git
synced 2024-11-28 19:53:12 +03:00
1967c25fac
git-svn-id: svn://kolibrios.org@718 a494cfbc-eb01-0410-851d-a64ba20cac60
6741 lines
82 KiB
NASM
6741 lines
82 KiB
NASM
|
|
_constexp:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-12
|
|
LEA EAX,[EBP-8]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-12]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _setstage
|
|
ADD ESP,8
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _expressi
|
|
ADD ESP,8
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _clearsta
|
|
ADD ESP,8
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JE _3_3
|
|
JMP _3_2
|
|
_3_3:
|
|
MOV EAX,_3_1+0
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _error
|
|
ADD ESP,4
|
|
_3_2:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_1 DB 109,117,115,116,32,98,101,32,99,111
|
|
DB 110,115,116,97,110,116,32,101,120,112
|
|
DB 114,101,115,115,105,111,110,0
|
|
|
|
_null_is:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-4
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
_3_7:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,7
|
|
CALL __lt
|
|
OR EAX,EAX
|
|
JNE _3_9
|
|
JMP _3_6
|
|
_3_9:
|
|
JMP _3_8
|
|
_3_5:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
INC EAX
|
|
MOV [EBX],EAX
|
|
JMP _3_7
|
|
_3_8:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
SHL EAX,1
|
|
SHL EAX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
JMP _3_5
|
|
_3_6:
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
|
|
_expressi:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-32
|
|
LEA EAX,[EBP-32]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _null_is
|
|
ADD ESP,4
|
|
LEA EAX,[EBP-32]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _level1
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_12
|
|
JMP _3_11
|
|
_3_12:
|
|
LEA EAX,[EBP-32]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
_3_11:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-32]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-32]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
|
|
_test:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-36
|
|
LEA EAX,[EBP-28]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _null_is
|
|
ADD ESP,4
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_15
|
|
JMP _3_14
|
|
_3_15:
|
|
MOV EAX,_3_13+0
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _need
|
|
ADD ESP,4
|
|
_3_14:
|
|
_3_16:
|
|
LEA EAX,[EBP-32]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-36]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _setstage
|
|
ADD ESP,8
|
|
LEA EAX,[EBP-28]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _level1
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_19
|
|
JMP _3_18
|
|
_3_19:
|
|
LEA EAX,[EBP-28]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
_3_18:
|
|
MOV EAX,_3_13+2
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_21
|
|
JMP _3_20
|
|
_3_21:
|
|
LEA EAX,[EBP-32]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-36]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _clearsta
|
|
ADD ESP,8
|
|
JMP _3_22
|
|
_3_20:
|
|
JMP _3_17
|
|
_3_22:
|
|
JMP _3_16
|
|
_3_17:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_24
|
|
JMP _3_23
|
|
_3_24:
|
|
MOV EAX,_3_13+4
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _need
|
|
ADD ESP,4
|
|
_3_23:
|
|
LEA EAX,[EBP-28]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_26
|
|
JMP _3_25
|
|
_3_26:
|
|
LEA EAX,[EBP-32]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _clearsta
|
|
ADD ESP,8
|
|
LEA EAX,[EBP-28]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_28
|
|
JMP _3_27
|
|
_3_28:
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_27:
|
|
MOV EAX,40
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_25:
|
|
LEA EAX,[EBP-28]
|
|
MOV EBX,24
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_30
|
|
JMP _3_29
|
|
_3_30:
|
|
LEA EAX,[EBP-28]
|
|
MOV EBX,20
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
JMP _3_33
|
|
_3_34:
|
|
_3_35:
|
|
MOV EAX,19
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-28]
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _zerojump
|
|
ADD ESP,12
|
|
JMP _3_32
|
|
_3_36:
|
|
_3_37:
|
|
MOV EAX,54
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-28]
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _zerojump
|
|
ADD ESP,12
|
|
JMP _3_32
|
|
_3_38:
|
|
MOV EAX,34
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-28]
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _zerojump
|
|
ADD ESP,12
|
|
JMP _3_32
|
|
_3_39:
|
|
MOV EAX,21
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-28]
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _zerojump
|
|
ADD ESP,12
|
|
JMP _3_32
|
|
_3_40:
|
|
LEA EAX,[EBP-28]
|
|
MOV EBX,24
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _clearsta
|
|
ADD ESP,8
|
|
JMP _3_32
|
|
_3_41:
|
|
MOV EAX,46
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-28]
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _zerojump
|
|
ADD ESP,12
|
|
JMP _3_32
|
|
_3_42:
|
|
MOV EAX,40
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-28]
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _zerojump
|
|
ADD ESP,12
|
|
JMP _3_32
|
|
_3_43:
|
|
MOV EAX,42
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-28]
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _zerojump
|
|
ADD ESP,12
|
|
JMP _3_32
|
|
_3_44:
|
|
MOV EAX,54
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_32
|
|
JMP _3_32
|
|
_3_33:
|
|
CALL __switch
|
|
DD _3_34
|
|
DD 20
|
|
DD _3_35
|
|
DD 44
|
|
DD _3_36
|
|
DD 55
|
|
DD _3_37
|
|
DD 36
|
|
DD _3_38
|
|
DD 35
|
|
DD _3_39
|
|
DD 22
|
|
DD _3_40
|
|
DD 23
|
|
DD _3_41
|
|
DD 47
|
|
DD _3_42
|
|
DD 48
|
|
DD _3_43
|
|
DD 43
|
|
DD 0
|
|
JMP _3_44
|
|
_3_32:
|
|
JMP _3_45
|
|
_3_29:
|
|
MOV EAX,54
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_45:
|
|
LEA EAX,[EBP-32]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-36]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _clearsta
|
|
ADD ESP,8
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_13 DB 40,0,44,0,41,0
|
|
|
|
_zerojump:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,24
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _clearsta
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
POP EBP
|
|
RET
|
|
|
|
_level1:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-48
|
|
LEA EAX,[EBP-32]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _null_is
|
|
ADD ESP,4
|
|
LEA EAX,[EBP-40]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _null_is
|
|
ADD ESP,4
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
MOV EAX,_level2
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _down1
|
|
ADD ESP,8
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_49
|
|
JMP _3_48
|
|
_3_49:
|
|
MOV EAX,108
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_48:
|
|
MOV EAX,_3_47+0
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_51
|
|
JMP _3_50
|
|
_3_51:
|
|
LEA EAX,[EBP-44]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-48]
|
|
MOV EBX,EAX
|
|
MOV EAX,57
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_52
|
|
_3_50:
|
|
MOV EAX,_3_47+3
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_54
|
|
JMP _3_53
|
|
_3_54:
|
|
LEA EAX,[EBP-44]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-48]
|
|
MOV EBX,EAX
|
|
MOV EAX,73
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_55
|
|
_3_53:
|
|
MOV EAX,_3_47+6
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_57
|
|
JMP _3_56
|
|
_3_57:
|
|
LEA EAX,[EBP-44]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-48]
|
|
MOV EBX,EAX
|
|
MOV EAX,3
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_58
|
|
_3_56:
|
|
MOV EAX,_3_47+9
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_60
|
|
JMP _3_59
|
|
_3_60:
|
|
LEA EAX,[EBP-44]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-48]
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_61
|
|
_3_59:
|
|
MOV EAX,_3_47+12
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_63
|
|
JMP _3_62
|
|
_3_63:
|
|
LEA EAX,[EBP-44]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-48]
|
|
MOV EBX,EAX
|
|
MOV EAX,69
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_64
|
|
_3_62:
|
|
MOV EAX,_3_47+15
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_66
|
|
JMP _3_65
|
|
_3_66:
|
|
LEA EAX,[EBP-44]
|
|
MOV EBX,EAX
|
|
MOV EAX,52
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP-48]
|
|
MOV EBX,EAX
|
|
MOV EAX,53
|
|
MOV [EBX],EAX
|
|
JMP _3_67
|
|
_3_65:
|
|
MOV EAX,_3_47+18
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_69
|
|
JMP _3_68
|
|
_3_69:
|
|
LEA EAX,[EBP-44]
|
|
MOV EBX,EAX
|
|
MOV EAX,16
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP-48]
|
|
MOV EBX,EAX
|
|
MOV EAX,17
|
|
MOV [EBX],EAX
|
|
JMP _3_70
|
|
_3_68:
|
|
MOV EAX,_3_47+21
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_72
|
|
JMP _3_71
|
|
_3_72:
|
|
LEA EAX,[EBP-44]
|
|
MOV EBX,EAX
|
|
MOV EAX,49
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP-48]
|
|
MOV EBX,EAX
|
|
MOV EAX,50
|
|
MOV [EBX],EAX
|
|
JMP _3_73
|
|
_3_71:
|
|
MOV EAX,_3_47+24
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_75
|
|
JMP _3_74
|
|
_3_75:
|
|
LEA EAX,[EBP-44]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-48]
|
|
MOV EBX,EAX
|
|
MOV EAX,7
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_76
|
|
_3_74:
|
|
MOV EAX,_3_47+28
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_78
|
|
JMP _3_77
|
|
_3_78:
|
|
LEA EAX,[EBP-44]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-48]
|
|
MOV EBX,EAX
|
|
MOV EAX,6
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_79
|
|
_3_77:
|
|
MOV EAX,_3_47+32
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_81
|
|
JMP _3_80
|
|
_3_81:
|
|
LEA EAX,[EBP-44]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-48]
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_82
|
|
_3_80:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_82:
|
|
_3_79:
|
|
_3_76:
|
|
_3_73:
|
|
_3_70:
|
|
_3_67:
|
|
_3_64:
|
|
_3_61:
|
|
_3_58:
|
|
_3_55:
|
|
_3_52:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JE _3_84
|
|
JMP _3_83
|
|
_3_84:
|
|
XOR CL,CL
|
|
CALL _needlval
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_83:
|
|
LEA EAX,[EBP-40]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP-40]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_86
|
|
JMP _3_85
|
|
_3_86:
|
|
LEA EAX,[EBP-44]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_88
|
|
JMP _3_87
|
|
_3_88:
|
|
MOV EAX,60
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
_3_87:
|
|
LEA EAX,[EBP-44]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-48]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV EAX,_level1
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-32]
|
|
PUSH EAX
|
|
MOV CL,5
|
|
CALL _down2
|
|
ADD ESP,20
|
|
LEA EAX,[EBP-44]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_90
|
|
JMP _3_89
|
|
_3_90:
|
|
MOV EAX,59
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_89:
|
|
JMP _3_91
|
|
_3_85:
|
|
LEA EAX,[EBP-44]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_93
|
|
JMP _3_92
|
|
_3_93:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
LEA EAX,[EBP-44]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-48]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV EAX,_level1
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-32]
|
|
PUSH EAX
|
|
MOV CL,5
|
|
CALL _down2
|
|
ADD ESP,20
|
|
JMP _3_94
|
|
_3_92:
|
|
LEA EAX,[EBP-32]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _level1
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_96
|
|
JMP _3_95
|
|
_3_96:
|
|
LEA EAX,[EBP-32]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
_3_95:
|
|
_3_94:
|
|
_3_91:
|
|
LEA EAX,[EBP-40]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _store
|
|
ADD ESP,4
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_47 DB 124,61,0,94,61,0,38,61,0,43
|
|
DB 61,0,45,61,0,42,61,0,47,61
|
|
DB 0,37,61,0,62,62,61,0,60,60
|
|
DB 61,0,61,0
|
|
|
|
_level2:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-76
|
|
LEA EAX,[EBP-28]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _null_is
|
|
ADD ESP,4
|
|
LEA EAX,[EBP-56]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _null_is
|
|
ADD ESP,4
|
|
LEA EAX,[EBP-60]
|
|
PUSH EAX
|
|
MOV EAX,_level3
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _down1
|
|
ADD ESP,8
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
MOV EAX,_3_97+0
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JE _3_99
|
|
JMP _3_98
|
|
_3_99:
|
|
LEA EAX,[EBP-60]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_98:
|
|
LEA EAX,[EBP-60]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV EAX,54
|
|
PUSH EAX
|
|
LEA EAX,[EBP-64]
|
|
PUSH EAX
|
|
XOR CL,CL
|
|
CALL _getlabel
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,4
|
|
CALL _dropout
|
|
ADD ESP,16
|
|
MOV EAX,_level2
|
|
PUSH EAX
|
|
LEA EAX,[EBP-28]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _down1
|
|
ADD ESP,8
|
|
OR EAX,EAX
|
|
JNE _3_101
|
|
JMP _3_100
|
|
_3_101:
|
|
LEA EAX,[EBP-28]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
JMP _3_102
|
|
_3_100:
|
|
LEA EAX,[EBP-28]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_104
|
|
JMP _3_103
|
|
_3_104:
|
|
MOV EAX,108
|
|
PUSH EAX
|
|
LEA EAX,[EBP-28]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_103:
|
|
_3_102:
|
|
MOV EAX,_3_97+2
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _need
|
|
ADD ESP,4
|
|
MOV EAX,40
|
|
PUSH EAX
|
|
LEA EAX,[EBP-68]
|
|
PUSH EAX
|
|
XOR CL,CL
|
|
CALL _getlabel
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
MOV EAX,41
|
|
PUSH EAX
|
|
LEA EAX,[EBP-64]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
MOV EAX,_level2
|
|
PUSH EAX
|
|
LEA EAX,[EBP-56]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _down1
|
|
ADD ESP,8
|
|
OR EAX,EAX
|
|
JNE _3_106
|
|
JMP _3_105
|
|
_3_106:
|
|
LEA EAX,[EBP-56]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
JMP _3_107
|
|
_3_105:
|
|
LEA EAX,[EBP-56]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_109
|
|
JMP _3_108
|
|
_3_109:
|
|
MOV EAX,108
|
|
PUSH EAX
|
|
LEA EAX,[EBP-56]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_108:
|
|
_3_107:
|
|
MOV EAX,41
|
|
PUSH EAX
|
|
LEA EAX,[EBP-68]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP-28]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_113
|
|
JMP _3_111
|
|
_3_113:
|
|
LEA EAX,[EBP-56]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_114
|
|
JMP _3_111
|
|
_3_114:
|
|
MOV EAX,1
|
|
JMP _3_112
|
|
_3_111:
|
|
XOR EAX,EAX
|
|
_3_112:
|
|
OR EAX,EAX
|
|
JNE _3_115
|
|
JMP _3_110
|
|
_3_115:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,24
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_116
|
|
_3_110:
|
|
LEA EAX,[EBP-56]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_118
|
|
JMP _3_117
|
|
_3_118:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-28]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-28]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,24
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-28]
|
|
MOV EBX,24
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_119
|
|
_3_117:
|
|
LEA EAX,[EBP-28]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JE _3_123
|
|
JMP _3_121
|
|
_3_123:
|
|
LEA EAX,[EBP-28]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-56]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JE _3_124
|
|
JMP _3_121
|
|
_3_124:
|
|
XOR EAX,EAX
|
|
JMP _3_122
|
|
_3_121:
|
|
MOV EAX,1
|
|
_3_122:
|
|
OR EAX,EAX
|
|
JNE _3_125
|
|
JMP _3_120
|
|
_3_125:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-56]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-56]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,24
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-56]
|
|
MOV EBX,24
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_126
|
|
_3_120:
|
|
MOV EAX,_3_97+4
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _error
|
|
ADD ESP,4
|
|
_3_126:
|
|
_3_119:
|
|
_3_116:
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_97 DB 63,0,58,0,109,105,115,109,97,116
|
|
DB 99,104,101,100,32,101,120,112,114,101
|
|
DB 115,115,105,111,110,115,0
|
|
|
|
_level3:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
MOV EAX,_3_127+0
|
|
PUSH EAX
|
|
MOV EAX,19
|
|
PUSH EAX
|
|
MOV EAX,1
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV EAX,_level4
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,6
|
|
CALL _skim
|
|
ADD ESP,24
|
|
POP EBP
|
|
RET
|
|
_3_127 DB 124,124,0
|
|
|
|
_level4:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
MOV EAX,_3_128+0
|
|
PUSH EAX
|
|
MOV EAX,54
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV EAX,1
|
|
PUSH EAX
|
|
MOV EAX,_level5
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,6
|
|
CALL _skim
|
|
ADD ESP,24
|
|
POP EBP
|
|
RET
|
|
_3_128 DB 38,38,0
|
|
|
|
_level5:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
MOV EAX,_3_129+0
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV EAX,_level6
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,4
|
|
CALL _down
|
|
ADD ESP,16
|
|
POP EBP
|
|
RET
|
|
_3_129 DB 124,0
|
|
|
|
_level6:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
MOV EAX,_3_130+0
|
|
PUSH EAX
|
|
MOV EAX,1
|
|
PUSH EAX
|
|
MOV EAX,_level7
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,4
|
|
CALL _down
|
|
ADD ESP,16
|
|
POP EBP
|
|
RET
|
|
_3_130 DB 94,0
|
|
|
|
_level7:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
MOV EAX,_3_131+0
|
|
PUSH EAX
|
|
MOV EAX,2
|
|
PUSH EAX
|
|
MOV EAX,_level8
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,4
|
|
CALL _down
|
|
ADD ESP,16
|
|
POP EBP
|
|
RET
|
|
_3_131 DB 38,0
|
|
|
|
_level8:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
MOV EAX,_3_132+0
|
|
PUSH EAX
|
|
MOV EAX,3
|
|
PUSH EAX
|
|
MOV EAX,_level9
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,4
|
|
CALL _down
|
|
ADD ESP,16
|
|
POP EBP
|
|
RET
|
|
_3_132 DB 61,61,32,33,61,0
|
|
|
|
_level9:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
MOV EAX,_3_133+0
|
|
PUSH EAX
|
|
MOV EAX,5
|
|
PUSH EAX
|
|
MOV EAX,_level10
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,4
|
|
CALL _down
|
|
ADD ESP,16
|
|
POP EBP
|
|
RET
|
|
_3_133 DB 60,61,32,62,61,32,60,32,62,0
|
|
|
|
_level10:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
MOV EAX,_3_134+0
|
|
PUSH EAX
|
|
MOV EAX,9
|
|
PUSH EAX
|
|
MOV EAX,_level11
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,4
|
|
CALL _down
|
|
ADD ESP,16
|
|
POP EBP
|
|
RET
|
|
_3_134 DB 62,62,32,60,60,0
|
|
|
|
_level11:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
MOV EAX,_3_135+0
|
|
PUSH EAX
|
|
MOV EAX,11
|
|
PUSH EAX
|
|
MOV EAX,_level12
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,4
|
|
CALL _down
|
|
ADD ESP,16
|
|
POP EBP
|
|
RET
|
|
_3_135 DB 43,32,45,0
|
|
|
|
_level12:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
MOV EAX,_3_136+0
|
|
PUSH EAX
|
|
MOV EAX,13
|
|
PUSH EAX
|
|
MOV EAX,_level13
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,4
|
|
CALL _down
|
|
ADD ESP,16
|
|
POP EBP
|
|
RET
|
|
_3_136 DB 42,32,47,32,37,0
|
|
|
|
_level13:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-8
|
|
MOV EAX,_3_137+0
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_139
|
|
JMP _3_138
|
|
_3_139:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _level13
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JE _3_141
|
|
JMP _3_140
|
|
_3_141:
|
|
XOR CL,CL
|
|
CALL _needlval
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_140:
|
|
MOV EAX,68
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _step
|
|
ADD ESP,12
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_138:
|
|
MOV EAX,_3_137+3
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_144
|
|
JMP _3_143
|
|
_3_144:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _level13
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JE _3_146
|
|
JMP _3_145
|
|
_3_146:
|
|
XOR CL,CL
|
|
CALL _needlval
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_145:
|
|
MOV EAX,65
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _step
|
|
ADD ESP,12
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_143:
|
|
MOV EAX,_3_137+6
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_149
|
|
JMP _3_148
|
|
_3_149:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _level13
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_151
|
|
JMP _3_150
|
|
_3_151:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
_3_150:
|
|
MOV EAX,13
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
NOT EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,24
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_148:
|
|
MOV EAX,_3_137+8
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_154
|
|
JMP _3_153
|
|
_3_154:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _level13
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_156
|
|
JMP _3_155
|
|
_3_156:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
_3_155:
|
|
MOV EAX,45
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
CALL __lneg
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,24
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_153:
|
|
MOV EAX,_3_137+10
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_159
|
|
JMP _3_158
|
|
_3_159:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _level13
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_161
|
|
JMP _3_160
|
|
_3_161:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
_3_160:
|
|
MOV EAX,4
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
NEG EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,24
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_158:
|
|
MOV EAX,_3_137+12
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_164
|
|
JMP _3_163
|
|
_3_164:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _level13
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_166
|
|
JMP _3_165
|
|
_3_166:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
_3_165:
|
|
LEA EAX,[EBP-8]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
OR EAX,EAX
|
|
JNE _3_168
|
|
JMP _3_167
|
|
_3_168:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_169
|
|
_3_167:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX,16
|
|
MOV [EBX],EAX
|
|
_3_169:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,24
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
MOV [EBX],EAX
|
|
MOV EAX,1
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_163:
|
|
MOV EAX,_3_137+14
|
|
PUSH EAX
|
|
MOV EAX,6
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _amatch
|
|
ADD ESP,8
|
|
OR EAX,EAX
|
|
JNE _3_172
|
|
JMP _3_171
|
|
_3_172:
|
|
ADD ESP,-24
|
|
MOV EAX,_3_137+21
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_174
|
|
JMP _3_173
|
|
_3_174:
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
MOV [EBX],EAX
|
|
JMP _3_175
|
|
_3_173:
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
_3_175:
|
|
LEA EAX,[EBP-12]
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
MOV EAX,_3_137+23
|
|
PUSH EAX
|
|
MOV EAX,8
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _amatch
|
|
ADD ESP,8
|
|
OR EAX,EAX
|
|
JNE _3_177
|
|
JMP _3_176
|
|
_3_177:
|
|
LEA EAX,[EBP-12]
|
|
MOV EBX,EAX
|
|
MOV EAX,4
|
|
MOV [EBX],EAX
|
|
_3_176:
|
|
MOV EAX,_3_137+32
|
|
PUSH EAX
|
|
MOV EAX,3
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _amatch
|
|
ADD ESP,8
|
|
OR EAX,EAX
|
|
JNE _3_179
|
|
JMP _3_178
|
|
_3_179:
|
|
LEA EAX,[EBP-12]
|
|
MOV EBX,EAX
|
|
MOV EAX,4
|
|
MOV [EBX],EAX
|
|
JMP _3_180
|
|
_3_178:
|
|
MOV EAX,_3_137+36
|
|
PUSH EAX
|
|
MOV EAX,4
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _amatch
|
|
ADD ESP,8
|
|
OR EAX,EAX
|
|
JNE _3_182
|
|
JMP _3_181
|
|
_3_182:
|
|
LEA EAX,[EBP-12]
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
MOV [EBX],EAX
|
|
_3_181:
|
|
_3_180:
|
|
LEA EAX,[EBP-12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_184
|
|
JMP _3_183
|
|
_3_184:
|
|
MOV EAX,_3_137+41
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_186
|
|
JMP _3_185
|
|
_3_186:
|
|
LEA EAX,[EBP-12]
|
|
MOV EBX,EAX
|
|
MOV EAX,4
|
|
MOV [EBX],EAX
|
|
_3_185:
|
|
JMP _3_187
|
|
_3_183:
|
|
LEA EAX,[EBP-32]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _symname
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_193
|
|
JMP _3_189
|
|
_3_193:
|
|
LEA EAX,[EBP-20]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-32]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _findloc
|
|
ADD ESP,4
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
OR EAX,EAX
|
|
JE _3_194
|
|
JMP _3_190
|
|
_3_194:
|
|
LEA EAX,[EBP-20]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-32]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _findglb
|
|
ADD ESP,4
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
OR EAX,EAX
|
|
JE _3_195
|
|
JMP _3_190
|
|
_3_195:
|
|
XOR EAX,EAX
|
|
JMP _3_191
|
|
_3_190:
|
|
MOV EAX,1
|
|
_3_191:
|
|
OR EAX,EAX
|
|
JNE _3_196
|
|
JMP _3_189
|
|
_3_196:
|
|
LEA EAX,[EBP-20]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,4
|
|
CALL __ne
|
|
OR EAX,EAX
|
|
JNE _3_197
|
|
JMP _3_189
|
|
_3_197:
|
|
LEA EAX,[EBP-20]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
CALL __ne
|
|
OR EAX,EAX
|
|
JNE _3_198
|
|
JMP _3_189
|
|
_3_198:
|
|
MOV EAX,1
|
|
JMP _3_192
|
|
_3_189:
|
|
XOR EAX,EAX
|
|
_3_192:
|
|
OR EAX,EAX
|
|
JNE _3_199
|
|
JMP _3_188
|
|
_3_199:
|
|
LEA EAX,[EBP-12]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-20]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,3
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
MOV EAX,4
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _getint
|
|
ADD ESP,8
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_200
|
|
_3_188:
|
|
LEA EAX,[EBP-12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JE _3_202
|
|
JMP _3_201
|
|
_3_202:
|
|
MOV EAX,_3_137+43
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _error
|
|
ADD ESP,4
|
|
_3_201:
|
|
_3_200:
|
|
_3_187:
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_204
|
|
JMP _3_203
|
|
_3_204:
|
|
MOV EAX,_3_137+66
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _need
|
|
ADD ESP,4
|
|
_3_203:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX,16
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_171:
|
|
MOV EAX,_3_137+68
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_207
|
|
JMP _3_206
|
|
_3_207:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _level13
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JE _3_209
|
|
JMP _3_208
|
|
_3_209:
|
|
MOV EAX,_3_137+70
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _error
|
|
ADD ESP,4
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_208:
|
|
LEA EAX,[EBP-8]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_211
|
|
JMP _3_210
|
|
_3_211:
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_210:
|
|
MOV EAX,25
|
|
PUSH EAX
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_206:
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _level14
|
|
ADD ESP,4
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
MOV EAX,_3_137+86
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_214
|
|
JMP _3_213
|
|
_3_214:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JE _3_216
|
|
JMP _3_215
|
|
_3_216:
|
|
XOR CL,CL
|
|
CALL _needlval
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_215:
|
|
MOV EAX,68
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV EAX,65
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _step
|
|
ADD ESP,12
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_213:
|
|
MOV EAX,_3_137+89
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_219
|
|
JMP _3_218
|
|
_3_219:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JE _3_221
|
|
JMP _3_220
|
|
_3_221:
|
|
XOR CL,CL
|
|
CALL _needlval
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_220:
|
|
MOV EAX,65
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV EAX,68
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _step
|
|
ADD ESP,12
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_218:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_222:
|
|
_3_217:
|
|
_3_212:
|
|
_3_205:
|
|
_3_170:
|
|
_3_162:
|
|
_3_157:
|
|
_3_152:
|
|
_3_147:
|
|
_3_142:
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_137 DB 43,43,0,45,45,0,126,0,33,0
|
|
DB 45,0,42,0,115,105,122,101,111,102
|
|
DB 0,40,0,117,110,115,105,103,110,101
|
|
DB 100,0,105,110,116,0,99,104,97,114
|
|
DB 0,42,0,109,117,115,116,32,98,101
|
|
DB 32,111,98,106,101,99,116,32,111,114
|
|
DB 32,116,121,112,101,0,41,0,38,0
|
|
DB 105,108,108,101,103,97,108,32,97,100
|
|
DB 100,114,101,115,115,0,43,43,0,45
|
|
DB 45,0
|
|
|
|
_level14:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-24
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _primary
|
|
ADD ESP,4
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP-16]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
XOR CL,CL
|
|
CALL _blanks
|
|
MOV EAX,[_ch]
|
|
MOV EBX,EAX
|
|
MOV EAX,91
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JE _3_227
|
|
JMP _3_225
|
|
_3_227:
|
|
MOV EAX,[_ch]
|
|
MOV EBX,EAX
|
|
MOV EAX,40
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JE _3_228
|
|
JMP _3_225
|
|
_3_228:
|
|
XOR EAX,EAX
|
|
JMP _3_226
|
|
_3_225:
|
|
MOV EAX,1
|
|
_3_226:
|
|
OR EAX,EAX
|
|
JNE _3_229
|
|
JMP _3_224
|
|
_3_229:
|
|
ADD ESP,-28
|
|
LEA EAX,[EBP-52]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _null_is
|
|
ADD ESP,4
|
|
_3_230:
|
|
MOV EAX,_3_223+0
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_233
|
|
JMP _3_232
|
|
_3_233:
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JE _3_235
|
|
JMP _3_234
|
|
_3_235:
|
|
MOV EAX,_3_223+2
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _error
|
|
ADD ESP,4
|
|
XOR CL,CL
|
|
CALL _skip
|
|
MOV EAX,_3_223+18
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _need
|
|
ADD ESP,4
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_234:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_237
|
|
JMP _3_236
|
|
_3_237:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_239
|
|
JMP _3_238
|
|
_3_239:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
_3_238:
|
|
JMP _3_240
|
|
_3_236:
|
|
MOV EAX,_3_223+20
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _error
|
|
ADD ESP,4
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
_3_240:
|
|
LEA EAX,[EBP-20]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-24]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _setstage
|
|
ADD ESP,8
|
|
LEA EAX,[EBP-52]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV EAX,_level1
|
|
PUSH EAX
|
|
LEA EAX,[EBP-52]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-52]
|
|
PUSH EAX
|
|
MOV CL,5
|
|
CALL _down2
|
|
ADD ESP,20
|
|
MOV EAX,_3_223+36
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _need
|
|
ADD ESP,4
|
|
LEA EAX,[EBP-52]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_242
|
|
JMP _3_241
|
|
_3_242:
|
|
LEA EAX,[EBP-20]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _clearsta
|
|
ADD ESP,8
|
|
LEA EAX,[EBP-52]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_244
|
|
JMP _3_243
|
|
_3_244:
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
MOV EBX,EAX
|
|
MOV EAX,4
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_246
|
|
JMP _3_245
|
|
_3_246:
|
|
MOV EAX,110
|
|
PUSH EAX
|
|
LEA EAX,[EBP-52]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAL EAX,CL
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_247
|
|
_3_245:
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_249
|
|
JMP _3_248
|
|
_3_249:
|
|
MOV EAX,110
|
|
PUSH EAX
|
|
LEA EAX,[EBP-52]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAL EAX,CL
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_250
|
|
_3_248:
|
|
MOV EAX,110
|
|
PUSH EAX
|
|
LEA EAX,[EBP-52]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_250:
|
|
_3_247:
|
|
MOV EAX,1
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_243:
|
|
JMP _3_251
|
|
_3_241:
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
MOV EBX,EAX
|
|
MOV EAX,4
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_253
|
|
JMP _3_252
|
|
_3_253:
|
|
MOV EAX,14
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
MOV EAX,14
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_254
|
|
_3_252:
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_256
|
|
JMP _3_255
|
|
_3_256:
|
|
MOV EAX,14
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_255:
|
|
_3_254:
|
|
MOV EAX,1
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_251:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
MOV [EBX],EAX
|
|
JMP _3_257
|
|
_3_232:
|
|
MOV EAX,_3_223+38
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_259
|
|
JMP _3_258
|
|
_3_259:
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JE _3_261
|
|
JMP _3_260
|
|
_3_261:
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _callfunc
|
|
ADD ESP,4
|
|
JMP _3_262
|
|
_3_260:
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,4
|
|
CALL __ne
|
|
OR EAX,EAX
|
|
JNE _3_264
|
|
JMP _3_263
|
|
_3_264:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_268
|
|
JMP _3_266
|
|
_3_268:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
CALL __lneg
|
|
OR EAX,EAX
|
|
JNE _3_269
|
|
JMP _3_266
|
|
_3_269:
|
|
MOV EAX,1
|
|
JMP _3_267
|
|
_3_266:
|
|
XOR EAX,EAX
|
|
_3_267:
|
|
OR EAX,EAX
|
|
JNE _3_270
|
|
JMP _3_265
|
|
_3_270:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
_3_265:
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _callfunc
|
|
ADD ESP,4
|
|
JMP _3_271
|
|
_3_263:
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _callfunc
|
|
ADD ESP,4
|
|
_3_271:
|
|
_3_262:
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_272
|
|
_3_258:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_272:
|
|
_3_257:
|
|
JMP _3_230
|
|
_3_231:
|
|
ADD ESP,28
|
|
_3_224:
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_276
|
|
JMP _3_274
|
|
_3_276:
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,4
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_277
|
|
JMP _3_274
|
|
_3_277:
|
|
MOV EAX,1
|
|
JMP _3_275
|
|
_3_274:
|
|
XOR EAX,EAX
|
|
_3_275:
|
|
OR EAX,EAX
|
|
JNE _3_278
|
|
JMP _3_273
|
|
_3_278:
|
|
MOV EAX,25
|
|
PUSH EAX
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_273:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_223 DB 91,0,99,97,110,39,116,32,115,117
|
|
DB 98,115,99,114,105,112,116,0,93,0
|
|
DB 99,97,110,39,116,32,115,117,98,115
|
|
DB 99,114,105,112,116,0,93,0,40,0
|
|
|
|
_primary:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-20
|
|
MOV EAX,_3_279+0
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_281
|
|
JMP _3_280
|
|
_3_281:
|
|
_3_282:
|
|
LEA EAX,[EBP-20]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _level1
|
|
ADD ESP,4
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
MOV EAX,_3_279+2
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_284
|
|
JMP _3_283
|
|
_3_284:
|
|
JMP _3_282
|
|
_3_283:
|
|
MOV EAX,_3_279+4
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _need
|
|
ADD ESP,4
|
|
LEA EAX,[EBP-20]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_280:
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV EAX,14
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _putint
|
|
ADD ESP,12
|
|
LEA EAX,[EBP-16]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _symname
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_286
|
|
JMP _3_285
|
|
_3_286:
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-16]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _findloc
|
|
ADD ESP,4
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
OR EAX,EAX
|
|
JNE _3_288
|
|
JMP _3_287
|
|
_3_288:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
OR EAX,EAX
|
|
JE _3_290
|
|
JMP _3_289
|
|
_3_290:
|
|
XOR CL,CL
|
|
CALL _experr
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_289:
|
|
MOV EAX,58
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,5
|
|
ADD EAX,EBX
|
|
MOV EBX,2
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
MOV EAX,4
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _getint
|
|
ADD ESP,8
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_292
|
|
JMP _3_291
|
|
_3_292:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_291:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,3
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_294
|
|
JMP _3_293
|
|
_3_294:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX,17
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
_3_293:
|
|
MOV EAX,1
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_287:
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-16]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _findglb
|
|
ADD ESP,4
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
OR EAX,EAX
|
|
JNE _3_296
|
|
JMP _3_295
|
|
_3_296:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,4
|
|
CALL __ne
|
|
OR EAX,EAX
|
|
JNE _3_298
|
|
JMP _3_297
|
|
_3_298:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_300
|
|
JMP _3_299
|
|
_3_300:
|
|
MOV EAX,25
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_299:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,3
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_302
|
|
JMP _3_301
|
|
_3_302:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
_3_301:
|
|
MOV EAX,1
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_297:
|
|
JMP _3_303
|
|
_3_295:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-16]
|
|
PUSH EAX
|
|
MOV EAX,4
|
|
PUSH EAX
|
|
MOV EAX,16
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV EAX,_glbptr
|
|
PUSH EAX
|
|
MOV EAX,4
|
|
PUSH EAX
|
|
MOV CL,7
|
|
CALL _addsym
|
|
ADD ESP,28
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
_3_303:
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_285:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _constant
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JE _3_305
|
|
JMP _3_304
|
|
_3_305:
|
|
XOR CL,CL
|
|
CALL _experr
|
|
_3_304:
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_279 DB 40,0,44,0,41,0
|
|
|
|
_experr:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
MOV EAX,_3_306+0
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _error
|
|
ADD ESP,4
|
|
MOV EAX,108
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
XOR CL,CL
|
|
CALL _skip
|
|
POP EBP
|
|
RET
|
|
_3_306 DB 105,110,118,97,108,105,100,32,101,120
|
|
DB 112,114,101,115,115,105,111,110,0
|
|
|
|
_callfunc:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-12
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
XOR CL,CL
|
|
CALL _blanks
|
|
_3_308:
|
|
MOV EAX,[_lptr]
|
|
PUSH EAX
|
|
MOV EAX,_3_307+0
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _streq
|
|
ADD ESP,8
|
|
OR EAX,EAX
|
|
JE _3_310
|
|
JMP _3_309
|
|
_3_310:
|
|
XOR CL,CL
|
|
CALL _endst
|
|
OR EAX,EAX
|
|
JNE _3_312
|
|
JMP _3_311
|
|
_3_312:
|
|
JMP _3_309
|
|
_3_311:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_314
|
|
JMP _3_313
|
|
_3_314:
|
|
LEA EAX,[EBP-8]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-12]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _expressi
|
|
ADD ESP,8
|
|
MOV EAX,60
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_315
|
|
_3_313:
|
|
MOV EAX,60
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP-8]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-12]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _expressi
|
|
ADD ESP,8
|
|
MOV EAX,71
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_315:
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
MOV EAX,_3_307+2
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JE _3_317
|
|
JMP _3_316
|
|
_3_317:
|
|
JMP _3_309
|
|
_3_316:
|
|
JMP _3_308
|
|
_3_309:
|
|
MOV EAX,_3_307+4
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _need
|
|
ADD ESP,4
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_321
|
|
JMP _3_319
|
|
_3_321:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,11
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
MOV EAX,_3_307+6
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _streq
|
|
ADD ESP,8
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_322
|
|
JMP _3_319
|
|
_3_322:
|
|
MOV EAX,1
|
|
JMP _3_320
|
|
_3_319:
|
|
XOR EAX,EAX
|
|
_3_320:
|
|
OR EAX,EAX
|
|
JNE _3_323
|
|
JMP _3_318
|
|
_3_323:
|
|
MOV EAX,5
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_318:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_325
|
|
JMP _3_324
|
|
_3_325:
|
|
MOV EAX,9
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_326
|
|
_3_324:
|
|
MOV EAX,8
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_326:
|
|
MOV EAX,2
|
|
PUSH EAX
|
|
MOV EAX,[_csp]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_307 DB 41,0,44,0,41,0,67,67,65,82
|
|
DB 71,67,0
|
|
|
|
_fdouble:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JE _3_333
|
|
JMP _3_329
|
|
_3_333:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,69
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JE _3_334
|
|
JMP _3_329
|
|
_3_334:
|
|
XOR EAX,EAX
|
|
JMP _3_330
|
|
_3_329:
|
|
MOV EAX,1
|
|
_3_330:
|
|
OR EAX,EAX
|
|
JNE _3_335
|
|
JMP _3_331
|
|
_3_335:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_336
|
|
JMP _3_331
|
|
_3_336:
|
|
MOV EAX,1
|
|
JMP _3_332
|
|
_3_331:
|
|
XOR EAX,EAX
|
|
_3_332:
|
|
OR EAX,EAX
|
|
JNE _3_337
|
|
JMP _3_328
|
|
_3_337:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
JMP _3_340
|
|
_3_341:
|
|
_3_342:
|
|
XOR EAX,EAX
|
|
POP EBP
|
|
RET
|
|
_3_343:
|
|
MOV EAX,1
|
|
POP EBP
|
|
RET
|
|
_3_344:
|
|
MOV EAX,2
|
|
POP EBP
|
|
RET
|
|
JMP _3_339
|
|
_3_340:
|
|
CALL __switch
|
|
DD _3_342
|
|
DD 1
|
|
DD _3_343
|
|
DD 2
|
|
DD _3_344
|
|
DD 4
|
|
DD 0
|
|
JMP _3_341
|
|
_3_339:
|
|
_3_328:
|
|
XOR EAX,EAX
|
|
POP EBP
|
|
RET
|
|
|
|
_step:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_348
|
|
JMP _3_346
|
|
_3_348:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
JMP _3_347
|
|
_3_346:
|
|
MOV EAX,1
|
|
_3_347:
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _store
|
|
ADD ESP,4
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_350
|
|
JMP _3_349
|
|
_3_350:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_353
|
|
JMP _3_351
|
|
_3_353:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
JMP _3_352
|
|
_3_351:
|
|
MOV EAX,1
|
|
_3_352:
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_349:
|
|
POP EBP
|
|
RET
|
|
|
|
_store:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-4
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_356
|
|
JMP _3_355
|
|
_3_356:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_358
|
|
JMP _3_357
|
|
_3_358:
|
|
MOV EAX,62
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_359
|
|
_3_357:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_361
|
|
JMP _3_360
|
|
_3_361:
|
|
MOV EAX,64
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_362
|
|
_3_360:
|
|
MOV EAX,115
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_362:
|
|
_3_359:
|
|
JMP _3_363
|
|
_3_355:
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,3
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_365
|
|
JMP _3_364
|
|
_3_365:
|
|
MOV EAX,114
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_366
|
|
_3_364:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_368
|
|
JMP _3_367
|
|
_3_368:
|
|
MOV EAX,61
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_369
|
|
_3_367:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_371
|
|
JMP _3_370
|
|
_3_371:
|
|
MOV EAX,63
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_372
|
|
_3_370:
|
|
MOV EAX,114
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_372:
|
|
_3_369:
|
|
_3_366:
|
|
_3_363:
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
|
|
_fetch:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-4
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_375
|
|
JMP _3_374
|
|
_3_375:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
MOV EBX,EAX
|
|
MOV EAX,4
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_377
|
|
JMP _3_376
|
|
_3_377:
|
|
MOV EAX,109
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_378
|
|
_3_376:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_380
|
|
JMP _3_379
|
|
_3_380:
|
|
MOV EAX,32
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_381
|
|
_3_379:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
AND EAX,EBX
|
|
OR EAX,EAX
|
|
JNE _3_383
|
|
JMP _3_382
|
|
_3_383:
|
|
MOV EAX,29
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_384
|
|
_3_382:
|
|
MOV EAX,28
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_384:
|
|
_3_381:
|
|
_3_378:
|
|
JMP _3_385
|
|
_3_374:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,3
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_387
|
|
JMP _3_386
|
|
_3_387:
|
|
MOV EAX,107
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_388
|
|
_3_386:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
MOV EBX,EAX
|
|
MOV EAX,4
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_390
|
|
JMP _3_389
|
|
_3_390:
|
|
MOV EAX,107
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_391
|
|
_3_389:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_393
|
|
JMP _3_392
|
|
_3_393:
|
|
MOV EAX,30
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_394
|
|
_3_392:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
AND EAX,EBX
|
|
OR EAX,EAX
|
|
JNE _3_396
|
|
JMP _3_395
|
|
_3_396:
|
|
MOV EAX,27
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_397
|
|
_3_395:
|
|
MOV EAX,26
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_397:
|
|
_3_394:
|
|
_3_391:
|
|
_3_388:
|
|
_3_385:
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
|
|
_constant:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-4
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _number
|
|
ADD ESP,4
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
OR EAX,EAX
|
|
JNE _3_400
|
|
JMP _3_399
|
|
_3_400:
|
|
MOV EAX,108
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_401
|
|
_3_399:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _chrcon
|
|
ADD ESP,4
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
OR EAX,EAX
|
|
JNE _3_403
|
|
JMP _3_402
|
|
_3_403:
|
|
MOV EAX,108
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_404
|
|
_3_402:
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _string
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_406
|
|
JMP _3_405
|
|
_3_406:
|
|
MOV EAX,24
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_407
|
|
_3_405:
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_407:
|
|
_3_404:
|
|
_3_401:
|
|
MOV EAX,1
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
|
|
_number:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-8
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
_3_409:
|
|
MOV EAX,_3_408+0
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_412
|
|
JMP _3_411
|
|
_3_412:
|
|
JMP _3_413
|
|
_3_411:
|
|
MOV EAX,_3_408+2
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_415
|
|
JMP _3_414
|
|
_3_415:
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
MOV [EBX],EAX
|
|
JMP _3_416
|
|
_3_414:
|
|
JMP _3_410
|
|
_3_416:
|
|
_3_413:
|
|
JMP _3_409
|
|
_3_410:
|
|
MOV EAX,[_ch]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _isdigit
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JE _3_418
|
|
JMP _3_417
|
|
_3_418:
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_417:
|
|
MOV EAX,[_ch]
|
|
MOV EBX,EAX
|
|
MOV EAX,48
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_420
|
|
JMP _3_419
|
|
_3_420:
|
|
_3_421:
|
|
MOV EAX,[_ch]
|
|
MOV EBX,EAX
|
|
MOV EAX,48
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_423
|
|
JMP _3_422
|
|
_3_423:
|
|
XOR CL,CL
|
|
CALL _inbyte
|
|
JMP _3_421
|
|
_3_422:
|
|
MOV EAX,[_ch]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _toupper
|
|
ADD ESP,4
|
|
MOV EBX,EAX
|
|
MOV EAX,88
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_425
|
|
JMP _3_424
|
|
_3_425:
|
|
XOR CL,CL
|
|
CALL _inbyte
|
|
_3_426:
|
|
MOV EAX,[_ch]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _isxdigit
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_428
|
|
JMP _3_427
|
|
_3_428:
|
|
MOV EAX,[_ch]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _isdigit
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_430
|
|
JMP _3_429
|
|
_3_430:
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,16
|
|
IMUL EBX
|
|
PUSH EAX
|
|
XOR CL,CL
|
|
CALL _inbyte
|
|
MOV EBX,EAX
|
|
MOV EAX,48
|
|
XCHG EAX,EBX
|
|
SUB EAX,EBX
|
|
POP EBX
|
|
ADD EAX,EBX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_431
|
|
_3_429:
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,16
|
|
IMUL EBX
|
|
MOV EBX,10
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
XOR CL,CL
|
|
CALL _inbyte
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _toupper
|
|
ADD ESP,4
|
|
MOV EBX,EAX
|
|
MOV EAX,65
|
|
XCHG EAX,EBX
|
|
SUB EAX,EBX
|
|
POP EBX
|
|
ADD EAX,EBX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
_3_431:
|
|
JMP _3_426
|
|
_3_427:
|
|
JMP _3_432
|
|
_3_424:
|
|
_3_433:
|
|
MOV EAX,[_ch]
|
|
MOV EBX,EAX
|
|
MOV EAX,48
|
|
CALL __ge
|
|
OR EAX,EAX
|
|
JNE _3_437
|
|
JMP _3_435
|
|
_3_437:
|
|
MOV EAX,[_ch]
|
|
MOV EBX,EAX
|
|
MOV EAX,55
|
|
CALL __le
|
|
OR EAX,EAX
|
|
JNE _3_438
|
|
JMP _3_435
|
|
_3_438:
|
|
MOV EAX,1
|
|
JMP _3_436
|
|
_3_435:
|
|
XOR EAX,EAX
|
|
_3_436:
|
|
OR EAX,EAX
|
|
JNE _3_439
|
|
JMP _3_434
|
|
_3_439:
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,8
|
|
IMUL EBX
|
|
PUSH EAX
|
|
XOR CL,CL
|
|
CALL _inbyte
|
|
MOV EBX,EAX
|
|
MOV EAX,48
|
|
XCHG EAX,EBX
|
|
SUB EAX,EBX
|
|
POP EBX
|
|
ADD EAX,EBX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_433
|
|
_3_434:
|
|
_3_432:
|
|
JMP _3_440
|
|
_3_419:
|
|
_3_441:
|
|
MOV EAX,[_ch]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _isdigit
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_443
|
|
JMP _3_442
|
|
_3_443:
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,10
|
|
IMUL EBX
|
|
PUSH EAX
|
|
XOR CL,CL
|
|
CALL _inbyte
|
|
MOV EBX,EAX
|
|
MOV EAX,48
|
|
XCHG EAX,EBX
|
|
SUB EAX,EBX
|
|
POP EBX
|
|
ADD EAX,EBX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_441
|
|
_3_442:
|
|
_3_440:
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_445
|
|
JMP _3_444
|
|
_3_445:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
NEG EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
MOV EAX,16
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_444:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
OR EAX,EAX
|
|
JL _3_447
|
|
JMP _3_446
|
|
_3_447:
|
|
MOV EAX,17
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_446:
|
|
MOV EAX,16
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_448:
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_408 DB 43,0,45,0
|
|
|
|
_chrcon:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-4
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
MOV EAX,_3_449+0
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JE _3_451
|
|
JMP _3_450
|
|
_3_451:
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_450:
|
|
_3_452:
|
|
MOV EAX,[_ch]
|
|
MOV EBX,EAX
|
|
MOV EAX,39
|
|
CALL __ne
|
|
OR EAX,EAX
|
|
JNE _3_454
|
|
JMP _3_453
|
|
_3_454:
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,8
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAL EAX,CL
|
|
PUSH EAX
|
|
XOR CL,CL
|
|
CALL _litchar
|
|
MOV EBX,EAX
|
|
MOV EAX,255
|
|
AND EAX,EBX
|
|
POP EBX
|
|
ADD EAX,EBX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_452
|
|
_3_453:
|
|
XOR CL,CL
|
|
CALL _gch
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
MOV EAX,16
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_449 DB 39,0
|
|
|
|
_string:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-4
|
|
MOV EAX,_quote
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _match
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JE _3_457
|
|
JMP _3_456
|
|
_3_457:
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_456:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV EAX,[_litptr]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
_3_458:
|
|
MOV EAX,[_ch]
|
|
MOV EBX,EAX
|
|
MOV EAX,34
|
|
CALL __ne
|
|
OR EAX,EAX
|
|
JNE _3_460
|
|
JMP _3_459
|
|
_3_460:
|
|
MOV EAX,[_ch]
|
|
OR EAX,EAX
|
|
JE _3_462
|
|
JMP _3_461
|
|
_3_462:
|
|
JMP _3_459
|
|
_3_461:
|
|
XOR CL,CL
|
|
CALL _litchar
|
|
PUSH EAX
|
|
MOV EAX,1
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _stowlit
|
|
ADD ESP,8
|
|
JMP _3_458
|
|
_3_459:
|
|
XOR CL,CL
|
|
CALL _gch
|
|
MOV EAX,[_litq]
|
|
PUSH EAX
|
|
MOV EAX,[_litptr]
|
|
INC EAX
|
|
MOV DWORD [_litptr],EAX
|
|
DEC EAX
|
|
POP EBX
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],AL
|
|
MOV EAX,1
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
|
|
_stowlit:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
MOV EAX,[_litptr]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX,2999
|
|
CALL __ge
|
|
OR EAX,EAX
|
|
JNE _3_465
|
|
JMP _3_464
|
|
_3_465:
|
|
MOV EAX,_3_463+0
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _error
|
|
ADD ESP,4
|
|
MOV EAX,7
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _OS_exit
|
|
ADD ESP,4
|
|
_3_464:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV EAX,[_litq]
|
|
PUSH EAX
|
|
MOV EAX,[_litptr]
|
|
POP EBX
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _putint
|
|
ADD ESP,12
|
|
MOV EAX,[_litptr]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
ADD EAX,EBX
|
|
MOV DWORD [_litptr],EAX
|
|
POP EBP
|
|
RET
|
|
_3_463 DB 108,105,116,101,114,97,108,32,113,117
|
|
DB 101,117,101,32,111,118,101,114,102,108
|
|
DB 111,119,0
|
|
|
|
_litchar:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-8
|
|
MOV EAX,[_ch]
|
|
MOV EBX,EAX
|
|
MOV EAX,92
|
|
CALL __ne
|
|
OR EAX,EAX
|
|
JE _3_470
|
|
JMP _3_468
|
|
_3_470:
|
|
MOV EAX,[_nch]
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JE _3_471
|
|
JMP _3_468
|
|
_3_471:
|
|
XOR EAX,EAX
|
|
JMP _3_469
|
|
_3_468:
|
|
MOV EAX,1
|
|
_3_469:
|
|
OR EAX,EAX
|
|
JNE _3_472
|
|
JMP _3_467
|
|
_3_472:
|
|
XOR CL,CL
|
|
CALL _gch
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_467:
|
|
XOR CL,CL
|
|
CALL _gch
|
|
MOV EAX,[_ch]
|
|
JMP _3_475
|
|
_3_476:
|
|
XOR CL,CL
|
|
CALL _gch
|
|
MOV EAX,10
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_477:
|
|
XOR CL,CL
|
|
CALL _gch
|
|
MOV EAX,13
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_478:
|
|
XOR CL,CL
|
|
CALL _gch
|
|
MOV EAX,9
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_479:
|
|
XOR CL,CL
|
|
CALL _gch
|
|
MOV EAX,8
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_480:
|
|
XOR CL,CL
|
|
CALL _gch
|
|
MOV EAX,12
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
JMP _3_474
|
|
_3_475:
|
|
CALL __switch
|
|
DD _3_476
|
|
DD 110
|
|
DD _3_477
|
|
DD 114
|
|
DD _3_478
|
|
DD 116
|
|
DD _3_479
|
|
DD 98
|
|
DD _3_480
|
|
DD 102
|
|
DD 0
|
|
_3_474:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX,3
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
_3_481:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
DEC EAX
|
|
MOV [EBX],EAX
|
|
INC EAX
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
CALL __gt
|
|
OR EAX,EAX
|
|
JNE _3_485
|
|
JMP _3_483
|
|
_3_485:
|
|
MOV EAX,[_ch]
|
|
MOV EBX,EAX
|
|
MOV EAX,48
|
|
CALL __ge
|
|
OR EAX,EAX
|
|
JNE _3_486
|
|
JMP _3_483
|
|
_3_486:
|
|
MOV EAX,[_ch]
|
|
MOV EBX,EAX
|
|
MOV EAX,55
|
|
CALL __le
|
|
OR EAX,EAX
|
|
JNE _3_487
|
|
JMP _3_483
|
|
_3_487:
|
|
MOV EAX,1
|
|
JMP _3_484
|
|
_3_483:
|
|
XOR EAX,EAX
|
|
_3_484:
|
|
OR EAX,EAX
|
|
JNE _3_488
|
|
JMP _3_482
|
|
_3_488:
|
|
LEA EAX,[EBP-8]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,3
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAL EAX,CL
|
|
PUSH EAX
|
|
XOR CL,CL
|
|
CALL _gch
|
|
POP EBX
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX,48
|
|
XCHG EAX,EBX
|
|
SUB EAX,EBX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
JMP _3_481
|
|
_3_482:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_490
|
|
JMP _3_489
|
|
_3_490:
|
|
XOR CL,CL
|
|
CALL _gch
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_489:
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_491:
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
|
|
_skim:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-12
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
_3_493:
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _down1
|
|
ADD ESP,8
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+28]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _nextop
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_496
|
|
JMP _3_495
|
|
_3_496:
|
|
MOV EAX,[_opsize]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _bump
|
|
ADD ESP,4
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JE _3_498
|
|
JMP _3_497
|
|
_3_498:
|
|
LEA EAX,[EBP-8]
|
|
PUSH EAX
|
|
XOR CL,CL
|
|
CALL _getlabel
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
_3_497:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+24]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,4
|
|
CALL _dropout
|
|
ADD ESP,16
|
|
JMP _3_499
|
|
_3_495:
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_501
|
|
JMP _3_500
|
|
_3_501:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+24]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,4
|
|
CALL _dropout
|
|
ADD ESP,16
|
|
MOV EAX,108
|
|
PUSH EAX
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
MOV EAX,40
|
|
PUSH EAX
|
|
LEA EAX,[EBP-12]
|
|
PUSH EAX
|
|
XOR CL,CL
|
|
CALL _getlabel
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
MOV EAX,41
|
|
PUSH EAX
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
MOV EAX,108
|
|
PUSH EAX
|
|
LEA EAX,[EBP+20]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
MOV EAX,41
|
|
PUSH EAX
|
|
LEA EAX,[EBP-12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,24
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_500:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_502:
|
|
_3_499:
|
|
JMP _3_493
|
|
_3_494:
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
|
|
_dropout:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
LEA EAX,[EBP+20]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_505
|
|
JMP _3_504
|
|
_3_505:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
JMP _3_506
|
|
_3_504:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_508
|
|
JMP _3_507
|
|
_3_508:
|
|
MOV EAX,108
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_507:
|
|
_3_506:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
POP EBP
|
|
RET
|
|
|
|
_down:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-4
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _down1
|
|
ADD ESP,8
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+20]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _nextop
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JE _3_511
|
|
JMP _3_510
|
|
_3_511:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_510:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_513
|
|
JMP _3_512
|
|
_3_513:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
_3_512:
|
|
_3_514:
|
|
LEA EAX,[EBP+20]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _nextop
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JNE _3_517
|
|
JMP _3_516
|
|
_3_517:
|
|
ADD ESP,-28
|
|
LEA EAX,[EBP-32]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _null_is
|
|
ADD ESP,4
|
|
MOV EAX,[_opsize]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _bump
|
|
ADD ESP,4
|
|
MOV EAX,[_opindex]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
ADD EAX,EBX
|
|
MOV DWORD [_opindex],EAX
|
|
MOV EAX,_op
|
|
PUSH EAX
|
|
MOV EAX,[_opindex]
|
|
POP EBX
|
|
SHL EAX,1
|
|
SHL EAX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV EAX,_op2
|
|
PUSH EAX
|
|
MOV EAX,[_opindex]
|
|
POP EBX
|
|
SHL EAX,1
|
|
SHL EAX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-32]
|
|
PUSH EAX
|
|
MOV CL,5
|
|
CALL _down2
|
|
ADD ESP,20
|
|
ADD ESP,28
|
|
JMP _3_518
|
|
_3_516:
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_518:
|
|
JMP _3_514
|
|
_3_515:
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
|
|
_down1:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-12
|
|
LEA EAX,[EBP-8]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-12]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _setstage
|
|
ADD ESP,8
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
XCHG EAX,EBX
|
|
PUSH EBX
|
|
CALL EAX
|
|
ADD ESP,4
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_521
|
|
JMP _3_520
|
|
_3_521:
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _clearsta
|
|
ADD ESP,8
|
|
_3_520:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
|
|
_down2:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-16
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP-8]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _setstage
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,24
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_524
|
|
JMP _3_523
|
|
_3_524:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _down1
|
|
ADD ESP,8
|
|
OR EAX,EAX
|
|
JNE _3_526
|
|
JMP _3_525
|
|
_3_526:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
_3_525:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JE _3_528
|
|
JMP _3_527
|
|
_3_528:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,24
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
MOV EAX,[_snext]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
_3_527:
|
|
MOV EAX,33
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+24]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _fdouble
|
|
ADD ESP,12
|
|
POP EBX
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAL EAX,CL
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_529
|
|
_3_523:
|
|
MOV EAX,60
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _down1
|
|
ADD ESP,8
|
|
OR EAX,EAX
|
|
JNE _3_531
|
|
JMP _3_530
|
|
_3_531:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _fetch
|
|
ADD ESP,4
|
|
_3_530:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_533
|
|
JMP _3_532
|
|
_3_533:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JE _3_535
|
|
JMP _3_534
|
|
_3_535:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,24
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP-8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
_3_534:
|
|
MOV EAX,[_csp]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
MOV DWORD [_csp],EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _clearsta
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+24]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_537
|
|
JMP _3_536
|
|
_3_537:
|
|
MOV EAX,110
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+24]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _fdouble
|
|
ADD ESP,12
|
|
POP EBX
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAL EAX,CL
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
JMP _3_538
|
|
_3_536:
|
|
MOV EAX,51
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
MOV EAX,108
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+24]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _fdouble
|
|
ADD ESP,12
|
|
POP EBX
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAL EAX,CL
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_538:
|
|
JMP _3_539
|
|
_3_532:
|
|
MOV EAX,59
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP-16]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+24]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _fdouble
|
|
ADD ESP,12
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
OR EAX,EAX
|
|
JNE _3_541
|
|
JMP _3_540
|
|
_3_541:
|
|
MOV EAX,14
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
CALL __gt
|
|
OR EAX,EAX
|
|
JNE _3_543
|
|
JMP _3_542
|
|
_3_543:
|
|
MOV EAX,14
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_542:
|
|
_3_540:
|
|
LEA EAX,[EBP-16]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+24]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _fdouble
|
|
ADD ESP,12
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
OR EAX,EAX
|
|
JNE _3_545
|
|
JMP _3_544
|
|
_3_545:
|
|
MOV EAX,15
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP-16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
CALL __gt
|
|
OR EAX,EAX
|
|
JNE _3_547
|
|
JMP _3_546
|
|
_3_547:
|
|
MOV EAX,15
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_546:
|
|
_3_544:
|
|
_3_539:
|
|
_3_529:
|
|
LEA EAX,[EBP+24]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_549
|
|
JMP _3_548
|
|
_3_549:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _nosign
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JE _3_553
|
|
JMP _3_551
|
|
_3_553:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,1
|
|
CALL _nosign
|
|
ADD ESP,4
|
|
OR EAX,EAX
|
|
JE _3_554
|
|
JMP _3_551
|
|
_3_554:
|
|
XOR EAX,EAX
|
|
JMP _3_552
|
|
_3_551:
|
|
MOV EAX,1
|
|
_3_552:
|
|
OR EAX,EAX
|
|
JNE _3_555
|
|
JMP _3_550
|
|
_3_555:
|
|
LEA EAX,[EBP+24]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+20]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
_3_550:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
AND EAX,EBX
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
OR EAX,EAX
|
|
JNE _3_557
|
|
JMP _3_556
|
|
_3_557:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+24]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,16
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _calc
|
|
ADD ESP,12
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _clearsta
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,17
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_559
|
|
JMP _3_558
|
|
_3_559:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX,17
|
|
MOV [EBX],EAX
|
|
_3_558:
|
|
JMP _3_560
|
|
_3_556:
|
|
LEA EAX,[EBP+24]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
LEA EAX,[EBP+24]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,69
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_564
|
|
JMP _3_562
|
|
_3_564:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_565
|
|
JMP _3_562
|
|
_3_565:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
MOV EBX,EAX
|
|
MOV EAX,2
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JNE _3_566
|
|
JMP _3_562
|
|
_3_566:
|
|
MOV EAX,1
|
|
JMP _3_563
|
|
_3_562:
|
|
XOR EAX,EAX
|
|
_3_563:
|
|
OR EAX,EAX
|
|
JNE _3_567
|
|
JMP _3_561
|
|
_3_567:
|
|
MOV EAX,70
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
MOV EAX,31
|
|
PUSH EAX
|
|
MOV EAX,1
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
MOV EAX,7
|
|
PUSH EAX
|
|
XOR EAX,EAX
|
|
PUSH EAX
|
|
MOV CL,2
|
|
CALL _gen
|
|
ADD ESP,8
|
|
_3_561:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,20
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+24]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
_3_560:
|
|
LEA EAX,[EBP+24]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,69
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JE _3_571
|
|
JMP _3_569
|
|
_3_571:
|
|
LEA EAX,[EBP+24]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JE _3_572
|
|
JMP _3_569
|
|
_3_572:
|
|
XOR EAX,EAX
|
|
JMP _3_570
|
|
_3_569:
|
|
MOV EAX,1
|
|
_3_570:
|
|
OR EAX,EAX
|
|
JNE _3_573
|
|
JMP _3_568
|
|
_3_573:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_577
|
|
JMP _3_575
|
|
_3_577:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_578
|
|
JMP _3_575
|
|
_3_578:
|
|
MOV EAX,1
|
|
JMP _3_576
|
|
_3_575:
|
|
XOR EAX,EAX
|
|
_3_576:
|
|
OR EAX,EAX
|
|
JNE _3_579
|
|
JMP _3_574
|
|
_3_579:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
MOV [EBX],EAX
|
|
JMP _3_580
|
|
_3_574:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JNE _3_582
|
|
JMP _3_581
|
|
_3_582:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,4
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
_3_581:
|
|
_3_580:
|
|
_3_568:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
XOR EAX,EAX
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JE _3_588
|
|
JMP _3_584
|
|
_3_588:
|
|
LEA EAX,[EBP-12]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
OR EAX,EAX
|
|
JNE _3_589
|
|
JMP _3_585
|
|
_3_589:
|
|
LEA EAX,[EBP-12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
AND EAX,EBX
|
|
OR EAX,EAX
|
|
JNE _3_590
|
|
JMP _3_585
|
|
_3_590:
|
|
MOV EAX,1
|
|
JMP _3_586
|
|
_3_585:
|
|
XOR EAX,EAX
|
|
_3_586:
|
|
OR EAX,EAX
|
|
JE _3_591
|
|
JMP _3_584
|
|
_3_591:
|
|
XOR EAX,EAX
|
|
JMP _3_587
|
|
_3_584:
|
|
MOV EAX,1
|
|
_3_587:
|
|
OR EAX,EAX
|
|
JNE _3_592
|
|
JMP _3_583
|
|
_3_592:
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
_3_583:
|
|
_3_548:
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
|
|
_nosign:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
ADD ESP,-4
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,8
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
OR EAX,EAX
|
|
JE _3_599
|
|
JMP _3_595
|
|
_3_599:
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,12
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,17
|
|
CALL __eq
|
|
OR EAX,EAX
|
|
JE _3_600
|
|
JMP _3_595
|
|
_3_600:
|
|
LEA EAX,[EBP-4]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV [EBX],EAX
|
|
OR EAX,EAX
|
|
JNE _3_601
|
|
JMP _3_596
|
|
_3_601:
|
|
LEA EAX,[EBP-4]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
MOV EBX,1
|
|
ADD EAX,EBX
|
|
MOV EBX,EAX
|
|
MOVSX EAX,BYTE [EBX]
|
|
MOV EBX,EAX
|
|
MOV EAX,1
|
|
AND EAX,EBX
|
|
OR EAX,EAX
|
|
JNE _3_602
|
|
JMP _3_596
|
|
_3_602:
|
|
MOV EAX,1
|
|
JMP _3_597
|
|
_3_596:
|
|
XOR EAX,EAX
|
|
_3_597:
|
|
OR EAX,EAX
|
|
JE _3_603
|
|
JMP _3_595
|
|
_3_603:
|
|
XOR EAX,EAX
|
|
JMP _3_598
|
|
_3_595:
|
|
MOV EAX,1
|
|
_3_598:
|
|
OR EAX,EAX
|
|
JNE _3_604
|
|
JMP _3_594
|
|
_3_604:
|
|
MOV EAX,1
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
_3_594:
|
|
XOR EAX,EAX
|
|
MOV ESP,EBP
|
|
POP EBP
|
|
RET
|
|
|
|
_calc:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
JMP _3_608
|
|
_3_609:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
ADD EAX,EBX
|
|
POP EBP
|
|
RET
|
|
_3_610:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
XCHG EAX,EBX
|
|
SUB EAX,EBX
|
|
POP EBP
|
|
RET
|
|
_3_611:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
IMUL EBX
|
|
POP EBP
|
|
RET
|
|
_3_612:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
XCHG EAX,EBX
|
|
CDQ
|
|
IDIV EBX
|
|
POP EBP
|
|
RET
|
|
_3_613:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
XCHG EAX,EBX
|
|
CDQ
|
|
IDIV EBX
|
|
MOV EAX,EDX
|
|
POP EBP
|
|
RET
|
|
_3_614:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
CALL __eq
|
|
POP EBP
|
|
RET
|
|
_3_615:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
CALL __ne
|
|
POP EBP
|
|
RET
|
|
_3_616:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
CALL __le
|
|
POP EBP
|
|
RET
|
|
_3_617:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
CALL __ge
|
|
POP EBP
|
|
RET
|
|
_3_618:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
CALL __lt
|
|
POP EBP
|
|
RET
|
|
_3_619:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
CALL __gt
|
|
POP EBP
|
|
RET
|
|
_3_620:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
AND EAX,EBX
|
|
POP EBP
|
|
RET
|
|
_3_621:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
OR EAX,EBX
|
|
POP EBP
|
|
RET
|
|
_3_622:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
XOR EAX,EBX
|
|
POP EBP
|
|
RET
|
|
_3_623:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAR EAX,CL
|
|
POP EBP
|
|
RET
|
|
_3_624:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MOV ECX,EAX
|
|
MOV EAX,EBX
|
|
SAL EAX,CL
|
|
POP EBP
|
|
RET
|
|
JMP _3_607
|
|
_3_608:
|
|
CALL __switch
|
|
DD _3_609
|
|
DD 1
|
|
DD _3_610
|
|
DD 69
|
|
DD _3_611
|
|
DD 52
|
|
DD _3_612
|
|
DD 16
|
|
DD _3_613
|
|
DD 49
|
|
DD _3_614
|
|
DD 20
|
|
DD _3_615
|
|
DD 55
|
|
DD _3_616
|
|
DD 43
|
|
DD _3_617
|
|
DD 22
|
|
DD _3_618
|
|
DD 47
|
|
DD _3_619
|
|
DD 35
|
|
DD _3_620
|
|
DD 3
|
|
DD _3_621
|
|
DD 57
|
|
DD _3_622
|
|
DD 73
|
|
DD _3_623
|
|
DD 7
|
|
DD _3_624
|
|
DD 6
|
|
DD 0
|
|
_3_607:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
MOV CL,3
|
|
CALL _calc2
|
|
ADD ESP,12
|
|
POP EBP
|
|
RET
|
|
|
|
_calc2:
|
|
PUSH EBP
|
|
MOV EBP,ESP
|
|
LEA EAX,[EBP+12]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
JMP _3_628
|
|
_3_629:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
MUL EBX
|
|
POP EBP
|
|
RET
|
|
_3_630:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
XCHG EAX,EBX
|
|
XOR EDX,EDX
|
|
DIV EBX
|
|
POP EBP
|
|
RET
|
|
_3_631:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
XCHG EAX,EBX
|
|
XOR EDX,EDX
|
|
DIV EBX
|
|
MOV EAX,EDX
|
|
POP EBP
|
|
RET
|
|
_3_632:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
CALL __ule
|
|
POP EBP
|
|
RET
|
|
_3_633:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
CALL __uge
|
|
POP EBP
|
|
RET
|
|
_3_634:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
CALL __ult
|
|
POP EBP
|
|
RET
|
|
_3_635:
|
|
LEA EAX,[EBP+16]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
PUSH EAX
|
|
LEA EAX,[EBP+8]
|
|
MOV EBX,EAX
|
|
MOV EAX, [EBX]
|
|
POP EBX
|
|
CALL __ugt
|
|
POP EBP
|
|
RET
|
|
JMP _3_627
|
|
_3_628:
|
|
CALL __switch
|
|
DD _3_629
|
|
DD 53
|
|
DD _3_630
|
|
DD 17
|
|
DD _3_631
|
|
DD 50
|
|
DD _3_632
|
|
DD 44
|
|
DD _3_633
|
|
DD 23
|
|
DD _3_634
|
|
DD 48
|
|
DD _3_635
|
|
DD 36
|
|
DD 0
|
|
_3_627:
|
|
XOR EAX,EAX
|
|
POP EBP
|
|
RET
|