	SECTION _TEXT CLASS=CODE USE32
	SECTION _DATA CLASS=DATA USE32
	SECTION _BSS  CLASS=BSS USE32
	SECTION _CONST  CLASS=CONST USE32
	SECTION _STRING  CLASS=STRING USE32
	SECTION cstartup CLASS=INITDATA USE32
	SECTION crundown CLASS=EXITDATA USE32
	SECTION cppinit  CLASS=CPPINIT USE32
	SECTION cppexit  CLASS=CPPEXIT USE32
	GROUP DGROUP _DATA _BSS _CONST _STRING

SECTION _TEXT
;
; Line 18:	{
;
_skipspace:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	EBX
	PUSH	ESI
	PUSH	EDI
	MOV	ESI,DWORD [EBP+08H]
	MOV	EDI,DWORD [EBP+0CH]
;
; Line 20:		*skip = 0;
;
	MOV	EAX,DWORD [EBP+010H]
	MOV	DWORD [EAX+00H],00H
;
; Line 21:		if (*width == 0) 
;
	CMP	DWORD [EDI+00H],BYTE 00H
	JNE	SHORT	L_1
	JMP	L_3
L_5:
;
; Line 23:				buf++;
;
	INC	ESI
L_3:
;
; Line 22:			while ((_ctype[ (*buf) ] & (1            )))
;
	MOVSX	EAX,BYTE [ESI+00H]
	MOVZX	EAX,BYTE [EAX+__ctype+00H]
	AND	EAX,BYTE 01H
	JNE	SHORT	L_5
L_4:
	JMP	L_2
L_1:
	MOV	EBX,DWORD [EDI+00H]
	JMP	L_8
L_6:
;
; Line 26:				buf++;
;
	INC	ESI
;
; Line 25:			for (i=*width; i >=0 && (_ctype[ (*buf) ] & (1            )); i--)
;
L_7:
	DEC	EBX
L_8:
	TEST	EBX,EBX
	JL	SHORT	L_10
	MOVSX	EAX,BYTE [ESI+00H]
	MOVZX	EAX,BYTE [EAX+__ctype+00H]
	AND	EAX,BYTE 01H
	JNE	SHORT	L_6
L_10:
L_9:
;
; Line 27:			if (i < 0) {
;
	TEST	EBX,EBX
	JGE	SHORT	L_11
;
; Line 28:				i = 0;
;
	MOV	EBX,00H
;
; Line 29:				*skip = 1;
;
	MOV	EAX,DWORD [EBP+010H]
	MOV	DWORD [EAX+00H],01H
;
; Line 30:			}
;
L_11:
;
; Line 31:			*width = i;
;
	MOV	DWORD [EDI+00H],EBX
;
; Line 32:		}
;
L_2:
;
; Line 33:		return buf;
;
	MOV	EAX,ESI
L_13:
	POP	EDI
	POP	ESI
	POP	EBX
	POP	EBP
	RET
