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

	TITLE	d:\Source Code\FDS lib\new\fds_io.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
PUBLIC	?TheFileFactory@@3PAPAVnc_FileFactoryClass@@A	; TheFileFactory
;	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@
?TheFileFactory@@3PAPAVnc_FileFactoryClass@@A DD 0809e74H ; TheFileFactory
_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	?Get_Data_File@@YAPAVnc_FileClass@@PAD@Z	; Get_Data_File
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_io.cpp
;	COMDAT ?Get_Data_File@@YAPAVnc_FileClass@@PAD@Z
_TEXT	SEGMENT
_file$ = 8						; size = 4
?Get_Data_File@@YAPAVnc_FileClass@@PAD@Z PROC		; Get_Data_File, COMDAT

; 11   : 	return (*TheFileFactory)->Get_File(file);

	mov	eax, DWORD PTR ?TheFileFactory@@3PAPAVnc_FileFactoryClass@@A ; TheFileFactory
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR _file$[esp-4]
	mov	edx, DWORD PTR [edx+4]
	push	eax
	call	edx

; 12   : }

	ret	0
?Get_Data_File@@YAPAVnc_FileClass@@PAD@Z ENDP		; Get_Data_File
_TEXT	ENDS
PUBLIC	?Close_Data_File@@YAXPAVnc_FileClass@@@Z	; Close_Data_File
; Function compile flags: /Ogtpy
;	COMDAT ?Close_Data_File@@YAXPAVnc_FileClass@@@Z
_TEXT	SEGMENT
_file$ = 8						; size = 4
?Close_Data_File@@YAXPAVnc_FileClass@@@Z PROC		; Close_Data_File, COMDAT

; 16   : 	(*TheFileFactory)->Return_File(file);

	mov	eax, DWORD PTR ?TheFileFactory@@3PAPAVnc_FileFactoryClass@@A ; TheFileFactory
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR _file$[esp-4]
	mov	edx, DWORD PTR [edx+8]
	push	eax
	call	edx

; 17   : }

	ret	0
?Close_Data_File@@YAXPAVnc_FileClass@@@Z ENDP		; Close_Data_File
_TEXT	ENDS
PUBLIC	??0nc_ChunkLoadClass@@QAE@PAVnc_FileClass@@@Z	; nc_ChunkLoadClass::nc_ChunkLoadClass
EXTRN	_memset:PROC
; Function compile flags: /Ogtpy
;	COMDAT ??0nc_ChunkLoadClass@@QAE@PAVnc_FileClass@@@Z
_TEXT	SEGMENT
_file$ = 8						; size = 4
??0nc_ChunkLoadClass@@QAE@PAVnc_FileClass@@@Z PROC	; nc_ChunkLoadClass::nc_ChunkLoadClass, COMDAT
; _this$ = ecx

; 21   : 	File = file;

	mov	eax, DWORD PTR _file$[esp-4]
	push	ebx
	push	esi
	mov	esi, ecx

; 22   : 	StackIndex = 0;

	xor	ebx, ebx

; 23   : 	memset(HeaderStack,0,sizeof(HeaderStack));

	push	2048					; 00000800H
	lea	ecx, DWORD PTR [esi+1032]
	push	ebx
	push	ecx
	mov	DWORD PTR [esi], eax
	mov	DWORD PTR [esi+4], ebx
	call	_memset

; 24   : 	memset(PositionStack,0,sizeof(PositionStack));

	push	1024					; 00000400H
	lea	edx, DWORD PTR [esi+8]
	push	ebx
	push	edx
	call	_memset
	add	esp, 24					; 00000018H

; 25   : 	InMicroChunk = false;

	mov	BYTE PTR [esi+3080], bl

; 26   : 	MicroChunkPosition = 0;

	mov	DWORD PTR [esi+3084], ebx

; 27   : 	MCHeader.ChunkType = 0;

	mov	BYTE PTR [esi+3088], bl

; 28   : }

	mov	eax, esi
	pop	esi
	pop	ebx
	ret	4
??0nc_ChunkLoadClass@@QAE@PAVnc_FileClass@@@Z ENDP	; nc_ChunkLoadClass::nc_ChunkLoadClass
_TEXT	ENDS
PUBLIC	?Open_Chunk@nc_ChunkLoadClass@@QAE_NXZ		; nc_ChunkLoadClass::Open_Chunk
; Function compile flags: /Ogtpy
;	COMDAT ?Open_Chunk@nc_ChunkLoadClass@@QAE_NXZ
_TEXT	SEGMENT
?Open_Chunk@nc_ChunkLoadClass@@QAE_NXZ PROC		; nc_ChunkLoadClass::Open_Chunk, COMDAT
; _this$ = ecx

; 31   : {

	push	esi
	mov	esi, ecx

; 32   : 	if ((StackIndex <= 0) || (PositionStack[StackIndex-1] != (HeaderStack[StackIndex-1].ChunkSize & 0x7FFFFFFF)))

	mov	eax, DWORD PTR [esi+4]
	test	eax, eax
	jle	SHORT $LN2@Open_Chunk
	mov	ecx, DWORD PTR [esi+eax*8+1028]
	and	ecx, 2147483647				; 7fffffffH
	cmp	DWORD PTR [esi+eax*4+4], ecx
	je	SHORT $LN1@Open_Chunk
$LN2@Open_Chunk:

; 33   : 	{
; 34   : 		if (File->Read(&HeaderStack[StackIndex],8) == 8)

	mov	ecx, DWORD PTR [esi]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+36]
	push	8
	lea	eax, DWORD PTR [esi+eax*8+1032]
	push	eax
	call	edx
	cmp	eax, 8
	jne	SHORT $LN1@Open_Chunk

; 35   : 		{
; 36   : 			PositionStack[StackIndex] = 0;

	mov	eax, DWORD PTR [esi+4]
	mov	DWORD PTR [esi+eax*4+8], 0

; 37   : 			StackIndex++;

	mov	eax, 1
	add	DWORD PTR [esi+4], eax
	pop	esi

; 42   : }

	ret	0
$LN1@Open_Chunk:

; 38   : 			return true;
; 39   : 		}
; 40   : 	}
; 41   : 	return false;

	xor	al, al
	pop	esi

; 42   : }

	ret	0
?Open_Chunk@nc_ChunkLoadClass@@QAE_NXZ ENDP		; nc_ChunkLoadClass::Open_Chunk
_TEXT	ENDS
PUBLIC	?Peek_Next_Chunk@nc_ChunkLoadClass@@QAE_NPAI0@Z	; nc_ChunkLoadClass::Peek_Next_Chunk
; Function compile flags: /Ogtpy
;	COMDAT ?Peek_Next_Chunk@nc_ChunkLoadClass@@QAE_NPAI0@Z
_TEXT	SEGMENT
_h$ = -8						; size = 8
_id$ = 8						; size = 4
_length$ = 12						; size = 4
?Peek_Next_Chunk@nc_ChunkLoadClass@@QAE_NPAI0@Z PROC	; nc_ChunkLoadClass::Peek_Next_Chunk, COMDAT
; _this$ = ecx

