; Listing generated by Microsoft (R) Optimizing Compiler Version 14.00.50727.762 

	TITLE	d:\Source Code\NC lib\ncDateTime.cpp
	.686P
	.XMM
	include listing.inc
	.model	flat

INCLUDELIB LIBCMTD
INCLUDELIB OLDNAMES

PUBLIC	??_C@_03MKABNOCG@Dec?$AA@			; `string'
PUBLIC	??_C@_08EDHMEBNP@December?$AA@			; `string'
PUBLIC	??_C@_03JPJOFNIA@Nov?$AA@			; `string'
PUBLIC	??_C@_08HCHEGEOA@November?$AA@			; `string'
PUBLIC	??_C@_03BMAOKBAD@Oct?$AA@			; `string'
PUBLIC	??_C@_07JJNFCEND@October?$AA@			; `string'
PUBLIC	??_C@_03GGCAPAJC@Sep?$AA@			; `string'
PUBLIC	??_C@_09BHHEALKD@September?$AA@			; `string'
PUBLIC	??_C@_03IFJFEIGA@Aug?$AA@			; `string'
PUBLIC	??_C@_06LBBHFDDG@August?$AA@			; `string'
PUBLIC	??_C@_03LBGABGKK@Jul?$AA@			; `string'
PUBLIC	??_C@_04MIEPOIFP@July?$AA@			; `string'
PUBLIC	??_C@_03IDFGHECI@Jun?$AA@			; `string'
PUBLIC	??_C@_04CNLMGBGM@June?$AA@			; `string'
PUBLIC	??_C@_03CNMDKL@May?$AA@				; `string'
PUBLIC	??_C@_03LEOLGMJP@Apr?$AA@			; `string'
PUBLIC	??_C@_05DMJDNLEJ@April?$AA@			; `string'
PUBLIC	??_C@_03ODNJBKGA@Mar?$AA@			; `string'
PUBLIC	??_C@_05HPCKOFNC@March?$AA@			; `string'
PUBLIC	??_C@_03HJBDCHOM@Feb?$AA@			; `string'
PUBLIC	??_C@_08GNJGEPFN@February?$AA@			; `string'
PUBLIC	??_C@_03JIHJHPIE@Jan?$AA@			; `string'
PUBLIC	??_C@_07CGJPFGJA@January?$AA@			; `string'
PUBLIC	??_C@_03KOEHGMDN@Sun?$AA@			; `string'
PUBLIC	??_C@_06OOPIFAJ@Sunday?$AA@			; `string'
PUBLIC	??_C@_03FEFJNEK@Sat?$AA@			; `string'
PUBLIC	??_C@_08INBOOONO@Saturday?$AA@			; `string'
PUBLIC	??_C@_03IDIOELNC@Fri?$AA@			; `string'
PUBLIC	??_C@_06JECMNKMI@Friday?$AA@			; `string'
PUBLIC	??_C@_03IOFIKPDN@Thu?$AA@			; `string'
PUBLIC	??_C@_08HACCIKIA@Thursday?$AA@			; `string'
PUBLIC	??_C@_03MHOMLAJA@Wed?$AA@			; `string'
PUBLIC	??_C@_08NNAAGMN@Wedesday?$AA@			; `string'
PUBLIC	??_C@_03NAGEINEP@Tue?$AA@			; `string'
PUBLIC	??_C@_07BAAGCFCM@Tuesday?$AA@			; `string'
PUBLIC	??_C@_03PDAGKDH@Mon?$AA@			; `string'
PUBLIC	??_C@_06JLEDEDGH@Monday?$AA@			; `string'
PUBLIC	??_C@_0P@GHFPNOJB@bad?5allocation?$AA@		; `string'
PUBLIC	?collate@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::collate
PUBLIC	?ctype@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::ctype
PUBLIC	?monetary@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::monetary
PUBLIC	?numeric@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::numeric
PUBLIC	?time@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::time
PUBLIC	?messages@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::messages
PUBLIC	?all@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::all
PUBLIC	?none@?$_Locbase@H@std@@2HB			; std::_Locbase<int>::none
PUBLIC	?table_size@?$ctype@D@std@@2IB			; std::ctype<char>::table_size
PUBLIC	?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::skipws
PUBLIC	?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::unitbuf
PUBLIC	?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::uppercase
PUBLIC	?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showbase
PUBLIC	?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showpoint
PUBLIC	?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::showpos
PUBLIC	?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::left
PUBLIC	?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::right
PUBLIC	?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::internal
PUBLIC	?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::dec
PUBLIC	?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::oct
PUBLIC	?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::hex
PUBLIC	?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::scientific
PUBLIC	?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B		; std::_Iosb<int>::fixed
PUBLIC	?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::boolalpha
PUBLIC	?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::_Stdio
PUBLIC	?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::adjustfield
PUBLIC	?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::basefield
PUBLIC	?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::floatfield
PUBLIC	?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::goodbit
PUBLIC	?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B		; std::_Iosb<int>::eofbit
PUBLIC	?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::failbit
PUBLIC	?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B		; std::_Iosb<int>::badbit
PUBLIC	?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B	; std::_Iosb<int>::_Hardfail
PUBLIC	?in@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::in
PUBLIC	?out@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::out
PUBLIC	?ate@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::ate
PUBLIC	?app@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::app
PUBLIC	?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B		; std::_Iosb<int>::trunc
PUBLIC	?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::_Nocreate
PUBLIC	?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::_Noreplace
PUBLIC	?binary@?$_Iosb@H@std@@2W4_Openmode@12@B	; std::_Iosb<int>::binary
PUBLIC	?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::beg
PUBLIC	?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::cur
PUBLIC	?end@?$_Iosb@H@std@@2W4_Seekdir@12@B		; std::_Iosb<int>::end
PUBLIC	?m_weekDayName@ncDateTime@@0PAY01PBDA		; ncDateTime::m_weekDayName
PUBLIC	?m_monthName@ncDateTime@@0PAY01PBDA		; ncDateTime::m_monthName
;	COMDAT ??_C@_03MKABNOCG@Dec?$AA@
CONST	SEGMENT
??_C@_03MKABNOCG@Dec?$AA@ DB 'Dec', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_08EDHMEBNP@December?$AA@
CONST	SEGMENT
??_C@_08EDHMEBNP@December?$AA@ DB 'December', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_03JPJOFNIA@Nov?$AA@
CONST	SEGMENT
??_C@_03JPJOFNIA@Nov?$AA@ DB 'Nov', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_08HCHEGEOA@November?$AA@
CONST	SEGMENT
??_C@_08HCHEGEOA@November?$AA@ DB 'November', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_03BMAOKBAD@Oct?$AA@
CONST	SEGMENT
??_C@_03BMAOKBAD@Oct?$AA@ DB 'Oct', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_07JJNFCEND@October?$AA@
CONST	SEGMENT
??_C@_07JJNFCEND@October?$AA@ DB 'October', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03GGCAPAJC@Sep?$AA@
CONST	SEGMENT
??_C@_03GGCAPAJC@Sep?$AA@ DB 'Sep', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_09BHHEALKD@September?$AA@
CONST	SEGMENT
??_C@_09BHHEALKD@September?$AA@ DB 'September', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_03IFJFEIGA@Aug?$AA@
CONST	SEGMENT
??_C@_03IFJFEIGA@Aug?$AA@ DB 'Aug', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_06LBBHFDDG@August?$AA@
CONST	SEGMENT
??_C@_06LBBHFDDG@August?$AA@ DB 'August', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03LBGABGKK@Jul?$AA@
CONST	SEGMENT
??_C@_03LBGABGKK@Jul?$AA@ DB 'Jul', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_04MIEPOIFP@July?$AA@
CONST	SEGMENT
??_C@_04MIEPOIFP@July?$AA@ DB 'July', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03IDFGHECI@Jun?$AA@
CONST	SEGMENT
??_C@_03IDFGHECI@Jun?$AA@ DB 'Jun', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_04CNLMGBGM@June?$AA@
CONST	SEGMENT
??_C@_04CNLMGBGM@June?$AA@ DB 'June', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03CNMDKL@May?$AA@
CONST	SEGMENT
??_C@_03CNMDKL@May?$AA@ DB 'May', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_03LEOLGMJP@Apr?$AA@
CONST	SEGMENT
??_C@_03LEOLGMJP@Apr?$AA@ DB 'Apr', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_05DMJDNLEJ@April?$AA@
CONST	SEGMENT
??_C@_05DMJDNLEJ@April?$AA@ DB 'April', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03ODNJBKGA@Mar?$AA@
CONST	SEGMENT
??_C@_03ODNJBKGA@Mar?$AA@ DB 'Mar', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_05HPCKOFNC@March?$AA@
CONST	SEGMENT
??_C@_05HPCKOFNC@March?$AA@ DB 'March', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03HJBDCHOM@Feb?$AA@
CONST	SEGMENT
??_C@_03HJBDCHOM@Feb?$AA@ DB 'Feb', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_08GNJGEPFN@February?$AA@
CONST	SEGMENT
??_C@_08GNJGEPFN@February?$AA@ DB 'February', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_03JIHJHPIE@Jan?$AA@
CONST	SEGMENT
??_C@_03JIHJHPIE@Jan?$AA@ DB 'Jan', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_07CGJPFGJA@January?$AA@
CONST	SEGMENT
??_C@_07CGJPFGJA@January?$AA@ DB 'January', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03KOEHGMDN@Sun?$AA@
CONST	SEGMENT
??_C@_03KOEHGMDN@Sun?$AA@ DB 'Sun', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_06OOPIFAJ@Sunday?$AA@
CONST	SEGMENT
??_C@_06OOPIFAJ@Sunday?$AA@ DB 'Sunday', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03FEFJNEK@Sat?$AA@
CONST	SEGMENT
??_C@_03FEFJNEK@Sat?$AA@ DB 'Sat', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_08INBOOONO@Saturday?$AA@
CONST	SEGMENT
??_C@_08INBOOONO@Saturday?$AA@ DB 'Saturday', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_03IDIOELNC@Fri?$AA@
CONST	SEGMENT
??_C@_03IDIOELNC@Fri?$AA@ DB 'Fri', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_06JECMNKMI@Friday?$AA@
CONST	SEGMENT
??_C@_06JECMNKMI@Friday?$AA@ DB 'Friday', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03IOFIKPDN@Thu?$AA@
CONST	SEGMENT
??_C@_03IOFIKPDN@Thu?$AA@ DB 'Thu', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_08HACCIKIA@Thursday?$AA@
CONST	SEGMENT
??_C@_08HACCIKIA@Thursday?$AA@ DB 'Thursday', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_03MHOMLAJA@Wed?$AA@
CONST	SEGMENT
??_C@_03MHOMLAJA@Wed?$AA@ DB 'Wed', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_08NNAAGMN@Wedesday?$AA@
CONST	SEGMENT
??_C@_08NNAAGMN@Wedesday?$AA@ DB 'Wedesday', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_03NAGEINEP@Tue?$AA@
CONST	SEGMENT
??_C@_03NAGEINEP@Tue?$AA@ DB 'Tue', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_07BAAGCFCM@Tuesday?$AA@
CONST	SEGMENT
??_C@_07BAAGCFCM@Tuesday?$AA@ DB 'Tuesday', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03PDAGKDH@Mon?$AA@
CONST	SEGMENT
??_C@_03PDAGKDH@Mon?$AA@ DB 'Mon', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_06JLEDEDGH@Monday?$AA@
CONST	SEGMENT
??_C@_06JLEDEDGH@Monday?$AA@ DB 'Monday', 00H		; `string'
CONST	ENDS
;	COMDAT ?end@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?end@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 02H		; std::_Iosb<int>::end
CONST	ENDS
;	COMDAT ?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 01H		; std::_Iosb<int>::cur
CONST	ENDS
;	COMDAT ?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 00H		; std::_Iosb<int>::beg
CONST	ENDS
;	COMDAT ?binary@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?binary@?$_Iosb@H@std@@2W4_Openmode@12@B DD 020H	; std::_Iosb<int>::binary
CONST	ENDS
;	COMDAT ?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B DD 080H	; std::_Iosb<int>::_Noreplace
CONST	ENDS
;	COMDAT ?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 040H	; std::_Iosb<int>::_Nocreate
CONST	ENDS
;	COMDAT ?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B DD 010H		; std::_Iosb<int>::trunc
CONST	ENDS
;	COMDAT ?app@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?app@?$_Iosb@H@std@@2W4_Openmode@12@B DD 08H		; std::_Iosb<int>::app
CONST	ENDS
;	COMDAT ?ate@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?ate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 04H		; std::_Iosb<int>::ate
CONST	ENDS
;	COMDAT ?out@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?out@?$_Iosb@H@std@@2W4_Openmode@12@B DD 02H		; std::_Iosb<int>::out
CONST	ENDS
;	COMDAT ?in@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?in@?$_Iosb@H@std@@2W4_Openmode@12@B DD 01H		; std::_Iosb<int>::in
CONST	ENDS
;	COMDAT ?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B DD 010H	; std::_Iosb<int>::_Hardfail
CONST	ENDS
;	COMDAT ?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 04H		; std::_Iosb<int>::badbit
CONST	ENDS
;	COMDAT ?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 02H		; std::_Iosb<int>::failbit
CONST	ENDS
;	COMDAT ?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 01H		; std::_Iosb<int>::eofbit
CONST	ENDS
;	COMDAT ?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 00H		; std::_Iosb<int>::goodbit
CONST	ENDS
;	COMDAT ?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 03000H	; std::_Iosb<int>::floatfield
CONST	ENDS
;	COMDAT ?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0e00H	; std::_Iosb<int>::basefield
CONST	ENDS
;	COMDAT ?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01c0H	; std::_Iosb<int>::adjustfield
CONST	ENDS
;	COMDAT ?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08000H	; std::_Iosb<int>::_Stdio
CONST	ENDS
;	COMDAT ?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04000H	; std::_Iosb<int>::boolalpha
CONST	ENDS
;	COMDAT ?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02000H	; std::_Iosb<int>::fixed
CONST	ENDS
;	COMDAT ?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01000H	; std::_Iosb<int>::scientific
CONST	ENDS
;	COMDAT ?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0800H		; std::_Iosb<int>::hex
CONST	ENDS
;	COMDAT ?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0400H		; std::_Iosb<int>::oct
CONST	ENDS
;	COMDAT ?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0200H		; std::_Iosb<int>::dec
CONST	ENDS
;	COMDAT ?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0100H	; std::_Iosb<int>::internal
CONST	ENDS
;	COMDAT ?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 080H		; std::_Iosb<int>::right
CONST	ENDS
;	COMDAT ?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 040H		; std::_Iosb<int>::left
CONST	ENDS
;	COMDAT ?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 020H	; std::_Iosb<int>::showpos
CONST	ENDS
;	COMDAT ?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 010H	; std::_Iosb<int>::showpoint
CONST	ENDS
;	COMDAT ?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08H	; std::_Iosb<int>::showbase
CONST	ENDS
;	COMDAT ?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04H	; std::_Iosb<int>::uppercase
CONST	ENDS
;	COMDAT ?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02H	; std::_Iosb<int>::unitbuf
CONST	ENDS
;	COMDAT ?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01H		; std::_Iosb<int>::skipws
CONST	ENDS
;	COMDAT ?table_size@?$ctype@D@std@@2IB
CONST	SEGMENT
?table_size@?$ctype@D@std@@2IB DD 0100H			; std::ctype<char>::table_size
CONST	ENDS
;	COMDAT ?none@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?none@?$_Locbase@H@std@@2HB DD 00H			; std::_Locbase<int>::none
CONST	ENDS
;	COMDAT ?all@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?all@?$_Locbase@H@std@@2HB DD 03fH			; std::_Locbase<int>::all
CONST	ENDS
;	COMDAT ?messages@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?messages@?$_Locbase@H@std@@2HB DD 020H			; std::_Locbase<int>::messages
CONST	ENDS
;	COMDAT ?time@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?time@?$_Locbase@H@std@@2HB DD 010H			; std::_Locbase<int>::time
CONST	ENDS
;	COMDAT ?numeric@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?numeric@?$_Locbase@H@std@@2HB DD 08H			; std::_Locbase<int>::numeric
CONST	ENDS
;	COMDAT ?monetary@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?monetary@?$_Locbase@H@std@@2HB DD 04H			; std::_Locbase<int>::monetary
CONST	ENDS
;	COMDAT ?ctype@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?ctype@?$_Locbase@H@std@@2HB DD 02H			; std::_Locbase<int>::ctype
CONST	ENDS
;	COMDAT ?collate@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?collate@?$_Locbase@H@std@@2HB DD 01H			; std::_Locbase<int>::collate
CONST	ENDS
_DATA	SEGMENT
__bad_alloc_Message DD FLAT:??_C@_0P@GHFPNOJB@bad?5allocation?$AA@
?m_weekDayName@ncDateTime@@0PAY01PBDA DD FLAT:??_C@_06JLEDEDGH@Monday?$AA@ ; ncDateTime::m_weekDayName
	DD	FLAT:??_C@_03PDAGKDH@Mon?$AA@
	DD	FLAT:??_C@_07BAAGCFCM@Tuesday?$AA@
	DD	FLAT:??_C@_03NAGEINEP@Tue?$AA@
	DD	FLAT:??_C@_08NNAAGMN@Wedesday?$AA@
	DD	FLAT:??_C@_03MHOMLAJA@Wed?$AA@
	DD	FLAT:??_C@_08HACCIKIA@Thursday?$AA@
	DD	FLAT:??_C@_03IOFIKPDN@Thu?$AA@
	DD	FLAT:??_C@_06JECMNKMI@Friday?$AA@
	DD	FLAT:??_C@_03IDIOELNC@Fri?$AA@
	DD	FLAT:??_C@_08INBOOONO@Saturday?$AA@
	DD	FLAT:??_C@_03FEFJNEK@Sat?$AA@
	DD	FLAT:??_C@_06OOPIFAJ@Sunday?$AA@
	DD	FLAT:??_C@_03KOEHGMDN@Sun?$AA@
	ORG $+4
?m_monthName@ncDateTime@@0PAY01PBDA DD FLAT:??_C@_07CGJPFGJA@January?$AA@ ; ncDateTime::m_monthName
	DD	FLAT:??_C@_03JIHJHPIE@Jan?$AA@
	DD	FLAT:??_C@_08GNJGEPFN@February?$AA@
	DD	FLAT:??_C@_03HJBDCHOM@Feb?$AA@
	DD	FLAT:??_C@_05HPCKOFNC@March?$AA@
	DD	FLAT:??_C@_03ODNJBKGA@Mar?$AA@
	DD	FLAT:??_C@_05DMJDNLEJ@April?$AA@
	DD	FLAT:??_C@_03LEOLGMJP@Apr?$AA@
	DD	FLAT:??_C@_03CNMDKL@May?$AA@
	DD	FLAT:??_C@_03CNMDKL@May?$AA@
	DD	FLAT:??_C@_04CNLMGBGM@June?$AA@
	DD	FLAT:??_C@_03IDFGHECI@Jun?$AA@
	DD	FLAT:??_C@_04MIEPOIFP@July?$AA@
	DD	FLAT:??_C@_03LBGABGKK@Jul?$AA@
	DD	FLAT:??_C@_06LBBHFDDG@August?$AA@
	DD	FLAT:??_C@_03IFJFEIGA@Aug?$AA@
	DD	FLAT:??_C@_09BHHEALKD@September?$AA@
	DD	FLAT:??_C@_03GGCAPAJC@Sep?$AA@
	DD	FLAT:??_C@_07JJNFCEND@October?$AA@
	DD	FLAT:??_C@_03BMAOKBAD@Oct?$AA@
	DD	FLAT:??_C@_08HCHEGEOA@November?$AA@
	DD	FLAT:??_C@_03JPJOFNIA@Nov?$AA@
	DD	FLAT:??_C@_08EDHMEBNP@December?$AA@
	DD	FLAT:??_C@_03MKABNOCG@Dec?$AA@
_DATA	ENDS
;	COMDAT ??_C@_0P@GHFPNOJB@bad?5allocation?$AA@
CONST	SEGMENT
??_C@_0P@GHFPNOJB@bad?5allocation?$AA@ DB 'bad allocation', 00H ; `string'
CONST	ENDS
PUBLIC	??_7bad_alloc@std@@6B@				; std::bad_alloc::`vftable'
PUBLIC	??0bad_alloc@std@@QAE@PBD@Z			; std::bad_alloc::bad_alloc
PUBLIC	??_R4bad_alloc@std@@6B@				; std::bad_alloc::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVbad_alloc@std@@@8			; std::bad_alloc `RTTI Type Descriptor'
PUBLIC	??_R3bad_alloc@std@@8				; std::bad_alloc::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2bad_alloc@std@@8				; std::bad_alloc::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@bad_alloc@std@@8			; std::bad_alloc::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@exception@std@@8			; std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVexception@std@@@8			; std::exception `RTTI Type Descriptor'
PUBLIC	??_R3exception@std@@8				; std::exception::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2exception@std@@8				; std::exception::`RTTI Base Class Array'
EXTRN	??0exception@std@@QAE@ABQBD@Z:PROC		; std::exception::exception
EXTRN	??_7type_info@@6B@:QWORD			; type_info::`vftable'
EXTRN	??_Ebad_alloc@std@@UAEPAXI@Z:PROC		; std::bad_alloc::`vector deleting destructor'
EXTRN	?what@exception@std@@UBEPBDXZ:PROC		; std::exception::what
;	COMDAT ??_R2exception@std@@8
; File c:\program files\microsoft visual studio 8\vc\include\exception
rdata$r	SEGMENT
??_R2exception@std@@8 DD FLAT:??_R1A@?0A@EA@exception@std@@8 ; std::exception::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3exception@std@@8
rdata$r	SEGMENT
??_R3exception@std@@8 DD 00H				; std::exception::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVexception@std@@@8
_DATA	SEGMENT
??_R0?AVexception@std@@@8 DD FLAT:??_7type_info@@6B@	; std::exception `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVexception@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@exception@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@exception@std@@8 DD FLAT:??_R0?AVexception@std@@@8 ; std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@bad_alloc@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@bad_alloc@std@@8 DD FLAT:??_R0?AVbad_alloc@std@@@8 ; std::bad_alloc::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3bad_alloc@std@@8
rdata$r	ENDS
;	COMDAT ??_R2bad_alloc@std@@8
rdata$r	SEGMENT
??_R2bad_alloc@std@@8 DD FLAT:??_R1A@?0A@EA@bad_alloc@std@@8 ; std::bad_alloc::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R3bad_alloc@std@@8
rdata$r	SEGMENT
??_R3bad_alloc@std@@8 DD 00H				; std::bad_alloc::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2bad_alloc@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVbad_alloc@std@@@8
_DATA	SEGMENT
??_R0?AVbad_alloc@std@@@8 DD FLAT:??_7type_info@@6B@	; std::bad_alloc `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVbad_alloc@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4bad_alloc@std@@6B@
rdata$r	SEGMENT
??_R4bad_alloc@std@@6B@ DD 00H				; std::bad_alloc::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVbad_alloc@std@@@8
	DD	FLAT:??_R3bad_alloc@std@@8
