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

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

INCLUDELIB LIBCMTD
INCLUDELIB OLDNAMES

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
;	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@
_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
PUBLIC	?GetLength@ncStringData@@QAE?BIXZ		; ncStringData::GetLength
; Function compile flags: /Ogtpy
; File d:\source code\nc lib\ncstring2.h
;	COMDAT ?GetLength@ncStringData@@QAE?BIXZ
_TEXT	SEGMENT
?GetLength@ncStringData@@QAE?BIXZ PROC			; ncStringData::GetLength, COMDAT
; _this$ = ecx

; 32   : 	inline const unsigned int GetLength() { return this->m_length; };

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?GetLength@ncStringData@@QAE?BIXZ ENDP			; ncStringData::GetLength
_TEXT	ENDS
PUBLIC	?GetBuffer@ncStringData@@QAEPAXXZ		; ncStringData::GetBuffer
; Function compile flags: /Ogtpy
;	COMDAT ?GetBuffer@ncStringData@@QAEPAXXZ
_TEXT	SEGMENT
?GetBuffer@ncStringData@@QAEPAXXZ PROC			; ncStringData::GetBuffer, COMDAT
; _this$ = ecx

; 34   : 	inline void *GetBuffer() { return this->m_ptr; };

	mov	eax, DWORD PTR [ecx+8]
	ret	0
?GetBuffer@ncStringData@@QAEPAXXZ ENDP			; ncStringData::GetBuffer
_TEXT	ENDS
PUBLIC	?GetData@ncStringBase@@QBEPAVncStringData@@XZ	; ncStringBase::GetData
; Function compile flags: /Ogtpy
;	COMDAT ?GetData@ncStringBase@@QBEPAVncStringData@@XZ
_TEXT	SEGMENT
?GetData@ncStringBase@@QBEPAVncStringData@@XZ PROC	; ncStringBase::GetData, COMDAT
; _this$ = ecx

; 54   : 	inline ncStringData *GetData() const { return this->m_data; };

	mov	eax, DWORD PTR [ecx+4]
	ret	0
?GetData@ncStringBase@@QBEPAVncStringData@@XZ ENDP	; ncStringBase::GetData
_TEXT	ENDS
PUBLIC	?IsEmpty@ncStringBase@@QBE_NXZ			; ncStringBase::IsEmpty
; Function compile flags: /Ogtpy
;	COMDAT ?IsEmpty@ncStringBase@@QBE_NXZ
_TEXT	SEGMENT
?IsEmpty@ncStringBase@@QBE_NXZ PROC			; ncStringBase::IsEmpty, COMDAT
; _this$ = ecx

; 60   : 	bool IsEmpty() const { return (this->m_data == NULL || this->m_data->GetLength() == 0 || this->m_data->GetBuffer() == NULL); };

	mov	eax, DWORD PTR [ecx+4]
	test	eax, eax
	je	SHORT $LN3@IsEmpty
	cmp	DWORD PTR [eax+12], 0
	je	SHORT $LN3@IsEmpty
	cmp	DWORD PTR [eax+8], 0
	je	SHORT $LN3@IsEmpty
	xor	eax, eax
	ret	0
$LN3@IsEmpty:
	mov	eax, 1
	ret	0
?IsEmpty@ncStringBase@@QBE_NXZ ENDP			; ncStringBase::IsEmpty
_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
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
_TEXT	ENDS
PUBLIC	?GetString@ncString2@@QBEPBDXZ			; ncString2::GetString
; Function compile flags: /Ogtpy
;	COMDAT ?GetString@ncString2@@QBEPBDXZ
_TEXT	SEGMENT
?GetString@ncString2@@QBEPBDXZ PROC			; ncString2::GetString, COMDAT
; _this$ = ecx

; 141  : 	const char *GetString() const { return (this->m_data) ? (const char*)this->m_data->GetBuffer() : NULL; };

	mov	eax, DWORD PTR [ecx+4]
	test	eax, eax
	je	SHORT $LN3@GetString
	mov	eax, DWORD PTR [eax+8]
	ret	0
$LN3@GetString:
	xor	eax, eax
	ret	0
?GetString@ncString2@@QBEPBDXZ ENDP			; ncString2::GetString
; 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	??_7ncWideString2@@6B@				; ncWideString2::`vftable'
PUBLIC	??0ncWideString2@@QAE@ABV0@@Z			; ncWideString2::ncWideString2
PUBLIC	??_R4ncWideString2@@6B@				; ncWideString2::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVncWideString2@@@8			; ncWideString2 `RTTI Type Descriptor'
PUBLIC	??_R3ncWideString2@@8				; ncWideString2::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2ncWideString2@@8				; ncWideString2::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@ncWideString2@@8			; ncWideString2::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EncWideString2@@UAEPAXI@Z:PROC		; ncWideString2::`vector deleting destructor'
EXTRN	?GetLength@ncWideString2@@UBEIXZ:PROC		; ncWideString2::GetLength
EXTRN	?Resize@ncWideString2@@UAEXI@Z:PROC		; ncWideString2::Resize
;	COMDAT ??_R1A@?0A@EA@ncWideString2@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@ncWideString2@@8 DD FLAT:??_R0?AVncWideString2@@@8 ; ncWideString2::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ncWideString2@@8
rdata$r	ENDS
;	COMDAT ??_R2ncWideString2@@8
rdata$r	SEGMENT
??_R2ncWideString2@@8 DD FLAT:??_R1A@?0A@EA@ncWideString2@@8 ; ncWideString2::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ncStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R3ncWideString2@@8
rdata$r	SEGMENT
??_R3ncWideString2@@8 DD 00H				; ncWideString2::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2ncWideString2@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVncWideString2@@@8
_DATA	SEGMENT
??_R0?AVncWideString2@@@8 DD FLAT:??_7type_info@@6B@	; ncWideString2 `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVncWideString2@@', 00H
_DATA	ENDS
;	COMDAT ??_R4ncWideString2@@6B@
rdata$r	SEGMENT
??_R4ncWideString2@@6B@ DD 00H				; ncWideString2::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVncWideString2@@@8
	DD	FLAT:??_R3ncWideString2@@8
rdata$r	ENDS
;	COMDAT ??_7ncWideString2@@6B@
CONST	SEGMENT
??_7ncWideString2@@6B@ DD FLAT:??_R4ncWideString2@@6B@	; ncWideString2::`vftable'
	DD	FLAT:??_EncWideString2@@UAEPAXI@Z
	DD	FLAT:?GetLength@ncWideString2@@UBEIXZ
	DD	FLAT:?Resize@ncWideString2@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0ncWideString2@@QAE@ABV0@@Z
_TEXT	SEGMENT
_str$ = 8						; size = 4
??0ncWideString2@@QAE@ABV0@@Z PROC			; ncWideString2::ncWideString2, COMDAT
; _this$ = ecx

; 285  : 	ncWideString2(const ncWideString2& 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 ??_7ncWideString2@@6B@
	mov	eax, esi
	pop	esi
	ret	4
??0ncWideString2@@QAE@ABV0@@Z ENDP			; ncWideString2::ncWideString2
_TEXT	ENDS
PUBLIC	??1ncWideString2@@UAE@XZ			; ncWideString2::~ncWideString2
; Function compile flags: /Ogtpy
;	COMDAT ??1ncWideString2@@UAE@XZ
_TEXT	SEGMENT
??1ncWideString2@@UAE@XZ PROC				; ncWideString2::~ncWideString2, COMDAT
; _this$ = ecx

; 293  : 	~ncWideString2() { };

	mov	DWORD PTR [ecx], OFFSET ??_7ncWideString2@@6B@
	jmp	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
??1ncWideString2@@UAE@XZ ENDP				; ncWideString2::~ncWideString2
_TEXT	ENDS
PUBLIC	?GetString@ncWideString2@@QBEPB_WXZ		; ncWideString2::GetString
; Function compile flags: /Ogtpy
;	COMDAT ?GetString@ncWideString2@@QBEPB_WXZ
_TEXT	SEGMENT
?GetString@ncWideString2@@QBEPB_WXZ PROC		; ncWideString2::GetString, COMDAT
; _this$ = ecx

; 296  : 	const wchar_t *GetString() const { return (this->m_data) ? (const wchar_t*)this->m_data->GetBuffer() : NULL; };

	mov	eax, DWORD PTR [ecx+4]
	test	eax, eax
	je	SHORT $LN3@GetString@2
	mov	eax, DWORD PTR [eax+8]
	ret	0
$LN3@GetString@2:
	xor	eax, eax
	ret	0
?GetString@ncWideString2@@QBEPB_WXZ ENDP		; ncWideString2::GetString
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GncWideString2@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GncWideString2@@UAEPAXI@Z PROC			; ncWideString2::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7ncWideString2@@6B@
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@3
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@3:
	mov	eax, esi
	pop	esi
	ret	4
??_GncWideString2@@UAEPAXI@Z ENDP			; ncWideString2::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_7ncFile@@6B@					; ncFile::`vftable'
PUBLIC	??0ncFile@@QAE@XZ				; ncFile::ncFile
PUBLIC	??_R4ncFile@@6B@				; ncFile::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVncFile@@@8				; ncFile `RTTI Type Descriptor'
PUBLIC	??_R3ncFile@@8					; ncFile::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2ncFile@@8					; ncFile::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@ncFile@@8				; ncFile::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?IsOpened@ncFile@@UAE_NXZ			; ncFile::IsOpened
PUBLIC	?Close@ncFile@@UAEXXZ				; ncFile::Close
PUBLIC	?IsEof@ncFile@@UAE_NXZ				; ncFile::IsEof
EXTRN	??0ncWideString2@@QAE@XZ:PROC			; ncWideString2::ncWideString2
EXTRN	??_EncFile@@UAEPAXI@Z:PROC			; ncFile::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@ncFile@@8
; File d:\source code\nc lib\ncfile.cpp
rdata$r	SEGMENT
??_R1A@?0A@EA@ncFile@@8 DD FLAT:??_R0?AVncFile@@@8	; ncFile::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ncFile@@8
rdata$r	ENDS
;	COMDAT ??_R2ncFile@@8
rdata$r	SEGMENT
??_R2ncFile@@8 DD FLAT:??_R1A@?0A@EA@ncFile@@8		; ncFile::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3ncFile@@8
rdata$r	SEGMENT
??_R3ncFile@@8 DD 00H					; ncFile::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2ncFile@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVncFile@@@8
_DATA	SEGMENT
??_R0?AVncFile@@@8 DD FLAT:??_7type_info@@6B@		; ncFile `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVncFile@@', 00H
_DATA	ENDS
;	COMDAT ??_R4ncFile@@6B@
rdata$r	SEGMENT
??_R4ncFile@@6B@ DD 00H					; ncFile::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVncFile@@@8
	DD	FLAT:??_R3ncFile@@8