; 45   : {

	sub	esp, 8
	push	esi
	mov	esi, ecx

; 46   : 	nc_ChunkHeader h;
; 47   : 	if ((StackIndex <= 0) || (PositionStack[StackIndex-1] != (HeaderStack[StackIndex-1].ChunkSize & 0x7FFFFFFF)))

	cmp	DWORD PTR [esi+4], 0
	jle	SHORT $LN4@Peek_Next_
	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [esi+eax*8+1028]
	and	ecx, 2147483647				; 7fffffffH
	cmp	DWORD PTR [esi+eax*4+4], ecx
	je	SHORT $LN3@Peek_Next_
$LN4@Peek_Next_:

; 48   : 	{
; 49   : 		if (File->Read(&h,8) == 8)

	mov	ecx, DWORD PTR [esi]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+36]
	push	8
	lea	eax, DWORD PTR _h$[esp+16]
	push	eax
	call	edx
	cmp	eax, 8
	jne	SHORT $LN3@Peek_Next_

; 50   : 		{
; 51   : 			File->Seek(-8,1);

	mov	ecx, DWORD PTR [esi]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+40]
	push	1
	push	-8					; fffffff8H
	call	edx

; 52   : 			if (length)

	mov	eax, DWORD PTR _length$[esp+8]
	test	eax, eax
	je	SHORT $LN2@Peek_Next_

; 53   : 			{
; 54   : 				*length = h.ChunkSize;

	mov	ecx, DWORD PTR _h$[esp+16]
	mov	DWORD PTR [eax], ecx
$LN2@Peek_Next_:

; 55   : 			}
; 56   : 			if (id)

	mov	eax, DWORD PTR _id$[esp+8]
	test	eax, eax
	je	SHORT $LN1@Peek_Next_

; 57   : 			{
; 58   : 				*id = h.ChunkType & 0x7FFFFFFF;

	mov	edx, DWORD PTR _h$[esp+12]
	and	edx, 2147483647				; 7fffffffH
	mov	DWORD PTR [eax], edx
$LN1@Peek_Next_:

; 59   : 			}
; 60   : 			return true;

	mov	al, 1
	pop	esi

; 64   : }

	add	esp, 8
	ret	8
$LN3@Peek_Next_:

; 61   : 		}
; 62   : 	}
; 63   : 	return false;

	xor	al, al
	pop	esi

; 64   : }

	add	esp, 8
	ret	8
?Peek_Next_Chunk@nc_ChunkLoadClass@@QAE_NPAI0@Z ENDP	; nc_ChunkLoadClass::Peek_Next_Chunk
_TEXT	ENDS
PUBLIC	?Close_Chunk@nc_ChunkLoadClass@@QAE_NXZ		; nc_ChunkLoadClass::Close_Chunk
; Function compile flags: /Ogtpy
;	COMDAT ?Close_Chunk@nc_ChunkLoadClass@@QAE_NXZ
_TEXT	SEGMENT
?Close_Chunk@nc_ChunkLoadClass@@QAE_NXZ PROC		; nc_ChunkLoadClass::Close_Chunk, COMDAT
; _this$ = ecx

; 67   : {

	push	esi
	mov	esi, ecx

; 68   : 	unsigned int x = HeaderStack[StackIndex-1].ChunkSize & 0x7FFFFFFF;

	mov	eax, DWORD PTR [esi+4]
	push	edi
	mov	edi, DWORD PTR [esi+eax*8+1028]

; 69   : 	if (PositionStack[StackIndex-1] < (x))

	mov	eax, DWORD PTR [esi+eax*4+4]
	and	edi, 2147483647				; 7fffffffH
	cmp	eax, edi
	jae	SHORT $LN2@Close_Chun

; 70   : 	{
; 71   : 		File->Seek((x) - PositionStack[StackIndex-1],1);

	mov	ecx, DWORD PTR [esi]
	mov	edx, DWORD PTR [ecx]
	push	ebx
	mov	ebx, edi
	sub	ebx, eax
	mov	eax, DWORD PTR [edx+40]
	push	1
	push	ebx
	call	eax
	pop	ebx
$LN2@Close_Chun:

; 72   : 	}
; 73   : 	StackIndex--;

	add	DWORD PTR [esi+4], -1
	mov	eax, DWORD PTR [esi+4]

; 74   : 	if (StackIndex > 0)

	test	eax, eax
	jle	SHORT $LN5@Close_Chun

; 75   : 	{
; 76   : 		PositionStack[StackIndex-1] += (x);

	add	DWORD PTR [esi+eax*4+4], edi

; 77   : 		PositionStack[StackIndex-1] += 8;

	mov	ecx, DWORD PTR [esi+4]
	add	DWORD PTR [esi+ecx*4+4], 8
	lea	eax, DWORD PTR [esi+ecx*4+4]
$LN5@Close_Chun:
	pop	edi

; 78   : 	}
; 79   : 	return true;

	mov	al, 1
	pop	esi

; 80   : }

	ret	0
?Close_Chunk@nc_ChunkLoadClass@@QAE_NXZ ENDP		; nc_ChunkLoadClass::Close_Chunk
_TEXT	ENDS
PUBLIC	?Cur_Chunk_ID@nc_ChunkLoadClass@@QAEKXZ		; nc_ChunkLoadClass::Cur_Chunk_ID
; Function compile flags: /Ogtpy
;	COMDAT ?Cur_Chunk_ID@nc_ChunkLoadClass@@QAEKXZ
_TEXT	SEGMENT
?Cur_Chunk_ID@nc_ChunkLoadClass@@QAEKXZ PROC		; nc_ChunkLoadClass::Cur_Chunk_ID, COMDAT
; _this$ = ecx

; 84   : 	return HeaderStack[StackIndex-1].ChunkType;

	mov	eax, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR [ecx+eax*8+1024]

; 85   : }

	ret	0
?Cur_Chunk_ID@nc_ChunkLoadClass@@QAEKXZ ENDP		; nc_ChunkLoadClass::Cur_Chunk_ID
_TEXT	ENDS
PUBLIC	?Cur_Chunk_Length@nc_ChunkLoadClass@@QAEKXZ	; nc_ChunkLoadClass::Cur_Chunk_Length
; Function compile flags: /Ogtpy
;	COMDAT ?Cur_Chunk_Length@nc_ChunkLoadClass@@QAEKXZ
_TEXT	SEGMENT
?Cur_Chunk_Length@nc_ChunkLoadClass@@QAEKXZ PROC	; nc_ChunkLoadClass::Cur_Chunk_Length, COMDAT
; _this$ = ecx

; 89   : 	return HeaderStack[StackIndex-1].ChunkSize & 0x7FFFFFFF;

	mov	eax, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR [ecx+eax*8+1028]
	and	eax, 2147483647				; 7fffffffH

; 90   : }

	ret	0
?Cur_Chunk_Length@nc_ChunkLoadClass@@QAEKXZ ENDP	; nc_ChunkLoadClass::Cur_Chunk_Length
_TEXT	ENDS
PUBLIC	?Cur_Chunk_Depth@nc_ChunkLoadClass@@QAEHXZ	; nc_ChunkLoadClass::Cur_Chunk_Depth
; Function compile flags: /Ogtpy
;	COMDAT ?Cur_Chunk_Depth@nc_ChunkLoadClass@@QAEHXZ
_TEXT	SEGMENT
?Cur_Chunk_Depth@nc_ChunkLoadClass@@QAEHXZ PROC		; nc_ChunkLoadClass::Cur_Chunk_Depth, COMDAT
; _this$ = ecx