[GLOBAL	___strtoone]
;
; Line 36:	{
;
___strtoone:
	PUSH	EBP
	MOV	EBP,ESP
	SUB	ESP,0B0H
	PUSH	EBX
	PUSH	ESI
	PUSH	EDI
	MOV	ESI,DWORD [EBP+08H]
;
; Line 37:		int ignore = 0;
;
	MOV	DWORD [EBP+0FFFFFF50H],00H
;
; Line 38:		int width = 0;
;
	MOV	DWORD [EBP+0FFFFFF54H],00H
;
; Line 39:		int size = 0;
;
	MOV	DWORD [EBP+0FFFFFF58H],00H
;
; Line 40:		int sgn = 0;
;
	MOV	DWORD [EBP+0FFFFFF5CH],00H
;
; Line 41:		int c,skip=0,didit = 0;
;
	MOV	DWORD [EBP+0FFFFFF64H],00H
	MOV	DWORD [EBP+0FFFFFF68H],00H
;
; Line 47:		vals[0] = 0;
;
	MOV	BYTE [EBP+0FFFFFF6CH],00H
;
; Line 48:		if (*format == '*') {
;
	MOV	EAX,DWORD [EBP+0CH]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 02AH
	JNE	SHORT	L_15
;
; Line 49:			ignore = 1;
;
	MOV	DWORD [EBP+0FFFFFF50H],01H
;
; Line 50:			format++;
;
	INC	DWORD [EBP+0CH]
;
; Line 51:		}
;
L_15:
;
; Line 52:		if ((_ctype[ (*format) ] & (2            ))) 
;
	MOV	EAX,DWORD [EBP+0CH]
	MOVSX	EAX,BYTE [EAX+00H]
	MOVZX	EAX,BYTE [EAX+__ctype+00H]
	AND	EAX,BYTE 02H
	JE	NEAR	L_17
	JMP	L_19
L_21:
;
; Line 54:				width = width *10 + *format++ -'0';
;
	MOV	EAX,DWORD [EBP+0FFFFFF54H]
	IMUL	EAX,DWORD 0AH
	MOV	ECX,DWORD [EBP+0CH]
	INC	DWORD [EBP+0CH]
	MOVSX	ECX,BYTE [ECX+00H]
	ADD	EAX,ECX
	SUB	EAX,BYTE 030H
	MOV	DWORD [EBP+0FFFFFF54H],EAX
L_19:
;
; Line 53:			while ((_ctype[ (*format) ] & (2            )))
;
	MOV	EAX,DWORD [EBP+0CH]
	MOVSX	EAX,BYTE [EAX+00H]
	MOVZX	EAX,BYTE [EAX+__ctype+00H]
	AND	EAX,BYTE 02H
	JNE	NEAR	L_21
L_20:
L_17:
;
; Line 55:		if (*format == 'h' || *format == 'l')
;
	MOV	EAX,DWORD [EBP+0CH]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 068H
	JE	SHORT	L_24
	MOV	EAX,DWORD [EBP+0CH]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 06CH
	JNE	SHORT	L_22
L_24:
;
; Line 56:			size = *format++;
;
	MOV	EAX,DWORD [EBP+0CH]
	INC	DWORD [EBP+0CH]
	MOVSX	EAX,BYTE [EAX+00H]
	MOV	DWORD [EBP+0FFFFFF58H],EAX
L_22:
;
; Line 57:		switch(*format++) {
;
	MOV	EAX,DWORD [EBP+0CH]
	INC	DWORD [EBP+0CH]
	MOV	AL,BYTE [EAX+00H]
	CMP	AL,BYTE 067H
	JE	NEAR	L_32
	JG	NEAR	L_44
	CMP	AL,BYTE 063H
	JE	NEAR	L_27
	JG	NEAR	L_45
	CMP	AL,BYTE 047H
	JE	NEAR	L_34
	JG	SHORT	L_46
	CMP	AL,BYTE 045H
	JE	NEAR	L_33
	JG	NEAR	L_25
	CMP	AL,BYTE 025H
	JE	NEAR	L_42
	JMP	L_25
L_46:
	CMP	AL,BYTE 05BH
	JE	NEAR	L_37
	JMP	L_25
L_45:
	CMP	AL,BYTE 065H
	JE	NEAR	L_30
	JG	SHORT	L_47
	CMP	AL,BYTE 064H
	JE	NEAR	L_28
	JMP	L_25
L_47:
	CMP	AL,BYTE 066H
	JE	NEAR	L_31
	JMP	L_25
L_44:
	CMP	AL,BYTE 070H
	JE	NEAR	L_41
	JG	NEAR	L_48
	CMP	AL,BYTE 06EH
	JE	NEAR	L_35
	JG	SHORT	L_49
	CMP	AL,BYTE 069H
	JE	NEAR	L_29
	JMP	L_25
L_49:
	CMP	AL,BYTE 06FH
	JE	NEAR	L_36
	JMP	L_25
L_48:
	CMP	AL,BYTE 075H
	JE	NEAR	L_39
	JG	SHORT	L_50
	CMP	AL,BYTE 073H
	JE	NEAR	L_38
	JMP	L_25
L_50:
	CMP	AL,BYTE 078H
	JE	NEAR	L_40
	JMP	L_25
L_27:
;
; Line 59:				if (width ==0) width = 1;
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JNE	SHORT	L_51
	MOV	DWORD [EBP+0FFFFFF54H],01H
L_51:
;
; Line 60:				if (size == 'l') {
;
	CMP	DWORD [EBP+0FFFFFF58H],BYTE 06CH
	JNE	NEAR	L_53
	JMP	L_55
L_57:
;
; Line 62:						(*chars)++;
;
	MOV	EAX,DWORD [EBP+018H]
	INC	DWORD [EAX+00H]
;
; Line 63:						(*buffer)++;
;
	INC	DWORD [ESI+00H]
;
; Line 64:					}
;
L_55:
;
; Line 61:					while((_ctype[ (*(*buffer)) ] & (1            ))) {
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	MOVZX	EAX,BYTE [EAX+__ctype+00H]
	AND	EAX,BYTE 01H
	JNE	SHORT	L_57
L_56:
;
; Line 65:				}
;
L_53:
	JMP	L_58
L_60:
;
; Line 67:					(*chars)++;
;
	MOV	EAX,DWORD [EBP+018H]
	INC	DWORD [EAX+00H]
;
; Line 68:					c = *(*buffer)++;
;
	MOV	EAX,DWORD [ESI+00H]
	INC	DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	MOV	DWORD [EBP+0FFFFFF60H],EAX
;
; Line 69:					(*chars)++;
;
	MOV	EAX,DWORD [EBP+018H]
	INC	DWORD [EAX+00H]
;
; Line 70:					if (c == 0)
;
	CMP	DWORD [EBP+0FFFFFF60H],BYTE 00H
	JNE	SHORT	L_61
;
; Line 71:						return 0;
;
	MOV	EAX,00H
	JMP	L_63
L_61:
;
; Line 72:					if (!ignore) {
;
	CMP	DWORD [EBP+0FFFFFF50H],BYTE 00H
	JNE	SHORT	L_64
;
; Line 73:						(*count)++;
;
	MOV	EAX,DWORD [EBP+014H]
	INC	DWORD [EAX+00H]
;
; Line 74:						*(char *)arg = (char)c;
;
	MOV	EAX,DWORD [EBP+0FFFFFF60H]
	MOV	ECX,DWORD [EBP+010H]
	MOV	BYTE [ECX+00H],AL
;
; Line 75:					}		
;
L_64:
;
; Line 76:				}
;
L_58:
;
; Line 66:				while (width--) {
;
	MOV	EAX,DWORD [EBP+0FFFFFF54H]
	DEC	DWORD [EBP+0FFFFFF54H]
	TEST	EAX,EAX
	JNE	NEAR	L_60
L_59:
;
; Line 77:			  return format ;
;
	MOV	EAX,DWORD [EBP+0CH]
	JMP	L_63
L_28:
L_29:
;
; Line 80:				*buffer = skipspace(*buffer,&width,&skip);
;
	LEA	EAX,[EBP+0FFFFFF64H]
	PUSH	EAX
	LEA	EAX,[EBP+0FFFFFF54H]
	PUSH	EAX
	PUSH	DWORD [ESI+00H]
	CALL	_skipspace
	ADD	ESP,BYTE 0CH
	MOV	DWORD [ESI+00H],EAX
;
; Line 81:				c = 0;
;
	MOV	DWORD [EBP+0FFFFFF60H],00H
;
; Line 82:				if (!skip) {
;
	CMP	DWORD [EBP+0FFFFFF64H],BYTE 00H
	JNE	NEAR	L_66
;
; Line 83:					if (*(*buffer) == '-') {
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 02DH
	JNE	SHORT	L_68
;
; Line 84:						sgn = 1;
;
	MOV	DWORD [EBP+0FFFFFF5CH],01H
;
; Line 85:						if (width)
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JE	SHORT	L_70
;
; Line 86:							width--;
;
	DEC	DWORD [EBP+0FFFFFF54H]
L_70:
;
; Line 87:						(*buffer)++;
;
	INC	DWORD [ESI+00H]
;
; Line 88:						(*chars)++;
;
	MOV	EAX,DWORD [EBP+018H]
	INC	DWORD [EAX+00H]
;
; Line 89:					}
;
	JMP	L_69
L_68:
;
; Line 91:						if (*(*buffer) == '+') {
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 02BH
	JNE	SHORT	L_72
;
; Line 92:							(*buffer)++;
;
	INC	DWORD [ESI+00H]
;
; Line 93:							if (width)
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JE	SHORT	L_74
;
; Line 94:					    	width--;
;
	DEC	DWORD [EBP+0FFFFFF54H]
L_74:
;
; Line 95:							(*chars)++;
;
	MOV	EAX,DWORD [EBP+018H]
	INC	DWORD [EAX+00H]
;
; Line 96:						}
;
L_72:
;
; Line 97:					}
;
L_69:
;
; Line 98:					if (width) {
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JE	NEAR	L_76
	JMP	L_78
L_80:
;
; Line 100:							didit = 1;
;
	MOV	DWORD [EBP+0FFFFFF68H],01H
;
; Line 101:							width--;
;
	DEC	DWORD [EBP+0FFFFFF54H]
;
; Line 102:							c*=10;
;
	MOV	EAX,0AH
	IMUL	EAX,DWORD [EBP+0FFFFFF60H]
	MOV	DWORD [EBP+0FFFFFF60H],EAX
;
; Line 103:							(*chars)++;
;
	MOV	EAX,DWORD [EBP+018H]
	INC	DWORD [EAX+00H]
;
; Line 104:							c+=*(*buffer)++ - '0';
;
	MOV	EAX,DWORD [ESI+00H]
	INC	DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	SUB	EAX,BYTE 030H
	ADD	DWORD [EBP+0FFFFFF60H],EAX
;
; Line 105:						}
;
L_78:
;
; Line 99:						while(width && (_ctype[ (**buffer) ] & (2            ))) {
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JE	SHORT	L_81
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	MOVZX	EAX,BYTE [EAX+__ctype+00H]
	AND	EAX,BYTE 02H
	JNE	NEAR	L_80
L_81:
L_79:
	JMP	L_82
L_84:
;
; Line 107:							(*buffer)++;
;
	INC	DWORD [ESI+00H]
;
; Line 108:							width--;
;
	DEC	DWORD [EBP+0FFFFFF54H]
;
; Line 109:						}
;
L_82:
;
; Line 106:						while (width && **buffer) {
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JE	SHORT	L_85
	MOV	EAX,DWORD [ESI+00H]
	CMP	BYTE [EAX+00H],BYTE 00H
	JNE	SHORT	L_84
L_85:
L_83:
;
; Line 110:					}
;
	JMP	L_77
L_76:
	JMP	L_86
L_88:
;
; Line 113:							didit = 1;
;
	MOV	DWORD [EBP+0FFFFFF68H],01H
;
; Line 114:							c*=10;
;
	MOV	EAX,0AH
	IMUL	EAX,DWORD [EBP+0FFFFFF60H]
	MOV	DWORD [EBP+0FFFFFF60H],EAX
;
; Line 115:							(*chars)++;
;
	MOV	EAX,DWORD [EBP+018H]
	INC	DWORD [EAX+00H]
;
; Line 116:							c+=*(*buffer)++ - '0';
;
	MOV	EAX,DWORD [ESI+00H]
	INC	DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	SUB	EAX,BYTE 030H
	ADD	DWORD [EBP+0FFFFFF60H],EAX
;
; Line 117:						}
;
L_86:
;
; Line 112:						while((_ctype[ (**buffer) ] & (2            ))) {
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	MOVZX	EAX,BYTE [EAX+__ctype+00H]
	AND	EAX,BYTE 02H
	JNE	NEAR	L_88
L_87:
L_77:
;
; Line 118:					if (sgn)
;
	CMP	DWORD [EBP+0FFFFFF5CH],BYTE 00H
	JE	SHORT	L_89
;
; Line 119:						c = -c;
;
	NEG	DWORD [EBP+0FFFFFF60H]
L_89:
;
; Line 120:				}
;
L_66:
;
; Line 121:				if (!ignore) {
;
	CMP	DWORD [EBP+0FFFFFF50H],BYTE 00H
	JNE	NEAR	L_91
;
; Line 122:					(*count)+=didit;
;
	MOV	EAX,DWORD [EBP+014H]
	MOV	ECX,DWORD [EBP+0FFFFFF68H]
	ADD	DWORD [EAX+00H],ECX
;
; Line 123:					if (size == 'h') 
;
	CMP	DWORD [EBP+0FFFFFF58H],BYTE 068H
	JNE	SHORT	L_93
;
; Line 124:						*(short *)arg = (short)c;
;
	MOV	EAX,DWORD [EBP+0FFFFFF60H]
	MOV	ECX,DWORD [EBP+010H]
	MOV	WORD [ECX+00H],AX
	JMP	L_94
L_93:
;
; Line 126:						*(int *)arg = c;
;
	MOV	EAX,DWORD [EBP+010H]
	MOV	ECX,DWORD [EBP+0FFFFFF60H]
	MOV	DWORD [EAX+00H],ECX
L_94:
;
; Line 127:				}
;
L_91:
;
; Line 128:				break;
;
	JMP	L_26
L_30:
L_31:
L_32:
L_33:
L_34:
;
; Line 137:					if (width ==0)
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JNE	SHORT	L_95
;
; Line 138:						width = 256;
;
	MOV	DWORD [EBP+0FFFFFF54H],0100H
L_95:
;
; Line 139:					fval = __xstrtod(*buffer,buffer,width);
;
	PUSH	DWORD [EBP+0FFFFFF54H]
	PUSH	ESI
	PUSH	DWORD [ESI+00H]
	CALL	___xstrtod
	ADD	ESP,BYTE 0CH
	FSTP	TWORD [EBP+0FFFFFFF4H]
;
; Line 140:					if (!ignore) {
;
	CMP	DWORD [EBP+0FFFFFF50H],BYTE 00H
	JNE	NEAR	L_97
;
; Line 141:						(*count)++;
;
	MOV	EAX,DWORD [EBP+014H]
	INC	DWORD [EAX+00H]
;
; Line 142:						if (size == 'l') 
;
	CMP	DWORD [EBP+0FFFFFF58H],BYTE 06CH
	JNE	SHORT	L_99
;
; Line 143:							*(double *)arg = (double) fval;
;
	FLD	TWORD [EBP+0FFFFFFF4H]
	MOV	EAX,DWORD [EBP+010H]
	MOV	ECX,DWORD [EBP+010H]
	FSTP	QWORD [ECX+00H]
	JMP	L_100
L_99:
;
; Line 145:							*(float *)arg = (float) fval;
;
	FLD	TWORD [EBP+0FFFFFFF4H]
	MOV	EAX,DWORD [EBP+010H]
	MOV	ECX,DWORD [EBP+010H]
	FSTP	DWORD [ECX+00H]
L_100:
;
; Line 146:					}
;
L_97:
;
; Line 148:				break;
;
	JMP	L_26
L_35:
;
; Line 150:				*(int *)arg = (*count)++;
;
	MOV	EAX,DWORD [EBP+014H]
	PUSH	DWORD [EAX+00H]
	INC	DWORD [EAX+00H]
	POP	EAX
	MOV	ECX,DWORD [EBP+010H]
	MOV	DWORD [ECX+00H],EAX
;
; Line 151:				break;
;
	JMP	L_26
L_36:
;
; Line 153:				*buffer = skipspace(*buffer,&width,&skip);
;
	LEA	EAX,[EBP+0FFFFFF64H]
	PUSH	EAX
	LEA	EAX,[EBP+0FFFFFF54H]
	PUSH	EAX
	PUSH	DWORD [ESI+00H]
	CALL	_skipspace
	ADD	ESP,BYTE 0CH
	MOV	DWORD [ESI+00H],EAX
;
; Line 154:				cu = 0;
;
	MOV	EBX,00H
;
; Line 155:				if (!skip) {
;
	CMP	DWORD [EBP+0FFFFFF64H],BYTE 00H
	JNE	NEAR	L_101
;
; Line 156:					if (width) {
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JE	NEAR	L_103
	JMP	L_105
L_107:
;
; Line 158:							didit = 1;
;
	MOV	DWORD [EBP+0FFFFFF68H],01H
;
; Line 159:							width--;
;
	DEC	DWORD [EBP+0FFFFFF54H]
;
; Line 160:							cu*=8;
;
	SHL	EBX,03H
;
; Line 161:							(*chars)++;
;
	MOV	EAX,DWORD [EBP+018H]
	INC	DWORD [EAX+00H]
;
; Line 162:							cu+=*(*buffer)++ - '0';
;
	MOV	EAX,DWORD [ESI+00H]
	INC	DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	SUB	EAX,BYTE 030H
	ADD	EBX,EAX
;
; Line 163:						}
;
L_105:
;
; Line 157:						while(width && (_ctype[ (**buffer) ] & (2            )) && *(*buffer) < '8') {
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JE	NEAR	L_108
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	MOVZX	EAX,BYTE [EAX+__ctype+00H]
	AND	EAX,BYTE 02H
	JE	SHORT	L_108
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 038H
	JL	NEAR	L_107
L_108:
L_106:
	JMP	L_109
L_111:
;
; Line 165:							(*buffer)++;
;
	INC	DWORD [ESI+00H]
;
; Line 166:							width--;
;
	DEC	DWORD [EBP+0FFFFFF54H]
;
; Line 167:						}
;
L_109:
;
; Line 164:						while (width && **buffer) {
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JE	SHORT	L_112
	MOV	EAX,DWORD [ESI+00H]
	CMP	BYTE [EAX+00H],BYTE 00H
	JNE	SHORT	L_111
L_112:
L_110:
;
; Line 168:					}
;
	JMP	L_104
L_103:
	JMP	L_113
L_115:
;
; Line 171:							didit = 1;
;
	MOV	DWORD [EBP+0FFFFFF68H],01H
;
; Line 172:							cu*=10;
;
	IMUL	EBX,DWORD 0AH
;
; Line 173:							(*chars)++;
;
	MOV	EAX,DWORD [EBP+018H]
	INC	DWORD [EAX+00H]
;
; Line 174:							cu+=*(*buffer)++ - '0';
;
	MOV	EAX,DWORD [ESI+00H]
	INC	DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	SUB	EAX,BYTE 030H
	ADD	EBX,EAX
;
; Line 175:						}
;
L_113:
;
; Line 170:						while((_ctype[ (**buffer) ] & (2            )) && *(*buffer) < '8') {
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	MOVZX	EAX,BYTE [EAX+__ctype+00H]
	AND	EAX,BYTE 02H
	JE	SHORT	L_116
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 038H
	JL	NEAR	L_115
L_116:
L_114:
L_104:
;
; Line 176:				}
;
L_101:
;
; Line 177:				if (!ignore) {
;
	CMP	DWORD [EBP+0FFFFFF50H],BYTE 00H
	JNE	NEAR	L_117
;
; Line 178:					(*count)+=didit;
;
	MOV	EAX,DWORD [EBP+014H]
	MOV	ECX,DWORD [EBP+0FFFFFF68H]
	ADD	DWORD [EAX+00H],ECX
;
; Line 179:					if (size == 'h') 
;
	CMP	DWORD [EBP+0FFFFFF58H],BYTE 068H
	JNE	SHORT	L_119
;
; Line 180:						*(unsigned short *)arg = (unsigned short)cu;
;
	MOV	EAX,DWORD [EBP+010H]
	MOV	WORD [EAX+00H],BX
	JMP	L_120
L_119:
;
; Line 182:						*(unsigned *)arg = cu;
;
	MOV	EAX,DWORD [EBP+010H]
	MOV	DWORD [EAX+00H],EBX
L_120:
;
; Line 183:				} 	
;
L_117:
;
; Line 184:				break;
;
	JMP	L_26
L_37:
;
; Line 186:				i = 0;
;
	MOV	DWORD [EBP+0FFFFFFF0H],00H
	JMP	L_121
L_123:
;
; Line 188:					vals[i++] = *format++;
;
	MOV	EAX,DWORD [EBP+0CH]
	INC	DWORD [EBP+0CH]
	MOV	ECX,DWORD [EBP+0FFFFFFF0H]
	INC	DWORD [EBP+0FFFFFFF0H]
	MOV	AL,BYTE [EAX+00H]
	MOV	BYTE [EBP+ECX+0FFFFFF6CH],AL
L_121:
;
; Line 187:				while (*format != 0 && *format != ']')
;
	MOV	EAX,DWORD [EBP+0CH]
	MOVSX	EAX,BYTE [EAX+00H]
	TEST	EAX,EAX
	JE	SHORT	L_124
	MOV	EAX,DWORD [EBP+0CH]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 05DH
	JNE	NEAR	L_123
L_124:
L_122:
;
; Line 189:				vals[i] = 0;
;
	MOV	EAX,DWORD [EBP+0FFFFFFF0H]
	MOV	BYTE [EBP+EAX+0FFFFFF6CH],00H
L_38:
;
; Line 191:				s = (char *)arg;
;
	MOV	EDI,DWORD [EBP+010H]
;
; Line 192:				skip = width;
;
	MOV	EAX,DWORD [EBP+0FFFFFF54H]
	MOV	DWORD [EBP+0FFFFFF64H],EAX
;
; Line 193:				switch (vals[0]) {
;
	MOV	AL,BYTE [EBP+0FFFFFF6CH]
	CMP	AL,BYTE 00H
	JE	SHORT	L_127
	CMP	AL,BYTE 05EH
	JE	NEAR	L_128
	JMP	L_125
L_127:
	JMP	L_130
L_132:
;
; Line 196:							if (!ignore)
;
	CMP	DWORD [EBP+0FFFFFF50H],BYTE 00H
	JNE	SHORT	L_133
;
; Line 197:								*s++ = *(*buffer)++;
;
	MOV	EAX,DWORD [ESI+00H]
	INC	DWORD [ESI+00H]
	MOV	ECX,EDI
	INC	EDI
	MOV	AL,BYTE [EAX+00H]
	MOV	BYTE [ECX+00H],AL
	JMP	L_134
L_133:
;
; Line 199:								(*buffer)++;
;
	INC	DWORD [ESI+00H]
L_134:
;
; Line 200:							width--;
;
	DEC	DWORD [EBP+0FFFFFF54H]
;
; Line 201:							(*chars)++;
;
	MOV	EAX,DWORD [EBP+018H]
	INC	DWORD [EAX+00H]
;
; Line 202:						}
;
L_130:
;
; Line 195:						while (*(*buffer) != 0 && *(*buffer) != '\n' && (width || !skip)) {
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	TEST	EAX,EAX
	JE	SHORT	L_135
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 0AH
	JE	SHORT	L_135
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JNE	NEAR	L_132
	CMP	DWORD [EBP+0FFFFFF64H],BYTE 00H
	JE	NEAR	L_132
L_135:
L_131:
;
; Line 203:						if (!ignore) {
;
	CMP	DWORD [EBP+0FFFFFF50H],BYTE 00H
	JNE	SHORT	L_136
;
; Line 204:							*s = 0;
;
	MOV	BYTE [EDI+00H],00H
;
; Line 205:							(*count) ++;
;
	MOV	EAX,DWORD [EBP+014H]
	INC	DWORD [EAX+00H]
;
; Line 206:						}
;
L_136:
;
; Line 207:						break;
;
	JMP	L_126
L_128:
	JMP	L_138
L_140:
;
; Line 210:							if (!ignore)
;
	CMP	DWORD [EBP+0FFFFFF50H],BYTE 00H
	JNE	SHORT	L_141
;
; Line 211:								*s++ = *(*buffer)++;
;
	MOV	EAX,DWORD [ESI+00H]
	INC	DWORD [ESI+00H]
	MOV	ECX,EDI
	INC	EDI
	MOV	AL,BYTE [EAX+00H]
	MOV	BYTE [ECX+00H],AL
	JMP	L_142
L_141:
;
; Line 213:								(*buffer)++;
;
	INC	DWORD [ESI+00H]
L_142:
;
; Line 214:							width--;
;
	DEC	DWORD [EBP+0FFFFFF54H]
;
; Line 215:							(*chars)++;
;
	MOV	EAX,DWORD [EBP+018H]
	INC	DWORD [EAX+00H]
;
; Line 216:						}
;
L_138:
;
; Line 209:						while (!strchr(&vals[1],*(*buffer)) && *(*buffer) != 0 && *(*buffer) != '\n' && (width || !skip)) {
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	PUSH	EAX
	LEA	EAX,[EBP+0FFFFFF6CH]
	INC	EAX
	PUSH	EAX
	CALL	_strchr
	ADD	ESP,BYTE 08H
	TEST	EAX,EAX
	JNE	NEAR	L_143
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	TEST	EAX,EAX
	JE	SHORT	L_143
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 0AH
	JE	SHORT	L_143
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JNE	NEAR	L_140
	CMP	DWORD [EBP+0FFFFFF64H],BYTE 00H
	JE	NEAR	L_140
L_143:
L_139:
;
; Line 217:						if (!ignore) {
;
	CMP	DWORD [EBP+0FFFFFF50H],BYTE 00H
	JNE	SHORT	L_144
;
; Line 218:							*s = 0;
;
	MOV	BYTE [EDI+00H],00H
;
; Line 219:							(*count) ++;
;
	MOV	EAX,DWORD [EBP+014H]
	INC	DWORD [EAX+00H]
;
; Line 220:						}
;
L_144:
;
; Line 221:						break;
;
	JMP	L_126
L_125:
	JMP	L_146
L_148:
;
; Line 225:							if (!ignore)
;
	CMP	DWORD [EBP+0FFFFFF50H],BYTE 00H
	JNE	SHORT	L_149
;
; Line 226:								*s++ = *(*buffer)++;
;
	MOV	EAX,DWORD [ESI+00H]
	INC	DWORD [ESI+00H]
	MOV	ECX,EDI
	INC	EDI
	MOV	AL,BYTE [EAX+00H]
	MOV	BYTE [ECX+00H],AL
	JMP	L_150
L_149:
;
; Line 228:								(*buffer)++;
;
	INC	DWORD [ESI+00H]
L_150:
;
; Line 229:							width--;
;
	DEC	DWORD [EBP+0FFFFFF54H]
;
; Line 230:							(*chars)++;
;
	MOV	EAX,DWORD [EBP+018H]
	INC	DWORD [EAX+00H]
;
; Line 231:						}
;
L_146:
;
; Line 224:						while (strchr(&vals[0],*(*buffer)) && *(*buffer) != 0 && *(*buffer) != '\n' && (width || !skip)) {
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	PUSH	EAX
	LEA	EAX,[EBP+0FFFFFF6CH]
	PUSH	EAX
	CALL	_strchr
	ADD	ESP,BYTE 08H
	TEST	EAX,EAX
	JE	NEAR	L_151
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	TEST	EAX,EAX
	JE	SHORT	L_151
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 0AH
	JE	SHORT	L_151
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JNE	NEAR	L_148
	CMP	DWORD [EBP+0FFFFFF64H],BYTE 00H
	JE	NEAR	L_148
L_151:
L_147:
;
; Line 232:						if (!ignore) {
;
	CMP	DWORD [EBP+0FFFFFF50H],BYTE 00H
	JNE	SHORT	L_152
;
; Line 233:							*s = 0;
;
	MOV	BYTE [EDI+00H],00H
;
; Line 234:							(*count) ++;
;
	MOV	EAX,DWORD [EBP+014H]
	INC	DWORD [EAX+00H]
;
; Line 235:						}
;
L_152:
;
; Line 236:						break;
;
L_126:
;
; Line 238:				break;
;
	JMP	L_26
L_39:
;
; Line 240:				*buffer = skipspace(*buffer,&width,&skip);
;
	LEA	EAX,[EBP+0FFFFFF64H]
	PUSH	EAX
	LEA	EAX,[EBP+0FFFFFF54H]
	PUSH	EAX
	PUSH	DWORD [ESI+00H]
	CALL	_skipspace
	ADD	ESP,BYTE 0CH
	MOV	DWORD [ESI+00H],EAX
;
; Line 241:				if (!skip) {
;
	CMP	DWORD [EBP+0FFFFFF64H],BYTE 00H
	JNE	NEAR	L_154
;
; Line 242:					cu = 0;
;
	MOV	EBX,00H
;
; Line 243:					if (width) {
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JE	NEAR	L_156
	JMP	L_158
L_160:
;
; Line 245:							didit = 1;
;
	MOV	DWORD [EBP+0FFFFFF68H],01H
;
; Line 246:							width--;
;
	DEC	DWORD [EBP+0FFFFFF54H]
;
; Line 247:							cu*=10;
;
	IMUL	EBX,DWORD 0AH
;
; Line 248:							(*chars)++;
;
	MOV	EAX,DWORD [EBP+018H]
	INC	DWORD [EAX+00H]
;
; Line 249:							cu+=*(*buffer)++ - '0';
;
	MOV	EAX,DWORD [ESI+00H]
	INC	DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	SUB	EAX,BYTE 030H
	ADD	EBX,EAX
;
; Line 250:						}
;
L_158:
;
; Line 244:						while(width && (_ctype[ (**buffer) ] & (2            ))) {
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JE	SHORT	L_161
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	MOVZX	EAX,BYTE [EAX+__ctype+00H]
	AND	EAX,BYTE 02H
	JNE	NEAR	L_160
L_161:
L_159:
	JMP	L_162
L_164:
;
; Line 252:							(*buffer)++;
;
	INC	DWORD [ESI+00H]
;
; Line 253:							width--;
;
	DEC	DWORD [EBP+0FFFFFF54H]
;
; Line 254:						}
;
L_162:
;
; Line 251:						while (width && **buffer) {
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JE	SHORT	L_165
	MOV	EAX,DWORD [ESI+00H]
	CMP	BYTE [EAX+00H],BYTE 00H
	JNE	SHORT	L_164
L_165:
L_163:
;
; Line 255:					}
;
	JMP	L_157
L_156:
	JMP	L_166
L_168:
;
; Line 258:							didit = 1;
;
	MOV	DWORD [EBP+0FFFFFF68H],01H
;
; Line 259:							cu*=10;
;
	IMUL	EBX,DWORD 0AH
;
; Line 260:							(*chars)++;
;
	MOV	EAX,DWORD [EBP+018H]
	INC	DWORD [EAX+00H]
;
; Line 261:							cu+=*(*buffer)++ - '0';
;
	MOV	EAX,DWORD [ESI+00H]
	INC	DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	SUB	EAX,BYTE 030H
	ADD	EBX,EAX
;
; Line 262:						}
;
L_166:
;
; Line 257:						while((_ctype[ (**buffer) ] & (2            ))) {
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	MOVZX	EAX,BYTE [EAX+__ctype+00H]
	AND	EAX,BYTE 02H
	JNE	NEAR	L_168
L_167:
L_157:
;
; Line 263:				}
;
L_154:
;
; Line 264:				if (!ignore) {
;
	CMP	DWORD [EBP+0FFFFFF50H],BYTE 00H
	JNE	NEAR	L_169
;
; Line 265:					(*count)+=didit;
;
	MOV	EAX,DWORD [EBP+014H]
	MOV	ECX,DWORD [EBP+0FFFFFF68H]
	ADD	DWORD [EAX+00H],ECX
;
; Line 266:					if (size == 'h') 
;
	CMP	DWORD [EBP+0FFFFFF58H],BYTE 068H
	JNE	SHORT	L_171
;
; Line 267:						*(unsigned short *)arg = (unsigned short)cu;
;
	MOV	EAX,DWORD [EBP+010H]
	MOV	WORD [EAX+00H],BX
	JMP	L_172
L_171:
;
; Line 269:						*(unsigned *)arg = cu;
;
	MOV	EAX,DWORD [EBP+010H]
	MOV	DWORD [EAX+00H],EBX
L_172:
;
; Line 270:				}
;
L_169:
;
; Line 271:				break;
;
	JMP	L_26
L_40:
L_41:
;
; Line 274:				cu = 0;
;
	MOV	EBX,00H
;
; Line 275:				*buffer = skipspace(*buffer,&width,&skip);
;
	LEA	EAX,[EBP+0FFFFFF64H]
	PUSH	EAX
	LEA	EAX,[EBP+0FFFFFF54H]
	PUSH	EAX
	PUSH	DWORD [ESI+00H]
	CALL	_skipspace
	ADD	ESP,BYTE 0CH
	MOV	DWORD [ESI+00H],EAX
;
; Line 276:				if (!skip) {
;
	CMP	DWORD [EBP+0FFFFFF64H],BYTE 00H
	JNE	NEAR	L_173
;
; Line 277:					if (*(*buffer) == '0' && (*(*buffer+1) == 'X' || *(*buffer+1)== 'x')) {
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 030H
	JNE	NEAR	L_175
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+01H]
	CMP	EAX,BYTE 058H
	JE	SHORT	L_177
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+01H]
	CMP	EAX,BYTE 078H
	JNE	SHORT	L_175
L_177:
;
; Line 278:						(*chars)+=2;
;
	MOV	EAX,DWORD [EBP+018H]
	ADD	DWORD [EAX+00H],BYTE 02H
;
; Line 279:						*buffer+=2;
;
	ADD	DWORD [ESI+00H],BYTE 02H
;
; Line 280:						if (width) {
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JE	SHORT	L_178
;
; Line 281:							width-=2;
;
	SUB	DWORD [EBP+0FFFFFF54H],BYTE 02H
;
; Line 282:							if (width == 0)
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JE	NEAR	L_14
;
; Line 283:								goto nox;
;
L_180:
;
; Line 284:						}
;
L_178:
;
; Line 285:					}
;
L_175:
;
; Line 286:					if (width) {
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JE	NEAR	L_182
	JMP	L_184
L_186:
;
; Line 288:							didit = 1;
;
	MOV	DWORD [EBP+0FFFFFF68H],01H
;
; Line 289:							width--;
;
	DEC	DWORD [EBP+0FFFFFF54H]
;
; Line 290:							cu*=16;
;
	SHL	EBX,04H
;
; Line 291:							(*chars)++;
;
	MOV	EAX,DWORD [EBP+018H]
	INC	DWORD [EAX+00H]
;
; Line 292:							cu+=*(*buffer) - '0';
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	SUB	EAX,BYTE 030H
	ADD	EBX,EAX
;
; Line 293:							if (*(*buffer) >= 'a')
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 061H
	JL	SHORT	L_187
;
; Line 294:								cu -= 32;
;
	SUB	EBX,BYTE 020H
L_187:
;
; Line 295:							if (*(*buffer) >= 'A')
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 041H
	JL	SHORT	L_189
;
; Line 296:								cu -= 7;
;
	SUB	EBX,BYTE 07H
L_189:
;
; Line 297:						}
;
L_184:
;
; Line 287:						while(width && (_ctype[ (**buffer) ] & (16            ))) {
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JE	SHORT	L_191
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	MOVZX	EAX,BYTE [EAX+__ctype+00H]
	AND	EAX,BYTE 010H
	JNE	NEAR	L_186
L_191:
L_185:
	JMP	L_192
L_194:
;
; Line 299:							(*buffer)++;
;
	INC	DWORD [ESI+00H]
;
; Line 300:							width--;
;
	DEC	DWORD [EBP+0FFFFFF54H]
;
; Line 301:						}
;
L_192:
;
; Line 298:						while (width && **buffer) {
;
	CMP	DWORD [EBP+0FFFFFF54H],BYTE 00H
	JE	SHORT	L_195
	MOV	EAX,DWORD [ESI+00H]
	CMP	BYTE [EAX+00H],BYTE 00H
	JNE	SHORT	L_194
L_195:
L_193:
;
; Line 302:					}
;
	JMP	L_183
L_182:
	JMP	L_196
L_198:
;
; Line 305:							didit = 1;
;
	MOV	DWORD [EBP+0FFFFFF68H],01H
;
; Line 306:							cu*=16;
;
	SHL	EBX,04H
;
; Line 307:							(*chars)++;
;
	MOV	EAX,DWORD [EBP+018H]
	INC	DWORD [EAX+00H]
;
; Line 308:							cu+=*(*buffer) - '0';
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	SUB	EAX,BYTE 030H
	ADD	EBX,EAX
;
; Line 309:							if (*(*buffer) >= 'a')
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 061H
	JL	SHORT	L_199
;
; Line 310:								cu -= 32;
;
	SUB	EBX,BYTE 020H
L_199:
;
; Line 311:							if (*(*buffer) >= 'A')
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 041H
	JL	SHORT	L_201
;
; Line 312:								cu -= 7;
;
	SUB	EBX,BYTE 07H
L_201:
;
; Line 313:							(*buffer)++;
;
	INC	DWORD [ESI+00H]
;
; Line 314:						}
;
L_196:
;
; Line 304:						while((_ctype[ (**buffer) ] & (16            ))) {
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	MOVZX	EAX,BYTE [EAX+__ctype+00H]
	AND	EAX,BYTE 010H
	JNE	NEAR	L_198
L_197:
L_183:
;
; Line 315:				}
;
L_173:
L_14:
;
; Line 317:				if (!ignore) {
;
	CMP	DWORD [EBP+0FFFFFF50H],BYTE 00H
	JNE	NEAR	L_203
;
; Line 318:					(*count)+=didit;
;
	MOV	EAX,DWORD [EBP+014H]
	MOV	ECX,DWORD [EBP+0FFFFFF68H]
	ADD	DWORD [EAX+00H],ECX
;
; Line 319:					if (size == 'h') 
;
	CMP	DWORD [EBP+0FFFFFF58H],BYTE 068H
	JNE	SHORT	L_205
;
; Line 320:						*(unsigned short *)arg =(unsigned short) cu;
;
	MOV	EAX,DWORD [EBP+010H]
	MOV	WORD [EAX+00H],BX
	JMP	L_206
L_205:
;
; Line 322:						*(unsigned *)arg = cu;
;
	MOV	EAX,DWORD [EBP+010H]
	MOV	DWORD [EAX+00H],EBX
L_206:
;
; Line 323:				}
;
L_203:
;
; Line 324:				break;
;
	JMP	L_26