rdata$r	ENDS
;	COMDAT ??_7ncFile@@6B@
CONST	SEGMENT
??_7ncFile@@6B@ DD FLAT:??_R4ncFile@@6B@		; ncFile::`vftable'
	DD	FLAT:??_EncFile@@UAEPAXI@Z
	DD	FLAT:?IsOpened@ncFile@@UAE_NXZ
	DD	FLAT:?Close@ncFile@@UAEXXZ
	DD	FLAT:?IsEof@ncFile@@UAE_NXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0ncFile@@QAE@XZ
_TEXT	SEGMENT
??0ncFile@@QAE@XZ PROC					; ncFile::ncFile, COMDAT
; _this$ = ecx

; 5    : {

	push	esi
	mov	esi, ecx
	lea	ecx, DWORD PTR [esi+12]
	mov	DWORD PTR [esi], OFFSET ??_7ncFile@@6B@
	call	??0ncWideString2@@QAE@XZ		; ncWideString2::ncWideString2

; 6    : 	this->m_error   = 0;

	xor	eax, eax
	mov	DWORD PTR [esi+4], eax

; 7    : 	this->m_filePtr = NULL;

	mov	DWORD PTR [esi+8], eax

; 8    : }

	mov	eax, esi
	pop	esi
	ret	0
??0ncFile@@QAE@XZ ENDP					; ncFile::ncFile
_TEXT	ENDS
PUBLIC	??_C@_01KDCPPGHE@r?$AA@				; `string'
PUBLIC	??0ncFile@@QAE@VncWideString2@@PBD@Z		; ncFile::ncFile
EXTRN	__wfopen:PROC
EXTRN	??4ncWideString2@@QAEAAV0@ABV0@@Z:PROC		; ncWideString2::operator=
EXTRN	??0ncWideString2@@QAE@PBD@Z:PROC		; ncWideString2::ncWideString2
EXTRN	___CxxFrameHandler3:PROC
;	COMDAT ??_C@_01KDCPPGHE@r?$AA@
; File d:\source code\nc lib\ncstring2.h
CONST	SEGMENT
??_C@_01KDCPPGHE@r?$AA@ DB 'r', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0ncFile@@QAE@VncWideString2@@PBD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0ncFile@@QAE@VncWideString2@@PBD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0ncFile@@QAE@VncWideString2@@PBD@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0ncFile@@QAE@VncWideString2@@PBD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0ncFile@@QAE@VncWideString2@@PBD@Z$3
__ehfuncinfo$??0ncFile@@QAE@VncWideString2@@PBD@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$??0ncFile@@QAE@VncWideString2@@PBD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\nc lib\ncfile.cpp
xdata$x	ENDS
;	COMDAT ??0ncFile@@QAE@VncWideString2@@PBD@Z
_TEXT	SEGMENT
_this$ = -32						; size = 4
_openMode$37996 = -28					; size = 8
$T41696 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_filename$ = 8						; size = 8
_mode$ = 16						; size = 4
??0ncFile@@QAE@VncWideString2@@PBD@Z PROC		; ncFile::ncFile, COMDAT
; _this$ = ecx

; 10   : {

	push	-1
	push	__ehhandler$??0ncFile@@QAE@VncWideString2@@PBD@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 20					; 00000014H
	push	ebp
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+40], esi
	lea	ebp, DWORD PTR [esi+12]
	mov	ecx, ebp
	mov	DWORD PTR __$EHRec$[esp+48], 0
	mov	DWORD PTR [esi], OFFSET ??_7ncFile@@6B@
	call	??0ncWideString2@@QAE@XZ		; ncWideString2::ncWideString2

; 11   : 	this->m_error   = 0;
; 12   : 	this->m_filePtr = NULL;
; 13   : 	if (!filename.IsEmpty())

	mov	eax, DWORD PTR _filename$[esp+40]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+48], 1
	mov	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi+8], 0
	je	$LN49@ncFile
	cmp	DWORD PTR [eax+12], 0
	je	$LN49@ncFile
	cmp	DWORD PTR [eax+8], 0
	je	$LN49@ncFile

; 14   : 	{
; 15   : 		ncWideString2 openMode = mode;

	mov	eax, DWORD PTR _mode$[esp+36]
	push	eax
	lea	ecx, DWORD PTR _openMode$37996[esp+44]
	call	??0ncWideString2@@QAE@PBD@Z		; ncWideString2::ncWideString2

; 16   : 		if (openMode.IsEmpty())

	mov	eax, DWORD PTR _openMode$37996[esp+44]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+48], 2
	je	SHORT $LN19@ncFile
	cmp	DWORD PTR [eax+12], 0
	je	SHORT $LN19@ncFile
	cmp	DWORD PTR [eax+8], 0
	jne	SHORT $LN48@ncFile
$LN19@ncFile:

; 17   : 			openMode = "r";

	push	OFFSET ??_C@_01KDCPPGHE@r?$AA@
	lea	ecx, DWORD PTR $T41696[esp+44]
	call	??0ncWideString2@@QAE@PBD@Z		; ncWideString2::ncWideString2
	lea	ecx, DWORD PTR $T41696[esp+40]
	push	ecx
	lea	ecx, DWORD PTR _openMode$37996[esp+44]
	mov	BYTE PTR __$EHRec$[esp+52], 3
	call	??4ncWideString2@@QAEAAV0@ABV0@@Z	; ncWideString2::operator=
	lea	ecx, DWORD PTR $T41696[esp+40]
	mov	BYTE PTR __$EHRec$[esp+48], 2
	mov	DWORD PTR $T41696[esp+40], OFFSET ??_7ncWideString2@@6B@
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
$LN48@ncFile:

; 18   : 		this->m_filename = filename;

	lea	edx, DWORD PTR _filename$[esp+36]
	push	edx
	mov	ecx, ebp
	call	??4ncWideString2@@QAEAAV0@ABV0@@Z	; ncWideString2::operator=

; 19   : 		this->m_filePtr  = _wfopen(filename.GetString(), openMode.GetString());

	mov	eax, DWORD PTR _openMode$37996[esp+44]
	test	eax, eax
	je	SHORT $LN30@ncFile
	mov	ecx, DWORD PTR [eax+8]
	jmp	SHORT $LN31@ncFile
$LN30@ncFile:
	xor	ecx, ecx
$LN31@ncFile:
	mov	eax, DWORD PTR _filename$[esp+40]
	test	eax, eax
	je	SHORT $LN36@ncFile
	mov	eax, DWORD PTR [eax+8]
	jmp	SHORT $LN37@ncFile
$LN36@ncFile:
	xor	eax, eax
$LN37@ncFile:
	push	ecx
	push	eax
	call	__wfopen
	add	esp, 8

; 20   : 	}

	lea	ecx, DWORD PTR _openMode$37996[esp+40]
	mov	DWORD PTR [esi+8], eax
	mov	BYTE PTR __$EHRec$[esp+48], 1
	mov	DWORD PTR _openMode$37996[esp+40], OFFSET ??_7ncWideString2@@6B@
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
$LN49@ncFile:

; 21   : }

	lea	ecx, DWORD PTR _filename$[esp+36]
	mov	DWORD PTR __$EHRec$[esp+48], -1
	mov	DWORD PTR _filename$[esp+36], OFFSET ??_7ncWideString2@@6B@
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	mov	eax, esi
	pop	esi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	add	esp, 32					; 00000020H
	ret	12					; 0000000cH
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0ncFile@@QAE@VncWideString2@@PBD@Z$0:
	lea	ecx, DWORD PTR _filename$[ebp-4]
	jmp	??1ncWideString2@@UAE@XZ		; ncWideString2::~ncWideString2
__unwindfunclet$??0ncFile@@QAE@VncWideString2@@PBD@Z$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 12					; 0000000cH
	jmp	??1ncWideString2@@UAE@XZ		; ncWideString2::~ncWideString2
__unwindfunclet$??0ncFile@@QAE@VncWideString2@@PBD@Z$2:
	lea	ecx, DWORD PTR _openMode$37996[ebp]
	jmp	??1ncWideString2@@UAE@XZ		; ncWideString2::~ncWideString2
__unwindfunclet$??0ncFile@@QAE@VncWideString2@@PBD@Z$3:
	lea	ecx, DWORD PTR $T41696[ebp]
	jmp	??1ncWideString2@@UAE@XZ		; ncWideString2::~ncWideString2
__ehhandler$??0ncFile@@QAE@VncWideString2@@PBD@Z:
	mov	eax, OFFSET __ehfuncinfo$??0ncFile@@QAE@VncWideString2@@PBD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0ncFile@@QAE@VncWideString2@@PBD@Z ENDP		; ncFile::ncFile
PUBLIC	?GetFileName@ncFile@@QAEPB_WXZ			; ncFile::GetFileName
; Function compile flags: /Ogtpy
;	COMDAT ?GetFileName@ncFile@@QAEPB_WXZ
_TEXT	SEGMENT
?GetFileName@ncFile@@QAEPB_WXZ PROC			; ncFile::GetFileName, COMDAT
; _this$ = ecx

; 33   : 	return this->m_filename.GetString();

	mov	eax, DWORD PTR [ecx+16]
	test	eax, eax
	je	SHORT $LN5@GetFileNam
	mov	eax, DWORD PTR [eax+8]

; 34   : }

	ret	0

; 33   : 	return this->m_filename.GetString();

$LN5@GetFileNam:
	xor	eax, eax

; 34   : }

	ret	0