; 94   : 	return StackIndex;

	mov	eax, DWORD PTR [ecx+4]

; 95   : }

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

; 99   : 	return HeaderStack[StackIndex-1].ChunkSize & 0x80000000;

	mov	eax, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR [ecx+eax*8+1028]
	and	eax, -2147483648			; 80000000H

; 100  : }

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

; 115  : {

	push	esi
	mov	esi, ecx

; 116  : 	InMicroChunk = false;
; 117  : 	if (MicroChunkPosition < 0)

	mov	eax, DWORD PTR [esi+3084]
	test	eax, eax
	mov	BYTE PTR [esi+3080], 0
	jge	SHORT $LN6@Close_Micr

; 118  : 	{
; 119  : 		File->Seek(MCHeader.ChunkSize - MicroChunkPosition,1);

	mov	ecx, DWORD PTR [esi]
	mov	edx, DWORD PTR [ecx]
	push	edi
	movzx	edi, BYTE PTR [esi+3089]
	sub	edi, eax
	mov	eax, DWORD PTR [edx+40]
	push	1
	push	edi
	call	eax

; 120  : 		if (StackIndex > 0)

	mov	eax, DWORD PTR [esi+4]
	test	eax, eax
	pop	edi
	jle	SHORT $LN6@Close_Micr

; 121  : 		{
; 122  : 			PositionStack[StackIndex-1] += MCHeader.ChunkSize - MicroChunkPosition;

	movzx	ecx, BYTE PTR [esi+3089]
	sub	ecx, DWORD PTR [esi+3084]
	add	DWORD PTR [esi+eax*4+4], ecx
$LN6@Close_Micr:

; 123  : 		}
; 124  : 	}
; 125  : 	return true;

	mov	al, 1
	pop	esi

; 126  : }

	ret	0
?Close_Micro_Chunk@nc_ChunkLoadClass@@QAE_NXZ ENDP	; nc_ChunkLoadClass::Close_Micro_Chunk
_TEXT	ENDS
PUBLIC	?Cur_Micro_Chunk_ID@nc_ChunkLoadClass@@QAEKXZ	; nc_ChunkLoadClass::Cur_Micro_Chunk_ID
; Function compile flags: /Ogtpy
;	COMDAT ?Cur_Micro_Chunk_ID@nc_ChunkLoadClass@@QAEKXZ
_TEXT	SEGMENT
?Cur_Micro_Chunk_ID@nc_ChunkLoadClass@@QAEKXZ PROC	; nc_ChunkLoadClass::Cur_Micro_Chunk_ID, COMDAT
; _this$ = ecx

; 130  : 	return MCHeader.ChunkType;

	movzx	eax, BYTE PTR [ecx+3088]

; 131  : }

	ret	0
?Cur_Micro_Chunk_ID@nc_ChunkLoadClass@@QAEKXZ ENDP	; nc_ChunkLoadClass::Cur_Micro_Chunk_ID
_TEXT	ENDS
PUBLIC	?Cur_Micro_Chunk_Length@nc_ChunkLoadClass@@QAEKXZ ; nc_ChunkLoadClass::Cur_Micro_Chunk_Length
; Function compile flags: /Ogtpy
;	COMDAT ?Cur_Micro_Chunk_Length@nc_ChunkLoadClass@@QAEKXZ
_TEXT	SEGMENT
?Cur_Micro_Chunk_Length@nc_ChunkLoadClass@@QAEKXZ PROC	; nc_ChunkLoadClass::Cur_Micro_Chunk_Length, COMDAT
; _this$ = ecx

; 135  : 	return MCHeader.ChunkSize;

	movzx	eax, BYTE PTR [ecx+3089]

; 136  : }

	ret	0
?Cur_Micro_Chunk_Length@nc_ChunkLoadClass@@QAEKXZ ENDP	; nc_ChunkLoadClass::Cur_Micro_Chunk_Length
_TEXT	ENDS
PUBLIC	?Seek@nc_ChunkLoadClass@@QAEJK@Z		; nc_ChunkLoadClass::Seek
; Function compile flags: /Ogtpy
;	COMDAT ?Seek@nc_ChunkLoadClass@@QAEJK@Z
_TEXT	SEGMENT
_nbytes$ = 8						; size = 4
?Seek@nc_ChunkLoadClass@@QAEJK@Z PROC			; nc_ChunkLoadClass::Seek, COMDAT
; _this$ = ecx

; 139  : {

	push	esi
	mov	esi, ecx

; 140  : 	if ((PositionStack[StackIndex-1] + nbytes) <= (HeaderStack[StackIndex-1].ChunkSize & 0x7FFFFFFF))

	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [esi+eax*4+4]
	mov	edx, DWORD PTR [esi+eax*8+1028]
	push	edi
	mov	edi, DWORD PTR _nbytes$[esp+4]
	add	ecx, edi
	and	edx, 2147483647				; 7fffffffH
	cmp	ecx, edx
	ja	SHORT $LN2@Seek

; 141  : 	{
; 142  : 		if ((!InMicroChunk) || ((MicroChunkPosition + nbytes) <= MCHeader.ChunkSize))

	cmp	BYTE PTR [esi+3080], 0
	je	SHORT $LN3@Seek
	mov	eax, DWORD PTR [esi+3084]
	movzx	ecx, BYTE PTR [esi+3089]
	add	eax, edi
	cmp	eax, ecx
	ja	SHORT $LN2@Seek
$LN3@Seek:

; 143  : 		{
; 144  : 			int pos = File->Tell();

	mov	ecx, DWORD PTR [esi]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+44]
	push	ebx
	call	eax

; 145  : 			int seek = File->Seek(nbytes,1);

	mov	ecx, DWORD PTR [esi]
	mov	edx, DWORD PTR [ecx]
	push	1
	mov	ebx, eax
	mov	eax, DWORD PTR [edx+40]
	push	edi
	call	eax

; 146  : 			if ((seek - pos) == (int)nbytes)

	sub	eax, ebx
	cmp	eax, edi
	pop	ebx
	jne	SHORT $LN2@Seek

; 147  : 			{
; 148  : 				PositionStack[StackIndex-1] += nbytes;

	mov	ecx, DWORD PTR [esi+4]
	add	DWORD PTR [esi+ecx*4+4], edi

; 149  : 				if (InMicroChunk)

	cmp	BYTE PTR [esi+3080], 0
	lea	eax, DWORD PTR [esi+ecx*4+4]
	je	SHORT $LN1@Seek

; 150  : 				{
; 151  : 					MicroChunkPosition += nbytes;

	add	DWORD PTR [esi+3084], edi
$LN1@Seek:

; 152  : 				}
; 153  : 				return nbytes;

	mov	eax, edi
	pop	edi
	pop	esi

; 158  : }

	ret	4
$LN2@Seek:
	pop	edi

; 154  : 			}
; 155  : 		}
; 156  : 	}
; 157  : 	return 0;

	xor	eax, eax
	pop	esi

; 158  : }

	ret	4