rdata$r	ENDS
;	COMDAT ??_7bad_alloc@std@@6B@
CONST	SEGMENT
??_7bad_alloc@std@@6B@ DD FLAT:??_R4bad_alloc@std@@6B@	; std::bad_alloc::`vftable'
	DD	FLAT:??_Ebad_alloc@std@@UAEPAXI@Z
	DD	FLAT:?what@exception@std@@UBEPBDXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0bad_alloc@std@@QAE@PBD@Z
_TEXT	SEGMENT
__Message$ = 8						; size = 4
??0bad_alloc@std@@QAE@PBD@Z PROC			; std::bad_alloc::bad_alloc, COMDAT
; _this$ = ecx

; 371  : 		{	// construct from message string

	push	esi
	lea	eax, DWORD PTR __Message$[esp]
	push	eax
	mov	esi, ecx
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	mov	DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@

; 372  : 		}

	mov	eax, esi
	pop	esi
	ret	4
??0bad_alloc@std@@QAE@PBD@Z ENDP			; std::bad_alloc::bad_alloc
_TEXT	ENDS
PUBLIC	??1bad_alloc@std@@UAE@XZ			; std::bad_alloc::~bad_alloc
EXTRN	??1exception@std@@UAE@XZ:PROC			; std::exception::~exception
; Function compile flags: /Ogtpy
;	COMDAT ??1bad_alloc@std@@UAE@XZ
_TEXT	SEGMENT
??1bad_alloc@std@@UAE@XZ PROC				; std::bad_alloc::~bad_alloc, COMDAT
; _this$ = ecx

; 380  : 		{	// destroy the object

	mov	DWORD PTR [ecx], OFFSET ??_7bad_alloc@std@@6B@

; 381  : 		}

	jmp	??1exception@std@@UAE@XZ		; std::exception::~exception
??1bad_alloc@std@@UAE@XZ ENDP				; std::bad_alloc::~bad_alloc
_TEXT	ENDS
EXTRN	??3@YAXPAX@Z:PROC				; operator delete
; Function compile flags: /Ogtpy
;	COMDAT ??_Gbad_alloc@std@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_Gbad_alloc@std@@UAEPAXI@Z PROC			; std::bad_alloc::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@
	call	??1exception@std@@UAE@XZ		; std::exception::~exception
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN6@scalar
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN6@scalar:
	mov	eax, esi
	pop	esi
	ret	4
??_Gbad_alloc@std@@UAEPAXI@Z ENDP			; std::bad_alloc::`scalar deleting destructor'
_TEXT	ENDS
EXTRN	__localtime64:PROC
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\time.inl
;	COMDAT _localtime
_TEXT	SEGMENT
_localtime PROC						; COMDAT
; __Time$ = eax

; 116  : #pragma warning( push )
; 117  : #pragma warning( disable : 4996 )
; 118  :     return _localtime64(_Time);

	push	eax
	call	__localtime64
	add	esp, 4

; 119  : #pragma warning( pop )
; 120  : }

	ret	0
_localtime ENDP
_TEXT	ENDS
EXTRN	__mktime64:PROC
; Function compile flags: /Ogtpy
;	COMDAT _mktime
_TEXT	SEGMENT
_mktime	PROC						; COMDAT
; __Tm$ = eax

; 127  :     return _mktime64(_Tm);

	push	eax
	call	__mktime64
	add	esp, 4

; 128  : }

	ret	0
_mktime	ENDP
_TEXT	ENDS
EXTRN	__time64:PROC
; Function compile flags: /Ogtpy
;	COMDAT _time
_TEXT	SEGMENT
_time	PROC						; COMDAT
; __Time$ = eax

; 135  :     return _time64(_Time);

	push	eax
	call	__time64
	add	esp, 4

; 136  : }

	ret	0
_time	ENDP
_TEXT	ENDS
PUBLIC	??_7ncString2@@6B@				; ncString2::`vftable'
PUBLIC	??0ncString2@@QAE@ABV0@@Z			; ncString2::ncString2
PUBLIC	??_R4ncString2@@6B@				; ncString2::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVncString2@@@8				; ncString2 `RTTI Type Descriptor'
PUBLIC	??_R3ncString2@@8				; ncString2::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2ncString2@@8				; ncString2::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@ncString2@@8			; ncString2::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@ncStringBase@@8			; ncStringBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVncStringBase@@@8			; ncStringBase `RTTI Type Descriptor'
PUBLIC	??_R3ncStringBase@@8				; ncStringBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2ncStringBase@@8				; ncStringBase::`RTTI Base Class Array'
EXTRN	??0ncStringBase@@QAE@ABV0@@Z:PROC		; ncStringBase::ncStringBase
EXTRN	??_EncString2@@UAEPAXI@Z:PROC			; ncString2::`vector deleting destructor'
EXTRN	?GetLength@ncStringBase@@UBEIXZ:PROC		; ncStringBase::GetLength
EXTRN	?Resize@ncString2@@UAEXI@Z:PROC			; ncString2::Resize
;	COMDAT ??_R2ncStringBase@@8
; File d:\source code\nc lib\ncstring2.h
rdata$r	SEGMENT
??_R2ncStringBase@@8 DD FLAT:??_R1A@?0A@EA@ncStringBase@@8 ; ncStringBase::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3ncStringBase@@8
rdata$r	SEGMENT
??_R3ncStringBase@@8 DD 00H				; ncStringBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2ncStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVncStringBase@@@8
_DATA	SEGMENT
??_R0?AVncStringBase@@@8 DD FLAT:??_7type_info@@6B@	; ncStringBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVncStringBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@ncStringBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@ncStringBase@@8 DD FLAT:??_R0?AVncStringBase@@@8 ; ncStringBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ncStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@ncString2@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@ncString2@@8 DD FLAT:??_R0?AVncString2@@@8 ; ncString2::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ncString2@@8
rdata$r	ENDS
;	COMDAT ??_R2ncString2@@8
rdata$r	SEGMENT
??_R2ncString2@@8 DD FLAT:??_R1A@?0A@EA@ncString2@@8	; ncString2::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ncStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R3ncString2@@8
rdata$r	SEGMENT
??_R3ncString2@@8 DD 00H				; ncString2::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2ncString2@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVncString2@@@8
_DATA	SEGMENT
??_R0?AVncString2@@@8 DD FLAT:??_7type_info@@6B@	; ncString2 `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVncString2@@', 00H
_DATA	ENDS
;	COMDAT ??_R4ncString2@@6B@
rdata$r	SEGMENT
??_R4ncString2@@6B@ DD 00H				; ncString2::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVncString2@@@8
	DD	FLAT:??_R3ncString2@@8