?GetFileName@ncFile@@QAEPB_WXZ ENDP			; ncFile::GetFileName
_TEXT	ENDS
PUBLIC	?GetError@ncFile@@QAEHXZ			; ncFile::GetError
; Function compile flags: /Ogtpy
;	COMDAT ?GetError@ncFile@@QAEHXZ
_TEXT	SEGMENT
?GetError@ncFile@@QAEHXZ PROC				; ncFile::GetError, COMDAT
; _this$ = ecx

; 37   : 	return this->m_error;

	mov	eax, DWORD PTR [ecx+4]

; 38   : }

	ret	0
?GetError@ncFile@@QAEHXZ ENDP				; ncFile::GetError
_TEXT	ENDS
PUBLIC	?HasError@ncFile@@QAE_NXZ			; ncFile::HasError
; Function compile flags: /Ogtpy
;	COMDAT ?HasError@ncFile@@QAE_NXZ
_TEXT	SEGMENT
?HasError@ncFile@@QAE_NXZ PROC				; ncFile::HasError, COMDAT
; _this$ = ecx

; 41   : 	return (this->m_error != 0);

	xor	eax, eax
	cmp	DWORD PTR [ecx+4], eax
	setne	al

; 42   : }

	ret	0
?HasError@ncFile@@QAE_NXZ ENDP				; ncFile::HasError
_TEXT	ENDS
PUBLIC	??_C@_0BF@ONHLKPCB@?4?4?2NC?5lib?2ncFile?4cpp?$AA@ ; `string'
PUBLIC	??_C@_00CNPNBAHC@?$AA@				; `string'
PUBLIC	?Open@ncFile@@SAPAV1@VncWideString2@@PBD@Z	; ncFile::Open
EXTRN	??2@YAPAXI@Z:PROC				; operator new
EXTRN	?m_setOwner@@YAXPBDI0@Z:PROC			; m_setOwner
;	COMDAT ??_C@_0BF@ONHLKPCB@?4?4?2NC?5lib?2ncFile?4cpp?$AA@
; File d:\source code\nc lib\ncstring2.h
CONST	SEGMENT
??_C@_0BF@ONHLKPCB@?4?4?2NC?5lib?2ncFile?4cpp?$AA@ DB '..\NC lib\ncFile.c'
	DB	'pp', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_00CNPNBAHC@?$AA@
CONST	SEGMENT
??_C@_00CNPNBAHC@?$AA@ DB 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Open@ncFile@@SAPAV1@VncWideString2@@PBD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Open@ncFile@@SAPAV1@VncWideString2@@PBD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Open@ncFile@@SAPAV1@VncWideString2@@PBD@Z$1
__ehfuncinfo$?Open@ncFile@@SAPAV1@VncWideString2@@PBD@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?Open@ncFile@@SAPAV1@VncWideString2@@PBD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\nc lib\ncfile.cpp
xdata$x	ENDS
;	COMDAT ?Open@ncFile@@SAPAV1@VncWideString2@@PBD@Z
_TEXT	SEGMENT
$T41818 = -20						; size = 4
$T41819 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_filename$ = 8						; size = 8
_mode$ = 16						; size = 4
?Open@ncFile@@SAPAV1@VncWideString2@@PBD@Z PROC		; ncFile::Open, COMDAT

; 44   : {

	push	-1
	push	__ehhandler$?Open@ncFile@@SAPAV1@VncWideString2@@PBD@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 8
	push	esi
	push	edi

; 45   : 	return new ncFile(filename, mode);

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	45					; 0000002dH
	xor	esi, esi
	push	OFFSET ??_C@_0BF@ONHLKPCB@?4?4?2NC?5lib?2ncFile?4cpp?$AA@
	mov	DWORD PTR __$EHRec$[esp+48], esi
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	20					; 00000014H
	call	??2@YAPAXI@Z				; operator new
	mov	edi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T41818[esp+28], edi
	cmp	edi, esi
	mov	BYTE PTR __$EHRec$[esp+36], 1
	je	SHORT $LN3@Open
	mov	eax, DWORD PTR _mode$[esp+24]
	push	eax
	sub	esp, 8
	mov	esi, esp
	lea	ecx, DWORD PTR _filename$[esp+36]
	mov	DWORD PTR $T41819[esp+40], esp
	push	ecx
	mov	ecx, esi
	call	??0ncStringBase@@QAE@ABV0@@Z		; ncStringBase::ncStringBase
	mov	ecx, edi
	mov	DWORD PTR [esi], OFFSET ??_7ncWideString2@@6B@
	call	??0ncFile@@QAE@VncWideString2@@PBD@Z	; ncFile::ncFile
	mov	esi, eax
$LN3@Open:
	lea	ecx, DWORD PTR _filename$[esp+24]
	mov	DWORD PTR __$EHRec$[esp+36], -1
	mov	DWORD PTR _filename$[esp+24], OFFSET ??_7ncWideString2@@6B@
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase

; 46   : }

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	pop	edi
	mov	eax, esi
	mov	DWORD PTR fs:0, ecx
	pop	esi
	add	esp, 20					; 00000014H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Open@ncFile@@SAPAV1@VncWideString2@@PBD@Z$0:
	lea	ecx, DWORD PTR _filename$[ebp-4]
	jmp	??1ncWideString2@@UAE@XZ		; ncWideString2::~ncWideString2
__unwindfunclet$?Open@ncFile@@SAPAV1@VncWideString2@@PBD@Z$1:
	mov	eax, DWORD PTR $T41818[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Open@ncFile@@SAPAV1@VncWideString2@@PBD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Open@ncFile@@SAPAV1@VncWideString2@@PBD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Open@ncFile@@SAPAV1@VncWideString2@@PBD@Z ENDP		; ncFile::Open
; Function compile flags: /Ogtpy
;	COMDAT ?IsOpened@ncFile@@UAE_NXZ
_TEXT	SEGMENT
?IsOpened@ncFile@@UAE_NXZ PROC				; ncFile::IsOpened, COMDAT
; _this$ = ecx

; 49   : 	return (this->m_filePtr != NULL);

	xor	eax, eax
	cmp	DWORD PTR [ecx+8], eax
	setne	al

; 50   : }

	ret	0
?IsOpened@ncFile@@UAE_NXZ ENDP				; ncFile::IsOpened
_TEXT	ENDS
PUBLIC	?Exists@ncFile@@SA_NVncWideString2@@@Z		; ncFile::Exists
;	COMDAT xdata$x
; File d:\source code\nc lib\ncstring2.h
xdata$x	SEGMENT
__unwindtable$?Exists@ncFile@@SA_NVncWideString2@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Exists@ncFile@@SA_NVncWideString2@@@Z$0
__ehfuncinfo$?Exists@ncFile@@SA_NVncWideString2@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Exists@ncFile@@SA_NVncWideString2@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\nc lib\ncfile.cpp
xdata$x	ENDS
;	COMDAT ?Exists@ncFile@@SA_NVncWideString2@@@Z
_TEXT	SEGMENT
$T41848 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_filename$ = 8						; size = 8
?Exists@ncFile@@SA_NVncWideString2@@@Z PROC		; ncFile::Exists, COMDAT

; 56   : {

	push	-1
	push	__ehhandler$?Exists@ncFile@@SA_NVncWideString2@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	ebx
	push	esi

; 57   : 	bool exist = false;
; 58   : 	ncFile *file = ncFile::Open(filename);

	push	OFFSET ??_C@_01KDCPPGHE@r?$AA@
	sub	esp, 8
	mov	esi, esp
	lea	eax, DWORD PTR _filename$[esp+32]
	mov	DWORD PTR $T41848[esp+36], esp
	xor	ebx, ebx
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+48], ebx
	call	??0ncStringBase@@QAE@ABV0@@Z		; ncStringBase::ncStringBase
	mov	DWORD PTR [esi], OFFSET ??_7ncWideString2@@6B@
	call	?Open@ncFile@@SAPAV1@VncWideString2@@PBD@Z ; ncFile::Open
	mov	esi, eax

; 59   : 	if (file->IsOpened())

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+4]
	add	esp, 12					; 0000000cH
	mov	ecx, esi
	call	eax
	test	al, al
	je	SHORT $LN1@Exists

; 60   : 		exist = true;

	mov	bl, 1
$LN1@Exists:

; 61   : 	file->Close();

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+8]
	mov	ecx, esi
	call	eax

; 62   : 	return exist;

	lea	ecx, DWORD PTR _filename$[esp+20]
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR _filename$[esp+20], OFFSET ??_7ncWideString2@@6B@
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase

; 63   : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	esi
	mov	al, bl
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Exists@ncFile@@SA_NVncWideString2@@@Z$0:
	lea	ecx, DWORD PTR _filename$[ebp-4]
	jmp	??1ncWideString2@@UAE@XZ		; ncWideString2::~ncWideString2
__ehhandler$?Exists@ncFile@@SA_NVncWideString2@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Exists@ncFile@@SA_NVncWideString2@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Exists@ncFile@@SA_NVncWideString2@@@Z ENDP		; ncFile::Exists
; Function compile flags: /Ogtpy
;	COMDAT ?Close@ncFile@@UAEXXZ
_TEXT	SEGMENT
?Close@ncFile@@UAEXXZ PROC				; ncFile::Close, COMDAT
; _this$ = ecx

; 65   : {

	push	esi

; 66   : 	delete this;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	66					; 00000042H
	push	OFFSET ??_C@_0BF@ONHLKPCB@?4?4?2NC?5lib?2ncFile?4cpp?$AA@
	mov	esi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	add	esp, 12					; 0000000cH
	test	esi, esi
	je	SHORT $LN3@Close
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax]
	push	1
	mov	ecx, esi
	call	edx
$LN3@Close:
	pop	esi

; 67   : }

	ret	0
?Close@ncFile@@UAEXXZ ENDP				; ncFile::Close
_TEXT	ENDS
PUBLIC	?Read@ncFile@@QAEKPAXK@Z			; ncFile::Read
EXTRN	_ferror:PROC
EXTRN	_fread:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?Read@ncFile@@QAEKPAXK@Z
_TEXT	SEGMENT
_buffer$ = 8						; size = 4
_length$ = 12						; size = 4
?Read@ncFile@@QAEKPAXK@Z PROC				; ncFile::Read, COMDAT
; _this$ = ecx