?Seek@nc_ChunkLoadClass@@QAEJK@Z ENDP			; nc_ChunkLoadClass::Seek
_TEXT	ENDS
PUBLIC	?Read@nc_ChunkLoadClass@@QAEJPAXK@Z		; nc_ChunkLoadClass::Read
; Function compile flags: /Ogtpy
;	COMDAT ?Read@nc_ChunkLoadClass@@QAEJPAXK@Z
_TEXT	SEGMENT
_buf$ = 8						; size = 4
_nbytes$ = 12						; size = 4
?Read@nc_ChunkLoadClass@@QAEJPAXK@Z PROC		; nc_ChunkLoadClass::Read, COMDAT
; _this$ = ecx

; 161  : {

	push	esi
	mov	esi, ecx

; 162  : 	if ((PositionStack[StackIndex-1] + nbytes) <= (HeaderStack[StackIndex-1].ChunkSize & 0x7FFFFFFF))

	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [esi+eax*4+4]
	mov	edx, DWORD PTR [esi+eax*8+1028]
	push	edi
	mov	edi, DWORD PTR _nbytes$[esp+4]
	add	ecx, edi
	and	edx, 2147483647				; 7fffffffH
	cmp	ecx, edx
	ja	SHORT $LN2@Read

; 163  : 	{
; 164  : 		if ((!InMicroChunk) || ((MicroChunkPosition + nbytes) <= MCHeader.ChunkSize))

	cmp	BYTE PTR [esi+3080], 0
	je	SHORT $LN3@Read
	mov	eax, DWORD PTR [esi+3084]
	movzx	ecx, BYTE PTR [esi+3089]
	add	eax, edi
	cmp	eax, ecx
	ja	SHORT $LN2@Read
$LN3@Read:

; 165  : 		{
; 166  : 			int read = File->Read(buf,nbytes);

	mov	ecx, DWORD PTR [esi]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR _buf$[esp+4]
	mov	edx, DWORD PTR [edx+36]
	push	edi
	push	eax
	call	edx

; 167  : 			if (read == (int)nbytes)

	cmp	eax, edi
	jne	SHORT $LN2@Read

; 168  : 			{
; 169  : 				PositionStack[StackIndex-1] += nbytes;

	mov	eax, DWORD PTR [esi+4]
	add	DWORD PTR [esi+eax*4+4], edi

; 170  : 				if (InMicroChunk)

	cmp	BYTE PTR [esi+3080], 0
	lea	eax, DWORD PTR [esi+eax*4+4]
	je	SHORT $LN1@Read

; 171  : 				{
; 172  : 					MicroChunkPosition += nbytes;

	add	DWORD PTR [esi+3084], edi
$LN1@Read:

; 173  : 				}
; 174  : 				return nbytes;

	mov	eax, edi
	pop	edi
	pop	esi

; 179  : }

	ret	8
$LN2@Read:
	pop	edi

; 175  : 			}
; 176  : 		}
; 177  : 	}
; 178  : 	return 0;

	xor	eax, eax
	pop	esi

; 179  : }

	ret	8
?Read@nc_ChunkLoadClass@@QAEJPAXK@Z ENDP		; nc_ChunkLoadClass::Read
_TEXT	ENDS
PUBLIC	?Read@nc_ChunkLoadClass@@QAEJPAUnc_IOVector2Struct@@@Z ; nc_ChunkLoadClass::Read
; Function compile flags: /Ogtpy
;	COMDAT ?Read@nc_ChunkLoadClass@@QAEJPAUnc_IOVector2Struct@@@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Read@nc_ChunkLoadClass@@QAEJPAUnc_IOVector2Struct@@@Z PROC ; nc_ChunkLoadClass::Read, COMDAT
; _this$ = ecx

; 183  : 	return Read(v,4);

	mov	eax, DWORD PTR _v$[esp-4]
	push	4
	push	eax
	call	?Read@nc_ChunkLoadClass@@QAEJPAXK@Z	; nc_ChunkLoadClass::Read

; 184  : }

	ret	4
?Read@nc_ChunkLoadClass@@QAEJPAUnc_IOVector2Struct@@@Z ENDP ; nc_ChunkLoadClass::Read
_TEXT	ENDS
PUBLIC	?Read@nc_ChunkLoadClass@@QAEJPAUnc_IOVector3Struct@@@Z ; nc_ChunkLoadClass::Read
; Function compile flags: /Ogtpy
;	COMDAT ?Read@nc_ChunkLoadClass@@QAEJPAUnc_IOVector3Struct@@@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Read@nc_ChunkLoadClass@@QAEJPAUnc_IOVector3Struct@@@Z PROC ; nc_ChunkLoadClass::Read, COMDAT
; _this$ = ecx

; 188  : 	return Read(v,4);

	mov	eax, DWORD PTR _v$[esp-4]
	push	4
	push	eax
	call	?Read@nc_ChunkLoadClass@@QAEJPAXK@Z	; nc_ChunkLoadClass::Read

; 189  : }

	ret	4
?Read@nc_ChunkLoadClass@@QAEJPAUnc_IOVector3Struct@@@Z ENDP ; nc_ChunkLoadClass::Read
_TEXT	ENDS
PUBLIC	?Read@nc_ChunkLoadClass@@QAEJPAUnc_IOVector4Struct@@@Z ; nc_ChunkLoadClass::Read
; Function compile flags: /Ogtpy
;	COMDAT ?Read@nc_ChunkLoadClass@@QAEJPAUnc_IOVector4Struct@@@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Read@nc_ChunkLoadClass@@QAEJPAUnc_IOVector4Struct@@@Z PROC ; nc_ChunkLoadClass::Read, COMDAT
; _this$ = ecx

; 193  : 	return Read(v,4);

	mov	eax, DWORD PTR _v$[esp-4]
	push	4
	push	eax
	call	?Read@nc_ChunkLoadClass@@QAEJPAXK@Z	; nc_ChunkLoadClass::Read

; 194  : }

	ret	4
?Read@nc_ChunkLoadClass@@QAEJPAUnc_IOVector4Struct@@@Z ENDP ; nc_ChunkLoadClass::Read
_TEXT	ENDS
PUBLIC	?Read@nc_ChunkLoadClass@@QAEJPAUnc_IOQuaternionStruct@@@Z ; nc_ChunkLoadClass::Read
; Function compile flags: /Ogtpy
;	COMDAT ?Read@nc_ChunkLoadClass@@QAEJPAUnc_IOQuaternionStruct@@@Z
_TEXT	SEGMENT
_q$ = 8							; size = 4
?Read@nc_ChunkLoadClass@@QAEJPAUnc_IOQuaternionStruct@@@Z PROC ; nc_ChunkLoadClass::Read, COMDAT
; _this$ = ecx

; 198  : 	return Read(q,4);

	mov	eax, DWORD PTR _q$[esp-4]
	push	4
	push	eax
	call	?Read@nc_ChunkLoadClass@@QAEJPAXK@Z	; nc_ChunkLoadClass::Read

; 199  : }

	ret	4