rdata$r	ENDS
;	COMDAT ??_7ncString2@@6B@
CONST	SEGMENT
??_7ncString2@@6B@ DD FLAT:??_R4ncString2@@6B@		; ncString2::`vftable'
	DD	FLAT:??_EncString2@@UAEPAXI@Z
	DD	FLAT:?GetLength@ncStringBase@@UBEIXZ
	DD	FLAT:?Resize@ncString2@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0ncString2@@QAE@ABV0@@Z
_TEXT	SEGMENT
_str$ = 8						; size = 4
??0ncString2@@QAE@ABV0@@Z PROC				; ncString2::ncString2, COMDAT
; _this$ = ecx

; 132  : 	ncString2(const ncString2& str) : ncStringBase(str) { };

	mov	eax, DWORD PTR _str$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	??0ncStringBase@@QAE@ABV0@@Z		; ncStringBase::ncStringBase
	mov	DWORD PTR [esi], OFFSET ??_7ncString2@@6B@
	mov	eax, esi
	pop	esi
	ret	4
??0ncString2@@QAE@ABV0@@Z ENDP				; ncString2::ncString2
_TEXT	ENDS
PUBLIC	??1ncString2@@UAE@XZ				; ncString2::~ncString2
EXTRN	??1ncStringBase@@UAE@XZ:PROC			; ncStringBase::~ncStringBase
; Function compile flags: /Ogtpy
;	COMDAT ??1ncString2@@UAE@XZ
_TEXT	SEGMENT
??1ncString2@@UAE@XZ PROC				; ncString2::~ncString2, COMDAT
; _this$ = ecx

; 139  : 	~ncString2() { };

	mov	DWORD PTR [ecx], OFFSET ??_7ncString2@@6B@
	jmp	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
??1ncString2@@UAE@XZ ENDP				; ncString2::~ncString2
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GncString2@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GncString2@@UAEPAXI@Z PROC				; ncString2::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7ncString2@@6B@
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@2
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@2:
	mov	eax, esi
	pop	esi
	ret	4
??_GncString2@@UAEPAXI@Z ENDP				; ncString2::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?GetTimeInfo@ncDateTime@@AAEPAUtm@@XZ		; ncDateTime::GetTimeInfo
; Function compile flags: /Ogtpy
; File d:\source code\nc lib\ncdatetime.h
;	COMDAT ?GetTimeInfo@ncDateTime@@AAEPAUtm@@XZ
_TEXT	SEGMENT
?GetTimeInfo@ncDateTime@@AAEPAUtm@@XZ PROC		; ncDateTime::GetTimeInfo, COMDAT
; _this$ = ecx

; 17   : 		return localtime(&this->m_time.time);

	push	ecx
	call	__localtime64
	add	esp, 4

; 18   : 	};

	ret	0
?GetTimeInfo@ncDateTime@@AAEPAUtm@@XZ ENDP		; ncDateTime::GetTimeInfo
_TEXT	ENDS
PUBLIC	??0ncDateTime@@QAE@XZ				; ncDateTime::ncDateTime
; Function compile flags: /Ogtpy
; File d:\source code\nc lib\ncdatetime.cpp
;	COMDAT ??0ncDateTime@@QAE@XZ
_TEXT	SEGMENT
??0ncDateTime@@QAE@XZ PROC				; ncDateTime::ncDateTime, COMDAT
; _this$ = ecx

; 29   : {

	mov	eax, ecx

; 30   : 	this->m_needMillisec = false;

	xor	ecx, ecx
	mov	BYTE PTR [eax+16], cl

; 31   : 	this->m_time.time = 0;

	mov	DWORD PTR [eax], ecx
	mov	DWORD PTR [eax+4], ecx

; 32   : 	this->m_time.millitm = 0;

	mov	WORD PTR [eax+8], cx

; 33   : }

	ret	0
??0ncDateTime@@QAE@XZ ENDP				; ncDateTime::ncDateTime
_TEXT	ENDS
PUBLIC	??0ncDateTime@@QAE@_JG@Z			; ncDateTime::ncDateTime
; Function compile flags: /Ogtpy
;	COMDAT ??0ncDateTime@@QAE@_JG@Z
_TEXT	SEGMENT
_time$ = 8						; size = 8
_ms$ = 16						; size = 2
??0ncDateTime@@QAE@_JG@Z PROC				; ncDateTime::ncDateTime, COMDAT
; _this$ = ecx

; 36   : 	this->m_needMillisec = true;
; 37   : 	this->m_time.time = time;

	mov	edx, DWORD PTR _time$[esp]
	mov	eax, ecx
	mov	ecx, DWORD PTR _time$[esp-4]
	mov	DWORD PTR [eax], ecx

; 38   : 	this->m_time.millitm = ms;

	mov	cx, WORD PTR _ms$[esp-4]
	mov	BYTE PTR [eax+16], 1
	mov	DWORD PTR [eax+4], edx
	mov	WORD PTR [eax+8], cx

; 39   : }

	ret	12					; 0000000cH
??0ncDateTime@@QAE@_JG@Z ENDP				; ncDateTime::ncDateTime
_TEXT	ENDS
PUBLIC	?Now@ncDateTime@@SA?AV1@XZ			; ncDateTime::Now
; Function compile flags: /Ogtpy
;	COMDAT ?Now@ncDateTime@@SA?AV1@XZ
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
?Now@ncDateTime@@SA?AV1@XZ PROC				; ncDateTime::Now, COMDAT

; 42   : 	return ncDateTime(time(NULL), 0);

	push	0
	call	__time64
	mov	ecx, eax
	mov	eax, DWORD PTR ___$ReturnUdt$[esp]
	add	esp, 4
	mov	BYTE PTR [eax+16], 1
	mov	DWORD PTR [eax], ecx
	mov	DWORD PTR [eax+4], edx
	mov	WORD PTR [eax+8], 0

; 43   : }

	ret	0
?Now@ncDateTime@@SA?AV1@XZ ENDP				; ncDateTime::Now
_TEXT	ENDS
PUBLIC	?UNow@ncDateTime@@SA?AV1@XZ			; ncDateTime::UNow
EXTRN	__ftime64:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?UNow@ncDateTime@@SA?AV1@XZ
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
?UNow@ncDateTime@@SA?AV1@XZ PROC			; ncDateTime::UNow, COMDAT

; 45   : {

	push	esi

; 46   : 	ncDateTime dt;

	mov	esi, DWORD PTR ___$ReturnUdt$[esp]
	xor	eax, eax

; 47   : 	dt.m_needMillisec = true;
; 48   : 	_ftime(&dt.m_time);

	push	esi
	mov	DWORD PTR [esi], eax
	mov	DWORD PTR [esi+4], eax
	mov	WORD PTR [esi+8], ax
	mov	BYTE PTR [esi+16], 1
	call	__ftime64
	add	esp, 4

; 49   : 	return dt;

	mov	eax, esi
	pop	esi

; 50   : }

	ret	0
?UNow@ncDateTime@@SA?AV1@XZ ENDP			; ncDateTime::UNow
_TEXT	ENDS
PUBLIC	?Today@ncDateTime@@SA?AV1@XZ			; ncDateTime::Today
; Function compile flags: /Ogtpy
;	COMDAT ?Today@ncDateTime@@SA?AV1@XZ
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
?Today@ncDateTime@@SA?AV1@XZ PROC			; ncDateTime::Today, COMDAT

; 52   : {

	push	ebx

; 53   : 	ncDateTime dt;

	xor	ebx, ebx
	push	esi
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+4]

; 54   : 	dt.m_time.time = time(NULL);

	push	ebx
	mov	BYTE PTR [esi+16], bl
	mov	DWORD PTR [esi], ebx
	mov	DWORD PTR [esi+4], ebx
	mov	WORD PTR [esi+8], bx
	call	__time64

; 55   : 	struct tm *timeinfo = dt.GetTimeInfo();

	push	esi
	mov	DWORD PTR [esi], eax
	mov	DWORD PTR [esi+4], edx
	call	__localtime64

; 56   : 	timeinfo->tm_hour = 0;
; 57   : 	timeinfo->tm_min = 0;
; 58   : 	timeinfo->tm_sec = 0;
; 59   : 	dt.m_time.time = mktime(timeinfo);

	push	eax
	mov	DWORD PTR [eax+8], ebx
	mov	DWORD PTR [eax+4], ebx
	mov	DWORD PTR [eax], ebx
	call	__mktime64
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [esi], eax
	mov	DWORD PTR [esi+4], edx

; 60   : 	return dt;

	mov	eax, esi
	pop	esi
	pop	ebx

; 61   : }

	ret	0
?Today@ncDateTime@@SA?AV1@XZ ENDP			; ncDateTime::Today
_TEXT	ENDS
PUBLIC	?SetToCurrent@ncDateTime@@QAEAAV1@XZ		; ncDateTime::SetToCurrent
; Function compile flags: /Ogtpy
;	COMDAT ?SetToCurrent@ncDateTime@@QAEAAV1@XZ
_TEXT	SEGMENT
?SetToCurrent@ncDateTime@@QAEAAV1@XZ PROC		; ncDateTime::SetToCurrent, COMDAT
; _this$ = ecx

; 63   : {

	push	esi
	mov	esi, ecx

; 64   : 	_ftime(&this->m_time);

	push	esi
	call	__ftime64
	add	esp, 4

; 65   : 	return *this;

	mov	eax, esi
	pop	esi

; 66   : }

	ret	0
?SetToCurrent@ncDateTime@@QAEAAV1@XZ ENDP		; ncDateTime::SetToCurrent
_TEXT	ENDS
PUBLIC	?ResetTime@ncDateTime@@QAEAAV1@XZ		; ncDateTime::ResetTime
; Function compile flags: /Ogtpy
;	COMDAT ?ResetTime@ncDateTime@@QAEAAV1@XZ
_TEXT	SEGMENT
?ResetTime@ncDateTime@@QAEAAV1@XZ PROC			; ncDateTime::ResetTime, COMDAT
; _this$ = ecx

; 68   : {

	push	esi
	mov	esi, ecx

; 69   : 	struct tm *timeinfo = this->GetTimeInfo();

	push	esi
	call	__localtime64

; 70   : 	timeinfo->tm_hour = 0;
; 71   : 	timeinfo->tm_min = 0;
; 72   : 	timeinfo->tm_sec = 0;
; 73   : 	this->m_time.time = mktime(timeinfo);

	push	eax
	mov	DWORD PTR [eax+8], 0
	mov	DWORD PTR [eax+4], 0
	mov	DWORD PTR [eax], 0
	call	__mktime64
	mov	DWORD PTR [esi], eax
	add	esp, 8
	mov	DWORD PTR [esi+4], edx

; 74   : 	this->m_time.millitm = 0;

	mov	WORD PTR [esi+8], 0

; 75   : 	return *this;

	mov	eax, esi
	pop	esi

; 76   : }

	ret	0
?ResetTime@ncDateTime@@QAEAAV1@XZ ENDP			; ncDateTime::ResetTime
_TEXT	ENDS
PUBLIC	?GetTm@ncDateTime@@QAEPAUtm@@XZ			; ncDateTime::GetTm
; Function compile flags: /Ogtpy
;	COMDAT ?GetTm@ncDateTime@@QAEPAUtm@@XZ
_TEXT	SEGMENT
?GetTm@ncDateTime@@QAEPAUtm@@XZ PROC			; ncDateTime::GetTm, COMDAT
; _this$ = ecx

; 79   : 	return localtime(&this->m_time.time);

	push	ecx
	call	__localtime64
	add	esp, 4

; 80   : }

	ret	0
?GetTm@ncDateTime@@QAEPAUtm@@XZ ENDP			; ncDateTime::GetTm
_TEXT	ENDS
PUBLIC	?GetTicks@ncDateTime@@QAE_JXZ			; ncDateTime::GetTicks
; Function compile flags: /Ogtpy
;	COMDAT ?GetTicks@ncDateTime@@QAE_JXZ
_TEXT	SEGMENT
?GetTicks@ncDateTime@@QAE_JXZ PROC			; ncDateTime::GetTicks, COMDAT
; _this$ = ecx

; 83   : 	return this->m_time.time;

	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [ecx+4]

; 84   : }

	ret	0
?GetTicks@ncDateTime@@QAE_JXZ ENDP			; ncDateTime::GetTicks
_TEXT	ENDS
PUBLIC	??4ncDateTime@@QAEAAV0@ABV0@@Z			; ncDateTime::operator=
; Function compile flags: /Ogtpy
;	COMDAT ??4ncDateTime@@QAEAAV0@ABV0@@Z
_TEXT	SEGMENT
_dt$ = 8						; size = 4
??4ncDateTime@@QAEAAV0@ABV0@@Z PROC			; ncDateTime::operator=, COMDAT
; _this$ = ecx

; 86   : {

	mov	eax, ecx

; 87   : 	this->m_time = dt.m_time;

	mov	ecx, DWORD PTR _dt$[esp-4]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR [eax], edx
	mov	edx, DWORD PTR [ecx+4]
	mov	DWORD PTR [eax+4], edx
	mov	edx, DWORD PTR [ecx+8]
	mov	DWORD PTR [eax+8], edx
	mov	ecx, DWORD PTR [ecx+12]
	mov	DWORD PTR [eax+12], ecx

; 88   : 	return *this;
; 89   : }

	ret	4
??4ncDateTime@@QAEAAV0@ABV0@@Z ENDP			; ncDateTime::operator=
_TEXT	ENDS
PUBLIC	??4ncDateTime@@QAEAAV0@PAUtm@@@Z		; ncDateTime::operator=
; Function compile flags: /Ogtpy
;	COMDAT ??4ncDateTime@@QAEAAV0@PAUtm@@@Z
_TEXT	SEGMENT
_timeinfo$ = 8						; size = 4
??4ncDateTime@@QAEAAV0@PAUtm@@@Z PROC			; ncDateTime::operator=, COMDAT
; _this$ = ecx

; 91   : {

	push	esi
	mov	esi, ecx

; 92   : 	if (!this->m_needMillisec)

	cmp	BYTE PTR [esi+16], 0
	jne	SHORT $LN1@operator

; 93   : 		this->m_time.millitm = 0;

	mov	WORD PTR [esi+8], 0
$LN1@operator:

; 94   : 	this->m_time.time = mktime(timeinfo);

	mov	eax, DWORD PTR _timeinfo$[esp]
	push	eax
	call	__mktime64
	mov	DWORD PTR [esi], eax
	add	esp, 4
	mov	DWORD PTR [esi+4], edx

; 95   : 	return *this;

	mov	eax, esi
	pop	esi

; 96   : }

	ret	4
??4ncDateTime@@QAEAAV0@PAUtm@@@Z ENDP			; ncDateTime::operator=
_TEXT	ENDS
PUBLIC	??8ncDateTime@@QAE_NABV0@@Z			; ncDateTime::operator==
; Function compile flags: /Ogtpy
;	COMDAT ??8ncDateTime@@QAE_NABV0@@Z
_TEXT	SEGMENT
_dt$ = 8						; size = 4
??8ncDateTime@@QAE_NABV0@@Z PROC			; ncDateTime::operator==, COMDAT
; _this$ = ecx

; 99   : 	return (this->m_time.time == dt.m_time.time && this->m_time.millitm == dt.m_time.millitm);

	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR _dt$[esp-4]
	cmp	edx, DWORD PTR [eax]
	jne	SHORT $LN3@operator@2
	mov	edx, DWORD PTR [ecx+4]
	cmp	edx, DWORD PTR [eax+4]
	jne	SHORT $LN3@operator@2
	mov	cx, WORD PTR [ecx+8]
	cmp	cx, WORD PTR [eax+8]
	jne	SHORT $LN3@operator@2
	mov	eax, 1

; 100  : }

	ret	4
$LN3@operator@2:

; 99   : 	return (this->m_time.time == dt.m_time.time && this->m_time.millitm == dt.m_time.millitm);

	xor	eax, eax

; 100  : }

	ret	4
??8ncDateTime@@QAE_NABV0@@Z ENDP			; ncDateTime::operator==
_TEXT	ENDS
PUBLIC	??MncDateTime@@QAE_NABV0@@Z			; ncDateTime::operator<
; Function compile flags: /Ogtpy
;	COMDAT ??MncDateTime@@QAE_NABV0@@Z
_TEXT	SEGMENT
_dt$ = 8						; size = 4
??MncDateTime@@QAE_NABV0@@Z PROC			; ncDateTime::operator<, COMDAT
; _this$ = ecx

; 103  : 	return (dt.m_time.time < this->m_time.time);

	mov	eax, DWORD PTR _dt$[esp-4]
	mov	edx, DWORD PTR [eax+4]
	cmp	edx, DWORD PTR [ecx+4]
	jg	SHORT $LN3@operator@3
	jl	SHORT $LN5@operator@3
	mov	eax, DWORD PTR [eax]
	cmp	eax, DWORD PTR [ecx]
	jae	SHORT $LN3@operator@3
$LN5@operator@3:
	mov	eax, 1

; 104  : }

	ret	4
$LN3@operator@3:

; 103  : 	return (dt.m_time.time < this->m_time.time);

	xor	eax, eax

; 104  : }

	ret	4
??MncDateTime@@QAE_NABV0@@Z ENDP			; ncDateTime::operator<
_TEXT	ENDS
PUBLIC	??NncDateTime@@QAE_NABV0@@Z			; ncDateTime::operator<=
; Function compile flags: /Ogtpy
;	COMDAT ??NncDateTime@@QAE_NABV0@@Z
_TEXT	SEGMENT
_dt$ = 8						; size = 4
??NncDateTime@@QAE_NABV0@@Z PROC			; ncDateTime::operator<=, COMDAT
; _this$ = ecx

; 107  : 	return (dt.m_time.time <= this->m_time.time);

	mov	eax, DWORD PTR _dt$[esp-4]
	mov	edx, DWORD PTR [eax+4]
	cmp	edx, DWORD PTR [ecx+4]
	jg	SHORT $LN3@operator@4
	jl	SHORT $LN5@operator@4
	mov	eax, DWORD PTR [eax]
	cmp	eax, DWORD PTR [ecx]
	ja	SHORT $LN3@operator@4
$LN5@operator@4:
	mov	eax, 1

; 108  : }

	ret	4
$LN3@operator@4:

; 107  : 	return (dt.m_time.time <= this->m_time.time);

	xor	eax, eax

; 108  : }

	ret	4
??NncDateTime@@QAE_NABV0@@Z ENDP			; ncDateTime::operator<=
_TEXT	ENDS
PUBLIC	??OncDateTime@@QAE_NABV0@@Z			; ncDateTime::operator>
; Function compile flags: /Ogtpy
;	COMDAT ??OncDateTime@@QAE_NABV0@@Z
_TEXT	SEGMENT
_dt$ = 8						; size = 4
??OncDateTime@@QAE_NABV0@@Z PROC			; ncDateTime::operator>, COMDAT
; _this$ = ecx

; 111  : 	return (dt.m_time.time > this->m_time.time);

	mov	eax, DWORD PTR _dt$[esp-4]
	mov	edx, DWORD PTR [eax+4]
	cmp	edx, DWORD PTR [ecx+4]
	jl	SHORT $LN3@operator@5
	jg	SHORT $LN5@operator@5
	mov	eax, DWORD PTR [eax]
	cmp	eax, DWORD PTR [ecx]
	jbe	SHORT $LN3@operator@5
$LN5@operator@5:
	mov	eax, 1

; 112  : }

	ret	4
$LN3@operator@5:

; 111  : 	return (dt.m_time.time > this->m_time.time);

	xor	eax, eax

; 112  : }

	ret	4
??OncDateTime@@QAE_NABV0@@Z ENDP			; ncDateTime::operator>
_TEXT	ENDS
PUBLIC	??PncDateTime@@QAE_NABV0@@Z			; ncDateTime::operator>=
; Function compile flags: /Ogtpy
;	COMDAT ??PncDateTime@@QAE_NABV0@@Z
_TEXT	SEGMENT
_dt$ = 8						; size = 4
??PncDateTime@@QAE_NABV0@@Z PROC			; ncDateTime::operator>=, COMDAT
; _this$ = ecx

; 115  : 	return (dt.m_time.time >= this->m_time.time);

	mov	eax, DWORD PTR _dt$[esp-4]
	mov	edx, DWORD PTR [eax+4]
	cmp	edx, DWORD PTR [ecx+4]
	jl	SHORT $LN3@operator@6
	jg	SHORT $LN5@operator@6
	mov	eax, DWORD PTR [eax]
	cmp	eax, DWORD PTR [ecx]
	jb	SHORT $LN3@operator@6
$LN5@operator@6:
	mov	eax, 1

; 116  : }

	ret	4
$LN3@operator@6:

; 115  : 	return (dt.m_time.time >= this->m_time.time);

	xor	eax, eax

; 116  : }

	ret	4
??PncDateTime@@QAE_NABV0@@Z ENDP			; ncDateTime::operator>=
_TEXT	ENDS
PUBLIC	?GetYear@ncDateTime@@QAEIXZ			; ncDateTime::GetYear
; Function compile flags: /Ogtpy
;	COMDAT ?GetYear@ncDateTime@@QAEIXZ
_TEXT	SEGMENT
?GetYear@ncDateTime@@QAEIXZ PROC			; ncDateTime::GetYear, COMDAT
; _this$ = ecx

; 119  : 	return this->GetTimeInfo()->tm_year + 1900;

	push	ecx
	call	__localtime64
	mov	eax, DWORD PTR [eax+20]
	add	esp, 4
	add	eax, 1900				; 0000076cH

; 120  : }

	ret	0
?GetYear@ncDateTime@@QAEIXZ ENDP			; ncDateTime::GetYear
_TEXT	ENDS
PUBLIC	?GetMonth@ncDateTime@@QAEIXZ			; ncDateTime::GetMonth
; Function compile flags: /Ogtpy
;	COMDAT ?GetMonth@ncDateTime@@QAEIXZ
_TEXT	SEGMENT
?GetMonth@ncDateTime@@QAEIXZ PROC			; ncDateTime::GetMonth, COMDAT
; _this$ = ecx

; 123  : 	return this->GetTimeInfo()->tm_mon + 1;

	push	ecx
	call	__localtime64
	mov	eax, DWORD PTR [eax+16]
	add	esp, 4
	add	eax, 1

; 124  : }

	ret	0
?GetMonth@ncDateTime@@QAEIXZ ENDP			; ncDateTime::GetMonth
_TEXT	ENDS
PUBLIC	?GetDay@ncDateTime@@QAEIXZ			; ncDateTime::GetDay
; Function compile flags: /Ogtpy
;	COMDAT ?GetDay@ncDateTime@@QAEIXZ
_TEXT	SEGMENT
?GetDay@ncDateTime@@QAEIXZ PROC				; ncDateTime::GetDay, COMDAT
; _this$ = ecx

; 127  : 	return this->GetTimeInfo()->tm_mday;

	push	ecx
	call	__localtime64
	mov	eax, DWORD PTR [eax+12]
	add	esp, 4

; 128  : }

	ret	0
?GetDay@ncDateTime@@QAEIXZ ENDP				; ncDateTime::GetDay
_TEXT	ENDS
PUBLIC	?GetHour@ncDateTime@@QAEIXZ			; ncDateTime::GetHour
; Function compile flags: /Ogtpy
;	COMDAT ?GetHour@ncDateTime@@QAEIXZ
_TEXT	SEGMENT
?GetHour@ncDateTime@@QAEIXZ PROC			; ncDateTime::GetHour, COMDAT
; _this$ = ecx

; 131  : 	return this->GetTimeInfo()->tm_hour;

	push	ecx
	call	__localtime64
	mov	eax, DWORD PTR [eax+8]
	add	esp, 4

; 132  : }

	ret	0
?GetHour@ncDateTime@@QAEIXZ ENDP			; ncDateTime::GetHour
_TEXT	ENDS
PUBLIC	?GetMinute@ncDateTime@@QAEIXZ			; ncDateTime::GetMinute
; Function compile flags: /Ogtpy
;	COMDAT ?GetMinute@ncDateTime@@QAEIXZ
_TEXT	SEGMENT
?GetMinute@ncDateTime@@QAEIXZ PROC			; ncDateTime::GetMinute, COMDAT
; _this$ = ecx

; 135  : 	return this->GetTimeInfo()->tm_min;

	push	ecx
	call	__localtime64
	mov	eax, DWORD PTR [eax+4]
	add	esp, 4

; 136  : }

	ret	0
?GetMinute@ncDateTime@@QAEIXZ ENDP			; ncDateTime::GetMinute
_TEXT	ENDS
PUBLIC	?GetSecond@ncDateTime@@QAEIXZ			; ncDateTime::GetSecond
; Function compile flags: /Ogtpy
;	COMDAT ?GetSecond@ncDateTime@@QAEIXZ
_TEXT	SEGMENT
?GetSecond@ncDateTime@@QAEIXZ PROC			; ncDateTime::GetSecond, COMDAT
; _this$ = ecx

; 139  : 	return this->GetTimeInfo()->tm_sec;

	push	ecx
	call	__localtime64
	mov	eax, DWORD PTR [eax]
	add	esp, 4

; 140  : }

	ret	0
?GetSecond@ncDateTime@@QAEIXZ ENDP			; ncDateTime::GetSecond
_TEXT	ENDS
PUBLIC	?GetMillisecond@ncDateTime@@QAEGXZ		; ncDateTime::GetMillisecond
; Function compile flags: /Ogtpy
;	COMDAT ?GetMillisecond@ncDateTime@@QAEGXZ
_TEXT	SEGMENT
?GetMillisecond@ncDateTime@@QAEGXZ PROC			; ncDateTime::GetMillisecond, COMDAT
; _this$ = ecx

; 143  : 	return this->m_time.millitm;

	mov	ax, WORD PTR [ecx+8]

; 144  : }

	ret	0
?GetMillisecond@ncDateTime@@QAEGXZ ENDP			; ncDateTime::GetMillisecond
_TEXT	ENDS
PUBLIC	?GetWeekDay@ncDateTime@@QAEHXZ			; ncDateTime::GetWeekDay
; Function compile flags: /Ogtpy
;	COMDAT ?GetWeekDay@ncDateTime@@QAEHXZ
_TEXT	SEGMENT
?GetWeekDay@ncDateTime@@QAEHXZ PROC			; ncDateTime::GetWeekDay, COMDAT
; _this$ = ecx

; 147  : 	return this->GetTm()->tm_wday;

	push	ecx
	call	__localtime64
	mov	eax, DWORD PTR [eax+24]
	add	esp, 4

; 148  : }

	ret	0
?GetWeekDay@ncDateTime@@QAEHXZ ENDP			; ncDateTime::GetWeekDay
_TEXT	ENDS
PUBLIC	?GetDayOfYear@ncDateTime@@QAEHXZ		; ncDateTime::GetDayOfYear
; Function compile flags: /Ogtpy
;	COMDAT ?GetDayOfYear@ncDateTime@@QAEHXZ
_TEXT	SEGMENT
?GetDayOfYear@ncDateTime@@QAEHXZ PROC			; ncDateTime::GetDayOfYear, COMDAT
; _this$ = ecx

; 151  : 	return this->GetTm()->tm_yday;

	push	ecx
	call	__localtime64
	mov	eax, DWORD PTR [eax+28]
	add	esp, 4

; 152  : }

	ret	0
?GetDayOfYear@ncDateTime@@QAEHXZ ENDP			; ncDateTime::GetDayOfYear
_TEXT	ENDS
PUBLIC	?GetWeekOfYear@ncDateTime@@QAEHXZ		; ncDateTime::GetWeekOfYear
; Function compile flags: /Ogtpy
;	COMDAT ?GetWeekOfYear@ncDateTime@@QAEHXZ
_TEXT	SEGMENT
?GetWeekOfYear@ncDateTime@@QAEHXZ PROC			; ncDateTime::GetWeekOfYear, COMDAT
; _this$ = ecx

; 155  : 	return (this->GetTm()->tm_yday / 7);

	push	ecx
	call	__localtime64
	mov	ecx, DWORD PTR [eax+28]
	mov	eax, -1840700269			; 92492493H
	imul	ecx
	add	edx, ecx
	sar	edx, 2
	mov	eax, edx
	shr	eax, 31					; 0000001fH
	add	esp, 4
	add	eax, edx

; 156  : }

	ret	0
?GetWeekOfYear@ncDateTime@@QAEHXZ ENDP			; ncDateTime::GetWeekOfYear
_TEXT	ENDS
PUBLIC	?SetYear@ncDateTime@@QAEAAV1@I@Z		; ncDateTime::SetYear
; Function compile flags: /Ogtpy
;	COMDAT ?SetYear@ncDateTime@@QAEAAV1@I@Z
_TEXT	SEGMENT
_year$ = 8						; size = 4
?SetYear@ncDateTime@@QAEAAV1@I@Z PROC			; ncDateTime::SetYear, COMDAT
; _this$ = ecx

; 158  : {

	push	esi
	mov	esi, ecx

; 159  : 	struct tm* timeinfo = this->GetTimeInfo();

	push	esi
	call	__localtime64

; 160  : 	timeinfo->tm_year = year - 1900;

	mov	ecx, DWORD PTR _year$[esp+4]
	add	ecx, -1900				; fffff894H

; 161  : 	this->m_time.time = mktime(timeinfo);

	push	eax
	mov	DWORD PTR [eax+20], ecx
	call	__mktime64
	mov	DWORD PTR [esi], eax
	add	esp, 8
	mov	DWORD PTR [esi+4], edx

; 162  : 	return *this;

	mov	eax, esi
	pop	esi

; 163  : }

	ret	4
?SetYear@ncDateTime@@QAEAAV1@I@Z ENDP			; ncDateTime::SetYear
_TEXT	ENDS
PUBLIC	?SetMonth@ncDateTime@@QAEAAV1@I@Z		; ncDateTime::SetMonth
; Function compile flags: /Ogtpy
;	COMDAT ?SetMonth@ncDateTime@@QAEAAV1@I@Z
_TEXT	SEGMENT
_month$ = 8						; size = 4
?SetMonth@ncDateTime@@QAEAAV1@I@Z PROC			; ncDateTime::SetMonth, COMDAT
; _this$ = ecx

; 165  : {

	push	esi
	push	edi

; 166  : 	if (month > 0 && month <= 12)

	mov	edi, DWORD PTR _month$[esp+4]
	lea	eax, DWORD PTR [edi-1]
	cmp	eax, 11					; 0000000bH
	mov	esi, ecx
	ja	SHORT $LN10@SetMonth

; 167  : 	{
; 168  : 		struct tm* timeinfo = this->GetTimeInfo();

	push	esi
	call	__localtime64

; 169  : 		timeinfo->tm_mon = month - 1;

	add	edi, -1

; 170  : 		this->m_time.time = mktime(timeinfo);

	push	eax
	mov	DWORD PTR [eax+16], edi
	call	__mktime64
	add	esp, 8
	mov	DWORD PTR [esi], eax
	mov	DWORD PTR [esi+4], edx
$LN10@SetMonth:
	pop	edi

; 171  : 	}
; 172  : 	return *this;

	mov	eax, esi
	pop	esi

; 173  : }

	ret	4
?SetMonth@ncDateTime@@QAEAAV1@I@Z ENDP			; ncDateTime::SetMonth
_TEXT	ENDS
PUBLIC	?SetDay@ncDateTime@@QAEAAV1@I@Z			; ncDateTime::SetDay
; Function compile flags: /Ogtpy
;	COMDAT ?SetDay@ncDateTime@@QAEAAV1@I@Z
_TEXT	SEGMENT
_day$ = 8						; size = 4
?SetDay@ncDateTime@@QAEAAV1@I@Z PROC			; ncDateTime::SetDay, COMDAT
; _this$ = ecx

; 175  : {

	push	esi
	push	edi

; 176  : 	if (day > 0 && day <= 31)

	mov	edi, DWORD PTR _day$[esp+4]
	lea	eax, DWORD PTR [edi-1]
	cmp	eax, 30					; 0000001eH
	mov	esi, ecx
	ja	SHORT $LN9@SetDay

; 177  : 	{
; 178  : 		struct tm* timeinfo = this->GetTimeInfo();

	push	esi
	call	__localtime64

; 179  : 		switch ((timeinfo->tm_mon + 1))

	mov	ecx, DWORD PTR [eax+16]
	add	ecx, -1
	add	esp, 4
	cmp	ecx, 9
	ja	SHORT $LN1@SetDay
	movzx	ecx, BYTE PTR $LN18@SetDay[ecx]
	jmp	DWORD PTR $LN20@SetDay[ecx*4]
$LN6@SetDay:

; 180  : 		{
; 181  : 			case 2:
; 182  : 				if (((timeinfo->tm_year % 4) == 0 && day > 29) || // Leap year
; 183  : 					((timeinfo->tm_year % 4) > 0 && day > 28))

	mov	ecx, DWORD PTR [eax+20]
	and	ecx, -2147483645			; 80000003H
	jns	SHORT $LN19@SetDay
	dec	ecx
	or	ecx, -4					; fffffffcH
	inc	ecx
$LN19@SetDay:
	jne	SHORT $LN3@SetDay
	cmp	edi, 29					; 0000001dH
	ja	SHORT $LN9@SetDay
$LN3@SetDay:
	test	ecx, ecx
	jle	SHORT $LN1@SetDay
	cmp	edi, 28					; 0000001cH
	jbe	SHORT $LN1@SetDay
	pop	edi

; 200  : 	}
; 201  : 	return *this;

	mov	eax, esi
	pop	esi

; 202  : }

	ret	4
$LN2@SetDay:

; 184  : 				{
; 185  : 					return *this;
; 186  : 				}
; 187  : 				break;
; 188  : 				
; 189  : 			// Months with 30 days
; 190  : 			case 4:
; 191  : 			case 6:
; 192  : 			case 9:
; 193  : 			case 11:
; 194  : 				if (day > 30)

	cmp	edi, 30					; 0000001eH

; 195  : 					return *this;

	ja	SHORT $LN9@SetDay
$LN1@SetDay:

; 196  : 				break;
; 197  : 		}
; 198  : 		timeinfo->tm_mday = day;
; 199  : 		this->m_time.time = mktime(timeinfo);

	push	eax
	mov	DWORD PTR [eax+12], edi
	call	__mktime64
	add	esp, 4
	mov	DWORD PTR [esi], eax
	mov	DWORD PTR [esi+4], edx
$LN9@SetDay:
	pop	edi

; 200  : 	}
; 201  : 	return *this;

	mov	eax, esi
	pop	esi

; 202  : }

	ret	4
	npad	2
$LN20@SetDay:
	DD	$LN6@SetDay
	DD	$LN2@SetDay
	DD	$LN1@SetDay
$LN18@SetDay:
	DB	0
	DB	2
	DB	1
	DB	2
	DB	1
	DB	2
	DB	2
	DB	1
	DB	2
	DB	1
?SetDay@ncDateTime@@QAEAAV1@I@Z ENDP			; ncDateTime::SetDay
_TEXT	ENDS
PUBLIC	?SetHour@ncDateTime@@QAEAAV1@I@Z		; ncDateTime::SetHour
; Function compile flags: /Ogtpy
;	COMDAT ?SetHour@ncDateTime@@QAEAAV1@I@Z
_TEXT	SEGMENT
_hour$ = 8						; size = 4
?SetHour@ncDateTime@@QAEAAV1@I@Z PROC			; ncDateTime::SetHour, COMDAT
; _this$ = ecx

; 204  : {

	push	esi
	push	edi

; 205  : 	if (hour < 24)

	mov	edi, DWORD PTR _hour$[esp+4]
	cmp	edi, 24					; 00000018H
	mov	esi, ecx
	jae	SHORT $LN10@SetHour

; 206  : 	{
; 207  : 		struct tm* timeinfo = this->GetTimeInfo();

	push	esi
	call	__localtime64

; 208  : 		timeinfo->tm_hour = hour;
; 209  : 		this->m_time.time = mktime(timeinfo);

	push	eax
	mov	DWORD PTR [eax+8], edi
	call	__mktime64
	add	esp, 8
	mov	DWORD PTR [esi], eax
	mov	DWORD PTR [esi+4], edx
$LN10@SetHour:
	pop	edi

; 210  : 	}
; 211  : 	return *this;

	mov	eax, esi
	pop	esi

; 212  : }

	ret	4
?SetHour@ncDateTime@@QAEAAV1@I@Z ENDP			; ncDateTime::SetHour
_TEXT	ENDS
PUBLIC	?SetMinute@ncDateTime@@QAEAAV1@I@Z		; ncDateTime::SetMinute
; Function compile flags: /Ogtpy
;	COMDAT ?SetMinute@ncDateTime@@QAEAAV1@I@Z
_TEXT	SEGMENT
_minute$ = 8						; size = 4
?SetMinute@ncDateTime@@QAEAAV1@I@Z PROC			; ncDateTime::SetMinute, COMDAT
; _this$ = ecx

; 214  : {

	push	esi
	push	edi

; 215  : 	if (minute < 60)

	mov	edi, DWORD PTR _minute$[esp+4]
	cmp	edi, 60					; 0000003cH
	mov	esi, ecx
	jae	SHORT $LN10@SetMinute

; 216  : 	{
; 217  : 		struct tm* timeinfo = this->GetTimeInfo();

	push	esi
	call	__localtime64

; 218  : 		timeinfo->tm_min = minute;
; 219  : 		this->m_time.time = mktime(timeinfo);

	push	eax
	mov	DWORD PTR [eax+4], edi
	call	__mktime64
	add	esp, 8
	mov	DWORD PTR [esi], eax
	mov	DWORD PTR [esi+4], edx
$LN10@SetMinute:
	pop	edi

; 220  : 	}
; 221  : 	return *this;

	mov	eax, esi
	pop	esi

; 222  : }

	ret	4
?SetMinute@ncDateTime@@QAEAAV1@I@Z ENDP			; ncDateTime::SetMinute
_TEXT	ENDS
PUBLIC	?SetSecond@ncDateTime@@QAEAAV1@I@Z		; ncDateTime::SetSecond
; Function compile flags: /Ogtpy
;	COMDAT ?SetSecond@ncDateTime@@QAEAAV1@I@Z
_TEXT	SEGMENT
_sec$ = 8						; size = 4
?SetSecond@ncDateTime@@QAEAAV1@I@Z PROC			; ncDateTime::SetSecond, COMDAT
; _this$ = ecx

; 224  : {

	push	esi
	push	edi

; 225  : 	if (sec < 60)

	mov	edi, DWORD PTR _sec$[esp+4]
	cmp	edi, 60					; 0000003cH
	mov	esi, ecx
	jae	SHORT $LN10@SetSecond

; 226  : 	{
; 227  : 		struct tm* timeinfo = this->GetTimeInfo();

	push	esi
	call	__localtime64

; 228  : 		timeinfo->tm_sec = sec;
; 229  : 		this->m_time.time = mktime(timeinfo);

	push	eax
	mov	DWORD PTR [eax], edi
	call	__mktime64
	add	esp, 8
	mov	DWORD PTR [esi], eax
	mov	DWORD PTR [esi+4], edx
$LN10@SetSecond:
	pop	edi

; 230  : 	}
; 231  : 	return *this;

	mov	eax, esi
	pop	esi

; 232  : }

	ret	4
?SetSecond@ncDateTime@@QAEAAV1@I@Z ENDP			; ncDateTime::SetSecond
_TEXT	ENDS
PUBLIC	?SetMillisecond@ncDateTime@@QAEAAV1@G@Z		; ncDateTime::SetMillisecond
; Function compile flags: /Ogtpy
;	COMDAT ?SetMillisecond@ncDateTime@@QAEAAV1@G@Z
_TEXT	SEGMENT
_ms$ = 8						; size = 2
?SetMillisecond@ncDateTime@@QAEAAV1@G@Z PROC		; ncDateTime::SetMillisecond, COMDAT
; _this$ = ecx

; 234  : {

	mov	eax, ecx

; 235  : 	if (this->m_needMillisec && ms < 1000)

	cmp	BYTE PTR [eax+16], 0
	je	SHORT $LN1@SetMillise
	mov	cx, WORD PTR _ms$[esp-4]
	cmp	cx, 1000				; 000003e8H
	jae	SHORT $LN1@SetMillise

; 236  : 		this->m_time.millitm = ms;

	mov	WORD PTR [eax+8], cx
$LN1@SetMillise:

; 237  : 	return *this;
; 238  : }

	ret	4
?SetMillisecond@ncDateTime@@QAEAAV1@G@Z ENDP		; ncDateTime::SetMillisecond
_TEXT	ENDS
PUBLIC	??_C@_0BA@GOMKKEED@Invalid_WeekDay?$AA@		; `string'
PUBLIC	?GetWeekDayName@ncDateTime@@QAEPBDI_N@Z		; ncDateTime::GetWeekDayName
;	COMDAT ??_C@_0BA@GOMKKEED@Invalid_WeekDay?$AA@
CONST	SEGMENT
??_C@_0BA@GOMKKEED@Invalid_WeekDay?$AA@ DB 'Invalid_WeekDay', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetWeekDayName@ncDateTime@@QAEPBDI_N@Z
_TEXT	SEGMENT
_wday$ = 8						; size = 4
_abbr$ = 12						; size = 1
?GetWeekDayName@ncDateTime@@QAEPBDI_N@Z PROC		; ncDateTime::GetWeekDayName, COMDAT
; _this$ = ecx

