1
0
mirror of https://github.com/KolibriOS/kolibrios.git synced 2024-12-15 03:12:35 +03:00
kolibrios/programs/develop/scc/LIBSTD.ASM
jacekm 1967c25fac scc 0.5.3
git-svn-id: svn://kolibrios.org@718 a494cfbc-eb01-0410-851d-a64ba20cac60
2008-02-08 11:41:42 +00:00

2700 lines
34 KiB
NASM

_puts:
PUSH EBP
MOV EBP,ESP
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV EAX,__iob
MOV EBX,32
ADD EAX,EBX
PUSH EAX
MOV CL,2
CALL _fputs
ADD ESP,8
MOV EAX,10
PUSH EAX
MOV EAX,__iob
MOV EBX,32
ADD EAX,EBX
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
POP EBP
RET
_reverse:
PUSH EBP
MOV EBP,ESP
ADD ESP,-8
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]
PUSH EAX
MOV CL,1
CALL _strlen
ADD ESP,4
POP EBX
ADD EAX,EBX
MOV EBX,EAX
MOV EAX,1
XCHG EAX,EBX
SUB EAX,EBX
POP EBX
MOV [EBX],EAX
_lib_3:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
CALL __ult
OR EAX,EAX
JNE _lib_5
JMP _lib_4
_lib_5:
LEA EAX,[EBP-8]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
POP EBX
MOV [EBX],AL
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
INC EAX
PUSH EAX
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],AL
JMP _lib_3
_lib_4:
MOV ESP,EBP
POP EBP
RET
_strcpy:
PUSH EBP
MOV EBP,ESP
ADD ESP,-4
LEA EAX,[EBP-4]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
_lib_7:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
POP EBX
MOV [EBX],AL
OR EAX,EAX
JNE _lib_9
JMP _lib_8
_lib_9:
JMP _lib_7
_lib_8:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV ESP,EBP
POP EBP
RET
_strlen:
PUSH EBP
MOV EBP,ESP
ADD ESP,-4
LEA EAX,[EBP-4]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
_lib_11:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
OR EAX,EAX
JNE _lib_13
JMP _lib_12
_lib_13:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_11
_lib_12:
LEA EAX,[EBP-4]
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
MOV ESP,EBP
POP EBP
RET
_toupper:
PUSH EBP
MOV EBP,ESP
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,122
CALL __le
OR EAX,EAX
JNE _lib_18
JMP _lib_16
_lib_18:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,97
CALL __ge
OR EAX,EAX
JNE _lib_19
JMP _lib_16
_lib_19:
MOV EAX,1
JMP _lib_17
_lib_16:
XOR EAX,EAX
_lib_17:
OR EAX,EAX
JNE _lib_20
JMP _lib_15
_lib_20:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,32
XCHG EAX,EBX
SUB EAX,EBX
POP EBP
RET
_lib_15:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBP
RET
_atoi:
PUSH EBP
MOV EBP,ESP
ADD ESP,-8
_lib_22:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
MOV CL,1
CALL _isspace
ADD ESP,4
OR EAX,EAX
JNE _lib_24
JMP _lib_23
_lib_24:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_22
_lib_23:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX,1
MOV [EBX],EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
JMP _lib_27
_lib_28:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX,-1
MOV [EBX],EAX
_lib_29:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_26
_lib_27:
CALL __switch
DD _lib_28
DD 45
DD _lib_29
DD 43
DD 0
_lib_26:
LEA EAX,[EBP-8]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
_lib_30:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
MOV CL,1
CALL _isdigit
ADD ESP,4
OR EAX,EAX
JNE _lib_32
JMP _lib_31
_lib_32:
LEA EAX,[EBP-8]
PUSH EAX
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,10
IMUL EBX
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
POP EBX
ADD EAX,EBX
MOV EBX,EAX
MOV EAX,48
XCHG EAX,EBX
SUB EAX,EBX
POP EBX
MOV [EBX],EAX
JMP _lib_30
_lib_31:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
IMUL EBX
MOV ESP,EBP
POP EBP
RET
_atoib:
PUSH EBP
MOV EBP,ESP
ADD ESP,-8
LEA EAX,[EBP-4]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
_lib_34:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
MOV CL,1
CALL _isspace
ADD ESP,4
OR EAX,EAX
JNE _lib_36
JMP _lib_35
_lib_36:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_34
_lib_35:
_lib_37:
LEA EAX,[EBP-8]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,127
AND EAX,EBX
POP EBX
MOV [EBX],EAX
MOV EBX,EAX
MOV EAX,48
CALL __ge
OR EAX,EAX
JNE _lib_39
JMP _lib_38
_lib_39:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,97
CALL __ge
OR EAX,EAX
JNE _lib_41
JMP _lib_40
_lib_41:
LEA EAX,[EBP-8]
PUSH EAX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,87
XCHG EAX,EBX
SUB EAX,EBX
POP EBX
MOV [EBX],EAX
JMP _lib_42
_lib_40:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,65
CALL __ge
OR EAX,EAX
JNE _lib_44
JMP _lib_43
_lib_44:
LEA EAX,[EBP-8]
PUSH EAX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,55
XCHG EAX,EBX
SUB EAX,EBX
POP EBX
MOV [EBX],EAX
JMP _lib_45
_lib_43:
LEA EAX,[EBP-8]
PUSH EAX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,48
XCHG EAX,EBX
SUB EAX,EBX
POP EBX
MOV [EBX],EAX
_lib_45:
_lib_42:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
CALL __ge
OR EAX,EAX
JNE _lib_47
JMP _lib_46
_lib_47:
JMP _lib_38
_lib_46:
LEA EAX,[EBP-4]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
IMUL EBX
PUSH EAX
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
ADD EAX,EBX
POP EBX
MOV [EBX],EAX
JMP _lib_37
_lib_38:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV ESP,EBP
POP EBP
RET
_fgets:
PUSH EBP
MOV EBP,ESP
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 EAX,1
PUSH EAX
MOV CL,4
CALL __gets
ADD ESP,16
POP EBP
RET
_gets:
PUSH EBP
MOV EBP,ESP
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV EAX,32767
PUSH EAX
MOV EAX,__iob
PUSH EAX
XOR EAX,EAX
PUSH EAX
MOV CL,4
CALL __gets
ADD ESP,16
POP EBP
RET
__gets:
PUSH EBP
MOV EBP,ESP
ADD ESP,-8
LEA EAX,[EBP-8]
PUSH EAX
LEA EAX,[EBP+20]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
_lib_51:
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
OR EAX,EAX
JNE _lib_53
JMP _lib_52
_lib_53:
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,1
CALL _OS_fgetc
ADD ESP,4
POP EBX
MOV [EBX],AL
JMP _lib_56
_lib_57:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],AL
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+20]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
CALL __eq
OR EAX,EAX
JNE _lib_59
JMP _lib_58
_lib_59:
XOR EAX,EAX
MOV ESP,EBP
POP EBP
RET
_lib_58:
LEA EAX,[EBP+20]
MOV EBX,EAX
MOV EAX, [EBX]
MOV ESP,EBP
POP EBP
RET
_lib_60:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
ADD EAX,EBX
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
LEA EAX,[EBP+20]
MOV EBX,EAX
MOV EAX, [EBX]
MOV ESP,EBP
POP EBP
RET
_lib_61:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+20]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
CALL __ugt
OR EAX,EAX
JNE _lib_63
JMP _lib_62
_lib_63:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX,1
MOV [EBX],EAX
JMP _lib_64
_lib_62:
LEA EAX,[EBP-4]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
_lib_64:
JMP _lib_65
_lib_66:
LEA EAX,[EBP-4]
PUSH EAX
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+20]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
XCHG EAX,EBX
SUB EAX,EBX
POP EBX
MOV [EBX],EAX
_lib_65:
JMP _lib_67
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
_lib_68:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
INC EAX
OR EAX,EAX
JNE _lib_70
JMP _lib_69
_lib_70:
MOV EAX,_lib_50+0
PUSH EAX
MOV EAX,__iob
MOV EBX,64
ADD EAX,EBX
PUSH EAX
MOV CL,2
CALL _fputs
ADD ESP,8
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_68
_lib_69:
JMP _lib_51
_lib_67:
_lib_71:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_55
_lib_56:
CALL __switch
DD _lib_57
DD -1
DD _lib_60
DD 10
DD _lib_61
DD 8
DD _lib_66
DD 24
DD 0
JMP _lib_71
_lib_55:
JMP _lib_51
_lib_52:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],AL
LEA EAX,[EBP+20]
MOV EBX,EAX
MOV EAX, [EBX]
MOV ESP,EBP
POP EBP
RET
_lib_50 DB 8,32,8,0
_fprintf:
PUSH EBP
MOV EBP,ESP
ADD ESP,-4
LEA EAX,[EBP-4]
PUSH EAX
CALL _CCARGC
PUSH EAX
LEA EAX,[EBP+8]
POP EBX
SHL EBX,1
SHL EBX,1
ADD EAX,EBX
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
DEC EAX
DEC EAX
DEC EAX
MOV [EBX],EAX
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
DEC EAX
DEC EAX
DEC EAX
MOV [EBX],EAX
PUSH EAX
MOV CL,2
CALL __print
ADD ESP,8
MOV ESP,EBP
POP EBP
RET
_printf:
PUSH EBP
MOV EBP,ESP
MOV EAX,__iob
MOV EBX,32
ADD EAX,EBX
PUSH EAX
CALL _CCARGC
PUSH EAX
LEA EAX,[EBP+8]
POP EBX
SHL EBX,1
SHL EBX,1
ADD EAX,EBX
MOV EBX,EAX
MOV EAX,4
XCHG EAX,EBX
SUB EAX,EBX
PUSH EAX
MOV CL,2
CALL __print
ADD ESP,8
POP EBP
RET
__print:
PUSH EBP
MOV EBP,ESP
ADD ESP,-56
LEA EAX,[EBP-16]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
LEA EAX,[EBP-32]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
DEC EAX
DEC EAX
DEC EAX
MOV [EBX],EAX
INC EAX
INC EAX
INC EAX
INC EAX
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
_lib_75:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
OR EAX,EAX
JNE _lib_77
JMP _lib_76
_lib_77:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,37
CALL __ne
OR EAX,EAX
JNE _lib_79
JMP _lib_78
_lib_79:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_75
JMP _lib_80
_lib_78:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
_lib_80:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,37
CALL __eq
OR EAX,EAX
JNE _lib_82
JMP _lib_81
_lib_82:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_75
_lib_81:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,45
CALL __eq
OR EAX,EAX
JNE _lib_84
JMP _lib_83
_lib_84:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX,1
MOV [EBX],EAX
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_85
_lib_83:
LEA EAX,[EBP-8]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
_lib_85:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,48
CALL __eq
OR EAX,EAX
JNE _lib_87
JMP _lib_86
_lib_87:
LEA EAX,[EBP-12]
MOV EBX,EAX
MOV EAX,48
MOV [EBX],EAX
JMP _lib_88
_lib_86:
LEA EAX,[EBP-12]
MOV EBX,EAX
MOV EAX,32
MOV [EBX],EAX
_lib_88:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
MOV CL,1
CALL _isdigit
ADD ESP,4
OR EAX,EAX
JNE _lib_90
JMP _lib_89
_lib_90:
LEA EAX,[EBP-28]
PUSH EAX
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
PUSH EAX
MOV CL,1
CALL _atoi
ADD ESP,4
POP EBX
MOV [EBX],EAX
_lib_91:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
MOV CL,1
CALL _isdigit
ADD ESP,4
OR EAX,EAX
JNE _lib_93
JMP _lib_92
_lib_93:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_91
_lib_92:
JMP _lib_94
_lib_89:
LEA EAX,[EBP-28]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
_lib_94:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,46
CALL __eq
OR EAX,EAX
JNE _lib_96
JMP _lib_95
_lib_96:
LEA EAX,[EBP-24]
PUSH EAX
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
PUSH EAX
MOV CL,1
CALL _atoi
ADD ESP,4
POP EBX
MOV [EBX],EAX
_lib_97:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
MOV CL,1
CALL _isdigit
ADD ESP,4
OR EAX,EAX
JNE _lib_99
JMP _lib_98
_lib_99:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_97
_lib_98:
JMP _lib_100
_lib_95:
LEA EAX,[EBP-24]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
_lib_100:
LEA EAX,[EBP-4]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
DEC EAX
DEC EAX
DEC EAX
MOV [EBX],EAX
INC EAX
INC EAX
INC EAX
INC EAX
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-36]
PUSH EAX
LEA EAX,[EBP-56]
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
JMP _lib_103
_lib_104:
LEA EAX,[EBP-56]
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],AL
LEA EAX,[EBP-56]
MOV EBX,1
ADD EAX,EBX
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],AL
JMP _lib_102
_lib_105:
LEA EAX,[EBP-36]
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
JMP _lib_102
_lib_106:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-56]
PUSH EAX
MOV CL,2
CALL _itoa
ADD ESP,8
JMP _lib_102
_lib_107:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-56]
PUSH EAX
MOV EAX,2
PUSH EAX
MOV CL,3
CALL _itoab
ADD ESP,12
JMP _lib_102
_lib_108:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-56]
PUSH EAX
MOV EAX,8
PUSH EAX
MOV CL,3
CALL _itoab
ADD ESP,12
JMP _lib_102
_lib_109:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-56]
PUSH EAX
MOV EAX,10
PUSH EAX
MOV CL,3
CALL _itoab
ADD ESP,12
JMP _lib_102
_lib_110:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-56]
PUSH EAX
MOV EAX,16
PUSH EAX
MOV CL,3
CALL _itoab
ADD ESP,12
JMP _lib_102
_lib_111:
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV ESP,EBP
POP EBP
RET
JMP _lib_102
_lib_103:
CALL __switch
DD _lib_104
DD 99
DD _lib_105
DD 115
DD _lib_106
DD 100
DD _lib_107
DD 98
DD _lib_108
DD 111
DD _lib_109
DD 117
DD _lib_110
DD 120
DD 0
JMP _lib_111
_lib_102:
LEA EAX,[EBP-20]
PUSH EAX
LEA EAX,[EBP-36]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,1
CALL _strlen
ADD ESP,4
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-24]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _lib_115
JMP _lib_113
_lib_115:
LEA EAX,[EBP-24]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
CALL __lt
OR EAX,EAX
JNE _lib_116
JMP _lib_113
_lib_116:
MOV EAX,1
JMP _lib_114
_lib_113:
XOR EAX,EAX
_lib_114:
OR EAX,EAX
JNE _lib_117
JMP _lib_112
_lib_117:
LEA EAX,[EBP-20]
PUSH EAX
LEA EAX,[EBP-24]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
_lib_112:
LEA EAX,[EBP-28]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
CALL __gt
OR EAX,EAX
JNE _lib_119
JMP _lib_118
_lib_119:
LEA EAX,[EBP-28]
PUSH EAX
LEA EAX,[EBP-28]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
XCHG EAX,EBX
SUB EAX,EBX
POP EBX
MOV [EBX],EAX
JMP _lib_120
_lib_118:
LEA EAX,[EBP-28]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
_lib_120:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
CALL __lneg
OR EAX,EAX
JNE _lib_122
JMP _lib_121
_lib_122:
_lib_123:
LEA EAX,[EBP-28]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
INC EAX
OR EAX,EAX
JNE _lib_125
JMP _lib_124
_lib_125:
LEA EAX,[EBP-12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_123
_lib_124:
_lib_121:
_lib_126:
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
INC EAX
OR EAX,EAX
JNE _lib_128
JMP _lib_127
_lib_128:
LEA EAX,[EBP-36]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_126
_lib_127:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _lib_130
JMP _lib_129
_lib_130:
_lib_131:
LEA EAX,[EBP-28]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
INC EAX
OR EAX,EAX
JNE _lib_133
JMP _lib_132
_lib_133:
LEA EAX,[EBP-12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_131
_lib_132:
_lib_129:
JMP _lib_75
_lib_76:
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV ESP,EBP
POP EBP
RET
_fputs:
PUSH EBP
MOV EBP,ESP
_lib_135:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
OR EAX,EAX
JNE _lib_137
JMP _lib_136
_lib_137:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
JMP _lib_135
_lib_136:
POP EBP
RET
__is DD 4,4,4,4,4,4,4,4,4,260
DD 260,260,260,260,4,4,4,4,4,4
DD 4,4,4,4,4,4,4,4,4,4
DD 4,4,320,208,208,208,208,208,208,208
DD 208,208,208,208,208,208,208,208,1113,1113
DD 1113,1113,1113,1113,1113,1113,1113,1113,208,208
DD 208,208,208,208,208,1619,1619,1619,1619,1619
DD 1619,595,595,595,595,595,595,595,595,595
DD 595,595,595,595,595,595,595,595,595,595
DD 595,208,208,208,208,208,208,1139,1139,1139
DD 1139,1139,1139,115,115,115,115,115,115,115
DD 115,115,115,115,115,115,115,115,115,115
DD 115,115,115,208,208,208,208,4
_isalnum:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
SHL EAX,1
SHL EAX,1
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,1
AND EAX,EBX
POP EBP
RET
_isalpha:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
SHL EAX,1
SHL EAX,1
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,2
AND EAX,EBX
POP EBP
RET
_iscntrl:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
SHL EAX,1
SHL EAX,1
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,4
AND EAX,EBX
POP EBP
RET
_isdigit:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
SHL EAX,1
SHL EAX,1
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,8
AND EAX,EBX
POP EBP
RET
_isgraph:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
SHL EAX,1
SHL EAX,1
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,16
AND EAX,EBX
POP EBP
RET
_islower:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
SHL EAX,1
SHL EAX,1
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,32
AND EAX,EBX
POP EBP
RET
_isprint:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
SHL EAX,1
SHL EAX,1
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,64
AND EAX,EBX
POP EBP
RET
_ispunct:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
SHL EAX,1
SHL EAX,1
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,128
AND EAX,EBX
POP EBP
RET
_isspace:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
SHL EAX,1
SHL EAX,1
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,256
AND EAX,EBX
POP EBP
RET
_isupper:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
SHL EAX,1
SHL EAX,1
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,512
AND EAX,EBX
POP EBP
RET
_isxdigit:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
SHL EAX,1
SHL EAX,1
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,1024
AND EAX,EBX
POP EBP
RET
_itoa:
PUSH EBP
MOV EBP,ESP
ADD ESP,-8
LEA EAX,[EBP-8]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-4]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
OR EAX,EAX
JL _lib_151
JMP _lib_150
_lib_151:
LEA EAX,[EBP+12]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
NEG EAX
POP EBX
MOV [EBX],EAX
_lib_150:
_lib_152:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,10
XCHG EAX,EBX
CDQ
IDIV EBX
MOV EAX,EDX
MOV EBX,48
ADD EAX,EBX
POP EBX
MOV [EBX],AL
LEA EAX,[EBP+12]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,10
XCHG EAX,EBX
CDQ
IDIV EBX
POP EBX
MOV [EBX],EAX
OR EAX,EAX
JG _lib_154
JMP _lib_153
_lib_154:
JMP _lib_152
_lib_153:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JL _lib_156
JMP _lib_155
_lib_156:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOV EAX,45
MOV [EBX],AL
_lib_155:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],AL
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,1
CALL _reverse
ADD ESP,4
MOV ESP,EBP
POP EBP
RET
_itoab:
PUSH EBP
MOV EBP,ESP
ADD ESP,-8
LEA EAX,[EBP-4]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP+8]
PUSH EAX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,1
MOV ECX,EAX
MOV EAX,EBX
SAR EAX,CL
POP EBX
MOV [EBX],EAX
_lib_158:
LEA EAX,[EBP-8]
PUSH EAX
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,1
AND EAX,EBX
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP+16]
PUSH EAX
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,1
MOV ECX,EAX
MOV EAX,EBX
SAR EAX,CL
MOV EBX,EAX
MOV EAX,32767
AND EAX,EBX
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
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
MOV EBX,EAX
MOV EAX,1
MOV ECX,EAX
MOV EAX,EBX
SAL EAX,CL
PUSH EAX
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
ADD EAX,EBX
POP EBX
MOV [EBX],AL
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,10
CALL __lt
OR EAX,EAX
JNE _lib_161
JMP _lib_160
_lib_161:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,48
ADD EAX,EBX
POP EBX
MOV [EBX],AL
JMP _lib_162
_lib_160:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,55
ADD EAX,EBX
POP EBX
MOV [EBX],AL
_lib_162:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
LEA EAX,[EBP+16]
PUSH EAX
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 EBX
MOV [EBX],EAX
OR EAX,EAX
JNE _lib_163
JMP _lib_159
_lib_163:
JMP _lib_158
_lib_159:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],AL
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,1
CALL _reverse
ADD ESP,4
MOV ESP,EBP
POP EBP
RET
_itod:
PUSH EBP
MOV EBP,ESP
ADD ESP,-4
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JL _lib_166
JMP _lib_165
_lib_166:
LEA EAX,[EBP+16]
PUSH EAX
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
NEG EAX
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX,45
MOV [EBX],AL
JMP _lib_167
_lib_165:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX,32
MOV [EBX],AL
_lib_167:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JG _lib_169
JMP _lib_168
_lib_169:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
POP EBX
ADD EAX,EBX
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],AL
JMP _lib_170
_lib_168:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JL _lib_172
JMP _lib_171
_lib_172:
LEA EAX,[EBP+8]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
NEG EAX
POP EBX
MOV [EBX],EAX
JMP _lib_173
_lib_171:
_lib_174:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
ADD EAX,EBX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
OR EAX,EAX
JNE _lib_176
JMP _lib_175
_lib_176:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_174
_lib_175:
_lib_173:
_lib_170:
_lib_177:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _lib_179
JMP _lib_178
_lib_179:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
POP EBX
ADD EAX,EBX
PUSH EAX
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,10
XCHG EAX,EBX
CDQ
IDIV EBX
MOV EAX,EDX
MOV EBX,48
ADD EAX,EBX
POP EBX
MOV [EBX],AL
LEA EAX,[EBP+16]
PUSH EAX
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,10
XCHG EAX,EBX
CDQ
IDIV EBX
POP EBX
MOV [EBX],EAX
OR EAX,EAX
JE _lib_181
JMP _lib_180
_lib_181:
JMP _lib_178
_lib_180:
JMP _lib_177
_lib_178:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _lib_183
JMP _lib_182
_lib_183:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
POP EBX
ADD EAX,EBX
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
POP EBX
MOV [EBX],AL
_lib_182:
_lib_184:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JG _lib_186
JMP _lib_185
_lib_186:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
POP EBX
ADD EAX,EBX
MOV EBX,EAX
MOV EAX,32
MOV [EBX],AL
JMP _lib_184
_lib_185:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
MOV ESP,EBP
POP EBP
RET
_itoo:
PUSH EBP
MOV EBP,ESP
ADD ESP,-4
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JG _lib_189
JMP _lib_188
_lib_189:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
POP EBX
ADD EAX,EBX
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],AL
JMP _lib_190
_lib_188:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JL _lib_192
JMP _lib_191
_lib_192:
LEA EAX,[EBP+8]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
NEG EAX
POP EBX
MOV [EBX],EAX
JMP _lib_193
_lib_191:
_lib_194:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
ADD EAX,EBX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
OR EAX,EAX
JNE _lib_196
JMP _lib_195
_lib_196:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_194
_lib_195:
_lib_193:
_lib_190:
_lib_197:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _lib_199
JMP _lib_198
_lib_199:
LEA EAX,[EBP-4]
PUSH EAX
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,7
AND EAX,EBX
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP+16]
PUSH EAX
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,3
MOV ECX,EAX
MOV EAX,EBX
SAR EAX,CL
MOV EBX,EAX
MOV EAX,8191
AND EAX,EBX
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
POP EBX
ADD EAX,EBX
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,48
ADD EAX,EBX
POP EBX
MOV [EBX],AL
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JE _lib_201
JMP _lib_200
_lib_201:
JMP _lib_198
_lib_200:
JMP _lib_197
_lib_198:
_lib_202:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _lib_204
JMP _lib_203
_lib_204:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
POP EBX
ADD EAX,EBX
MOV EBX,EAX
MOV EAX,32
MOV [EBX],AL
JMP _lib_202
_lib_203:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
MOV ESP,EBP
POP EBP
RET
_itou:
PUSH EBP
MOV EBP,ESP
ADD ESP,-4
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JG _lib_207
JMP _lib_206
_lib_207:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
POP EBX
ADD EAX,EBX
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],AL
JMP _lib_208
_lib_206:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JL _lib_210
JMP _lib_209
_lib_210:
LEA EAX,[EBP+8]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
NEG EAX
POP EBX
MOV [EBX],EAX
JMP _lib_211
_lib_209:
_lib_212:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
ADD EAX,EBX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
OR EAX,EAX
JNE _lib_214
JMP _lib_213
_lib_214:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_212
_lib_213:
_lib_211:
_lib_208:
_lib_215:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _lib_217
JMP _lib_216
_lib_217:
LEA EAX,[EBP-4]
PUSH EAX
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,1
AND EAX,EBX
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP+16]
PUSH EAX
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,1
MOV ECX,EAX
MOV EAX,EBX
SAR EAX,CL
MOV EBX,EAX
MOV EAX,32767
AND EAX,EBX
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
POP EBX
ADD EAX,EBX
PUSH EAX
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,5
XCHG EAX,EBX
CDQ
IDIV EBX
MOV EAX,EDX
MOV EBX,EAX
MOV EAX,1
MOV ECX,EAX
MOV EAX,EBX
SAL EAX,CL
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
ADD EAX,EBX
MOV EBX,48
ADD EAX,EBX
POP EBX
MOV [EBX],AL
LEA EAX,[EBP+16]
PUSH EAX
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,5
XCHG EAX,EBX
CDQ
IDIV EBX
POP EBX
MOV [EBX],EAX
OR EAX,EAX
JE _lib_219
JMP _lib_218
_lib_219:
JMP _lib_216
_lib_218:
JMP _lib_215
_lib_216:
_lib_220:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _lib_222
JMP _lib_221
_lib_222:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
POP EBX
ADD EAX,EBX
MOV EBX,EAX
MOV EAX,32
MOV [EBX],AL
JMP _lib_220
_lib_221:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
MOV ESP,EBP
POP EBP
RET
_itox:
PUSH EBP
MOV EBP,ESP
ADD ESP,-8
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JG _lib_225
JMP _lib_224
_lib_225:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
POP EBX
ADD EAX,EBX
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],AL
JMP _lib_226
_lib_224:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JL _lib_228
JMP _lib_227
_lib_228:
LEA EAX,[EBP+8]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
NEG EAX
POP EBX
MOV [EBX],EAX
JMP _lib_229
_lib_227:
_lib_230:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
ADD EAX,EBX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
OR EAX,EAX
JNE _lib_232
JMP _lib_231
_lib_232:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_230
_lib_231:
_lib_229:
_lib_226:
_lib_233:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _lib_235
JMP _lib_234
_lib_235:
LEA EAX,[EBP-4]
PUSH EAX
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,15
AND EAX,EBX
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP+16]
PUSH EAX
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,16
XCHG EAX,EBX
CDQ
IDIV EBX
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,10
CALL __lt
OR EAX,EAX
JNE _lib_237
JMP _lib_236
_lib_237:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX,48
MOV [EBX],EAX
JMP _lib_238
_lib_236:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX,55
MOV [EBX],EAX
_lib_238:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
POP EBX
ADD EAX,EBX
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
ADD EAX,EBX
POP EBX
MOV [EBX],AL
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JE _lib_240
JMP _lib_239
_lib_240:
JMP _lib_234
_lib_239:
JMP _lib_233
_lib_234:
_lib_241:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _lib_243
JMP _lib_242
_lib_243:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
POP EBX
ADD EAX,EBX
MOV EBX,EAX
MOV EAX,32
MOV [EBX],AL
JMP _lib_241
_lib_242:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
MOV ESP,EBP
POP EBP
RET
__iob:
times 3*32 db 0x0