?Read@nc_ChunkLoadClass@@QAEJPAUnc_IOQuaternionStruct@@@Z ENDP ; nc_ChunkLoadClass::Read
_TEXT	ENDS
PUBLIC	??0nc_ChunkSaveClass@@QAE@PAVnc_FileClass@@@Z	; nc_ChunkSaveClass::nc_ChunkSaveClass
; Function compile flags: /Ogtpy
;	COMDAT ??0nc_ChunkSaveClass@@QAE@PAVnc_FileClass@@@Z
_TEXT	SEGMENT
_file$ = 8						; size = 4
??0nc_ChunkSaveClass@@QAE@PAVnc_FileClass@@@Z PROC	; nc_ChunkSaveClass::nc_ChunkSaveClass, COMDAT
; _this$ = ecx

; 203  : 	File = file;

	mov	eax, DWORD PTR _file$[esp-4]
	push	ebx
	push	esi
	mov	esi, ecx

; 204  : 	StackIndex = 0;

	xor	ebx, ebx

; 205  : 	memset(HeaderStack,0,sizeof(HeaderStack));

	push	2048					; 00000800H
	lea	ecx, DWORD PTR [esi+1032]
	push	ebx
	push	ecx
	mov	DWORD PTR [esi], eax
	mov	DWORD PTR [esi+4], ebx
	call	_memset

; 206  : 	memset(PositionStack,0,sizeof(PositionStack));

	push	1024					; 00000400H
	lea	edx, DWORD PTR [esi+8]
	push	ebx
	push	edx
	call	_memset
	add	esp, 24					; 00000018H

; 207  : 	InMicroChunk = false;

	mov	BYTE PTR [esi+3080], bl

; 208  : 	MicroChunkPosition = 0;

	mov	DWORD PTR [esi+3084], ebx

; 209  : 	MCHeader.ChunkType = 0;

	mov	BYTE PTR [esi+3088], bl

; 210  : }

	mov	eax, esi
	pop	esi
	pop	ebx
	ret	4
??0nc_ChunkSaveClass@@QAE@PAVnc_FileClass@@@Z ENDP	; nc_ChunkSaveClass::nc_ChunkSaveClass
_TEXT	ENDS
PUBLIC	?Begin_Chunk@nc_ChunkSaveClass@@QAE_NK@Z	; nc_ChunkSaveClass::Begin_Chunk
; Function compile flags: /Ogtpy
;	COMDAT ?Begin_Chunk@nc_ChunkSaveClass@@QAE_NK@Z
_TEXT	SEGMENT
_chunkh$ = -8						; size = 8
_id$ = 8						; size = 4
?Begin_Chunk@nc_ChunkSaveClass@@QAE_NK@Z PROC		; nc_ChunkSaveClass::Begin_Chunk, COMDAT
; _this$ = ecx

; 213  : {

	sub	esp, 8
	push	esi
	mov	esi, ecx

; 214  : 	nc_ChunkHeader chunkh;
; 215  : 	chunkh.ChunkSize = 0;
; 216  : 	chunkh.ChunkType = 0;
; 217  : 	if (StackIndex > 0)

	mov	eax, DWORD PTR [esi+4]
	xor	edx, edx
	cmp	eax, edx
	mov	DWORD PTR _chunkh$[esp+16], edx
	mov	DWORD PTR _chunkh$[esp+12], edx
	mov	ecx, -2147483648			; 80000000H
	jle	SHORT $LN2@Begin_Chun

; 218  : 	{
; 219  : 		HeaderStack[StackIndex-1].ChunkSize |= 0x80000000;

	or	DWORD PTR [esi+eax*8+1028], ecx
$LN2@Begin_Chun:

; 220  : 	}
; 221  : 	chunkh.ChunkType = id;
; 222  : 	chunkh.ChunkSize &= 0x80000000;

	and	DWORD PTR _chunkh$[esp+16], ecx
	mov	eax, DWORD PTR _id$[esp+8]

; 223  : 	PositionStack[StackIndex] = File->Seek(0,1);

	mov	ecx, DWORD PTR [esi]
	mov	DWORD PTR _chunkh$[esp+12], eax
	mov	eax, DWORD PTR [ecx]
	push	1
	push	edx
	mov	edx, DWORD PTR [eax+40]
	call	edx
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [esi+ecx*4+8], eax

; 224  : 	HeaderStack[StackIndex].ChunkType = chunkh.ChunkType;

	mov	edx, DWORD PTR [esi+4]
	mov	eax, DWORD PTR _chunkh$[esp+12]
	mov	DWORD PTR [esi+edx*8+1032], eax

; 225  : 	HeaderStack[StackIndex].ChunkSize = chunkh.ChunkSize;

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR _chunkh$[esp+16]
	mov	DWORD PTR [esi+ecx*8+1036], edx

; 226  : 	StackIndex++;
; 227  : 	if (File->Write(&chunkh,8) == 8)

	mov	ecx, DWORD PTR [esi]
	add	DWORD PTR [esi+4], 1
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+52]
	push	8
	lea	edx, DWORD PTR _chunkh$[esp+16]
	push	edx
	call	eax
	cmp	eax, 8
	sete	al
	pop	esi

; 228  : 	{
; 229  : 		return true;
; 230  : 	}
; 231  : 	return false;
; 232  : }

	add	esp, 8
	ret	4
?Begin_Chunk@nc_ChunkSaveClass@@QAE_NK@Z ENDP		; nc_ChunkSaveClass::Begin_Chunk
_TEXT	ENDS
PUBLIC	?End_Chunk@nc_ChunkSaveClass@@QAE_NXZ		; nc_ChunkSaveClass::End_Chunk
; Function compile flags: /Ogtpy
;	COMDAT ?End_Chunk@nc_ChunkSaveClass@@QAE_NXZ
_TEXT	SEGMENT
_chunkh$ = -8						; size = 8
?End_Chunk@nc_ChunkSaveClass@@QAE_NXZ PROC		; nc_ChunkSaveClass::End_Chunk, COMDAT
; _this$ = ecx

; 235  : {

	sub	esp, 8
	push	esi
	mov	esi, ecx

; 236  : 	nc_ChunkHeader chunkh;
; 237  : 	int temp = File->Seek(0,1);

	mov	ecx, DWORD PTR [esi]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+40]
	push	edi
	push	1
	push	0
	call	edx

; 238  : 	StackIndex--;

	add	DWORD PTR [esi+4], -1
	mov	edi, eax
	mov	eax, DWORD PTR [esi+4]

; 239  : 	chunkh.ChunkType = HeaderStack[StackIndex].ChunkType;

	mov	ecx, DWORD PTR [esi+eax*8+1032]
	mov	DWORD PTR _chunkh$[esp+16], ecx

; 240  : 	chunkh.ChunkSize = HeaderStack[StackIndex].ChunkSize;

	mov	edx, DWORD PTR [esi+eax*8+1036]

; 241  : 	File->Seek(PositionStack[StackIndex],0);

	mov	ecx, DWORD PTR [esi]
	mov	DWORD PTR _chunkh$[esp+20], edx
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [esi+eax*4+8]
	mov	edx, DWORD PTR [edx+40]
	push	0
	push	eax
	call	edx

; 242  : 	if (File->Write(&chunkh,8) == 8)

	mov	ecx, DWORD PTR [esi]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+52]
	push	8
	lea	edx, DWORD PTR _chunkh$[esp+20]
	push	edx
	call	eax
	cmp	eax, 8
	jne	SHORT $LN3@End_Chunk