; 241  : 	if (wday == 0 || wday > 7)

	mov	eax, DWORD PTR _wday$[esp-4]
	test	eax, eax
	je	SHORT $LN1@GetWeekDay
	cmp	eax, 7
	ja	SHORT $LN1@GetWeekDay

; 243  : 	return this->m_weekDayName[(wday - 1)][abbr];

	movzx	ecx, BYTE PTR _abbr$[esp-4]
	lea	edx, DWORD PTR [ecx+eax*2]
	mov	eax, DWORD PTR ?m_weekDayName@ncDateTime@@0PAY01PBDA[edx*4-8]

; 244  : }

	ret	8
$LN1@GetWeekDay:

; 242  : 		return "Invalid_WeekDay";

	mov	eax, OFFSET ??_C@_0BA@GOMKKEED@Invalid_WeekDay?$AA@

; 244  : }

	ret	8
?GetWeekDayName@ncDateTime@@QAEPBDI_N@Z ENDP		; ncDateTime::GetWeekDayName
_TEXT	ENDS
PUBLIC	??_C@_0O@FIDFIJKI@Invalid_Month?$AA@		; `string'
PUBLIC	?GetMonthName@ncDateTime@@QAEPBDI_N@Z		; ncDateTime::GetMonthName
;	COMDAT ??_C@_0O@FIDFIJKI@Invalid_Month?$AA@
CONST	SEGMENT
??_C@_0O@FIDFIJKI@Invalid_Month?$AA@ DB 'Invalid_Month', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetMonthName@ncDateTime@@QAEPBDI_N@Z
_TEXT	SEGMENT
_month$ = 8						; size = 4
_abbr$ = 12						; size = 1
?GetMonthName@ncDateTime@@QAEPBDI_N@Z PROC		; ncDateTime::GetMonthName, COMDAT
; _this$ = ecx

; 247  : 	if (month == 0 || month > 12)

	mov	eax, DWORD PTR _month$[esp-4]
	test	eax, eax
	je	SHORT $LN1@GetMonthNa
	cmp	eax, 12					; 0000000cH
	ja	SHORT $LN1@GetMonthNa

; 249  : 	return this->m_monthName[(month - 1)][abbr];

	movzx	ecx, BYTE PTR _abbr$[esp-4]
	lea	edx, DWORD PTR [ecx+eax*2]
	mov	eax, DWORD PTR ?m_monthName@ncDateTime@@0PAY01PBDA[edx*4-8]

; 250  : }

	ret	8
$LN1@GetMonthNa:

; 248  : 		return "Invalid_Month";

	mov	eax, OFFSET ??_C@_0O@FIDFIJKI@Invalid_Month?$AA@

; 250  : }

	ret	8
?GetMonthName@ncDateTime@@QAEPBDI_N@Z ENDP		; ncDateTime::GetMonthName
_TEXT	ENDS
PUBLIC	??_C@_02EMFKHFLK@?$CFX?$AA@			; `string'
PUBLIC	??_C@_02NJNOFBBI@?$CFx?$AA@			; `string'
PUBLIC	??_C@_04BANHNAJH@?$CF003?$AA@			; `string'
PUBLIC	??_C@_04OCCELDNI@?$CF04d?$AA@			; `string'
PUBLIC	??_C@_05NDLIAKIC@?$CF04hu?$AA@			; `string'
PUBLIC	??_C@_02CJNFDJBF@PM?$AA@			; `string'
PUBLIC	??_C@_02DEDBPAFC@AM?$AA@			; `string'
PUBLIC	??_C@_04OGKJMPGK@?$CF02d?$AA@			; `string'
PUBLIC	??_C@_02HAOIJKIC@?$CFc?$AA@			; `string'
PUBLIC	?Format@ncDateTime@@QAE?AVncString2@@PBD@Z	; ncDateTime::Format
EXTRN	___tzname:PROC
EXTRN	__tzset:PROC
EXTRN	?Format@ncString2@@SA?AV1@PBDZZ:PROC		; ncString2::Format
EXTRN	??0ncString2@@QAE@H@Z:PROC			; ncString2::ncString2
EXTRN	_strftime:PROC
EXTRN	??0ncString2@@QAE@PBD@Z:PROC			; ncString2::ncString2
EXTRN	??YncString2@@QAEAAV0@ABV0@@Z:PROC		; ncString2::operator+=
EXTRN	??0ncString2@@QAE@D@Z:PROC			; ncString2::ncString2
EXTRN	??0ncString2@@QAE@XZ:PROC			; ncString2::ncString2
EXTRN	___CxxFrameHandler3:PROC
;	COMDAT ??_C@_02EMFKHFLK@?$CFX?$AA@
; File d:\source code\nc lib\ncstring2.h
CONST	SEGMENT
??_C@_02EMFKHFLK@?$CFX?$AA@ DB '%X', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_02NJNOFBBI@?$CFx?$AA@
CONST	SEGMENT
??_C@_02NJNOFBBI@?$CFx?$AA@ DB '%x', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_04BANHNAJH@?$CF003?$AA@
CONST	SEGMENT
??_C@_04BANHNAJH@?$CF003?$AA@ DB '%003', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_04OCCELDNI@?$CF04d?$AA@
CONST	SEGMENT
??_C@_04OCCELDNI@?$CF04d?$AA@ DB '%04d', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_05NDLIAKIC@?$CF04hu?$AA@
CONST	SEGMENT
??_C@_05NDLIAKIC@?$CF04hu?$AA@ DB '%04hu', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_02CJNFDJBF@PM?$AA@
CONST	SEGMENT
??_C@_02CJNFDJBF@PM?$AA@ DB 'PM', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_02DEDBPAFC@AM?$AA@
CONST	SEGMENT
??_C@_02DEDBPAFC@AM?$AA@ DB 'AM', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_04OGKJMPGK@?$CF02d?$AA@
CONST	SEGMENT
??_C@_04OGKJMPGK@?$CF02d?$AA@ DB '%02d', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_02HAOIJKIC@?$CFc?$AA@
CONST	SEGMENT
??_C@_02HAOIJKIC@?$CFc?$AA@ DB '%c', 00H		; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z DD 019930522H
	DD	019H
	DD	FLAT:__unwindtable$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$1
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$2
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$3
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$4
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$5
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$6
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$7
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$8
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$9
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$10
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$11
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$12
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$13
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$14
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$15
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$16
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$17
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$18
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$19
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$20
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$21
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$22
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$23
	DD	00H
	DD	FLAT:__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$24