; 96   : {

	push	esi
	mov	esi, ecx

; 97   : 	if (this->IsOpened())

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
	test	al, al
	je	SHORT $LN3@Read

; 98   : 	{
; 99   : 		this->m_error = 0;
; 100  : 		unsigned int readLen = fread(buffer, 1, length, this->m_filePtr);

	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR _buffer$[esp]
	push	ebx
	mov	ebx, DWORD PTR _length$[esp+4]
	push	edi
	push	eax
	push	ebx
	push	1
	push	ecx
	mov	DWORD PTR [esi+4], 0
	call	_fread
	mov	edi, eax
	add	esp, 16					; 00000010H

; 101  : 		if (readLen != length)

	cmp	edi, ebx
	je	SHORT $LN2@Read

; 102  : 		{
; 103  : 			if (this->IsEof())

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+12]
	mov	ecx, esi
	call	eax
	test	al, al

; 104  : 				return readLen;

	jne	SHORT $LN2@Read

; 105  : 
; 106  : 			this->m_error = ferror(this->m_filePtr);

	mov	ecx, DWORD PTR [esi+8]
	push	ecx
	call	_ferror
	add	esp, 4
	mov	DWORD PTR [esi+4], eax
$LN2@Read:

; 107  : 		}
; 108  : 		return readLen;

	mov	eax, edi
	pop	edi
	pop	ebx
	pop	esi

; 111  : }

	ret	8
$LN3@Read:

; 109  : 	}
; 110  : 	return 0;

	xor	eax, eax
	pop	esi

; 111  : }

	ret	8
?Read@ncFile@@QAEKPAXK@Z ENDP				; ncFile::Read
_TEXT	ENDS
PUBLIC	?Rename@ncFile@@SA_NVncWideString2@@0@Z		; ncFile::Rename
EXTRN	__wrename:PROC
;	COMDAT xdata$x
; File d:\source code\nc lib\ncstring2.h
xdata$x	SEGMENT
__unwindtable$?Rename@ncFile@@SA_NVncWideString2@@0@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Rename@ncFile@@SA_NVncWideString2@@0@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Rename@ncFile@@SA_NVncWideString2@@0@Z$1
__ehfuncinfo$?Rename@ncFile@@SA_NVncWideString2@@0@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?Rename@ncFile@@SA_NVncWideString2@@0@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\nc lib\ncfile.cpp
xdata$x	ENDS
;	COMDAT ?Rename@ncFile@@SA_NVncWideString2@@0@Z
_TEXT	SEGMENT
$T41883 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_srcfile$ = 8						; size = 8
_dstfile$ = 16						; size = 8
?Rename@ncFile@@SA_NVncWideString2@@0@Z PROC		; ncFile::Rename, COMDAT

; 215  : {

	push	-1
	push	__ehhandler$?Rename@ncFile@@SA_NVncWideString2@@0@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	ebx
	push	esi
	push	edi

; 216  : 	if (!ncFile::Exists(srcfile))

	sub	esp, 8
	mov	esi, esp
	lea	eax, DWORD PTR _srcfile$[esp+32]
	mov	DWORD PTR $T41883[esp+36], esp
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+48], 1
	call	??0ncStringBase@@QAE@ABV0@@Z		; ncStringBase::ncStringBase
	mov	edi, OFFSET ??_7ncWideString2@@6B@
	mov	DWORD PTR [esi], edi
	call	?Exists@ncFile@@SA_NVncWideString2@@@Z	; ncFile::Exists
	add	esp, 8
	test	al, al
	jne	SHORT $LN1@Rename

; 217  : 		return false;

	lea	ecx, DWORD PTR _srcfile$[esp+24]
	mov	BYTE PTR __$EHRec$[esp+36], al
	mov	DWORD PTR _srcfile$[esp+24], edi
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	lea	ecx, DWORD PTR _dstfile$[esp+24]
	mov	DWORD PTR __$EHRec$[esp+36], -1
	mov	DWORD PTR _dstfile$[esp+24], edi
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	xor	al, al

; 219  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	add	esp, 16					; 00000010H
	ret	0
$LN1@Rename:

; 218  : 	return (_wrename(srcfile.GetString(), dstfile.GetString()) == 0);

	mov	eax, DWORD PTR _dstfile$[esp+28]
	test	eax, eax
	je	SHORT $LN18@Rename
	mov	ecx, DWORD PTR [eax+8]
	jmp	SHORT $LN19@Rename
$LN18@Rename:
	xor	ecx, ecx
$LN19@Rename:
	mov	eax, DWORD PTR _srcfile$[esp+28]
	test	eax, eax
	je	SHORT $LN24@Rename
	mov	eax, DWORD PTR [eax+8]
	jmp	SHORT $LN25@Rename
$LN24@Rename:
	xor	eax, eax
$LN25@Rename:
	push	ecx
	push	eax
	call	__wrename
	add	esp, 8
	test	eax, eax
	lea	ecx, DWORD PTR _srcfile$[esp+24]
	sete	bl
	mov	BYTE PTR __$EHRec$[esp+36], 0
	mov	DWORD PTR _srcfile$[esp+24], edi
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	lea	ecx, DWORD PTR _dstfile$[esp+24]
	mov	DWORD PTR __$EHRec$[esp+36], -1
	mov	DWORD PTR _dstfile$[esp+24], edi
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase

; 219  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	pop	edi
	pop	esi
	mov	al, bl
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Rename@ncFile@@SA_NVncWideString2@@0@Z$0:
	lea	ecx, DWORD PTR _dstfile$[ebp-4]
	jmp	??1ncWideString2@@UAE@XZ		; ncWideString2::~ncWideString2
__unwindfunclet$?Rename@ncFile@@SA_NVncWideString2@@0@Z$1:
	lea	ecx, DWORD PTR _srcfile$[ebp-4]
	jmp	??1ncWideString2@@UAE@XZ		; ncWideString2::~ncWideString2
__ehhandler$?Rename@ncFile@@SA_NVncWideString2@@0@Z:
	mov	eax, OFFSET __ehfuncinfo$?Rename@ncFile@@SA_NVncWideString2@@0@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Rename@ncFile@@SA_NVncWideString2@@0@Z ENDP		; ncFile::Rename
PUBLIC	?Remove@ncFile@@SA_NVncWideString2@@@Z		; ncFile::Remove
EXTRN	__wremove:PROC
;	COMDAT xdata$x
; File d:\source code\nc lib\ncstring2.h
xdata$x	SEGMENT
__unwindtable$?Remove@ncFile@@SA_NVncWideString2@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Remove@ncFile@@SA_NVncWideString2@@@Z$0
__ehfuncinfo$?Remove@ncFile@@SA_NVncWideString2@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Remove@ncFile@@SA_NVncWideString2@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\nc lib\ncfile.cpp
xdata$x	ENDS
;	COMDAT ?Remove@ncFile@@SA_NVncWideString2@@@Z
_TEXT	SEGMENT
$T41945 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_filename$ = 8						; size = 8
?Remove@ncFile@@SA_NVncWideString2@@@Z PROC		; ncFile::Remove, COMDAT

; 221  : {

	push	-1
	push	__ehhandler$?Remove@ncFile@@SA_NVncWideString2@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	ebx
	push	esi

; 222  : 	if (!ncFile::Exists(filename))

	sub	esp, 8
	mov	esi, esp
	lea	eax, DWORD PTR _filename$[esp+28]
	mov	DWORD PTR $T41945[esp+32], esp
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+44], 0
	call	??0ncStringBase@@QAE@ABV0@@Z		; ncStringBase::ncStringBase
	mov	DWORD PTR [esi], OFFSET ??_7ncWideString2@@6B@
	call	?Exists@ncFile@@SA_NVncWideString2@@@Z	; ncFile::Exists
	add	esp, 8
	test	al, al
	jne	SHORT $LN1@Remove

; 223  : 		return false;

	lea	ecx, DWORD PTR _filename$[esp+20]
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR _filename$[esp+20], OFFSET ??_7ncWideString2@@6B@
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	xor	al, al

; 225  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	mov	DWORD PTR fs:0, ecx
	pop	esi
	pop	ebx
	add	esp, 16					; 00000010H
	ret	0
$LN1@Remove:

; 224  : 	return (_wremove(filename.GetString()) == 0);

	mov	eax, DWORD PTR _filename$[esp+24]
	test	eax, eax
	je	SHORT $LN14@Remove
	mov	eax, DWORD PTR [eax+8]
	jmp	SHORT $LN15@Remove
$LN14@Remove:
	xor	eax, eax
$LN15@Remove:
	push	eax
	call	__wremove
	add	esp, 4
	test	eax, eax
	lea	ecx, DWORD PTR _filename$[esp+20]
	sete	bl
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR _filename$[esp+20], OFFSET ??_7ncWideString2@@6B@
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase

; 225  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	esi
	mov	al, bl
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Remove@ncFile@@SA_NVncWideString2@@@Z$0:
	lea	ecx, DWORD PTR _filename$[ebp-4]
	jmp	??1ncWideString2@@UAE@XZ		; ncWideString2::~ncWideString2
__ehhandler$?Remove@ncFile@@SA_NVncWideString2@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Remove@ncFile@@SA_NVncWideString2@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Remove@ncFile@@SA_NVncWideString2@@@Z ENDP		; ncFile::Remove
PUBLIC	?Flush@ncFile@@QAE_NXZ				; ncFile::Flush
EXTRN	_fflush:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?Flush@ncFile@@QAE_NXZ
_TEXT	SEGMENT
?Flush@ncFile@@QAE_NXZ PROC				; ncFile::Flush, COMDAT
; _this$ = ecx