; 243  : 	{
; 244  : 		if ((StackIndex) && (StackIndex < 256))

	mov	ecx, DWORD PTR [esi+4]
	test	ecx, ecx
	je	SHORT $LN2@End_Chunk
	cmp	ecx, 256				; 00000100H
	jge	SHORT $LN2@End_Chunk

; 245  : 		{
; 246  : 			int temp2 = (HeaderStack[StackIndex-1].ChunkSize & 0x7FFFFFFF) + (chunkh.ChunkSize & 0x7FFFFFFF) + 8;

	mov	eax, DWORD PTR [esi+ecx*8+1028]
	push	ebx
	mov	ebx, DWORD PTR _chunkh$[esp+24]
	mov	edx, eax
	and	ebx, 2147483647				; 7fffffffH
	and	edx, 2147483647				; 7fffffffH

; 247  : 			if (HeaderStack[StackIndex-1].ChunkSize & 0x80000000)

	test	eax, eax
	lea	edx, DWORD PTR [edx+ebx+8]
	pop	ebx
	jns	SHORT $LN1@End_Chunk

; 248  : 			{
; 249  : 				temp2 |= 0x80000000;

	or	edx, -2147483648			; 80000000H
$LN1@End_Chunk:

; 250  : 			}
; 251  : 			HeaderStack[StackIndex-1].ChunkSize = temp2;

	mov	DWORD PTR [esi+ecx*8+1028], edx
$LN2@End_Chunk:

; 252  : 		}
; 253  : 		File->Seek(temp,0);

	mov	ecx, DWORD PTR [esi]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+40]
	push	0
	push	edi
	call	edx
	pop	edi

; 254  : 		return true;

	mov	al, 1
	pop	esi

; 257  : }

	add	esp, 8
	ret	0
$LN3@End_Chunk:
	pop	edi

; 255  : 	}
; 256  : 	return false;

	xor	al, al
	pop	esi

; 257  : }

	add	esp, 8
	ret	0
?End_Chunk@nc_ChunkSaveClass@@QAE_NXZ ENDP		; nc_ChunkSaveClass::End_Chunk
_TEXT	ENDS
PUBLIC	?Cur_Chunk_Depth@nc_ChunkSaveClass@@QAEHXZ	; nc_ChunkSaveClass::Cur_Chunk_Depth
; Function compile flags: /Ogtpy
;	COMDAT ?Cur_Chunk_Depth@nc_ChunkSaveClass@@QAEHXZ
_TEXT	SEGMENT
?Cur_Chunk_Depth@nc_ChunkSaveClass@@QAEHXZ PROC		; nc_ChunkSaveClass::Cur_Chunk_Depth, COMDAT
; _this$ = ecx

; 261  : 	return StackIndex;

	mov	eax, DWORD PTR [ecx+4]

; 262  : }

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

; 278  : {

	push	esi
	mov	esi, ecx

; 279  : 	int temp = File->Seek(0,1);

	mov	ecx, DWORD PTR [esi]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+40]
	push	edi
	push	1
	push	0
	call	edx

; 280  : 	File->Seek(MicroChunkPosition,0);

	mov	ecx, DWORD PTR [esi]
	mov	edx, DWORD PTR [esi+3084]
	mov	edi, eax
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+40]
	push	0
	push	edx
	call	eax

; 281  : 	if (File->Write(&MCHeader,2) == 2)

	mov	ecx, DWORD PTR [esi]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+52]
	push	2
	lea	eax, DWORD PTR [esi+3088]
	push	eax
	call	edx
	cmp	eax, 2
	jne	SHORT $LN1@End_Micro_

; 282  : 	{
; 283  : 		File->Seek(temp,0);

	mov	ecx, DWORD PTR [esi]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+40]
	push	0
	push	edi
	call	edx
	pop	edi

; 284  : 		InMicroChunk = false;

	mov	BYTE PTR [esi+3080], 0

; 285  : 		return true;

	mov	al, 1
	pop	esi

; 288  : }

	ret	0
$LN1@End_Micro_:
	pop	edi

; 286  : 	}
; 287  : 	return false;

	xor	al, al
	pop	esi

; 288  : }

	ret	0
?End_Micro_Chunk@nc_ChunkSaveClass@@QAE_NXZ ENDP	; nc_ChunkSaveClass::End_Micro_Chunk
_TEXT	ENDS
PUBLIC	?Write@nc_ChunkSaveClass@@QAEKPAXK@Z		; nc_ChunkSaveClass::Write
; Function compile flags: /Ogtpy
;	COMDAT ?Write@nc_ChunkSaveClass@@QAEKPAXK@Z
_TEXT	SEGMENT
_buf$ = 8						; size = 4
_nbytes$ = 12						; size = 4
?Write@nc_ChunkSaveClass@@QAEKPAXK@Z PROC		; nc_ChunkSaveClass::Write, COMDAT
; _this$ = ecx

; 292  : 	if (File->Write(buf,nbytes) == (int)nbytes)

	mov	edx, DWORD PTR _buf$[esp-4]
	push	ebx
	mov	ebx, DWORD PTR _nbytes$[esp]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR [esi]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+52]
	push	ebx
	push	edx
	call	eax
	cmp	eax, ebx
	jne	SHORT $LN3@Write

; 293  : 	{
; 294  : 		int temp = (HeaderStack[StackIndex-1].ChunkSize & 0x7FFFFFFF) + nbytes;

	mov	ecx, DWORD PTR [esi+4]
	push	edi
	lea	edi, DWORD PTR [esi+ecx*8+1028]
	mov	ecx, DWORD PTR [edi]
	mov	eax, ecx
	and	eax, 2147483647				; 7fffffffH
	add	eax, ebx

; 295  : 		if (HeaderStack[StackIndex-1].ChunkSize & 0x80000000)

	test	ecx, ecx
	jns	SHORT $LN2@Write

; 296  : 		{
; 297  : 			temp |= 0x80000000;

	or	eax, -2147483648			; 80000000H
$LN2@Write:

; 298  : 		}
; 299  : 		HeaderStack[StackIndex-1].ChunkSize = temp;

	mov	DWORD PTR [edi], eax

; 300  : 		if (InMicroChunk)

	cmp	BYTE PTR [esi+3080], 0
	pop	edi
	je	SHORT $LN1@Write

; 301  : 		{
; 302  : 			MCHeader.ChunkSize = MCHeader.ChunkSize + (unsigned char)nbytes;

	add	BYTE PTR [esi+3089], bl
$LN1@Write:
	pop	esi

; 303  : 		}
; 304  : 		return nbytes;

	mov	eax, ebx
	pop	ebx

; 307  : }

	ret	8
$LN3@Write:
	pop	esi

; 305  : 	}
; 306  : 	return 0;

	xor	eax, eax
	pop	ebx

; 307  : }

	ret	8