; Function compile flags: /Ogtpy
; File d:\source code\nc lib\ncdatetime.cpp
xdata$x	ENDS
;	COMDAT ?Format@ncDateTime@@QAE?AVncString2@@PBD@Z
_TEXT	SEGMENT
_strptr$38416 = -296					; size = 4
_this$ = -292						; size = 4
$T42357 = -288						; size = 8
$T42359 = -280						; size = 8
$T42334 = -272						; size = 8
$T42342 = -264						; size = 8
$T42336 = -256						; size = 8
$T42355 = -248						; size = 8
$T42338 = -240						; size = 8
$T42356 = -232						; size = 8
$T42340 = -224						; size = 8
$T42361 = -216						; size = 4
$T42339 = -212						; size = 8
$T42358 = -204						; size = 8
$T42337 = -196						; size = 8
$T42335 = -188						; size = 8
$T42341 = -180						; size = 8
$T42350 = -172						; size = 8
$T42345 = -164						; size = 8
$T42351 = -156						; size = 8
$T42347 = -148						; size = 8
$T42352 = -140						; size = 8
$T42349 = -132						; size = 8
$T42353 = -124						; size = 8
$T42348 = -116						; size = 8
$T42354 = -108						; size = 8
$T42346 = -100						; size = 8
_fmt$38424 = -92					; size = 80
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_format$ = 12						; size = 4
?Format@ncDateTime@@QAE?AVncString2@@PBD@Z PROC		; ncDateTime::Format, COMDAT
; _this$ = ecx