; 227  : {

	push	esi
	mov	esi, ecx

; 228  : 	if (this->IsOpened())

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
	test	al, al
	je	SHORT $LN2@Flush

; 229  : 	{
; 230  : 		if (fflush(this->m_filePtr) == -1)

	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	_fflush
	add	esp, 4
	cmp	eax, -1
	jne	SHORT $LN1@Flush

; 231  : 			this->m_error = ferror(this->m_filePtr);

	mov	ecx, DWORD PTR [esi+8]
	push	ecx
	call	_ferror
	add	esp, 4
	mov	DWORD PTR [esi+4], eax
$LN1@Flush:

; 232  : 		return this->HasError();

	xor	eax, eax
	cmp	DWORD PTR [esi+4], eax
	pop	esi
	setne	al

; 235  : }

	ret	0
$LN2@Flush:

; 233  : 	}
; 234  : 	return false;

	xor	al, al
	pop	esi

; 235  : }

	ret	0
?Flush@ncFile@@QAE_NXZ ENDP				; ncFile::Flush
_TEXT	ENDS
EXTRN	_feof:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?IsEof@ncFile@@UAE_NXZ
_TEXT	SEGMENT
?IsEof@ncFile@@UAE_NXZ PROC				; ncFile::IsEof, COMDAT
; _this$ = ecx

; 237  : {

	push	esi
	mov	esi, ecx

; 238  : 	if (this->IsOpened())

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
	test	al, al
	je	SHORT $LN1@IsEof

; 239  : 		return (feof(this->m_filePtr) != 0);

	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	_feof
	add	esp, 4
	neg	eax
	sbb	eax, eax
	neg	eax
	pop	esi

; 241  : }

	ret	0
$LN1@IsEof:

; 240  : 	return false;

	xor	al, al
	pop	esi

; 241  : }

	ret	0
?IsEof@ncFile@@UAE_NXZ ENDP				; ncFile::IsEof
_TEXT	ENDS
PUBLIC	?Seek@ncFile@@QAE_N_JH@Z			; ncFile::Seek
EXTRN	__fseeki64:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?Seek@ncFile@@QAE_N_JH@Z
_TEXT	SEGMENT
_pos$ = 8						; size = 8
_type$ = 16						; size = 4
?Seek@ncFile@@QAE_N_JH@Z PROC				; ncFile::Seek, COMDAT
; _this$ = ecx

; 243  : {

	push	esi
	mov	esi, ecx

; 244  : 	if (this->m_filePtr)

	mov	eax, DWORD PTR [esi+8]
	test	eax, eax
	je	SHORT $LN2@Seek

; 245  : 	{
; 246  : 		this->m_error = 0;
; 247  : 		if (_fseeki64(this->m_filePtr, pos, type) != 0)

	mov	ecx, DWORD PTR _type$[esp]
	mov	edx, DWORD PTR _pos$[esp+4]
	push	ecx
	mov	ecx, DWORD PTR _pos$[esp+4]
	push	edx
	push	ecx
	push	eax
	mov	DWORD PTR [esi+4], 0
	call	__fseeki64
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN1@Seek

; 248  : 			this->m_error = ferror(this->m_filePtr);

	mov	edx, DWORD PTR [esi+8]
	push	edx
	call	_ferror
	add	esp, 4
	mov	DWORD PTR [esi+4], eax
$LN1@Seek:

; 249  : 		return this->HasError();

	xor	eax, eax
	cmp	DWORD PTR [esi+4], eax
	pop	esi
	setne	al

; 252  : }

	ret	12					; 0000000cH
$LN2@Seek:

; 250  : 	}
; 251  : 	return false;

	xor	al, al
	pop	esi

; 252  : }

	ret	12					; 0000000cH
?Seek@ncFile@@QAE_N_JH@Z ENDP				; ncFile::Seek
_TEXT	ENDS
PUBLIC	?GetPos@ncFile@@QAE_JXZ				; ncFile::GetPos
EXTRN	__ftelli64:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?GetPos@ncFile@@QAE_JXZ
_TEXT	SEGMENT
?GetPos@ncFile@@QAE_JXZ PROC				; ncFile::GetPos, COMDAT
; _this$ = ecx

; 254  : {

	push	esi
	mov	esi, ecx

; 255  : 	if (this->IsOpened())

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
	test	al, al
	je	SHORT $LN1@GetPos

; 256  : 		return _ftelli64(this->m_filePtr);

	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	__ftelli64
	add	esp, 4
	pop	esi

; 258  : }

	ret	0
$LN1@GetPos:

; 257  : 	return -1;

	or	eax, -1
	or	edx, eax
	pop	esi

; 258  : }

	ret	0
?GetPos@ncFile@@QAE_JXZ ENDP				; ncFile::GetPos
_TEXT	ENDS
PUBLIC	?GetSize@ncFile@@QAE_JXZ			; ncFile::GetSize
; Function compile flags: /Ogtpy
;	COMDAT ?GetSize@ncFile@@QAE_JXZ
_TEXT	SEGMENT
_curpos$ = -8						; size = 8
?GetSize@ncFile@@QAE_JXZ PROC				; ncFile::GetSize, COMDAT
; _this$ = ecx

; 260  : {

	sub	esp, 8
	push	ebx
	push	ebp
	push	esi
	mov	esi, ecx

; 261  : 	__int64 curpos = this->GetPos();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	push	edi
	call	edx
	or	ebx, -1
	test	al, al
	je	SHORT $LN3@GetSize
	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	__ftelli64
	add	esp, 4
	mov	ebp, eax
	mov	DWORD PTR _curpos$[esp+28], edx
	jmp	SHORT $LN4@GetSize
$LN3@GetSize:
	mov	ebp, ebx
	mov	DWORD PTR _curpos$[esp+28], ebx
$LN4@GetSize:

; 262  : 	this->Seek(0, SEEK_END);

	mov	eax, DWORD PTR [esi+8]
	test	eax, eax
	je	SHORT $LN6@GetSize
	push	2
	push	0
	push	0
	push	eax
	mov	DWORD PTR [esi+4], 0
	call	__fseeki64
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN6@GetSize
	mov	ecx, DWORD PTR [esi+8]
	push	ecx
	call	_ferror
	add	esp, 4
	mov	DWORD PTR [esi+4], eax
$LN6@GetSize:

; 263  : 	__int64 size = this->GetPos();

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+4]
	mov	ecx, esi
	call	eax
	test	al, al
	je	SHORT $LN12@GetSize
	mov	ecx, DWORD PTR [esi+8]
	push	ecx
	call	__ftelli64
	add	esp, 4
	mov	edi, eax
	mov	ebx, edx
	jmp	SHORT $LN13@GetSize
$LN12@GetSize:
	mov	edi, ebx
$LN13@GetSize:

; 264  : 	this->Seek(curpos, SEEK_SET);

	mov	eax, DWORD PTR [esi+8]
	test	eax, eax
	je	SHORT $LN22@GetSize
	mov	edx, DWORD PTR _curpos$[esp+28]
	push	0
	push	edx
	push	ebp
	push	eax
	mov	DWORD PTR [esi+4], 0
	call	__fseeki64
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN22@GetSize
	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	_ferror
	add	esp, 4
	mov	DWORD PTR [esi+4], eax
$LN22@GetSize:

; 265  : 	return size;

	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebp
	mov	edx, ebx
	pop	ebx

; 266  : }

	add	esp, 8
	ret	0
?GetSize@ncFile@@QAE_JXZ ENDP				; ncFile::GetSize
_TEXT	ENDS
PUBLIC	?GetFP@ncFile@@QAEPAU_iobuf@@XZ			; ncFile::GetFP
; Function compile flags: /Ogtpy
;	COMDAT ?GetFP@ncFile@@QAEPAU_iobuf@@XZ
_TEXT	SEGMENT
?GetFP@ncFile@@QAEPAU_iobuf@@XZ PROC			; ncFile::GetFP, COMDAT
; _this$ = ecx

; 269  : 	return this->m_filePtr;

	mov	eax, DWORD PTR [ecx+8]

; 270  : }

	ret	0