?Write@nc_ChunkSaveClass@@QAEKPAXK@Z ENDP		; nc_ChunkSaveClass::Write
_TEXT	ENDS
PUBLIC	?Write@nc_ChunkSaveClass@@QAEKAAUnc_IOVector2Struct@@@Z ; nc_ChunkSaveClass::Write
; Function compile flags: /Ogtpy
;	COMDAT ?Write@nc_ChunkSaveClass@@QAEKAAUnc_IOVector2Struct@@@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Write@nc_ChunkSaveClass@@QAEKAAUnc_IOVector2Struct@@@Z PROC ; nc_ChunkSaveClass::Write, COMDAT
; _this$ = ecx

; 311  : 	return Write(&v,4);

	mov	eax, DWORD PTR _v$[esp-4]
	push	4
	push	eax
	call	?Write@nc_ChunkSaveClass@@QAEKPAXK@Z	; nc_ChunkSaveClass::Write

; 312  : }

	ret	4
?Write@nc_ChunkSaveClass@@QAEKAAUnc_IOVector2Struct@@@Z ENDP ; nc_ChunkSaveClass::Write
_TEXT	ENDS
PUBLIC	?Write@nc_ChunkSaveClass@@QAEKAAUnc_IOVector3Struct@@@Z ; nc_ChunkSaveClass::Write
; Function compile flags: /Ogtpy
;	COMDAT ?Write@nc_ChunkSaveClass@@QAEKAAUnc_IOVector3Struct@@@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Write@nc_ChunkSaveClass@@QAEKAAUnc_IOVector3Struct@@@Z PROC ; nc_ChunkSaveClass::Write, COMDAT
; _this$ = ecx

; 316  : 	return Write(&v,4);

	mov	eax, DWORD PTR _v$[esp-4]
	push	4
	push	eax
	call	?Write@nc_ChunkSaveClass@@QAEKPAXK@Z	; nc_ChunkSaveClass::Write

; 317  : }

	ret	4
?Write@nc_ChunkSaveClass@@QAEKAAUnc_IOVector3Struct@@@Z ENDP ; nc_ChunkSaveClass::Write
_TEXT	ENDS
PUBLIC	?Write@nc_ChunkSaveClass@@QAEKAAUnc_IOVector4Struct@@@Z ; nc_ChunkSaveClass::Write
; Function compile flags: /Ogtpy
;	COMDAT ?Write@nc_ChunkSaveClass@@QAEKAAUnc_IOVector4Struct@@@Z
_TEXT	SEGMENT
_v$ = 8							; size = 4
?Write@nc_ChunkSaveClass@@QAEKAAUnc_IOVector4Struct@@@Z PROC ; nc_ChunkSaveClass::Write, COMDAT
; _this$ = ecx

; 321  : 	return Write(&v,4);

	mov	eax, DWORD PTR _v$[esp-4]
	push	4
	push	eax
	call	?Write@nc_ChunkSaveClass@@QAEKPAXK@Z	; nc_ChunkSaveClass::Write

; 322  : }

	ret	4
?Write@nc_ChunkSaveClass@@QAEKAAUnc_IOVector4Struct@@@Z ENDP ; nc_ChunkSaveClass::Write
_TEXT	ENDS
PUBLIC	?Write@nc_ChunkSaveClass@@QAEKAAUnc_IOQuaternionStruct@@@Z ; nc_ChunkSaveClass::Write
; Function compile flags: /Ogtpy
;	COMDAT ?Write@nc_ChunkSaveClass@@QAEKAAUnc_IOQuaternionStruct@@@Z
_TEXT	SEGMENT
_q$ = 8							; size = 4
?Write@nc_ChunkSaveClass@@QAEKAAUnc_IOQuaternionStruct@@@Z PROC ; nc_ChunkSaveClass::Write, COMDAT
; _this$ = ecx

; 326  : 	return Write(&q,4);

	mov	eax, DWORD PTR _q$[esp-4]
	push	4
	push	eax
	call	?Write@nc_ChunkSaveClass@@QAEKPAXK@Z	; nc_ChunkSaveClass::Write

; 327  : }

	ret	4
?Write@nc_ChunkSaveClass@@QAEKAAUnc_IOQuaternionStruct@@@Z ENDP ; nc_ChunkSaveClass::Write
_TEXT	ENDS
PUBLIC	?Entry_Count@nc_INIClass@@QAEHPBD@Z		; nc_INIClass::Entry_Count
; Function compile flags: /Odtpy
;	COMDAT ?Entry_Count@nc_INIClass@@QAEHPBD@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Entry_Count@nc_INIClass@@QAEHPBD@Z PROC		; nc_INIClass::Entry_Count, COMDAT
; _this$ = ecx

; 329  : int NAKED nc_INIClass::Entry_Count(const char *) nTHUNK(0x5DF6D0)

	mov	eax, 6158032				; 005df6d0H
	jmp	eax
?Entry_Count@nc_INIClass@@QAEHPBD@Z ENDP		; nc_INIClass::Entry_Count
_TEXT	ENDS
PUBLIC	?Get_Entry@nc_INIClass@@QAEPBDPBDH@Z		; nc_INIClass::Get_Entry
; Function compile flags: /Odtpy
;	COMDAT ?Get_Entry@nc_INIClass@@QAEPBDPBDH@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
?Get_Entry@nc_INIClass@@QAEPBDPBDH@Z PROC		; nc_INIClass::Get_Entry, COMDAT
; _this$ = ecx

; 330  : const char NAKED *nc_INIClass::Get_Entry(const char *, int) nTHUNK(0x5DF6D0)

	mov	eax, 6158032				; 005df6d0H
	jmp	eax
?Get_Entry@nc_INIClass@@QAEPBDPBDH@Z ENDP		; nc_INIClass::Get_Entry
_TEXT	ENDS
PUBLIC	?Get_Int@nc_INIClass@@QAEHPBD0H@Z		; nc_INIClass::Get_Int
; Function compile flags: /Odtpy
;	COMDAT ?Get_Int@nc_INIClass@@QAEHPBD0H@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
?Get_Int@nc_INIClass@@QAEHPBD0H@Z PROC			; nc_INIClass::Get_Int, COMDAT
; _this$ = ecx

; 331  : int NAKED nc_INIClass::Get_Int(char const *, char const *,int) nTHUNK(0x5E0950)

	mov	eax, 6162768				; 005e0950H
	jmp	eax
?Get_Int@nc_INIClass@@QAEHPBD0H@Z ENDP			; nc_INIClass::Get_Int
_TEXT	ENDS
PUBLIC	?Get_Float@nc_INIClass@@QAEMPBD0M@Z		; nc_INIClass::Get_Float
; Function compile flags: /Odtpy
;	COMDAT ?Get_Float@nc_INIClass@@QAEMPBD0M@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
?Get_Float@nc_INIClass@@QAEMPBD0M@Z PROC		; nc_INIClass::Get_Float, COMDAT
; _this$ = ecx

; 332  : float NAKED nc_INIClass::Get_Float(char const *, char const *,float) nTHUNK(0x5E0F10)

	mov	eax, 6164240				; 005e0f10H
	jmp	eax
?Get_Float@nc_INIClass@@QAEMPBD0M@Z ENDP		; nc_INIClass::Get_Float
_TEXT	ENDS
PUBLIC	?Get_Bool@nc_INIClass@@QAE_NPBD0_N@Z		; nc_INIClass::Get_Bool
; Function compile flags: /Odtpy
;	COMDAT ?Get_Bool@nc_INIClass@@QAE_NPBD0_N@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 1
?Get_Bool@nc_INIClass@@QAE_NPBD0_N@Z PROC		; nc_INIClass::Get_Bool, COMDAT
; _this$ = ecx

