	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
[GLOBAL	_tolower]
;
; Line 42:	{
;
_tolower:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	ESI
	MOV	ESI,DWORD [EBP+08H]
;
; Line 43:		if (_ctype[c] & 4            )
;
	MOVZX	EAX,BYTE [ESI+__ctype+00H]
	AND	EAX,BYTE 04H
	JE	SHORT	L_1
;
; Line 44:			c+=32;
;
	ADD	ESI,BYTE 020H
L_1:
;
; Line 45:		return c;
;
	MOV	EAX,ESI
L_3:
	POP	ESI
	POP	EBP
	RET
[GLOBAL	_toupper]
;
; Line 48:	{
;
_toupper:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	ESI
	MOV	ESI,DWORD [EBP+08H]
;
; Line 49:		if (_ctype[c] & 8            )
;
	MOVZX	EAX,BYTE [ESI+__ctype+00H]
	AND	EAX,BYTE 08H
	JE	SHORT	L_4
;
; Line 50:			c-=32;
;
	SUB	ESI,BYTE 020H
L_4:
;
; Line 51:		return c;
;
	MOV	EAX,ESI
L_6:
	POP	ESI
	POP	EBP
	RET

SECTION _DATA
[GLOBAL	__ctype]

__ctype	DB	020H,020H,020H,020H,020H,020H,020H,020H,020H,021H,020H,020H
	DB	020H,020H,020H,020H,020H,020H,020H,020H,020H,020H,020H,020H
	DB	020H,020H,020H,020H,020H,020H,020H,020H,081H,040H,040H,00H
	DB	00H,00H,00H,040H,040H,040H,00H,00H,040H,00H,040H,00H
	DB	012H,012H,012H,012H,012H,012H,012H,012H,012H,012H,040H,040H
	DB	00H,00H,00H,040H,00H,014H,014H,014H,014H,014H,014H,04H
	DB	04H,04H,04H,04H,04H,04H,04H,04H,04H,04H,04H,04H
	DB	04H,04H,04H,04H,04H,04H,04H,040H,040H,040H,00H,040H
	DB	040H,018H,018H,018H,018H,018H,018H,08H,08H,08H,08H,08H
	DB	08H,08H,08H,08H,08H,08H,08H,08H,08H,08H,08H,08H
	DB	08H,08H,08H,040H,00H,040H,00H,020H,00H,00H,00H,00H
	DB	00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
	DB	00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
	DB	00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
	DB	00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
	DB	00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
	RESB	040H
SECTION _BSS