?GetFP@ncFile@@QAEPAU_iobuf@@XZ ENDP			; ncFile::GetFP
_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
$T42039 = -12						; size = 12
_this$ = 8						; size = 4
$T42045 = 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 $T42045[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T42039[esp+20]
	mov	DWORD PTR $T42045[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T42039[esp+20]
	push	ecx
	mov	DWORD PTR $T42039[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
$T42051 = -12						; size = 12
$T42056 = 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 $T42056[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T42051[esp+20]
	mov	DWORD PTR $T42056[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T42051[esp+20]
	push	ecx
	mov	DWORD PTR $T42051[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	??1ncFile@@UAE@XZ				; ncFile::~ncFile
EXTRN	_fclose:PROC
; Function compile flags: /Ogtpy
; File d:\source code\nc lib\ncfile.cpp
;	COMDAT ??1ncFile@@UAE@XZ
_TEXT	SEGMENT
??1ncFile@@UAE@XZ PROC					; ncFile::~ncFile, COMDAT
; _this$ = ecx

; 23   : {

	push	esi
	mov	esi, ecx

; 24   : 	if (this->IsOpened())

	mov	eax, DWORD PTR [esi+8]
	test	eax, eax
	mov	DWORD PTR [esi], OFFSET ??_7ncFile@@6B@
	je	SHORT $LN1@ncFile@2

; 25   : 	{
; 26   : 		fclose(this->m_filePtr);

	push	eax
	call	_fclose
	add	esp, 4

; 27   : 		this->m_filePtr = NULL;

	mov	DWORD PTR [esi+8], 0
$LN1@ncFile@2:

; 28   : 	}
; 29   : 	this->m_error = 0;
; 30   : }

	lea	ecx, DWORD PTR [esi+12]
	mov	DWORD PTR [esi+4], 0
	mov	DWORD PTR [ecx], OFFSET ??_7ncWideString2@@6B@
	pop	esi
	jmp	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
??1ncFile@@UAE@XZ ENDP					; ncFile::~ncFile
_TEXT	ENDS
PUBLIC	?Exists@ncFile@@QAE_NXZ				; ncFile::Exists
; Function compile flags: /Ogtpy
;	COMDAT ?Exists@ncFile@@QAE_NXZ
_TEXT	SEGMENT
$T42095 = -4						; size = 4
?Exists@ncFile@@QAE_NXZ PROC				; ncFile::Exists, COMDAT
; _this$ = ecx

; 52   : {

	push	ecx
	push	esi

; 53   : 	return this->Exists(this->m_filename);

	sub	esp, 8
	add	ecx, 12					; 0000000cH
	mov	esi, esp
	mov	DWORD PTR $T42095[esp+16], esp
	push	ecx
	mov	ecx, esi
	call	??0ncStringBase@@QAE@ABV0@@Z		; ncStringBase::ncStringBase
	mov	DWORD PTR [esi], OFFSET ??_7ncWideString2@@6B@
	call	?Exists@ncFile@@SA_NVncWideString2@@@Z	; ncFile::Exists
	add	esp, 8

; 54   : }

	pop	esi
	pop	ecx
	ret	0
?Exists@ncFile@@QAE_NXZ ENDP				; ncFile::Exists
_TEXT	ENDS
PUBLIC	?Read@ncFile@@QAE_NAAVncString2@@I@Z		; ncFile::Read
EXTRN	??_V@YAXPAX@Z:PROC				; operator delete[]
EXTRN	?SetBuffer@ncStringData@@QAEXPAXHE@Z:PROC	; ncStringData::SetBuffer
EXTRN	??_U@YAPAXI@Z:PROC				; operator new[]
; Function compile flags: /Ogtpy
;	COMDAT ?Read@ncFile@@QAE_NAAVncString2@@I@Z
_TEXT	SEGMENT
_buffer$ = 8						; size = 4
_length$ = 12						; size = 4
?Read@ncFile@@QAE_NAAVncString2@@I@Z PROC		; ncFile::Read, COMDAT
; _this$ = ecx

; 69   : {

	push	ebx
	mov	ebx, ecx

; 70   : 	if (this->IsOpened())

	mov	eax, DWORD PTR [ebx]
	mov	edx, DWORD PTR [eax+4]
	call	edx
	test	al, al
	je	$LN1@Read@2
	push	esi
	push	edi

; 71   : 	{
; 72   : 		if (length == 0)

	mov	edi, DWORD PTR _length$[esp+8]
	test	edi, edi
	jne	SHORT $LN3@Read@2

; 73   : 		{
; 74   : 			if (this->GetSize() > 0xFFFFFFFE)

	mov	ecx, ebx
	call	?GetSize@ncFile@@QAE_JXZ		; ncFile::GetSize
	test	edx, edx
	jl	SHORT $LN4@Read@2
	jg	SHORT $LN17@Read@2
	cmp	eax, -2					; fffffffeH
	jbe	SHORT $LN4@Read@2
$LN17@Read@2:

; 75   : 				length = 0xFFFFFFFE;

	mov	edi, -2					; fffffffeH

; 76   : 			else

	jmp	SHORT $LN3@Read@2
$LN4@Read@2:

; 77   : 				length = (unsigned int)this->GetSize();

	mov	ecx, ebx
	call	?GetSize@ncFile@@QAE_JXZ		; ncFile::GetSize
	mov	edi, eax
$LN3@Read@2:

; 78   : 		}
; 79   : 		char *tmp = new char[length + 1];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	79					; 0000004fH
	push	OFFSET ??_C@_0BF@ONHLKPCB@?4?4?2NC?5lib?2ncFile?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	lea	eax, DWORD PTR [edi+1]
	push	eax
	call	??_U@YAPAXI@Z				; operator new[]

; 80   : 		unsigned int len = fread(tmp, 1, length, this->m_filePtr);

	mov	ecx, DWORD PTR [ebx+8]
	push	ecx
	push	edi
	mov	esi, eax
	push	1
	push	esi
	call	_fread
	add	esp, 32					; 00000020H

; 81   : 		if (len > 0)

	test	eax, eax
	jbe	SHORT $LN2@Read@2

; 82   : 		{
; 83   : 			buffer.GetData()->SetBuffer(tmp, len, 1);

	mov	edx, DWORD PTR _buffer$[esp+8]
	mov	ecx, DWORD PTR [edx+4]
	push	1
	push	eax
	push	esi
	call	?SetBuffer@ncStringData@@QAEXPAXHE@Z	; ncStringData::SetBuffer

; 84   : 			delete[] tmp;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	84					; 00000054H
	push	OFFSET ??_C@_0BF@ONHLKPCB@?4?4?2NC?5lib?2ncFile?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	esi
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi

; 85   : 			return true;

	mov	al, 1
	pop	ebx

; 94   : }

	ret	8
$LN2@Read@2:

; 86   : 		}
; 87   : 		else
; 88   : 		{
; 89   : 			delete[] tmp;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	89					; 00000059H
	push	OFFSET ??_C@_0BF@ONHLKPCB@?4?4?2NC?5lib?2ncFile?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	esi
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi

; 90   : 			return false;

	xor	al, al
	pop	ebx

; 94   : }

	ret	8
$LN1@Read@2:

; 91   : 		}
; 92   : 	}
; 93   : 	return false;

	xor	al, al
	pop	ebx

; 94   : }

	ret	8
?Read@ncFile@@QAE_NAAVncString2@@I@Z ENDP		; ncFile::Read
_TEXT	ENDS
PUBLIC	?ReadAll@ncFile@@QAE_NAAVncString2@@@Z		; ncFile::ReadAll
; Function compile flags: /Ogtpy
;	COMDAT ?ReadAll@ncFile@@QAE_NAAVncString2@@@Z
_TEXT	SEGMENT
_curPos$38077 = -8					; size = 8
_buffer$ = 8						; size = 4
?ReadAll@ncFile@@QAE_NAAVncString2@@@Z PROC		; ncFile::ReadAll, COMDAT
; _this$ = ecx

; 113  : {

	sub	esp, 8
	push	esi
	mov	esi, ecx

; 114  : 	if (this->IsOpened())

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
	test	al, al
	je	SHORT $LN6@ReadAll

; 115  : 	{
; 116  : 		// Empty file
; 117  : 		if (this->GetSize() == 0)

	mov	ecx, esi
	call	?GetSize@ncFile@@QAE_JXZ		; ncFile::GetSize
	or	eax, edx
	jne	SHORT $LN5@ReadAll
$LN6@ReadAll:

; 118  : 			return false;

	xor	al, al
	pop	esi

; 161  : 	}
; 162  : 	return false;
; 163  : }

	add	esp, 8
	ret	4
$LN5@ReadAll:

; 119  : 
; 120  : 		// Get current position and save it
; 121  : 		__int64 curPos = this->GetPos();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN13@ReadAll
	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	__ftelli64
	add	esp, 4
	mov	DWORD PTR _curPos$38077[esp+16], edx
	jmp	SHORT $LN27@ReadAll
$LN13@ReadAll:
	or	eax, -1
	mov	DWORD PTR _curPos$38077[esp+16], eax
$LN27@ReadAll:
	push	ebx
	push	ebp
	push	edi

; 122  : 
; 123  : 		// Move to the start of the file
; 124  : 		this->Seek(0, SEEK_SET);

	push	0
	push	0
	push	0
	mov	ecx, esi
	mov	DWORD PTR _curPos$38077[esp+36], eax
	call	?Seek@ncFile@@QAE_N_JH@Z		; ncFile::Seek

; 125  : 
; 126  : 		// Allocate temporary buffer
; 127  : 		// Limit is 2GB as this is a 32bit limitation
; 128  : 		unsigned int size = 0;
; 129  : 		if (this->GetSize() > 0xFFFFFFFE)

	mov	ecx, esi
	call	?GetSize@ncFile@@QAE_JXZ		; ncFile::GetSize
	test	edx, edx
	jl	SHORT $LN4@ReadAll
	jg	SHORT $LN24@ReadAll
	cmp	eax, -2					; fffffffeH
	jbe	SHORT $LN4@ReadAll
$LN24@ReadAll:

; 130  : 			size = 0xFFFFFFFE;

	mov	ebp, -2					; fffffffeH

; 131  : 		else

	jmp	SHORT $LN3@ReadAll
$LN4@ReadAll:

; 132  : 			size = (unsigned int)this->GetSize();

	mov	ecx, esi
	call	?GetSize@ncFile@@QAE_JXZ		; ncFile::GetSize
	mov	ebp, eax
$LN3@ReadAll:

; 133  : 		char *tmpBuffer = new char[size + 1];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	133					; 00000085H
	push	OFFSET ??_C@_0BF@ONHLKPCB@?4?4?2NC?5lib?2ncFile?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	lea	ecx, DWORD PTR [ebp+1]
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]

; 134  : 
; 135  : 		// Reset error first
; 136  : 		this->m_error = 0;
; 137  : 
; 138  : 		// Get length for succeed read
; 139  : 		unsigned int readLen = fread(tmpBuffer, 1, size, this->m_filePtr);

	mov	edx, DWORD PTR [esi+8]
	push	edx
	push	ebp
	mov	edi, eax
	push	1
	push	edi
	mov	DWORD PTR [esi+4], 0
	call	_fread
	mov	ebx, eax
	add	esp, 32					; 00000020H

; 140  : 		if (readLen != size)

	cmp	ebx, ebp
	je	SHORT $LN1@ReadAll

; 141  : 		{
; 142  : 			// Not EOF, most likely an error occured
; 143  : 			if (!this->ncFile::IsEof())

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN23@ReadAll
	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	_feof
	add	esp, 4
	test	eax, eax
	setne	al
	test	al, al
	jne	SHORT $LN1@ReadAll
$LN23@ReadAll:

; 144  : 			{
; 145  : 				this->m_error = ferror(this->m_filePtr);

	mov	ecx, DWORD PTR [esi+8]
	push	ecx
	call	_ferror
	add	esp, 4
	pop	edi
	pop	ebp
	mov	DWORD PTR [esi+4], eax
	pop	ebx

; 146  : 				return false;

	xor	al, al
	pop	esi

; 161  : 	}
; 162  : 	return false;
; 163  : }

	add	esp, 8
	ret	4
$LN1@ReadAll:

; 147  : 			}
; 148  : 		}
; 149  : 		tmpBuffer[readLen] = '\0';
; 150  : 
; 151  : 		// Clear and move to buffer
; 152  : 		buffer.GetData()->SetBuffer(tmpBuffer, readLen, 1);

	mov	edx, DWORD PTR _buffer$[esp+20]
	push	1
	push	ebx
	mov	BYTE PTR [ebx+edi], 0
	mov	ecx, DWORD PTR [edx+4]
	push	edi
	call	?SetBuffer@ncStringData@@QAEXPAXHE@Z	; ncStringData::SetBuffer

; 153  : 
; 154  : 		// Delete temporary buffer
; 155  : 		delete [] tmpBuffer;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	155					; 0000009bH
	push	OFFSET ??_C@_0BF@ONHLKPCB@?4?4?2NC?5lib?2ncFile?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	edi
	call	??_V@YAXPAX@Z				; operator delete[]

; 156  : 
; 157  : 		// Reset to the original position
; 158  : 		this->Seek(curPos, SEEK_SET);

	mov	eax, DWORD PTR _curPos$38077[esp+44]
	mov	ecx, DWORD PTR _curPos$38077[esp+40]
	add	esp, 16					; 00000010H
	push	0
	push	eax
	push	ecx
	mov	ecx, esi
	call	?Seek@ncFile@@QAE_N_JH@Z		; ncFile::Seek
	pop	edi

; 159  : 
; 160  : 		return (!this->HasError());

	xor	eax, eax
	cmp	DWORD PTR [esi+4], eax
	pop	ebp
	pop	ebx
	sete	al
	pop	esi

; 161  : 	}
; 162  : 	return false;
; 163  : }

	add	esp, 8
	ret	4