; 252  : {

	push	-1
	push	__ehhandler$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 284				; 0000011cH
	push	ebx
	xor	ebx, ebx
	push	esi
	mov	DWORD PTR $T42361[esp+304], ebx

; 253  : 	ncString2 ret;

	mov	esi, DWORD PTR ___$ReturnUdt$[esp+300]
	mov	DWORD PTR _this$[esp+304], ecx
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+312], ebx
	call	??0ncString2@@QAE@XZ			; ncString2::ncString2

; 362  : 				break;
; 363  : 		}
; 364  : 	}
; 365  : 	return ret;

	mov	eax, DWORD PTR _format$[esp+300]
	cmp	BYTE PTR [eax], bl
	mov	DWORD PTR __$EHRec$[esp+312], ebx
	mov	DWORD PTR $T42361[esp+304], 1
	mov	ecx, eax
	mov	DWORD PTR _strptr$38416[esp+304], eax
	je	$LN141@Format
	push	ebp
	mov	ebp, OFFSET ??_7ncString2@@6B@
	push	edi
$LL142@Format:
	movzx	eax, BYTE PTR [ecx]
	cmp	al, 37					; 00000025H
	je	SHORT $LN26@Format
	push	eax
	lea	ecx, DWORD PTR $T42334[esp+316]
	call	??0ncString2@@QAE@D@Z			; ncString2::ncString2
	lea	eax, DWORD PTR $T42334[esp+312]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 1
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42334[esp+312], ebp
	lea	ecx, DWORD PTR $T42334[esp+312]
	jmp	$LN146@Format
$LN26@Format:

; 254  : 	for (register char *strptr = (char *)format; *strptr; *strptr++)
; 255  : 	{
; 256  : 		if (*strptr != '%')
; 257  : 		{
; 258  : 			ret += *strptr;
; 259  : 			continue;
; 260  : 		}
; 261  : 
; 262  : 		*strptr++;

	add	ecx, 1

; 263  : 		if (!*strptr)

	cmp	BYTE PTR [ecx], bl
	mov	DWORD PTR _strptr$38416[esp+312], ecx
	je	$LN140@Format

; 264  : 			break;
; 265  : 
; 266  : 		char fmt[80];
; 267  : 		struct tm* timeinfo = this->GetTm();

	mov	ecx, DWORD PTR _this$[esp+312]
	push	ecx
	call	__localtime64

; 268  : 		switch (*strptr)

	mov	edx, DWORD PTR _strptr$38416[esp+316]
	mov	edi, eax
	movsx	eax, BYTE PTR [edx]
	add	eax, -65				; ffffffbfH
	add	esp, 4
	cmp	eax, 57					; 00000039H
	ja	$LN1@Format
	movzx	eax, BYTE PTR $LN139@Format[eax]
	jmp	DWORD PTR $LN147@Format[eax*4]
$LN22@Format:

; 269  : 		{
; 270  : 			case 'a': // Weekday abbr. name
; 271  : 				ret += this->m_weekDayName[timeinfo->tm_wday][1];

	mov	ecx, DWORD PTR [edi+24]
	mov	edx, DWORD PTR ?m_weekDayName@ncDateTime@@0PAY01PBDA[ecx*8+4]
	push	edx
	lea	ecx, DWORD PTR $T42335[esp+316]
	call	??0ncString2@@QAE@PBD@Z			; ncString2::ncString2
	lea	eax, DWORD PTR $T42335[esp+312]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 2
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42335[esp+312], ebp
	lea	ecx, DWORD PTR $T42335[esp+312]

; 272  : 				break;

	jmp	$LN146@Format
$LN21@Format:

; 273  : 
; 274  : 			case 'A': // Weekday name
; 275  : 				ret += this->m_weekDayName[timeinfo->tm_wday][0];

	mov	ecx, DWORD PTR [edi+24]
	mov	edx, DWORD PTR ?m_weekDayName@ncDateTime@@0PAY01PBDA[ecx*8]
	push	edx
	lea	ecx, DWORD PTR $T42336[esp+316]
	call	??0ncString2@@QAE@PBD@Z			; ncString2::ncString2
	lea	eax, DWORD PTR $T42336[esp+312]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 3
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42336[esp+312], ebp
	lea	ecx, DWORD PTR $T42336[esp+312]

; 276  : 				break;

	jmp	$LN146@Format
$LN20@Format:

; 277  : 
; 278  : 			case 'b': // Month abbr. name
; 279  : 				ret += this->m_monthName[timeinfo->tm_mon][1];

	mov	ecx, DWORD PTR [edi+16]
	mov	edx, DWORD PTR ?m_monthName@ncDateTime@@0PAY01PBDA[ecx*8+4]
	push	edx
	lea	ecx, DWORD PTR $T42337[esp+316]
	call	??0ncString2@@QAE@PBD@Z			; ncString2::ncString2
	lea	eax, DWORD PTR $T42337[esp+312]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 4
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42337[esp+312], ebp
	lea	ecx, DWORD PTR $T42337[esp+312]

; 280  : 				break;

	jmp	$LN146@Format
$LN19@Format:

; 281  : 
; 282  : 			case 'B': // Month name
; 283  : 				ret += this->m_monthName[timeinfo->tm_mon][0];

	mov	ecx, DWORD PTR [edi+16]
	mov	edx, DWORD PTR ?m_monthName@ncDateTime@@0PAY01PBDA[ecx*8]
	push	edx
	lea	ecx, DWORD PTR $T42338[esp+316]
	call	??0ncString2@@QAE@PBD@Z			; ncString2::ncString2
	lea	eax, DWORD PTR $T42338[esp+312]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 5
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42338[esp+312], ebp
	lea	ecx, DWORD PTR $T42338[esp+312]

; 284  : 				break;

	jmp	$LN146@Format
$LN18@Format:

; 285  : 
; 286  : 			case 'c': // Date and time - locale format
; 287  : 				strftime(fmt, sizeof(fmt), "%c", timeinfo);

	push	edi
	push	OFFSET ??_C@_02HAOIJKIC@?$CFc?$AA@
	lea	ecx, DWORD PTR _fmt$38424[esp+320]
	push	80					; 00000050H
	push	ecx
	call	_strftime
	add	esp, 16					; 00000010H

; 288  : 				ret += fmt;

	lea	edx, DWORD PTR _fmt$38424[esp+312]
	push	edx
	lea	ecx, DWORD PTR $T42339[esp+316]
	call	??0ncString2@@QAE@PBD@Z			; ncString2::ncString2
	lea	eax, DWORD PTR $T42339[esp+312]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 6
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42339[esp+312], ebp
	lea	ecx, DWORD PTR $T42339[esp+312]

; 289  : 				break;

	jmp	$LN146@Format
$LN17@Format:

; 290  : 
; 291  : 			case 'w': // Weekday number since sunday
; 292  : 				ret += timeinfo->tm_wday;

	mov	ecx, DWORD PTR [edi+24]
	push	ecx
	lea	ecx, DWORD PTR $T42340[esp+316]
	call	??0ncString2@@QAE@H@Z			; ncString2::ncString2
	lea	edx, DWORD PTR $T42340[esp+312]
	push	edx
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 7
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42340[esp+312], ebp
	lea	ecx, DWORD PTR $T42340[esp+312]

; 293  : 				break;

	jmp	$LN146@Format
$LN16@Format:

; 294  : 
; 295  : 			case 'W': // Week number since Jan, 1
; 296  : 				ret += ncString2::Format("%02d", timeinfo->tm_yday / 7);

	mov	edi, DWORD PTR [edi+28]
	mov	eax, -1840700269			; 92492493H
	imul	edi
	add	edx, edi
	sar	edx, 2
	mov	eax, edx
	shr	eax, 31					; 0000001fH
	add	eax, edx
	push	eax
	lea	ecx, DWORD PTR $T42341[esp+316]
	push	OFFSET ??_C@_04OGKJMPGK@?$CF02d?$AA@
	push	ecx
	call	?Format@ncString2@@SA?AV1@PBDZZ		; ncString2::Format
	add	esp, 12					; 0000000cH
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 8
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42341[esp+312], ebp
	lea	ecx, DWORD PTR $T42341[esp+312]

; 297  : 				break;

	jmp	$LN146@Format
$LN15@Format:

; 298  : 
; 299  : 			case 'p': // AM or PM
; 300  : 				ret += (timeinfo->tm_hour < 12) ? "AM" : "PM";

	cmp	DWORD PTR [edi+8], 12			; 0000000cH
	mov	eax, OFFSET ??_C@_02DEDBPAFC@AM?$AA@
	jl	SHORT $LN33@Format
	mov	eax, OFFSET ??_C@_02CJNFDJBF@PM?$AA@
$LN33@Format:
	push	eax
	lea	ecx, DWORD PTR $T42342[esp+316]
	call	??0ncString2@@QAE@PBD@Z			; ncString2::ncString2
	lea	edx, DWORD PTR $T42342[esp+312]
	push	edx
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 9
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42342[esp+312], ebp
	lea	ecx, DWORD PTR $T42342[esp+312]

; 301  : 				break;

	jmp	$LN146@Format
$LN14@Format:

; 302  : 
; 303  : 			case 'l': // Millisecond
; 304  : 				ret += ncString2::Format("%04hu", this->m_time.millitm);

	mov	eax, DWORD PTR _this$[esp+312]
	movzx	ecx, WORD PTR [eax+8]
	push	ecx
	lea	edx, DWORD PTR $T42345[esp+316]
	push	OFFSET ??_C@_05NDLIAKIC@?$CF04hu?$AA@
	push	edx
	call	?Format@ncString2@@SA?AV1@PBDZZ		; ncString2::Format
	add	esp, 12					; 0000000cH
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 10	; 0000000aH
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42345[esp+312], ebp
	lea	ecx, DWORD PTR $T42345[esp+312]

; 305  : 				break;

	jmp	$LN146@Format
$LN13@Format:

; 306  : 
; 307  : 			case 'S': // Second
; 308  : 				ret += ncString2::Format("%02d", timeinfo->tm_sec);

	mov	eax, DWORD PTR [edi]
	push	eax
	lea	ecx, DWORD PTR $T42346[esp+316]
	push	OFFSET ??_C@_04OGKJMPGK@?$CF02d?$AA@
	push	ecx
	call	?Format@ncString2@@SA?AV1@PBDZZ		; ncString2::Format
	add	esp, 12					; 0000000cH
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 11	; 0000000bH
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42346[esp+312], ebp
	lea	ecx, DWORD PTR $T42346[esp+312]

; 309  : 				break;

	jmp	$LN146@Format
$LN12@Format:

; 310  : 
; 311  : 			case 'M': // Minute
; 312  : 				ret += ncString2::Format("%02d", timeinfo->tm_min);

	mov	edx, DWORD PTR [edi+4]
	push	edx
	lea	eax, DWORD PTR $T42347[esp+316]
	push	OFFSET ??_C@_04OGKJMPGK@?$CF02d?$AA@
	push	eax
	call	?Format@ncString2@@SA?AV1@PBDZZ		; ncString2::Format
	add	esp, 12					; 0000000cH
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 12	; 0000000cH
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42347[esp+312], ebp
	lea	ecx, DWORD PTR $T42347[esp+312]

; 313  : 				break;

	jmp	$LN146@Format
$LN11@Format:

; 314  : 
; 315  : 			case 'H': // Hour, in 24 format
; 316  : 				ret += ncString2::Format("%02d", timeinfo->tm_hour);

	mov	ecx, DWORD PTR [edi+8]
	push	ecx
	lea	edx, DWORD PTR $T42348[esp+316]
	push	OFFSET ??_C@_04OGKJMPGK@?$CF02d?$AA@
	push	edx
	call	?Format@ncString2@@SA?AV1@PBDZZ		; ncString2::Format
	add	esp, 12					; 0000000cH
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 13	; 0000000dH
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42348[esp+312], ebp
	lea	ecx, DWORD PTR $T42348[esp+312]

; 317  : 				break;

	jmp	$LN146@Format
$LN10@Format:

; 318  : 
; 319  : 			case 'I': // Hour, in 12 format
; 320  : 				ret += ncString2::Format("%02d", timeinfo->tm_hour % 12);

	mov	eax, DWORD PTR [edi+8]
	cdq
	mov	ecx, 12					; 0000000cH
	idiv	ecx
	push	edx
	lea	edx, DWORD PTR $T42349[esp+316]
	push	OFFSET ??_C@_04OGKJMPGK@?$CF02d?$AA@
	push	edx
	call	?Format@ncString2@@SA?AV1@PBDZZ		; ncString2::Format
	add	esp, 12					; 0000000cH
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 14	; 0000000eH
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42349[esp+312], ebp
	lea	ecx, DWORD PTR $T42349[esp+312]

; 321  : 				break;

	jmp	$LN146@Format
$LN9@Format:

; 322  : 
; 323  : 			case 'd': // Day of month
; 324  : 				ret += ncString2::Format("%02d", timeinfo->tm_mday);

	mov	eax, DWORD PTR [edi+12]
	push	eax
	lea	ecx, DWORD PTR $T42350[esp+316]
	push	OFFSET ??_C@_04OGKJMPGK@?$CF02d?$AA@
	push	ecx
	call	?Format@ncString2@@SA?AV1@PBDZZ		; ncString2::Format
	add	esp, 12					; 0000000cH
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 15	; 0000000fH
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42350[esp+312], ebp
	lea	ecx, DWORD PTR $T42350[esp+312]

; 325  : 				break;

	jmp	$LN146@Format
$LN8@Format:

; 326  : 
; 327  : 			case 'm': // Month
; 328  : 				ret += ncString2::Format("%02d", timeinfo->tm_mon);

	mov	edx, DWORD PTR [edi+16]
	push	edx
	lea	eax, DWORD PTR $T42351[esp+316]
	push	OFFSET ??_C@_04OGKJMPGK@?$CF02d?$AA@
	push	eax
	call	?Format@ncString2@@SA?AV1@PBDZZ		; ncString2::Format
	add	esp, 12					; 0000000cH
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 16	; 00000010H
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42351[esp+312], ebp
	lea	ecx, DWORD PTR $T42351[esp+312]

; 329  : 				break;

	jmp	$LN146@Format
$LN7@Format:

; 330  : 
; 331  : 			case 'y': // Year, last 2 digit
; 332  : 				ret += ncString2::Format("%02d", (timeinfo->tm_year + 1900) % 100);

	mov	eax, DWORD PTR [edi+20]
	add	eax, 1900				; 0000076cH
	cdq
	mov	ecx, 100				; 00000064H
	idiv	ecx
	push	edx
	lea	edx, DWORD PTR $T42352[esp+316]
	push	OFFSET ??_C@_04OGKJMPGK@?$CF02d?$AA@
	push	edx
	call	?Format@ncString2@@SA?AV1@PBDZZ		; ncString2::Format
	add	esp, 12					; 0000000cH
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 17	; 00000011H
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42352[esp+312], ebp
	lea	ecx, DWORD PTR $T42352[esp+312]

; 333  : 				break;

	jmp	$LN146@Format
$LN6@Format:

; 334  : 
; 335  : 			case 'Y': // Year in full
; 336  : 				ret += ncString2::Format("%04d", timeinfo->tm_year + 1900);

	mov	eax, DWORD PTR [edi+20]
	add	eax, 1900				; 0000076cH
	push	eax
	lea	ecx, DWORD PTR $T42353[esp+316]
	push	OFFSET ??_C@_04OCCELDNI@?$CF04d?$AA@
	push	ecx
	call	?Format@ncString2@@SA?AV1@PBDZZ		; ncString2::Format
	add	esp, 12					; 0000000cH
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 18	; 00000012H
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42353[esp+312], ebp
	lea	ecx, DWORD PTR $T42353[esp+312]

; 337  : 				break;

	jmp	$LN146@Format
$LN5@Format:

; 338  : 
; 339  : 			case 'j': // Date of the year
; 340  : 				ret += ncString2::Format("%003", timeinfo->tm_yday);

	mov	edx, DWORD PTR [edi+28]
	push	edx
	lea	eax, DWORD PTR $T42354[esp+316]
	push	OFFSET ??_C@_04BANHNAJH@?$CF003?$AA@
	push	eax
	call	?Format@ncString2@@SA?AV1@PBDZZ		; ncString2::Format
	add	esp, 12					; 0000000cH
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 19	; 00000013H
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42354[esp+312], ebp
	lea	ecx, DWORD PTR $T42354[esp+312]

; 341  : 				break;

	jmp	$LN146@Format
$LN4@Format:

; 342  : 
; 343  : 			case 'x': // Date - locale format
; 344  : 				strftime(fmt, sizeof(fmt), "%x", timeinfo);

	push	edi
	push	OFFSET ??_C@_02NJNOFBBI@?$CFx?$AA@
	lea	ecx, DWORD PTR _fmt$38424[esp+320]
	push	80					; 00000050H
	push	ecx
	call	_strftime
	add	esp, 16					; 00000010H

; 345  : 				ret += fmt;

	lea	edx, DWORD PTR _fmt$38424[esp+312]
	push	edx
	lea	ecx, DWORD PTR $T42355[esp+316]
	call	??0ncString2@@QAE@PBD@Z			; ncString2::ncString2
	lea	eax, DWORD PTR $T42355[esp+312]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 20	; 00000014H
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42355[esp+312], ebp
	lea	ecx, DWORD PTR $T42355[esp+312]

; 346  : 				break;

	jmp	$LN146@Format
$LN3@Format:

; 347  : 
; 348  : 			case 'X': // Time - locale format
; 349  : 				strftime(fmt, sizeof(fmt), "%X", timeinfo);

	push	edi
	push	OFFSET ??_C@_02EMFKHFLK@?$CFX?$AA@
	lea	ecx, DWORD PTR _fmt$38424[esp+320]
	push	80					; 00000050H
	push	ecx
	call	_strftime
	add	esp, 16					; 00000010H

; 350  : 				ret += fmt;

	lea	edx, DWORD PTR _fmt$38424[esp+312]
	push	edx
	lea	ecx, DWORD PTR $T42356[esp+316]
	call	??0ncString2@@QAE@PBD@Z			; ncString2::ncString2
	lea	eax, DWORD PTR $T42356[esp+312]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 21	; 00000015H
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42356[esp+312], ebp
	lea	ecx, DWORD PTR $T42356[esp+312]

; 351  : 				break;

	jmp	$LN146@Format
$LN2@Format:

; 352  : 
; 353  : 			case 'z': // Timezone name in full or abbr.
; 354  : 			case 'Z':
; 355  : 				_tzset();

	call	__tzset

; 356  : 				ret += _tzname[timeinfo->tm_isdst ? 1 : 0];

	call	___tzname
	xor	ecx, ecx
	cmp	DWORD PTR [edi+32], ebx
	setne	cl
	mov	edx, DWORD PTR [eax+ecx*4]
	push	edx
	lea	ecx, DWORD PTR $T42357[esp+316]
	call	??0ncString2@@QAE@PBD@Z			; ncString2::ncString2
	lea	eax, DWORD PTR $T42357[esp+312]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 22	; 00000016H
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42357[esp+312], ebp
	lea	ecx, DWORD PTR $T42357[esp+312]

; 357  : 				break;

	jmp	SHORT $LN146@Format
$LN1@Format:

; 358  : 
; 359  : 			default:
; 360  : 				ret += '%';

	push	37					; 00000025H
	lea	ecx, DWORD PTR $T42358[esp+316]
	call	??0ncString2@@QAE@D@Z			; ncString2::ncString2
	lea	ecx, DWORD PTR $T42358[esp+312]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 23	; 00000017H
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	lea	ecx, DWORD PTR $T42358[esp+312]
	mov	BYTE PTR __$EHRec$[esp+320], bl
	mov	DWORD PTR $T42358[esp+312], ebp
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase

; 361  : 				ret += *strptr;

	mov	edx, DWORD PTR _strptr$38416[esp+312]
	movzx	eax, BYTE PTR [edx]
	push	eax
	lea	ecx, DWORD PTR $T42359[esp+316]
	call	??0ncString2@@QAE@D@Z			; ncString2::ncString2
	lea	ecx, DWORD PTR $T42359[esp+312]
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+324], 24	; 00000018H
	call	??YncString2@@QAEAAV0@ABV0@@Z		; ncString2::operator+=
	mov	DWORD PTR $T42359[esp+312], ebp
	lea	ecx, DWORD PTR $T42359[esp+312]
$LN146@Format:
	mov	BYTE PTR __$EHRec$[esp+320], bl
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	mov	ecx, DWORD PTR _strptr$38416[esp+312]
	add	ecx, 1
	cmp	BYTE PTR [ecx], bl
	mov	DWORD PTR _strptr$38416[esp+312], ecx
	jne	$LL142@Format
$LN140@Format:
	pop	edi

; 362  : 				break;
; 363  : 		}
; 364  : 	}
; 365  : 	return ret;

	mov	eax, esi
	pop	ebp
$LN137@Format:

; 366  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+304]
	pop	esi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 296				; 00000128H
	ret	8
$LN141@Format:

; 362  : 				break;
; 363  : 		}
; 364  : 	}
; 365  : 	return ret;

	mov	eax, esi
	jmp	SHORT $LN137@Format
$LN147@Format:

; 366  : }

	DD	$LN21@Format
	DD	$LN19@Format
	DD	$LN11@Format
	DD	$LN10@Format
	DD	$LN12@Format
	DD	$LN13@Format
	DD	$LN16@Format
	DD	$LN3@Format
	DD	$LN6@Format
	DD	$LN2@Format
	DD	$LN22@Format
	DD	$LN20@Format
	DD	$LN18@Format
	DD	$LN9@Format
	DD	$LN5@Format
	DD	$LN14@Format
	DD	$LN8@Format
	DD	$LN15@Format
	DD	$LN17@Format
	DD	$LN4@Format
	DD	$LN7@Format
	DD	$LN1@Format
$LN139@Format:
	DB	0
	DB	1
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	2
	DB	3
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	4
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	5
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	6
	DB	7
	DB	8
	DB	9
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	10					; 0000000aH
	DB	11					; 0000000bH
	DB	12					; 0000000cH
	DB	13					; 0000000dH
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	14					; 0000000eH
	DB	21					; 00000015H
	DB	15					; 0000000fH
	DB	16					; 00000010H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	17					; 00000011H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	21					; 00000015H
	DB	18					; 00000012H
	DB	19					; 00000013H
	DB	20					; 00000014H
	DB	9
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$0:
	mov	eax, DWORD PTR $T42361[ebp]
	and	eax, 1
	je	$LN35@Format
	and	DWORD PTR $T42361[ebp], -2		; fffffffeH
	mov	ecx, DWORD PTR ___$ReturnUdt$[ebp-4]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