; 333  : bool NAKED nc_INIClass::Get_Bool(char const *, char const *,bool) nTHUNK(0x5E2040)

	mov	eax, 6168640				; 005e2040H
	jmp	eax
?Get_Bool@nc_INIClass@@QAE_NPBD0_N@Z ENDP		; nc_INIClass::Get_Bool
_TEXT	ENDS
PUBLIC	?Get_String@nc_INIClass@@QAEPBDPBD00PADH@Z	; nc_INIClass::Get_String
; Function compile flags: /Odtpy
;	COMDAT ?Get_String@nc_INIClass@@QAEPBDPBD00PADH@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
___formal$ = 20						; size = 4
___formal$ = 24						; size = 4
?Get_String@nc_INIClass@@QAEPBDPBD00PADH@Z PROC		; nc_INIClass::Get_String, COMDAT
; _this$ = ecx

; 334  : const char NAKED *nc_INIClass::Get_String(char const *, char const *, char const *, char *, int) nTHUNK(0x5E1680)

	mov	eax, 6166144				; 005e1680H
	jmp	eax
?Get_String@nc_INIClass@@QAEPBDPBD00PADH@Z ENDP		; nc_INIClass::Get_String
_TEXT	ENDS
PUBLIC	?nc_Get_INI@@YAPAVnc_INIClass@@PBD@Z		; nc_Get_INI
; Function compile flags: /Odtpy
;	COMDAT ?nc_Get_INI@@YAPAVnc_INIClass@@PBD@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?nc_Get_INI@@YAPAVnc_INIClass@@PBD@Z PROC		; nc_Get_INI, COMDAT

; 336  : nc_INIClass NAKED *nc_Get_INI(const char *) nTHUNK(0x6DA3D0)

	mov	eax, 7185360				; 006da3d0H
	jmp	eax
?nc_Get_INI@@YAPAVnc_INIClass@@PBD@Z ENDP		; nc_Get_INI
_TEXT	ENDS
PUBLIC	?nc_Release_INI@@YAXPAVnc_INIClass@@@Z		; nc_Release_INI
; Function compile flags: /Odtpy
;	COMDAT ?nc_Release_INI@@YAXPAVnc_INIClass@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?nc_Release_INI@@YAXPAVnc_INIClass@@@Z PROC		; nc_Release_INI, COMDAT

; 337  : void NAKED nc_Release_INI(nc_INIClass *) nTHUNK(0x6DA480)

	mov	eax, 7185536				; 006da480H
	jmp	eax
?nc_Release_INI@@YAXPAVnc_INIClass@@@Z ENDP		; nc_Release_INI
_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
$T54297 = -12						; size = 12
_this$ = 8						; size = 4
$T54303 = 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 $T54303[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T54297[esp+20]
	mov	DWORD PTR $T54303[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T54297[esp+20]
	push	ecx
	mov	DWORD PTR $T54297[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
$T54309 = -12						; size = 12
$T54314 = 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 $T54314[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T54309[esp+20]
	mov	DWORD PTR $T54314[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T54309[esp+20]
	push	ecx
	mov	DWORD PTR $T54309[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	??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	?Open_Micro_Chunk@nc_ChunkLoadClass@@QAE_NXZ	; nc_ChunkLoadClass::Open_Micro_Chunk
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_io.cpp
;	COMDAT ?Open_Micro_Chunk@nc_ChunkLoadClass@@QAE_NXZ
_TEXT	SEGMENT
?Open_Micro_Chunk@nc_ChunkLoadClass@@QAE_NXZ PROC	; nc_ChunkLoadClass::Open_Micro_Chunk, COMDAT
; _this$ = ecx

; 103  : {

	push	esi
	mov	esi, ecx

; 104  : 	int bytesread = Read(&MCHeader,2);

	push	2
	lea	eax, DWORD PTR [esi+3088]
	push	eax
	call	?Read@nc_ChunkLoadClass@@QAEJPAXK@Z	; nc_ChunkLoadClass::Read

; 105  : 	if (bytesread == 2)

	cmp	eax, 2
	jne	SHORT $LN1@Open_Micro

; 106  : 	{
; 107  : 		MicroChunkPosition = 0;
; 108  : 		InMicroChunk = true;

	mov	al, 1
	mov	DWORD PTR [esi+3084], 0
	mov	BYTE PTR [esi+3080], al
	pop	esi

; 112  : }

	ret	0
$LN1@Open_Micro:

; 109  : 		return true;
; 110  : 	}
; 111  : 	return false;

	xor	al, al
	pop	esi

; 112  : }

	ret	0
?Open_Micro_Chunk@nc_ChunkLoadClass@@QAE_NXZ ENDP	; nc_ChunkLoadClass::Open_Micro_Chunk
_TEXT	ENDS
PUBLIC	?Begin_Micro_Chunk@nc_ChunkSaveClass@@QAE_NK@Z	; nc_ChunkSaveClass::Begin_Micro_Chunk
; Function compile flags: /Ogtpy
;	COMDAT ?Begin_Micro_Chunk@nc_ChunkSaveClass@@QAE_NK@Z
_TEXT	SEGMENT
_id$ = 8						; size = 4
?Begin_Micro_Chunk@nc_ChunkSaveClass@@QAE_NK@Z PROC	; nc_ChunkSaveClass::Begin_Micro_Chunk, COMDAT
; _this$ = ecx

; 266  : 	MCHeader.ChunkType = (unsigned char)id;

	mov	al, BYTE PTR _id$[esp-4]
	push	esi
	push	edi
	mov	esi, ecx

; 267  : 	MicroChunkPosition = File->Seek(0,1);

	mov	ecx, DWORD PTR [esi]
	lea	edi, DWORD PTR [esi+3088]
	mov	BYTE PTR [edi], al
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+40]
	push	1
	push	0
	call	eax

; 268  : 	MCHeader.ChunkSize = 0;
; 269  : 	if (Write(&MCHeader,2) == 2)

	push	2
	push	edi
	mov	ecx, esi
	mov	DWORD PTR [esi+3084], eax
	mov	BYTE PTR [esi+3089], 0
	call	?Write@nc_ChunkSaveClass@@QAEKPAXK@Z	; nc_ChunkSaveClass::Write
	cmp	eax, 2
	jne	SHORT $LN1@Begin_Micr
	pop	edi

; 270  : 	{
; 271  : 		InMicroChunk = true;

	mov	BYTE PTR [esi+3080], 1

; 272  : 		return true;

	mov	al, 1
	pop	esi

; 275  : }

	ret	4
$LN1@Begin_Micr:
	pop	edi

; 273  : 	}
; 274  : 	return false;

	xor	al, al
	pop	esi

; 275  : }

	ret	4
?Begin_Micro_Chunk@nc_ChunkSaveClass@@QAE_NK@Z ENDP	; nc_ChunkSaveClass::Begin_Micro_Chunk
_TEXT	ENDS
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>
_TEXT	ENDS
END