?ReadAll@ncFile@@QAE_NAAVncString2@@@Z ENDP		; ncFile::ReadAll
_TEXT	ENDS
PUBLIC	?Write@ncFile@@QAEIVncString2@@I@Z		; ncFile::Write
EXTRN	_fwrite:PROC
;	COMDAT xdata$x
; File d:\source code\nc lib\ncstring2.h
xdata$x	SEGMENT
__unwindtable$?Write@ncFile@@QAEIVncString2@@I@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Write@ncFile@@QAEIVncString2@@I@Z$0
__ehfuncinfo$?Write@ncFile@@QAEIVncString2@@I@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Write@ncFile@@QAEIVncString2@@I@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\nc lib\ncfile.cpp
xdata$x	ENDS
;	COMDAT ?Write@ncFile@@QAEIVncString2@@I@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
_data$ = 8						; size = 8
_length$ = 16						; size = 4
?Write@ncFile@@QAEIVncString2@@I@Z PROC			; ncFile::Write, COMDAT
; _this$ = ecx

; 165  : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Write@ncFile@@QAEIVncString2@@I@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	push	esi
	push	edi
	mov	esi, ecx

; 166  : 	if (this->IsOpened())

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	edx
	test	al, al
	je	SHORT $LN3@Write

; 167  : 	{
; 168  : 		if (length == 0)

	mov	edi, DWORD PTR _length$[esp+16]
	test	edi, edi
	jne	SHORT $LN2@Write

; 169  : 			length = data.GetLength();

	lea	ecx, DWORD PTR _data$[esp+16]
	call	?GetLength@ncStringBase@@UBEIXZ		; ncStringBase::GetLength
	mov	edi, eax
$LN2@Write:

; 170  : 
; 171  : 		this->m_error = 0;
; 172  : 		if (fwrite(data.GetString(), 1, length, this->m_filePtr) != length)

	mov	eax, DWORD PTR _data$[esp+20]
	test	eax, eax
	mov	DWORD PTR [esi+4], 0
	je	SHORT $LN9@Write
	mov	eax, DWORD PTR [eax+8]
	jmp	SHORT $LN10@Write
$LN9@Write:
	xor	eax, eax
$LN10@Write:
	mov	ecx, DWORD PTR [esi+8]
	push	ecx
	push	edi
	push	1
	push	eax
	call	_fwrite
	add	esp, 16					; 00000010H
	cmp	eax, edi
	je	SHORT $LN1@Write

; 173  : 		{
; 174  : 			this->m_error = ferror(this->m_filePtr);

	mov	edx, DWORD PTR [esi+8]
	push	edx
	call	_ferror
	add	esp, 4
	mov	DWORD PTR [esi+4], eax
$LN3@Write:

; 179  : 	}
; 180  : 	return 0;

	lea	ecx, DWORD PTR _data$[esp+16]
	mov	DWORD PTR __$EHRec$[esp+28], -1
	mov	DWORD PTR _data$[esp+16], OFFSET ??_7ncString2@@6B@
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	xor	eax, eax

; 181  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	add	esp, 12					; 0000000cH
	ret	12					; 0000000cH
$LN1@Write:

; 175  : 			return 0;
; 176  : 		}
; 177  : 		this->Flush();

	mov	ecx, esi
	call	?Flush@ncFile@@QAE_NXZ			; ncFile::Flush

; 178  : 		return length;

	lea	ecx, DWORD PTR _data$[esp+16]
	mov	DWORD PTR __$EHRec$[esp+28], -1
	mov	DWORD PTR _data$[esp+16], OFFSET ??_7ncString2@@6B@
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase

; 181  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, edi
	pop	edi
	mov	DWORD PTR fs:0, ecx
	pop	esi
	add	esp, 12					; 0000000cH
	ret	12					; 0000000cH
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Write@ncFile@@QAEIVncString2@@I@Z$0:
	lea	ecx, DWORD PTR _data$[ebp-4]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__ehhandler$?Write@ncFile@@QAEIVncString2@@I@Z:
	mov	eax, OFFSET __ehfuncinfo$?Write@ncFile@@QAEIVncString2@@I@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Write@ncFile@@QAEIVncString2@@I@Z ENDP			; ncFile::Write
PUBLIC	?Write@ncFile@@QAEIPBDK@Z			; ncFile::Write
; Function compile flags: /Ogtpy
;	COMDAT ?Write@ncFile@@QAEIPBDK@Z
_TEXT	SEGMENT
_content$ = 8						; size = 4
_length$ = 12						; size = 4
?Write@ncFile@@QAEIPBDK@Z PROC				; ncFile::Write, COMDAT
; _this$ = ecx

; 183  : {

	push	esi
	mov	esi, ecx

; 184  : 	if (this->IsOpened())

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
	test	al, al
	je	SHORT $LN2@Write@2

; 185  : 	{
; 186  : 		this->m_error = 0;
; 187  : 		unsigned int writeLen = fwrite(content, 1, length, this->m_filePtr);

	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR _content$[esp]
	push	ebx
	push	edi
	mov	edi, DWORD PTR _length$[esp+8]
	push	eax
	push	edi
	push	1
	push	ecx
	mov	DWORD PTR [esi+4], 0
	call	_fwrite
	mov	ebx, eax
	add	esp, 16					; 00000010H

; 188  : 		if (writeLen != length)

	cmp	ebx, edi
	je	SHORT $LN1@Write@2

; 189  : 			this->m_error = ferror(this->m_filePtr);

	mov	edx, DWORD PTR [esi+8]
	push	edx
	call	_ferror
	add	esp, 4
	mov	DWORD PTR [esi+4], eax
$LN1@Write@2:

; 190  : 		this->Flush();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN5@Write@2
	mov	eax, DWORD PTR [esi+8]
	push	eax
	call	_fflush
	add	esp, 4
	cmp	eax, -1
	jne	SHORT $LN5@Write@2
	mov	ecx, DWORD PTR [esi+8]
	push	ecx
	call	_ferror
	add	esp, 4
	mov	DWORD PTR [esi+4], eax
$LN5@Write@2:
	pop	edi

; 191  : 		return writeLen;

	mov	eax, ebx
	pop	ebx
	pop	esi

; 194  : }

	ret	8
$LN2@Write@2:

; 192  : 	}
; 193  : 	return 0;

	xor	eax, eax
	pop	esi

; 194  : }

	ret	8