L_42:
;
; Line 326:					if (*(*buffer)++ != '%')
;
	MOV	EAX,DWORD [ESI+00H]
	INC	DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 025H
	JE	SHORT	L_207
;
; Line 327:						return 0;
;
	MOV	EAX,00H
	JMP	L_63
L_207:
;
; Line 328:					break;
;
	JMP	L_26
L_25:
;
; Line 330:				format++;
;
	INC	DWORD [EBP+0CH]
L_26:
;
; Line 332:		if (**buffer == '\n')
;
	MOV	EAX,DWORD [ESI+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	CMP	EAX,BYTE 0AH
	JNE	SHORT	L_209
;
; Line 333:			(*buffer)++ ;
;
	INC	DWORD [ESI+00H]
L_209:
;
; Line 334:		return format;
;
	MOV	EAX,DWORD [EBP+0CH]
L_63:
	POP	EDI
	POP	ESI
	POP	EBX
	MOV	ESP,EBP
	POP	EBP
	RET
;
; Line 338:	{
;
__scanf:
	PUSH	EBP
	MOV	EBP,ESP
	SUB	ESP,BYTE 08H
	PUSH	EBX
	PUSH	ESI
	PUSH	EDI
	MOV	ESI,DWORD [EBP+0CH]
	LEA	EBX,[EBP+08H]
	MOV	EDI,DWORD __ctype
;
; Line 339:		int i = 0,j=0;
;
	MOV	DWORD [EBP+0FFFFFFF8H],00H
	MOV	DWORD [EBP+0FFFFFFFCH],00H
	JMP	L_211
L_213:
	JMP	L_214
L_216:
;
; Line 342:				if ((_ctype[ (*format) ] & (1            ))) {
;
	MOVSX	EAX,BYTE [ESI+00H]
	MOVZX	EAX,BYTE [EDI+EAX+00H]
	AND	EAX,BYTE 01H
	JE	NEAR	L_217
;
; Line 343:					if (!(_ctype[ (*buffer) ] & (1            )))
;
	MOV	EAX,DWORD [EBX+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	MOVZX	EAX,BYTE [EDI+EAX+00H]
	AND	EAX,BYTE 01H
	JNE	SHORT	L_219
;
; Line 344:						return i;
;
	MOV	EAX,DWORD [EBP+0FFFFFFF8H]
	JMP	L_221
L_219:
;
; Line 345:					while ((_ctype[ (*++buffer) ] & (1            )) && *buffer);
;
L_222:
	INC	DWORD [EBX+00H]
	MOV	EAX,DWORD [EBX+00H]
	MOVSX	EAX,BYTE [EAX+00H]
	MOVZX	EAX,BYTE [EDI+EAX+00H]
	AND	EAX,BYTE 01H
	JE	SHORT	L_223
	MOV	EAX,DWORD [EBX+00H]
	CMP	BYTE [EAX+00H],BYTE 00H
	JNE	NEAR	L_222
L_223:
;
; Line 346:					while ((_ctype[ (*++format) ] & (1            )) && *format);
;
L_224:
	INC	ESI
	MOVSX	EAX,BYTE [ESI+00H]
	MOVZX	EAX,BYTE [EDI+EAX+00H]
	AND	EAX,BYTE 01H
	JE	SHORT	L_225
	CMP	BYTE [ESI+00H],BYTE 00H
	JNE	SHORT	L_224
L_225:
;
; Line 347:				}
;
	JMP	L_218
L_217:
;
; Line 349:					if (*format++ != *buffer++)
;
	MOV	EAX,DWORD [EBX+00H]
	INC	DWORD [EBX+00H]
	MOV	ECX,ESI
	INC	ESI
	MOV	CL,BYTE [ECX+00H]
	CMP	CL,BYTE [EAX+00H]
	JE	SHORT	L_226
;
; Line 350:						return i;
;
	MOV	EAX,DWORD [EBP+0FFFFFFF8H]
	JMP	L_221
L_226:
;
; Line 351:				}
;
L_218:
;
; Line 352:			}
;
L_214:
;
; Line 341:			while (*format != '%' && *format && *buffer) {
;
	MOVSX	EAX,BYTE [ESI+00H]
	CMP	EAX,BYTE 025H
	JE	SHORT	L_228
	CMP	BYTE [ESI+00H],BYTE 00H
	JE	SHORT	L_228
	MOV	EAX,DWORD [EBX+00H]
	CMP	BYTE [EAX+00H],BYTE 00H
	JNE	NEAR	L_216
L_228:
L_215:
;
; Line 353:			if (*format && *buffer) {
;
	CMP	BYTE [ESI+00H],BYTE 00H
	JE	NEAR	L_229
	MOV	EAX,DWORD [EBX+00H]
	CMP	BYTE [EAX+00H],BYTE 00H
	JE	NEAR	L_229
;
; Line 354:				format++;
;
	INC	ESI
;
; Line 355:				format = __strtoone(&buffer,format,((char **)arglist)[i],&i,&j);
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	LEA	EAX,[EBP+0FFFFFFF8H]
	PUSH	EAX
	MOV	EAX,DWORD [EBP+010H]
	MOV	ECX,DWORD [EBP+0FFFFFFF8H]
	PUSH	DWORD [EAX+ECX*4+00H]
	PUSH	ESI
	PUSH	EBX
	CALL	___strtoone
	ADD	ESP,BYTE 014H
	MOV	ESI,EAX
;
; Line 356:			}
;
L_229:
;
; Line 357:		}
;
L_211:
;
; Line 340:		while (format && *format) {
;
	TEST	ESI,ESI
	JE	SHORT	L_231
	CMP	BYTE [ESI+00H],BYTE 00H
	JNE	NEAR	L_213
L_231:
L_212:
;
; Line 358:		return(i);
;
	MOV	EAX,DWORD [EBP+0FFFFFFF8H]
L_221:
	POP	EDI
	POP	ESI
	POP	EBX
	MOV	ESP,EBP
	POP	EBP
	RET
[GLOBAL	_sscanf]
;
; Line 363:	{
;
_sscanf:
	PUSH	EBP
	MOV	EBP,ESP
;
; Line 364:		return _scanf(buf,format,(((char *)&format)+sizeof(char *)));
;
	LEA	EAX,[EBP+0CH]
	ADD	EAX,BYTE 04H
	PUSH	EAX
	PUSH	DWORD [EBP+0CH]
	PUSH	DWORD [EBP+08H]
	CALL	__scanf
	ADD	ESP,BYTE 0CH
L_232:
	POP	EBP
	RET
[GLOBAL	_vsscanf]
;
; Line 367:	{
;
_vsscanf:
	PUSH	EBP
	MOV	EBP,ESP
;
; Line 368:		return _scanf(buf,format,list);
;
	PUSH	DWORD [EBP+010H]
	PUSH	DWORD [EBP+0CH]
	PUSH	DWORD [EBP+08H]
	CALL	__scanf
	ADD	ESP,BYTE 0CH
L_233:
	POP	EBP
	RET


SECTION _TEXT
[EXTERN	___xstrtod]
[EXTERN	_strchr]

SECTION _DATA
[EXTERN	__ctype]