$LN35@Format:
	ret	0
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$1:
	lea	ecx, DWORD PTR $T42334[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$2:
	lea	ecx, DWORD PTR $T42335[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$3:
	lea	ecx, DWORD PTR $T42336[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$4:
	lea	ecx, DWORD PTR $T42337[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$5:
	lea	ecx, DWORD PTR $T42338[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$6:
	lea	ecx, DWORD PTR $T42339[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$7:
	lea	ecx, DWORD PTR $T42340[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$8:
	lea	ecx, DWORD PTR $T42341[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$9:
	lea	ecx, DWORD PTR $T42342[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$10:
	lea	ecx, DWORD PTR $T42345[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$11:
	lea	ecx, DWORD PTR $T42346[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$12:
	lea	ecx, DWORD PTR $T42347[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$13:
	lea	ecx, DWORD PTR $T42348[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$14:
	lea	ecx, DWORD PTR $T42349[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$15:
	lea	ecx, DWORD PTR $T42350[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$16:
	lea	ecx, DWORD PTR $T42351[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$17:
	lea	ecx, DWORD PTR $T42352[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$18:
	lea	ecx, DWORD PTR $T42353[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$19:
	lea	ecx, DWORD PTR $T42354[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$20:
	lea	ecx, DWORD PTR $T42355[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$21:
	lea	ecx, DWORD PTR $T42356[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$22:
	lea	ecx, DWORD PTR $T42357[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$23:
	lea	ecx, DWORD PTR $T42358[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__unwindfunclet$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z$24:
	lea	ecx, DWORD PTR $T42359[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__ehhandler$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Format@ncDateTime@@QAE?AVncString2@@PBD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Format@ncDateTime@@QAE?AVncString2@@PBD@Z ENDP		; ncDateTime::Format
PUBLIC	?FormatDate@ncDateTime@@QAE?AVncString2@@XZ	; ncDateTime::FormatDate
; Function compile flags: /Ogtpy
;	COMDAT ?FormatDate@ncDateTime@@QAE?AVncString2@@XZ
_TEXT	SEGMENT
$T42515 = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?FormatDate@ncDateTime@@QAE?AVncString2@@XZ PROC	; ncDateTime::FormatDate, COMDAT
; _this$ = ecx

; 368  : {

	push	ecx
	push	esi

; 369  : 	return this->Format("%x");

	mov	esi, DWORD PTR ___$ReturnUdt$[esp+4]
	push	OFFSET ??_C@_02NJNOFBBI@?$CFx?$AA@
	push	esi
	mov	DWORD PTR $T42515[esp+16], 0
	call	?Format@ncDateTime@@QAE?AVncString2@@PBD@Z ; ncDateTime::Format
	mov	eax, esi
	pop	esi

; 370  : }

	pop	ecx
	ret	4
?FormatDate@ncDateTime@@QAE?AVncString2@@XZ ENDP	; ncDateTime::FormatDate
_TEXT	ENDS
PUBLIC	?FormatTime@ncDateTime@@QAE?AVncString2@@XZ	; ncDateTime::FormatTime
; Function compile flags: /Ogtpy
;	COMDAT ?FormatTime@ncDateTime@@QAE?AVncString2@@XZ
_TEXT	SEGMENT
$T42521 = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?FormatTime@ncDateTime@@QAE?AVncString2@@XZ PROC	; ncDateTime::FormatTime, COMDAT
; _this$ = ecx

; 372  : {

	push	ecx
	push	esi

; 373  : 	return this->Format("%X");

	mov	esi, DWORD PTR ___$ReturnUdt$[esp+4]
	push	OFFSET ??_C@_02EMFKHFLK@?$CFX?$AA@
	push	esi
	mov	DWORD PTR $T42521[esp+16], 0
	call	?Format@ncDateTime@@QAE?AVncString2@@PBD@Z ; ncDateTime::Format
	mov	eax, esi
	pop	esi

; 374  : }

	pop	ecx
	ret	4
?FormatTime@ncDateTime@@QAE?AVncString2@@XZ ENDP	; ncDateTime::FormatTime
_TEXT	ENDS
PUBLIC	__TI2?AVbad_alloc@std@@
PUBLIC	??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@ ; `string'
PUBLIC	?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z ; std::_DebugHeapAllocator<char>::allocate
PUBLIC	__CTA2?AVbad_alloc@std@@
PUBLIC	__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12
PUBLIC	??0bad_alloc@std@@QAE@ABV01@@Z			; std::bad_alloc::bad_alloc
PUBLIC	__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
EXTRN	??_U@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z:PROC	; operator new[]
EXTRN	?_DebugHeapTag_func@std@@YAABU_DebugHeapTag_t@1@XZ:PROC ; std::_DebugHeapTag_func
EXTRN	__CxxThrowException@8:PROC
EXTRN	??0exception@std@@QAE@ABV01@@Z:PROC		; std::exception::exception
;	COMDAT __CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
; File c:\program files\microsoft visual studio 8\vc\include\exception
xdata$x	SEGMENT
__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12 DD 00H
	DD	FLAT:??_R0?AVexception@std@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	0cH
	DD	FLAT:??0exception@std@@QAE@ABV01@@Z
xdata$x	ENDS
;	COMDAT __CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12
xdata$x	SEGMENT
__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12 DD 00H
	DD	FLAT:??_R0?AVbad_alloc@std@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	0cH
	DD	FLAT:??0bad_alloc@std@@QAE@ABV01@@Z
xdata$x	ENDS
;	COMDAT __CTA2?AVbad_alloc@std@@
xdata$x	SEGMENT
__CTA2?AVbad_alloc@std@@ DD 02H
	DD	FLAT:__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12
	DD	FLAT:__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
xdata$x	ENDS
;	COMDAT __TI2?AVbad_alloc@std@@
xdata$x	SEGMENT
__TI2?AVbad_alloc@std@@ DD 00H
	DD	FLAT:??1bad_alloc@std@@UAE@XZ
	DD	00H
	DD	FLAT:__CTA2?AVbad_alloc@std@@
xdata$x	ENDS
;	COMDAT ??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@
CONST	SEGMENT
??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@ DB 'C:\Program '
	DB	'Files\Microsoft Visual Studio 8\VC\include\xdebug', 00H ; `string'
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xdebug
CONST	ENDS
;	COMDAT ?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z
_TEXT	SEGMENT
$T42526 = -12						; size = 12
_this$ = 8						; size = 4
$T42532 = 12						; size = 4
__Count$ = 12						; size = 4
___formal$ = 16						; size = 4
?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z PROC ; std::_DebugHeapAllocator<char>::allocate, COMDAT

; 79   : 		{	// check for integer overflow

	sub	esp, 12					; 0000000cH
	push	esi

; 80   : 		if (_Count <= 0)

	mov	esi, DWORD PTR __Count$[esp+12]
	test	esi, esi
	ja	SHORT $LN3@allocate

; 81   : 			_Count = 0;

	xor	esi, esi
$LN1@allocate:

; 84   : 
; 85   : 			// allocate array of _Count elements, ignore hint
; 86   : 		return ((_Ty *)_NEW_CRT char[_Count * sizeof(_Ty)]);

	push	86					; 00000056H
	push	OFFSET ??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@
	call	?_DebugHeapTag_func@std@@YAABU_DebugHeapTag_t@1@XZ ; std::_DebugHeapTag_func
	push	eax
	push	esi
	call	??_U@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z ; operator new[]
	add	esp, 16					; 00000010H
	pop	esi

; 87   : 		}

	add	esp, 12					; 0000000cH
	ret	0
$LN3@allocate:

; 82   : 		else if (((size_t)(-1) / _Count) < sizeof(_Ty))

	or	eax, -1
	xor	edx, edx
	div	esi
	cmp	eax, 1
	jae	SHORT $LN1@allocate

; 83   : 			_THROW_NCEE(std::bad_alloc, NULL);

	lea	eax, DWORD PTR $T42532[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T42526[esp+20]
	mov	DWORD PTR $T42532[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T42526[esp+20]
	push	ecx
	mov	DWORD PTR $T42526[esp+24], OFFSET ??_7bad_alloc@std@@6B@
	call	__CxxThrowException@8
$LN9@allocate:
$LN8@allocate:
	int	3
?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z ENDP ; std::_DebugHeapAllocator<char>::allocate
_TEXT	ENDS
PUBLIC	?allocate@?$_DebugHeapAllocator@D@std@@QAEPADI@Z ; std::_DebugHeapAllocator<char>::allocate
; Function compile flags: /Ogtpy
;	COMDAT ?allocate@?$_DebugHeapAllocator@D@std@@QAEPADI@Z
_TEXT	SEGMENT
$T42538 = -12						; size = 12
$T42543 = 8						; size = 4
__Count$ = 8						; size = 4
?allocate@?$_DebugHeapAllocator@D@std@@QAEPADI@Z PROC	; std::_DebugHeapAllocator<char>::allocate, COMDAT
; _this$ = ecx

; 90   : 		{	// check for integer overflow

	sub	esp, 12					; 0000000cH
	push	esi

; 91   : 		if (_Count <= 0)

	mov	esi, DWORD PTR __Count$[esp+12]
	test	esi, esi
	ja	SHORT $LN3@allocate@2

; 92   : 			_Count = 0;

	xor	esi, esi
$LN1@allocate@2:

; 95   : 
; 96   : 			// allocate array of _Count elements
; 97   : 		return ((_Ty *)_NEW_CRT char[_Count * sizeof(_Ty)]);

	push	97					; 00000061H
	push	OFFSET ??_C@_0DN@JHKGIIJF@C?3?2Program?5Files?2Microsoft?5Visua@
	call	?_DebugHeapTag_func@std@@YAABU_DebugHeapTag_t@1@XZ ; std::_DebugHeapTag_func
	push	eax
	push	esi
	call	??_U@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z ; operator new[]
	add	esp, 16					; 00000010H
	pop	esi

; 98   : 		}

	add	esp, 12					; 0000000cH
	ret	4
$LN3@allocate@2:

; 93   : 		else if (((size_t)(-1) / _Count) < sizeof(_Ty))

	or	eax, -1
	xor	edx, edx
	div	esi
	cmp	eax, 1
	jae	SHORT $LN1@allocate@2

; 94   : 			_THROW_NCEE(std::bad_alloc, NULL);

	lea	eax, DWORD PTR $T42543[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T42538[esp+20]
	mov	DWORD PTR $T42543[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T42538[esp+20]
	push	ecx
	mov	DWORD PTR $T42538[esp+24], OFFSET ??_7bad_alloc@std@@6B@
	call	__CxxThrowException@8
$LN9@allocate@2:
$LN8@allocate@2:
	int	3
?allocate@?$_DebugHeapAllocator@D@std@@QAEPADI@Z ENDP	; std::_DebugHeapAllocator<char>::allocate
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??0bad_alloc@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0bad_alloc@std@@QAE@ABV01@@Z PROC			; std::bad_alloc::bad_alloc, COMDAT
; _this$ = ecx
	mov	eax, DWORD PTR ___that$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	??0exception@std@@QAE@ABV01@@Z		; std::exception::exception
	mov	DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@
	mov	eax, esi
	pop	esi
	ret	4
??0bad_alloc@std@@QAE@ABV01@@Z ENDP			; std::bad_alloc::bad_alloc
_TEXT	ENDS
PUBLIC	??_H@YGXPAXIHP6EPAX0@Z@Z			; `vector constructor iterator'
; Function compile flags: /Ogtpy
;	COMDAT ??_H@YGXPAXIHP6EPAX0@Z@Z
_TEXT	SEGMENT
___t$ = 8						; size = 4
___s$ = 12						; size = 4
___n$ = 16						; size = 4
___f$ = 20						; size = 4
??_H@YGXPAXIHP6EPAX0@Z@Z PROC				; `vector constructor iterator', COMDAT
	push	edi
	mov	edi, DWORD PTR ___n$[esp]
	sub	edi, 1
	js	SHORT $LN1@vector
	push	ebx
	mov	ebx, DWORD PTR ___f$[esp+4]
	push	ebp
	mov	ebp, DWORD PTR ___s$[esp+8]
	push	esi
	mov	esi, DWORD PTR ___t$[esp+12]
	npad	7
$LL2@vector:
	mov	ecx, esi
	call	ebx
	add	esi, ebp
	sub	edi, 1
	jns	SHORT $LL2@vector
	pop	esi
	pop	ebp
	pop	ebx
$LN1@vector:
	pop	edi
	ret	16					; 00000010H
??_H@YGXPAXIHP6EPAX0@Z@Z ENDP				; `vector constructor iterator'
_TEXT	ENDS
PUBLIC	??0?$allocator@D@std@@QAE@XZ			; std::allocator<char>::allocator<char>
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xmemory
;	COMDAT ??0?$allocator@D@std@@QAE@XZ
_TEXT	SEGMENT
??0?$allocator@D@std@@QAE@XZ PROC			; std::allocator<char>::allocator<char>, COMDAT
; _this$ = ecx

; 120  : 	allocator() _THROW0()

	mov	eax, ecx

; 121  : 		{	// construct default allocator (do nothing)
; 122  : 		}

	ret	0
??0?$allocator@D@std@@QAE@XZ ENDP			; std::allocator<char>::allocator<char>
_TEXT	ENDS
PUBLIC	??0?$allocator@D@std@@QAE@ABV01@@Z		; std::allocator<char>::allocator<char>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$allocator@D@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
??0?$allocator@D@std@@QAE@ABV01@@Z PROC			; std::allocator<char>::allocator<char>, COMDAT
; _this$ = ecx

; 124  : 	allocator(const allocator<_Ty>&) _THROW0()

	mov	eax, ecx

; 125  : 		{	// construct by copying (do nothing)
; 126  : 		}

	ret	4
??0?$allocator@D@std@@QAE@ABV01@@Z ENDP			; std::allocator<char>::allocator<char>
_TEXT	ENDS
PUBLIC	??$_DebugHeapDelete@X@std@@YAXPAX@Z		; std::_DebugHeapDelete<void>
EXTRN	_free:PROC
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xdebug
;	COMDAT ??$_DebugHeapDelete@X@std@@YAXPAX@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
??$_DebugHeapDelete@X@std@@YAXPAX@Z PROC		; std::_DebugHeapDelete<void>, COMDAT

; 56   : 	if (_Ptr != 0)

	mov	eax, DWORD PTR __Ptr$[esp-4]
	test	eax, eax
	je	SHORT $LN1@DebugHeapD

; 57   : 		{	// worth deleting
; 58   : 		_Ptr->~_Ty();
; 59   : 		// delete as _NORMAL_BLOCK, not _CRT_BLOCK, since we might have
; 60   : 		// facets allocated by normal new.
; 61   : 		free(_Ptr);

	mov	DWORD PTR __Ptr$[esp-4], eax
	jmp	_free
$LN1@DebugHeapD:

; 62   : 		}
; 63   : 	}

	ret	0
??$_DebugHeapDelete@X@std@@YAXPAX@Z ENDP		; std::_DebugHeapDelete<void>
_TEXT	ENDS
PUBLIC	?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ; std::_DebugHeapAllocator<char>::deallocate
; Function compile flags: /Ogtpy
;	COMDAT ?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z PROC ; std::_DebugHeapAllocator<char>::deallocate, COMDAT
; _this$ = ecx

; 102  : 		_DELETE_CRT_VEC(_Ptr);

	mov	eax, DWORD PTR __Ptr$[esp-4]
	test	eax, eax
	je	SHORT $LN3@deallocate
	push	eax
	call	_free
	pop	ecx
$LN3@deallocate:

; 103  : 		}

	ret	8
?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ENDP ; std::_DebugHeapAllocator<char>::deallocate
_TEXT	ENDS
PUBLIC	??0?$_DebugHeapAllocator@D@std@@QAE@XZ		; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_DebugHeapAllocator@D@std@@QAE@XZ
_TEXT	SEGMENT
??0?$_DebugHeapAllocator@D@std@@QAE@XZ PROC		; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>, COMDAT
; _this$ = ecx
	mov	eax, ecx
	ret	0
??0?$_DebugHeapAllocator@D@std@@QAE@XZ ENDP		; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
_TEXT	ENDS
PUBLIC	??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z	; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z PROC	; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>, COMDAT
; _this$ = ecx
	mov	eax, ecx
	ret	4
??0?$_DebugHeapAllocator@D@std@@QAE@ABV01@@Z ENDP	; std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>
_TEXT	ENDS
END