?Write@ncFile@@QAEIPBDK@Z ENDP				; ncFile::Write
_TEXT	ENDS
PUBLIC	??_C@_01NOFIACDB@w?$AA@				; `string'
PUBLIC	?Copy@ncFile@@SA_JVncWideString2@@0_N@Z		; ncFile::Copy
EXTRN	??0ncString2@@QAE@XZ:PROC			; ncString2::ncString2
EXTRN	??8ncWideString2@@QAE_NABV0@@Z:PROC		; ncWideString2::operator==
;	COMDAT ??_C@_01NOFIACDB@w?$AA@
; File d:\source code\nc lib\ncstring2.h
CONST	SEGMENT
??_C@_01NOFIACDB@w?$AA@ DB 'w', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Copy@ncFile@@SA_JVncWideString2@@0_N@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?Copy@ncFile@@SA_JVncWideString2@@0_N@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Copy@ncFile@@SA_JVncWideString2@@0_N@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Copy@ncFile@@SA_JVncWideString2@@0_N@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Copy@ncFile@@SA_JVncWideString2@@0_N@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Copy@ncFile@@SA_JVncWideString2@@0_N@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$?Copy@ncFile@@SA_JVncWideString2@@0_N@Z$5
	DD	03H
	DD	FLAT:__unwindfunclet$?Copy@ncFile@@SA_JVncWideString2@@0_N@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\nc lib\ncfile.cpp
xdata$x	ENDS
;	COMDAT ?Copy@ncFile@@SA_JVncWideString2@@0_N@Z
_TEXT	SEGMENT
$T42207 = -64						; size = 4
$T42206 = -64						; size = 4
$T42205 = -64						; size = 4
_content$38124 = -60					; size = 8
_src$ = -52						; size = 20
_dst$38118 = -32					; size = 20
__$EHRec$ = -12						; size = 12
_srcfile$ = 8						; size = 8
_dstfile$ = 16						; size = 8
_overwrite$ = 24					; size = 1
?Copy@ncFile@@SA_JVncWideString2@@0_N@Z PROC		; ncFile::Copy, COMDAT

; 196  : {

	push	-1
	push	__ehhandler$?Copy@ncFile@@SA_JVncWideString2@@0_N@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 52					; 00000034H
	push	ebx
	push	ebp
	push	esi
	push	edi

; 197  : 	if (srcfile == dstfile)

	lea	eax, DWORD PTR _dstfile$[esp+76]
	push	eax
	lea	ecx, DWORD PTR _srcfile$[esp+80]
	mov	DWORD PTR __$EHRec$[esp+92], 1
	call	??8ncWideString2@@QAE_NABV0@@Z		; ncWideString2::operator==
	test	al, al

; 198  : 		return -1;

	lea	ecx, DWORD PTR _srcfile$[esp+76]
	je	SHORT $LN4@Copy
	mov	esi, OFFSET ??_7ncWideString2@@6B@
	mov	BYTE PTR __$EHRec$[esp+88], 0
	mov	DWORD PTR _srcfile$[esp+76], esi
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	lea	ecx, DWORD PTR _dstfile$[esp+76]
	mov	DWORD PTR __$EHRec$[esp+88], -1
	mov	DWORD PTR _dstfile$[esp+76], esi
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	or	eax, -1
	jmp	$LN80@Copy
$LN4@Copy:

; 199  : 
; 200  : 	ncFile src(srcfile);

	push	OFFSET ??_C@_01KDCPPGHE@r?$AA@
	sub	esp, 8
	mov	esi, esp
	mov	DWORD PTR $T42205[esp+92], esp
	push	ecx
	mov	ecx, esi
	call	??0ncStringBase@@QAE@ABV0@@Z		; ncStringBase::ncStringBase
	mov	edi, OFFSET ??_7ncWideString2@@6B@
	lea	ecx, DWORD PTR _src$[esp+92]
	mov	DWORD PTR [esi], edi
	call	??0ncFile@@QAE@VncWideString2@@PBD@Z	; ncFile::ncFile

; 201  : 	if (src.IsOpened())

	xor	ebx, ebx
	cmp	DWORD PTR _src$[esp+88], ebx
	mov	BYTE PTR __$EHRec$[esp+88], 2
	je	$LN3@Copy

; 202  : 	{
; 203  : 		ncFile dst(dstfile, "w");

	push	OFFSET ??_C@_01NOFIACDB@w?$AA@
	sub	esp, 8
	mov	esi, esp
	lea	edx, DWORD PTR _dstfile$[esp+88]
	mov	DWORD PTR $T42206[esp+92], esp
	push	edx
	mov	ecx, esi
	call	??0ncStringBase@@QAE@ABV0@@Z		; ncStringBase::ncStringBase
	lea	ecx, DWORD PTR _dst$38118[esp+92]
	mov	DWORD PTR [esi], edi
	call	??0ncFile@@QAE@VncWideString2@@PBD@Z	; ncFile::ncFile
	mov	BYTE PTR __$EHRec$[esp+88], 3
	mov	edi, OFFSET ??_7ncString2@@6B@
$LL2@Copy:

; 204  : 		while (!src.IsEof())

	mov	eax, DWORD PTR _src$[esp+80]
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR _src$[esp+80]
	call	edx
	test	al, al
	je	SHORT $LN78@Copy
	mov	eax, DWORD PTR _src$[esp+88]
	push	eax
	call	_feof
	add	esp, 4
	test	eax, eax
	setne	al
	cmp	al, bl
	jne	SHORT $LN1@Copy
$LN78@Copy:

; 205  : 		{
; 206  : 			ncString2 content;

	lea	ecx, DWORD PTR _content$38124[esp+80]
	call	??0ncString2@@QAE@XZ			; ncString2::ncString2

; 207  : 			src.Read(content, 1024 * 512);

	push	524288					; 00080000H
	lea	ecx, DWORD PTR _content$38124[esp+84]
	push	ecx
	lea	ecx, DWORD PTR _src$[esp+88]
	mov	BYTE PTR __$EHRec$[esp+96], 4
	call	?Read@ncFile@@QAE_NAAVncString2@@I@Z	; ncFile::Read

; 208  : 			dst.Write(content);

	push	ebx
	sub	esp, 8
	mov	esi, esp
	lea	edx, DWORD PTR _content$38124[esp+92]
	mov	DWORD PTR $T42207[esp+92], esp
	push	edx
	mov	ecx, esi
	call	??0ncStringBase@@QAE@ABV0@@Z		; ncStringBase::ncStringBase
	lea	ecx, DWORD PTR _dst$38118[esp+92]
	mov	DWORD PTR [esi], edi
	call	?Write@ncFile@@QAEIVncString2@@I@Z	; ncFile::Write

; 209  : 		}

	lea	ecx, DWORD PTR _content$38124[esp+80]
	mov	BYTE PTR __$EHRec$[esp+88], 3
	mov	DWORD PTR _content$38124[esp+80], edi
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	jmp	SHORT $LL2@Copy
$LN1@Copy:

; 210  : 		return src.GetSize();

	lea	ecx, DWORD PTR _src$[esp+80]
	call	?GetSize@ncFile@@QAE_JXZ		; ncFile::GetSize
	mov	esi, eax
	mov	eax, DWORD PTR _dst$38118[esp+88]
	cmp	eax, ebx
	mov	ebp, OFFSET ??_7ncFile@@6B@
	mov	edi, edx
	mov	BYTE PTR __$EHRec$[esp+88], 2
	mov	DWORD PTR _dst$38118[esp+80], ebp
	je	SHORT $LN38@Copy
	push	eax
	call	_fclose
	add	esp, 4
	mov	DWORD PTR _dst$38118[esp+88], ebx
$LN38@Copy:
	lea	ecx, DWORD PTR _dst$38118[esp+92]
	mov	DWORD PTR _dst$38118[esp+84], ebx
	mov	DWORD PTR _dst$38118[esp+92], OFFSET ??_7ncWideString2@@6B@
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	mov	eax, DWORD PTR _src$[esp+88]
	cmp	eax, ebx
	mov	BYTE PTR __$EHRec$[esp+88], 1
	mov	DWORD PTR _src$[esp+80], ebp
	je	SHORT $LN47@Copy
	push	eax
	call	_fclose
	add	esp, 4
	mov	DWORD PTR _src$[esp+88], ebx
$LN47@Copy:
	mov	ebp, OFFSET ??_7ncWideString2@@6B@
	lea	ecx, DWORD PTR _src$[esp+92]
	mov	DWORD PTR _src$[esp+84], ebx
	mov	DWORD PTR _src$[esp+92], ebp
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	lea	ecx, DWORD PTR _srcfile$[esp+76]
	mov	BYTE PTR __$EHRec$[esp+88], bl
	mov	DWORD PTR _srcfile$[esp+76], ebp
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	lea	ecx, DWORD PTR _dstfile$[esp+76]
	mov	DWORD PTR __$EHRec$[esp+88], -1
	mov	DWORD PTR _dstfile$[esp+76], ebp
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	mov	eax, esi
	mov	edx, edi

; 213  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+80]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
	add	esp, 64					; 00000040H
	ret	0
$LN3@Copy:

; 211  : 	}
; 212  : 	return -2;

	lea	ecx, DWORD PTR _src$[esp+92]
	mov	BYTE PTR __$EHRec$[esp+88], 1
	mov	DWORD PTR _src$[esp+80], OFFSET ??_7ncFile@@6B@
	mov	DWORD PTR _src$[esp+84], ebx
	mov	DWORD PTR _src$[esp+92], edi
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	lea	ecx, DWORD PTR _srcfile$[esp+76]
	mov	BYTE PTR __$EHRec$[esp+88], bl
	mov	DWORD PTR _srcfile$[esp+76], edi
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	lea	ecx, DWORD PTR _dstfile$[esp+76]
	mov	DWORD PTR __$EHRec$[esp+88], -1
	mov	DWORD PTR _dstfile$[esp+76], edi
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	mov	eax, -2					; fffffffeH
$LN80@Copy:

; 213  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+80]
	pop	edi
	pop	esi
	pop	ebp
	or	edx, -1
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 64					; 00000040H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Copy@ncFile@@SA_JVncWideString2@@0_N@Z$0:
	lea	ecx, DWORD PTR _dstfile$[ebp-4]
	jmp	??1ncWideString2@@UAE@XZ		; ncWideString2::~ncWideString2
__unwindfunclet$?Copy@ncFile@@SA_JVncWideString2@@0_N@Z$1:
	lea	ecx, DWORD PTR _srcfile$[ebp-4]
	jmp	??1ncWideString2@@UAE@XZ		; ncWideString2::~ncWideString2
__unwindfunclet$?Copy@ncFile@@SA_JVncWideString2@@0_N@Z$3:
	lea	ecx, DWORD PTR _src$[ebp]
	jmp	??1ncFile@@UAE@XZ			; ncFile::~ncFile
__unwindfunclet$?Copy@ncFile@@SA_JVncWideString2@@0_N@Z$5:
	lea	ecx, DWORD PTR _dst$38118[ebp]
	jmp	??1ncFile@@UAE@XZ			; ncFile::~ncFile
__unwindfunclet$?Copy@ncFile@@SA_JVncWideString2@@0_N@Z$6:
	lea	ecx, DWORD PTR _content$38124[ebp]
	jmp	??1ncString2@@UAE@XZ			; ncString2::~ncString2
__ehhandler$?Copy@ncFile@@SA_JVncWideString2@@0_N@Z:
	mov	eax, OFFSET __ehfuncinfo$?Copy@ncFile@@SA_JVncWideString2@@0_N@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Copy@ncFile@@SA_JVncWideString2@@0_N@Z ENDP		; ncFile::Copy
PUBLIC	?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ; std::_DebugHeapAllocator<char>::deallocate
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\xdebug
;	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>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GncFile@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GncFile@@UAEPAXI@Z PROC				; ncFile::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	mov	eax, DWORD PTR [esi+8]
	test	eax, eax
	mov	DWORD PTR [esi], OFFSET ??_7ncFile@@6B@
	je	SHORT $LN4@scalar@4
	push	eax
	call	_fclose
	add	esp, 4
	mov	DWORD PTR [esi+8], 0
$LN4@scalar@4:
	lea	ecx, DWORD PTR [esi+12]
	mov	DWORD PTR [esi+4], 0
	mov	DWORD PTR [ecx], OFFSET ??_7ncWideString2@@6B@
	call	??1ncStringBase@@UAE@XZ			; ncStringBase::~ncStringBase
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN13@scalar@4
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN13@scalar@4:
	mov	eax, esi
	pop	esi
	ret	4
??_GncFile@@UAEPAXI@Z ENDP				; ncFile::`scalar deleting destructor'
_TEXT	ENDS
END
