	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 16:	{
;
_pstr:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	EBX
	PUSH	ESI
	PUSH	EDI
	MOV	ESI,DWORD [EBP+014H]
	MOV	EDI,DWORD [EBP+08H]
;
; Line 18:		if (*cursize > maxsize)
;
	MOV	EAX,DWORD [ESI+00H]
	CMP	EAX,DWORD [EBP+010H]
	JLE	SHORT	L_40
;
; Line 19:			return 1;
;
	MOV	EAX,01H
	JMP	L_42
L_40:
;
; Line 20:		l = strlen(astr);
;
	PUSH	EDI
	MOV	EDI,DWORD [EBP+0CH]
	CLD
	SUB	EAX,EAX
	MOV	ECX,0FFFFFFFFH
	REPNZ	SCASB
	NOT	ECX
	DEC	ECX
	MOV	EAX,ECX
	POP	EDI
	MOV	EBX,EAX
;
; Line 21:		str += *cursize;
;
	ADD	EDI,DWORD [ESI+00H]
	JMP	L_43
L_45:
;
; Line 23:			*str++ = *astr++;
;
	MOV	EAX,DWORD [EBP+0CH]
	INC	DWORD [EBP+0CH]
	MOV	ECX,EDI
	INC	EDI
	MOV	AL,BYTE [EAX+00H]
	MOV	BYTE [ECX+00H],AL
;
; Line 24:			(*cursize)++;
;
	INC	DWORD [ESI+00H]
;
; Line 25:			l--;
;
	DEC	EBX
;
; Line 26:		}
;
L_43:
;
; Line 22:		while (*cursize < maxsize-1 && l) {
;
	MOV	EAX,DWORD [EBP+010H]
	DEC	EAX
	CMP	DWORD [ESI+00H],EAX
	JGE	SHORT	L_46
	TEST	EBX,EBX
	JNE	NEAR	L_45
L_46:
L_44:
;
; Line 27:		*str = 0;
;
	MOV	BYTE [EDI+00H],00H
;
; Line 28:		if (l)
;
	TEST	EBX,EBX
	JE	SHORT	L_47
;
; Line 29:			return 1;
;
	MOV	EAX,01H
	JMP	L_42
L_47:
;
; Line 30:		return 0;
;
	MOV	EAX,00H
L_42:
	POP	EDI
	POP	ESI
	POP	EBX
	POP	EBP
	RET
;
; Line 33:	{
;
_pchar:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	ESI
	PUSH	EDI
	MOV	ESI,DWORD [EBP+08H]
	MOV	EDI,DWORD [EBP+014H]
;
; Line 34:		if (*cursize > maxsize)
;
	MOV	EAX,DWORD [EDI+00H]
	CMP	EAX,DWORD [EBP+010H]
	JLE	SHORT	L_49
;
; Line 35:			return 1;
;
	MOV	EAX,01H
	JMP	L_51
L_49:
;
; Line 36:		str += *cursize;
;
	ADD	ESI,DWORD [EDI+00H]
;
; Line 37:		*str++ = astr;
;
	MOV	EAX,ESI
	INC	ESI
	MOV	CL,BYTE [EBP+0CH]
	MOV	BYTE [EAX+00H],CL
;
; Line 38:		(*cursize)++;
;
	INC	DWORD [EDI+00H]
;
; Line 39:		*str = 0;
;
	MOV	BYTE [ESI+00H],00H
;
; Line 40:		return 0;
;
	MOV	EAX,00H
L_51:
	POP	EDI
	POP	ESI
	POP	EBP
	RET
;
; Line 43:	{
;
_pnum:
	PUSH	EBP
	MOV	EBP,ESP
	SUB	ESP,BYTE 010H
	PUSH	EBX
	PUSH	ESI
	PUSH	EDI
	MOV	ESI,DWORD [EBP+0CH]
	LEA	EDI,[EBP+0FFFFFFF0H]
;
; Line 44:		char buf[11],*p = &buf[9];
;
	LEA	EAX,[EDI+00H]
	ADD	EAX,BYTE 09H
	MOV	DWORD [EBP+0FFFFFFFCH],EAX
	MOV	EBX,00H
	JMP	L_54
L_52:
;
; Line 47:			buf[i] = '0';
;
	MOV	BYTE [EDI+EBX+00H],030H
;
; Line 46:		for (i=0; i < 10; i++)
;
L_53:
	INC	EBX
L_54:
	CMP	EBX,BYTE 0AH
	JL	SHORT	L_52
L_55:
;
; Line 48:		buf[10] = 0;
;
	MOV	BYTE [EDI+0AH],00H
	JMP	L_56
L_58:
;
; Line 50:			*p-- = (char)(num %10)+'0';
;
	MOV	EAX,ESI
	CDQ
	IDIV	DWORD [L_59]
	ADD	DL,BYTE 030H
	MOV	EAX,DWORD [EBP+0FFFFFFFCH]
	DEC	DWORD [EBP+0FFFFFFFCH]
	MOV	BYTE [EAX+00H],DL
;
; Line 51:			num = num / 10;
;
	XCHG	EAX,ESI
	CDQ
	IDIV	DWORD [L_59]
	MOV	ESI,EAX
;
; Line 52:		}
;
L_56:
;
; Line 49:		while (num) {
;
	TEST	ESI,ESI
	JNE	NEAR	L_58
L_57:
;
; Line 53:		return(pstr(str,buf+10-fwidth,maxsize,cursize));
;
	PUSH	DWORD [EBP+018H]
	PUSH	DWORD [EBP+014H]
	LEA	EAX,[EDI+00H]
	SUB	EAX,DWORD [EBP+010H]
	ADD	EAX,BYTE 0AH
	PUSH	EAX
	PUSH	DWORD [EBP+08H]
	CALL	_pstr
	ADD	ESP,BYTE 010H
L_60:
	POP	EDI
	POP	ESI
	POP	EBX
	MOV	ESP,EBP
	POP	EBP
	RET
[GLOBAL	_strftime]
;
; Line 57:	{
;
_strftime:
	PUSH	EBP
	MOV	EBP,ESP
	SUB	ESP,BYTE 08H
	PUSH	EBX
	PUSH	ESI
	PUSH	EDI
	MOV	EBX,DWORD [EBP+08H]
	MOV	ESI,DWORD [EBP+0CH]
	MOV	EDI,DWORD [EBP+014H]
;
; Line 58:		int i,rv = 0;
;
	MOV	DWORD [EBP+0FFFFFFFCH],00H
	MOV	DWORD [EBP+0FFFFFFF8H],00H
	JMP	L_66
L_64:
;
; Line 60:			if (format_string[i] == '%') {
;
	MOV	EAX,DWORD [EBP+010H]
	MOV	ECX,DWORD [EBP+0FFFFFFF8H]
	MOVSX	EAX,BYTE [EAX+ECX+00H]
	CMP	EAX,BYTE 025H
	JNE	NEAR	L_68
;
; Line 61:				i++;
;
	INC	DWORD [EBP+0FFFFFFF8H]
;
; Line 62:				switch(format_string[i]) {
;
	MOV	EAX,DWORD [EBP+010H]
	MOV	ECX,DWORD [EBP+0FFFFFFF8H]
	MOV	AL,BYTE [EAX+ECX+00H]
	CMP	AL,BYTE 061H
	JE	NEAR	L_72
	JG	NEAR	L_94
	CMP	AL,BYTE 053H
	JE	NEAR	L_84
	JG	NEAR	L_95
	CMP	AL,BYTE 048H
	JE	NEAR	L_78
	JG	SHORT	L_96
	CMP	AL,BYTE 042H
	JE	NEAR	L_75
	JG	NEAR	L_70
	CMP	AL,BYTE 041H
	JE	NEAR	L_73
	JMP	L_70
L_96:
	CMP	AL,BYTE 050H
	JE	NEAR	L_83
	JG	NEAR	L_70
	CMP	AL,BYTE 04DH
	JE	NEAR	L_82
	JMP	L_70
L_95:
	CMP	AL,BYTE 058H
	JE	NEAR	L_89
	JG	SHORT	L_97
	CMP	AL,BYTE 057H
	JE	NEAR	L_87
	JG	NEAR	L_70
	CMP	AL,BYTE 055H
	JE	NEAR	L_85
	JMP	L_70
L_97:
	CMP	AL,BYTE 059H
	JE	NEAR	L_91
	JMP	L_70
L_94:
	CMP	AL,BYTE 06DH
	JE	NEAR	L_81
	JG	NEAR	L_98
	CMP	AL,BYTE 064H
	JE	NEAR	L_77
	JG	SHORT	L_99
	CMP	AL,BYTE 063H
	JE	NEAR	L_76
	JG	NEAR	L_70
	CMP	AL,BYTE 062H
	JE	NEAR	L_74
	JMP	L_70
L_99:
	CMP	AL,BYTE 06AH
	JE	NEAR	L_80
	JG	NEAR	L_70
	CMP	AL,BYTE 069H
	JE	NEAR	L_79
	JMP	L_70
L_98:
	CMP	AL,BYTE 079H
	JE	NEAR	L_90
	JG	SHORT	L_100
	CMP	AL,BYTE 078H
	JE	NEAR	L_88
	JG	NEAR	L_70
	CMP	AL,BYTE 077H
	JE	NEAR	L_86
	JMP	L_70
L_100:
	CMP	AL,BYTE 07AH
	JE	NEAR	L_92
	JMP	L_70
L_72:
;
; Line 64:						if (pstr(str,_days[t->tm_wday],maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	MOV	EAX,DWORD [EDI+018H]
	PUSH	DWORD [EAX*4+__days+00H]
	PUSH	EBX
	CALL	_pstr
	ADD	ESP,BYTE 010H
	TEST	EAX,EAX
	JE	SHORT	L_101
;
; Line 65:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_101:
;
; Line 66:						break;
;
	JMP	L_71
L_73:
;
; Line 68:						if (pstr(str,_ldays[t->tm_wday],maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	MOV	EAX,DWORD [EDI+018H]
	PUSH	DWORD [EAX*4+__ldays+00H]
	PUSH	EBX
	CALL	_pstr
	ADD	ESP,BYTE 010H
	TEST	EAX,EAX
	JE	SHORT	L_104
;
; Line 69:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_104:
;
; Line 70:						break;
;
	JMP	L_71
L_74:
;
; Line 72:						if (pstr(str,_months[t->tm_mon],maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	MOV	EAX,DWORD [EDI+010H]
	PUSH	DWORD [EAX*4+__months+00H]
	PUSH	EBX
	CALL	_pstr
	ADD	ESP,BYTE 010H
	TEST	EAX,EAX
	JE	SHORT	L_106
;
; Line 73:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_106:
;
; Line 74:						break;
;
	JMP	L_71
L_75:
;
; Line 76:						if (pstr(str,_lmonths[t->tm_mon],maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	MOV	EAX,DWORD [EDI+010H]
	PUSH	DWORD [EAX*4+__lmonths+00H]
	PUSH	EBX
	CALL	_pstr
	ADD	ESP,BYTE 010H
	TEST	EAX,EAX
	JE	SHORT	L_108
;
; Line 77:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_108:
;
; Line 78:						break;
;
	JMP	L_71
L_76:
;
; Line 80:						if (pnum(str,t->tm_mday,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	PUSH	DWORD [EDI+0CH]
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_110
;
; Line 81:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_110:
;
; Line 82:						if (pstr(str," ",maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	DWORD L_61
	PUSH	EBX
	CALL	_pstr
	ADD	ESP,BYTE 010H
	TEST	EAX,EAX
	JE	SHORT	L_112
;
; Line 83:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_112:
;
; Line 84:						if (pnum(str,t->tm_hour,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	PUSH	DWORD [EDI+08H]
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_114
;
; Line 85:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_114:
;
; Line 86:						if (pstr(str,":",maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	DWORD L_62
	PUSH	EBX
	CALL	_pstr
	ADD	ESP,BYTE 010H
	TEST	EAX,EAX
	JE	SHORT	L_116
;
; Line 87:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_116:
;
; Line 88:						if (pnum(str,t->tm_min,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	PUSH	DWORD [EDI+04H]
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_118
;
; Line 89:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_118:
;
; Line 90:						if (pstr(str,":",maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	DWORD L_62
	PUSH	EBX
	CALL	_pstr
	ADD	ESP,BYTE 010H
	TEST	EAX,EAX
	JE	SHORT	L_120
;
; Line 91:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_120:
;
; Line 92:						if (pnum(str,t->tm_sec,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	PUSH	DWORD [EDI+00H]
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_122
;
; Line 93:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_122:
;
; Line 94:						if (pstr(str," ",maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	DWORD L_61
	PUSH	EBX
	CALL	_pstr
	ADD	ESP,BYTE 010H
	TEST	EAX,EAX
	JE	SHORT	L_124
;
; Line 95:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_124:
;
; Line 96:						if (pnum(str,t->tm_year+1900,4,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 04H
	MOV	EAX,DWORD [EDI+014H]
	ADD	EAX,076CH
	PUSH	EAX
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_126
;
; Line 97:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_126:
;
; Line 98:						break;
;
	JMP	L_71
L_77:
;
; Line 100:						if (pnum(str,t->tm_mday,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	PUSH	DWORD [EDI+0CH]
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_128
;
; Line 101:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_128:
;
; Line 102:						break;
;
	JMP	L_71
L_78:
;
; Line 104:						if (pnum(str,t->tm_hour,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	PUSH	DWORD [EDI+08H]
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_130
;
; Line 105:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_130:
;
; Line 106:						break;
;
	JMP	L_71
L_79:
;
; Line 108:						if (pnum(str,t->tm_hour%12+1,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	MOV	EAX,DWORD [EDI+08H]
	CDQ
	IDIV	DWORD [L_134]
	INC	EDX
	PUSH	EDX
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_132
;
; Line 109:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_132:
;
; Line 110:						break;
;
	JMP	L_71
L_80:
;
; Line 112:						if (pnum(str,t->tm_yday,3,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 03H
	PUSH	DWORD [EDI+01CH]
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_135
;
; Line 113:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_135:
;
; Line 114:						break;
;
	JMP	L_71
L_81:
;
; Line 116:						if (pnum(str,t->tm_mon,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	PUSH	DWORD [EDI+010H]
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_137
;
; Line 117:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_137:
;
; Line 118:						break;
;
	JMP	L_71
L_82:
;
; Line 120:						if (pnum(str,t->tm_min,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	PUSH	DWORD [EDI+04H]
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_139
;
; Line 121:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_139:
;
; Line 122:						break;
;
	JMP	L_71
L_83:
;
; Line 124:						if (pstr(str,_ampm[t->tm_hour/12],maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	MOV	EAX,DWORD [EDI+08H]
	CDQ
	IDIV	DWORD [L_134]
	PUSH	DWORD [EAX*4+__ampm+00H]
	PUSH	EBX
	CALL	_pstr
	ADD	ESP,BYTE 010H
	TEST	EAX,EAX
	JE	SHORT	L_141
;
; Line 125:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_141:
;
; Line 126:						break;
;
	JMP	L_71
L_84:
;
; Line 128:						if (pnum(str,t->tm_sec,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	PUSH	DWORD [EDI+00H]
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_143
;
; Line 129:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_143:
;
; Line 130:						break;
;
	JMP	L_71
L_85:
;
; Line 133:						if (pnum(str,(t->tm_yday-1+(7-t->tm_wday))/7,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	MOV	EAX,DWORD [EDI+018H]
	NEG	EAX
	ADD	EAX,DWORD [EDI+01CH]
	ADD	EAX,BYTE 06H
	CDQ
	IDIV	DWORD [L_147]
	PUSH	EAX
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_145
;
; Line 134:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_145:
;
; Line 135:						break;
;
	JMP	L_71
L_86:
;
; Line 137:						if (pnum(str,t->tm_wday,1,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 01H
	PUSH	DWORD [EDI+018H]
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_148
;
; Line 138:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_148:
;
; Line 139:						break;
;
	JMP	L_71
L_87:
;
; Line 142:						if (pnum(str,(t->tm_yday-1+(7-t->tm_wday))/7,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	MOV	EAX,DWORD [EDI+018H]
	NEG	EAX
	ADD	EAX,DWORD [EDI+01CH]
	ADD	EAX,BYTE 06H
	CDQ
	IDIV	DWORD [L_147]
	PUSH	EAX
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_150
;
; Line 143:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_150:
;
; Line 144:						break;
;
	JMP	L_71
L_88:
;
; Line 146:						if (pnum(str,t->tm_mday,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	PUSH	DWORD [EDI+0CH]
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_152
;
; Line 147:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_152:
;
; Line 148:						if (pstr(str," ",maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	DWORD L_61
	PUSH	EBX
	CALL	_pstr
	ADD	ESP,BYTE 010H
	TEST	EAX,EAX
	JE	SHORT	L_154
;
; Line 149:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_154:
;
; Line 150:						if (pnum(str,t->tm_year+1900,4,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 04H
	MOV	EAX,DWORD [EDI+014H]
	ADD	EAX,076CH
	PUSH	EAX
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_156
;
; Line 151:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_156:
;
; Line 152:						break;
;
	JMP	L_71
L_89:
;
; Line 154:						if (pnum(str,t->tm_hour,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	PUSH	DWORD [EDI+08H]
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_158
;
; Line 155:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_158:
;
; Line 156:						if (pstr(str,":",maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	DWORD L_62
	PUSH	EBX
	CALL	_pstr
	ADD	ESP,BYTE 010H
	TEST	EAX,EAX
	JE	SHORT	L_160
;
; Line 157:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_160:
;
; Line 158:						if (pnum(str,t->tm_min,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	PUSH	DWORD [EDI+04H]
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_162
;
; Line 159:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_162:
;
; Line 160:						if (pstr(str,":",maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	DWORD L_62
	PUSH	EBX
	CALL	_pstr
	ADD	ESP,BYTE 010H
	TEST	EAX,EAX
	JE	SHORT	L_164
;
; Line 161:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_164:
;
; Line 162:						if (pnum(str,t->tm_sec,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	PUSH	DWORD [EDI+00H]
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_166
;
; Line 163:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_166:
;
; Line 164:						break;
;
	JMP	L_71
L_90:
;
; Line 166:						if (pnum(str,t->tm_year %100,2,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 02H
	MOV	EAX,DWORD [EDI+014H]
	CDQ
	IDIV	DWORD [L_170]
	PUSH	EDX
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_168
;
; Line 167:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_168:
;
; Line 168:						break;
;
	JMP	L_71
L_91:
;
; Line 170:						if (pnum(str,t->tm_year+1900,4,maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	BYTE 04H
	MOV	EAX,DWORD [EDI+014H]
	ADD	EAX,076CH
	PUSH	EAX
	PUSH	EBX
	CALL	_pnum
	ADD	ESP,BYTE 014H
	TEST	EAX,EAX
	JE	SHORT	L_171
;
; Line 171:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_171:
;
; Line 172:						break;
;
	JMP	L_71
L_92:
;
; Line 174:						if (pstr(str,"Eastern Standard Time",maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	PUSH	DWORD L_63
	PUSH	EBX
	CALL	_pstr
	ADD	ESP,BYTE 010H
	TEST	EAX,EAX
	JE	SHORT	L_173
;
; Line 175:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_173:
;
; Line 176:						break;
;
	JMP	L_71
L_70:
;
; Line 178:						if (pchar(str,format_string[i],maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	MOV	EAX,DWORD [EBP+010H]
	MOV	ECX,DWORD [EBP+0FFFFFFF8H]
	MOVSX	EAX,BYTE [EAX+ECX+00H]
	PUSH	EAX
	PUSH	EBX
	CALL	_pchar
	ADD	ESP,BYTE 010H
	TEST	EAX,EAX
	JE	SHORT	L_175
;
; Line 179:							return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_175:
L_71:
;
; Line 182:			}
;
	JMP	L_69
L_68:
;
; Line 184:				if (pchar(str,format_string[i],maxsize,&rv))
;
	LEA	EAX,[EBP+0FFFFFFFCH]
	PUSH	EAX
	PUSH	ESI
	MOV	EAX,DWORD [EBP+010H]
	MOV	ECX,DWORD [EBP+0FFFFFFF8H]
	MOVSX	EAX,BYTE [EAX+ECX+00H]
	PUSH	EAX
	PUSH	EBX
	CALL	_pchar
	ADD	ESP,BYTE 010H
	TEST	EAX,EAX
	JE	SHORT	L_177
;
; Line 185:					return 0;
;
	MOV	EAX,00H
	JMP	L_103
L_177:
;
; Line 186:			}
;
L_69:
;
; Line 187:		}
;
;
; Line 59:		for (i=0; i < strlen(format_string); i++) {
;
L_65:
	INC	DWORD [EBP+0FFFFFFF8H]
L_66:
	PUSH	EDI
	MOV	EDI,DWORD [EBP+010H]
	CLD
	SUB	EAX,EAX
	MOV	ECX,0FFFFFFFFH
	REPNZ	SCASB
	NOT	ECX
	DEC	ECX
	MOV	EAX,ECX
	POP	EDI
	CMP	DWORD [EBP+0FFFFFFF8H],EAX
	JB	NEAR	L_64
L_67:
;
; Line 188:		return(rv);
;
	MOV	EAX,DWORD [EBP+0FFFFFFFCH]
L_103:
	POP	EDI
	POP	ESI
	POP	EBX
	MOV	ESP,EBP
	POP	EBP
	RET

	TIMES $$-$ & 3 NOP
L_170:
	DD	064H
L_147:
	DD	07H
L_134:
	DD	0cH
L_59:
	DD	0aH

SECTION _STRING
L_63:
	DB	045H,061H,073H,074H,065H,072H,06EH,020H,053H,074H,061H,06EH
	DB	064H,061H,072H,064H,020H,054H,069H,06DH,065H,00H
L_62:
	DB	03AH,00H
L_61:
	DB	020H,00H
L_39:
	DB	044H,065H,063H,065H,06DH,062H,065H,072H,00H
L_38:
	DB	04EH,06FH,076H,065H,06DH,062H,065H,072H,00H
L_37:
	DB	04FH,063H,074H,06FH,062H,065H,072H,00H
L_36:
	DB	053H,065H,070H,074H,065H,06DH,062H,065H,072H,00H
L_35:
	DB	041H,075H,067H,075H,073H,074H,00H
L_34:
	DB	04AH,075H,06CH,079H,00H
L_33:
	DB	04AH,075H,06EH,065H,00H
L_32:
	DB	041H,070H,072H,069H,06CH,00H
L_31:
	DB	04DH,061H,072H,063H,068H,00H
L_30:
	DB	046H,065H,062H,072H,075H,061H,072H,079H,00H
L_29:
	DB	04AH,061H,06EH,075H,061H,072H,079H,00H
L_28:
	DB	053H,061H,074H,075H,072H,064H,061H,079H,00H
L_27:
	DB	046H,072H,069H,064H,061H,079H,00H
L_26:
	DB	054H,068H,075H,072H,073H,064H,061H,079H,00H
L_25:
	DB	057H,065H,064H,06EH,065H,073H,064H,061H,079H,00H
L_24:
	DB	054H,075H,065H,073H,064H,061H,079H,00H
L_23:
	DB	04DH,06FH,06EH,064H,061H,079H,00H
L_22:
	DB	053H,075H,06EH,064H,061H,079H,00H
L_21:
	DB	070H,06DH,00H
L_20:
	DB	061H,06DH,00H
L_19:
	DB	044H,065H,063H,00H
L_18:
	DB	04EH,06FH,076H,00H
L_17:
	DB	04FH,063H,074H,00H
L_16:
	DB	053H,065H,070H,00H
L_15:
	DB	041H,075H,067H,00H
L_14:
	DB	04AH,075H,06CH,00H
L_13:
	DB	04AH,075H,06EH,00H
L_12:
	DB	04DH,061H,079H,00H
L_11:
	DB	041H,070H,072H,00H
L_10:
	DB	04DH,061H,072H,00H
L_9:
	DB	046H,065H,062H,00H
L_8:
	DB	04AH,061H,06EH,00H
L_7:
	DB	053H,061H,074H,00H
L_6:
	DB	046H,072H,069H,00H
L_5:
	DB	054H,068H,075H,00H
L_4:
	DB	057H,065H,064H,00H
L_3:
	DB	054H,075H,065H,00H
L_2:
	DB	04DH,06FH,06EH,00H
L_1:
	DB	053H,075H,06EH,00H
SECTION _DATA

__days	DD	L_1,L_2,L_3,L_4,L_5,L_6,L_7

__months	DD	L_8,L_9,L_10,L_11,L_12,L_13,L_14
	DD	L_15,L_16,L_17,L_18,L_19

__ampm	DD	L_20,L_21

__ldays	DD	L_22,L_23,L_24,L_25,L_26,L_27,L_28

__lmonths	DD	L_29,L_30,L_31,L_32,L_12,L_33,L_34
	DD	L_35,L_36,L_37,L_38,L_39
SECTION _BSS
