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

	TITLE	d:\Source Code\GZGM\gzveteran.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	?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A	; gzVeteranMgr
_BSS	SEGMENT
?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A DD 01H DUP (?) ; gzVeteranMgr
_BSS	ENDS
;	COMDAT ?end@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?end@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 02H		; std::_Iosb<int>::end
CONST	ENDS
;	COMDAT ?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 01H		; std::_Iosb<int>::cur
CONST	ENDS
;	COMDAT ?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 00H		; std::_Iosb<int>::beg
CONST	ENDS
;	COMDAT ?binary@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?binary@?$_Iosb@H@std@@2W4_Openmode@12@B DD 020H	; std::_Iosb<int>::binary
CONST	ENDS
;	COMDAT ?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B DD 080H	; std::_Iosb<int>::_Noreplace
CONST	ENDS
;	COMDAT ?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 040H	; std::_Iosb<int>::_Nocreate
CONST	ENDS
;	COMDAT ?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B DD 010H		; std::_Iosb<int>::trunc
CONST	ENDS
;	COMDAT ?app@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?app@?$_Iosb@H@std@@2W4_Openmode@12@B DD 08H		; std::_Iosb<int>::app
CONST	ENDS
;	COMDAT ?ate@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?ate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 04H		; std::_Iosb<int>::ate
CONST	ENDS
;	COMDAT ?out@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?out@?$_Iosb@H@std@@2W4_Openmode@12@B DD 02H		; std::_Iosb<int>::out
CONST	ENDS
;	COMDAT ?in@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?in@?$_Iosb@H@std@@2W4_Openmode@12@B DD 01H		; std::_Iosb<int>::in
CONST	ENDS
;	COMDAT ?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B DD 010H	; std::_Iosb<int>::_Hardfail
CONST	ENDS
;	COMDAT ?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 04H		; std::_Iosb<int>::badbit
CONST	ENDS
;	COMDAT ?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 02H		; std::_Iosb<int>::failbit
CONST	ENDS
;	COMDAT ?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 01H		; std::_Iosb<int>::eofbit
CONST	ENDS
;	COMDAT ?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 00H		; std::_Iosb<int>::goodbit
CONST	ENDS
;	COMDAT ?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 03000H	; std::_Iosb<int>::floatfield
CONST	ENDS
;	COMDAT ?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0e00H	; std::_Iosb<int>::basefield
CONST	ENDS
;	COMDAT ?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01c0H	; std::_Iosb<int>::adjustfield
CONST	ENDS
;	COMDAT ?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08000H	; std::_Iosb<int>::_Stdio
CONST	ENDS
;	COMDAT ?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04000H	; std::_Iosb<int>::boolalpha
CONST	ENDS
;	COMDAT ?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02000H	; std::_Iosb<int>::fixed
CONST	ENDS
;	COMDAT ?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01000H	; std::_Iosb<int>::scientific
CONST	ENDS
;	COMDAT ?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0800H		; std::_Iosb<int>::hex
CONST	ENDS
;	COMDAT ?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0400H		; std::_Iosb<int>::oct
CONST	ENDS
;	COMDAT ?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0200H		; std::_Iosb<int>::dec
CONST	ENDS
;	COMDAT ?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0100H	; std::_Iosb<int>::internal
CONST	ENDS
;	COMDAT ?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 080H		; std::_Iosb<int>::right
CONST	ENDS
;	COMDAT ?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 040H		; std::_Iosb<int>::left
CONST	ENDS
;	COMDAT ?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 020H	; std::_Iosb<int>::showpos
CONST	ENDS
;	COMDAT ?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 010H	; std::_Iosb<int>::showpoint
CONST	ENDS
;	COMDAT ?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08H	; std::_Iosb<int>::showbase
CONST	ENDS
;	COMDAT ?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04H	; std::_Iosb<int>::uppercase
CONST	ENDS
;	COMDAT ?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02H	; std::_Iosb<int>::unitbuf
CONST	ENDS
;	COMDAT ?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01H		; std::_Iosb<int>::skipws
CONST	ENDS
;	COMDAT ?table_size@?$ctype@D@std@@2IB
CONST	SEGMENT
?table_size@?$ctype@D@std@@2IB DD 0100H			; std::ctype<char>::table_size
CONST	ENDS
;	COMDAT ?none@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?none@?$_Locbase@H@std@@2HB DD 00H			; std::_Locbase<int>::none
CONST	ENDS
;	COMDAT ?all@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?all@?$_Locbase@H@std@@2HB DD 03fH			; std::_Locbase<int>::all
CONST	ENDS
;	COMDAT ?messages@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?messages@?$_Locbase@H@std@@2HB DD 020H			; std::_Locbase<int>::messages
CONST	ENDS
;	COMDAT ?time@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?time@?$_Locbase@H@std@@2HB DD 010H			; std::_Locbase<int>::time
CONST	ENDS
;	COMDAT ?numeric@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?numeric@?$_Locbase@H@std@@2HB DD 08H			; std::_Locbase<int>::numeric
CONST	ENDS
;	COMDAT ?monetary@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?monetary@?$_Locbase@H@std@@2HB DD 04H			; std::_Locbase<int>::monetary
CONST	ENDS
;	COMDAT ?ctype@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?ctype@?$_Locbase@H@std@@2HB DD 02H			; std::_Locbase<int>::ctype
CONST	ENDS
;	COMDAT ?collate@?$_Locbase@H@std@@2HB
CONST	SEGMENT
?collate@?$_Locbase@H@std@@2HB DD 01H			; std::_Locbase<int>::collate
CONST	ENDS
_DATA	SEGMENT
__bad_alloc_Message DD FLAT:??_C@_0P@GHFPNOJB@bad?5allocation?$AA@
_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@aStringData@@QAEIXZ			; aStringData::GetLength
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\astring.h
;	COMDAT ?GetLength@aStringData@@QAEIXZ
_TEXT	SEGMENT
?GetLength@aStringData@@QAEIXZ PROC			; aStringData::GetLength, COMDAT
; _this$ = ecx

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

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

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

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

; 55   : 	inline aStringData *GetData() const { return this->m_data; };

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

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

; 142  : 	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]
	ret	0
$LN3@GetString:
	xor	eax, eax
	ret	0
?GetString@aString@@QBEPBDXZ ENDP			; aString::GetString
_TEXT	ENDS
PUBLIC	?Free_String@aString@@QAEXXZ			; aString::Free_String
EXTRN	?Clear@aStringBase@@QAEXXZ:PROC			; aStringBase::Clear
; Function compile flags: /Ogtpy
;	COMDAT ?Free_String@aString@@QAEXXZ
_TEXT	SEGMENT
?Free_String@aString@@QAEXXZ PROC			; aString::Free_String, COMDAT
; _this$ = ecx

; 174  : 	aDEPRECATED inline void Free_String() { this->Clear(); };

	jmp	?Clear@aStringBase@@QAEXXZ		; aStringBase::Clear
?Free_String@aString@@QAEXXZ ENDP			; aString::Free_String
_TEXT	ENDS
PUBLIC	??1aString@@UAE@XZ				; aString::~aString
EXTRN	??1aStringBase@@UAE@XZ:PROC			; aStringBase::~aStringBase
; Function compile flags: /Ogtpy
;	COMDAT ??1aString@@UAE@XZ
_TEXT	SEGMENT
??1aString@@UAE@XZ PROC					; aString::~aString, COMDAT
; _this$ = ecx
	jmp	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
??1aString@@UAE@XZ ENDP					; aString::~aString
_TEXT	ENDS
PUBLIC	??_7aWideString@@6B@				; aWideString::`vftable'
PUBLIC	??0aWideString@@QAE@ABV0@@Z			; aWideString::aWideString
PUBLIC	??_R4aWideString@@6B@				; aWideString::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVaWideString@@@8				; aWideString `RTTI Type Descriptor'
PUBLIC	??_R3aWideString@@8				; aWideString::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aWideString@@8				; aWideString::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@aWideString@@8			; aWideString::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@aStringBase@@8			; aStringBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVaStringBase@@@8				; aStringBase `RTTI Type Descriptor'
PUBLIC	??_R3aStringBase@@8				; aStringBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aStringBase@@8				; aStringBase::`RTTI Base Class Array'
PUBLIC	?CharSize@aWideString@@UBEIXZ			; aWideString::CharSize
EXTRN	??0aStringBase@@QAE@ABV0@@Z:PROC		; aStringBase::aStringBase
EXTRN	??_EaWideString@@UAEPAXI@Z:PROC			; aWideString::`vector deleting destructor'
;	COMDAT ??_R2aStringBase@@8
rdata$r	SEGMENT
??_R2aStringBase@@8 DD FLAT:??_R1A@?0A@EA@aStringBase@@8 ; aStringBase::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3aStringBase@@8
rdata$r	SEGMENT
??_R3aStringBase@@8 DD 00H				; aStringBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2aStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaStringBase@@@8
_DATA	SEGMENT
??_R0?AVaStringBase@@@8 DD FLAT:??_7type_info@@6B@	; aStringBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaStringBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@aStringBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@aStringBase@@8 DD FLAT:??_R0?AVaStringBase@@@8 ; aStringBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@aWideString@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@aWideString@@8 DD FLAT:??_R0?AVaWideString@@@8 ; aWideString::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aWideString@@8
rdata$r	ENDS
;	COMDAT ??_R2aWideString@@8
rdata$r	SEGMENT
??_R2aWideString@@8 DD FLAT:??_R1A@?0A@EA@aWideString@@8 ; aWideString::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@aStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R3aWideString@@8
rdata$r	SEGMENT
??_R3aWideString@@8 DD 00H				; aWideString::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2aWideString@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaWideString@@@8
_DATA	SEGMENT
??_R0?AVaWideString@@@8 DD FLAT:??_7type_info@@6B@	; aWideString `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaWideString@@', 00H
_DATA	ENDS
;	COMDAT ??_R4aWideString@@6B@
rdata$r	SEGMENT
??_R4aWideString@@6B@ DD 00H				; aWideString::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVaWideString@@@8
	DD	FLAT:??_R3aWideString@@8
rdata$r	ENDS
;	COMDAT ??_7aWideString@@6B@
CONST	SEGMENT
??_7aWideString@@6B@ DD FLAT:??_R4aWideString@@6B@	; aWideString::`vftable'
	DD	FLAT:??_EaWideString@@UAEPAXI@Z
	DD	FLAT:?CharSize@aWideString@@UBEIXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0aWideString@@QAE@ABV0@@Z
_TEXT	SEGMENT
_str$ = 8						; size = 4
??0aWideString@@QAE@ABV0@@Z PROC			; aWideString::aWideString, COMDAT
; _this$ = ecx

; 209  : 	aWideString(const aWideString& str) : aStringBase(str) { };

	mov	eax, DWORD PTR _str$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	DWORD PTR [esi], OFFSET ??_7aWideString@@6B@
	mov	eax, esi
	pop	esi
	ret	4
??0aWideString@@QAE@ABV0@@Z ENDP			; aWideString::aWideString
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?CharSize@aWideString@@UBEIXZ
_TEXT	SEGMENT
?CharSize@aWideString@@UBEIXZ PROC			; aWideString::CharSize, COMDAT
; _this$ = ecx

; 217  : 	unsigned int CharSize() const { return 2; };

	mov	eax, 2
	ret	0
?CharSize@aWideString@@UBEIXZ ENDP			; aWideString::CharSize
_TEXT	ENDS
PUBLIC	?GetString@aWideString@@QBEPB_WXZ		; aWideString::GetString
; Function compile flags: /Ogtpy
;	COMDAT ?GetString@aWideString@@QBEPB_WXZ
_TEXT	SEGMENT
?GetString@aWideString@@QBEPB_WXZ PROC			; aWideString::GetString, COMDAT
; _this$ = ecx

; 218  : 	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]
	ret	0
$LN3@GetString@2:
	xor	eax, eax
	ret	0
?GetString@aWideString@@QBEPB_WXZ ENDP			; aWideString::GetString
_TEXT	ENDS
PUBLIC	??1aWideString@@UAE@XZ				; aWideString::~aWideString
; Function compile flags: /Ogtpy
;	COMDAT ??1aWideString@@UAE@XZ
_TEXT	SEGMENT
??1aWideString@@UAE@XZ PROC				; aWideString::~aWideString, COMDAT
; _this$ = ecx
	jmp	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
??1aWideString@@UAE@XZ ENDP				; aWideString::~aWideString
_TEXT	ENDS
PUBLIC	??0aCriticalSection@@QAE@XZ			; aCriticalSection::aCriticalSection
EXTRN	__imp__InitializeCriticalSection@4:PROC
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\acriticalsection.h
;	COMDAT ??0aCriticalSection@@QAE@XZ
_TEXT	SEGMENT
??0aCriticalSection@@QAE@XZ PROC			; aCriticalSection::aCriticalSection, COMDAT
; _this$ = ecx

; 7    : 	aCriticalSection()

	push	esi
	mov	esi, ecx

; 8    : 	{
; 9    : 		InitializeCriticalSection(&this->m_session);

	push	esi
	call	DWORD PTR __imp__InitializeCriticalSection@4

; 10   : 	};

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

; 13   : 		DeleteCriticalSection(&this->m_session);

	push	ecx
	call	DWORD PTR __imp__DeleteCriticalSection@4

; 14   : 	};

	ret	0
??1aCriticalSection@@QAE@XZ ENDP			; aCriticalSection::~aCriticalSection
_TEXT	ENDS
PUBLIC	_floorf
EXTRN	__fltused:DWORD
EXTRN	_floor:PROC
; Function compile flags: /Ogtpy
; File c:\program files\microsoft visual studio 8\vc\include\math.h
;	COMDAT _floorf
_TEXT	SEGMENT
__X$ = 8						; size = 4
_floorf	PROC						; COMDAT

; 405  :         {return ((float)floor((double)_X)); }

	fld	DWORD PTR __X$[esp-4]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	call	_floor
	add	esp, 8
	ret	0
_floorf	ENDP
_TEXT	ENDS
PUBLIC	_powf
EXTRN	__CIpow:PROC
; Function compile flags: /Ogtpy
;	COMDAT _powf
_TEXT	SEGMENT
__X$ = 8						; size = 4
__Y$ = 12						; size = 4
_powf	PROC						; COMDAT

; 417  :         {return ((float)pow((double)_X, (double)_Y)); }

	fld	DWORD PTR __X$[esp-4]
	fld	DWORD PTR __Y$[esp-4]
	jmp	__CIpow
_powf	ENDP
_TEXT	ENDS
PUBLIC	?floor@@YAMM@Z					; floor
; Function compile flags: /Ogtpy
;	COMDAT ?floor@@YAMM@Z
_TEXT	SEGMENT
__X$ = 8						; size = 4
?floor@@YAMM@Z PROC					; floor, COMDAT

; 512  :         {return (floorf(_X)); }

	fld	DWORD PTR __X$[esp-4]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	call	_floor
	add	esp, 8
	ret	0
?floor@@YAMM@Z ENDP					; floor
_TEXT	ENDS
PUBLIC	?pow@@YAMMM@Z					; pow
; Function compile flags: /Ogtpy
;	COMDAT ?pow@@YAMMM@Z
_TEXT	SEGMENT
__X$ = 8						; size = 4
__Y$ = 12						; size = 4
?pow@@YAMMM@Z PROC					; pow, COMDAT

; 526  :         {return (powf(_X, _Y)); }

	fld	DWORD PTR __X$[esp-4]
	fld	DWORD PTR __Y$[esp-4]
	jmp	__CIpow
?pow@@YAMMM@Z ENDP					; pow
_TEXT	ENDS
PUBLIC	?GetID@nc_GameObjObserverClass@@QAEHXZ		; nc_GameObjObserverClass::GetID
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_scripts.h
;	COMDAT ?GetID@nc_GameObjObserverClass@@QAEHXZ
_TEXT	SEGMENT
?GetID@nc_GameObjObserverClass@@QAEHXZ PROC		; nc_GameObjObserverClass::GetID, COMDAT
; _this$ = ecx

; 80   : 		return ID;

	mov	eax, DWORD PTR [ecx+4]

; 81   : 	}

	ret	0
?GetID@nc_GameObjObserverClass@@QAEHXZ ENDP		; nc_GameObjObserverClass::GetID
_TEXT	ENDS
PUBLIC	??4nc_FloatDataSafeClass@@QAEXM@Z		; nc_FloatDataSafeClass::operator=
EXTRN	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z:PROC	; nc_FloatDataSafeClass::Set
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_def.h
;	COMDAT ??4nc_FloatDataSafeClass@@QAEXM@Z
_TEXT	SEGMENT
_value$ = 8						; size = 4
??4nc_FloatDataSafeClass@@QAEXM@Z PROC			; nc_FloatDataSafeClass::operator=, COMDAT
; _this$ = ecx

; 235  : 	void operator=(float value) { this->Set(value); }

	lea	eax, DWORD PTR _value$[esp-4]
	push	eax
	push	ecx
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set
	ret	4
??4nc_FloatDataSafeClass@@QAEXM@Z ENDP			; nc_FloatDataSafeClass::operator=
_TEXT	ENDS
PUBLIC	?GetPlayer@gzEventPlayerBase@@QAEPAVnc_cPlayer@@XZ ; gzEventPlayerBase::GetPlayer
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzeventbase.h
;	COMDAT ?GetPlayer@gzEventPlayerBase@@QAEPAVnc_cPlayer@@XZ
_TEXT	SEGMENT
?GetPlayer@gzEventPlayerBase@@QAEPAVnc_cPlayer@@XZ PROC	; gzEventPlayerBase::GetPlayer, COMDAT
; _this$ = ecx

; 143  : 		return this->m_player;

	mov	eax, DWORD PTR [ecx+32]

; 144  : 	};

	ret	0
?GetPlayer@gzEventPlayerBase@@QAEPAVnc_cPlayer@@XZ ENDP	; gzEventPlayerBase::GetPlayer
_TEXT	ENDS
PUBLIC	??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@	; `string'
PUBLIC	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z	; stSettingsBase::Load_Bool
EXTRN	?ToLong@aString@@QAEJXZ:PROC			; aString::ToLong
EXTRN	?Format@aString@@SA?AV1@PBDZZ:PROC		; aString::Format
EXTRN	??0aString@@QAE@H@Z:PROC			; aString::aString
EXTRN	___CxxFrameHandler3:PROC
;	COMDAT ??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@ DB '"%s".%s', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z$2
__ehfuncinfo$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzsetting.h
xdata$x	ENDS
;	COMDAT ?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z
_TEXT	SEGMENT
$T66464 = -36						; size = 8
$T66466 = -28						; size = 8
$T66465 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_section$ = 8						; size = 4
_item$ = 12						; size = 4
_default$ = 16						; size = 1
?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z PROC		; stSettingsBase::Load_Bool, COMDAT
; _this$ = ecx

; 38   : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H
	push	esi
	mov	esi, ecx

; 39   : 		if (this->m_cfg != NULL)

	cmp	DWORD PTR [esi+12], 0
	je	$LN1@Load_Bool

; 40   : 			return (this->m_cfg->GetData(aString::Format("\"%s\".%s", section, item), default).ToLong() == 0) ? false : true;

	movzx	eax, BYTE PTR _default$[esp+36]
	push	ebx
	push	eax
	lea	ecx, DWORD PTR $T66464[esp+48]
	call	??0aString@@QAE@H@Z			; aString::aString
	mov	ecx, DWORD PTR _item$[esp+40]
	mov	edx, DWORD PTR _section$[esp+40]
	push	ecx
	push	edx
	lea	eax, DWORD PTR $T66465[esp+52]
	push	OFFSET ??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@
	push	eax
	mov	DWORD PTR __$EHRec$[esp+68], 0
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+20]
	lea	esi, DWORD PTR $T66464[esp+44]
	push	esi
	push	eax
	lea	eax, DWORD PTR $T66466[esp+52]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+64], 1
	call	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+52], 2
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	test	eax, eax
	lea	ecx, DWORD PTR $T66466[esp+44]
	setne	bl
	mov	BYTE PTR __$EHRec$[esp+52], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T66465[esp+44]
	mov	BYTE PTR __$EHRec$[esp+52], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+52], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	al, bl
	pop	ebx
	pop	esi

; 41   : 		return default;
; 42   : 	};

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	12					; 0000000cH
$LN1@Load_Bool:
	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	mov	al, BYTE PTR _default$[esp+36]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	12					; 0000000cH
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z$0:
	lea	ecx, DWORD PTR $T66464[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z$1:
	lea	ecx, DWORD PTR $T66465[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z$2:
	lea	ecx, DWORD PTR $T66466[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z:
	mov	eax, OFFSET __ehfuncinfo$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ENDP		; stSettingsBase::Load_Bool
PUBLIC	?Load_Float@stSettingsBase@@IAEMPBD0M@Z		; stSettingsBase::Load_Float
EXTRN	?ToDouble@aString@@QAENXZ:PROC			; aString::ToDouble
EXTRN	??0aString@@QAE@N@Z:PROC			; aString::aString
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__unwindtable$?Load_Float@stSettingsBase@@IAEMPBD0M@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBD0M@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBD0M@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBD0M@Z$2
__ehfuncinfo$?Load_Float@stSettingsBase@@IAEMPBD0M@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?Load_Float@stSettingsBase@@IAEMPBD0M@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzsetting.h
xdata$x	ENDS
;	COMDAT ?Load_Float@stSettingsBase@@IAEMPBD0M@Z
_TEXT	SEGMENT
$T66495 = -36						; size = 8
$T66497 = -28						; size = 8
$T66496 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_section$ = 8						; size = 4
_item$ = 12						; size = 4
$T66494 = 16						; size = 4
_default$ = 16						; size = 4
?Load_Float@stSettingsBase@@IAEMPBD0M@Z PROC		; stSettingsBase::Load_Float, COMDAT
; _this$ = ecx

; 56   : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Load_Float@stSettingsBase@@IAEMPBD0M@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H
	push	esi
	mov	esi, ecx

; 57   : 		if (this->m_cfg != NULL)

	cmp	DWORD PTR [esi+12], 0
	je	$LN1@Load_Float

; 58   : 			return (float)this->m_cfg->GetData(aString::Format("\"%s\".%s", section, item), default).ToDouble();

	fld	DWORD PTR _default$[esp+36]
	sub	esp, 8
	lea	ecx, DWORD PTR $T66495[esp+48]
	fstp	QWORD PTR [esp]
	call	??0aString@@QAE@N@Z			; aString::aString
	mov	eax, DWORD PTR _item$[esp+36]
	mov	ecx, DWORD PTR _section$[esp+36]
	push	eax
	push	ecx
	lea	edx, DWORD PTR $T66496[esp+48]
	push	OFFSET ??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@
	push	edx
	mov	DWORD PTR __$EHRec$[esp+64], 0
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+20]
	lea	esi, DWORD PTR $T66495[esp+40]
	push	esi
	push	eax
	lea	eax, DWORD PTR $T66497[esp+48]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+60], 1
	call	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+48], 2
	call	?ToDouble@aString@@QAENXZ		; aString::ToDouble
	fstp	DWORD PTR $T66494[esp+36]
	lea	ecx, DWORD PTR $T66497[esp+40]
	mov	BYTE PTR __$EHRec$[esp+48], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T66496[esp+40]
	mov	BYTE PTR __$EHRec$[esp+48], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+48], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@Load_Float:

; 59   : 		return default;
; 60   : 	};

	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	fld	DWORD PTR _default$[esp+36]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	12					; 0000000cH
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBD0M@Z$0:
	lea	ecx, DWORD PTR $T66495[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBD0M@Z$1:
	lea	ecx, DWORD PTR $T66496[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBD0M@Z$2:
	lea	ecx, DWORD PTR $T66497[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Load_Float@stSettingsBase@@IAEMPBD0M@Z:
	mov	eax, OFFSET __ehfuncinfo$?Load_Float@stSettingsBase@@IAEMPBD0M@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load_Float@stSettingsBase@@IAEMPBD0M@Z ENDP		; stSettingsBase::Load_Float
PUBLIC	?Load_Int@stSettingsBase@@IAEHPBD0H@Z		; stSettingsBase::Load_Int
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__unwindtable$?Load_Int@stSettingsBase@@IAEHPBD0H@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBD0H@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBD0H@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBD0H@Z$2
__ehfuncinfo$?Load_Int@stSettingsBase@@IAEHPBD0H@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?Load_Int@stSettingsBase@@IAEHPBD0H@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzsetting.h
xdata$x	ENDS
;	COMDAT ?Load_Int@stSettingsBase@@IAEHPBD0H@Z
_TEXT	SEGMENT
$T66523 = -36						; size = 8
$T66525 = -28						; size = 8
$T66524 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_section$ = 8						; size = 4
_item$ = 12						; size = 4
_default$ = 16						; size = 4
?Load_Int@stSettingsBase@@IAEHPBD0H@Z PROC		; stSettingsBase::Load_Int, COMDAT
; _this$ = ecx

; 74   : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Load_Int@stSettingsBase@@IAEHPBD0H@Z
	push	eax

; 75   : 		if (this->m_cfg != NULL)
; 76   : 			return this->m_cfg->GetData(aString::Format("\"%s\".%s", section, item), default).ToLong();

	mov	eax, DWORD PTR _default$[esp+8]
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+12], 0
	je	$LN2@Load_Int
	push	eax
	lea	ecx, DWORD PTR $T66523[esp+44]
	call	??0aString@@QAE@H@Z			; aString::aString
	mov	ecx, DWORD PTR _item$[esp+36]
	mov	edx, DWORD PTR _section$[esp+36]
	push	ecx
	push	edx
	lea	eax, DWORD PTR $T66524[esp+48]
	push	OFFSET ??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@
	push	eax
	mov	DWORD PTR __$EHRec$[esp+64], 0
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+20]
	lea	esi, DWORD PTR $T66523[esp+40]
	push	esi
	push	eax
	lea	eax, DWORD PTR $T66525[esp+48]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+60], 1
	call	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+48], 2
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	lea	ecx, DWORD PTR $T66525[esp+40]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+48], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T66524[esp+40]
	mov	BYTE PTR __$EHRec$[esp+48], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T66523[esp+40]
	mov	DWORD PTR __$EHRec$[esp+48], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	eax, esi
$LN2@Load_Int:

; 77   : 		return default;
; 78   : 	};

	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	12					; 0000000cH
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBD0H@Z$0:
	lea	ecx, DWORD PTR $T66523[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBD0H@Z$1:
	lea	ecx, DWORD PTR $T66524[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBD0H@Z$2:
	lea	ecx, DWORD PTR $T66525[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Load_Int@stSettingsBase@@IAEHPBD0H@Z:
	mov	eax, OFFSET __ehfuncinfo$?Load_Int@stSettingsBase@@IAEHPBD0H@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load_Int@stSettingsBase@@IAEHPBD0H@Z ENDP		; stSettingsBase::Load_Int
PUBLIC	?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z ; stSettingsBase::Load_String
EXTRN	??0aString@@QAE@PBD@Z:PROC			; aString::aString
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__unwindtable$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z$1
__ehfuncinfo$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzsetting.h
xdata$x	ENDS
;	COMDAT ?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z
_TEXT	SEGMENT
$T66555 = -28						; size = 4
$T66550 = -28						; size = 8
$T66551 = -20						; size = 8
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_section$ = 12						; size = 4
_item$ = 16						; size = 4
_default$ = 20						; size = 4
?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z PROC ; stSettingsBase::Load_String, COMDAT
; _this$ = ecx

; 92   : 	{

	push	-1
	push	__ehhandler$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 16					; 00000010H
	push	esi
	mov	esi, ecx
	mov	DWORD PTR $T66555[esp+32], 0

; 93   : 		if (this->m_cfg != NULL)

	cmp	DWORD PTR [esi+12], 0
	je	SHORT $LN1@Load_Strin

; 94   : 			return this->m_cfg->GetData(aString::Format("\"%s\".%s", section, item), default);

	mov	eax, DWORD PTR _default$[esp+28]
	push	eax
	lea	ecx, DWORD PTR $T66550[esp+36]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR _item$[esp+28]
	mov	edx, DWORD PTR _section$[esp+28]
	push	ecx
	push	edx
	lea	eax, DWORD PTR $T66551[esp+40]
	push	OFFSET ??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@
	push	eax
	mov	DWORD PTR __$EHRec$[esp+56], 0
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	lea	esi, DWORD PTR $T66550[esp+32]
	push	esi
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+32]
	push	eax
	mov	eax, DWORD PTR [edx+20]
	push	esi
	mov	BYTE PTR __$EHRec$[esp+52], 1
	call	eax
	lea	ecx, DWORD PTR $T66551[esp+32]
	mov	BYTE PTR __$EHRec$[esp+40], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T66550[esp+32]
	mov	DWORD PTR __$EHRec$[esp+40], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 95   : 		return default;

	mov	eax, esi
	pop	esi

; 96   : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	mov	DWORD PTR fs:0, ecx
	add	esp, 28					; 0000001cH
	ret	16					; 00000010H
$LN1@Load_Strin:

; 95   : 		return default;

	mov	ecx, DWORD PTR _default$[esp+28]
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+28]
	push	ecx
	mov	ecx, esi
	call	??0aString@@QAE@PBD@Z			; aString::aString

; 96   : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+32]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 28					; 0000001cH
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z$0:
	lea	ecx, DWORD PTR $T66550[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z$1:
	lea	ecx, DWORD PTR $T66551[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z:
	mov	eax, OFFSET __ehfuncinfo$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z ENDP ; stSettingsBase::Load_String
PUBLIC	??_7stSettingsBase@@6B@				; stSettingsBase::`vftable'
PUBLIC	??0stSettingsBase@@QAE@XZ			; stSettingsBase::stSettingsBase
PUBLIC	??_R4stSettingsBase@@6B@			; stSettingsBase::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVstSettingsBase@@@8			; stSettingsBase `RTTI Type Descriptor'
PUBLIC	??_R3stSettingsBase@@8				; stSettingsBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2stSettingsBase@@8				; stSettingsBase::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@stSettingsBase@@8			; stSettingsBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Delete@stSettingsBase@@UAEXXZ			; stSettingsBase::Delete
EXTRN	?gzSettingsMgr@@3PAVgzSettingsManager@@A:DWORD	; gzSettingsMgr
EXTRN	__purecall:PROC
;	COMDAT ??_R1A@?0A@EA@stSettingsBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@stSettingsBase@@8 DD FLAT:??_R0?AVstSettingsBase@@@8 ; stSettingsBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3stSettingsBase@@8
rdata$r	ENDS
;	COMDAT ??_R2stSettingsBase@@8
rdata$r	SEGMENT
??_R2stSettingsBase@@8 DD FLAT:??_R1A@?0A@EA@stSettingsBase@@8 ; stSettingsBase::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3stSettingsBase@@8
rdata$r	SEGMENT
??_R3stSettingsBase@@8 DD 00H				; stSettingsBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2stSettingsBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVstSettingsBase@@@8
_DATA	SEGMENT
??_R0?AVstSettingsBase@@@8 DD FLAT:??_7type_info@@6B@	; stSettingsBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVstSettingsBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R4stSettingsBase@@6B@
rdata$r	SEGMENT
??_R4stSettingsBase@@6B@ DD 00H				; stSettingsBase::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVstSettingsBase@@@8
	DD	FLAT:??_R3stSettingsBase@@8
rdata$r	ENDS
;	COMDAT ??_7stSettingsBase@@6B@
CONST	SEGMENT
??_7stSettingsBase@@6B@ DD FLAT:??_R4stSettingsBase@@6B@ ; stSettingsBase::`vftable'
	DD	FLAT:?Delete@stSettingsBase@@UAEXXZ
	DD	FLAT:__purecall
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0stSettingsBase@@QAE@XZ
_TEXT	SEGMENT
$T66575 = -4						; size = 4
??0stSettingsBase@@QAE@XZ PROC				; stSettingsBase::stSettingsBase, COMDAT
; _this$ = ecx

; 101  : 	stSettingsBase()

	push	ecx

; 102  : 	{
; 103  : 		this->m_cfg = NULL;

	xor	eax, eax
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi+12], eax

; 104  : 		this->m_confModTime = 0;

	mov	DWORD PTR [esi+16], eax
	mov	DWORD PTR [esi+20], eax

; 105  : 		this->m_owner = NULL;

	mov	DWORD PTR [esi+8], eax
	mov	DWORD PTR [esi], OFFSET ??_7stSettingsBase@@6B@

; 106  : 		gzSettingsMgr->m_list.Add(this);

	mov	ecx, DWORD PTR ?gzSettingsMgr@@3PAVgzSettingsManager@@A ; gzSettingsMgr
	add	ecx, 36					; 00000024H
	mov	DWORD PTR $T66575[esp+8], esi
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+12]
	lea	edx, DWORD PTR $T66575[esp+8]
	push	edx
	call	eax

; 107  : 	};

	mov	eax, esi
	pop	esi
	pop	ecx
	ret	0
??0stSettingsBase@@QAE@XZ ENDP				; stSettingsBase::stSettingsBase
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@stSettingsBase@@UAEXXZ
_TEXT	SEGMENT
?Delete@stSettingsBase@@UAEXXZ PROC			; stSettingsBase::Delete, COMDAT
; _this$ = ecx

; 108  : 	virtual void Delete() { };

	ret	0
?Delete@stSettingsBase@@UAEXXZ ENDP			; stSettingsBase::Delete
_TEXT	ENDS
PUBLIC	?SetOwner@stSettingsBase@@QAEXPAVgzSettingsEvent@@@Z ; stSettingsBase::SetOwner
; Function compile flags: /Ogtpy
;	COMDAT ?SetOwner@stSettingsBase@@QAEXPAVgzSettingsEvent@@@Z
_TEXT	SEGMENT
_owner$ = 8						; size = 4
?SetOwner@stSettingsBase@@QAEXPAVgzSettingsEvent@@@Z PROC ; stSettingsBase::SetOwner, COMDAT
; _this$ = ecx

; 111  : 	void SetOwner(gzSettingsEvent *owner) { this->m_owner = owner; };

	mov	eax, DWORD PTR _owner$[esp-4]
	mov	DWORD PTR [ecx+8], eax
	ret	4
?SetOwner@stSettingsBase@@QAEXPAVgzSettingsEvent@@@Z ENDP ; stSettingsBase::SetOwner
_TEXT	ENDS
PUBLIC	?GetVeteran@gzPlayer@@QAEPAVgzVeteranClass@@XZ	; gzPlayer::GetVeteran
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzplayer.h
;	COMDAT ?GetVeteran@gzPlayer@@QAEPAVgzVeteranClass@@XZ
_TEXT	SEGMENT
?GetVeteran@gzPlayer@@QAEPAVgzVeteranClass@@XZ PROC	; gzPlayer::GetVeteran, COMDAT
; _this$ = ecx

; 77   : 	inline gzVeteranClass *GetVeteran() { return this->m_veteran; };

	mov	eax, DWORD PTR [ecx+64]
	ret	0
?GetVeteran@gzPlayer@@QAEPAVgzVeteranClass@@XZ ENDP	; gzPlayer::GetVeteran
_TEXT	ENDS
PUBLIC	?GetPlayerData@gzPlayer@@QAEPAVnc_cPlayer@@XZ	; gzPlayer::GetPlayerData
; Function compile flags: /Ogtpy
;	COMDAT ?GetPlayerData@gzPlayer@@QAEPAVnc_cPlayer@@XZ
_TEXT	SEGMENT
?GetPlayerData@gzPlayer@@QAEPAVnc_cPlayer@@XZ PROC	; gzPlayer::GetPlayerData, COMDAT
; _this$ = ecx

; 80   : 	inline nc_cPlayer *GetPlayerData() { return this->m_gameData; };

	mov	eax, DWORD PTR [ecx+72]
	ret	0
?GetPlayerData@gzPlayer@@QAEPAVnc_cPlayer@@XZ ENDP	; gzPlayer::GetPlayerData
_TEXT	ENDS
PUBLIC	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ	; gzPlayer::GetPlayerName
; Function compile flags: /Ogtpy
;	COMDAT ?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ
_TEXT	SEGMENT
$T66592 = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ PROC	; gzPlayer::GetPlayerName, COMDAT
; _this$ = ecx

; 99   : 	inline aWideString GetPlayerName() { return this->m_name; };

	push	ecx
	push	esi
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+4]
	add	ecx, 76					; 0000004cH
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR $T66592[esp+12], 0
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	DWORD PTR [esi], OFFSET ??_7aWideString@@6B@
	mov	eax, esi
	pop	esi
	pop	ecx
	ret	4
?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ENDP	; gzPlayer::GetPlayerName
_TEXT	ENDS
PUBLIC	??1gzVeteranLevelDefStruct@@QAE@XZ		; gzVeteranLevelDefStruct::~gzVeteranLevelDefStruct
; Function compile flags: /Ogtpy
;	COMDAT ??1gzVeteranLevelDefStruct@@QAE@XZ
_TEXT	SEGMENT
??1gzVeteranLevelDefStruct@@QAE@XZ PROC			; gzVeteranLevelDefStruct::~gzVeteranLevelDefStruct, COMDAT
; _this$ = ecx
	jmp	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
??1gzVeteranLevelDefStruct@@QAE@XZ ENDP			; gzVeteranLevelDefStruct::~gzVeteranLevelDefStruct
_TEXT	ENDS
PUBLIC	??1gzVeteranPointsDefStruct@@QAE@XZ		; gzVeteranPointsDefStruct::~gzVeteranPointsDefStruct
; Function compile flags: /Ogtpy
;	COMDAT ??1gzVeteranPointsDefStruct@@QAE@XZ
_TEXT	SEGMENT
??1gzVeteranPointsDefStruct@@QAE@XZ PROC		; gzVeteranPointsDefStruct::~gzVeteranPointsDefStruct, COMDAT
; _this$ = ecx
	jmp	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
??1gzVeteranPointsDefStruct@@QAE@XZ ENDP		; gzVeteranPointsDefStruct::~gzVeteranPointsDefStruct
_TEXT	ENDS
PUBLIC	??0gzVeteranLevelDefStruct@@QAE@XZ		; gzVeteranLevelDefStruct::gzVeteranLevelDefStruct
EXTRN	??0aString@@QAE@XZ:PROC				; aString::aString
; Function compile flags: /Ogtpy
;	COMDAT ??0gzVeteranLevelDefStruct@@QAE@XZ
_TEXT	SEGMENT
??0gzVeteranLevelDefStruct@@QAE@XZ PROC			; gzVeteranLevelDefStruct::gzVeteranLevelDefStruct, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0aString@@QAE@XZ			; aString::aString
	mov	eax, esi
	pop	esi
	ret	0
??0gzVeteranLevelDefStruct@@QAE@XZ ENDP			; gzVeteranLevelDefStruct::gzVeteranLevelDefStruct
_TEXT	ENDS
PUBLIC	??0gzVeteranPointsDefStruct@@QAE@XZ		; gzVeteranPointsDefStruct::gzVeteranPointsDefStruct
; Function compile flags: /Ogtpy
;	COMDAT ??0gzVeteranPointsDefStruct@@QAE@XZ
_TEXT	SEGMENT
??0gzVeteranPointsDefStruct@@QAE@XZ PROC		; gzVeteranPointsDefStruct::gzVeteranPointsDefStruct, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0aString@@QAE@XZ			; aString::aString
	mov	eax, esi
	pop	esi
	ret	0
??0gzVeteranPointsDefStruct@@QAE@XZ ENDP		; gzVeteranPointsDefStruct::gzVeteranPointsDefStruct
_TEXT	ENDS
PUBLIC	?Delete@gzVeteranManagerClass@@UAEXXZ		; gzVeteranManagerClass::Delete
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
;	COMDAT ?Delete@gzVeteranManagerClass@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzVeteranManagerClass@@UAEXXZ PROC		; gzVeteranManagerClass::Delete, COMDAT
; _this$ = ecx

; 164  : }

	ret	0
?Delete@gzVeteranManagerClass@@UAEXXZ ENDP		; gzVeteranManagerClass::Delete
_TEXT	ENDS
PUBLIC	?Settings_Loaded@gzVeteranManagerClass@@UAEXXZ	; gzVeteranManagerClass::Settings_Loaded
; Function compile flags: /Ogtpy
;	COMDAT ?Settings_Loaded@gzVeteranManagerClass@@UAEXXZ
_TEXT	SEGMENT
?Settings_Loaded@gzVeteranManagerClass@@UAEXXZ PROC	; gzVeteranManagerClass::Settings_Loaded, COMDAT
; _this$ = ecx

; 167  : }

	ret	0
?Settings_Loaded@gzVeteranManagerClass@@UAEXXZ ENDP	; gzVeteranManagerClass::Settings_Loaded
_TEXT	ENDS
PUBLIC	??_7gzSettingsEvent@@6B@			; gzSettingsEvent::`vftable'
PUBLIC	??0gzSettingsEvent@@QAE@XZ			; gzSettingsEvent::gzSettingsEvent
PUBLIC	??_R4gzSettingsEvent@@6B@			; gzSettingsEvent::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzSettingsEvent@@@8			; gzSettingsEvent `RTTI Type Descriptor'
PUBLIC	??_R3gzSettingsEvent@@8				; gzSettingsEvent::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzSettingsEvent@@8				; gzSettingsEvent::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzSettingsEvent@@8		; gzSettingsEvent::`RTTI Base Class Descriptor at (0,-1,0,64)'
;	COMDAT ??_R1A@?0A@EA@gzSettingsEvent@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzSettingsEvent@@8 DD FLAT:??_R0?AVgzSettingsEvent@@@8 ; gzSettingsEvent::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzSettingsEvent@@8
rdata$r	ENDS
;	COMDAT ??_R2gzSettingsEvent@@8
rdata$r	SEGMENT
??_R2gzSettingsEvent@@8 DD FLAT:??_R1A@?0A@EA@gzSettingsEvent@@8 ; gzSettingsEvent::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzSettingsEvent@@8
rdata$r	SEGMENT
??_R3gzSettingsEvent@@8 DD 00H				; gzSettingsEvent::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzSettingsEvent@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzSettingsEvent@@@8
_DATA	SEGMENT
??_R0?AVgzSettingsEvent@@@8 DD FLAT:??_7type_info@@6B@	; gzSettingsEvent `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzSettingsEvent@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzSettingsEvent@@6B@
rdata$r	SEGMENT
??_R4gzSettingsEvent@@6B@ DD 00H			; gzSettingsEvent::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzSettingsEvent@@@8
	DD	FLAT:??_R3gzSettingsEvent@@8
rdata$r	ENDS
;	COMDAT ??_7gzSettingsEvent@@6B@
CONST	SEGMENT
??_7gzSettingsEvent@@6B@ DD FLAT:??_R4gzSettingsEvent@@6B@ ; gzSettingsEvent::`vftable'
	DD	FLAT:__purecall
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzSettingsEvent@@QAE@XZ
_TEXT	SEGMENT
??0gzSettingsEvent@@QAE@XZ PROC				; gzSettingsEvent::gzSettingsEvent, COMDAT
; _this$ = ecx
	mov	eax, ecx
	mov	DWORD PTR [eax], OFFSET ??_7gzSettingsEvent@@6B@
	ret	0
??0gzSettingsEvent@@QAE@XZ ENDP				; gzSettingsEvent::gzSettingsEvent
_TEXT	ENDS
PUBLIC	??_C@_0BJ@LDMGFND@gzObserverVeteranVehicle?$AA@	; `string'
PUBLIC	??_C@_0BK@MHOLDJPJ@gzObserverVeteranBuilding?$AA@ ; `string'
PUBLIC	?Level_Loaded@gzVeteranManagerClass@@UAEXXZ	; gzVeteranManagerClass::Level_Loaded
EXTRN	?Insert_Observer@nc_ScriptableGameObj@@QAEXPAVnc_GameObjObserverClass@@@Z:PROC ; nc_ScriptableGameObj::Insert_Observer
EXTRN	?Create_Script@nc_ScriptManager@@SAPAVnc_ScriptImpClass@@PBD@Z:PROC ; nc_ScriptManager::Create_Script
EXTRN	?GameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BaseGameObj@@@@A:DWORD ; nc_GameObjManager::GameObjList
;	COMDAT ??_C@_0BJ@LDMGFND@gzObserverVeteranVehicle?$AA@
CONST	SEGMENT
??_C@_0BJ@LDMGFND@gzObserverVeteranVehicle?$AA@ DB 'gzObserverVeteranVehi'
	DB	'cle', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BK@MHOLDJPJ@gzObserverVeteranBuilding?$AA@
CONST	SEGMENT
??_C@_0BK@MHOLDJPJ@gzObserverVeteranBuilding?$AA@ DB 'gzObserverVeteranBu'
	DB	'ilding', 00H				; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Level_Loaded@gzVeteranManagerClass@@UAEXXZ
_TEXT	SEGMENT
?Level_Loaded@gzVeteranManagerClass@@UAEXXZ PROC	; gzVeteranManagerClass::Level_Loaded, COMDAT
; _this$ = ecx

; 184  : 	if (this->m_settings->m_enable)

	mov	eax, DWORD PTR [ecx+40]
	cmp	BYTE PTR [eax+24], 0
	je	SHORT $LN5@Level_Load

; 185  : 	{
; 186  : 		for (nc_GenericSLNode<nc_BaseGameObj> *objList = nc_GameObjManager::GameObjList->HeadNode; objList != NULL; objList = objList->NodeNext)

	mov	ecx, DWORD PTR ?GameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BaseGameObj@@@@A ; nc_GameObjManager::GameObjList
	push	esi
	mov	esi, DWORD PTR [ecx+4]
	test	esi, esi
	je	SHORT $LN13@Level_Load
	push	edi
$LL7@Level_Load:

; 187  : 		{
; 188  : 			if (objList->NodeData->As_ScriptableGameObj())

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	test	eax, eax
	je	SHORT $LN6@Level_Load

; 189  : 			{
; 190  : 				if (objList->NodeData->As_ScriptableGameObj()->As_BuildingGameObj())

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+64]
	call	eax
	test	eax, eax
	je	SHORT $LN3@Level_Load

; 191  : 					objList->NodeData->As_ScriptableGameObj()->Insert_Observer(nc_ScriptManager::Create_Script("gzObserverVeteranBuilding"));

	push	OFFSET ??_C@_0BK@MHOLDJPJ@gzObserverVeteranBuilding?$AA@
	jmp	SHORT $LN15@Level_Load
$LN3@Level_Load:

; 192  : 
; 193  : 				// Turrets
; 194  : 				else if (objList->NodeData->As_VehicleGameObj())

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+40]
	call	eax
	test	eax, eax
	je	SHORT $LN6@Level_Load

; 195  : 					objList->NodeData->As_ScriptableGameObj()->Insert_Observer(nc_ScriptManager::Create_Script("gzObserverVeteranVehicle"));

	push	OFFSET ??_C@_0BJ@LDMGFND@gzObserverVeteranVehicle?$AA@
$LN15@Level_Load:
	mov	edi, DWORD PTR [esi+4]
	call	?Create_Script@nc_ScriptManager@@SAPAVnc_ScriptImpClass@@PBD@Z ; nc_ScriptManager::Create_Script
	mov	edx, DWORD PTR [edi]
	add	esp, 4
	push	eax
	mov	eax, DWORD PTR [edx+48]
	mov	ecx, edi
	call	eax
	mov	ecx, eax
	call	?Insert_Observer@nc_ScriptableGameObj@@QAEXPAVnc_GameObjObserverClass@@@Z ; nc_ScriptableGameObj::Insert_Observer
$LN6@Level_Load:
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL7@Level_Load
	pop	edi
$LN13@Level_Load:
	pop	esi
$LN5@Level_Load:

; 196  : 			}
; 197  : 		}
; 198  : 	}
; 199  : }

	ret	0
?Level_Loaded@gzVeteranManagerClass@@UAEXXZ ENDP	; gzVeteranManagerClass::Level_Loaded
_TEXT	ENDS
PUBLIC	??_C@_0BE@PDPPDPMC@gzObserverVeteranC4?$AA@	; `string'
PUBLIC	?Object_C4Creation@gzVeteranManagerClass@@UAEXAAVgzEventObjectC4Creation@@@Z ; gzVeteranManagerClass::Object_C4Creation
EXTRN	?Add_Observer@nc_ScriptableGameObj@@QAEXPAVnc_GameObjObserverClass@@@Z:PROC ; nc_ScriptableGameObj::Add_Observer
;	COMDAT ??_C@_0BE@PDPPDPMC@gzObserverVeteranC4?$AA@
CONST	SEGMENT
??_C@_0BE@PDPPDPMC@gzObserverVeteranC4?$AA@ DB 'gzObserverVeteranC4', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Object_C4Creation@gzVeteranManagerClass@@UAEXAAVgzEventObjectC4Creation@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Object_C4Creation@gzVeteranManagerClass@@UAEXAAVgzEventObjectC4Creation@@@Z PROC ; gzVeteranManagerClass::Object_C4Creation, COMDAT
; _this$ = ecx

; 202  : 	if (this->m_settings->m_enable)

	mov	eax, DWORD PTR [ecx+40]
	cmp	BYTE PTR [eax+24], 0
	je	SHORT $LN1@Object_C4C

; 203  : 	{
; 204  : 		evt.m_C4->Add_Observer(nc_ScriptManager::Create_Script("gzObserverVeteranC4"));

	push	OFFSET ??_C@_0BE@PDPPDPMC@gzObserverVeteranC4?$AA@
	call	?Create_Script@nc_ScriptManager@@SAPAVnc_ScriptImpClass@@PBD@Z ; nc_ScriptManager::Create_Script
	mov	ecx, DWORD PTR _evt$[esp]
	mov	ecx, DWORD PTR [ecx+32]
	add	esp, 4
	push	eax
	call	?Add_Observer@nc_ScriptableGameObj@@QAEXPAVnc_GameObjObserverClass@@@Z ; nc_ScriptableGameObj::Add_Observer
$LN1@Object_C4C:

; 205  : 	}
; 206  : }

	ret	4
?Object_C4Creation@gzVeteranManagerClass@@UAEXAAVgzEventObjectC4Creation@@@Z ENDP ; gzVeteranManagerClass::Object_C4Creation
_TEXT	ENDS
PUBLIC	?GetSettings@gzVeteranManagerClass@@QAEPAVgzSettingsVeteranClass@@XZ ; gzVeteranManagerClass::GetSettings
; Function compile flags: /Ogtpy
;	COMDAT ?GetSettings@gzVeteranManagerClass@@QAEPAVgzSettingsVeteranClass@@XZ
_TEXT	SEGMENT
?GetSettings@gzVeteranManagerClass@@QAEPAVgzSettingsVeteranClass@@XZ PROC ; gzVeteranManagerClass::GetSettings, COMDAT
; _this$ = ecx

; 209  : 	return this->m_settings;

	mov	eax, DWORD PTR [ecx+40]

; 210  : }

	ret	0
?GetSettings@gzVeteranManagerClass@@QAEPAVgzSettingsVeteranClass@@XZ ENDP ; gzVeteranManagerClass::GetSettings
_TEXT	ENDS
PUBLIC	__real@bc23d70a
PUBLIC	__real@4f800000
PUBLIC	__real@00000000
PUBLIC	?Player_Purchase@gzVeteranClass@@UAEXAAVgzEventPlayerPurchase@@@Z ; gzVeteranClass::Player_Purchase
;	COMDAT __real@bc23d70a
; File d:\source code\gzgm\gzplayer.h
CONST	SEGMENT
__real@bc23d70a DD 0bc23d70ar			; -0.01
CONST	ENDS
;	COMDAT __real@4f800000
CONST	SEGMENT
__real@4f800000 DD 04f800000r			; 4.29497e+009
CONST	ENDS
;	COMDAT __real@00000000
CONST	SEGMENT
__real@00000000 DD 000000000r			; 0
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
CONST	ENDS
;	COMDAT ?Player_Purchase@gzVeteranClass@@UAEXAAVgzEventPlayerPurchase@@@Z
_TEXT	SEGMENT
tv172 = -8						; size = 4
tv170 = -8						; size = 8
tv177 = 8						; size = 4
tv176 = 8						; size = 2
_evt$ = 8						; size = 4
?Player_Purchase@gzVeteranClass@@UAEXAAVgzEventPlayerPurchase@@@Z PROC ; gzVeteranClass::Player_Purchase, COMDAT
; _this$ = ecx

; 257  : 	if (this->m_currLevel != NULL)

	mov	edx, DWORD PTR [ecx+44]
	sub	esp, 8
	test	edx, edx
	je	SHORT $LN1@Player_Pur

; 258  : 	{
; 259  : 		if (evt.GetPlayer() == this->m_owner->GetPlayerData())

	mov	eax, DWORD PTR [ecx+36]
	mov	ecx, DWORD PTR _evt$[esp+4]
	push	esi
	mov	esi, DWORD PTR [ecx+32]
	cmp	esi, DWORD PTR [eax+72]
	pop	esi
	jne	SHORT $LN1@Player_Pur

; 260  : 		{
; 261  : 			if (this->m_currLevel->Discount > 0.0f)

	fldz
	fcomp	DWORD PTR [edx+20]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN1@Player_Pur

; 262  : 				evt.m_cost -= (int)((float)evt.m_originalCost / 100.0f * this->m_currLevel->Discount);

	mov	eax, DWORD PTR [ecx+44]
	fild	DWORD PTR [ecx+44]
	test	eax, eax
	jge	SHORT $LN10@Player_Pur
	fadd	DWORD PTR __real@4f800000
$LN10@Player_Pur:
	fmul	DWORD PTR [edx+20]
	fnstcw	WORD PTR tv176[esp+4]
	movzx	eax, WORD PTR tv176[esp+4]
	fmul	DWORD PTR __real@bc23d70a
	or	eax, 3072				; 00000c00H
	mov	DWORD PTR tv172[esp+8], eax
	fldcw	WORD PTR tv172[esp+8]
	fistp	QWORD PTR tv170[esp+8]
	mov	edx, DWORD PTR tv170[esp+8]
	add	DWORD PTR [ecx+48], edx
	fldcw	WORD PTR tv176[esp+4]
$LN1@Player_Pur:

; 263  : 		}
; 264  : 	}
; 265  : }

	add	esp, 8
	ret	4
?Player_Purchase@gzVeteranClass@@UAEXAAVgzEventPlayerPurchase@@@Z ENDP ; gzVeteranClass::Player_Purchase
_TEXT	ENDS
PUBLIC	__real@3f800000
PUBLIC	__real@3c23d70a
PUBLIC	?GetMultipler@gzVeteranClass@@QAEMXZ		; gzVeteranClass::GetMultipler
;	COMDAT __real@3f800000
; File c:\program files\microsoft visual studio 8\vc\include\math.h
CONST	SEGMENT
__real@3f800000 DD 03f800000r			; 1
CONST	ENDS
;	COMDAT __real@3c23d70a
CONST	SEGMENT
__real@3c23d70a DD 03c23d70ar			; 0.01
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
CONST	ENDS
;	COMDAT ?GetMultipler@gzVeteranClass@@QAEMXZ
_TEXT	SEGMENT
tv330 = -8						; size = 4
tv241 = -8						; size = 4
tv238 = -8						; size = 4
tv319 = -4						; size = 4
tv314 = -4						; size = 4
tv293 = -4						; size = 4
tv283 = -4						; size = 4
tv279 = -4						; size = 4
?GetMultipler@gzVeteranClass@@QAEMXZ PROC		; gzVeteranClass::GetMultipler, COMDAT
; _this$ = ecx

; 334  : 	if (this->m_nextLevel != NULL)

	mov	edx, DWORD PTR [ecx+48]
	sub	esp, 8
	test	edx, edx
	push	esi
	je	$LN1@GetMultipl

; 335  : 	{
; 336  : 		if (this->m_nextLevel->IncreaseRequirementUsePromoteTime)

	cmp	BYTE PTR [edx+56], 0

; 337  : 		{
; 338  : 			if ((this->m_owner->GetPlayerData()->GameTime - this->m_promoteTime) > this->m_nextLevel->IncreaseRequirementStart)

	mov	eax, DWORD PTR [ecx+36]
	je	SHORT $LN4@GetMultipl
	mov	eax, DWORD PTR [eax+72]
	fld	DWORD PTR [eax+32]
	mov	eax, DWORD PTR [edx+44]
	test	eax, eax
	fsub	DWORD PTR [ecx+52]
	fild	DWORD PTR [edx+44]
	jge	SHORT $LN36@GetMultipl
	fadd	DWORD PTR __real@4f800000
$LN36@GetMultipl:
	fcomp	ST(1)
	fnstsw	ax
	test	ah, 5
	jp	$LN33@GetMultipl

; 339  : 				return pow(1.0f + (this->m_nextLevel->IncreaseRequirementPercent / 100), floor(((this->m_owner->GetPlayerData()->GameTime - this->m_promoteTime) - this->m_nextLevel->IncreaseRequirementStart) / this->m_nextLevel->IncreaseRequirementInterval));

	fld	DWORD PTR [edx+52]
	mov	ecx, edx
	fmul	DWORD PTR __real@3c23d70a
	mov	edx, DWORD PTR [ecx+44]
	test	edx, edx
	fadd	DWORD PTR __real@3f800000
	fstp	DWORD PTR tv238[esp+12]
	fild	DWORD PTR [ecx+44]
	jge	SHORT $LN37@GetMultipl
	fadd	DWORD PTR __real@4f800000
$LN37@GetMultipl:
	mov	eax, DWORD PTR [ecx+48]
	fsubp	ST(1), ST(0)
	test	eax, eax
	fild	DWORD PTR [ecx+48]
	jge	SHORT $LN38@GetMultipl
	fadd	DWORD PTR __real@4f800000
$LN38@GetMultipl:
	fdivp	ST(1), ST(0)
	sub	esp, 8
	fstp	QWORD PTR [esp]
	call	_floor
	fld	DWORD PTR tv238[esp+20]
	add	esp, 8
	fxch	ST(1)
	pop	esi

; 348  : }

	add	esp, 8

; 339  : 				return pow(1.0f + (this->m_nextLevel->IncreaseRequirementPercent / 100), floor(((this->m_owner->GetPlayerData()->GameTime - this->m_promoteTime) - this->m_nextLevel->IncreaseRequirementStart) / this->m_nextLevel->IncreaseRequirementInterval));

	jmp	__CIpow
$LN4@GetMultipl:

; 340  : 		}
; 341  : 		else
; 342  : 		{
; 343  : 			if (this->m_owner->GetPlayerData()->GameTime > this->m_nextLevel->IncreaseRequirementStart)

	mov	esi, DWORD PTR [eax+72]
	fild	DWORD PTR [edx+44]
	mov	eax, DWORD PTR [edx+44]
	test	eax, eax
	jge	SHORT $LN39@GetMultipl
	fadd	DWORD PTR __real@4f800000
$LN39@GetMultipl:
	fcomp	DWORD PTR [esi+32]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN1@GetMultipl

; 344  : 				return pow(1.0f + (this->m_nextLevel->IncreaseRequirementPercent / 100), floor((this->m_owner->GetPlayerData()->GameTime - (float)this->m_nextLevel->IncreaseRequirementStart) / this->m_nextLevel->IncreaseRequirementInterval));

	fld	DWORD PTR [edx+52]
	mov	ecx, edx
	fmul	DWORD PTR __real@3c23d70a
	mov	edx, DWORD PTR [ecx+44]
	test	edx, edx
	fadd	DWORD PTR __real@3f800000
	fstp	DWORD PTR tv241[esp+12]
	fild	DWORD PTR [ecx+44]
	jge	SHORT $LN40@GetMultipl
	fadd	DWORD PTR __real@4f800000
$LN40@GetMultipl:
	mov	eax, DWORD PTR [ecx+48]
	fsubr	DWORD PTR [esi+32]
	test	eax, eax
	fild	DWORD PTR [ecx+48]
	jge	SHORT $LN41@GetMultipl
	fadd	DWORD PTR __real@4f800000
$LN41@GetMultipl:
	fdivp	ST(1), ST(0)
	sub	esp, 8
	fstp	QWORD PTR [esp]
	call	_floor
	fld	DWORD PTR tv241[esp+20]
	add	esp, 8
	fxch	ST(1)
	pop	esi

; 348  : }

	add	esp, 8

; 344  : 				return pow(1.0f + (this->m_nextLevel->IncreaseRequirementPercent / 100), floor((this->m_owner->GetPlayerData()->GameTime - (float)this->m_nextLevel->IncreaseRequirementStart) / this->m_nextLevel->IncreaseRequirementInterval));

	jmp	__CIpow
$LN33@GetMultipl:

; 337  : 		{
; 338  : 			if ((this->m_owner->GetPlayerData()->GameTime - this->m_promoteTime) > this->m_nextLevel->IncreaseRequirementStart)

	fstp	ST(0)
$LN1@GetMultipl:

; 345  : 		}
; 346  : 	}
; 347  : 	return 1.0f;

	fld1
	pop	esi

; 348  : }

	add	esp, 8
	ret	0
?GetMultipler@gzVeteranClass@@QAEMXZ ENDP		; gzVeteranClass::GetMultipler
_TEXT	ENDS
PUBLIC	?GetOwner@gzVeteranClass@@QAEPAVgzPlayer@@XZ	; gzVeteranClass::GetOwner
; Function compile flags: /Ogtpy
;	COMDAT ?GetOwner@gzVeteranClass@@QAEPAVgzPlayer@@XZ
_TEXT	SEGMENT
?GetOwner@gzVeteranClass@@QAEPAVgzPlayer@@XZ PROC	; gzVeteranClass::GetOwner, COMDAT
; _this$ = ecx

; 351  : 	return this->m_owner;

	mov	eax, DWORD PTR [ecx+36]

; 352  : }

	ret	0
?GetOwner@gzVeteranClass@@QAEPAVgzPlayer@@XZ ENDP	; gzVeteranClass::GetOwner
_TEXT	ENDS
PUBLIC	?GetCurrentLevel@gzVeteranClass@@QAEPAUgzVeteranLevelDefStruct@@XZ ; gzVeteranClass::GetCurrentLevel
; Function compile flags: /Ogtpy
;	COMDAT ?GetCurrentLevel@gzVeteranClass@@QAEPAUgzVeteranLevelDefStruct@@XZ
_TEXT	SEGMENT
?GetCurrentLevel@gzVeteranClass@@QAEPAUgzVeteranLevelDefStruct@@XZ PROC ; gzVeteranClass::GetCurrentLevel, COMDAT
; _this$ = ecx

; 355  : 	return this->m_currLevel;

	mov	eax, DWORD PTR [ecx+44]

; 356  : }

	ret	0
?GetCurrentLevel@gzVeteranClass@@QAEPAUgzVeteranLevelDefStruct@@XZ ENDP ; gzVeteranClass::GetCurrentLevel
_TEXT	ENDS
PUBLIC	?GetNextLevel@gzVeteranClass@@QAEPAUgzVeteranLevelDefStruct@@XZ ; gzVeteranClass::GetNextLevel
; Function compile flags: /Ogtpy
;	COMDAT ?GetNextLevel@gzVeteranClass@@QAEPAUgzVeteranLevelDefStruct@@XZ
_TEXT	SEGMENT
?GetNextLevel@gzVeteranClass@@QAEPAUgzVeteranLevelDefStruct@@XZ PROC ; gzVeteranClass::GetNextLevel, COMDAT
; _this$ = ecx

; 359  : 	return this->m_nextLevel;

	mov	eax, DWORD PTR [ecx+48]

; 360  : }

	ret	0
?GetNextLevel@gzVeteranClass@@QAEPAUgzVeteranLevelDefStruct@@XZ ENDP ; gzVeteranClass::GetNextLevel
_TEXT	ENDS
PUBLIC	?GetPoints@gzVeteranClass@@QAEMXZ		; gzVeteranClass::GetPoints
; Function compile flags: /Ogtpy
;	COMDAT ?GetPoints@gzVeteranClass@@QAEMXZ
_TEXT	SEGMENT
?GetPoints@gzVeteranClass@@QAEMXZ PROC			; gzVeteranClass::GetPoints, COMDAT
; _this$ = ecx

; 363  : 	return this->m_points;

	fld	DWORD PTR [ecx+40]

; 364  : }

	ret	0
?GetPoints@gzVeteranClass@@QAEMXZ ENDP			; gzVeteranClass::GetPoints
_TEXT	ENDS
PUBLIC	?Custom@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ; gzObserverVeteranBeacon::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@HH0@Z PROC ; gzObserverVeteranBeacon::Custom, COMDAT
; _this$ = ecx

; 395  : 	if (message == 10001)

	cmp	DWORD PTR _message$[esp-4], 10001	; 00002711H
	jne	SHORT $LN1@Custom

; 396  : 		this->m_damage[param] = 0.0f;

	fldz
	mov	eax, DWORD PTR _param$[esp-4]
	fstp	DWORD PTR [ecx+eax*4+32]
$LN1@Custom:

; 397  : }

	ret	16					; 00000010H
?Custom@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ENDP ; gzObserverVeteranBeacon::Custom
_TEXT	ENDS
PUBLIC	?Damaged@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0M@Z ; gzObserverVeteranBeacon::Damaged
; Function compile flags: /Ogtpy
;	COMDAT ?Damaged@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0M@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_damager$ = 12						; size = 4
_damage$ = 16						; size = 4
?Damaged@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0M@Z PROC ; gzObserverVeteranBeacon::Damaged, COMDAT
; _this$ = ecx

; 399  : {

	push	ebx
	push	esi

; 400  : 	if (damager && damager->As_SoldierGameObj() && damager->As_SoldierGameObj()->Player)

	mov	esi, DWORD PTR _damager$[esp+4]
	test	esi, esi
	mov	ebx, ecx
	je	$LN1@Damaged
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	test	eax, eax
	je	$LN1@Damaged
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	cmp	DWORD PTR [eax+2400], 0
	je	$LN1@Damaged

; 401  : 	{
; 402  : 		if (damage > 0.0f)

	fldz
	fcomp	DWORD PTR _damage$[esp+4]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN1@Damaged

; 403  : 		{
; 404  : 			if (obj->As_DamageableGameObj()->Get_Player_Type() == damager->As_DamageableGameObj()->Get_Player_Type())

	mov	ecx, DWORD PTR _obj$[esp+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+60]
	push	ebp
	push	edi
	call	edx
	mov	edi, eax
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+60]
	mov	ecx, esi
	call	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+104]
	call	eax
	mov	edx, DWORD PTR [edi]
	mov	ebp, eax
	mov	eax, DWORD PTR [edx+104]
	mov	ecx, edi
	call	eax
	pop	edi
	cmp	eax, ebp
	pop	ebp

; 405  : 				this->m_damage[damager->As_SoldierGameObj()->Player->PlayerId] -= damage;

	mov	ecx, esi
	jne	SHORT $LN2@Damaged
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	mov	edx, DWORD PTR [ecx+1884]
	fld	DWORD PTR [ebx+edx*4+32]
	lea	eax, DWORD PTR [ebx+edx*4+32]
	fsub	DWORD PTR _damage$[esp+4]
	pop	esi
	pop	ebx

; 406  : 			else
; 407  : 				this->m_damage[damager->As_SoldierGameObj()->Player->PlayerId] += damage;

	fstp	DWORD PTR [eax]

; 408  : 		}
; 409  : 	}
; 410  : }

	ret	12					; 0000000cH
$LN2@Damaged:

; 406  : 			else
; 407  : 				this->m_damage[damager->As_SoldierGameObj()->Player->PlayerId] += damage;

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1884]
	fld	DWORD PTR [ebx+ecx*4+32]
	lea	eax, DWORD PTR [ebx+ecx*4+32]
	fadd	DWORD PTR _damage$[esp+4]
	fstp	DWORD PTR [eax]
$LN1@Damaged:
	pop	esi
	pop	ebx

; 408  : 		}
; 409  : 	}
; 410  : }

	ret	12					; 0000000cH
?Damaged@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0M@Z ENDP ; gzObserverVeteranBeacon::Damaged
_TEXT	ENDS
PUBLIC	??1?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAE@XZ ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::~nc_ScriptRegistrant<gzObserverVeteranBeacon>
EXTRN	??1nc_ScriptFactory@@UAE@XZ:PROC		; nc_ScriptFactory::~nc_ScriptFactory
; Function compile flags: /Ogtpy
;	COMDAT ??1?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAE@XZ
_TEXT	SEGMENT
??1?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAE@XZ PROC ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::~nc_ScriptRegistrant<gzObserverVeteranBeacon>, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??1?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAE@XZ ENDP ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::~nc_ScriptRegistrant<gzObserverVeteranBeacon>
_TEXT	ENDS
PUBLIC	?Created@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserverVeteranC4::Created
EXTRN	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ:PROC	; nc_ScriptImpClass::Destroy_Script
EXTRN	?Get@nc_FloatDataSafeClass@@QAEMXZ:PROC		; nc_FloatDataSafeClass::Get
; Function compile flags: /Ogtpy
;	COMDAT ?Created@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
tv213 = 8						; size = 4
_obj$ = 8						; size = 4
?Created@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserverVeteranC4::Created, COMDAT
; _this$ = ecx

; 455  : 	if (!gzVeteranMgr->GetSettings()->m_enable || obj->definition->Get_Class_ID() != 0x3006)

	mov	eax, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	push	ebx
	mov	ebx, ecx
	mov	ecx, DWORD PTR [eax+40]
	cmp	BYTE PTR [ecx+24], 0
	push	esi
	je	SHORT $LN4@Created
	mov	esi, DWORD PTR _obj$[esp+4]
	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+32]
	call	eax
	cmp	eax, 12294				; 00003006H
	jne	SHORT $LN4@Created

; 458  : 		return;
; 459  : 	}
; 460  : 
; 461  : 	this->m_maxHealth = obj->As_DamageableGameObj()->Defense.Health.Get() + obj->As_DamageableGameObj()->Defense.ShieldStrength.Get();

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	push	edi
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1852				; 0000073cH
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR tv213[esp+8]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1840				; 00000730H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fadd	DWORD PTR tv213[esp+8]
	lea	edi, DWORD PTR [ebx+36]

; 462  : 	for (int i = 1; i <= 127; i++)
; 463  : 		this->m_damage[i] = 0.0f;

	mov	ecx, 127				; 0000007fH
	fstp	DWORD PTR [ebx+544]
	xor	eax, eax
	rep stosd
	pop	edi

; 464  : 	this->m_c4 = gzStatic_Cast(nc_C4GameObj, obj);

	mov	DWORD PTR [ebx+28], esi
	pop	esi
	pop	ebx

; 465  : }

	ret	4
$LN4@Created:

; 456  : 	{
; 457  : 		this->Destroy_Script();

	mov	ecx, ebx
	call	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ ; nc_ScriptImpClass::Destroy_Script
	pop	esi
	pop	ebx

; 465  : }

	ret	4
?Created@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzObserverVeteranC4::Created
_TEXT	ENDS
PUBLIC	?Custom@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ; gzObserverVeteranC4::Custom
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@HH0@Z PROC ; gzObserverVeteranC4::Custom, COMDAT
; _this$ = ecx

; 468  : 	if (message == 10001)

	cmp	DWORD PTR _message$[esp-4], 10001	; 00002711H
	jne	SHORT $LN1@Custom@2

; 469  : 		this->m_damage[param] = 0.0f;

	fldz
	mov	eax, DWORD PTR _param$[esp-4]
	fstp	DWORD PTR [ecx+eax*4+32]
$LN1@Custom@2:

; 470  : }

	ret	16					; 00000010H
?Custom@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ENDP ; gzObserverVeteranC4::Custom
_TEXT	ENDS
PUBLIC	?Damaged@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0M@Z ; gzObserverVeteranC4::Damaged
; Function compile flags: /Ogtpy
;	COMDAT ?Damaged@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0M@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_damager$ = 12						; size = 4
_damage$ = 16						; size = 4
?Damaged@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0M@Z PROC ; gzObserverVeteranC4::Damaged, COMDAT
; _this$ = ecx

; 472  : {

	push	ebx
	push	esi

; 473  : 	if (damager && damager->As_SoldierGameObj() && damager->As_SoldierGameObj()->Player)

	mov	esi, DWORD PTR _damager$[esp+4]
	test	esi, esi
	mov	ebx, ecx
	je	$LN1@Damaged@2
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	test	eax, eax
	je	$LN1@Damaged@2
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	cmp	DWORD PTR [eax+2400], 0
	je	$LN1@Damaged@2

; 474  : 	{
; 475  : 		if (damage > 0.0f)

	fldz
	fcomp	DWORD PTR _damage$[esp+4]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN1@Damaged@2

; 476  : 		{
; 477  : 			if (obj->As_DamageableGameObj()->Get_Player_Type() == damager->As_DamageableGameObj()->Get_Player_Type())

	mov	ecx, DWORD PTR _obj$[esp+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+60]
	push	ebp
	push	edi
	call	edx
	mov	edi, eax
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+60]
	mov	ecx, esi
	call	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+104]
	call	eax
	mov	edx, DWORD PTR [edi]
	mov	ebp, eax
	mov	eax, DWORD PTR [edx+104]
	mov	ecx, edi
	call	eax
	pop	edi
	cmp	eax, ebp
	pop	ebp

; 478  : 				this->m_damage[damager->As_SoldierGameObj()->Player->PlayerId] -= damage;

	mov	ecx, esi
	jne	SHORT $LN2@Damaged@2
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	mov	edx, DWORD PTR [ecx+1884]
	fld	DWORD PTR [ebx+edx*4+32]
	lea	eax, DWORD PTR [ebx+edx*4+32]
	fsub	DWORD PTR _damage$[esp+4]
	pop	esi
	pop	ebx

; 479  : 			else
; 480  : 				this->m_damage[damager->As_SoldierGameObj()->Player->PlayerId] += damage;

	fstp	DWORD PTR [eax]

; 481  : 		}
; 482  : 	}
; 483  : }

	ret	12					; 0000000cH
$LN2@Damaged@2:

; 479  : 			else
; 480  : 				this->m_damage[damager->As_SoldierGameObj()->Player->PlayerId] += damage;

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1884]
	fld	DWORD PTR [ebx+ecx*4+32]
	lea	eax, DWORD PTR [ebx+ecx*4+32]
	fadd	DWORD PTR _damage$[esp+4]
	fstp	DWORD PTR [eax]
$LN1@Damaged@2:
	pop	esi
	pop	ebx

; 481  : 		}
; 482  : 	}
; 483  : }

	ret	12					; 0000000cH
?Damaged@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0M@Z ENDP ; gzObserverVeteranC4::Damaged
_TEXT	ENDS
PUBLIC	??1?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAE@XZ ; nc_ScriptRegistrant<gzObserverVeteranC4>::~nc_ScriptRegistrant<gzObserverVeteranC4>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAE@XZ
_TEXT	SEGMENT
??1?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAE@XZ PROC ; nc_ScriptRegistrant<gzObserverVeteranC4>::~nc_ScriptRegistrant<gzObserverVeteranC4>, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??1?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAE@XZ ENDP ; nc_ScriptRegistrant<gzObserverVeteranC4>::~nc_ScriptRegistrant<gzObserverVeteranC4>
_TEXT	ENDS
PUBLIC	__real@bf800000
PUBLIC	?Damaged@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0M@Z ; gzObserverVeteranBuilding::Damaged
;	COMDAT __real@bf800000
CONST	SEGMENT
__real@bf800000 DD 0bf800000r			; -1
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Damaged@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0M@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_damager$ = 12						; size = 4
_damage$ = 16						; size = 4
?Damaged@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0M@Z PROC ; gzObserverVeteranBuilding::Damaged, COMDAT
; _this$ = ecx

; 564  : {

	push	esi

; 565  : 	if (damager && damager->As_SmartGameObj() && damager->As_SmartGameObj()->Player)

	mov	esi, DWORD PTR _damager$[esp]
	test	esi, esi
	push	edi
	mov	edi, ecx
	je	$LN1@Damaged@3
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+44]
	mov	ecx, esi
	call	edx
	test	eax, eax
	je	$LN1@Damaged@3
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+44]
	mov	ecx, esi
	call	edx
	cmp	DWORD PTR [eax+2400], 0
	je	$LN1@Damaged@3

; 566  : 	{
; 567  : 		if (damage > 0.0f)

	fldz
	push	ebx
	fld	DWORD PTR _damage$[esp+8]
	push	ebp
	fcom	ST(1)
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN9@Damaged@3

; 568  : 		{
; 569  : 			this->m_totalDamage += damage;
; 570  : 			if (obj->As_DamageableGameObj()->Get_Player_Type() == damager->As_DamageableGameObj()->Get_Player_Type())

	mov	ecx, DWORD PTR _obj$[esp+12]
	fstp	ST(1)
	fadd	DWORD PTR [edi+1060]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+60]
	fstp	DWORD PTR [edi+1060]
	call	edx
	mov	ebx, eax
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+60]
	mov	ecx, esi
	call	edx
	mov	ebp, eax
	mov	eax, DWORD PTR [ebx]
	mov	edx, DWORD PTR [eax+104]
	mov	ecx, ebx
	call	edx
	mov	ebx, eax
	mov	eax, DWORD PTR [ebp]
	mov	edx, DWORD PTR [eax+104]
	mov	ecx, ebp
	call	edx
	cmp	ebx, eax

; 571  : 				this->m_damage[damager->As_SmartGameObj()->Player->PlayerId] -= damage;

	mov	ecx, esi
	jne	SHORT $LN8@Damaged@3
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+44]
	call	edx
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1884]
	fld	DWORD PTR [edi+ecx*4+32]
	lea	eax, DWORD PTR [edi+ecx*4+32]
	fsub	DWORD PTR _damage$[esp+12]
	pop	ebp
	pop	ebx
	pop	edi
	fstp	DWORD PTR [eax]
	pop	esi

; 592  : 		}
; 593  : 	}
; 594  : }

	ret	12					; 0000000cH
$LN8@Damaged@3:

; 572  : 			else
; 573  : 			{
; 574  : 				this->m_damage[damager->As_SmartGameObj()->Player->PlayerId] += damage;

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+44]
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	mov	edx, DWORD PTR [ecx+1884]
	fld	DWORD PTR [edi+edx*4+32]
	lea	eax, DWORD PTR [edi+edx*4+32]
	fld	DWORD PTR _damage$[esp+12]
	pop	ebp
	fadd	ST(1), ST(0)
	pop	ebx
	fxch	ST(1)
	fstp	DWORD PTR [eax]

; 575  : 				this->m_allowRepair += damage;

	fadd	DWORD PTR [edi+1056]
	fstp	DWORD PTR [edi+1056]
	pop	edi
	pop	esi

; 592  : 		}
; 593  : 	}
; 594  : }

	ret	12					; 0000000cH
$LN9@Damaged@3:

; 576  : 			}
; 577  : 		}
; 578  : 		else if (damage < 0.0f)

	fcompp
	fnstsw	ax
	test	ah, 5
	jp	$LN13@Damaged@3

; 579  : 		{
; 580  : 			if (obj->As_DamageableGameObj()->Get_Player_Type() == damager->As_DamageableGameObj()->Get_Player_Type())

	mov	ecx, DWORD PTR _obj$[esp+12]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+60]
	call	edx
	mov	ebx, eax
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+60]
	mov	ecx, esi
	call	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+104]
	call	eax
	mov	edx, DWORD PTR [ebx]
	mov	ebp, eax
	mov	eax, DWORD PTR [edx+104]
	mov	ecx, ebx
	call	eax
	cmp	eax, ebp
	jne	SHORT $LN4@Damaged@3

; 581  : 			{
; 582  : 				if (this->m_allowRepair > 0.0f)

	fldz
	fcom	DWORD PTR [edi+1056]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN3@Damaged@3

; 583  : 				{
; 584  : 					this->m_repair[damager->As_SmartGameObj()->Player->PlayerId] += (damage * -1);

	mov	edx, DWORD PTR [esi]
	fstp	ST(0)
	mov	eax, DWORD PTR [edx+44]
	mov	ecx, esi
	call	eax
	fld	DWORD PTR _damage$[esp+12]
	fmul	DWORD PTR __real@bf800000
	mov	ecx, DWORD PTR [eax+2400]
	mov	edx, DWORD PTR [ecx+1884]
	lea	eax, DWORD PTR [edi+edx*4+544]
	fld	ST(0)
	fadd	DWORD PTR [eax]
	fstp	DWORD PTR [eax]

; 585  : 					this->m_allowRepair -= (damage * -1);

	fsubr	DWORD PTR [edi+1056]
	fstp	DWORD PTR [edi+1056]
	fldz
$LN3@Damaged@3:

; 586  : 				}
; 587  : 				if (this->m_allowRepair < 0.0f)

	fcom	DWORD PTR [edi+1056]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN22@Damaged@3
	pop	ebp

; 588  : 					this->m_allowRepair = 0.0f;

	fstp	DWORD PTR [edi+1056]
	pop	ebx
	pop	edi
	pop	esi

; 592  : 		}
; 593  : 	}
; 594  : }

	ret	12					; 0000000cH
$LN4@Damaged@3:

; 589  : 			}
; 590  : 			else
; 591  : 				this->m_repair[damager->As_SmartGameObj()->Player->PlayerId] += damage;

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+44]
	mov	ecx, esi
	call	edx
	fld	DWORD PTR _damage$[esp+12]
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1884]
	fadd	DWORD PTR [edi+ecx*4+544]
	lea	eax, DWORD PTR [edi+ecx*4+544]
	pop	ebp
	pop	ebx
	pop	edi
	fstp	DWORD PTR [eax]
	pop	esi

; 592  : 		}
; 593  : 	}
; 594  : }

	ret	12					; 0000000cH
$LN22@Damaged@3:

; 586  : 				}
; 587  : 				if (this->m_allowRepair < 0.0f)

	fstp	ST(0)
$LN13@Damaged@3:
	pop	ebp
	pop	ebx
$LN1@Damaged@3:
	pop	edi
	pop	esi

; 592  : 		}
; 593  : 	}
; 594  : }

	ret	12					; 0000000cH
?Damaged@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0M@Z ENDP ; gzObserverVeteranBuilding::Damaged
_TEXT	ENDS
PUBLIC	??1?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAE@XZ ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::~nc_ScriptRegistrant<gzObserverVeteranBuilding>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAE@XZ
_TEXT	SEGMENT
??1?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAE@XZ PROC ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::~nc_ScriptRegistrant<gzObserverVeteranBuilding>, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??1?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAE@XZ ENDP ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::~nc_ScriptRegistrant<gzObserverVeteranBuilding>
_TEXT	ENDS
PUBLIC	?Custom@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ; gzObserverVeteranSoldier::Custom
EXTRN	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z:PROC	; gzPlayerManager::Find
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@HH0@Z PROC ; gzObserverVeteranSoldier::Custom, COMDAT
; _this$ = ecx

; 710  : 	if (message == 10001)

	cmp	DWORD PTR _message$[esp-4], 10001	; 00002711H
	push	esi
	mov	esi, ecx
	jne	SHORT $LN2@Custom@3
	push	edi

; 711  : 	{
; 712  : 		gzPlayer *gzData = gzPlayerManager::Find(param);

	mov	edi, DWORD PTR _param$[esp+4]
	push	edi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	add	esp, 4

; 713  : 		if (gzData)

	test	eax, eax
	je	SHORT $LN8@Custom@3

; 714  : 		{
; 715  : 			if (this->m_repair[param] > 0.0f)
; 716  : 				gzData->GetVeteran();
; 717  : 			this->m_totalDamage -= this->m_damage[param];

	fld	DWORD PTR [esi+1060]
	fsub	DWORD PTR [esi+edi*4+32]
	fstp	DWORD PTR [esi+1060]

; 718  : 			this->m_damage[param] = 0.0f;

	fldz
	fst	DWORD PTR [esi+edi*4+32]

; 719  : 			this->m_repair[param] = 0.0f;

	fstp	DWORD PTR [esi+edi*4+544]
$LN8@Custom@3:
	pop	edi
$LN2@Custom@3:
	pop	esi

; 720  : 		}
; 721  : 	}
; 722  : }

	ret	16					; 00000010H
?Custom@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ENDP ; gzObserverVeteranSoldier::Custom
_TEXT	ENDS
PUBLIC	?Damaged@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0M@Z ; gzObserverVeteranSoldier::Damaged
; Function compile flags: /Ogtpy
;	COMDAT ?Damaged@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0M@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_damager$ = 12						; size = 4
_damage$ = 16						; size = 4
?Damaged@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0M@Z PROC ; gzObserverVeteranSoldier::Damaged, COMDAT
; _this$ = ecx

; 724  : {

	push	esi

; 725  : 	if (damager && damager->As_SmartGameObj() && damager->As_SmartGameObj()->Player)

	mov	esi, DWORD PTR _damager$[esp]
	test	esi, esi
	push	edi
	mov	edi, ecx
	je	$LN1@Damaged@4
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+44]
	mov	ecx, esi
	call	edx
	test	eax, eax
	je	$LN1@Damaged@4
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+44]
	mov	ecx, esi
	call	edx
	cmp	DWORD PTR [eax+2400], 0
	je	$LN1@Damaged@4

; 726  : 	{
; 727  : 		if (damage > 0.0f && obj != damager)

	fldz
	mov	ecx, DWORD PTR _obj$[esp+4]
	fld	DWORD PTR _damage$[esp+4]
	push	ebx
	fcom	ST(1)
	push	ebp
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN9@Damaged@4
	cmp	ecx, esi
	je	$LN9@Damaged@4

; 728  : 		{
; 729  : 			this->m_totalDamage += damage;
; 730  : 			if (obj->As_DamageableGameObj()->Get_Player_Type() == damager->As_DamageableGameObj()->Get_Player_Type())

	mov	eax, DWORD PTR [ecx]
	fstp	ST(1)
	fadd	DWORD PTR [edi+1060]
	mov	edx, DWORD PTR [eax+60]
	fstp	DWORD PTR [edi+1060]
	call	edx
	mov	ebx, eax
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+60]
	mov	ecx, esi
	call	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+104]
	call	eax
	mov	edx, DWORD PTR [ebx]
	mov	ebp, eax
	mov	eax, DWORD PTR [edx+104]
	mov	ecx, ebx
	call	eax
	cmp	eax, ebp

; 731  : 				this->m_damage[damager->As_SmartGameObj()->Player->PlayerId] -= damage;

	mov	ecx, esi
	jne	SHORT $LN8@Damaged@4
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+44]
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	mov	edx, DWORD PTR [ecx+1884]
	fld	DWORD PTR [edi+edx*4+32]
	lea	eax, DWORD PTR [edi+edx*4+32]
	fsub	DWORD PTR _damage$[esp+12]
	pop	ebp
	pop	ebx
	pop	edi
	fstp	DWORD PTR [eax]
	pop	esi

; 752  : 		}
; 753  : 	}
; 754  : }

	ret	12					; 0000000cH
$LN8@Damaged@4:

; 732  : 			else
; 733  : 			{
; 734  : 				this->m_allowRepair += damage;

	fld	DWORD PTR _damage$[esp+12]

; 735  : 				this->m_damage[damager->As_SmartGameObj()->Player->PlayerId] += damage;

	mov	eax, DWORD PTR [esi]
	fadd	DWORD PTR [edi+1056]
	mov	edx, DWORD PTR [eax+44]
	fstp	DWORD PTR [edi+1056]
	call	edx
	mov	eax, DWORD PTR [eax+2400]
	fld	DWORD PTR _damage$[esp+12]
	mov	ecx, DWORD PTR [eax+1884]
	fadd	DWORD PTR [edi+ecx*4+32]
	lea	eax, DWORD PTR [edi+ecx*4+32]
	pop	ebp
	pop	ebx
	pop	edi
	fstp	DWORD PTR [eax]
	pop	esi

; 752  : 		}
; 753  : 	}
; 754  : }

	ret	12					; 0000000cH
$LN9@Damaged@4:

; 736  : 			}
; 737  : 		}
; 738  : 		else if (damage < 0.0f && obj != damager)

	fcompp
	fnstsw	ax
	test	ah, 5
	jp	$LN13@Damaged@4
	cmp	ecx, esi
	je	$LN13@Damaged@4

; 739  : 		{
; 740  : 			if (obj->As_DamageableGameObj()->Get_Player_Type() == damager->As_DamageableGameObj()->Get_Player_Type())

	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+60]
	call	eax
	mov	edx, DWORD PTR [esi]
	mov	ebx, eax
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	edx, DWORD PTR [ebx]
	mov	ebp, eax
	mov	eax, DWORD PTR [edx+104]
	mov	ecx, ebx
	call	eax
	mov	edx, DWORD PTR [ebp]
	mov	ebx, eax
	mov	eax, DWORD PTR [edx+104]
	mov	ecx, ebp
	call	eax
	cmp	ebx, eax
	jne	SHORT $LN4@Damaged@4

; 741  : 			{
; 742  : 				if (this->m_allowRepair > 0.0f)

	fldz
	fcom	DWORD PTR [edi+1056]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN3@Damaged@4

; 743  : 				{
; 744  : 					this->m_repair[damager->As_SmartGameObj()->Player->PlayerId] += damage * -1;

	mov	edx, DWORD PTR [esi]
	fstp	ST(0)
	mov	eax, DWORD PTR [edx+44]
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	mov	edx, DWORD PTR [ecx+1884]
	fld	DWORD PTR [edi+edx*4+544]
	lea	eax, DWORD PTR [edi+edx*4+544]
	fld	DWORD PTR _damage$[esp+12]
	fsub	ST(1), ST(0)
	fxch	ST(1)
	fstp	DWORD PTR [eax]

; 745  : 					this->m_allowRepair += damage;

	fadd	DWORD PTR [edi+1056]
	fstp	DWORD PTR [edi+1056]
	fldz
$LN3@Damaged@4:

; 746  : 				}
; 747  : 				if (this->m_allowRepair < 0.0f)

	fcom	DWORD PTR [edi+1056]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN24@Damaged@4
	pop	ebp

; 748  : 					this->m_allowRepair = 0.0f;

	fstp	DWORD PTR [edi+1056]
	pop	ebx
	pop	edi
	pop	esi

; 752  : 		}
; 753  : 	}
; 754  : }

	ret	12					; 0000000cH
$LN4@Damaged@4:

; 749  : 			}
; 750  : 			else
; 751  : 				this->m_repair[damager->As_SmartGameObj()->Player->PlayerId] += damage;

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+44]
	mov	ecx, esi
	call	edx
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1884]
	fld	DWORD PTR [edi+ecx*4+544]
	lea	eax, DWORD PTR [edi+ecx*4+544]
	fadd	DWORD PTR _damage$[esp+12]
	pop	ebp
	pop	ebx
	pop	edi
	fstp	DWORD PTR [eax]
	pop	esi

; 752  : 		}
; 753  : 	}
; 754  : }

	ret	12					; 0000000cH
$LN24@Damaged@4:

; 746  : 				}
; 747  : 				if (this->m_allowRepair < 0.0f)

	fstp	ST(0)
$LN13@Damaged@4:
	pop	ebp
	pop	ebx
$LN1@Damaged@4:
	pop	edi
	pop	esi

; 752  : 		}
; 753  : 	}
; 754  : }

	ret	12					; 0000000cH
?Damaged@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0M@Z ENDP ; gzObserverVeteranSoldier::Damaged
_TEXT	ENDS
PUBLIC	??1?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAE@XZ ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::~nc_ScriptRegistrant<gzObserverVeteranSoldier>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAE@XZ
_TEXT	SEGMENT
??1?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAE@XZ PROC ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::~nc_ScriptRegistrant<gzObserverVeteranSoldier>, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??1?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAE@XZ ENDP ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::~nc_ScriptRegistrant<gzObserverVeteranSoldier>
_TEXT	ENDS
PUBLIC	?Damaged@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0M@Z ; gzObserverVeteranVehicle::Damaged
; Function compile flags: /Ogtpy
;	COMDAT ?Damaged@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0M@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_damager$ = 12						; size = 4
_damage$ = 16						; size = 4
?Damaged@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0M@Z PROC ; gzObserverVeteranVehicle::Damaged, COMDAT
; _this$ = ecx

; 918  : {

	push	ebx

; 919  : 	if (obj->As_DamageableGameObj()->Get_Player_Type() != -2 && damager && damager->As_SmartGameObj() && damager->As_SmartGameObj()->Player)

	mov	ebx, DWORD PTR _obj$[esp]
	mov	eax, DWORD PTR [ebx]
	mov	edx, DWORD PTR [eax+60]
	push	edi
	mov	edi, ecx
	mov	ecx, ebx
	call	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+104]
	call	eax
	cmp	eax, -2					; fffffffeH
	je	$LN1@Damaged@5
	push	esi
	mov	esi, DWORD PTR _damager$[esp+8]
	test	esi, esi
	je	$LN13@Damaged@5
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+44]
	mov	ecx, esi
	call	eax
	test	eax, eax
	je	$LN13@Damaged@5
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+44]
	mov	ecx, esi
	call	eax
	cmp	DWORD PTR [eax+2400], 0
	je	$LN13@Damaged@5

; 920  : 	{
; 921  : 		if (damage > 0.0f && obj != damager)

	fldz
	push	ebp
	fld	DWORD PTR _damage$[esp+12]
	fcom	ST(1)
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$LN9@Damaged@5
	cmp	ebx, esi
	je	$LN9@Damaged@5

; 922  : 		{
; 923  : 			this->m_totalDamage += damage;
; 924  : 			if (obj->As_DamageableGameObj()->Get_Player_Type() == damager->As_DamageableGameObj()->Get_Player_Type())

	mov	edx, DWORD PTR [ebx]
	fstp	ST(1)
	fadd	DWORD PTR [edi+1060]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, ebx
	fstp	DWORD PTR [edi+1060]
	call	eax
	mov	edx, DWORD PTR [esi]
	mov	ebx, eax
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	edx, DWORD PTR [ebx]
	mov	ebp, eax
	mov	eax, DWORD PTR [edx+104]
	mov	ecx, ebx
	call	eax
	mov	edx, DWORD PTR [ebp]
	mov	ebx, eax
	mov	eax, DWORD PTR [edx+104]
	mov	ecx, ebp
	call	eax
	cmp	ebx, eax

; 925  : 				this->m_damage[damager->As_SmartGameObj()->Player->PlayerId] -= damage;

	mov	ecx, esi
	jne	SHORT $LN8@Damaged@5
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+44]
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	mov	edx, DWORD PTR [ecx+1884]
	fld	DWORD PTR [edi+edx*4+32]
	lea	eax, DWORD PTR [edi+edx*4+32]
	fsub	DWORD PTR _damage$[esp+12]
	pop	ebp
	pop	esi
	pop	edi
	fstp	DWORD PTR [eax]
	pop	ebx

; 946  : 		}
; 947  : 	}
; 948  : }

	ret	12					; 0000000cH
$LN8@Damaged@5:

; 926  : 			else
; 927  : 			{
; 928  : 				this->m_allowRepair += damage;

	fld	DWORD PTR [edi+1056]

; 929  : 				this->m_damage[damager->As_SmartGameObj()->Player->PlayerId] += damage;

	mov	eax, DWORD PTR [esi]
	fadd	DWORD PTR _damage$[esp+12]
	mov	edx, DWORD PTR [eax+44]
	fstp	DWORD PTR [edi+1056]
	call	edx
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1884]
	fld	DWORD PTR [edi+ecx*4+32]
	lea	eax, DWORD PTR [edi+ecx*4+32]
	fadd	DWORD PTR _damage$[esp+12]
	pop	ebp
	pop	esi
	pop	edi
	fstp	DWORD PTR [eax]
	pop	ebx

; 946  : 		}
; 947  : 	}
; 948  : }

	ret	12					; 0000000cH
$LN9@Damaged@5:

; 930  : 			}
; 931  : 		}
; 932  : 		else if (damage < 0.0f && obj != damager)

	fcompp
	fnstsw	ax
	test	ah, 5
	jp	$LN14@Damaged@5
	cmp	ebx, esi
	je	$LN14@Damaged@5

; 933  : 		{
; 934  : 			if (obj->As_DamageableGameObj()->Get_Player_Type() == damager->As_DamageableGameObj()->Get_Player_Type())

	mov	edx, DWORD PTR [ebx]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, ebx
	call	eax
	mov	edx, DWORD PTR [esi]
	mov	ebx, eax
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+104]
	call	eax
	mov	edx, DWORD PTR [ebx]
	mov	ebp, eax
	mov	eax, DWORD PTR [edx+104]
	mov	ecx, ebx
	call	eax
	cmp	eax, ebp
	jne	SHORT $LN4@Damaged@5

; 935  : 			{
; 936  : 				if (this->m_allowRepair > 0.0f)

	fldz
	fcom	DWORD PTR [edi+1056]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN3@Damaged@5

; 937  : 				{
; 938  : 					this->m_repair[damager->As_SmartGameObj()->Player->PlayerId] += damage * -1;

	mov	edx, DWORD PTR [esi]
	fstp	ST(0)
	mov	eax, DWORD PTR [edx+44]
	mov	ecx, esi
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	mov	edx, DWORD PTR [ecx+1884]
	fld	DWORD PTR [edi+edx*4+544]
	lea	eax, DWORD PTR [edi+edx*4+544]
	fld	DWORD PTR _damage$[esp+12]
	fsub	ST(1), ST(0)
	fxch	ST(1)
	fstp	DWORD PTR [eax]

; 939  : 					this->m_allowRepair += damage;

	fadd	DWORD PTR [edi+1056]
	fstp	DWORD PTR [edi+1056]
	fldz
$LN3@Damaged@5:

; 940  : 				}
; 941  : 				if (this->m_allowRepair < 0.0f)

	fcom	DWORD PTR [edi+1056]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN24@Damaged@5
	pop	ebp

; 942  : 					this->m_allowRepair = 0.0f;

	fstp	DWORD PTR [edi+1056]
	pop	esi
	pop	edi
	pop	ebx

; 946  : 		}
; 947  : 	}
; 948  : }

	ret	12					; 0000000cH
$LN4@Damaged@5:

; 943  : 			}
; 944  : 			else
; 945  : 				this->m_repair[damager->As_SmartGameObj()->Player->PlayerId] += damage;

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+44]
	mov	ecx, esi
	call	edx
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1884]
	fld	DWORD PTR [edi+ecx*4+544]
	lea	eax, DWORD PTR [edi+ecx*4+544]
	fadd	DWORD PTR _damage$[esp+12]
	pop	ebp
	pop	esi
	pop	edi
	fstp	DWORD PTR [eax]
	pop	ebx

; 946  : 		}
; 947  : 	}
; 948  : }

	ret	12					; 0000000cH
$LN24@Damaged@5:

; 940  : 				}
; 941  : 				if (this->m_allowRepair < 0.0f)

	fstp	ST(0)
$LN14@Damaged@5:
	pop	ebp
$LN13@Damaged@5:
	pop	esi
$LN1@Damaged@5:
	pop	edi
	pop	ebx

; 946  : 		}
; 947  : 	}
; 948  : }

	ret	12					; 0000000cH
?Damaged@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0M@Z ENDP ; gzObserverVeteranVehicle::Damaged
_TEXT	ENDS
PUBLIC	??1?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAE@XZ ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::~nc_ScriptRegistrant<gzObserverVeteranVehicle>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAE@XZ
_TEXT	SEGMENT
??1?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAE@XZ PROC ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::~nc_ScriptRegistrant<gzObserverVeteranVehicle>, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??1?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAE@XZ ENDP ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::~nc_ScriptRegistrant<gzObserverVeteranVehicle>
_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
$T66855 = -12						; size = 12
_this$ = 8						; size = 4
$T66861 = 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 $T66861[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T66855[esp+20]
	mov	DWORD PTR $T66861[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T66855[esp+20]
	push	ecx
	mov	DWORD PTR $T66855[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
$T66867 = -12						; size = 12
$T66872 = 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 $T66872[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T66867[esp+20]
	mov	DWORD PTR $T66872[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T66867[esp+20]
	push	ecx
	mov	DWORD PTR $T66867[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
_TEXT	ENDS
PUBLIC	??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@ ; `string'
PUBLIC	??_C@_00CNPNBAHC@?$AA@				; `string'
PUBLIC	?Clear@?$aVector@PAVaStringData@@@@UAEXXZ	; aVector<aStringData *>::Clear
EXTRN	??_V@YAXPAX@Z:PROC				; operator delete[]
EXTRN	?m_setOwner@@YAXPBDI0@Z:PROC			; m_setOwner
;	COMDAT ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
; File d:\source code\alib\include\avector.h
CONST	SEGMENT
??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@ DB 'd:\source '
	DB	'code\alib\include\aVector.h', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_00CNPNBAHC@?$AA@
CONST	SEGMENT
??_C@_00CNPNBAHC@?$AA@ DB 00H				; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Clear@?$aVector@PAVaStringData@@@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aVector@PAVaStringData@@@@UAEXXZ PROC		; aVector<aStringData *>::Clear, COMDAT
; _this$ = ecx

; 40   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 41   : 		if (this->m_vector != NULL)

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	je	SHORT $LN6@Clear

; 42   : 		{
; 43   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 44   : 			this->m_vector = NULL;

	mov	DWORD PTR [esi+4], edi
$LN6@Clear:

; 45   : 		}
; 46   : 		this->m_length = 0;
; 47   : 		this->m_items = 0;

	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 48   : 	};

	ret	0
?Clear@?$aVector@PAVaStringData@@@@UAEXXZ ENDP		; aVector<aStringData *>::Clear
_TEXT	ENDS
PUBLIC	?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ ; aStringArrayBase<aWideString>::Clear
EXTRN	?DecRef@aStringData@@QAEXXZ:PROC		; aStringData::DecRef
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\astring.h
;	COMDAT ?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ PROC	; aStringArrayBase<aWideString>::Clear, COMDAT
; _this$ = ecx

; 80   : 	{

	push	ebx
	push	esi
	push	edi
	mov	esi, ecx

; 81   : 		for (unsigned int i = 0; i < this->m_items; i++)

	xor	ebx, ebx
	xor	edi, edi
	cmp	DWORD PTR [esi+12], ebx
	jbe	SHORT $LN1@Clear@2
	npad	2
$LL3@Clear@2:

; 82   : 			this->m_vector[i]->DecRef();

	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax+edi*4]
	call	?DecRef@aStringData@@QAEXXZ		; aStringData::DecRef
	add	edi, 1
	cmp	edi, DWORD PTR [esi+12]
	jb	SHORT $LL3@Clear@2
$LN1@Clear@2:

; 83   : 		this->aVector<aStringData*>::Clear();

	cmp	DWORD PTR [esi+4], ebx
	je	SHORT $LN13@Clear@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+4]
	push	ecx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], ebx
$LN13@Clear@2:
	pop	edi
	mov	DWORD PTR [esi+12], ebx
	mov	DWORD PTR [esi+8], ebx
	pop	esi
	pop	ebx

; 84   : 	};

	ret	0
?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ ENDP	; aStringArrayBase<aWideString>::Clear
_TEXT	ENDS
PUBLIC	?Length@?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEHXZ ; nc_VectorClass<nc_SoldierGameObj *>::Length
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_vector.h
;	COMDAT ?Length@?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEHXZ
_TEXT	SEGMENT
?Length@?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEHXZ PROC ; nc_VectorClass<nc_SoldierGameObj *>::Length, COMDAT
; _this$ = ecx

; 337  : 		return VectorMax;

	mov	eax, DWORD PTR [ecx+8]

; 338  : 	}

	ret	0
?Length@?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEHXZ ENDP ; nc_VectorClass<nc_SoldierGameObj *>::Length
_TEXT	ENDS
PUBLIC	??A?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEAAPAVnc_SoldierGameObj@@H@Z ; nc_VectorClass<nc_SoldierGameObj *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEAAPAVnc_SoldierGameObj@@H@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEAAPAVnc_SoldierGameObj@@H@Z PROC ; nc_VectorClass<nc_SoldierGameObj *>::operator[], COMDAT
; _this$ = ecx

; 341  : 		return Vector[index];

	mov	eax, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR _index$[esp-4]
	lea	eax, DWORD PTR [eax+ecx*4]

; 342  : 	}

	ret	4
??A?$nc_VectorClass@PAVnc_SoldierGameObj@@@@QAEAAPAVnc_SoldierGameObj@@H@Z ENDP ; nc_VectorClass<nc_SoldierGameObj *>::operator[]
_TEXT	ENDS
PUBLIC	?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z ; aVector<gzChatCommandBase *>::Add
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z PROC ; aVector<gzChatCommandBase *>::Add, COMDAT
; _this$ = ecx

; 69   : 	{

	push	esi
	mov	esi, ecx

; 70   : 		if (this->Resize(this->m_length +1))

	mov	ecx, DWORD PTR [esi+8]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN1@Add

; 71   : 		{
; 72   : 			this->m_vector[this->m_length -1] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	edx, DWORD PTR [edx]
	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4-4], edx

; 73   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Add:
	pop	esi

; 74   : 		}
; 75   : 	}

	ret	4
?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z ENDP ; aVector<gzChatCommandBase *>::Add
_TEXT	ENDS
PUBLIC	??_7?$aVector@PAUgzVeteranPresetDefStruct@@@@6B@ ; aVector<gzVeteranPresetDefStruct *>::`vftable'
PUBLIC	??0?$aVector@PAUgzVeteranPresetDefStruct@@@@QAE@XZ ; aVector<gzVeteranPresetDefStruct *>::aVector<gzVeteranPresetDefStruct *>
PUBLIC	??_R4?$aVector@PAUgzVeteranPresetDefStruct@@@@6B@ ; aVector<gzVeteranPresetDefStruct *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aVector@PAUgzVeteranPresetDefStruct@@@@@8 ; aVector<gzVeteranPresetDefStruct *> `RTTI Type Descriptor'
PUBLIC	??_R3?$aVector@PAUgzVeteranPresetDefStruct@@@@8	; aVector<gzVeteranPresetDefStruct *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aVector@PAUgzVeteranPresetDefStruct@@@@8	; aVector<gzVeteranPresetDefStruct *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aVector@PAUgzVeteranPresetDefStruct@@@@8 ; aVector<gzVeteranPresetDefStruct *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Clear@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXXZ ; aVector<gzVeteranPresetDefStruct *>::Clear
PUBLIC	?Resize@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAE_NI@Z ; aVector<gzVeteranPresetDefStruct *>::Resize
PUBLIC	?Add@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXABQAUgzVeteranPresetDefStruct@@@Z ; aVector<gzVeteranPresetDefStruct *>::Add
PUBLIC	?Insert@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXIABQAUgzVeteranPresetDefStruct@@@Z ; aVector<gzVeteranPresetDefStruct *>::Insert
PUBLIC	?Delete@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXI@Z ; aVector<gzVeteranPresetDefStruct *>::Delete
EXTRN	??_E?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEPAXI@Z:PROC ; aVector<gzVeteranPresetDefStruct *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aVector@PAUgzVeteranPresetDefStruct@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aVector@PAUgzVeteranPresetDefStruct@@@@8 DD FLAT:??_R0?AV?$aVector@PAUgzVeteranPresetDefStruct@@@@@8 ; aVector<gzVeteranPresetDefStruct *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aVector@PAUgzVeteranPresetDefStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aVector@PAUgzVeteranPresetDefStruct@@@@8
rdata$r	SEGMENT
??_R2?$aVector@PAUgzVeteranPresetDefStruct@@@@8 DD FLAT:??_R1A@?0A@EA@?$aVector@PAUgzVeteranPresetDefStruct@@@@8 ; aVector<gzVeteranPresetDefStruct *>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aVector@PAUgzVeteranPresetDefStruct@@@@8
rdata$r	SEGMENT
??_R3?$aVector@PAUgzVeteranPresetDefStruct@@@@8 DD 00H	; aVector<gzVeteranPresetDefStruct *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aVector@PAUgzVeteranPresetDefStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aVector@PAUgzVeteranPresetDefStruct@@@@@8
_DATA	SEGMENT
??_R0?AV?$aVector@PAUgzVeteranPresetDefStruct@@@@@8 DD FLAT:??_7type_info@@6B@ ; aVector<gzVeteranPresetDefStruct *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aVector@PAUgzVeteranPresetDefStruct@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aVector@PAUgzVeteranPresetDefStruct@@@@6B@
rdata$r	SEGMENT
??_R4?$aVector@PAUgzVeteranPresetDefStruct@@@@6B@ DD 00H ; aVector<gzVeteranPresetDefStruct *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aVector@PAUgzVeteranPresetDefStruct@@@@@8
	DD	FLAT:??_R3?$aVector@PAUgzVeteranPresetDefStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aVector@PAUgzVeteranPresetDefStruct@@@@6B@
CONST	SEGMENT
??_7?$aVector@PAUgzVeteranPresetDefStruct@@@@6B@ DD FLAT:??_R4?$aVector@PAUgzVeteranPresetDefStruct@@@@6B@ ; aVector<gzVeteranPresetDefStruct *>::`vftable'
	DD	FLAT:??_E?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXABQAUgzVeteranPresetDefStruct@@@Z
	DD	FLAT:?Insert@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXIABQAUgzVeteranPresetDefStruct@@@Z
	DD	FLAT:?Delete@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aVector@PAUgzVeteranPresetDefStruct@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aVector@PAUgzVeteranPresetDefStruct@@@@QAE@XZ PROC	; aVector<gzVeteranPresetDefStruct *>::aVector<gzVeteranPresetDefStruct *>, COMDAT
; _this$ = ecx

; 20   : 	aVector()

	mov	eax, ecx

; 21   : 	{
; 22   : 		this->m_vector = NULL;

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aVector@PAUgzVeteranPresetDefStruct@@@@6B@
	mov	DWORD PTR [eax+4], ecx

; 23   : 		this->m_length = 0;

	mov	DWORD PTR [eax+8], ecx

; 24   : 		this->m_items = 0;

	mov	DWORD PTR [eax+12], ecx

; 25   : 	};

	ret	0
??0?$aVector@PAUgzVeteranPresetDefStruct@@@@QAE@XZ ENDP	; aVector<gzVeteranPresetDefStruct *>::aVector<gzVeteranPresetDefStruct *>
_TEXT	ENDS
PUBLIC	??A?$aVector@PAUgzVeteranPresetDefStruct@@@@QAEAAPAUgzVeteranPresetDefStruct@@I@Z ; aVector<gzVeteranPresetDefStruct *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$aVector@PAUgzVeteranPresetDefStruct@@@@QAEAAPAUgzVeteranPresetDefStruct@@I@Z
_TEXT	SEGMENT
_nPos$ = 8						; size = 4
??A?$aVector@PAUgzVeteranPresetDefStruct@@@@QAEAAPAUgzVeteranPresetDefStruct@@I@Z PROC ; aVector<gzVeteranPresetDefStruct *>::operator[], COMDAT
; _this$ = ecx

; 37   : 	T& operator[](unsigned int nPos) { return this->m_vector[nPos]; };

	mov	eax, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR _nPos$[esp-4]
	lea	eax, DWORD PTR [eax+ecx*4]
	ret	4
??A?$aVector@PAUgzVeteranPresetDefStruct@@@@QAEAAPAUgzVeteranPresetDefStruct@@I@Z ENDP ; aVector<gzVeteranPresetDefStruct *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAUgzVeteranPresetDefStruct@@@@QBEIXZ ; aVector<gzVeteranPresetDefStruct *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAUgzVeteranPresetDefStruct@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAUgzVeteranPresetDefStruct@@@@QBEIXZ PROC ; aVector<gzVeteranPresetDefStruct *>::Count, COMDAT
; _this$ = ecx

; 38   : 	inline unsigned int Count() const { return this->m_items; };

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@PAUgzVeteranPresetDefStruct@@@@QBEIXZ ENDP ; aVector<gzVeteranPresetDefStruct *>::Count
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Clear@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXXZ PROC ; aVector<gzVeteranPresetDefStruct *>::Clear, COMDAT
; _this$ = ecx

; 40   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 41   : 		if (this->m_vector != NULL)

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	je	SHORT $LN6@Clear@3

; 42   : 		{
; 43   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 44   : 			this->m_vector = NULL;

	mov	DWORD PTR [esi+4], edi
$LN6@Clear@3:

; 45   : 		}
; 46   : 		this->m_length = 0;
; 47   : 		this->m_items = 0;

	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 48   : 	};

	ret	0
?Clear@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXXZ ENDP ; aVector<gzVeteranPresetDefStruct *>::Clear
_TEXT	ENDS
EXTRN	??_U@YAPAXI@Z:PROC				; operator new[]
EXTRN	_memcpy:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?Resize@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAE_NI@Z
_TEXT	SEGMENT
_nSize$ = 8						; size = 4
?Resize@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAE_NI@Z PROC ; aVector<gzVeteranPresetDefStruct *>::Resize, COMDAT
; _this$ = ecx

; 50   : 	{

	push	esi
	push	edi

; 51   : 		if (nSize > 0)

	mov	edi, DWORD PTR _nSize$[esp+4]
	test	edi, edi
	mov	esi, ecx
	jbe	SHORT $LN3@Resize
	push	ebx

; 52   : 		{
; 53   : 			T *nVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	53					; 00000035H
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

; 54   : 			if (this->m_vector != NULL)

	mov	eax, DWORD PTR [esi+4]
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN11@Resize

; 55   : 			{
; 56   : 				int allocCount = (this->m_length > nSize) ? nSize : this->m_length;

	mov	ecx, DWORD PTR [esi+8]
	cmp	ecx, edi
	jbe	SHORT $LN8@Resize
	mov	ecx, edi
$LN8@Resize:

; 57   : 				memcpy(nVec, this->m_vector, allocCount * sizeof(T));

	add	ecx, ecx
	add	ecx, ecx
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 58   : 				delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	58					; 0000003aH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH
$LN11@Resize:

; 59   : 			}
; 60   : 			if (this->m_items > nSize)

	cmp	DWORD PTR [esi+12], edi
	jbe	SHORT $LN1@Resize

; 61   : 				this->m_items = nSize;

	mov	DWORD PTR [esi+12], edi
$LN1@Resize:

; 62   : 			this->m_length = nSize;
; 63   : 			this->m_vector = nVec;

	mov	DWORD PTR [esi+4], ebx
	pop	ebx
	mov	DWORD PTR [esi+8], edi
	pop	edi

; 64   : 			return true;

	mov	al, 1
	pop	esi

; 67   : 	}

	ret	4
$LN3@Resize:
	pop	edi

; 65   : 		}
; 66   : 		return false;

	xor	al, al
	pop	esi

; 67   : 	}

	ret	4
?Resize@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAE_NI@Z ENDP ; aVector<gzVeteranPresetDefStruct *>::Resize
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Add@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXABQAUgzVeteranPresetDefStruct@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Add@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXABQAUgzVeteranPresetDefStruct@@@Z PROC ; aVector<gzVeteranPresetDefStruct *>::Add, COMDAT
; _this$ = ecx

; 69   : 	{

	push	esi
	mov	esi, ecx

; 70   : 		if (this->Resize(this->m_length +1))

	mov	ecx, DWORD PTR [esi+8]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN1@Add@2

; 71   : 		{
; 72   : 			this->m_vector[this->m_length -1] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	edx, DWORD PTR [edx]
	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4-4], edx

; 73   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Add@2:
	pop	esi

; 74   : 		}
; 75   : 	}

	ret	4
?Add@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXABQAUgzVeteranPresetDefStruct@@@Z ENDP ; aVector<gzVeteranPresetDefStruct *>::Add
_TEXT	ENDS
EXTRN	_memmove:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?Insert@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXIABQAUgzVeteranPresetDefStruct@@@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
_obj$ = 12						; size = 4
?Insert@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXIABQAUgzVeteranPresetDefStruct@@@Z PROC ; aVector<gzVeteranPresetDefStruct *>::Insert, COMDAT
; _this$ = ecx

; 77   : 	{

	push	esi
	mov	esi, ecx

; 78   : 		if (index > this->m_length)

	mov	eax, DWORD PTR [esi+8]
	push	edi
	mov	edi, DWORD PTR _index$[esp+4]
	cmp	edi, eax
	jbe	SHORT $LN3@Insert

; 79   : 			this->Add(obj);

	mov	ecx, DWORD PTR _obj$[esp+4]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	push	ecx
	mov	ecx, esi
	call	edx
	pop	edi
	pop	esi

; 85   : 		}
; 86   : 	}

	ret	8
$LN3@Insert:

; 80   : 		else if (this->Resize(this->m_length + 1))

	mov	edx, DWORD PTR [esi]
	add	eax, 1
	push	eax
	mov	eax, DWORD PTR [edx+8]
	call	eax
	test	al, al
	je	SHORT $LN1@Insert

; 81   : 		{
; 82   : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_length - index -1) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [esi+8]
	lea	eax, DWORD PTR [ecx+edi*4]
	sub	edx, edi
	lea	ecx, DWORD PTR [edx*4-4]
	push	ecx
	push	eax
	add	eax, 4
	push	eax
	call	_memmove

; 83   : 			this->m_vector[index] = obj;

	mov	eax, DWORD PTR _obj$[esp+16]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [esi+4]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [edx+edi*4], ecx

; 84   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Insert:
	pop	edi
	pop	esi

; 85   : 		}
; 86   : 	}

	ret	8
?Insert@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXIABQAUgzVeteranPresetDefStruct@@@Z ENDP ; aVector<gzVeteranPresetDefStruct *>::Insert
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXI@Z PROC ; aVector<gzVeteranPresetDefStruct *>::Delete, COMDAT
; _this$ = ecx

; 89   : 		if (index >= this->m_length)

	mov	edx, DWORD PTR _index$[esp-4]
	push	esi
	mov	esi, ecx
	mov	eax, DWORD PTR [esi+8]
	cmp	edx, eax
	jae	SHORT $LN2@Delete

; 90   : 			return;
; 91   : 		this->m_items--;

	add	DWORD PTR [esi+12], -1

; 92   : 		if (this->m_items == 0)

	jne	SHORT $LN3@Delete

; 93   : 			this->Clear();

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

; 99   : 		}
; 100  : 	}

	ret	4
$LN3@Delete:

; 94   : 		else
; 95   : 		{
; 96   : 			if (index < this->m_length)
; 97   : 				memmove(&this->m_vector[index], &this->m_vector[index +1], (this->m_length - index -1) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	lea	ecx, DWORD PTR [ecx+edx*4]
	sub	eax, edx
	lea	edx, DWORD PTR [eax*4-4]
	push	edx
	lea	eax, DWORD PTR [ecx+4]
	push	eax
	push	ecx
	call	_memmove

; 98   : 			this->Resize(this->m_items);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [edx+8]
	add	esp, 12					; 0000000cH
	push	eax
	mov	ecx, esi
	call	edx
$LN2@Delete:
	pop	esi

; 99   : 		}
; 100  : 	}

	ret	4
?Delete@?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEXI@Z ENDP ; aVector<gzVeteranPresetDefStruct *>::Delete
_TEXT	ENDS
PUBLIC	??_7?$aVector@PAUgzVeteranLevelDefStruct@@@@6B@	; aVector<gzVeteranLevelDefStruct *>::`vftable'
PUBLIC	??0?$aVector@PAUgzVeteranLevelDefStruct@@@@QAE@XZ ; aVector<gzVeteranLevelDefStruct *>::aVector<gzVeteranLevelDefStruct *>
PUBLIC	??_R4?$aVector@PAUgzVeteranLevelDefStruct@@@@6B@ ; aVector<gzVeteranLevelDefStruct *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aVector@PAUgzVeteranLevelDefStruct@@@@@8 ; aVector<gzVeteranLevelDefStruct *> `RTTI Type Descriptor'
PUBLIC	??_R3?$aVector@PAUgzVeteranLevelDefStruct@@@@8	; aVector<gzVeteranLevelDefStruct *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aVector@PAUgzVeteranLevelDefStruct@@@@8	; aVector<gzVeteranLevelDefStruct *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aVector@PAUgzVeteranLevelDefStruct@@@@8 ; aVector<gzVeteranLevelDefStruct *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Clear@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXXZ ; aVector<gzVeteranLevelDefStruct *>::Clear
PUBLIC	?Resize@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAE_NI@Z ; aVector<gzVeteranLevelDefStruct *>::Resize
PUBLIC	?Add@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXABQAUgzVeteranLevelDefStruct@@@Z ; aVector<gzVeteranLevelDefStruct *>::Add
PUBLIC	?Insert@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXIABQAUgzVeteranLevelDefStruct@@@Z ; aVector<gzVeteranLevelDefStruct *>::Insert
PUBLIC	?Delete@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXI@Z ; aVector<gzVeteranLevelDefStruct *>::Delete
EXTRN	??_E?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEPAXI@Z:PROC ; aVector<gzVeteranLevelDefStruct *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aVector@PAUgzVeteranLevelDefStruct@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aVector@PAUgzVeteranLevelDefStruct@@@@8 DD FLAT:??_R0?AV?$aVector@PAUgzVeteranLevelDefStruct@@@@@8 ; aVector<gzVeteranLevelDefStruct *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aVector@PAUgzVeteranLevelDefStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aVector@PAUgzVeteranLevelDefStruct@@@@8
rdata$r	SEGMENT
??_R2?$aVector@PAUgzVeteranLevelDefStruct@@@@8 DD FLAT:??_R1A@?0A@EA@?$aVector@PAUgzVeteranLevelDefStruct@@@@8 ; aVector<gzVeteranLevelDefStruct *>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aVector@PAUgzVeteranLevelDefStruct@@@@8
rdata$r	SEGMENT
??_R3?$aVector@PAUgzVeteranLevelDefStruct@@@@8 DD 00H	; aVector<gzVeteranLevelDefStruct *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aVector@PAUgzVeteranLevelDefStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aVector@PAUgzVeteranLevelDefStruct@@@@@8
_DATA	SEGMENT
??_R0?AV?$aVector@PAUgzVeteranLevelDefStruct@@@@@8 DD FLAT:??_7type_info@@6B@ ; aVector<gzVeteranLevelDefStruct *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aVector@PAUgzVeteranLevelDefStruct@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aVector@PAUgzVeteranLevelDefStruct@@@@6B@
rdata$r	SEGMENT
??_R4?$aVector@PAUgzVeteranLevelDefStruct@@@@6B@ DD 00H	; aVector<gzVeteranLevelDefStruct *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aVector@PAUgzVeteranLevelDefStruct@@@@@8
	DD	FLAT:??_R3?$aVector@PAUgzVeteranLevelDefStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aVector@PAUgzVeteranLevelDefStruct@@@@6B@
CONST	SEGMENT
??_7?$aVector@PAUgzVeteranLevelDefStruct@@@@6B@ DD FLAT:??_R4?$aVector@PAUgzVeteranLevelDefStruct@@@@6B@ ; aVector<gzVeteranLevelDefStruct *>::`vftable'
	DD	FLAT:??_E?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXABQAUgzVeteranLevelDefStruct@@@Z
	DD	FLAT:?Insert@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXIABQAUgzVeteranLevelDefStruct@@@Z
	DD	FLAT:?Delete@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aVector@PAUgzVeteranLevelDefStruct@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aVector@PAUgzVeteranLevelDefStruct@@@@QAE@XZ PROC	; aVector<gzVeteranLevelDefStruct *>::aVector<gzVeteranLevelDefStruct *>, COMDAT
; _this$ = ecx

; 20   : 	aVector()

	mov	eax, ecx

; 21   : 	{
; 22   : 		this->m_vector = NULL;

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aVector@PAUgzVeteranLevelDefStruct@@@@6B@
	mov	DWORD PTR [eax+4], ecx

; 23   : 		this->m_length = 0;

	mov	DWORD PTR [eax+8], ecx

; 24   : 		this->m_items = 0;

	mov	DWORD PTR [eax+12], ecx

; 25   : 	};

	ret	0
??0?$aVector@PAUgzVeteranLevelDefStruct@@@@QAE@XZ ENDP	; aVector<gzVeteranLevelDefStruct *>::aVector<gzVeteranLevelDefStruct *>
_TEXT	ENDS
PUBLIC	??A?$aVector@PAUgzVeteranLevelDefStruct@@@@QAEAAPAUgzVeteranLevelDefStruct@@I@Z ; aVector<gzVeteranLevelDefStruct *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$aVector@PAUgzVeteranLevelDefStruct@@@@QAEAAPAUgzVeteranLevelDefStruct@@I@Z
_TEXT	SEGMENT
_nPos$ = 8						; size = 4
??A?$aVector@PAUgzVeteranLevelDefStruct@@@@QAEAAPAUgzVeteranLevelDefStruct@@I@Z PROC ; aVector<gzVeteranLevelDefStruct *>::operator[], COMDAT
; _this$ = ecx

; 37   : 	T& operator[](unsigned int nPos) { return this->m_vector[nPos]; };

	mov	eax, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR _nPos$[esp-4]
	lea	eax, DWORD PTR [eax+ecx*4]
	ret	4
??A?$aVector@PAUgzVeteranLevelDefStruct@@@@QAEAAPAUgzVeteranLevelDefStruct@@I@Z ENDP ; aVector<gzVeteranLevelDefStruct *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAUgzVeteranLevelDefStruct@@@@QBEIXZ ; aVector<gzVeteranLevelDefStruct *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAUgzVeteranLevelDefStruct@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAUgzVeteranLevelDefStruct@@@@QBEIXZ PROC ; aVector<gzVeteranLevelDefStruct *>::Count, COMDAT
; _this$ = ecx

; 38   : 	inline unsigned int Count() const { return this->m_items; };

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@PAUgzVeteranLevelDefStruct@@@@QBEIXZ ENDP ; aVector<gzVeteranLevelDefStruct *>::Count
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Clear@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXXZ PROC ; aVector<gzVeteranLevelDefStruct *>::Clear, COMDAT
; _this$ = ecx

; 40   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 41   : 		if (this->m_vector != NULL)

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	je	SHORT $LN6@Clear@4

; 42   : 		{
; 43   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 44   : 			this->m_vector = NULL;

	mov	DWORD PTR [esi+4], edi
$LN6@Clear@4:

; 45   : 		}
; 46   : 		this->m_length = 0;
; 47   : 		this->m_items = 0;

	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 48   : 	};

	ret	0
?Clear@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXXZ ENDP ; aVector<gzVeteranLevelDefStruct *>::Clear
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Resize@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAE_NI@Z
_TEXT	SEGMENT
_nSize$ = 8						; size = 4
?Resize@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAE_NI@Z PROC ; aVector<gzVeteranLevelDefStruct *>::Resize, COMDAT
; _this$ = ecx

; 50   : 	{

	push	esi
	push	edi

; 51   : 		if (nSize > 0)

	mov	edi, DWORD PTR _nSize$[esp+4]
	test	edi, edi
	mov	esi, ecx
	jbe	SHORT $LN3@Resize@2
	push	ebx

; 52   : 		{
; 53   : 			T *nVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	53					; 00000035H
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

; 54   : 			if (this->m_vector != NULL)

	mov	eax, DWORD PTR [esi+4]
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN11@Resize@2

; 55   : 			{
; 56   : 				int allocCount = (this->m_length > nSize) ? nSize : this->m_length;

	mov	ecx, DWORD PTR [esi+8]
	cmp	ecx, edi
	jbe	SHORT $LN8@Resize@2
	mov	ecx, edi
$LN8@Resize@2:

; 57   : 				memcpy(nVec, this->m_vector, allocCount * sizeof(T));

	add	ecx, ecx
	add	ecx, ecx
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 58   : 				delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	58					; 0000003aH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH
$LN11@Resize@2:

; 59   : 			}
; 60   : 			if (this->m_items > nSize)

	cmp	DWORD PTR [esi+12], edi
	jbe	SHORT $LN1@Resize@2

; 61   : 				this->m_items = nSize;

	mov	DWORD PTR [esi+12], edi
$LN1@Resize@2:

; 62   : 			this->m_length = nSize;
; 63   : 			this->m_vector = nVec;

	mov	DWORD PTR [esi+4], ebx
	pop	ebx
	mov	DWORD PTR [esi+8], edi
	pop	edi

; 64   : 			return true;

	mov	al, 1
	pop	esi

; 67   : 	}

	ret	4
$LN3@Resize@2:
	pop	edi

; 65   : 		}
; 66   : 		return false;

	xor	al, al
	pop	esi

; 67   : 	}

	ret	4
?Resize@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAE_NI@Z ENDP ; aVector<gzVeteranLevelDefStruct *>::Resize
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Add@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXABQAUgzVeteranLevelDefStruct@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Add@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXABQAUgzVeteranLevelDefStruct@@@Z PROC ; aVector<gzVeteranLevelDefStruct *>::Add, COMDAT
; _this$ = ecx

; 69   : 	{

	push	esi
	mov	esi, ecx

; 70   : 		if (this->Resize(this->m_length +1))

	mov	ecx, DWORD PTR [esi+8]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN1@Add@3

; 71   : 		{
; 72   : 			this->m_vector[this->m_length -1] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	edx, DWORD PTR [edx]
	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4-4], edx

; 73   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Add@3:
	pop	esi

; 74   : 		}
; 75   : 	}

	ret	4
?Add@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXABQAUgzVeteranLevelDefStruct@@@Z ENDP ; aVector<gzVeteranLevelDefStruct *>::Add
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Insert@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXIABQAUgzVeteranLevelDefStruct@@@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
_obj$ = 12						; size = 4
?Insert@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXIABQAUgzVeteranLevelDefStruct@@@Z PROC ; aVector<gzVeteranLevelDefStruct *>::Insert, COMDAT
; _this$ = ecx

; 77   : 	{

	push	esi
	mov	esi, ecx

; 78   : 		if (index > this->m_length)

	mov	eax, DWORD PTR [esi+8]
	push	edi
	mov	edi, DWORD PTR _index$[esp+4]
	cmp	edi, eax
	jbe	SHORT $LN3@Insert@2

; 79   : 			this->Add(obj);

	mov	ecx, DWORD PTR _obj$[esp+4]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	push	ecx
	mov	ecx, esi
	call	edx
	pop	edi
	pop	esi

; 85   : 		}
; 86   : 	}

	ret	8
$LN3@Insert@2:

; 80   : 		else if (this->Resize(this->m_length + 1))

	mov	edx, DWORD PTR [esi]
	add	eax, 1
	push	eax
	mov	eax, DWORD PTR [edx+8]
	call	eax
	test	al, al
	je	SHORT $LN1@Insert@2

; 81   : 		{
; 82   : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_length - index -1) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [esi+8]
	lea	eax, DWORD PTR [ecx+edi*4]
	sub	edx, edi
	lea	ecx, DWORD PTR [edx*4-4]
	push	ecx
	push	eax
	add	eax, 4
	push	eax
	call	_memmove

; 83   : 			this->m_vector[index] = obj;

	mov	eax, DWORD PTR _obj$[esp+16]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [esi+4]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [edx+edi*4], ecx

; 84   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Insert@2:
	pop	edi
	pop	esi

; 85   : 		}
; 86   : 	}

	ret	8
?Insert@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXIABQAUgzVeteranLevelDefStruct@@@Z ENDP ; aVector<gzVeteranLevelDefStruct *>::Insert
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXI@Z PROC ; aVector<gzVeteranLevelDefStruct *>::Delete, COMDAT
; _this$ = ecx

; 89   : 		if (index >= this->m_length)

	mov	edx, DWORD PTR _index$[esp-4]
	push	esi
	mov	esi, ecx
	mov	eax, DWORD PTR [esi+8]
	cmp	edx, eax
	jae	SHORT $LN2@Delete@2

; 90   : 			return;
; 91   : 		this->m_items--;

	add	DWORD PTR [esi+12], -1

; 92   : 		if (this->m_items == 0)

	jne	SHORT $LN3@Delete@2

; 93   : 			this->Clear();

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

; 99   : 		}
; 100  : 	}

	ret	4
$LN3@Delete@2:

; 94   : 		else
; 95   : 		{
; 96   : 			if (index < this->m_length)
; 97   : 				memmove(&this->m_vector[index], &this->m_vector[index +1], (this->m_length - index -1) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	lea	ecx, DWORD PTR [ecx+edx*4]
	sub	eax, edx
	lea	edx, DWORD PTR [eax*4-4]
	push	edx
	lea	eax, DWORD PTR [ecx+4]
	push	eax
	push	ecx
	call	_memmove

; 98   : 			this->Resize(this->m_items);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [edx+8]
	add	esp, 12					; 0000000cH
	push	eax
	mov	ecx, esi
	call	edx
$LN2@Delete@2:
	pop	esi

; 99   : 		}
; 100  : 	}

	ret	4
?Delete@?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEXI@Z ENDP ; aVector<gzVeteranLevelDefStruct *>::Delete
_TEXT	ENDS
PUBLIC	??_7?$aVector@PAUgzVeteranPointsDefStruct@@@@6B@ ; aVector<gzVeteranPointsDefStruct *>::`vftable'
PUBLIC	??0?$aVector@PAUgzVeteranPointsDefStruct@@@@QAE@XZ ; aVector<gzVeteranPointsDefStruct *>::aVector<gzVeteranPointsDefStruct *>
PUBLIC	??_R4?$aVector@PAUgzVeteranPointsDefStruct@@@@6B@ ; aVector<gzVeteranPointsDefStruct *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aVector@PAUgzVeteranPointsDefStruct@@@@@8 ; aVector<gzVeteranPointsDefStruct *> `RTTI Type Descriptor'
PUBLIC	??_R3?$aVector@PAUgzVeteranPointsDefStruct@@@@8	; aVector<gzVeteranPointsDefStruct *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aVector@PAUgzVeteranPointsDefStruct@@@@8	; aVector<gzVeteranPointsDefStruct *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aVector@PAUgzVeteranPointsDefStruct@@@@8 ; aVector<gzVeteranPointsDefStruct *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Clear@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXXZ ; aVector<gzVeteranPointsDefStruct *>::Clear
PUBLIC	?Resize@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAE_NI@Z ; aVector<gzVeteranPointsDefStruct *>::Resize
PUBLIC	?Add@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXABQAUgzVeteranPointsDefStruct@@@Z ; aVector<gzVeteranPointsDefStruct *>::Add
PUBLIC	?Insert@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXIABQAUgzVeteranPointsDefStruct@@@Z ; aVector<gzVeteranPointsDefStruct *>::Insert
PUBLIC	?Delete@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXI@Z ; aVector<gzVeteranPointsDefStruct *>::Delete
EXTRN	??_E?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEPAXI@Z:PROC ; aVector<gzVeteranPointsDefStruct *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aVector@PAUgzVeteranPointsDefStruct@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aVector@PAUgzVeteranPointsDefStruct@@@@8 DD FLAT:??_R0?AV?$aVector@PAUgzVeteranPointsDefStruct@@@@@8 ; aVector<gzVeteranPointsDefStruct *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aVector@PAUgzVeteranPointsDefStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aVector@PAUgzVeteranPointsDefStruct@@@@8
rdata$r	SEGMENT
??_R2?$aVector@PAUgzVeteranPointsDefStruct@@@@8 DD FLAT:??_R1A@?0A@EA@?$aVector@PAUgzVeteranPointsDefStruct@@@@8 ; aVector<gzVeteranPointsDefStruct *>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aVector@PAUgzVeteranPointsDefStruct@@@@8
rdata$r	SEGMENT
??_R3?$aVector@PAUgzVeteranPointsDefStruct@@@@8 DD 00H	; aVector<gzVeteranPointsDefStruct *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aVector@PAUgzVeteranPointsDefStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aVector@PAUgzVeteranPointsDefStruct@@@@@8
_DATA	SEGMENT
??_R0?AV?$aVector@PAUgzVeteranPointsDefStruct@@@@@8 DD FLAT:??_7type_info@@6B@ ; aVector<gzVeteranPointsDefStruct *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aVector@PAUgzVeteranPointsDefStruct@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aVector@PAUgzVeteranPointsDefStruct@@@@6B@
rdata$r	SEGMENT
??_R4?$aVector@PAUgzVeteranPointsDefStruct@@@@6B@ DD 00H ; aVector<gzVeteranPointsDefStruct *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aVector@PAUgzVeteranPointsDefStruct@@@@@8
	DD	FLAT:??_R3?$aVector@PAUgzVeteranPointsDefStruct@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aVector@PAUgzVeteranPointsDefStruct@@@@6B@
CONST	SEGMENT
??_7?$aVector@PAUgzVeteranPointsDefStruct@@@@6B@ DD FLAT:??_R4?$aVector@PAUgzVeteranPointsDefStruct@@@@6B@ ; aVector<gzVeteranPointsDefStruct *>::`vftable'
	DD	FLAT:??_E?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXABQAUgzVeteranPointsDefStruct@@@Z
	DD	FLAT:?Insert@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXIABQAUgzVeteranPointsDefStruct@@@Z
	DD	FLAT:?Delete@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aVector@PAUgzVeteranPointsDefStruct@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aVector@PAUgzVeteranPointsDefStruct@@@@QAE@XZ PROC	; aVector<gzVeteranPointsDefStruct *>::aVector<gzVeteranPointsDefStruct *>, COMDAT
; _this$ = ecx

; 20   : 	aVector()

	mov	eax, ecx

; 21   : 	{
; 22   : 		this->m_vector = NULL;

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aVector@PAUgzVeteranPointsDefStruct@@@@6B@
	mov	DWORD PTR [eax+4], ecx

; 23   : 		this->m_length = 0;

	mov	DWORD PTR [eax+8], ecx

; 24   : 		this->m_items = 0;

	mov	DWORD PTR [eax+12], ecx

; 25   : 	};

	ret	0
??0?$aVector@PAUgzVeteranPointsDefStruct@@@@QAE@XZ ENDP	; aVector<gzVeteranPointsDefStruct *>::aVector<gzVeteranPointsDefStruct *>
_TEXT	ENDS
PUBLIC	??A?$aVector@PAUgzVeteranPointsDefStruct@@@@QAEAAPAUgzVeteranPointsDefStruct@@I@Z ; aVector<gzVeteranPointsDefStruct *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$aVector@PAUgzVeteranPointsDefStruct@@@@QAEAAPAUgzVeteranPointsDefStruct@@I@Z
_TEXT	SEGMENT
_nPos$ = 8						; size = 4
??A?$aVector@PAUgzVeteranPointsDefStruct@@@@QAEAAPAUgzVeteranPointsDefStruct@@I@Z PROC ; aVector<gzVeteranPointsDefStruct *>::operator[], COMDAT
; _this$ = ecx

; 37   : 	T& operator[](unsigned int nPos) { return this->m_vector[nPos]; };

	mov	eax, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR _nPos$[esp-4]
	lea	eax, DWORD PTR [eax+ecx*4]
	ret	4
??A?$aVector@PAUgzVeteranPointsDefStruct@@@@QAEAAPAUgzVeteranPointsDefStruct@@I@Z ENDP ; aVector<gzVeteranPointsDefStruct *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAUgzVeteranPointsDefStruct@@@@QBEIXZ ; aVector<gzVeteranPointsDefStruct *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAUgzVeteranPointsDefStruct@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAUgzVeteranPointsDefStruct@@@@QBEIXZ PROC ; aVector<gzVeteranPointsDefStruct *>::Count, COMDAT
; _this$ = ecx

; 38   : 	inline unsigned int Count() const { return this->m_items; };

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@PAUgzVeteranPointsDefStruct@@@@QBEIXZ ENDP ; aVector<gzVeteranPointsDefStruct *>::Count
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Clear@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXXZ PROC ; aVector<gzVeteranPointsDefStruct *>::Clear, COMDAT
; _this$ = ecx

; 40   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 41   : 		if (this->m_vector != NULL)

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	je	SHORT $LN6@Clear@5

; 42   : 		{
; 43   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 44   : 			this->m_vector = NULL;

	mov	DWORD PTR [esi+4], edi
$LN6@Clear@5:

; 45   : 		}
; 46   : 		this->m_length = 0;
; 47   : 		this->m_items = 0;

	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 48   : 	};

	ret	0
?Clear@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXXZ ENDP ; aVector<gzVeteranPointsDefStruct *>::Clear
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Resize@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAE_NI@Z
_TEXT	SEGMENT
_nSize$ = 8						; size = 4
?Resize@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAE_NI@Z PROC ; aVector<gzVeteranPointsDefStruct *>::Resize, COMDAT
; _this$ = ecx

; 50   : 	{

	push	esi
	push	edi

; 51   : 		if (nSize > 0)

	mov	edi, DWORD PTR _nSize$[esp+4]
	test	edi, edi
	mov	esi, ecx
	jbe	SHORT $LN3@Resize@3
	push	ebx

; 52   : 		{
; 53   : 			T *nVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	53					; 00000035H
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

; 54   : 			if (this->m_vector != NULL)

	mov	eax, DWORD PTR [esi+4]
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN11@Resize@3

; 55   : 			{
; 56   : 				int allocCount = (this->m_length > nSize) ? nSize : this->m_length;

	mov	ecx, DWORD PTR [esi+8]
	cmp	ecx, edi
	jbe	SHORT $LN8@Resize@3
	mov	ecx, edi
$LN8@Resize@3:

; 57   : 				memcpy(nVec, this->m_vector, allocCount * sizeof(T));

	add	ecx, ecx
	add	ecx, ecx
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 58   : 				delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	58					; 0000003aH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH
$LN11@Resize@3:

; 59   : 			}
; 60   : 			if (this->m_items > nSize)

	cmp	DWORD PTR [esi+12], edi
	jbe	SHORT $LN1@Resize@3

; 61   : 				this->m_items = nSize;

	mov	DWORD PTR [esi+12], edi
$LN1@Resize@3:

; 62   : 			this->m_length = nSize;
; 63   : 			this->m_vector = nVec;

	mov	DWORD PTR [esi+4], ebx
	pop	ebx
	mov	DWORD PTR [esi+8], edi
	pop	edi

; 64   : 			return true;

	mov	al, 1
	pop	esi

; 67   : 	}

	ret	4
$LN3@Resize@3:
	pop	edi

; 65   : 		}
; 66   : 		return false;

	xor	al, al
	pop	esi

; 67   : 	}

	ret	4
?Resize@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAE_NI@Z ENDP ; aVector<gzVeteranPointsDefStruct *>::Resize
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Add@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXABQAUgzVeteranPointsDefStruct@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Add@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXABQAUgzVeteranPointsDefStruct@@@Z PROC ; aVector<gzVeteranPointsDefStruct *>::Add, COMDAT
; _this$ = ecx

; 69   : 	{

	push	esi
	mov	esi, ecx

; 70   : 		if (this->Resize(this->m_length +1))

	mov	ecx, DWORD PTR [esi+8]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN1@Add@4

; 71   : 		{
; 72   : 			this->m_vector[this->m_length -1] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	edx, DWORD PTR [edx]
	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4-4], edx

; 73   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Add@4:
	pop	esi

; 74   : 		}
; 75   : 	}

	ret	4
?Add@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXABQAUgzVeteranPointsDefStruct@@@Z ENDP ; aVector<gzVeteranPointsDefStruct *>::Add
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Insert@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXIABQAUgzVeteranPointsDefStruct@@@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
_obj$ = 12						; size = 4
?Insert@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXIABQAUgzVeteranPointsDefStruct@@@Z PROC ; aVector<gzVeteranPointsDefStruct *>::Insert, COMDAT
; _this$ = ecx

; 77   : 	{

	push	esi
	mov	esi, ecx

; 78   : 		if (index > this->m_length)

	mov	eax, DWORD PTR [esi+8]
	push	edi
	mov	edi, DWORD PTR _index$[esp+4]
	cmp	edi, eax
	jbe	SHORT $LN3@Insert@3

; 79   : 			this->Add(obj);

	mov	ecx, DWORD PTR _obj$[esp+4]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	push	ecx
	mov	ecx, esi
	call	edx
	pop	edi
	pop	esi

; 85   : 		}
; 86   : 	}

	ret	8
$LN3@Insert@3:

; 80   : 		else if (this->Resize(this->m_length + 1))

	mov	edx, DWORD PTR [esi]
	add	eax, 1
	push	eax
	mov	eax, DWORD PTR [edx+8]
	call	eax
	test	al, al
	je	SHORT $LN1@Insert@3

; 81   : 		{
; 82   : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_length - index -1) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [esi+8]
	lea	eax, DWORD PTR [ecx+edi*4]
	sub	edx, edi
	lea	ecx, DWORD PTR [edx*4-4]
	push	ecx
	push	eax
	add	eax, 4
	push	eax
	call	_memmove

; 83   : 			this->m_vector[index] = obj;

	mov	eax, DWORD PTR _obj$[esp+16]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [esi+4]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [edx+edi*4], ecx

; 84   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Insert@3:
	pop	edi
	pop	esi

; 85   : 		}
; 86   : 	}

	ret	8
?Insert@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXIABQAUgzVeteranPointsDefStruct@@@Z ENDP ; aVector<gzVeteranPointsDefStruct *>::Insert
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXI@Z PROC ; aVector<gzVeteranPointsDefStruct *>::Delete, COMDAT
; _this$ = ecx

; 89   : 		if (index >= this->m_length)

	mov	edx, DWORD PTR _index$[esp-4]
	push	esi
	mov	esi, ecx
	mov	eax, DWORD PTR [esi+8]
	cmp	edx, eax
	jae	SHORT $LN2@Delete@3

; 90   : 			return;
; 91   : 		this->m_items--;

	add	DWORD PTR [esi+12], -1

; 92   : 		if (this->m_items == 0)

	jne	SHORT $LN3@Delete@3

; 93   : 			this->Clear();

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

; 99   : 		}
; 100  : 	}

	ret	4
$LN3@Delete@3:

; 94   : 		else
; 95   : 		{
; 96   : 			if (index < this->m_length)
; 97   : 				memmove(&this->m_vector[index], &this->m_vector[index +1], (this->m_length - index -1) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	lea	ecx, DWORD PTR [ecx+edx*4]
	sub	eax, edx
	lea	edx, DWORD PTR [eax*4-4]
	push	edx
	lea	eax, DWORD PTR [ecx+4]
	push	eax
	push	ecx
	call	_memmove

; 98   : 			this->Resize(this->m_items);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [edx+8]
	add	esp, 12					; 0000000cH
	push	eax
	mov	ecx, esi
	call	edx
$LN2@Delete@3:
	pop	esi

; 99   : 		}
; 100  : 	}

	ret	4
?Delete@?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEXI@Z ENDP ; aVector<gzVeteranPointsDefStruct *>::Delete
_TEXT	ENDS
PUBLIC	??_7?$aVector@H@@6B@				; aVector<int>::`vftable'
PUBLIC	??0?$aVector@H@@QAE@XZ				; aVector<int>::aVector<int>
PUBLIC	??_R4?$aVector@H@@6B@				; aVector<int>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aVector@H@@@8				; aVector<int> `RTTI Type Descriptor'
PUBLIC	??_R3?$aVector@H@@8				; aVector<int>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aVector@H@@8				; aVector<int>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aVector@H@@8			; aVector<int>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Clear@?$aVector@H@@UAEXXZ			; aVector<int>::Clear
PUBLIC	?Resize@?$aVector@H@@UAE_NI@Z			; aVector<int>::Resize
PUBLIC	?Add@?$aVector@H@@UAEXABH@Z			; aVector<int>::Add
PUBLIC	?Insert@?$aVector@H@@UAEXIABH@Z			; aVector<int>::Insert
PUBLIC	?Delete@?$aVector@H@@UAEXI@Z			; aVector<int>::Delete
EXTRN	??_E?$aVector@H@@UAEPAXI@Z:PROC			; aVector<int>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aVector@H@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aVector@H@@8 DD FLAT:??_R0?AV?$aVector@H@@@8 ; aVector<int>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aVector@H@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aVector@H@@8
rdata$r	SEGMENT
??_R2?$aVector@H@@8 DD FLAT:??_R1A@?0A@EA@?$aVector@H@@8 ; aVector<int>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aVector@H@@8
rdata$r	SEGMENT
??_R3?$aVector@H@@8 DD 00H				; aVector<int>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aVector@H@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aVector@H@@@8
_DATA	SEGMENT
??_R0?AV?$aVector@H@@@8 DD FLAT:??_7type_info@@6B@	; aVector<int> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aVector@H@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aVector@H@@6B@
rdata$r	SEGMENT
??_R4?$aVector@H@@6B@ DD 00H				; aVector<int>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aVector@H@@@8
	DD	FLAT:??_R3?$aVector@H@@8
rdata$r	ENDS
;	COMDAT ??_7?$aVector@H@@6B@
CONST	SEGMENT
??_7?$aVector@H@@6B@ DD FLAT:??_R4?$aVector@H@@6B@	; aVector<int>::`vftable'
	DD	FLAT:??_E?$aVector@H@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aVector@H@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@H@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@H@@UAEXABH@Z
	DD	FLAT:?Insert@?$aVector@H@@UAEXIABH@Z
	DD	FLAT:?Delete@?$aVector@H@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aVector@H@@QAE@XZ
_TEXT	SEGMENT
??0?$aVector@H@@QAE@XZ PROC				; aVector<int>::aVector<int>, COMDAT
; _this$ = ecx

; 20   : 	aVector()

	mov	eax, ecx

; 21   : 	{
; 22   : 		this->m_vector = NULL;

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aVector@H@@6B@
	mov	DWORD PTR [eax+4], ecx

; 23   : 		this->m_length = 0;

	mov	DWORD PTR [eax+8], ecx

; 24   : 		this->m_items = 0;

	mov	DWORD PTR [eax+12], ecx

; 25   : 	};

	ret	0
??0?$aVector@H@@QAE@XZ ENDP				; aVector<int>::aVector<int>
_TEXT	ENDS
PUBLIC	??A?$aVector@H@@QAEAAHI@Z			; aVector<int>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$aVector@H@@QAEAAHI@Z
_TEXT	SEGMENT
_nPos$ = 8						; size = 4
??A?$aVector@H@@QAEAAHI@Z PROC				; aVector<int>::operator[], COMDAT
; _this$ = ecx

; 37   : 	T& operator[](unsigned int nPos) { return this->m_vector[nPos]; };

	mov	eax, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR _nPos$[esp-4]
	lea	eax, DWORD PTR [eax+ecx*4]
	ret	4
??A?$aVector@H@@QAEAAHI@Z ENDP				; aVector<int>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@H@@QBEIXZ			; aVector<int>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@H@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@H@@QBEIXZ PROC				; aVector<int>::Count, COMDAT
; _this$ = ecx

; 38   : 	inline unsigned int Count() const { return this->m_items; };

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@H@@QBEIXZ ENDP				; aVector<int>::Count
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Clear@?$aVector@H@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aVector@H@@UAEXXZ PROC				; aVector<int>::Clear, COMDAT
; _this$ = ecx

; 40   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 41   : 		if (this->m_vector != NULL)

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	je	SHORT $LN6@Clear@6

; 42   : 		{
; 43   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H

; 44   : 			this->m_vector = NULL;

	mov	DWORD PTR [esi+4], edi
$LN6@Clear@6:

; 45   : 		}
; 46   : 		this->m_length = 0;
; 47   : 		this->m_items = 0;

	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 48   : 	};

	ret	0
?Clear@?$aVector@H@@UAEXXZ ENDP				; aVector<int>::Clear
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Resize@?$aVector@H@@UAE_NI@Z
_TEXT	SEGMENT
_nSize$ = 8						; size = 4
?Resize@?$aVector@H@@UAE_NI@Z PROC			; aVector<int>::Resize, COMDAT
; _this$ = ecx

; 50   : 	{

	push	esi
	push	edi

; 51   : 		if (nSize > 0)

	mov	edi, DWORD PTR _nSize$[esp+4]
	test	edi, edi
	mov	esi, ecx
	jbe	SHORT $LN3@Resize@4
	push	ebx

; 52   : 		{
; 53   : 			T *nVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	53					; 00000035H
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

; 54   : 			if (this->m_vector != NULL)

	mov	eax, DWORD PTR [esi+4]
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN11@Resize@4

; 55   : 			{
; 56   : 				int allocCount = (this->m_length > nSize) ? nSize : this->m_length;

	mov	ecx, DWORD PTR [esi+8]
	cmp	ecx, edi
	jbe	SHORT $LN8@Resize@4
	mov	ecx, edi
$LN8@Resize@4:

; 57   : 				memcpy(nVec, this->m_vector, allocCount * sizeof(T));

	add	ecx, ecx
	add	ecx, ecx
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 58   : 				delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	58					; 0000003aH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH
$LN11@Resize@4:

; 59   : 			}
; 60   : 			if (this->m_items > nSize)

	cmp	DWORD PTR [esi+12], edi
	jbe	SHORT $LN1@Resize@4

; 61   : 				this->m_items = nSize;

	mov	DWORD PTR [esi+12], edi
$LN1@Resize@4:

; 62   : 			this->m_length = nSize;
; 63   : 			this->m_vector = nVec;

	mov	DWORD PTR [esi+4], ebx
	pop	ebx
	mov	DWORD PTR [esi+8], edi
	pop	edi

; 64   : 			return true;

	mov	al, 1
	pop	esi

; 67   : 	}

	ret	4
$LN3@Resize@4:
	pop	edi

; 65   : 		}
; 66   : 		return false;

	xor	al, al
	pop	esi

; 67   : 	}

	ret	4
?Resize@?$aVector@H@@UAE_NI@Z ENDP			; aVector<int>::Resize
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Add@?$aVector@H@@UAEXABH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Add@?$aVector@H@@UAEXABH@Z PROC			; aVector<int>::Add, COMDAT
; _this$ = ecx

; 69   : 	{

	push	esi
	mov	esi, ecx

; 70   : 		if (this->Resize(this->m_length +1))

	mov	ecx, DWORD PTR [esi+8]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN1@Add@5

; 71   : 		{
; 72   : 			this->m_vector[this->m_length -1] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	edx, DWORD PTR [edx]
	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4-4], edx

; 73   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Add@5:
	pop	esi

; 74   : 		}
; 75   : 	}

	ret	4
?Add@?$aVector@H@@UAEXABH@Z ENDP			; aVector<int>::Add
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Insert@?$aVector@H@@UAEXIABH@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
_obj$ = 12						; size = 4
?Insert@?$aVector@H@@UAEXIABH@Z PROC			; aVector<int>::Insert, COMDAT
; _this$ = ecx

; 77   : 	{

	push	esi
	mov	esi, ecx

; 78   : 		if (index > this->m_length)

	mov	eax, DWORD PTR [esi+8]
	push	edi
	mov	edi, DWORD PTR _index$[esp+4]
	cmp	edi, eax
	jbe	SHORT $LN3@Insert@4

; 79   : 			this->Add(obj);

	mov	ecx, DWORD PTR _obj$[esp+4]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	push	ecx
	mov	ecx, esi
	call	edx
	pop	edi
	pop	esi

; 85   : 		}
; 86   : 	}

	ret	8
$LN3@Insert@4:

; 80   : 		else if (this->Resize(this->m_length + 1))

	mov	edx, DWORD PTR [esi]
	add	eax, 1
	push	eax
	mov	eax, DWORD PTR [edx+8]
	call	eax
	test	al, al
	je	SHORT $LN1@Insert@4

; 81   : 		{
; 82   : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_length - index -1) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [esi+8]
	lea	eax, DWORD PTR [ecx+edi*4]
	sub	edx, edi
	lea	ecx, DWORD PTR [edx*4-4]
	push	ecx
	push	eax
	add	eax, 4
	push	eax
	call	_memmove

; 83   : 			this->m_vector[index] = obj;

	mov	eax, DWORD PTR _obj$[esp+16]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [esi+4]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [edx+edi*4], ecx

; 84   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Insert@4:
	pop	edi
	pop	esi

; 85   : 		}
; 86   : 	}

	ret	8
?Insert@?$aVector@H@@UAEXIABH@Z ENDP			; aVector<int>::Insert
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@?$aVector@H@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aVector@H@@UAEXI@Z PROC			; aVector<int>::Delete, COMDAT
; _this$ = ecx

; 89   : 		if (index >= this->m_length)

	mov	edx, DWORD PTR _index$[esp-4]
	push	esi
	mov	esi, ecx
	mov	eax, DWORD PTR [esi+8]
	cmp	edx, eax
	jae	SHORT $LN2@Delete@4

; 90   : 			return;
; 91   : 		this->m_items--;

	add	DWORD PTR [esi+12], -1

; 92   : 		if (this->m_items == 0)

	jne	SHORT $LN3@Delete@4

; 93   : 			this->Clear();

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

; 99   : 		}
; 100  : 	}

	ret	4
$LN3@Delete@4:

; 94   : 		else
; 95   : 		{
; 96   : 			if (index < this->m_length)
; 97   : 				memmove(&this->m_vector[index], &this->m_vector[index +1], (this->m_length - index -1) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	lea	ecx, DWORD PTR [ecx+edx*4]
	sub	eax, edx
	lea	edx, DWORD PTR [eax*4-4]
	push	edx
	lea	eax, DWORD PTR [ecx+4]
	push	eax
	push	ecx
	call	_memmove

; 98   : 			this->Resize(this->m_items);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [edx+8]
	add	esp, 12					; 0000000cH
	push	eax
	mov	ecx, esi
	call	edx
$LN2@Delete@4:
	pop	esi

; 99   : 		}
; 100  : 	}

	ret	4
?Delete@?$aVector@H@@UAEXI@Z ENDP			; aVector<int>::Delete
_TEXT	ENDS
PUBLIC	??_7?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::`vftable'
PUBLIC	??0?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@QAE@PAD0@Z ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::nc_ScriptRegistrant<gzObserverVeteranBeacon>
PUBLIC	??_R4?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranBeacon> `RTTI Type Descriptor'
PUBLIC	??_R3?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@nc_ScriptFactory@@8		; nc_ScriptFactory::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVnc_ScriptFactory@@@8			; nc_ScriptFactory `RTTI Type Descriptor'
PUBLIC	??_R3nc_ScriptFactory@@8			; nc_ScriptFactory::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2nc_ScriptFactory@@8			; nc_ScriptFactory::`RTTI Base Class Array'
PUBLIC	?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::Create
EXTRN	??0nc_ScriptFactory@@QAE@PAD0@Z:PROC		; nc_ScriptFactory::nc_ScriptFactory
EXTRN	??_E?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAXI@Z:PROC ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::`vector deleting destructor'
;	COMDAT ??_R2nc_ScriptFactory@@8
; File d:\source code\fds lib\new\fds_scripts.h
rdata$r	SEGMENT
??_R2nc_ScriptFactory@@8 DD FLAT:??_R1A@?0A@EA@nc_ScriptFactory@@8 ; nc_ScriptFactory::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3nc_ScriptFactory@@8
rdata$r	SEGMENT
??_R3nc_ScriptFactory@@8 DD 00H				; nc_ScriptFactory::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVnc_ScriptFactory@@@8
_DATA	SEGMENT
??_R0?AVnc_ScriptFactory@@@8 DD FLAT:??_7type_info@@6B@	; nc_ScriptFactory `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVnc_ScriptFactory@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@nc_ScriptFactory@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@nc_ScriptFactory@@8 DD FLAT:??_R0?AVnc_ScriptFactory@@@8 ; nc_ScriptFactory::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@8 DD FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@8
rdata$r	SEGMENT
??_R2?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@8 DD FLAT:??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@8
rdata$r	SEGMENT
??_R3?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@8 DD 00H ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@@8
_DATA	SEGMENT
??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@@8 DD FLAT:??_7type_info@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranBeacon> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@6B@
rdata$r	SEGMENT
??_R4?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@6B@ DD 00H ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@@8
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@6B@
CONST	SEGMENT
??_7?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@6B@ DD FLAT:??_R4?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::`vftable'
	DD	FLAT:??_E?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@QAE@PAD0@Z PROC ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::nc_ScriptRegistrant<gzObserverVeteranBeacon>, COMDAT
; _this$ = ecx

; 465  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@6B@

; 466  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@QAE@PAD0@Z ENDP ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::nc_ScriptRegistrant<gzObserverVeteranBeacon>
_TEXT	ENDS
PUBLIC	?SetFactory@nc_ScriptImpClass@@QAEXPAVnc_ScriptFactory@@@Z ; nc_ScriptImpClass::SetFactory
; Function compile flags: /Ogtpy
;	COMDAT ?SetFactory@nc_ScriptImpClass@@QAEXPAVnc_ScriptFactory@@@Z
_TEXT	SEGMENT
_ptr$ = 8						; size = 4
?SetFactory@nc_ScriptImpClass@@QAEXPAVnc_ScriptFactory@@@Z PROC ; nc_ScriptImpClass::SetFactory, COMDAT
; _this$ = ecx

; 99   : 		Factory = ptr;

	mov	eax, DWORD PTR _ptr$[esp-4]
	mov	DWORD PTR [ecx+20], eax

; 100  : 	}

	ret	4
?SetFactory@nc_ScriptImpClass@@QAEXPAVnc_ScriptFactory@@@Z ENDP ; nc_ScriptImpClass::SetFactory
_TEXT	ENDS
PUBLIC	??_7?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranC4>::`vftable'
PUBLIC	??0?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@QAE@PAD0@Z ; nc_ScriptRegistrant<gzObserverVeteranC4>::nc_ScriptRegistrant<gzObserverVeteranC4>
PUBLIC	??_R4?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranC4>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranC4> `RTTI Type Descriptor'
PUBLIC	??_R3?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranC4>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranC4>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranC4>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Create@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAVnc_ScriptImpClass@@XZ ; nc_ScriptRegistrant<gzObserverVeteranC4>::Create
EXTRN	??_E?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAXI@Z:PROC ; nc_ScriptRegistrant<gzObserverVeteranC4>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@8 DD FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranC4>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@8
rdata$r	SEGMENT
??_R2?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@8 DD FLAT:??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranC4>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@8
rdata$r	SEGMENT
??_R3?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@8 DD 00H ; nc_ScriptRegistrant<gzObserverVeteranC4>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@@8
_DATA	SEGMENT
??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@@8 DD FLAT:??_7type_info@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranC4> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@6B@
rdata$r	SEGMENT
??_R4?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@6B@ DD 00H ; nc_ScriptRegistrant<gzObserverVeteranC4>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@@8
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@6B@
CONST	SEGMENT
??_7?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@6B@ DD FLAT:??_R4?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranC4>::`vftable'
	DD	FLAT:??_E?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAVnc_ScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@QAE@PAD0@Z PROC ; nc_ScriptRegistrant<gzObserverVeteranC4>::nc_ScriptRegistrant<gzObserverVeteranC4>, COMDAT
; _this$ = ecx

; 465  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@6B@

; 466  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@QAE@PAD0@Z ENDP ; nc_ScriptRegistrant<gzObserverVeteranC4>::nc_ScriptRegistrant<gzObserverVeteranC4>
_TEXT	ENDS
PUBLIC	??_7?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::`vftable'
PUBLIC	??0?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@QAE@PAD0@Z ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::nc_ScriptRegistrant<gzObserverVeteranBuilding>
PUBLIC	??_R4?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranBuilding> `RTTI Type Descriptor'
PUBLIC	??_R3?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::Create
EXTRN	??_E?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAXI@Z:PROC ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@8 DD FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@8
rdata$r	SEGMENT
??_R2?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@8 DD FLAT:??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@8
rdata$r	SEGMENT
??_R3?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@8 DD 00H ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@@8
_DATA	SEGMENT
??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@@8 DD FLAT:??_7type_info@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranBuilding> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@'
	DB	00H
_DATA	ENDS
;	COMDAT ??_R4?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@6B@
rdata$r	SEGMENT
??_R4?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@6B@ DD 00H ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@@8
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@6B@
CONST	SEGMENT
??_7?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@6B@ DD FLAT:??_R4?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::`vftable'
	DD	FLAT:??_E?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@QAE@PAD0@Z PROC ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::nc_ScriptRegistrant<gzObserverVeteranBuilding>, COMDAT
; _this$ = ecx

; 465  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@6B@

; 466  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@QAE@PAD0@Z ENDP ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::nc_ScriptRegistrant<gzObserverVeteranBuilding>
_TEXT	ENDS
PUBLIC	??_7?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::`vftable'
PUBLIC	??0?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@QAE@PAD0@Z ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::nc_ScriptRegistrant<gzObserverVeteranSoldier>
PUBLIC	??_R4?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranSoldier> `RTTI Type Descriptor'
PUBLIC	??_R3?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Create@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::Create
EXTRN	??_E?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAXI@Z:PROC ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@8 DD FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@8
rdata$r	SEGMENT
??_R2?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@8 DD FLAT:??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@8
rdata$r	SEGMENT
??_R3?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@8 DD 00H ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@@8
_DATA	SEGMENT
??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@@8 DD FLAT:??_7type_info@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranSoldier> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@6B@
rdata$r	SEGMENT
??_R4?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@6B@ DD 00H ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@@8
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@6B@
CONST	SEGMENT
??_7?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@6B@ DD FLAT:??_R4?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::`vftable'
	DD	FLAT:??_E?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@QAE@PAD0@Z PROC ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::nc_ScriptRegistrant<gzObserverVeteranSoldier>, COMDAT
; _this$ = ecx

; 465  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@6B@

; 466  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@QAE@PAD0@Z ENDP ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::nc_ScriptRegistrant<gzObserverVeteranSoldier>
_TEXT	ENDS
PUBLIC	??_7?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::`vftable'
PUBLIC	??0?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@QAE@PAD0@Z ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::nc_ScriptRegistrant<gzObserverVeteranVehicle>
PUBLIC	??_R4?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranVehicle> `RTTI Type Descriptor'
PUBLIC	??_R3?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Create@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::Create
EXTRN	??_E?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAXI@Z:PROC ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@8 DD FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@8
rdata$r	SEGMENT
??_R2?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@8 DD FLAT:??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@8 ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@8
rdata$r	SEGMENT
??_R3?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@8 DD 00H ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@@8
_DATA	SEGMENT
??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@@8 DD FLAT:??_7type_info@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranVehicle> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@6B@
rdata$r	SEGMENT
??_R4?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@6B@ DD 00H ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@@8
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@6B@
CONST	SEGMENT
??_7?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@6B@ DD FLAT:??_R4?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@6B@ ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::`vftable'
	DD	FLAT:??_E?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@QAE@PAD0@Z PROC ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::nc_ScriptRegistrant<gzObserverVeteranVehicle>, COMDAT
; _this$ = ecx

; 465  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	mov	DWORD PTR [esi], OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@6B@

; 466  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@QAE@PAD0@Z ENDP ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::nc_ScriptRegistrant<gzObserverVeteranVehicle>
; 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
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
	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
??_G?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzObserverVeteranC4>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
	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
??_G?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzObserverVeteranC4>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@4
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@4:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@5
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@5:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@6
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@6:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::`scalar deleting destructor'
_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	??_7?$aVector@PAVaStringData@@@@6B@		; aVector<aStringData *>::`vftable'
PUBLIC	??0?$aVector@PAVaStringData@@@@QAE@XZ		; aVector<aStringData *>::aVector<aStringData *>
PUBLIC	??_R4?$aVector@PAVaStringData@@@@6B@		; aVector<aStringData *>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aVector@PAVaStringData@@@@@8		; aVector<aStringData *> `RTTI Type Descriptor'
PUBLIC	??_R3?$aVector@PAVaStringData@@@@8		; aVector<aStringData *>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aVector@PAVaStringData@@@@8		; aVector<aStringData *>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8	; aVector<aStringData *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z	; aVector<aStringData *>::Resize
PUBLIC	?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z ; aVector<aStringData *>::Add
PUBLIC	?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z ; aVector<aStringData *>::Insert
PUBLIC	?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z	; aVector<aStringData *>::Delete
EXTRN	??_E?$aVector@PAVaStringData@@@@UAEPAXI@Z:PROC	; aVector<aStringData *>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8
; File d:\source code\alib\include\avector.h
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8 DD FLAT:??_R0?AV?$aVector@PAVaStringData@@@@@8 ; aVector<aStringData *>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aVector@PAVaStringData@@@@8
rdata$r	SEGMENT
??_R2?$aVector@PAVaStringData@@@@8 DD FLAT:??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8 ; aVector<aStringData *>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aVector@PAVaStringData@@@@8
rdata$r	SEGMENT
??_R3?$aVector@PAVaStringData@@@@8 DD 00H		; aVector<aStringData *>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aVector@PAVaStringData@@@@@8
_DATA	SEGMENT
??_R0?AV?$aVector@PAVaStringData@@@@@8 DD FLAT:??_7type_info@@6B@ ; aVector<aStringData *> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aVector@PAVaStringData@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aVector@PAVaStringData@@@@6B@
rdata$r	SEGMENT
??_R4?$aVector@PAVaStringData@@@@6B@ DD 00H		; aVector<aStringData *>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aVector@PAVaStringData@@@@@8
	DD	FLAT:??_R3?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aVector@PAVaStringData@@@@6B@
CONST	SEGMENT
??_7?$aVector@PAVaStringData@@@@6B@ DD FLAT:??_R4?$aVector@PAVaStringData@@@@6B@ ; aVector<aStringData *>::`vftable'
	DD	FLAT:??_E?$aVector@PAVaStringData@@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aVector@PAVaStringData@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z
	DD	FLAT:?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z
	DD	FLAT:?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aVector@PAVaStringData@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aVector@PAVaStringData@@@@QAE@XZ PROC		; aVector<aStringData *>::aVector<aStringData *>, COMDAT
; _this$ = ecx

; 20   : 	aVector()

	mov	eax, ecx

; 21   : 	{
; 22   : 		this->m_vector = NULL;

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aVector@PAVaStringData@@@@6B@
	mov	DWORD PTR [eax+4], ecx

; 23   : 		this->m_length = 0;

	mov	DWORD PTR [eax+8], ecx

; 24   : 		this->m_items = 0;

	mov	DWORD PTR [eax+12], ecx

; 25   : 	};

	ret	0
??0?$aVector@PAVaStringData@@@@QAE@XZ ENDP		; aVector<aStringData *>::aVector<aStringData *>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z
_TEXT	SEGMENT
_nSize$ = 8						; size = 4
?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z PROC	; aVector<aStringData *>::Resize, COMDAT
; _this$ = ecx

; 50   : 	{

	push	esi
	push	edi

; 51   : 		if (nSize > 0)

	mov	edi, DWORD PTR _nSize$[esp+4]
	test	edi, edi
	mov	esi, ecx
	jbe	SHORT $LN3@Resize@5
	push	ebx

; 52   : 		{
; 53   : 			T *nVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	53					; 00000035H
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 4
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

; 54   : 			if (this->m_vector != NULL)

	mov	eax, DWORD PTR [esi+4]
	add	esp, 16					; 00000010H
	test	eax, eax
	je	SHORT $LN11@Resize@5

; 55   : 			{
; 56   : 				int allocCount = (this->m_length > nSize) ? nSize : this->m_length;

	mov	ecx, DWORD PTR [esi+8]
	cmp	ecx, edi
	jbe	SHORT $LN8@Resize@5
	mov	ecx, edi
$LN8@Resize@5:

; 57   : 				memcpy(nVec, this->m_vector, allocCount * sizeof(T));

	add	ecx, ecx
	add	ecx, ecx
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 58   : 				delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	58					; 0000003aH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [esi+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH
$LN11@Resize@5:

; 59   : 			}
; 60   : 			if (this->m_items > nSize)

	cmp	DWORD PTR [esi+12], edi
	jbe	SHORT $LN1@Resize@5

; 61   : 				this->m_items = nSize;

	mov	DWORD PTR [esi+12], edi
$LN1@Resize@5:

; 62   : 			this->m_length = nSize;
; 63   : 			this->m_vector = nVec;

	mov	DWORD PTR [esi+4], ebx
	pop	ebx
	mov	DWORD PTR [esi+8], edi
	pop	edi

; 64   : 			return true;

	mov	al, 1
	pop	esi

; 67   : 	}

	ret	4
$LN3@Resize@5:
	pop	edi

; 65   : 		}
; 66   : 		return false;

	xor	al, al
	pop	esi

; 67   : 	}

	ret	4
?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z ENDP	; aVector<aStringData *>::Resize
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z PROC ; aVector<aStringData *>::Add, COMDAT
; _this$ = ecx

; 69   : 	{

	push	esi
	mov	esi, ecx

; 70   : 		if (this->Resize(this->m_length +1))

	mov	ecx, DWORD PTR [esi+8]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN1@Add@6

; 71   : 		{
; 72   : 			this->m_vector[this->m_length -1] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	edx, DWORD PTR [edx]
	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4-4], edx

; 73   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Add@6:
	pop	esi

; 74   : 		}
; 75   : 	}

	ret	4
?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z ENDP ; aVector<aStringData *>::Add
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
_obj$ = 12						; size = 4
?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z PROC ; aVector<aStringData *>::Insert, COMDAT
; _this$ = ecx

; 77   : 	{

	push	esi
	mov	esi, ecx

; 78   : 		if (index > this->m_length)

	mov	eax, DWORD PTR [esi+8]
	push	edi
	mov	edi, DWORD PTR _index$[esp+4]
	cmp	edi, eax
	jbe	SHORT $LN3@Insert@5

; 79   : 			this->Add(obj);

	mov	ecx, DWORD PTR _obj$[esp+4]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+12]
	push	ecx
	mov	ecx, esi
	call	edx
	pop	edi
	pop	esi

; 85   : 		}
; 86   : 	}

	ret	8
$LN3@Insert@5:

; 80   : 		else if (this->Resize(this->m_length + 1))

	mov	edx, DWORD PTR [esi]
	add	eax, 1
	push	eax
	mov	eax, DWORD PTR [edx+8]
	call	eax
	test	al, al
	je	SHORT $LN1@Insert@5

; 81   : 		{
; 82   : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_length - index -1) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [esi+8]
	lea	eax, DWORD PTR [ecx+edi*4]
	sub	edx, edi
	lea	ecx, DWORD PTR [edx*4-4]
	push	ecx
	push	eax
	add	eax, 4
	push	eax
	call	_memmove

; 83   : 			this->m_vector[index] = obj;

	mov	eax, DWORD PTR _obj$[esp+16]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [esi+4]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [edx+edi*4], ecx

; 84   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Insert@5:
	pop	edi
	pop	esi

; 85   : 		}
; 86   : 	}

	ret	8
?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z ENDP ; aVector<aStringData *>::Insert
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z PROC	; aVector<aStringData *>::Delete, COMDAT
; _this$ = ecx

; 89   : 		if (index >= this->m_length)

	mov	edx, DWORD PTR _index$[esp-4]
	push	esi
	mov	esi, ecx
	mov	eax, DWORD PTR [esi+8]
	cmp	edx, eax
	jae	SHORT $LN2@Delete@5

; 90   : 			return;
; 91   : 		this->m_items--;

	add	DWORD PTR [esi+12], -1

; 92   : 		if (this->m_items == 0)

	jne	SHORT $LN3@Delete@5

; 93   : 			this->Clear();

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

; 99   : 		}
; 100  : 	}

	ret	4
$LN3@Delete@5:

; 94   : 		else
; 95   : 		{
; 96   : 			if (index < this->m_length)
; 97   : 				memmove(&this->m_vector[index], &this->m_vector[index +1], (this->m_length - index -1) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	lea	ecx, DWORD PTR [ecx+edx*4]
	sub	eax, edx
	lea	edx, DWORD PTR [eax*4-4]
	push	edx
	lea	eax, DWORD PTR [ecx+4]
	push	eax
	push	ecx
	call	_memmove

; 98   : 			this->Resize(this->m_items);

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [edx+8]
	add	esp, 12					; 0000000cH
	push	eax
	mov	ecx, esi
	call	edx
$LN2@Delete@5:
	pop	esi

; 99   : 		}
; 100  : 	}

	ret	4
?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z ENDP	; aVector<aStringData *>::Delete
_TEXT	ENDS
PUBLIC	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
EXTRN	?IncRef@aStringData@@QAEXXZ:PROC		; aStringData::IncRef
;	COMDAT xdata$x
; File d:\source code\alib\include\astring.h
xdata$x	SEGMENT
__unwindtable$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z$0
__ehfuncinfo$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
_content$ = 8						; size = 8
?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z PROC ; aStringArrayBase<aWideString>::Add, COMDAT
; _this$ = ecx

; 92   : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	push	esi
	mov	esi, ecx

; 93   : 		if (this->Resize(this->m_length + 1))

	mov	ecx, DWORD PTR [esi+8]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	edx
	test	al, al
	je	SHORT $LN1@Add@7

; 94   : 		{
; 95   : 			content.GetData()->IncRef();

	mov	ecx, DWORD PTR _content$[esp+16]
	call	?IncRef@aStringData@@QAEXXZ		; aStringData::IncRef

; 96   : 			this->m_vector[this->m_length - 1] = content.GetData();

	mov	eax, DWORD PTR [esi+8]
	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR _content$[esp+16]
	mov	DWORD PTR [ecx+eax*4-4], edx

; 97   : 			this->m_items++;

	add	DWORD PTR [esi+12], 1
$LN1@Add@7:

; 98   : 		}
; 99   : 	};

	lea	ecx, DWORD PTR _content$[esp+12]
	mov	DWORD PTR __$EHRec$[esp+24], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, DWORD PTR __$EHRec$[esp+16]
	mov	DWORD PTR fs:0, ecx
	pop	esi
	add	esp, 12					; 0000000cH
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z$0:
	lea	ecx, DWORD PTR _content$[ebp-4]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ENDP ; aStringArrayBase<aWideString>::Add
PUBLIC	??0?$allocator@D@std@@QAE@ABV01@@Z		; 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@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	??_7gzObserverVeteranBeacon@@6B@		; gzObserverVeteranBeacon::`vftable'
PUBLIC	??0gzObserverVeteranBeacon@@QAE@XZ		; gzObserverVeteranBeacon::gzObserverVeteranBeacon
PUBLIC	??_R4gzObserverVeteranBeacon@@6B@		; gzObserverVeteranBeacon::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzObserverVeteranBeacon@@@8		; gzObserverVeteranBeacon `RTTI Type Descriptor'
PUBLIC	??_R3gzObserverVeteranBeacon@@8			; gzObserverVeteranBeacon::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzObserverVeteranBeacon@@8			; gzObserverVeteranBeacon::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzObserverVeteranBeacon@@8	; gzObserverVeteranBeacon::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@nc_ScriptImpClass@@8		; nc_ScriptImpClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVnc_ScriptImpClass@@@8			; nc_ScriptImpClass `RTTI Type Descriptor'
PUBLIC	??_R3nc_ScriptImpClass@@8			; nc_ScriptImpClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2nc_ScriptImpClass@@8			; nc_ScriptImpClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@nc_ScriptClass@@8			; nc_ScriptClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVnc_ScriptClass@@@8			; nc_ScriptClass `RTTI Type Descriptor'
PUBLIC	??_R3nc_ScriptClass@@8				; nc_ScriptClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2nc_ScriptClass@@8				; nc_ScriptClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@nc_GameObjObserverClass@@8	; nc_GameObjObserverClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVnc_GameObjObserverClass@@@8		; nc_GameObjObserverClass `RTTI Type Descriptor'
PUBLIC	??_R3nc_GameObjObserverClass@@8			; nc_GameObjObserverClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2nc_GameObjObserverClass@@8			; nc_GameObjObserverClass::`RTTI Base Class Array'
PUBLIC	?Created@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserverVeteranBeacon::Created
PUBLIC	?Killed@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z ; gzObserverVeteranBeacon::Killed
EXTRN	??0nc_ScriptImpClass@@QAE@XZ:PROC		; nc_ScriptImpClass::nc_ScriptImpClass
EXTRN	??_EgzObserverVeteranBeacon@@UAEPAXI@Z:PROC	; gzObserverVeteranBeacon::`vector deleting destructor'
EXTRN	?Get_Name@nc_ScriptImpClass@@UAEPADXZ:PROC	; nc_ScriptImpClass::Get_Name
EXTRN	?Attach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z:PROC ; nc_ScriptImpClass::Attach
EXTRN	?Detach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z:PROC ; nc_ScriptImpClass::Detach
EXTRN	?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z:PROC ; nc_ScriptImpClass::Destroyed
EXTRN	?Sound_Heard@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@ABUnc_CombatSound@@@Z:PROC ; nc_ScriptImpClass::Sound_Heard
EXTRN	?Enemy_Seen@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z:PROC ; nc_ScriptImpClass::Enemy_Seen
EXTRN	?Action_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HW4nc_ActionCompleteReason@@@Z:PROC ; nc_ScriptImpClass::Action_Complete
EXTRN	?Timer_Expired@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@H@Z:PROC ; nc_ScriptImpClass::Timer_Expired
EXTRN	?Animation_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@PBD@Z:PROC ; nc_ScriptImpClass::Animation_Complete
EXTRN	?Poked@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z:PROC ; nc_ScriptImpClass::Poked
EXTRN	?Entered@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z:PROC ; nc_ScriptImpClass::Entered
EXTRN	?Exited@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z:PROC ; nc_ScriptImpClass::Exited
EXTRN	?Owner@nc_ScriptImpClass@@UAEPAVnc_ScriptableGameObj@@XZ:PROC ; nc_ScriptImpClass::Owner
EXTRN	?Get_Owner_Ptr@nc_ScriptImpClass@@UAEPAPAVnc_ScriptableGameObj@@XZ:PROC ; nc_ScriptImpClass::Get_Owner_Ptr
EXTRN	?Set_Parameters_String@nc_ScriptImpClass@@UAEXPBD@Z:PROC ; nc_ScriptImpClass::Set_Parameters_String
EXTRN	?Get_Parameters_String@nc_ScriptImpClass@@UAEXPADI@Z:PROC ; nc_ScriptImpClass::Get_Parameters_String
EXTRN	?Save@nc_ScriptImpClass@@UAEXAAE@Z:PROC		; nc_ScriptImpClass::Save
EXTRN	?Load@nc_ScriptImpClass@@UAEXAAE@Z:PROC		; nc_ScriptImpClass::Load
EXTRN	?Save_Data@nc_ScriptImpClass@@UAEXAAE@Z:PROC	; nc_ScriptImpClass::Save_Data
EXTRN	?Load_Data@nc_ScriptImpClass@@UAEXAAE@Z:PROC	; nc_ScriptImpClass::Load_Data
EXTRN	?Register_Auto_Save_Variables@nc_ScriptImpClass@@UAEXXZ:PROC ; nc_ScriptImpClass::Register_Auto_Save_Variables
;	COMDAT ??_R2nc_GameObjObserverClass@@8
rdata$r	SEGMENT
??_R2nc_GameObjObserverClass@@8 DD FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8 ; nc_GameObjObserverClass::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3nc_GameObjObserverClass@@8
rdata$r	SEGMENT
??_R3nc_GameObjObserverClass@@8 DD 00H			; nc_GameObjObserverClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVnc_GameObjObserverClass@@@8
_DATA	SEGMENT
??_R0?AVnc_GameObjObserverClass@@@8 DD FLAT:??_7type_info@@6B@ ; nc_GameObjObserverClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVnc_GameObjObserverClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@nc_GameObjObserverClass@@8 DD FLAT:??_R0?AVnc_GameObjObserverClass@@@8 ; nc_GameObjObserverClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R2nc_ScriptClass@@8
rdata$r	SEGMENT
??_R2nc_ScriptClass@@8 DD FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8 ; nc_ScriptClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3nc_ScriptClass@@8
rdata$r	SEGMENT
??_R3nc_ScriptClass@@8 DD 00H				; nc_ScriptClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2nc_ScriptClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVnc_ScriptClass@@@8
_DATA	SEGMENT
??_R0?AVnc_ScriptClass@@@8 DD FLAT:??_7type_info@@6B@	; nc_ScriptClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVnc_ScriptClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@nc_ScriptClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@nc_ScriptClass@@8 DD FLAT:??_R0?AVnc_ScriptClass@@@8 ; nc_ScriptClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3nc_ScriptClass@@8
rdata$r	ENDS
;	COMDAT ??_R2nc_ScriptImpClass@@8
rdata$r	SEGMENT
??_R2nc_ScriptImpClass@@8 DD FLAT:??_R1A@?0A@EA@nc_ScriptImpClass@@8 ; nc_ScriptImpClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3nc_ScriptImpClass@@8
rdata$r	SEGMENT
??_R3nc_ScriptImpClass@@8 DD 00H			; nc_ScriptImpClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2nc_ScriptImpClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVnc_ScriptImpClass@@@8
_DATA	SEGMENT
??_R0?AVnc_ScriptImpClass@@@8 DD FLAT:??_7type_info@@6B@ ; nc_ScriptImpClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVnc_ScriptImpClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@nc_ScriptImpClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@nc_ScriptImpClass@@8 DD FLAT:??_R0?AVnc_ScriptImpClass@@@8 ; nc_ScriptImpClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3nc_ScriptImpClass@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzObserverVeteranBeacon@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzObserverVeteranBeacon@@8 DD FLAT:??_R0?AVgzObserverVeteranBeacon@@@8 ; gzObserverVeteranBeacon::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzObserverVeteranBeacon@@8
rdata$r	ENDS
;	COMDAT ??_R2gzObserverVeteranBeacon@@8
rdata$r	SEGMENT
??_R2gzObserverVeteranBeacon@@8 DD FLAT:??_R1A@?0A@EA@gzObserverVeteranBeacon@@8 ; gzObserverVeteranBeacon::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3gzObserverVeteranBeacon@@8
rdata$r	SEGMENT
??_R3gzObserverVeteranBeacon@@8 DD 00H			; gzObserverVeteranBeacon::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzObserverVeteranBeacon@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzObserverVeteranBeacon@@@8
_DATA	SEGMENT
??_R0?AVgzObserverVeteranBeacon@@@8 DD FLAT:??_7type_info@@6B@ ; gzObserverVeteranBeacon `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzObserverVeteranBeacon@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzObserverVeteranBeacon@@6B@
rdata$r	SEGMENT
??_R4gzObserverVeteranBeacon@@6B@ DD 00H		; gzObserverVeteranBeacon::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzObserverVeteranBeacon@@@8
	DD	FLAT:??_R3gzObserverVeteranBeacon@@8
rdata$r	ENDS
;	COMDAT ??_7gzObserverVeteranBeacon@@6B@
CONST	SEGMENT
??_7gzObserverVeteranBeacon@@6B@ DD FLAT:??_R4gzObserverVeteranBeacon@@6B@ ; gzObserverVeteranBeacon::`vftable'
	DD	FLAT:??_EgzObserverVeteranBeacon@@UAEPAXI@Z
	DD	FLAT:?Get_Name@nc_ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Detach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Created@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
	DD	FLAT:?Sound_Heard@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@ABUnc_CombatSound@@@Z
	DD	FLAT:?Enemy_Seen@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Action_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HW4nc_ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@H@Z
	DD	FLAT:?Animation_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@PBD@Z
	DD	FLAT:?Poked@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Entered@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Exited@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Owner@nc_ScriptImpClass@@UAEPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Get_Owner_Ptr@nc_ScriptImpClass@@UAEPAPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Set_Parameters_String@nc_ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@nc_ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@nc_ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzObserverVeteranBeacon@@QAE@XZ
_TEXT	SEGMENT
??0gzObserverVeteranBeacon@@QAE@XZ PROC			; gzObserverVeteranBeacon::gzObserverVeteranBeacon, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverVeteranBeacon@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzObserverVeteranBeacon@@QAE@XZ ENDP			; gzObserverVeteranBeacon::gzObserverVeteranBeacon
_TEXT	ENDS
PUBLIC	??_7gzObserverVeteranC4@@6B@			; gzObserverVeteranC4::`vftable'
PUBLIC	??0gzObserverVeteranC4@@QAE@XZ			; gzObserverVeteranC4::gzObserverVeteranC4
PUBLIC	??_R4gzObserverVeteranC4@@6B@			; gzObserverVeteranC4::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzObserverVeteranC4@@@8			; gzObserverVeteranC4 `RTTI Type Descriptor'
PUBLIC	??_R3gzObserverVeteranC4@@8			; gzObserverVeteranC4::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzObserverVeteranC4@@8			; gzObserverVeteranC4::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzObserverVeteranC4@@8		; gzObserverVeteranC4::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Killed@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0@Z ; gzObserverVeteranC4::Killed
EXTRN	??_EgzObserverVeteranC4@@UAEPAXI@Z:PROC		; gzObserverVeteranC4::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzObserverVeteranC4@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzObserverVeteranC4@@8 DD FLAT:??_R0?AVgzObserverVeteranC4@@@8 ; gzObserverVeteranC4::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzObserverVeteranC4@@8
rdata$r	ENDS
;	COMDAT ??_R2gzObserverVeteranC4@@8
rdata$r	SEGMENT
??_R2gzObserverVeteranC4@@8 DD FLAT:??_R1A@?0A@EA@gzObserverVeteranC4@@8 ; gzObserverVeteranC4::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3gzObserverVeteranC4@@8
rdata$r	SEGMENT
??_R3gzObserverVeteranC4@@8 DD 00H			; gzObserverVeteranC4::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzObserverVeteranC4@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzObserverVeteranC4@@@8
_DATA	SEGMENT
??_R0?AVgzObserverVeteranC4@@@8 DD FLAT:??_7type_info@@6B@ ; gzObserverVeteranC4 `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzObserverVeteranC4@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzObserverVeteranC4@@6B@
rdata$r	SEGMENT
??_R4gzObserverVeteranC4@@6B@ DD 00H			; gzObserverVeteranC4::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzObserverVeteranC4@@@8
	DD	FLAT:??_R3gzObserverVeteranC4@@8
rdata$r	ENDS
;	COMDAT ??_7gzObserverVeteranC4@@6B@
CONST	SEGMENT
??_7gzObserverVeteranC4@@6B@ DD FLAT:??_R4gzObserverVeteranC4@@6B@ ; gzObserverVeteranC4::`vftable'
	DD	FLAT:??_EgzObserverVeteranC4@@UAEPAXI@Z
	DD	FLAT:?Get_Name@nc_ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Detach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Created@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
	DD	FLAT:?Sound_Heard@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@ABUnc_CombatSound@@@Z
	DD	FLAT:?Enemy_Seen@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Action_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HW4nc_ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@H@Z
	DD	FLAT:?Animation_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@PBD@Z
	DD	FLAT:?Poked@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Entered@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Exited@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Owner@nc_ScriptImpClass@@UAEPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Get_Owner_Ptr@nc_ScriptImpClass@@UAEPAPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Set_Parameters_String@nc_ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@nc_ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@nc_ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzObserverVeteranC4@@QAE@XZ
_TEXT	SEGMENT
??0gzObserverVeteranC4@@QAE@XZ PROC			; gzObserverVeteranC4::gzObserverVeteranC4, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverVeteranC4@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzObserverVeteranC4@@QAE@XZ ENDP			; gzObserverVeteranC4::gzObserverVeteranC4
_TEXT	ENDS
PUBLIC	??_7gzObserverVeteranBuilding@@6B@		; gzObserverVeteranBuilding::`vftable'
PUBLIC	??0gzObserverVeteranBuilding@@QAE@XZ		; gzObserverVeteranBuilding::gzObserverVeteranBuilding
PUBLIC	??_R4gzObserverVeteranBuilding@@6B@		; gzObserverVeteranBuilding::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzObserverVeteranBuilding@@@8		; gzObserverVeteranBuilding `RTTI Type Descriptor'
PUBLIC	??_R3gzObserverVeteranBuilding@@8		; gzObserverVeteranBuilding::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzObserverVeteranBuilding@@8		; gzObserverVeteranBuilding::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzObserverVeteranBuilding@@8	; gzObserverVeteranBuilding::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Created@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserverVeteranBuilding::Created
PUBLIC	?Killed@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z ; gzObserverVeteranBuilding::Killed
PUBLIC	?Custom@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ; gzObserverVeteranBuilding::Custom
PUBLIC	?Timer_Expired@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@H@Z ; gzObserverVeteranBuilding::Timer_Expired
EXTRN	??_EgzObserverVeteranBuilding@@UAEPAXI@Z:PROC	; gzObserverVeteranBuilding::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzObserverVeteranBuilding@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzObserverVeteranBuilding@@8 DD FLAT:??_R0?AVgzObserverVeteranBuilding@@@8 ; gzObserverVeteranBuilding::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzObserverVeteranBuilding@@8
rdata$r	ENDS
;	COMDAT ??_R2gzObserverVeteranBuilding@@8
rdata$r	SEGMENT
??_R2gzObserverVeteranBuilding@@8 DD FLAT:??_R1A@?0A@EA@gzObserverVeteranBuilding@@8 ; gzObserverVeteranBuilding::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3gzObserverVeteranBuilding@@8
rdata$r	SEGMENT
??_R3gzObserverVeteranBuilding@@8 DD 00H		; gzObserverVeteranBuilding::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzObserverVeteranBuilding@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzObserverVeteranBuilding@@@8
_DATA	SEGMENT
??_R0?AVgzObserverVeteranBuilding@@@8 DD FLAT:??_7type_info@@6B@ ; gzObserverVeteranBuilding `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzObserverVeteranBuilding@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzObserverVeteranBuilding@@6B@
rdata$r	SEGMENT
??_R4gzObserverVeteranBuilding@@6B@ DD 00H		; gzObserverVeteranBuilding::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzObserverVeteranBuilding@@@8
	DD	FLAT:??_R3gzObserverVeteranBuilding@@8
rdata$r	ENDS
;	COMDAT ??_7gzObserverVeteranBuilding@@6B@
CONST	SEGMENT
??_7gzObserverVeteranBuilding@@6B@ DD FLAT:??_R4gzObserverVeteranBuilding@@6B@ ; gzObserverVeteranBuilding::`vftable'
	DD	FLAT:??_EgzObserverVeteranBuilding@@UAEPAXI@Z
	DD	FLAT:?Get_Name@nc_ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Detach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Created@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
	DD	FLAT:?Sound_Heard@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@ABUnc_CombatSound@@@Z
	DD	FLAT:?Enemy_Seen@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Action_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HW4nc_ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@H@Z
	DD	FLAT:?Animation_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@PBD@Z
	DD	FLAT:?Poked@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Entered@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Exited@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Owner@nc_ScriptImpClass@@UAEPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Get_Owner_Ptr@nc_ScriptImpClass@@UAEPAPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Set_Parameters_String@nc_ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@nc_ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@nc_ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzObserverVeteranBuilding@@QAE@XZ
_TEXT	SEGMENT
??0gzObserverVeteranBuilding@@QAE@XZ PROC		; gzObserverVeteranBuilding::gzObserverVeteranBuilding, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverVeteranBuilding@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzObserverVeteranBuilding@@QAE@XZ ENDP		; gzObserverVeteranBuilding::gzObserverVeteranBuilding
_TEXT	ENDS
PUBLIC	??_7gzObserverVeteranSoldier@@6B@		; gzObserverVeteranSoldier::`vftable'
PUBLIC	??0gzObserverVeteranSoldier@@QAE@XZ		; gzObserverVeteranSoldier::gzObserverVeteranSoldier
PUBLIC	??_R4gzObserverVeteranSoldier@@6B@		; gzObserverVeteranSoldier::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzObserverVeteranSoldier@@@8		; gzObserverVeteranSoldier `RTTI Type Descriptor'
PUBLIC	??_R3gzObserverVeteranSoldier@@8		; gzObserverVeteranSoldier::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzObserverVeteranSoldier@@8		; gzObserverVeteranSoldier::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzObserverVeteranSoldier@@8	; gzObserverVeteranSoldier::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Created@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserverVeteranSoldier::Created
PUBLIC	?Killed@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z ; gzObserverVeteranSoldier::Killed
PUBLIC	?Timer_Expired@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@H@Z ; gzObserverVeteranSoldier::Timer_Expired
EXTRN	??_EgzObserverVeteranSoldier@@UAEPAXI@Z:PROC	; gzObserverVeteranSoldier::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzObserverVeteranSoldier@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzObserverVeteranSoldier@@8 DD FLAT:??_R0?AVgzObserverVeteranSoldier@@@8 ; gzObserverVeteranSoldier::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzObserverVeteranSoldier@@8
rdata$r	ENDS
;	COMDAT ??_R2gzObserverVeteranSoldier@@8
rdata$r	SEGMENT
??_R2gzObserverVeteranSoldier@@8 DD FLAT:??_R1A@?0A@EA@gzObserverVeteranSoldier@@8 ; gzObserverVeteranSoldier::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3gzObserverVeteranSoldier@@8
rdata$r	SEGMENT
??_R3gzObserverVeteranSoldier@@8 DD 00H			; gzObserverVeteranSoldier::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzObserverVeteranSoldier@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzObserverVeteranSoldier@@@8
_DATA	SEGMENT
??_R0?AVgzObserverVeteranSoldier@@@8 DD FLAT:??_7type_info@@6B@ ; gzObserverVeteranSoldier `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzObserverVeteranSoldier@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzObserverVeteranSoldier@@6B@
rdata$r	SEGMENT
??_R4gzObserverVeteranSoldier@@6B@ DD 00H		; gzObserverVeteranSoldier::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzObserverVeteranSoldier@@@8
	DD	FLAT:??_R3gzObserverVeteranSoldier@@8
rdata$r	ENDS
;	COMDAT ??_7gzObserverVeteranSoldier@@6B@
CONST	SEGMENT
??_7gzObserverVeteranSoldier@@6B@ DD FLAT:??_R4gzObserverVeteranSoldier@@6B@ ; gzObserverVeteranSoldier::`vftable'
	DD	FLAT:??_EgzObserverVeteranSoldier@@UAEPAXI@Z
	DD	FLAT:?Get_Name@nc_ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Detach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Created@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
	DD	FLAT:?Sound_Heard@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@ABUnc_CombatSound@@@Z
	DD	FLAT:?Enemy_Seen@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Action_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HW4nc_ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@H@Z
	DD	FLAT:?Animation_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@PBD@Z
	DD	FLAT:?Poked@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Entered@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Exited@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Owner@nc_ScriptImpClass@@UAEPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Get_Owner_Ptr@nc_ScriptImpClass@@UAEPAPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Set_Parameters_String@nc_ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@nc_ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@nc_ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzObserverVeteranSoldier@@QAE@XZ
_TEXT	SEGMENT
??0gzObserverVeteranSoldier@@QAE@XZ PROC		; gzObserverVeteranSoldier::gzObserverVeteranSoldier, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverVeteranSoldier@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzObserverVeteranSoldier@@QAE@XZ ENDP		; gzObserverVeteranSoldier::gzObserverVeteranSoldier
_TEXT	ENDS
PUBLIC	??_7gzObserverVeteranVehicle@@6B@		; gzObserverVeteranVehicle::`vftable'
PUBLIC	??0gzObserverVeteranVehicle@@QAE@XZ		; gzObserverVeteranVehicle::gzObserverVeteranVehicle
PUBLIC	??_R4gzObserverVeteranVehicle@@6B@		; gzObserverVeteranVehicle::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzObserverVeteranVehicle@@@8		; gzObserverVeteranVehicle `RTTI Type Descriptor'
PUBLIC	??_R3gzObserverVeteranVehicle@@8		; gzObserverVeteranVehicle::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzObserverVeteranVehicle@@8		; gzObserverVeteranVehicle::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzObserverVeteranVehicle@@8	; gzObserverVeteranVehicle::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Created@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserverVeteranVehicle::Created
PUBLIC	?Killed@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z ; gzObserverVeteranVehicle::Killed
PUBLIC	?Custom@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ; gzObserverVeteranVehicle::Custom
PUBLIC	?Timer_Expired@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@H@Z ; gzObserverVeteranVehicle::Timer_Expired
EXTRN	??_EgzObserverVeteranVehicle@@UAEPAXI@Z:PROC	; gzObserverVeteranVehicle::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzObserverVeteranVehicle@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzObserverVeteranVehicle@@8 DD FLAT:??_R0?AVgzObserverVeteranVehicle@@@8 ; gzObserverVeteranVehicle::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzObserverVeteranVehicle@@8
rdata$r	ENDS
;	COMDAT ??_R2gzObserverVeteranVehicle@@8
rdata$r	SEGMENT
??_R2gzObserverVeteranVehicle@@8 DD FLAT:??_R1A@?0A@EA@gzObserverVeteranVehicle@@8 ; gzObserverVeteranVehicle::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptImpClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptClass@@8
	DD	FLAT:??_R1A@?0A@EA@nc_GameObjObserverClass@@8
rdata$r	ENDS
;	COMDAT ??_R3gzObserverVeteranVehicle@@8
rdata$r	SEGMENT
??_R3gzObserverVeteranVehicle@@8 DD 00H			; gzObserverVeteranVehicle::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzObserverVeteranVehicle@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzObserverVeteranVehicle@@@8
_DATA	SEGMENT
??_R0?AVgzObserverVeteranVehicle@@@8 DD FLAT:??_7type_info@@6B@ ; gzObserverVeteranVehicle `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzObserverVeteranVehicle@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzObserverVeteranVehicle@@6B@
rdata$r	SEGMENT
??_R4gzObserverVeteranVehicle@@6B@ DD 00H		; gzObserverVeteranVehicle::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzObserverVeteranVehicle@@@8
	DD	FLAT:??_R3gzObserverVeteranVehicle@@8
rdata$r	ENDS
;	COMDAT ??_7gzObserverVeteranVehicle@@6B@
CONST	SEGMENT
??_7gzObserverVeteranVehicle@@6B@ DD FLAT:??_R4gzObserverVeteranVehicle@@6B@ ; gzObserverVeteranVehicle::`vftable'
	DD	FLAT:??_EgzObserverVeteranVehicle@@UAEPAXI@Z
	DD	FLAT:?Get_Name@nc_ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Detach@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Created@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
	DD	FLAT:?Sound_Heard@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@ABUnc_CombatSound@@@Z
	DD	FLAT:?Enemy_Seen@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Action_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@HW4nc_ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@H@Z
	DD	FLAT:?Animation_Complete@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@PBD@Z
	DD	FLAT:?Poked@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Entered@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Exited@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Owner@nc_ScriptImpClass@@UAEPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Get_Owner_Ptr@nc_ScriptImpClass@@UAEPAPAVnc_ScriptableGameObj@@XZ
	DD	FLAT:?Set_Parameters_String@nc_ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@nc_ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@nc_ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@nc_ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzObserverVeteranVehicle@@QAE@XZ
_TEXT	SEGMENT
??0gzObserverVeteranVehicle@@QAE@XZ PROC		; gzObserverVeteranVehicle::gzObserverVeteranVehicle, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverVeteranVehicle@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzObserverVeteranVehicle@@QAE@XZ ENDP		; gzObserverVeteranVehicle::gzObserverVeteranVehicle
_TEXT	ENDS
PUBLIC	??1gzObserverVeteranBeacon@@UAE@XZ		; gzObserverVeteranBeacon::~gzObserverVeteranBeacon
EXTRN	??1nc_ScriptImpClass@@UAE@XZ:PROC		; nc_ScriptImpClass::~nc_ScriptImpClass
; Function compile flags: /Ogtpy
;	COMDAT ??1gzObserverVeteranBeacon@@UAE@XZ
_TEXT	SEGMENT
??1gzObserverVeteranBeacon@@UAE@XZ PROC			; gzObserverVeteranBeacon::~gzObserverVeteranBeacon, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzObserverVeteranBeacon@@UAE@XZ ENDP			; gzObserverVeteranBeacon::~gzObserverVeteranBeacon
_TEXT	ENDS
PUBLIC	??1gzObserverVeteranC4@@UAE@XZ			; gzObserverVeteranC4::~gzObserverVeteranC4
; Function compile flags: /Ogtpy
;	COMDAT ??1gzObserverVeteranC4@@UAE@XZ
_TEXT	SEGMENT
??1gzObserverVeteranC4@@UAE@XZ PROC			; gzObserverVeteranC4::~gzObserverVeteranC4, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzObserverVeteranC4@@UAE@XZ ENDP			; gzObserverVeteranC4::~gzObserverVeteranC4
_TEXT	ENDS
PUBLIC	??1gzObserverVeteranBuilding@@UAE@XZ		; gzObserverVeteranBuilding::~gzObserverVeteranBuilding
; Function compile flags: /Ogtpy
;	COMDAT ??1gzObserverVeteranBuilding@@UAE@XZ
_TEXT	SEGMENT
??1gzObserverVeteranBuilding@@UAE@XZ PROC		; gzObserverVeteranBuilding::~gzObserverVeteranBuilding, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzObserverVeteranBuilding@@UAE@XZ ENDP		; gzObserverVeteranBuilding::~gzObserverVeteranBuilding
_TEXT	ENDS
PUBLIC	??1gzObserverVeteranSoldier@@UAE@XZ		; gzObserverVeteranSoldier::~gzObserverVeteranSoldier
; Function compile flags: /Ogtpy
;	COMDAT ??1gzObserverVeteranSoldier@@UAE@XZ
_TEXT	SEGMENT
??1gzObserverVeteranSoldier@@UAE@XZ PROC		; gzObserverVeteranSoldier::~gzObserverVeteranSoldier, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzObserverVeteranSoldier@@UAE@XZ ENDP		; gzObserverVeteranSoldier::~gzObserverVeteranSoldier
_TEXT	ENDS
PUBLIC	??1gzObserverVeteranVehicle@@UAE@XZ		; gzObserverVeteranVehicle::~gzObserverVeteranVehicle
; Function compile flags: /Ogtpy
;	COMDAT ??1gzObserverVeteranVehicle@@UAE@XZ
_TEXT	SEGMENT
??1gzObserverVeteranVehicle@@UAE@XZ PROC		; gzObserverVeteranVehicle::~gzObserverVeteranVehicle, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzObserverVeteranVehicle@@UAE@XZ ENDP		; gzObserverVeteranVehicle::~gzObserverVeteranVehicle
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GaWideString@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GaWideString@@UAEPAXI@Z PROC				; aWideString::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@7
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@7:
	mov	eax, esi
	pop	esi
	ret	4
??_GaWideString@@UAEPAXI@Z ENDP				; aWideString::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_GgzVeteranLevelDefStruct@@QAEPAXI@Z		; gzVeteranLevelDefStruct::`scalar deleting destructor'
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzVeteranLevelDefStruct@@QAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzVeteranLevelDefStruct@@QAEPAXI@Z PROC		; gzVeteranLevelDefStruct::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN10@scalar@8
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN10@scalar@8:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzVeteranLevelDefStruct@@QAEPAXI@Z ENDP		; gzVeteranLevelDefStruct::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_GgzVeteranPointsDefStruct@@QAEPAXI@Z		; gzVeteranPointsDefStruct::`scalar deleting destructor'
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzVeteranPointsDefStruct@@QAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzVeteranPointsDefStruct@@QAEPAXI@Z PROC		; gzVeteranPointsDefStruct::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN10@scalar@9
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN10@scalar@9:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzVeteranPointsDefStruct@@QAEPAXI@Z ENDP		; gzVeteranPointsDefStruct::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0M@LIOAFELH@StealPoints?$AA@		; `string'
PUBLIC	??_C@_0O@NIAIHLAJ@SuicidePoints?$AA@		; `string'
PUBLIC	??_C@_0N@DFFIJHHN@RepairPoints?$AA@		; `string'
PUBLIC	??_C@_0O@HIJNFPAM@DestroyPoints?$AA@		; `string'
PUBLIC	??_C@_0N@PJGCLPGJ@DamagePoints?$AA@		; `string'
PUBLIC	??_C@_06CKLLCHIK@Preset?$AA@			; `string'
PUBLIC	??_C@_0FL@GPDFCFGO@?$FLVeteran?$FN?5Error?5?9?5Level?5definiti@ ; `string'
PUBLIC	??_C@_07JJGGFMH@Recruit?$AA@			; `string'
PUBLIC	??_C@_0GB@ELMFGIKN@?$FLVeteran?$FN?5Error?5?9?5IncreaseRequir@ ; `string'
PUBLIC	??_C@_0GI@HMKEEHFE@?$FLVeteran?$FN?5Error?5?9?5IncreaseRequir@ ; `string'
PUBLIC	??_C@_0HA@CNNEDOBC@?$FLVeteran?$FN?5Error?5?9?5IncreaseRequir@ ; `string'
PUBLIC	??_C@_0BC@MFINFMHM@CanPromoteByCrate?$AA@	; `string'
PUBLIC	??_C@_0CC@CLPLHOHK@IncreaseRequirementUsePromoteTim@ ; `string'
PUBLIC	??_C@_0BL@LDJOKJEH@IncreaseRequirementPercent?$AA@ ; `string'
PUBLIC	??_C@_0BM@JEEDAFBD@IncreaseRequirementInterval?$AA@ ; `string'
PUBLIC	??_C@_0BJ@MMEIADEM@IncreaseRequirementStart?$AA@ ; `string'
PUBLIC	??_C@_0BB@EFACNEGI@RequiredGameTime?$AA@	; `string'
PUBLIC	??_C@_0O@KHAAGCOC@RequiredScore?$AA@		; `string'
PUBLIC	??_C@_0P@IEPAKHCF@RequiredPoints?$AA@		; `string'
PUBLIC	??_C@_0BI@INBBJNJD@VehicleHealthRegenerate?$AA@	; `string'
PUBLIC	??_C@_0BI@DKLGIAOI@SoldierHealthRegenerate?$AA@	; `string'
PUBLIC	??_C@_08EIFFFPGC@Discount?$AA@			; `string'
PUBLIC	??_C@_06GGDALCBD@Health?$AA@			; `string'
PUBLIC	??_C@_05JOOFIMIN@Armor?$AA@			; `string'
PUBLIC	??_C@_0L@BMACCDKH@LevelEntry?$AA@		; `string'
PUBLIC	??_C@_0BA@BBACAHPN@C4_ProxyDestroy?$AA@		; `string'
PUBLIC	??_C@_0P@OJFBCNAK@C4_ProxyDamage?$AA@		; `string'
PUBLIC	??_C@_0BA@HLICDCCG@C4_TimedDestroy?$AA@		; `string'
PUBLIC	??_C@_0P@NJEEAEBL@C4_TimedDamage?$AA@		; `string'
PUBLIC	??_C@_0BB@HDHCGBF@C4_RemoteDestroy?$AA@		; `string'
PUBLIC	??_C@_06KANFALAM@Points?$AA@			; `string'
PUBLIC	??_C@_0BA@LALPIANF@C4_RemoteDamage?$AA@		; `string'
PUBLIC	??_C@_07ECEMPDJM@General?$AA@			; `string'
PUBLIC	??_C@_06CKGENIKG@Enable?$AA@			; `string'
PUBLIC	??_C@_0M@KAFKLNLB@Veteran?4ini?$AA@		; `string'
PUBLIC	??_C@_0BA@FIGKNDDO@?4?2gzveteran?4cpp?$AA@	; `string'
PUBLIC	?Load@gzSettingsVeteranClass@@UAEXXZ		; gzSettingsVeteranClass::Load
EXTRN	?Get_Next@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PAV2@KH@Z:PROC ; nc_DefinitionMgrClass::Get_Next
EXTRN	??8aString@@QAE_NABV0@@Z:PROC			; aString::operator==
EXTRN	?Get_First@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@KH@Z:PROC ; nc_DefinitionMgrClass::Get_First
EXTRN	?Out@gzConsole@@SAXPBDZZ:PROC			; gzConsole::Out
EXTRN	??4aString@@QAEAAV0@ABV0@@Z:PROC		; aString::operator=
EXTRN	??0aWideString@@QAE@ABVaString@@@Z:PROC		; aWideString::aWideString
EXTRN	??0aTextConfig@@QAE@ABVaString@@_N@Z:PROC	; aTextConfig::aTextConfig
EXTRN	??2@YAPAXI@Z:PROC				; operator new
;	COMDAT ??_C@_0M@LIOAFELH@StealPoints?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0M@LIOAFELH@StealPoints?$AA@ DB 'StealPoints', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@NIAIHLAJ@SuicidePoints?$AA@
CONST	SEGMENT
??_C@_0O@NIAIHLAJ@SuicidePoints?$AA@ DB 'SuicidePoints', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@DFFIJHHN@RepairPoints?$AA@
CONST	SEGMENT
??_C@_0N@DFFIJHHN@RepairPoints?$AA@ DB 'RepairPoints', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@HIJNFPAM@DestroyPoints?$AA@
CONST	SEGMENT
??_C@_0O@HIJNFPAM@DestroyPoints?$AA@ DB 'DestroyPoints', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@PJGCLPGJ@DamagePoints?$AA@
CONST	SEGMENT
??_C@_0N@PJGCLPGJ@DamagePoints?$AA@ DB 'DamagePoints', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_06CKLLCHIK@Preset?$AA@
CONST	SEGMENT
??_C@_06CKLLCHIK@Preset?$AA@ DB 'Preset', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0FL@GPDFCFGO@?$FLVeteran?$FN?5Error?5?9?5Level?5definiti@
CONST	SEGMENT
??_C@_0FL@GPDFCFGO@?$FLVeteran?$FN?5Error?5?9?5Level?5definiti@ DB '[Vete'
	DB	'ran] Error - Level definition "%s" not found. Halting level d'
	DB	'efinition collection...', 0aH, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07JJGGFMH@Recruit?$AA@
CONST	SEGMENT
??_C@_07JJGGFMH@Recruit?$AA@ DB 'Recruit', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0GB@ELMFGIKN@?$FLVeteran?$FN?5Error?5?9?5IncreaseRequir@
CONST	SEGMENT
??_C@_0GB@ELMFGIKN@?$FLVeteran?$FN?5Error?5?9?5IncreaseRequir@ DB '[Veter'
	DB	'an] Error - IncreaseRequirementPercent must be larger than ze'
	DB	'ro. It''s now being disabled.', 0aH, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0GI@HMKEEHFE@?$FLVeteran?$FN?5Error?5?9?5IncreaseRequir@
CONST	SEGMENT
??_C@_0GI@HMKEEHFE@?$FLVeteran?$FN?5Error?5?9?5IncreaseRequir@ DB '[Veter'
	DB	'an] Error - IncreaseRequirementInterval must be larger than z'
	DB	'ero. It''s now been set to 1 minute.', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0HA@CNNEDOBC@?$FLVeteran?$FN?5Error?5?9?5IncreaseRequir@
CONST	SEGMENT
??_C@_0HA@CNNEDOBC@?$FLVeteran?$FN?5Error?5?9?5IncreaseRequir@ DB '[Veter'
	DB	'an] Error - IncreaseRequirementStart can''t be lower than Req'
	DB	'uiredGameTime. It''s now set to %d minute(s).', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@MFINFMHM@CanPromoteByCrate?$AA@
CONST	SEGMENT
??_C@_0BC@MFINFMHM@CanPromoteByCrate?$AA@ DB 'CanPromoteByCrate', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CC@CLPLHOHK@IncreaseRequirementUsePromoteTim@
CONST	SEGMENT
??_C@_0CC@CLPLHOHK@IncreaseRequirementUsePromoteTim@ DB 'IncreaseRequirem'
	DB	'entUsePromoteTime', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BL@LDJOKJEH@IncreaseRequirementPercent?$AA@
CONST	SEGMENT
??_C@_0BL@LDJOKJEH@IncreaseRequirementPercent?$AA@ DB 'IncreaseRequiremen'
	DB	'tPercent', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BM@JEEDAFBD@IncreaseRequirementInterval?$AA@
CONST	SEGMENT
??_C@_0BM@JEEDAFBD@IncreaseRequirementInterval?$AA@ DB 'IncreaseRequireme'
	DB	'ntInterval', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BJ@MMEIADEM@IncreaseRequirementStart?$AA@
CONST	SEGMENT
??_C@_0BJ@MMEIADEM@IncreaseRequirementStart?$AA@ DB 'IncreaseRequirementS'
	DB	'tart', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@EFACNEGI@RequiredGameTime?$AA@
CONST	SEGMENT
??_C@_0BB@EFACNEGI@RequiredGameTime?$AA@ DB 'RequiredGameTime', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@KHAAGCOC@RequiredScore?$AA@
CONST	SEGMENT
??_C@_0O@KHAAGCOC@RequiredScore?$AA@ DB 'RequiredScore', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@IEPAKHCF@RequiredPoints?$AA@
CONST	SEGMENT
??_C@_0P@IEPAKHCF@RequiredPoints?$AA@ DB 'RequiredPoints', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@INBBJNJD@VehicleHealthRegenerate?$AA@
CONST	SEGMENT
??_C@_0BI@INBBJNJD@VehicleHealthRegenerate?$AA@ DB 'VehicleHealthRegenera'
	DB	'te', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@DKLGIAOI@SoldierHealthRegenerate?$AA@
CONST	SEGMENT
??_C@_0BI@DKLGIAOI@SoldierHealthRegenerate?$AA@ DB 'SoldierHealthRegenera'
	DB	'te', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_08EIFFFPGC@Discount?$AA@
CONST	SEGMENT
??_C@_08EIFFFPGC@Discount?$AA@ DB 'Discount', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_06GGDALCBD@Health?$AA@
CONST	SEGMENT
??_C@_06GGDALCBD@Health?$AA@ DB 'Health', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_05JOOFIMIN@Armor?$AA@
CONST	SEGMENT
??_C@_05JOOFIMIN@Armor?$AA@ DB 'Armor', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@BMACCDKH@LevelEntry?$AA@
CONST	SEGMENT
??_C@_0L@BMACCDKH@LevelEntry?$AA@ DB 'LevelEntry', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@BBACAHPN@C4_ProxyDestroy?$AA@
CONST	SEGMENT
??_C@_0BA@BBACAHPN@C4_ProxyDestroy?$AA@ DB 'C4_ProxyDestroy', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@OJFBCNAK@C4_ProxyDamage?$AA@
CONST	SEGMENT
??_C@_0P@OJFBCNAK@C4_ProxyDamage?$AA@ DB 'C4_ProxyDamage', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@HLICDCCG@C4_TimedDestroy?$AA@
CONST	SEGMENT
??_C@_0BA@HLICDCCG@C4_TimedDestroy?$AA@ DB 'C4_TimedDestroy', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@NJEEAEBL@C4_TimedDamage?$AA@
CONST	SEGMENT
??_C@_0P@NJEEAEBL@C4_TimedDamage?$AA@ DB 'C4_TimedDamage', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@HDHCGBF@C4_RemoteDestroy?$AA@
CONST	SEGMENT
??_C@_0BB@HDHCGBF@C4_RemoteDestroy?$AA@ DB 'C4_RemoteDestroy', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_06KANFALAM@Points?$AA@
CONST	SEGMENT
??_C@_06KANFALAM@Points?$AA@ DB 'Points', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@LALPIANF@C4_RemoteDamage?$AA@
CONST	SEGMENT
??_C@_0BA@LALPIANF@C4_RemoteDamage?$AA@ DB 'C4_RemoteDamage', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_07ECEMPDJM@General?$AA@
CONST	SEGMENT
??_C@_07ECEMPDJM@General?$AA@ DB 'General', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_06CKGENIKG@Enable?$AA@
CONST	SEGMENT
??_C@_06CKGENIKG@Enable?$AA@ DB 'Enable', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@KAFKLNLB@Veteran?4ini?$AA@
CONST	SEGMENT
??_C@_0M@KAFKLNLB@Veteran?4ini?$AA@ DB 'Veteran.ini', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@FIGKNDDO@?4?2gzveteran?4cpp?$AA@
CONST	SEGMENT
??_C@_0BA@FIGKNDDO@?4?2gzveteran?4cpp?$AA@ DB '.\gzveteran.cpp', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Load@gzSettingsVeteranClass@@UAEXXZ DD 019930522H
	DD	0aH
	DD	FLAT:__unwindtable$?Load@gzSettingsVeteranClass@@UAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Load@gzSettingsVeteranClass@@UAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$1
	DD	00H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$3
	DD	03H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$4
	DD	03H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$5
	DD	03H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$6
	DD	03H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$7
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$8
	DD	08H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$9
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
xdata$x	ENDS
;	COMDAT ?Load@gzSettingsVeteranClass@@UAEXXZ
_TEXT	SEGMENT
$T67296 = -96						; size = 4
_i$58087 = -96						; size = 4
_data$58057 = -96					; size = 4
_points$58110 = -92					; size = 4
_data$58045 = -92					; size = 4
_preset$58100 = -88					; size = 4
_i$58036 = -88						; size = 4
tv995 = -84						; size = 4
$T67275 = -84						; size = 4
$T67266 = -84						; size = 4
$T67259 = -84						; size = 4
$T67284 = -80						; size = 4
_entry$58040 = -80					; size = 8
$T67260 = -80						; size = 8
_entry$58096 = -72					; size = 8
$T67273 = -72						; size = 8
$T67271 = -72						; size = 8
_Type$58082 = -64					; size = 48
__$EHRec$ = -12						; size = 12
?Load@gzSettingsVeteranClass@@UAEXXZ PROC		; gzSettingsVeteranClass::Load, COMDAT
; _this$ = ecx

; 27   : {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?Load@gzSettingsVeteranClass@@UAEXXZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 84					; 00000054H
	push	ebx
	push	ebp
	push	esi
	mov	esi, ecx
	xor	ebx, ebx

; 28   : 	this->Delete();

	mov	DWORD PTR $T67296[esp+108], ebx
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax]
	push	edi
	xor	ebp, ebp
	call	edx

; 29   : 
; 30   : 	this->m_cfg = new aTextConfig("Veteran.ini");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	30					; 0000001eH
	push	OFFSET ??_C@_0BA@FIGKNDDO@?4?2gzveteran?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	52					; 00000034H
	call	??2@YAPAXI@Z				; operator new
	mov	edi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T67259[esp+112], edi
	cmp	edi, ebp
	mov	DWORD PTR __$EHRec$[esp+120], ebp
	je	SHORT $LN27@Load
	push	OFFSET ??_C@_0M@KAFKLNLB@Veteran?4ini?$AA@
	lea	ecx, DWORD PTR $T67260[esp+116]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	ebp
	lea	eax, DWORD PTR $T67260[esp+116]
	mov	ebx, 1
	push	eax
	mov	ecx, edi
	mov	BYTE PTR __$EHRec$[esp+128], 1
	mov	DWORD PTR $T67296[esp+120], ebx
	call	??0aTextConfig@@QAE@ABVaString@@_N@Z	; aTextConfig::aTextConfig
	jmp	SHORT $LN28@Load
$LN27@Load:
	xor	eax, eax
$LN28@Load:
	test	bl, 1
	mov	DWORD PTR [esi+12], eax
	mov	DWORD PTR __$EHRec$[esp+120], -1
	je	SHORT $LN52@Load
	lea	ecx, DWORD PTR $T67260[esp+112]
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN52@Load:

; 31   : 	if (this->m_cfg->IsLoaded())

	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+8]
	call	eax
	test	al, al
	je	$LN24@Load

; 32   : 	{
; 33   : 		this->m_enable			= this->Load_Bool("General", "Enable", false);

	push	ebp
	push	OFFSET ??_C@_06CKGENIKG@Enable?$AA@
	push	OFFSET ??_C@_07ECEMPDJM@General?$AA@
	mov	ecx, esi
	call	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ; stSettingsBase::Load_Bool

; 34   : 		this->m_c4Points[0][0]	= this->Load_Float("Points", "C4_RemoteDamage", 0.0f);

	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	push	OFFSET ??_C@_0BA@LALPIANF@C4_RemoteDamage?$AA@
	push	OFFSET ??_C@_06KANFALAM@Points?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+24], al
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	fstp	DWORD PTR [esi+28]

; 35   : 		this->m_c4Points[0][1]	= this->Load_Float("Points", "C4_RemoteDestroy", 0.0f);

	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_0BB@HDHCGBF@C4_RemoteDestroy?$AA@
	push	OFFSET ??_C@_06KANFALAM@Points?$AA@
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	fstp	DWORD PTR [esi+32]

; 36   : 		this->m_c4Points[1][0]	= this->Load_Float("Points", "C4_TimedDamage", 0.0f);

	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_0P@NJEEAEBL@C4_TimedDamage?$AA@
	push	OFFSET ??_C@_06KANFALAM@Points?$AA@
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	fstp	DWORD PTR [esi+36]

; 37   : 		this->m_c4Points[1][1]	= this->Load_Float("Points", "C4_TimedDestroy", 0.0f);

	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_0BA@HLICDCCG@C4_TimedDestroy?$AA@
	push	OFFSET ??_C@_06KANFALAM@Points?$AA@
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	fstp	DWORD PTR [esi+40]

; 38   : 		this->m_c4Points[2][0]	= this->Load_Float("Points", "C4_ProxyDamage", 0.0f);

	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_0P@OJFBCNAK@C4_ProxyDamage?$AA@
	push	OFFSET ??_C@_06KANFALAM@Points?$AA@
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	fstp	DWORD PTR [esi+44]

; 39   : 		this->m_c4Points[2][1]	= this->Load_Float("Points", "C4_ProxyDestroy", 0.0f);

	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_0BA@BBACAHPN@C4_ProxyDestroy?$AA@
	push	OFFSET ??_C@_06KANFALAM@Points?$AA@
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	fstp	DWORD PTR [esi+48]
$LN24@Load:

; 40   : 	}
; 41   : 
; 42   : 	if (this->m_enable)

	cmp	BYTE PTR [esi+24], 0
	je	$LN9@Load

; 43   : 	{
; 44   : 		// Level definitions
; 45   : 		for (int i = 0; ; i++)

	mov	DWORD PTR _i$58036[esp+112], ebp
$LL22@Load:

; 46   : 		{
; 47   : 			aString entry = this->Load_String(entry.GetString(), "LevelEntry", "");

	mov	eax, DWORD PTR _entry$58040[esp+116]
	cmp	eax, ebp
	je	SHORT $LN65@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN66@Load
$LN65@Load:
	xor	eax, eax
$LN66@Load:
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0L@BMACCDKH@LevelEntry?$AA@
	push	eax
	lea	ecx, DWORD PTR _entry$58040[esp+124]
	push	ecx
	mov	ecx, esi
	call	?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z ; stSettingsBase::Load_String

; 48   : 			if (entry.IsEmpty())

	mov	eax, DWORD PTR _entry$58040[esp+116]
	cmp	eax, ebp
	mov	DWORD PTR __$EHRec$[esp+120], 3
	je	$LN71@Load
	cmp	DWORD PTR [eax+4], ebp
	je	$LN71@Load
	cmp	DWORD PTR [eax], ebp
	je	$LN71@Load

; 71   : 			}
; 72   : 			else
; 73   : 			{
; 74   : 				if (this->m_cfg->GetSubCount(entry) == 0)

	lea	edx, DWORD PTR _entry$58040[esp+112]
	push	edx
	lea	ecx, DWORD PTR $T67273[esp+116]
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+28]
	lea	edx, DWORD PTR $T67273[esp+112]
	push	edx
	mov	BYTE PTR __$EHRec$[esp+124], 6
	call	eax
	test	eax, eax
	lea	ecx, DWORD PTR $T67273[esp+112]
	sete	bl
	mov	BYTE PTR __$EHRec$[esp+120], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	$LN239@Load

; 79   : 				}
; 80   : 			}
; 81   : 
; 82   : 			gzVeteranLevelDefStruct *data			= new gzVeteranLevelDefStruct;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	82					; 00000052H
	push	OFFSET ??_C@_0BA@FIGKNDDO@?4?2gzveteran?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	60					; 0000003cH
	call	??2@YAPAXI@Z				; operator new
	mov	edi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T67275[esp+112], edi
	cmp	edi, ebp
	mov	BYTE PTR __$EHRec$[esp+120], 7
	je	SHORT $LN35@Load
	mov	ecx, edi
	call	??0aString@@QAE@XZ			; aString::aString
	mov	ecx, edi
	jmp	SHORT $LN36@Load
$LN35@Load:
	xor	ecx, ecx
$LN36@Load:

; 83   : 			data->Name								= entry;

	lea	edx, DWORD PTR _entry$58040[esp+112]
	push	edx
	mov	BYTE PTR __$EHRec$[esp+124], 3
	mov	DWORD PTR _data$58057[esp+116], ecx
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=

; 84   : 			data->Level								= i;

	mov	eax, DWORD PTR _data$58057[esp+112]
	mov	ebx, DWORD PTR _i$58036[esp+112]
	mov	DWORD PTR [eax+8], ebx

; 85   : 			data->AddArmor							= this->Load_Float(entry.GetString(), "Armor", 0.0f);

	mov	eax, DWORD PTR _entry$58040[esp+116]
	cmp	eax, ebp
	je	SHORT $LN105@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN106@Load
$LN105@Load:
	xor	eax, eax
$LN106@Load:
	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_05JOOFIMIN@Armor?$AA@
	push	eax
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	mov	ecx, DWORD PTR _data$58057[esp+112]
	fstp	DWORD PTR [ecx+16]

; 86   : 			data->AddHealth							= this->Load_Float(entry.GetString(), "Health", 0.0f);

	mov	eax, DWORD PTR _entry$58040[esp+116]
	cmp	eax, ebp
	je	SHORT $LN111@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN112@Load
$LN111@Load:
	xor	eax, eax
$LN112@Load:
	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_06GGDALCBD@Health?$AA@
	push	eax
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	mov	edx, DWORD PTR _data$58057[esp+112]
	fstp	DWORD PTR [edx+12]

; 87   : 			data->Discount							= this->Load_Float(entry.GetString(), "Discount", 0.0f);

	mov	eax, DWORD PTR _entry$58040[esp+116]
	cmp	eax, ebp
	je	SHORT $LN117@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN118@Load
$LN117@Load:
	xor	eax, eax
$LN118@Load:
	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_08EIFFFPGC@Discount?$AA@
	push	eax
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	mov	eax, DWORD PTR _data$58057[esp+112]
	fstp	DWORD PTR [eax+20]

; 88   : 			data->SoldierHealthRegeneration			= this->Load_Float(entry.GetString(), "SoldierHealthRegenerate", 0.0f);

	mov	eax, DWORD PTR _entry$58040[esp+116]
	cmp	eax, ebp
	je	SHORT $LN123@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN124@Load
$LN123@Load:
	xor	eax, eax
$LN124@Load:
	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_0BI@DKLGIAOI@SoldierHealthRegenerate?$AA@
	push	eax
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	mov	ecx, DWORD PTR _data$58057[esp+112]
	fstp	DWORD PTR [ecx+24]

; 89   : 			data->VehicleHealthRegeneration			= this->Load_Float(entry.GetString(), "VehicleHealthRegenerate", 0.0f);

	mov	eax, DWORD PTR _entry$58040[esp+116]
	cmp	eax, ebp
	je	SHORT $LN129@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN130@Load
$LN129@Load:
	xor	eax, eax
$LN130@Load:
	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_0BI@INBBJNJD@VehicleHealthRegenerate?$AA@
	push	eax
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	mov	edx, DWORD PTR _data$58057[esp+112]
	fstp	DWORD PTR [edx+28]

; 90   : 			data->RequiredPoints					= this->Load_Float(entry.GetString(), "RequiredPoints", 0.0f);

	mov	eax, DWORD PTR _entry$58040[esp+116]
	cmp	eax, ebp
	je	SHORT $LN135@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN136@Load
$LN135@Load:
	xor	eax, eax
$LN136@Load:
	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_0P@IEPAKHCF@RequiredPoints?$AA@
	push	eax
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	mov	eax, DWORD PTR _data$58057[esp+112]
	fstp	DWORD PTR [eax+32]

; 91   : 			data->RequiredScore						= this->Load_Float(entry.GetString(), "RequiredScore", 0.0f);

	mov	eax, DWORD PTR _entry$58040[esp+116]
	cmp	eax, ebp
	je	SHORT $LN141@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN142@Load
$LN141@Load:
	xor	eax, eax
$LN142@Load:
	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_0O@KHAAGCOC@RequiredScore?$AA@
	push	eax
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	mov	ecx, DWORD PTR _data$58057[esp+112]
	fstp	DWORD PTR [ecx+36]

; 92   : 			data->RequiredGameTime					= this->Load_Int(entry.GetString(), "RequiredGameTime", 0) * 60;

	mov	eax, DWORD PTR _entry$58040[esp+116]
	cmp	eax, ebp
	je	SHORT $LN147@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN148@Load
$LN147@Load:
	xor	eax, eax
$LN148@Load:
	push	ebp
	push	OFFSET ??_C@_0BB@EFACNEGI@RequiredGameTime?$AA@
	push	eax
	mov	ecx, esi
	call	?Load_Int@stSettingsBase@@IAEHPBD0H@Z	; stSettingsBase::Load_Int
	mov	edx, eax
	shl	edx, 4
	sub	edx, eax
	mov	eax, DWORD PTR _data$58057[esp+112]
	add	edx, edx
	add	edx, edx
	mov	DWORD PTR [eax+40], edx

; 93   : 			data->IncreaseRequirementStart			= this->Load_Int(entry.GetString(), "IncreaseRequirementStart", 0) * 60;

	mov	eax, DWORD PTR _entry$58040[esp+116]
	cmp	eax, ebp
	je	SHORT $LN153@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN154@Load
$LN153@Load:
	xor	eax, eax
$LN154@Load:
	push	ebp
	push	OFFSET ??_C@_0BJ@MMEIADEM@IncreaseRequirementStart?$AA@
	push	eax
	mov	ecx, esi
	call	?Load_Int@stSettingsBase@@IAEHPBD0H@Z	; stSettingsBase::Load_Int
	mov	edx, DWORD PTR _data$58057[esp+112]
	mov	ecx, eax
	shl	ecx, 4
	sub	ecx, eax
	add	ecx, ecx
	add	ecx, ecx
	mov	DWORD PTR [edx+44], ecx

; 94   : 			data->IncreaseRequirementInterval		= this->Load_Int(entry.GetString(), "IncreaseRequirementInterval", 1) * 60;

	mov	eax, DWORD PTR _entry$58040[esp+116]
	cmp	eax, ebp
	je	SHORT $LN159@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN160@Load
$LN159@Load:
	xor	eax, eax
$LN160@Load:
	mov	edi, 1
	push	edi
	push	OFFSET ??_C@_0BM@JEEDAFBD@IncreaseRequirementInterval?$AA@
	push	eax
	mov	ecx, esi
	call	?Load_Int@stSettingsBase@@IAEHPBD0H@Z	; stSettingsBase::Load_Int
	mov	edx, DWORD PTR _data$58057[esp+112]
	mov	ecx, eax
	shl	ecx, 4
	sub	ecx, eax
	add	ecx, ecx
	add	ecx, ecx
	mov	DWORD PTR [edx+48], ecx

; 95   : 			data->IncreaseRequirementPercent		= this->Load_Float(entry.GetString(), "IncreaseRequirementPercent", 0.0f);

	mov	eax, DWORD PTR _entry$58040[esp+116]
	cmp	eax, ebp
	je	SHORT $LN165@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN166@Load
$LN165@Load:
	xor	eax, eax
$LN166@Load:
	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_0BL@LDJOKJEH@IncreaseRequirementPercent?$AA@
	push	eax
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	mov	eax, DWORD PTR _data$58057[esp+112]
	fstp	DWORD PTR [eax+52]

; 96   : 			data->IncreaseRequirementUsePromoteTime	= this->Load_Bool(entry.GetString(), "IncreaseRequirementUsePromoteTime", true);

	mov	eax, DWORD PTR _entry$58040[esp+116]
	cmp	eax, ebp
	je	SHORT $LN171@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN172@Load
$LN171@Load:
	xor	eax, eax
$LN172@Load:
	push	edi
	push	OFFSET ??_C@_0CC@CLPLHOHK@IncreaseRequirementUsePromoteTim@
	push	eax
	mov	ecx, esi
	call	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ; stSettingsBase::Load_Bool
	mov	ecx, DWORD PTR _data$58057[esp+112]
	mov	BYTE PTR [ecx+56], al

; 97   : 			data->CanPromoteByCrate					= this->Load_Bool(entry.GetString(), "CanPromoteByCrate", true);

	mov	eax, DWORD PTR _entry$58040[esp+116]
	cmp	eax, ebp
	je	SHORT $LN177@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN178@Load
$LN177@Load:
	xor	eax, eax
$LN178@Load:
	push	edi
	push	OFFSET ??_C@_0BC@MFINFMHM@CanPromoteByCrate?$AA@
	push	eax
	mov	ecx, esi
	call	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ; stSettingsBase::Load_Bool

; 98   : 			if (i > 0) // Not the start level

	cmp	ebx, ebp
	mov	edx, DWORD PTR _data$58057[esp+112]
	mov	BYTE PTR [edx+57], al
	jle	SHORT $LN12@Load

; 99   : 			{
; 100  : 				if (data->IncreaseRequirementStart > 0 && data->IncreaseRequirementStart < data->RequiredGameTime)

	mov	ecx, DWORD PTR _data$58057[esp+112]
	mov	edx, DWORD PTR [ecx+44]
	cmp	edx, ebp
	jbe	SHORT $LN14@Load
	mov	eax, DWORD PTR [ecx+40]
	cmp	edx, eax
	jae	SHORT $LN14@Load

; 101  : 				{
; 102  : 					data->IncreaseRequirementStart = data->RequiredGameTime;

	mov	DWORD PTR [ecx+44], eax

; 103  : 					gzConsole::Out("[Veteran] Error - IncreaseRequirementStart can't be lower than RequiredGameTime. It's now set to %d minute(s).\n",data->IncreaseRequirementStart);

	mov	eax, DWORD PTR _data$58057[esp+112]
	mov	ecx, DWORD PTR [eax+44]
	push	ecx
	push	OFFSET ??_C@_0HA@CNNEDOBC@?$FLVeteran?$FN?5Error?5?9?5IncreaseRequir@
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out
	mov	ecx, DWORD PTR _data$58057[esp+120]
	add	esp, 8
$LN14@Load:

; 104  : 				}
; 105  : 				if (data->IncreaseRequirementInterval < 1)

	cmp	DWORD PTR [ecx+48], edi
	jae	SHORT $LN13@Load

; 106  : 				{
; 107  : 					data->IncreaseRequirementInterval = 1;
; 108  : 					gzConsole::Out("[Veteran] Error - IncreaseRequirementInterval must be larger than zero. It's now been set to 1 minute.\n");

	push	OFFSET ??_C@_0GI@HMKEEHFE@?$FLVeteran?$FN?5Error?5?9?5IncreaseRequir@
	mov	DWORD PTR [ecx+48], edi
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out
	mov	ecx, DWORD PTR _data$58057[esp+116]
	add	esp, 4
$LN13@Load:

; 109  : 				}
; 110  : 				if (data->IncreaseRequirementPercent < 0.0f)

	fldz
	fcom	DWORD PTR [ecx+52]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN250@Load

; 111  : 				{
; 112  : 					data->IncreaseRequirementPercent = 0.0f;
; 113  : 					gzConsole::Out("[Veteran] Error - IncreaseRequirementPercent must be larger than zero. It's now being disabled.\n");

	push	OFFSET ??_C@_0GB@ELMFGIKN@?$FLVeteran?$FN?5Error?5?9?5IncreaseRequir@
	fstp	DWORD PTR [ecx+52]
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out
	add	esp, 4
	jmp	SHORT $LN12@Load
$LN250@Load:
	fstp	ST(0)
$LN12@Load:

; 114  : 				}
; 115  : 			}
; 116  : 			this->m_level.Add(data);

	mov	edx, DWORD PTR [esi+72]
	mov	edx, DWORD PTR [edx+12]
	lea	ecx, DWORD PTR [esi+72]
	lea	eax, DWORD PTR _data$58057[esp+112]
	push	eax
	call	edx

; 117  : 		}

	lea	ecx, DWORD PTR _entry$58040[esp+112]
	mov	DWORD PTR __$EHRec$[esp+120], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	add	ebx, edi
	mov	DWORD PTR _i$58036[esp+112], ebx
	jmp	$LL22@Load

; 48   : 			if (entry.IsEmpty())

$LN71@Load:

; 49   : 			{
; 50   : 				if (i == 0)

	cmp	DWORD PTR _i$58036[esp+112], ebp
	jne	$LN18@Load

; 51   : 				{
; 52   : 					gzVeteranLevelDefStruct *data			= new gzVeteranLevelDefStruct;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	52					; 00000034H
	push	OFFSET ??_C@_0BA@FIGKNDDO@?4?2gzveteran?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	60					; 0000003cH
	call	??2@YAPAXI@Z				; operator new
	mov	edi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T67266[esp+112], edi
	cmp	edi, ebp
	mov	BYTE PTR __$EHRec$[esp+120], 4
	je	SHORT $LN31@Load
	mov	ecx, edi
	call	??0aString@@QAE@XZ			; aString::aString
	mov	eax, edi
	jmp	SHORT $LN32@Load
$LN31@Load:
	xor	eax, eax
$LN32@Load:

; 53   : 					data->AddArmor							= 0.0f;

	fldz
	mov	DWORD PTR _data$58045[esp+112], eax
	fst	DWORD PTR [eax+16]

; 54   : 					data->AddHealth							= 0.0f;
; 55   : 					data->Discount							= 0.0f;
; 56   : 					data->Level								= 0;
; 57   : 					data->Name								= "Recruit";

	push	OFFSET ??_C@_07JJGGFMH@Recruit?$AA@
	mov	eax, DWORD PTR _data$58045[esp+116]
	fst	DWORD PTR [eax+12]
	mov	ecx, DWORD PTR _data$58045[esp+116]
	fstp	DWORD PTR [ecx+20]
	mov	edx, DWORD PTR _data$58045[esp+116]
	lea	ecx, DWORD PTR $T67271[esp+116]
	mov	BYTE PTR __$EHRec$[esp+124], 3
	mov	DWORD PTR [edx+8], ebp
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR _data$58045[esp+112]
	lea	eax, DWORD PTR $T67271[esp+112]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+124], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T67271[esp+112]
	mov	BYTE PTR __$EHRec$[esp+120], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 58   : 					data->RequiredGameTime					= 0;
; 59   : 					data->RequiredPoints					= 0.0f;

	fldz
	mov	ecx, DWORD PTR _data$58045[esp+112]
	mov	DWORD PTR [ecx+40], ebp
	mov	edx, DWORD PTR _data$58045[esp+112]
	fst	DWORD PTR [edx+32]

; 60   : 					data->RequiredScore						= 0.0f;

	mov	eax, DWORD PTR _data$58045[esp+112]
	fst	DWORD PTR [eax+36]

; 61   : 					data->SoldierHealthRegeneration			= 0.0f;

	mov	ecx, DWORD PTR _data$58045[esp+112]
	fst	DWORD PTR [ecx+24]

; 62   : 					data->VehicleHealthRegeneration			= 0.0f;

	mov	edx, DWORD PTR _data$58045[esp+112]
	fst	DWORD PTR [edx+28]

; 63   : 					data->IncreaseRequirementStart			= 0;

	mov	eax, DWORD PTR _data$58045[esp+112]
	mov	DWORD PTR [eax+44], ebp

; 64   : 					data->IncreaseRequirementInterval		= 0;

	mov	ecx, DWORD PTR _data$58045[esp+112]
	mov	DWORD PTR [ecx+48], ebp

; 65   : 					data->IncreaseRequirementPercent		= 0.0f;

	mov	edx, DWORD PTR _data$58045[esp+112]
	fstp	DWORD PTR [edx+52]

; 66   : 					data->IncreaseRequirementUsePromoteTime	= false;

	mov	eax, DWORD PTR _data$58045[esp+112]
	mov	BYTE PTR [eax+56], 0

; 67   : 					data->CanPromoteByCrate					= true;

	mov	ecx, DWORD PTR _data$58045[esp+112]
	mov	BYTE PTR [ecx+57], 1

; 68   : 					this->m_level.Add(data);

	mov	edx, DWORD PTR [esi+72]
	mov	edx, DWORD PTR [edx+12]
	lea	ecx, DWORD PTR [esi+72]
	lea	eax, DWORD PTR _data$58045[esp+112]
	push	eax
	call	edx

; 69   : 				}
; 70   : 				break;

	jmp	SHORT $LN18@Load
$LN239@Load:

; 75   : 				{
; 76   : 					gzConsole::Out("[Veteran] Error - Level definition \"%s\" not found. Halting level definition collection...\n", entry.GetString());

	mov	eax, DWORD PTR _entry$58040[esp+116]
	cmp	eax, ebp
	je	SHORT $LN91@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN92@Load
$LN91@Load:
	xor	eax, eax
$LN92@Load:
	push	eax
	push	OFFSET ??_C@_0FL@GPDFCFGO@?$FLVeteran?$FN?5Error?5?9?5Level?5definiti@
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out
	add	esp, 8

; 77   : 					entry.Free_String();

	lea	ecx, DWORD PTR _entry$58040[esp+112]
	call	?Clear@aStringBase@@QAEXXZ		; aStringBase::Clear
$LN18@Load:

; 78   : 					break;

	lea	ecx, DWORD PTR _entry$58040[esp+112]
	mov	DWORD PTR __$EHRec$[esp+120], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 118  : 
; 119  : 		// Preset definitions
; 120  : 		unsigned long Type[] = { 0x3001, 0x3010, 0x3016, 0xD001, 0xD002, 0xD003, 0xD004, 0xD005, 0xD006, 0xD007, 0xD008, 0xD009 };

	mov	DWORD PTR _Type$58082[esp+112], 12289	; 00003001H
	mov	DWORD PTR _Type$58082[esp+116], 12304	; 00003010H
	mov	DWORD PTR _Type$58082[esp+120], 12310	; 00003016H
	mov	DWORD PTR _Type$58082[esp+124], 53249	; 0000d001H
	mov	DWORD PTR _Type$58082[esp+128], 53250	; 0000d002H
	mov	DWORD PTR _Type$58082[esp+132], 53251	; 0000d003H
	mov	DWORD PTR _Type$58082[esp+136], 53252	; 0000d004H
	mov	DWORD PTR _Type$58082[esp+140], 53253	; 0000d005H
	mov	DWORD PTR _Type$58082[esp+144], 53254	; 0000d006H
	mov	DWORD PTR _Type$58082[esp+148], 53255	; 0000d007H
	mov	DWORD PTR _Type$58082[esp+152], 53256	; 0000d008H
	mov	DWORD PTR _Type$58082[esp+156], 53257	; 0000d009H

; 121  : 		const char *ObserverName[] = { "gzObserverVeteranSoldier", "gzObserverVeteranVehicle", "gzObserverVeteranBeacon", 0, 0, 0, 0, 0, 0, 0, 0, 0 };
; 122  : 		for (int i = 0; i < sizeof(Type) / sizeof(long); i++)

	mov	DWORD PTR _i$58087[esp+112], ebp
$LL11@Load:

; 123  : 		{
; 124  : 			nc_DefinitionClass *Definition = nc_DefinitionMgrClass::Get_First(Type[i], 1);

	mov	eax, DWORD PTR _i$58087[esp+112]
	mov	edi, DWORD PTR _Type$58082[esp+eax*4+112]
	push	1
	push	edi
	mov	DWORD PTR tv995[esp+120], edi
	call	?Get_First@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@KH@Z ; nc_DefinitionMgrClass::Get_First
	mov	ebx, eax
	add	esp, 8

; 125  : 			while (Definition)

	cmp	ebx, ebp
	je	$LN10@Load
$LL8@Load:

; 126  : 			{
; 127  : 				aString entry = this->Load_String("Preset", Definition->Get_Name(), "");

	mov	edx, DWORD PTR [ebx]
	mov	eax, DWORD PTR [edx+48]
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	mov	ecx, ebx
	call	eax
	push	eax
	push	OFFSET ??_C@_06CKLLCHIK@Preset?$AA@
	lea	ecx, DWORD PTR _entry$58096[esp+124]
	push	ecx
	mov	ecx, esi
	call	?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z ; stSettingsBase::Load_String

; 128  : 				if (!entry.IsEmpty())

	mov	eax, DWORD PTR _entry$58096[esp+116]
	cmp	eax, ebp
	mov	DWORD PTR __$EHRec$[esp+120], 8
	je	$LN6@Load
	cmp	DWORD PTR [eax+4], ebp
	je	$LN6@Load
	cmp	DWORD PTR [eax], ebp
	je	$LN6@Load

; 129  : 				{
; 130  : 					gzVeteranPresetDefStruct *preset = new gzVeteranPresetDefStruct;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	130					; 00000082H
	push	OFFSET ??_C@_0BA@FIGKNDDO@?4?2gzveteran?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	8
	call	??2@YAPAXI@Z				; operator new
	mov	DWORD PTR _preset$58100[esp+128], eax

; 131  : 					preset->Definition = Definition;

	mov	DWORD PTR [eax+4], ebx

; 132  : 					preset->Points = NULL;

	mov	edx, DWORD PTR _preset$58100[esp+128]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [edx], ebp

; 133  : 					for (unsigned int j = 0; j < this->m_points.Count(); j++)

	xor	edi, edi
	cmp	DWORD PTR [esi+100], ebp
	jbe	SHORT $LN3@Load
	npad	5
$LL5@Load:
	mov	eax, DWORD PTR [esi+92]

; 134  : 					{
; 135  : 						if (this->m_points[j]->name == entry)

	lea	ecx, DWORD PTR _entry$58096[esp+112]
	lea	eax, DWORD PTR [eax+edi*4]
	push	ecx
	mov	ecx, DWORD PTR [eax]
	call	??8aString@@QAE_NABV0@@Z		; aString::operator==
	test	al, al
	jne	SHORT $LN240@Load
	add	edi, 1
	cmp	edi, DWORD PTR [esi+100]
	jb	SHORT $LL5@Load
$LN3@Load:

; 139  : 						}
; 140  : 					}
; 141  : 					gzVeteranPointsDefStruct *points = new gzVeteranPointsDefStruct;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	141					; 0000008dH
	push	OFFSET ??_C@_0BA@FIGKNDDO@?4?2gzveteran?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	28					; 0000001cH
	call	??2@YAPAXI@Z				; operator new
	mov	edi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T67284[esp+112], edi
	cmp	edi, ebp
	mov	BYTE PTR __$EHRec$[esp+120], 9
	je	SHORT $LN41@Load
	mov	ecx, edi
	call	??0aString@@QAE@XZ			; aString::aString
	jmp	SHORT $LN42@Load
$LN240@Load:

; 136  : 						{
; 137  : 							preset->Points = this->m_points[j];

	mov	edx, DWORD PTR [esi+92]
	mov	eax, DWORD PTR [edx+edi*4]
	mov	ecx, DWORD PTR _preset$58100[esp+112]
	mov	DWORD PTR [ecx], eax

; 138  : 							goto pointsFound;

	jmp	$pointsFound$58108
$LN41@Load:

; 139  : 						}
; 140  : 					}
; 141  : 					gzVeteranPointsDefStruct *points = new gzVeteranPointsDefStruct;

	xor	edi, edi
$LN42@Load:

; 142  : 					points->damage                   = this->Load_Float(entry.GetString(), "DamagePoints", 0.0f);

	mov	eax, DWORD PTR _entry$58096[esp+116]
	cmp	eax, ebp
	mov	BYTE PTR __$EHRec$[esp+120], 8
	mov	DWORD PTR _points$58110[esp+112], edi
	je	SHORT $LN203@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN204@Load
$LN203@Load:
	xor	eax, eax
$LN204@Load:
	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_0N@PJGCLPGJ@DamagePoints?$AA@
	push	eax
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	mov	edx, DWORD PTR _points$58110[esp+112]
	fstp	DWORD PTR [edx+8]

; 143  : 					points->destroy                  = this->Load_Float(entry.GetString(), "DestroyPoints", 0.0f);

	mov	eax, DWORD PTR _entry$58096[esp+116]
	cmp	eax, ebp
	je	SHORT $LN209@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN210@Load
$LN209@Load:
	xor	eax, eax
$LN210@Load:
	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_0O@HIJNFPAM@DestroyPoints?$AA@
	push	eax
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	mov	eax, DWORD PTR _points$58110[esp+112]
	fstp	DWORD PTR [eax+12]

; 144  : 					points->repair                   = this->Load_Float(entry.GetString(), "RepairPoints", 0.0f);

	mov	eax, DWORD PTR _entry$58096[esp+116]
	cmp	eax, ebp
	je	SHORT $LN215@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN216@Load
$LN215@Load:
	xor	eax, eax
$LN216@Load:
	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_0N@DFFIJHHN@RepairPoints?$AA@
	push	eax
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	mov	ecx, DWORD PTR _points$58110[esp+112]
	fstp	DWORD PTR [ecx+16]

; 145  : 					points->suicide                  = this->Load_Float(entry.GetString(), "SuicidePoints", 0.0f);

	mov	eax, DWORD PTR _entry$58096[esp+116]
	cmp	eax, ebp
	je	SHORT $LN221@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN222@Load
$LN221@Load:
	xor	eax, eax
$LN222@Load:
	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_0O@NIAIHLAJ@SuicidePoints?$AA@
	push	eax
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	mov	edx, DWORD PTR _points$58110[esp+112]
	fstp	DWORD PTR [edx+20]

; 146  : 					points->stealByEnemy             = this->Load_Float(entry.GetString(), "StealPoints", 0.0f);

	mov	eax, DWORD PTR _entry$58096[esp+116]
	cmp	eax, ebp
	je	SHORT $LN227@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN228@Load
$LN227@Load:
	xor	eax, eax
$LN228@Load:
	fldz
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, esi
	push	OFFSET ??_C@_0M@LIOAFELH@StealPoints?$AA@
	push	eax
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	mov	eax, DWORD PTR _points$58110[esp+112]

; 147  : 					points->name                     = entry;

	lea	ecx, DWORD PTR _entry$58096[esp+112]
	fstp	DWORD PTR [eax+24]
	push	ecx
	mov	ecx, DWORD PTR _points$58110[esp+116]
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=

; 148  : 					this->m_points.Add(points);

	mov	edx, DWORD PTR [esi+88]
	mov	edx, DWORD PTR [edx+12]
	lea	ecx, DWORD PTR [esi+88]
	lea	eax, DWORD PTR _points$58110[esp+112]
	push	eax
	call	edx

; 149  : 
; 150  : 					preset->Points                   = points;

	mov	eax, DWORD PTR _preset$58100[esp+112]
	mov	ecx, DWORD PTR _points$58110[esp+112]
	mov	DWORD PTR [eax], ecx
$pointsFound$58108:

; 151  : pointsFound:;
; 152  : 					this->m_presets.Add(preset);

	mov	edx, DWORD PTR [esi+56]
	mov	edx, DWORD PTR [edx+12]
	lea	ecx, DWORD PTR [esi+56]
	lea	eax, DWORD PTR _preset$58100[esp+112]
	push	eax
	call	edx
	mov	edi, DWORD PTR tv995[esp+112]
$LN6@Load:

; 153  : 				}
; 154  : 				Definition = nc_DefinitionMgrClass::Get_Next(Definition, Type[i], 1);

	push	1
	push	edi
	push	ebx
	call	?Get_Next@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PAV2@KH@Z ; nc_DefinitionMgrClass::Get_Next
	add	esp, 12					; 0000000cH

; 155  : 			}

	lea	ecx, DWORD PTR _entry$58096[esp+112]
	mov	ebx, eax
	mov	DWORD PTR __$EHRec$[esp+120], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	cmp	ebx, ebp
	jne	$LL8@Load
$LN10@Load:

; 121  : 		const char *ObserverName[] = { "gzObserverVeteranSoldier", "gzObserverVeteranVehicle", "gzObserverVeteranBeacon", 0, 0, 0, 0, 0, 0, 0, 0, 0 };
; 122  : 		for (int i = 0; i < sizeof(Type) / sizeof(long); i++)

	mov	eax, DWORD PTR _i$58087[esp+112]
	add	eax, 1
	cmp	eax, 12					; 0000000cH
	mov	DWORD PTR _i$58087[esp+112], eax
	jb	$LL11@Load
$LN9@Load:

; 156  : 		}
; 157  : 	}
; 158  : 	delete this->m_cfg;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	158					; 0000009eH
	push	OFFSET ??_C@_0BA@FIGKNDDO@?4?2gzveteran?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+12]
	add	esp, 12					; 0000000cH
	cmp	ecx, ebp
	je	SHORT $LN246@Load
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax]
	push	1
	call	edx
$LN246@Load:

; 159  : 	this->m_cfg = NULL;
; 160  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+112]
	mov	DWORD PTR [esi+12], ebp
	pop	edi
	mov	DWORD PTR fs:0, ecx
	pop	esi
	pop	ebp
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$1:
	mov	eax, DWORD PTR $T67259[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$2:
	mov	eax, DWORD PTR $T67296[ebp]
	and	eax, 1
	je	$LN51@Load
	and	DWORD PTR $T67296[ebp], -2		; fffffffeH
	lea	ecx, DWORD PTR $T67260[ebp]
	jmp	??1aString@@UAE@XZ
$LN51@Load:
	ret	0
__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$3:
	lea	ecx, DWORD PTR _entry$58040[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$6:
	lea	ecx, DWORD PTR $T67273[ebp]
	jmp	??1aWideString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$7:
	mov	eax, DWORD PTR $T67275[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$4:
	mov	eax, DWORD PTR $T67266[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$5:
	lea	ecx, DWORD PTR $T67271[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$8:
	lea	ecx, DWORD PTR _entry$58096[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsVeteranClass@@UAEXXZ$9:
	mov	eax, DWORD PTR $T67284[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Load@gzSettingsVeteranClass@@UAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?Load@gzSettingsVeteranClass@@UAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load@gzSettingsVeteranClass@@UAEXXZ ENDP		; gzSettingsVeteranClass::Load
PUBLIC	?FindPresetSetting@gzVeteranManagerClass@@QAEPBUgzVeteranPresetDefStruct@@PBD@Z ; gzVeteranManagerClass::FindPresetSetting
EXTRN	_stricmp:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?FindPresetSetting@gzVeteranManagerClass@@QAEPBUgzVeteranPresetDefStruct@@PBD@Z
_TEXT	SEGMENT
_preset$ = 8						; size = 4
?FindPresetSetting@gzVeteranManagerClass@@QAEPBUgzVeteranPresetDefStruct@@PBD@Z PROC ; gzVeteranManagerClass::FindPresetSetting, COMDAT
; _this$ = ecx

; 212  : {

	push	ebx
	push	esi
	push	edi
	mov	edi, ecx

; 213  : 	for (unsigned int i = 0; i < this->m_settings->m_presets.Count(); i++)

	mov	eax, DWORD PTR [edi+40]
	xor	esi, esi
	cmp	DWORD PTR [eax+68], esi
	jbe	SHORT $LN2@FindPreset
	mov	ebx, DWORD PTR _preset$[esp+8]
$LL4@FindPreset:

; 214  : 	{
; 215  : 		if (!stricmp(this->m_settings->m_presets[i]->Definition->Get_Name(), preset))

	mov	eax, DWORD PTR [eax+60]
	mov	ecx, DWORD PTR [eax+esi*4]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	push	ebx
	call	eax
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN14@FindPreset
	mov	eax, DWORD PTR [edi+40]
	add	esi, 1
	cmp	esi, DWORD PTR [eax+68]
	jb	SHORT $LL4@FindPreset
$LN2@FindPreset:
	pop	edi
	pop	esi

; 217  : 	}
; 218  : 	return NULL;

	xor	eax, eax
	pop	ebx

; 219  : }

	ret	4
$LN14@FindPreset:

; 216  : 			return this->m_settings->m_presets[i];

	mov	ecx, DWORD PTR [edi+40]
	mov	edx, DWORD PTR [ecx+60]
	mov	eax, DWORD PTR [edx+esi*4]
	pop	edi
	pop	esi
	pop	ebx

; 219  : }

	ret	4
?FindPresetSetting@gzVeteranManagerClass@@QAEPBUgzVeteranPresetDefStruct@@PBD@Z ENDP ; gzVeteranManagerClass::FindPresetSetting
_TEXT	ENDS
PUBLIC	??_7gzVeteranClass@@6B@				; gzVeteranClass::`vftable'
PUBLIC	??0gzVeteranClass@@QAE@PAVgzPlayer@@@Z		; gzVeteranClass::gzVeteranClass
PUBLIC	??_R4gzVeteranClass@@6B@			; gzVeteranClass::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzVeteranClass@@@8			; gzVeteranClass `RTTI Type Descriptor'
PUBLIC	??_R3gzVeteranClass@@8				; gzVeteranClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzVeteranClass@@8				; gzVeteranClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzVeteranClass@@8			; gzVeteranClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@gzEvtHandler@@8			; gzEvtHandler::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVgzEvtHandler@@@8			; gzEvtHandler `RTTI Type Descriptor'
PUBLIC	??_R3gzEvtHandler@@8				; gzEvtHandler::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzEvtHandler@@8				; gzEvtHandler::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzBase@@8				; gzBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVgzBase@@@8				; gzBase `RTTI Type Descriptor'
PUBLIC	??_R3gzBase@@8					; gzBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzBase@@8					; gzBase::`RTTI Base Class Array'
PUBLIC	?GetName@gzVeteranClass@@UAEPBDXZ		; gzVeteranClass::GetName
PUBLIC	?Delete@gzVeteranClass@@UAEXXZ			; gzVeteranClass::Delete
PUBLIC	?Level_Loaded@gzVeteranClass@@UAEXXZ		; gzVeteranClass::Level_Loaded
PUBLIC	?Level_Ended@gzEvtHandler@@UAEXXZ		; gzEvtHandler::Level_Ended
PUBLIC	?Think@gzEvtHandler@@UAEXXZ			; gzEvtHandler::Think
PUBLIC	?Player_Joined@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z ; gzEvtHandler::Player_Joined
PUBLIC	?Player_Left@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z ; gzEvtHandler::Player_Left
PUBLIC	?Player_BandwidthChange@gzEvtHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z ; gzEvtHandler::Player_BandwidthChange
PUBLIC	?Player_Suicide@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z ; gzEvtHandler::Player_Suicide
PUBLIC	?Player_TeamChange@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z ; gzEvtHandler::Player_TeamChange
PUBLIC	?Player_Chat@gzEvtHandler@@UAEXAAVgzEventPlayerChat@@@Z ; gzEvtHandler::Player_Chat
PUBLIC	?Player_Radio@gzEvtHandler@@UAEXAAVgzEventPlayerRadio@@@Z ; gzEvtHandler::Player_Radio
PUBLIC	?Player_SerialHash@gzEvtHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z ; gzEvtHandler::Player_SerialHash
PUBLIC	?Player_RawDamage@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z ; gzEvtHandler::Player_RawDamage
PUBLIC	?Object_Created@gzEvtHandler@@UAEXAAVgzEventObjectCreate@@@Z ; gzEvtHandler::Object_Created
PUBLIC	?Object_Init@gzEvtHandler@@UAEXAAVgzEventObjectInit@@@Z ; gzEvtHandler::Object_Init
PUBLIC	?Object_Damaged@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z ; gzEvtHandler::Object_Damaged
PUBLIC	?Object_Killed@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z ; gzEvtHandler::Object_Killed
PUBLIC	?Object_Transition@gzEvtHandler@@UAEXAAVgzEventObjectTransition@@@Z ; gzEvtHandler::Object_Transition
PUBLIC	?Object_JumpStart@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z ; gzEvtHandler::Object_JumpStart
PUBLIC	?Object_JumpComplete@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z ; gzEvtHandler::Object_JumpComplete
PUBLIC	?Object_SoldierSquished@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z ; gzEvtHandler::Object_SoldierSquished
PUBLIC	?Object_C4Creation@gzEvtHandler@@UAEXAAVgzEventObjectC4Creation@@@Z ; gzEvtHandler::Object_C4Creation
PUBLIC	?Object_C4Detonate@gzEvtHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z ; gzEvtHandler::Object_C4Detonate
PUBLIC	?Object_PowerupGrant@gzEvtHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z ; gzEvtHandler::Object_PowerupGrant
PUBLIC	?Object_Fire@gzEvtHandler@@UAEXAAVgzEventObjectFire@@@Z ; gzEvtHandler::Object_Fire
PUBLIC	?Object_FlipKill@gzEvtHandler@@UAEXAAVgzEventObjectFlipKill@@@Z ; gzEvtHandler::Object_FlipKill
PUBLIC	?Net_WolPage@gzEvtHandler@@UAEXAAVgzEventNetWolPage@@@Z ; gzEvtHandler::Net_WolPage
PUBLIC	?Net_SerialAuth@gzEvtHandler@@UAEXAAVgzEventNetSerialAuth@@@Z ; gzEvtHandler::Net_SerialAuth
PUBLIC	?Bhs_Poke@gzEvtHandler@@UAEXAAVgzEventBhsPoke@@@Z ; gzEvtHandler::Bhs_Poke
PUBLIC	?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z ; gzEvtHandler::Bhs_Version
EXTRN	??1gzEvtHandler@@UAE@XZ:PROC			; gzEvtHandler::~gzEvtHandler
EXTRN	?RegisterEvent@gzEvtHandler@@QAEXHH@Z:PROC	; gzEvtHandler::RegisterEvent
EXTRN	??0gzEvtHandler@@QAE@XZ:PROC			; gzEvtHandler::gzEvtHandler
EXTRN	??_EgzVeteranClass@@UAEPAXI@Z:PROC		; gzVeteranClass::`vector deleting destructor'
EXTRN	?SetDeletePending@gzBase@@UAEXXZ:PROC		; gzBase::SetDeletePending
;	COMDAT ??_R2gzBase@@8
; File d:\source code\alib\include\avector.h
rdata$r	SEGMENT
??_R2gzBase@@8 DD FLAT:??_R1A@?0A@EA@gzBase@@8		; gzBase::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzBase@@8
rdata$r	SEGMENT
??_R3gzBase@@8 DD 00H					; gzBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzBase@@@8
_DATA	SEGMENT
??_R0?AVgzBase@@@8 DD FLAT:??_7type_info@@6B@		; gzBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@gzBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzBase@@8 DD FLAT:??_R0?AVgzBase@@@8	; gzBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R2gzEvtHandler@@8
rdata$r	SEGMENT
??_R2gzEvtHandler@@8 DD FLAT:??_R1A@?0A@EA@gzEvtHandler@@8 ; gzEvtHandler::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzEvtHandler@@8
rdata$r	SEGMENT
??_R3gzEvtHandler@@8 DD 00H				; gzEvtHandler::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzEvtHandler@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzEvtHandler@@@8
_DATA	SEGMENT
??_R0?AVgzEvtHandler@@@8 DD FLAT:??_7type_info@@6B@	; gzEvtHandler `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzEvtHandler@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@gzEvtHandler@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzEvtHandler@@8 DD FLAT:??_R0?AVgzEvtHandler@@@8 ; gzEvtHandler::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzEvtHandler@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzVeteranClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzVeteranClass@@8 DD FLAT:??_R0?AVgzVeteranClass@@@8 ; gzVeteranClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzVeteranClass@@8
rdata$r	ENDS
;	COMDAT ??_R2gzVeteranClass@@8
rdata$r	SEGMENT
??_R2gzVeteranClass@@8 DD FLAT:??_R1A@?0A@EA@gzVeteranClass@@8 ; gzVeteranClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzEvtHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzVeteranClass@@8
rdata$r	SEGMENT
??_R3gzVeteranClass@@8 DD 00H				; gzVeteranClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2gzVeteranClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzVeteranClass@@@8
_DATA	SEGMENT
??_R0?AVgzVeteranClass@@@8 DD FLAT:??_7type_info@@6B@	; gzVeteranClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzVeteranClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzVeteranClass@@6B@
rdata$r	SEGMENT
??_R4gzVeteranClass@@6B@ DD 00H				; gzVeteranClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzVeteranClass@@@8
	DD	FLAT:??_R3gzVeteranClass@@8
rdata$r	ENDS
;	COMDAT ??_7gzVeteranClass@@6B@
CONST	SEGMENT
??_7gzVeteranClass@@6B@ DD FLAT:??_R4gzVeteranClass@@6B@ ; gzVeteranClass::`vftable'
	DD	FLAT:??_EgzVeteranClass@@UAEPAXI@Z
	DD	FLAT:?GetName@gzVeteranClass@@UAEPBDXZ
	DD	FLAT:?Delete@gzVeteranClass@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@gzVeteranClass@@UAEXXZ
	DD	FLAT:?Level_Ended@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Think@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Player_Joined@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@gzVeteranClass@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@gzEvtHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@gzEvtHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@gzEvtHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@gzEvtHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@gzEvtHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@gzEvtHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@gzEvtHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@gzEvtHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@gzEvtHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@gzEvtHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@gzEvtHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@gzEvtHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@gzEvtHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@gzEvtHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@gzEvtHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzVeteranClass@@QAE@PAVgzPlayer@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzVeteranClass@@QAE@PAVgzPlayer@@@Z$0
__ehfuncinfo$??0gzVeteranClass@@QAE@PAVgzPlayer@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0gzVeteranClass@@QAE@PAVgzPlayer@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
xdata$x	ENDS
;	COMDAT ??0gzVeteranClass@@QAE@PAVgzPlayer@@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_owner$ = 8						; size = 4
??0gzVeteranClass@@QAE@PAVgzPlayer@@@Z PROC		; gzVeteranClass::gzVeteranClass, COMDAT
; _this$ = ecx

; 222  : {

	push	-1
	push	__ehhandler$??0gzVeteranClass@@QAE@PAVgzPlayer@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	call	??0gzEvtHandler@@QAE@XZ			; gzEvtHandler::gzEvtHandler

; 223  : 	this->RegisterEvent(gzEVT_GAME_LEVEL_LOADED);

	push	0
	push	4096					; 00001000H
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+36], 0
	mov	DWORD PTR [esi], OFFSET ??_7gzVeteranClass@@6B@
	call	?RegisterEvent@gzEvtHandler@@QAEXHH@Z	; gzEvtHandler::RegisterEvent

; 224  : 	this->RegisterEvent(gzEVT_PLAYER_PURCHASE);

	push	0
	push	8201					; 00002009H
	mov	ecx, esi
	call	?RegisterEvent@gzEvtHandler@@QAEXHH@Z	; gzEvtHandler::RegisterEvent

; 225  : 
; 226  : 	this->m_owner		= owner;
; 227  : 	this->m_points		= 0.0f;

	fldz
	mov	eax, DWORD PTR _owner$[esp+16]
	fst	DWORD PTR [esi+40]
	mov	DWORD PTR [esi+36], eax

; 228  : 	if (gzVeteranMgr->GetSettings()->m_enable)

	mov	ecx, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	mov	eax, DWORD PTR [ecx+40]
	cmp	BYTE PTR [eax+24], 0
	je	SHORT $LN2@gzVeteranC

; 229  : 	{
; 230  : 		this->m_currLevel	= gzVeteranMgr->GetSettings()->m_level[0];

	mov	edx, DWORD PTR [eax+76]
	mov	eax, DWORD PTR [edx]
	mov	DWORD PTR [esi+44], eax

; 231  : 		this->m_nextLevel	= (gzVeteranMgr->GetSettings()->m_level.Count() > 1 ? gzVeteranMgr->GetSettings()->m_level[1] : NULL);

	mov	ecx, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	mov	eax, DWORD PTR [ecx+40]
	cmp	DWORD PTR [eax+84], 1
	jbe	SHORT $LN5@gzVeteranC
	mov	edx, DWORD PTR [eax+76]
	mov	eax, DWORD PTR [edx+4]
	mov	DWORD PTR [esi+48], eax

; 232  : 	}
; 233  : 	else

	jmp	SHORT $LN1@gzVeteranC
$LN5@gzVeteranC:

; 231  : 		this->m_nextLevel	= (gzVeteranMgr->GetSettings()->m_level.Count() > 1 ? gzVeteranMgr->GetSettings()->m_level[1] : NULL);

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

; 232  : 	}
; 233  : 	else

	jmp	SHORT $LN1@gzVeteranC
$LN2@gzVeteranC:

; 234  : 	{
; 235  : 		this->m_currLevel = NULL;

	mov	DWORD PTR [esi+44], 0

; 236  : 		this->m_nextLevel = NULL;

	mov	DWORD PTR [esi+48], 0
$LN1@gzVeteranC:

; 237  : 	}
; 238  : 	this->m_promoteTime	= 0.0f;
; 239  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	fstp	DWORD PTR [esi+52]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzVeteranClass@@QAE@PAVgzPlayer@@@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
__ehhandler$??0gzVeteranClass@@QAE@PAVgzPlayer@@@Z:
	mov	eax, OFFSET __ehfuncinfo$??0gzVeteranClass@@QAE@PAVgzPlayer@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzVeteranClass@@QAE@PAVgzPlayer@@@Z ENDP		; gzVeteranClass::gzVeteranClass
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzevent.h
;	COMDAT ?Level_Ended@gzEvtHandler@@UAEXXZ
_TEXT	SEGMENT
?Level_Ended@gzEvtHandler@@UAEXXZ PROC			; gzEvtHandler::Level_Ended, COMDAT
; _this$ = ecx

; 64   : 	virtual void Level_Ended() { };

	ret	0
?Level_Ended@gzEvtHandler@@UAEXXZ ENDP			; gzEvtHandler::Level_Ended
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Think@gzEvtHandler@@UAEXXZ
_TEXT	SEGMENT
?Think@gzEvtHandler@@UAEXXZ PROC			; gzEvtHandler::Think, COMDAT
; _this$ = ecx

; 65   : 	virtual void Think() { };

	ret	0
?Think@gzEvtHandler@@UAEXXZ ENDP			; gzEvtHandler::Think
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_Joined@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_Joined@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z PROC ; gzEvtHandler::Player_Joined, COMDAT
; _this$ = ecx

; 68   : 	virtual void Player_Joined(gzEventPlayerBase &) { };

	ret	4
?Player_Joined@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z ENDP ; gzEvtHandler::Player_Joined
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_Left@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_Left@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z PROC ; gzEvtHandler::Player_Left, COMDAT
; _this$ = ecx

; 69   : 	virtual void Player_Left(gzEventPlayerBase &) { };

	ret	4
?Player_Left@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z ENDP ; gzEvtHandler::Player_Left
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_BandwidthChange@gzEvtHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_BandwidthChange@gzEvtHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z PROC ; gzEvtHandler::Player_BandwidthChange, COMDAT
; _this$ = ecx

; 71   : 	virtual void Player_BandwidthChange(gzEventPlayerBandwidth &) { };

	ret	4
?Player_BandwidthChange@gzEvtHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z ENDP ; gzEvtHandler::Player_BandwidthChange
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_Suicide@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_Suicide@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z PROC ; gzEvtHandler::Player_Suicide, COMDAT
; _this$ = ecx

; 72   : 	virtual void Player_Suicide(gzEventPlayerBase &) { };

	ret	4
?Player_Suicide@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z ENDP ; gzEvtHandler::Player_Suicide
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_TeamChange@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_TeamChange@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z PROC ; gzEvtHandler::Player_TeamChange, COMDAT
; _this$ = ecx

; 73   : 	virtual void Player_TeamChange(gzEventPlayerBase &) { };

	ret	4
?Player_TeamChange@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z ENDP ; gzEvtHandler::Player_TeamChange
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_Chat@gzEvtHandler@@UAEXAAVgzEventPlayerChat@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_Chat@gzEvtHandler@@UAEXAAVgzEventPlayerChat@@@Z PROC ; gzEvtHandler::Player_Chat, COMDAT
; _this$ = ecx

; 74   : 	virtual void Player_Chat(gzEventPlayerChat &) { };

	ret	4
?Player_Chat@gzEvtHandler@@UAEXAAVgzEventPlayerChat@@@Z ENDP ; gzEvtHandler::Player_Chat
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_Radio@gzEvtHandler@@UAEXAAVgzEventPlayerRadio@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_Radio@gzEvtHandler@@UAEXAAVgzEventPlayerRadio@@@Z PROC ; gzEvtHandler::Player_Radio, COMDAT
; _this$ = ecx

; 75   : 	virtual void Player_Radio(gzEventPlayerRadio &) { };

	ret	4
?Player_Radio@gzEvtHandler@@UAEXAAVgzEventPlayerRadio@@@Z ENDP ; gzEvtHandler::Player_Radio
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_SerialHash@gzEvtHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_SerialHash@gzEvtHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z PROC ; gzEvtHandler::Player_SerialHash, COMDAT
; _this$ = ecx

; 76   : 	virtual void Player_SerialHash(gzEventPlayerSerialHash &) { };

	ret	4
?Player_SerialHash@gzEvtHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z ENDP ; gzEvtHandler::Player_SerialHash
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_RawDamage@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_RawDamage@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z PROC ; gzEvtHandler::Player_RawDamage, COMDAT
; _this$ = ecx

; 77   : 	virtual void Player_RawDamage(gzEventObjectDamage &) { };

	ret	4
?Player_RawDamage@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z ENDP ; gzEvtHandler::Player_RawDamage
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Created@gzEvtHandler@@UAEXAAVgzEventObjectCreate@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Created@gzEvtHandler@@UAEXAAVgzEventObjectCreate@@@Z PROC ; gzEvtHandler::Object_Created, COMDAT
; _this$ = ecx

; 80   : 	virtual void Object_Created(gzEventObjectCreate &) { };

	ret	4
?Object_Created@gzEvtHandler@@UAEXAAVgzEventObjectCreate@@@Z ENDP ; gzEvtHandler::Object_Created
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Init@gzEvtHandler@@UAEXAAVgzEventObjectInit@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Init@gzEvtHandler@@UAEXAAVgzEventObjectInit@@@Z PROC ; gzEvtHandler::Object_Init, COMDAT
; _this$ = ecx

; 81   : 	virtual void Object_Init(gzEventObjectInit &) { };

	ret	4
?Object_Init@gzEvtHandler@@UAEXAAVgzEventObjectInit@@@Z ENDP ; gzEvtHandler::Object_Init
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Damaged@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Damaged@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z PROC ; gzEvtHandler::Object_Damaged, COMDAT
; _this$ = ecx

; 82   : 	virtual void Object_Damaged(gzEventObjectDamage &) { };

	ret	4
?Object_Damaged@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z ENDP ; gzEvtHandler::Object_Damaged
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Killed@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Killed@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z PROC ; gzEvtHandler::Object_Killed, COMDAT
; _this$ = ecx

; 83   : 	virtual void Object_Killed(gzEventObjectKill &) { };

	ret	4
?Object_Killed@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z ENDP ; gzEvtHandler::Object_Killed
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Transition@gzEvtHandler@@UAEXAAVgzEventObjectTransition@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Transition@gzEvtHandler@@UAEXAAVgzEventObjectTransition@@@Z PROC ; gzEvtHandler::Object_Transition, COMDAT
; _this$ = ecx

; 84   : 	virtual void Object_Transition(gzEventObjectTransition &) { };

	ret	4
?Object_Transition@gzEvtHandler@@UAEXAAVgzEventObjectTransition@@@Z ENDP ; gzEvtHandler::Object_Transition
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_JumpStart@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_JumpStart@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z PROC ; gzEvtHandler::Object_JumpStart, COMDAT
; _this$ = ecx

; 85   : 	virtual void Object_JumpStart(gzEventObjectJump &) { };

	ret	4
?Object_JumpStart@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z ENDP ; gzEvtHandler::Object_JumpStart
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_JumpComplete@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_JumpComplete@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z PROC ; gzEvtHandler::Object_JumpComplete, COMDAT
; _this$ = ecx

; 86   : 	virtual void Object_JumpComplete(gzEventObjectJump &) { };

	ret	4
?Object_JumpComplete@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z ENDP ; gzEvtHandler::Object_JumpComplete
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_SoldierSquished@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_SoldierSquished@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z PROC ; gzEvtHandler::Object_SoldierSquished, COMDAT
; _this$ = ecx

; 87   : 	virtual void Object_SoldierSquished(gzEventObjectKill &) { };

	ret	4
?Object_SoldierSquished@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z ENDP ; gzEvtHandler::Object_SoldierSquished
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_C4Creation@gzEvtHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_C4Creation@gzEvtHandler@@UAEXAAVgzEventObjectC4Creation@@@Z PROC ; gzEvtHandler::Object_C4Creation, COMDAT
; _this$ = ecx

; 88   : 	virtual void Object_C4Creation(gzEventObjectC4Creation &) { };

	ret	4
?Object_C4Creation@gzEvtHandler@@UAEXAAVgzEventObjectC4Creation@@@Z ENDP ; gzEvtHandler::Object_C4Creation
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_C4Detonate@gzEvtHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_C4Detonate@gzEvtHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z PROC ; gzEvtHandler::Object_C4Detonate, COMDAT
; _this$ = ecx

; 89   : 	virtual void Object_C4Detonate(gzEventObjectC4Detonation &) { };

	ret	4
?Object_C4Detonate@gzEvtHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z ENDP ; gzEvtHandler::Object_C4Detonate
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_PowerupGrant@gzEvtHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_PowerupGrant@gzEvtHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z PROC ; gzEvtHandler::Object_PowerupGrant, COMDAT
; _this$ = ecx

; 90   : 	virtual void Object_PowerupGrant(gzEventObjectPowerupGrant &) { };

	ret	4
?Object_PowerupGrant@gzEvtHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z ENDP ; gzEvtHandler::Object_PowerupGrant
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Fire@gzEvtHandler@@UAEXAAVgzEventObjectFire@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Fire@gzEvtHandler@@UAEXAAVgzEventObjectFire@@@Z PROC ; gzEvtHandler::Object_Fire, COMDAT
; _this$ = ecx

; 91   : 	virtual void Object_Fire(gzEventObjectFire &) { };

	ret	4
?Object_Fire@gzEvtHandler@@UAEXAAVgzEventObjectFire@@@Z ENDP ; gzEvtHandler::Object_Fire
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_FlipKill@gzEvtHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_FlipKill@gzEvtHandler@@UAEXAAVgzEventObjectFlipKill@@@Z PROC ; gzEvtHandler::Object_FlipKill, COMDAT
; _this$ = ecx

; 92   : 	virtual void Object_FlipKill(gzEventObjectFlipKill &) { };

	ret	4
?Object_FlipKill@gzEvtHandler@@UAEXAAVgzEventObjectFlipKill@@@Z ENDP ; gzEvtHandler::Object_FlipKill
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Net_WolPage@gzEvtHandler@@UAEXAAVgzEventNetWolPage@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Net_WolPage@gzEvtHandler@@UAEXAAVgzEventNetWolPage@@@Z PROC ; gzEvtHandler::Net_WolPage, COMDAT
; _this$ = ecx

; 95   : 	virtual void Net_WolPage(gzEventNetWolPage &) { };

	ret	4
?Net_WolPage@gzEvtHandler@@UAEXAAVgzEventNetWolPage@@@Z ENDP ; gzEvtHandler::Net_WolPage
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Net_SerialAuth@gzEvtHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Net_SerialAuth@gzEvtHandler@@UAEXAAVgzEventNetSerialAuth@@@Z PROC ; gzEvtHandler::Net_SerialAuth, COMDAT
; _this$ = ecx

; 96   : 	virtual void Net_SerialAuth(gzEventNetSerialAuth &) { };

	ret	4
?Net_SerialAuth@gzEvtHandler@@UAEXAAVgzEventNetSerialAuth@@@Z ENDP ; gzEvtHandler::Net_SerialAuth
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Bhs_Poke@gzEvtHandler@@UAEXAAVgzEventBhsPoke@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Bhs_Poke@gzEvtHandler@@UAEXAAVgzEventBhsPoke@@@Z PROC	; gzEvtHandler::Bhs_Poke, COMDAT
; _this$ = ecx

; 99   : 	virtual void Bhs_Poke(gzEventBhsPoke &) { };

	ret	4
?Bhs_Poke@gzEvtHandler@@UAEXAAVgzEventBhsPoke@@@Z ENDP	; gzEvtHandler::Bhs_Poke
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z PROC ; gzEvtHandler::Bhs_Version, COMDAT
; _this$ = ecx

; 100  : 	virtual void Bhs_Version(gzEventBhsVersion &) { };

	ret	4
?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z ENDP ; gzEvtHandler::Bhs_Version
_TEXT	ENDS
PUBLIC	??_C@_0P@LEEMDANE@gzVeteranClass?$AA@		; `string'
;	COMDAT ??_C@_0P@LEEMDANE@gzVeteranClass?$AA@
; File d:\source code\gzgm\gzveteran.h
CONST	SEGMENT
??_C@_0P@LEEMDANE@gzVeteranClass?$AA@ DB 'gzVeteranClass', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzVeteranClass@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzVeteranClass@@UAEPBDXZ PROC			; gzVeteranClass::GetName, COMDAT
; _this$ = ecx

; 78   : 		return "gzVeteranClass";

	mov	eax, OFFSET ??_C@_0P@LEEMDANE@gzVeteranClass?$AA@

; 79   : 	};

	ret	0
?GetName@gzVeteranClass@@UAEPBDXZ ENDP			; gzVeteranClass::GetName
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@gzVeteranClass@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzVeteranClass@@UAEXXZ PROC			; gzVeteranClass::Delete, COMDAT
; _this$ = ecx

; 80   : 	void Delete() { };

	ret	0
?Delete@gzVeteranClass@@UAEXXZ ENDP			; gzVeteranClass::Delete
_TEXT	ENDS
PUBLIC	??1gzVeteranClass@@UAE@XZ			; gzVeteranClass::~gzVeteranClass
; Function compile flags: /Ogtpy
;	COMDAT ??1gzVeteranClass@@UAE@XZ
_TEXT	SEGMENT
??1gzVeteranClass@@UAE@XZ PROC				; gzVeteranClass::~gzVeteranClass, COMDAT
; _this$ = ecx
	jmp	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
??1gzVeteranClass@@UAE@XZ ENDP				; gzVeteranClass::~gzVeteranClass
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzVeteranClass@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzVeteranClass@@UAEPAXI@Z PROC			; gzVeteranClass::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@10
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@10:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzVeteranClass@@UAEPAXI@Z ENDP			; gzVeteranClass::`scalar deleting destructor'
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
_TEXT	ENDS
;	COMDAT ?Level_Loaded@gzVeteranClass@@UAEXXZ
_TEXT	SEGMENT
?Level_Loaded@gzVeteranClass@@UAEXXZ PROC		; gzVeteranClass::Level_Loaded, COMDAT
; _this$ = ecx

; 242  : 	this->m_points		= 0.0f;

	fldz

; 243  : 	if (gzVeteranMgr->GetSettings()->m_enable)

	xor	edx, edx
	fst	DWORD PTR [ecx+40]
	mov	eax, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	mov	eax, DWORD PTR [eax+40]
	cmp	BYTE PTR [eax+24], dl
	je	SHORT $LN2@Level_Load@2

; 244  : 	{
; 245  : 		this->m_currLevel	= gzVeteranMgr->GetSettings()->m_level[0];

	mov	eax, DWORD PTR [eax+76]
	mov	eax, DWORD PTR [eax]
	mov	DWORD PTR [ecx+44], eax

; 246  : 		this->m_nextLevel	= (gzVeteranMgr->GetSettings()->m_level.Count() > 1 ? gzVeteranMgr->GetSettings()->m_level[1] : NULL);

	mov	eax, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	mov	eax, DWORD PTR [eax+40]
	cmp	DWORD PTR [eax+84], 1
	jbe	SHORT $LN5@Level_Load@2
	mov	edx, DWORD PTR [eax+76]
	mov	eax, DWORD PTR [edx+4]

; 247  : 	}
; 248  : 	else
; 249  : 	{
; 250  : 		this->m_currLevel = NULL;
; 251  : 		this->m_nextLevel = NULL;
; 252  : 	}
; 253  : 	this->m_promoteTime	= 0.0f;

	fstp	DWORD PTR [ecx+52]
	mov	DWORD PTR [ecx+48], eax

; 254  : }

	ret	0
$LN5@Level_Load@2:

; 246  : 		this->m_nextLevel	= (gzVeteranMgr->GetSettings()->m_level.Count() > 1 ? gzVeteranMgr->GetSettings()->m_level[1] : NULL);

	xor	eax, eax

; 247  : 	}
; 248  : 	else
; 249  : 	{
; 250  : 		this->m_currLevel = NULL;
; 251  : 		this->m_nextLevel = NULL;
; 252  : 	}
; 253  : 	this->m_promoteTime	= 0.0f;

	fstp	DWORD PTR [ecx+52]
	mov	DWORD PTR [ecx+48], eax

; 254  : }

	ret	0
$LN2@Level_Load@2:

; 247  : 	}
; 248  : 	else
; 249  : 	{
; 250  : 		this->m_currLevel = NULL;
; 251  : 		this->m_nextLevel = NULL;
; 252  : 	}
; 253  : 	this->m_promoteTime	= 0.0f;

	fstp	DWORD PTR [ecx+52]
	mov	DWORD PTR [ecx+44], edx
	mov	DWORD PTR [ecx+48], edx

; 254  : }

	ret	0
?Level_Loaded@gzVeteranClass@@UAEXXZ ENDP		; gzVeteranClass::Level_Loaded
_TEXT	ENDS
PUBLIC	??_C@_0KF@JGEEANJO@?$FLVeteran?$FN?3?5Your?5status?5provide?5?$CF@ ; `string'
PUBLIC	??_C@_0DI@HMIDAHLN@?$FLVeteran?$FN?3?5Congratulations?$CB?5You?8@ ; `string'
PUBLIC	??_C@_0DD@HIINGLDE@msg?5?$FLVeteran?$FN?3?5?$CFls?5has?5been?5prom@ ; `string'
PUBLIC	__real@42c80000
PUBLIC	??_C@_0O@GJIAFLPK@CnC_Visceroid?$AA@		; `string'
PUBLIC	?Promote@gzVeteranClass@@QAE_NXZ		; gzVeteranClass::Promote
EXTRN	?PagePlayer@@YAXHPBDZZ:PROC			; PagePlayer
EXTRN	?In@gzConsole@@SAXPBDZZ:PROC			; gzConsole::In
EXTRN	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ:PROC ; gzPlayer::GetSoldier
;	COMDAT ??_C@_0KF@JGEEANJO@?$FLVeteran?$FN?3?5Your?5status?5provide?5?$CF@
; File d:\source code\gzgm\gzplayer.h
CONST	SEGMENT
??_C@_0KF@JGEEANJO@?$FLVeteran?$FN?3?5Your?5status?5provide?5?$CF@ DB '[V'
	DB	'eteran]: Your status provide %.0f%% and %.0f%% extra of max a'
	DB	'rmor and health for you and your recently purchased vehicle(s'
	DB	'), and %.0f%% discount to all purchases.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DI@HMIDAHLN@?$FLVeteran?$FN?3?5Congratulations?$CB?5You?8@
CONST	SEGMENT
??_C@_0DI@HMIDAHLN@?$FLVeteran?$FN?3?5Congratulations?$CB?5You?8@ DB '[Ve'
	DB	'teran]: Congratulations! You''ve been promoted to %s.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DD@HIINGLDE@msg?5?$FLVeteran?$FN?3?5?$CFls?5has?5been?5prom@
CONST	SEGMENT
??_C@_0DD@HIINGLDE@msg?5?$FLVeteran?$FN?3?5?$CFls?5has?5been?5prom@ DB 'm'
	DB	'sg [Veteran]: %ls has been promoted to %s Status.', 00H ; `string'
CONST	ENDS
;	COMDAT __real@42c80000
CONST	SEGMENT
__real@42c80000 DD 042c80000r			; 100
CONST	ENDS
;	COMDAT ??_C@_0O@GJIAFLPK@CnC_Visceroid?$AA@
CONST	SEGMENT
??_C@_0O@GJIAFLPK@CnC_Visceroid?$AA@ DB 'CnC_Visceroid', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Promote@gzVeteranClass@@QAE_NXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Promote@gzVeteranClass@@QAE_NXZ$0
__ehfuncinfo$?Promote@gzVeteranClass@@QAE_NXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Promote@gzVeteranClass@@QAE_NXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
xdata$x	ENDS
;	COMDAT ?Promote@gzVeteranClass@@QAE_NXZ
_TEXT	SEGMENT
$T67956 = -28						; size = 4
_maxArmor$58299 = -28					; size = 4
$T67960 = -24						; size = 4
_maxHealth$58301 = -24					; size = 4
$T67912 = -20						; size = 8
__$EHRec$ = -12						; size = 12
?Promote@gzVeteranClass@@QAE_NXZ PROC			; gzVeteranClass::Promote, COMDAT
; _this$ = ecx

; 289  : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Promote@gzVeteranClass@@QAE_NXZ
	push	eax
	mov	DWORD PTR fs:0, esp

; 290  : #if VERC(1, 1, 0)
; 291  : 	if (!cGame->Is_Gameplay_Permitted())
; 292  : 		return false;
; 293  : #endif
; 294  : 
; 295  : 	if (!gzVeteranMgr->GetSettings()->m_enable || this->m_nextLevel == NULL)

	mov	eax, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	mov	eax, DWORD PTR [eax+40]
	sub	esp, 16					; 00000010H
	cmp	BYTE PTR [eax+24], 0
	push	esi
	mov	esi, ecx
	je	$LN3@Promote
	cmp	DWORD PTR [esi+48], 0
	je	$LN3@Promote

; 296  : 		return false;
; 297  : 
; 298  : 	if (this->GetOwner()->GetSoldier() && !stricmp(this->GetOwner()->GetSoldier()->definition->Get_Name(), "CnC_Visceroid"))

	mov	ecx, DWORD PTR [esi+36]
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	test	eax, eax
	je	SHORT $LN2@Promote
	mov	ecx, DWORD PTR [esi+36]
	call	?GetSoldier@gzPlayer@@QAEPAVnc_SoldierGameObj@@XZ ; gzPlayer::GetSoldier
	mov	eax, DWORD PTR [eax+1724]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+48]
	push	OFFSET ??_C@_0O@GJIAFLPK@CnC_Visceroid?$AA@
	call	eax
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax

; 299  : 		return false;

	je	$LN3@Promote
$LN2@Promote:

; 300  : 
; 301  : 	this->m_currLevel = this->m_nextLevel;

	mov	eax, DWORD PTR [esi+48]
	mov	DWORD PTR [esi+44], eax

; 302  : 	this->m_nextLevel = ((gzVeteranMgr->GetSettings()->m_level.Count() - 1) > this->m_currLevel->Level ? gzVeteranMgr->GetSettings()->m_level[this->m_currLevel->Level + 1] : NULL);

	mov	ecx, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	mov	ecx, DWORD PTR [ecx+40]
	mov	edx, DWORD PTR [ecx+84]
	mov	eax, DWORD PTR [eax+8]
	add	edx, -1
	cmp	edx, eax
	jbe	SHORT $LN7@Promote
	mov	edx, DWORD PTR [ecx+76]
	mov	eax, DWORD PTR [edx+eax*4+4]
	jmp	SHORT $LN8@Promote
$LN7@Promote:
	xor	eax, eax
$LN8@Promote:
	mov	DWORD PTR [esi+48], eax

; 303  : 	this->m_promoteTime = this->m_owner->GetPlayerData()->GameTime;

	mov	eax, DWORD PTR [esi+36]
	mov	ecx, DWORD PTR [eax+72]
	fld	DWORD PTR [ecx+32]
	fstp	DWORD PTR [esi+52]

; 304  : 	if (this->m_owner->GetPlayerData()->Owner.Reference)

	mov	ecx, DWORD PTR [eax+72]
	cmp	DWORD PTR [ecx+20], 0
	je	$LN1@Promote

; 305  : 	{
; 306  : 		nc_SoldierGameObj *soldier = this->m_owner->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj();

	mov	eax, ecx
	mov	eax, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	push	edi
	call	eax
	mov	edi, eax

; 307  : 		float maxArmor = gzStatic_Cast(nc_DamageableGameObjDef, soldier->definition)->DefenseDef.ShieldStrengthMax.Get() / 100.0f * (100.0f + this->m_currLevel->AddArmor);

	mov	ecx, DWORD PTR [edi+1724]
	add	ecx, 92					; 0000005cH
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	ecx, DWORD PTR [esi+44]
	fld	DWORD PTR [ecx+16]

; 308  : 		float maxHealth = gzStatic_Cast(nc_DamageableGameObjDef, soldier->definition)->DefenseDef.HealthMax.Get() / 100.0f * (100.0f + this->m_currLevel->AddHealth);

	mov	ecx, DWORD PTR [edi+1724]
	fadd	DWORD PTR __real@42c80000
	add	ecx, 80					; 00000050H
	fmulp	ST(1), ST(0)
	fmul	DWORD PTR __real@3c23d70a
	fstp	DWORD PTR _maxArmor$58299[esp+36]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	mov	edx, DWORD PTR [esi+44]
	fld	DWORD PTR [edx+12]

; 309  : 		soldier->Defense.ShieldStrengthMax = maxArmor;

	lea	eax, DWORD PTR $T67956[esp+36]
	fadd	DWORD PTR __real@42c80000
	push	eax
	lea	ecx, DWORD PTR [edi+1856]
	push	ecx
	fmulp	ST(1), ST(0)
	fmul	DWORD PTR __real@3c23d70a
	fstp	DWORD PTR _maxHealth$58301[esp+44]
	fld	DWORD PTR _maxArmor$58299[esp+44]
	fstp	DWORD PTR $T67956[esp+44]
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 310  : 		soldier->Defense.HealthMax = maxHealth;

	fld	DWORD PTR _maxHealth$58301[esp+36]
	lea	edx, DWORD PTR $T67960[esp+36]
	push	edx
	fstp	DWORD PTR $T67960[esp+40]
	lea	eax, DWORD PTR [edi+1844]
	push	eax
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 311  : 		soldier->Set_Object_Dirty_Bit(nc_DB_OCCASIONAL, true);

	mov	edx, DWORD PTR [edi+8]
	mov	eax, DWORD PTR [edx+56]
	lea	ecx, DWORD PTR [edi+8]
	push	1
	push	3
	call	eax
	pop	edi
$LN1@Promote:

; 312  : 	}
; 313  : 	gzConsole::In(
; 314  : 		"msg [Veteran]: %ls has been promoted to %s Status.",
; 315  : 		this->m_owner->GetPlayerName().GetString(),
; 316  : 		this->m_currLevel->Name.GetString()
; 317  : 	);

	lea	ecx, DWORD PTR $T67912[esp+32]
	push	ecx
	mov	ecx, DWORD PTR [esi+36]
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	ecx, DWORD PTR [esi+44]
	mov	ecx, DWORD PTR [ecx+4]
	test	ecx, ecx
	mov	DWORD PTR __$EHRec$[esp+40], 0
	je	SHORT $LN36@Promote
	mov	ecx, DWORD PTR [ecx]
	jmp	SHORT $LN37@Promote
$LN36@Promote:
	xor	ecx, ecx
$LN37@Promote:
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN42@Promote
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN43@Promote
$LN42@Promote:
	xor	eax, eax
$LN43@Promote:
	push	ecx
	push	eax
	push	OFFSET ??_C@_0DD@HIINGLDE@msg?5?$FLVeteran?$FN?3?5?$CFls?5has?5been?5prom@
	call	?In@gzConsole@@SAXPBDZZ			; gzConsole::In
	add	esp, 12					; 0000000cH
	lea	ecx, DWORD PTR $T67912[esp+32]
	mov	DWORD PTR __$EHRec$[esp+40], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 318  : 	PagePlayer(
; 319  : 		this->m_owner->GetPlayerData()->PlayerId,
; 320  : 		"[Veteran]: Congratulations! You've been promoted to %s.",
; 321  : 		this->m_currLevel->Name.GetString()
; 322  : 	);

	mov	eax, DWORD PTR [esi+44]
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN51@Promote
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN52@Promote
$LN51@Promote:
	xor	eax, eax
$LN52@Promote:
	mov	edx, DWORD PTR [esi+36]
	push	eax
	mov	eax, DWORD PTR [edx+72]
	mov	ecx, DWORD PTR [eax+1884]
	push	OFFSET ??_C@_0DI@HMIDAHLN@?$FLVeteran?$FN?3?5Congratulations?$CB?5You?8@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 323  : 	PagePlayer(
; 324  : 		this->m_owner->GetPlayerData()->PlayerId,
; 325  : 		"[Veteran]: Your status provide %.0f%% and %.0f%% extra of max armor and health for you and your recently purchased vehicle(s), and %.0f%% discount to all purchases.",
; 326  : 		this->m_currLevel->AddArmor,
; 327  : 		this->m_currLevel->AddHealth,
; 328  : 		this->m_currLevel->Discount
; 329  : 	);

	mov	eax, DWORD PTR [esi+44]
	fld	DWORD PTR [eax+20]
	mov	edx, DWORD PTR [esi+36]
	sub	esp, 12					; 0000000cH
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR [eax+12]
	fstp	QWORD PTR [esp+8]
	fld	DWORD PTR [eax+16]
	mov	eax, DWORD PTR [edx+72]
	mov	ecx, DWORD PTR [eax+1884]
	fstp	QWORD PTR [esp]
	push	OFFSET ??_C@_0KF@JGEEANJO@?$FLVeteran?$FN?3?5Your?5status?5provide?5?$CF@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 32					; 00000020H

; 330  : 	return true;

	mov	al, 1
	pop	esi

; 331  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	mov	DWORD PTR fs:0, ecx
	add	esp, 28					; 0000001cH
	ret	0
$LN3@Promote:
	mov	ecx, DWORD PTR __$EHRec$[esp+32]
	xor	al, al
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 28					; 0000001cH
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Promote@gzVeteranClass@@QAE_NXZ$0:
	lea	ecx, DWORD PTR $T67912[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Promote@gzVeteranClass@@QAE_NXZ:
	mov	eax, OFFSET __ehfuncinfo$?Promote@gzVeteranClass@@QAE_NXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Promote@gzVeteranClass@@QAE_NXZ ENDP			; gzVeteranClass::Promote
PUBLIC	??_C@_0EC@HLKIKBLC@?$FLVeteran?$FN?5Error?5?9?5Unable?5to?5find@ ; `string'
;	COMDAT ??_C@_0EC@HLKIKBLC@?$FLVeteran?$FN?5Error?5?9?5Unable?5to?5find@
CONST	SEGMENT
??_C@_0EC@HLKIKBLC@?$FLVeteran?$FN?5Error?5?9?5Unable?5to?5find@ DB '[Vet'
	DB	'eran] Error - Unable to find class definition for preset: %s', 0aH
	DB	00H						; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Created@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
tv265 = 8						; size = 4
_obj$ = 8						; size = 4
?Created@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserverVeteranBeacon::Created, COMDAT
; _this$ = ecx

; 372  : 	if (!gzVeteranMgr->GetSettings()->m_enable || obj->definition->Get_Class_ID() != 0x3016)

	mov	eax, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	push	esi
	push	edi
	mov	edi, ecx
	mov	ecx, DWORD PTR [eax+40]
	cmp	BYTE PTR [ecx+24], 0
	je	SHORT $LN6@Created@2
	mov	esi, DWORD PTR _obj$[esp+4]
	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+32]
	call	eax
	cmp	eax, 12310				; 00003016H
	jne	SHORT $LN6@Created@2

; 373  : 	{
; 374  : 		this->Destroy_Script();
; 375  : 		return;
; 376  : 	}
; 377  : 
; 378  : 	this->m_data = gzVeteranMgr->FindPresetSetting(obj->definition->Get_Name());

	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	push	eax
	call	?FindPresetSetting@gzVeteranManagerClass@@QAEPBUgzVeteranPresetDefStruct@@PBD@Z ; gzVeteranManagerClass::FindPresetSetting

; 379  : 	if (this->m_data == NULL)

	test	eax, eax
	mov	DWORD PTR [edi+28], eax
	jne	SHORT $LN5@Created@2

; 380  : 	{
; 381  : #ifdef VETMSG
; 382  : 		gzConsole::Out("[Veteran] Error - Unable to find class definition for preset: %s\n", obj->definition->Get_Name());

	mov	ecx, DWORD PTR [esi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	push	eax
	push	OFFSET ??_C@_0EC@HLKIKBLC@?$FLVeteran?$FN?5Error?5?9?5Unable?5to?5find@
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out
	add	esp, 8
$LN6@Created@2:
	mov	ecx, edi
	call	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ ; nc_ScriptImpClass::Destroy_Script
	pop	edi
	pop	esi

; 391  : 	}
; 392  : }

	ret	4
$LN5@Created@2:

; 383  : #endif
; 384  : 		this->Destroy_Script();
; 385  : 	}
; 386  : 	else
; 387  : 	{
; 388  : 		this->m_maxHealth = obj->As_DamageableGameObj()->Defense.Health.Get() + obj->As_DamageableGameObj()->Defense.ShieldStrength.Get();

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1852				; 0000073cH
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR tv265[esp+4]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1840				; 00000730H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fadd	DWORD PTR tv265[esp+4]
	add	edi, 36					; 00000024H

; 389  : 		for (int i = 1; i <= 127; i++)
; 390  : 			this->m_damage[i] = 0.0f;

	mov	ecx, 127				; 0000007fH
	fstp	DWORD PTR [edi+508]
	xor	eax, eax
	rep stosd
	pop	edi
	pop	esi

; 391  : 	}
; 392  : }

	ret	4
?Created@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzObserverVeteranBeacon::Created
_TEXT	ENDS
PUBLIC	__real@42700000
EXTRN	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z:PROC ; nc_ScriptableGameObj::Start_Observer_Timer
;	COMDAT __real@42700000
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
__real@42700000 DD 042700000r			; 60
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
CONST	ENDS
;	COMDAT ?Created@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserverVeteranBuilding::Created, COMDAT
; _this$ = ecx

; 524  : 	if (!gzVeteranMgr->GetSettings()->m_enable || !obj->As_BuildingGameObj())

	mov	eax, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR [eax+40]
	cmp	BYTE PTR [ecx+24], 0
	push	edi
	je	SHORT $LN6@Created@3
	mov	edi, DWORD PTR _obj$[esp+4]
	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+64]
	mov	ecx, edi
	call	eax
	test	eax, eax
	je	SHORT $LN6@Created@3

; 525  : 	{
; 526  : 		this->Destroy_Script();
; 527  : 		return;
; 528  : 	}
; 529  : 
; 530  : 	this->m_data = gzVeteranMgr->FindPresetSetting(obj->definition->Get_Name());

	mov	ecx, DWORD PTR [edi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	push	eax
	call	?FindPresetSetting@gzVeteranManagerClass@@QAEPBUgzVeteranPresetDefStruct@@PBD@Z ; gzVeteranManagerClass::FindPresetSetting

; 531  : 	if (this->m_data == NULL)

	test	eax, eax
	mov	DWORD PTR [esi+28], eax
	jne	SHORT $LN5@Created@3

; 532  : 	{
; 533  : #ifdef VETMSG
; 534  : 		gzConsole::Out("[Veteran] Error - Unable to find class definition for preset: %s\n", obj->definition->Get_Name());

	mov	ecx, DWORD PTR [edi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	push	eax
	push	OFFSET ??_C@_0EC@HLKIKBLC@?$FLVeteran?$FN?5Error?5?9?5Unable?5to?5find@
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out
	add	esp, 8
$LN6@Created@3:
	mov	ecx, esi
	call	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ ; nc_ScriptImpClass::Destroy_Script
	pop	edi
	pop	esi

; 549  : 	}
; 550  : }

	ret	4
$LN5@Created@3:

; 535  : #endif
; 536  : 		this->Destroy_Script();
; 537  : 	}
; 538  : 	else
; 539  : 	{
; 540  : 		for (int i = 1; i <= 127; i++)

	fldz
	lea	eax, DWORD PTR [esi+548]
	mov	ecx, 127				; 0000007fH
$LN3@Created@3:

; 541  : 		{
; 542  : 			this->m_damage[i] = 0.0f;

	fst	DWORD PTR [eax-512]
	add	eax, 4
	sub	ecx, 1

; 543  : 			this->m_repair[i] = 0.0f;

	fst	DWORD PTR [eax-4]
	jne	SHORT $LN3@Created@3

; 544  : 		}
; 545  : 		this->m_allowRepair = 0.0f;

	fst	DWORD PTR [esi+1056]

; 546  : 		this->m_totalDamage = 0.0f;
; 547  : 
; 548  : 		obj->Start_Observer_Timer(this->GetID(), 60.0f, 2);

	push	2
	push	ecx
	fstp	DWORD PTR [esi+1060]
	mov	ecx, DWORD PTR [esi+4]
	fld	DWORD PTR __real@42700000
	fstp	DWORD PTR [esp]
	push	ecx
	mov	ecx, edi
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	edi
	pop	esi

; 549  : 	}
; 550  : }

	ret	4
?Created@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzObserverVeteranBuilding::Created
_TEXT	ENDS
EXTRN	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z:PROC ; gzPlayerManager::Find
; Function compile flags: /Ogtpy
;	COMDAT ?Created@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
$T68080 = -8						; size = 4
$T68090 = -4						; size = 4
$T68085 = -4						; size = 4
_newHealth$58655 = -4					; size = 4
$T68095 = 8						; size = 4
_newArmor$58653 = 8					; size = 4
_obj$ = 8						; size = 4
?Created@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserverVeteranSoldier::Created, COMDAT
; _this$ = ecx

; 669  : 	if (!gzVeteranMgr->GetSettings()->m_enable || obj->definition->Get_Class_ID() != 0x3001 || !obj->As_SoldierGameObj()->Player)

	mov	eax, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	sub	esp, 8
	push	ebx
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR [eax+40]
	cmp	BYTE PTR [ecx+24], 0
	je	SHORT $LN7@Created@4
	mov	ebx, DWORD PTR _obj$[esp+12]
	mov	ecx, DWORD PTR [ebx+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+32]
	call	eax
	cmp	eax, 12289				; 00003001H
	jne	SHORT $LN7@Created@4
	mov	edx, DWORD PTR [ebx]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, ebx
	call	eax
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN7@Created@4

; 670  : 	{
; 671  : 		this->Destroy_Script();
; 672  : 		return;
; 673  : 	}
; 674  : 
; 675  : 	this->m_data = gzVeteranMgr->FindPresetSetting(obj->definition->Get_Name());

	mov	ecx, DWORD PTR [ebx+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	push	eax
	call	?FindPresetSetting@gzVeteranManagerClass@@QAEPBUgzVeteranPresetDefStruct@@PBD@Z ; gzVeteranManagerClass::FindPresetSetting

; 676  : 	if (this->m_data == NULL)

	test	eax, eax
	mov	DWORD PTR [esi+28], eax
	jne	SHORT $LN6@Created@4

; 677  : 	{
; 678  : #ifdef VETMSG
; 679  : 		gzConsole::Out("[Veteran] Error - Unable to find class definition for preset: %s\n", obj->definition->Get_Name());

	mov	ecx, DWORD PTR [ebx+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	push	eax
	push	OFFSET ??_C@_0EC@HLKIKBLC@?$FLVeteran?$FN?5Error?5?9?5Unable?5to?5find@
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out
	add	esp, 8
$LN7@Created@4:
	mov	ecx, esi
	call	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ ; nc_ScriptImpClass::Destroy_Script
	pop	esi
	pop	ebx

; 706  : 	}
; 707  : }

	add	esp, 8
	ret	4
$LN6@Created@4:

; 680  : #endif
; 681  : 		this->Destroy_Script();
; 682  : 	}
; 683  : 	else
; 684  : 	{
; 685  : 		for (int i = 1; i <= 127; i++)

	fldz
	lea	eax, DWORD PTR [esi+548]
	mov	ecx, 127				; 0000007fH
$LN4@Created@4:

; 686  : 		{
; 687  : 			this->m_damage[i] = 0.0f;

	fst	DWORD PTR [eax-512]
	add	eax, 4
	sub	ecx, 1

; 688  : 			this->m_repair[i] = 0.0f;

	fst	DWORD PTR [eax-4]
	jne	SHORT $LN4@Created@4

; 689  : 		}
; 690  : 		this->m_allowRepair		= 0.0f;

	fst	DWORD PTR [esi+1056]
	push	edi

; 691  : 		this->m_totalDamage		= 0.0f;

	fstp	DWORD PTR [esi+1060]

; 692  : 		this->m_soldier			= obj->As_SoldierGameObj();

	mov	edx, DWORD PTR [ebx]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, ebx
	call	eax
	mov	DWORD PTR [esi+1064], eax

; 693  : 		gzPlayer *gzData		= gzPlayerManager::Find(this->m_soldier->Player);

	mov	ecx, DWORD PTR [eax+2400]
	push	ecx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z ; gzPlayerManager::Find
	mov	edi, eax
	add	esp, 4

; 694  : 		if (gzData)

	test	edi, edi
	je	$LN35@Created@4

; 695  : 		{
; 696  : 			float newArmor = (gzStatic_Cast(nc_SoldierGameObjDef, this->m_soldier->definition)->DefenseDef.ShieldStrengthMax.Get() / 100.0f * (100.0f + gzData->GetVeteran()->GetCurrentLevel()->AddArmor));

	mov	eax, DWORD PTR [esi+1064]
	mov	ecx, DWORD PTR [eax+1724]
	mov	edx, DWORD PTR [edi+64]
	push	ebp
	mov	ebp, DWORD PTR [edx+44]
	add	ecx, 92					; 0000005cH
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fld	DWORD PTR [ebp+16]
	fadd	DWORD PTR __real@42c80000

; 697  : 			float newHealth = (gzStatic_Cast(nc_SoldierGameObjDef, this->m_soldier->definition)->DefenseDef.HealthMax.Get() / 100.0f * (100.0f + gzData->GetVeteran()->GetCurrentLevel()->AddHealth));

	mov	ecx, DWORD PTR [edi+64]
	mov	edi, DWORD PTR [ecx+44]
	mov	edx, DWORD PTR [esi+1064]
	mov	ecx, DWORD PTR [edx+1724]
	fmulp	ST(1), ST(0)
	add	ecx, 80					; 00000050H
	fmul	DWORD PTR __real@3c23d70a
	fstp	DWORD PTR _newArmor$58653[esp+20]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fld	DWORD PTR [edi+12]

; 698  : 			this->m_soldier->Defense.Health = newHealth;

	mov	ecx, DWORD PTR [esi+1064]
	fadd	DWORD PTR __real@42c80000
	lea	eax, DWORD PTR $T68080[esp+24]
	push	eax
	add	ecx, 1840				; 00000730H
	fmulp	ST(1), ST(0)
	push	ecx
	fmul	DWORD PTR __real@3c23d70a
	fst	DWORD PTR _newHealth$58655[esp+32]
	fstp	DWORD PTR $T68080[esp+32]
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 699  : 			this->m_soldier->Defense.HealthMax = newHealth;

	mov	eax, DWORD PTR [esi+1064]
	fld	DWORD PTR _newHealth$58655[esp+24]
	lea	edx, DWORD PTR $T68085[esp+24]
	fstp	DWORD PTR $T68085[esp+24]
	push	edx
	add	eax, 1844				; 00000734H
	push	eax
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 700  : 			this->m_soldier->Defense.ShieldStrength = newArmor;

	fld	DWORD PTR _newArmor$58653[esp+20]
	mov	edx, DWORD PTR [esi+1064]
	fstp	DWORD PTR $T68090[esp+24]
	lea	ecx, DWORD PTR $T68090[esp+24]
	push	ecx
	add	edx, 1852				; 0000073cH
	push	edx
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 701  : 			this->m_soldier->Defense.ShieldStrengthMax = newArmor;

	fld	DWORD PTR _newArmor$58653[esp+20]
	mov	ecx, DWORD PTR [esi+1064]
	fstp	DWORD PTR $T68095[esp+20]
	lea	eax, DWORD PTR $T68095[esp+20]
	push	eax
	add	ecx, 1856				; 00000740H
	push	ecx
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 702  : 			this->m_soldier->Set_Object_Dirty_Bit(nc_DB_OCCASIONAL, true);

	mov	ecx, DWORD PTR [esi+1064]
	mov	edx, DWORD PTR [ecx+8]
	mov	eax, DWORD PTR [edx+56]
	add	ecx, 8
	push	1
	push	3
	call	eax
	pop	ebp
$LN35@Created@4:

; 703  : 		}
; 704  : 		obj->Start_Observer_Timer(this->GetID(), 1.0f, 1);

	fld1
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR [esi+4]
	push	ecx
	mov	ecx, ebx
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer

; 705  : 		obj->Start_Observer_Timer(this->GetID(), 60.0f, 2);

	fld	DWORD PTR __real@42700000
	mov	edx, DWORD PTR [esi+4]
	push	2
	push	ecx
	fstp	DWORD PTR [esp]
	push	edx
	mov	ecx, ebx
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	edi
	pop	esi
	pop	ebx

; 706  : 	}
; 707  : }

	add	esp, 8
	ret	4
?Created@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzObserverVeteranSoldier::Created
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Created@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserverVeteranVehicle::Created, COMDAT
; _this$ = ecx

; 851  : 	if (!gzVeteranMgr->GetSettings()->m_enable || obj->definition->Get_Class_ID() != 0x3010)

	mov	eax, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR [eax+40]
	cmp	BYTE PTR [ecx+24], 0
	push	edi
	je	SHORT $LN7@Created@5
	mov	edi, DWORD PTR _obj$[esp+4]
	mov	ecx, DWORD PTR [edi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+32]
	call	eax
	cmp	eax, 12304				; 00003010H
	jne	SHORT $LN7@Created@5

; 852  : 	{
; 853  : 		this->Destroy_Script();
; 854  : 		return;
; 855  : 	}
; 856  : 
; 857  : 	this->m_data = gzVeteranMgr->FindPresetSetting(obj->definition->Get_Name());

	mov	ecx, DWORD PTR [edi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	push	eax
	call	?FindPresetSetting@gzVeteranManagerClass@@QAEPBUgzVeteranPresetDefStruct@@PBD@Z ; gzVeteranManagerClass::FindPresetSetting

; 858  : 	if (this->m_data == NULL)

	test	eax, eax
	mov	DWORD PTR [esi+28], eax
	jne	SHORT $LN6@Created@5

; 859  : 	{
; 860  : #ifdef VETMSG
; 861  : 		gzConsole::Out("[Veteran] Error - Unable to find class definition for preset: %s\n", obj->definition->Get_Name());

	mov	ecx, DWORD PTR [edi+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	push	eax
	push	OFFSET ??_C@_0EC@HLKIKBLC@?$FLVeteran?$FN?5Error?5?9?5Unable?5to?5find@
	call	?Out@gzConsole@@SAXPBDZZ		; gzConsole::Out
	add	esp, 8
$LN7@Created@5:
	mov	ecx, esi
	call	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ ; nc_ScriptImpClass::Destroy_Script
$LN1@Created@5:
	pop	edi
	pop	esi

; 882  : 	}
; 883  : }

	ret	4
$LN6@Created@5:

; 862  : #endif
; 863  : 		this->Destroy_Script();
; 864  : 	}
; 865  : 	else
; 866  : 	{
; 867  : 		for (int i = 1; i <= 127; i++)

	fldz
	lea	eax, DWORD PTR [esi+548]
	mov	ecx, 127				; 0000007fH
$LN4@Created@5:

; 868  : 		{
; 869  : 			this->m_damage[i] = 0.0f;

	fst	DWORD PTR [eax-512]
	add	eax, 4
	sub	ecx, 1

; 870  : 			this->m_repair[i] = 0.0f;

	fst	DWORD PTR [eax-4]
	jne	SHORT $LN4@Created@5

; 871  : 		}
; 872  : 		this->m_allowRepair		= 0.0f;

	fst	DWORD PTR [esi+1056]

; 873  : 		this->m_totalDamage		= 0.0f;
; 874  : 		this->m_vehicle			= obj->As_VehicleGameObj();

	mov	ecx, edi
	fstp	DWORD PTR [esi+1060]
	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+40]
	call	eax

; 875  : 		this->m_stolen			= false;
; 876  : 		this->m_purchaser		= NULL;
; 877  : 
; 878  : 		obj->Start_Observer_Timer(this->GetID(), 60.0f, 2);

	fld	DWORD PTR __real@42700000
	push	2
	push	ecx
	mov	ecx, DWORD PTR [esi+4]
	fstp	DWORD PTR [esp]
	push	ecx
	mov	ecx, edi
	mov	DWORD PTR [esi+1064], eax
	mov	BYTE PTR [esi+1072], 0
	mov	DWORD PTR [esi+1068], 0
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer

; 879  : 
; 880  : 		if (this->m_vehicle->SeatsList.Length() > 0)

	mov	edx, DWORD PTR [esi+1064]
	cmp	DWORD PTR [edx+2484], 0
	jle	SHORT $LN1@Created@5

; 881  : 			obj->Start_Observer_Timer(this->GetID(), 0.01f, 10);

	fld	DWORD PTR __real@3c23d70a
	mov	eax, DWORD PTR [esi+4]
	push	10					; 0000000aH
	push	ecx
	fstp	DWORD PTR [esp]
	push	eax
	mov	ecx, edi
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	edi
	pop	esi

; 882  : 	}
; 883  : }

	ret	4
?Created@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzObserverVeteranVehicle::Created
_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	??1?$aVector@PAVaStringData@@@@UAE@XZ		; aVector<aStringData *>::~aVector<aStringData *>
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ??1?$aVector@PAVaStringData@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAVaStringData@@@@UAE@XZ PROC		; aVector<aStringData *>::~aVector<aStringData *>, COMDAT
; _this$ = ecx

; 34   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 35   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVaStringData@@@@6B@
	je	SHORT $LN8@aVector
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN8@aVector:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 36   : 	};

	ret	0
??1?$aVector@PAVaStringData@@@@UAE@XZ ENDP		; aVector<aStringData *>::~aVector<aStringData *>
_TEXT	ENDS
PUBLIC	??_7?$aStringArrayBase@VaWideString@@@@6B@	; aStringArrayBase<aWideString>::`vftable'
PUBLIC	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ	; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
PUBLIC	??_R4?$aStringArrayBase@VaWideString@@@@6B@	; aStringArrayBase<aWideString>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aStringArrayBase@VaWideString@@@@@8	; aStringArrayBase<aWideString> `RTTI Type Descriptor'
PUBLIC	??_R3?$aStringArrayBase@VaWideString@@@@8	; aStringArrayBase<aWideString>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aStringArrayBase@VaWideString@@@@8	; aStringArrayBase<aWideString>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aStringArrayBase@VaWideString@@@@8 ; aStringArrayBase<aWideString>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z ; aStringArrayBase<aWideString>::Delete
EXTRN	??_E?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z:PROC ; aStringArrayBase<aWideString>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aStringArrayBase@VaWideString@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aStringArrayBase@VaWideString@@@@8 DD FLAT:??_R0?AV?$aStringArrayBase@VaWideString@@@@@8 ; aStringArrayBase<aWideString>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aStringArrayBase@VaWideString@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aStringArrayBase@VaWideString@@@@8
rdata$r	SEGMENT
??_R2?$aStringArrayBase@VaWideString@@@@8 DD FLAT:??_R1A@?0A@EA@?$aStringArrayBase@VaWideString@@@@8 ; aStringArrayBase<aWideString>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R3?$aStringArrayBase@VaWideString@@@@8
rdata$r	SEGMENT
??_R3?$aStringArrayBase@VaWideString@@@@8 DD 00H	; aStringArrayBase<aWideString>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$aStringArrayBase@VaWideString@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aStringArrayBase@VaWideString@@@@@8
_DATA	SEGMENT
??_R0?AV?$aStringArrayBase@VaWideString@@@@@8 DD FLAT:??_7type_info@@6B@ ; aStringArrayBase<aWideString> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aStringArrayBase@VaWideString@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aStringArrayBase@VaWideString@@@@6B@
rdata$r	SEGMENT
??_R4?$aStringArrayBase@VaWideString@@@@6B@ DD 00H	; aStringArrayBase<aWideString>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aStringArrayBase@VaWideString@@@@@8
	DD	FLAT:??_R3?$aStringArrayBase@VaWideString@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aStringArrayBase@VaWideString@@@@6B@
CONST	SEGMENT
??_7?$aStringArrayBase@VaWideString@@@@6B@ DD FLAT:??_R4?$aStringArrayBase@VaWideString@@@@6B@ ; aStringArrayBase<aWideString>::`vftable'
	DD	FLAT:??_E?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z
	DD	FLAT:?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z
	DD	FLAT:?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ$0
__ehfuncinfo$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\astring.h
xdata$x	ENDS
;	COMDAT ??1?$aStringArrayBase@VaWideString@@@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$aStringArrayBase@VaWideString@@@@UAE@XZ PROC	; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>, COMDAT
; _this$ = ecx

; 76   : 	{

	push	-1
	push	__ehhandler$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+24], esi
	mov	DWORD PTR [esi], OFFSET ??_7?$aStringArrayBase@VaWideString@@@@6B@
	xor	edi, edi
	mov	DWORD PTR __$EHRec$[esp+32], edi

; 77   : 		this->Clear();

	call	?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ ; aStringArrayBase<aWideString>::Clear

; 78   : 	};

	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVaStringData@@@@6B@
	je	SHORT $LN11@aStringArr
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN11@aStringArr:
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$aVector@PAVaStringData@@@@UAE@XZ	; aVector<aStringData *>::~aVector<aStringData *>
__ehhandler$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1?$aStringArrayBase@VaWideString@@@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ENDP	; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
; Function compile flags: /Ogtpy
;	COMDAT ?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z PROC	; aStringArrayBase<aWideString>::Delete, COMDAT
; _this$ = ecx

; 114  : 	{

	push	esi
	push	edi

; 115  : 		if (index >= this->m_items)

	mov	edi, DWORD PTR _index$[esp+4]
	mov	esi, ecx
	cmp	edi, DWORD PTR [esi+12]
	jae	SHORT $LN2@Delete@6

; 116  : 			return;
; 117  : 		this->m_vector[index]->DecRef();

	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax+edi*4]
	call	?DecRef@aStringData@@QAEXXZ		; aStringData::DecRef

; 118  : 		this->aVector<aStringData*>::Delete(index);

	push	edi
	mov	ecx, esi
	call	?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z ; aVector<aStringData *>::Delete
$LN2@Delete@6:
	pop	edi
	pop	esi

; 119  : 	};

	ret	4
?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z ENDP	; aStringArrayBase<aWideString>::Delete
_TEXT	ENDS
PUBLIC	??1?$aVector@PAUgzVeteranPresetDefStruct@@@@UAE@XZ ; aVector<gzVeteranPresetDefStruct *>::~aVector<gzVeteranPresetDefStruct *>
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ??1?$aVector@PAUgzVeteranPresetDefStruct@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAUgzVeteranPresetDefStruct@@@@UAE@XZ PROC	; aVector<gzVeteranPresetDefStruct *>::~aVector<gzVeteranPresetDefStruct *>, COMDAT
; _this$ = ecx

; 34   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 35   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzVeteranPresetDefStruct@@@@6B@
	je	SHORT $LN8@aVector@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN8@aVector@2:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 36   : 	};

	ret	0
??1?$aVector@PAUgzVeteranPresetDefStruct@@@@UAE@XZ ENDP	; aVector<gzVeteranPresetDefStruct *>::~aVector<gzVeteranPresetDefStruct *>
_TEXT	ENDS
PUBLIC	??1?$aVector@PAUgzVeteranLevelDefStruct@@@@UAE@XZ ; aVector<gzVeteranLevelDefStruct *>::~aVector<gzVeteranLevelDefStruct *>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@PAUgzVeteranLevelDefStruct@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAUgzVeteranLevelDefStruct@@@@UAE@XZ PROC	; aVector<gzVeteranLevelDefStruct *>::~aVector<gzVeteranLevelDefStruct *>, COMDAT
; _this$ = ecx

; 34   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 35   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzVeteranLevelDefStruct@@@@6B@
	je	SHORT $LN8@aVector@3
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN8@aVector@3:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 36   : 	};

	ret	0
??1?$aVector@PAUgzVeteranLevelDefStruct@@@@UAE@XZ ENDP	; aVector<gzVeteranLevelDefStruct *>::~aVector<gzVeteranLevelDefStruct *>
_TEXT	ENDS
PUBLIC	??1?$aVector@PAUgzVeteranPointsDefStruct@@@@UAE@XZ ; aVector<gzVeteranPointsDefStruct *>::~aVector<gzVeteranPointsDefStruct *>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@PAUgzVeteranPointsDefStruct@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAUgzVeteranPointsDefStruct@@@@UAE@XZ PROC	; aVector<gzVeteranPointsDefStruct *>::~aVector<gzVeteranPointsDefStruct *>, COMDAT
; _this$ = ecx

; 34   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 35   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzVeteranPointsDefStruct@@@@6B@
	je	SHORT $LN8@aVector@4
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN8@aVector@4:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 36   : 	};

	ret	0
??1?$aVector@PAUgzVeteranPointsDefStruct@@@@UAE@XZ ENDP	; aVector<gzVeteranPointsDefStruct *>::~aVector<gzVeteranPointsDefStruct *>
_TEXT	ENDS
PUBLIC	??1?$aVector@H@@UAE@XZ				; aVector<int>::~aVector<int>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@H@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@H@@UAE@XZ PROC				; aVector<int>::~aVector<int>, COMDAT
; _this$ = ecx

; 34   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 35   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@H@@6B@
	je	SHORT $LN8@aVector@5
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], edi
$LN8@aVector@5:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 36   : 	};

	ret	0
??1?$aVector@H@@UAE@XZ ENDP				; aVector<int>::~aVector<int>
_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>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAVaStringData@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAVaStringData@@@@UAEPAXI@Z PROC		; aVector<aStringData *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVaStringData@@@@6B@
	je	SHORT $LN6@scalar@11
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@11:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@11
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@11:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@PAVaStringData@@@@UAEPAXI@Z ENDP		; aVector<aStringData *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z PROC	; aStringArrayBase<aWideString>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@12
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@12:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aStringArrayBase@VaWideString@@@@UAEPAXI@Z ENDP	; aStringArrayBase<aWideString>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEPAXI@Z PROC ; aVector<gzVeteranPresetDefStruct *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzVeteranPresetDefStruct@@@@6B@
	je	SHORT $LN6@scalar@13
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@13:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@13
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@13:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@PAUgzVeteranPresetDefStruct@@@@UAEPAXI@Z ENDP ; aVector<gzVeteranPresetDefStruct *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEPAXI@Z PROC ; aVector<gzVeteranLevelDefStruct *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzVeteranLevelDefStruct@@@@6B@
	je	SHORT $LN6@scalar@14
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@14:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@14
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@14:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@PAUgzVeteranLevelDefStruct@@@@UAEPAXI@Z ENDP ; aVector<gzVeteranLevelDefStruct *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEPAXI@Z PROC ; aVector<gzVeteranPointsDefStruct *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzVeteranPointsDefStruct@@@@6B@
	je	SHORT $LN6@scalar@15
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@15:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@15
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@15:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@PAUgzVeteranPointsDefStruct@@@@UAEPAXI@Z ENDP ; aVector<gzVeteranPointsDefStruct *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@H@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@H@@UAEPAXI@Z PROC				; aVector<int>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@H@@6B@
	je	SHORT $LN6@scalar@16
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+4], 0
$LN6@scalar@16:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@16
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@16:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@H@@UAEPAXI@Z ENDP				; aVector<int>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??1aWideStringArray@@UAE@XZ			; aWideStringArray::~aWideStringArray
; Function compile flags: /Ogtpy
;	COMDAT ??1aWideStringArray@@UAE@XZ
_TEXT	SEGMENT
??1aWideStringArray@@UAE@XZ PROC			; aWideStringArray::~aWideStringArray, COMDAT
; _this$ = ecx
	jmp	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
??1aWideStringArray@@UAE@XZ ENDP			; aWideStringArray::~aWideStringArray
_TEXT	ENDS
PUBLIC	??0?$aStringArrayBase@VaWideString@@@@QAE@XZ	; aStringArrayBase<aWideString>::aStringArrayBase<aWideString>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$aStringArrayBase@VaWideString@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aStringArrayBase@VaWideString@@@@QAE@XZ PROC	; aStringArrayBase<aWideString>::aStringArrayBase<aWideString>, COMDAT
; _this$ = ecx
	mov	eax, ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aStringArrayBase@VaWideString@@@@6B@
	ret	0
??0?$aStringArrayBase@VaWideString@@@@QAE@XZ ENDP	; aStringArrayBase<aWideString>::aStringArrayBase<aWideString>
_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
PUBLIC	??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@ ; `string'
;	COMDAT ??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@ DB 'd:\source'
	DB	' code\fds lib\new\fds_scripts.h', 00H	; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T68391 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 472  : 	nc_ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	472					; 000001d8H
	push	OFFSET ??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	548					; 00000224H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T68391[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create
	mov	ecx, esi
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverVeteranBeacon@@6B@
	jmp	SHORT $LN4@Create
$LN3@Create:
	xor	esi, esi
$LN4@Create:

; 473  : 	scr->SetFactory(this);
; 474  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+100]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	edx

; 475  : 	return scr;
; 476  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T68391[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzObserverVeteranBeacon>::Create
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAVnc_ScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T68414 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzObserverVeteranC4>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAVnc_ScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 472  : 	nc_ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	472					; 000001d8H
	push	OFFSET ??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	548					; 00000224H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T68414[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@2
	mov	ecx, esi
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverVeteranC4@@6B@
	jmp	SHORT $LN4@Create@2
$LN3@Create@2:
	xor	esi, esi
$LN4@Create@2:

; 473  : 	scr->SetFactory(this);
; 474  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+100]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	edx

; 475  : 	return scr;
; 476  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T68414[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzObserverVeteranC4>::Create
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T68437 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 472  : 	nc_ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	472					; 000001d8H
	push	OFFSET ??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	1064					; 00000428H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T68437[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@3
	mov	ecx, esi
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverVeteranBuilding@@6B@
	jmp	SHORT $LN4@Create@3
$LN3@Create@3:
	xor	esi, esi
$LN4@Create@3:

; 473  : 	scr->SetFactory(this);
; 474  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+100]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	edx

; 475  : 	return scr;
; 476  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T68437[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzObserverVeteranBuilding>::Create
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T68460 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 472  : 	nc_ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	472					; 000001d8H
	push	OFFSET ??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	1068					; 0000042cH
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T68460[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@4
	mov	ecx, esi
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverVeteranSoldier@@6B@
	jmp	SHORT $LN4@Create@4
$LN3@Create@4:
	xor	esi, esi
$LN4@Create@4:

; 473  : 	scr->SetFactory(this);
; 474  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+100]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	edx

; 475  : 	return scr;
; 476  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T68460[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzObserverVeteranSoldier>::Create
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Create@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T68483 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 472  : 	nc_ScriptImpClass *scr = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	472					; 000001d8H
	push	OFFSET ??_C@_0CJ@MGEECEHG@d?3?2source?5code?2fds?5lib?2new?2fds_s@
	mov	edi, ecx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	1076					; 00000434H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T68483[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN3@Create@5
	mov	ecx, esi
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverVeteranVehicle@@6B@
	jmp	SHORT $LN4@Create@5
$LN3@Create@5:
	xor	esi, esi
$LN4@Create@5:

; 473  : 	scr->SetFactory(this);
; 474  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+100]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	edx

; 475  : 	return scr;
; 476  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T68483[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzObserverVeteranVehicle>::Create
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzObserverVeteranBeacon@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzObserverVeteranBeacon@@UAEPAXI@Z PROC		; gzObserverVeteranBeacon::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@17
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@17:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzObserverVeteranBeacon@@UAEPAXI@Z ENDP		; gzObserverVeteranBeacon::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzObserverVeteranC4@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzObserverVeteranC4@@UAEPAXI@Z PROC			; gzObserverVeteranC4::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@18
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@18:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzObserverVeteranC4@@UAEPAXI@Z ENDP			; gzObserverVeteranC4::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzObserverVeteranBuilding@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzObserverVeteranBuilding@@UAEPAXI@Z PROC		; gzObserverVeteranBuilding::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@19
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@19:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzObserverVeteranBuilding@@UAEPAXI@Z ENDP		; gzObserverVeteranBuilding::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzObserverVeteranSoldier@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzObserverVeteranSoldier@@UAEPAXI@Z PROC		; gzObserverVeteranSoldier::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@20
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@20:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzObserverVeteranSoldier@@UAEPAXI@Z ENDP		; gzObserverVeteranSoldier::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzObserverVeteranVehicle@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzObserverVeteranVehicle@@UAEPAXI@Z PROC		; gzObserverVeteranVehicle::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@21
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@21:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzObserverVeteranVehicle@@UAEPAXI@Z ENDP		; gzObserverVeteranVehicle::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?Delete@gzSettingsVeteranClass@@UAEXXZ		; gzSettingsVeteranClass::Delete
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
;	COMDAT ?Delete@gzSettingsVeteranClass@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzSettingsVeteranClass@@UAEXXZ PROC		; gzSettingsVeteranClass::Delete, COMDAT
; _this$ = ecx

; 11   : {

	push	ebx
	push	esi
	push	edi
	mov	esi, ecx

; 12   : 	for (unsigned int i = 0; i < this->m_presets.Count(); i++)

	xor	edi, edi
	cmp	DWORD PTR [esi+68], edi
	jbe	SHORT $LN7@Delete@7
	npad	4
$LL9@Delete@7:

; 13   : 		delete this->m_presets[i];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	13					; 0000000dH
	push	OFFSET ??_C@_0BA@FIGKNDDO@?4?2gzveteran?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+60]
	mov	ecx, DWORD PTR [eax+edi*4]
	push	ecx
	call	??3@YAXPAX@Z				; operator delete
	add	edi, 1
	add	esp, 16					; 00000010H
	cmp	edi, DWORD PTR [esi+68]
	jb	SHORT $LL9@Delete@7
$LN7@Delete@7:

; 14   : 	this->m_presets.Clear();

	mov	edx, DWORD PTR [esi+56]
	mov	eax, DWORD PTR [edx+4]
	lea	ecx, DWORD PTR [esi+56]
	call	eax

; 15   : 
; 16   : 	for (unsigned int i = 0; i < this->m_level.Count(); i++)

	xor	ebx, ebx
	cmp	DWORD PTR [esi+84], ebx
	jbe	SHORT $LN4@Delete@7
	npad	6
$LL6@Delete@7:

; 17   : 		delete this->m_level[i];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	17					; 00000011H
	push	OFFSET ??_C@_0BA@FIGKNDDO@?4?2gzveteran?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+76]
	mov	edi, DWORD PTR [ecx+ebx*4]
	add	esp, 12					; 0000000cH
	test	edi, edi
	je	SHORT $LN5@Delete@7
	mov	ecx, edi
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	edi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN5@Delete@7:
	add	ebx, 1
	cmp	ebx, DWORD PTR [esi+84]
	jb	SHORT $LL6@Delete@7
$LN4@Delete@7:

; 18   : 	this->m_level.Clear();

	mov	edx, DWORD PTR [esi+72]
	mov	eax, DWORD PTR [edx+4]
	lea	ecx, DWORD PTR [esi+72]
	call	eax

; 19   : 
; 20   : 	for (unsigned int i = 0; i < this->m_points.Count(); i++)

	xor	ebx, ebx
	cmp	DWORD PTR [esi+100], ebx
	jbe	SHORT $LN1@Delete@7
	npad	8
$LL3@Delete@7:

; 21   : 		delete this->m_points[i];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	21					; 00000015H
	push	OFFSET ??_C@_0BA@FIGKNDDO@?4?2gzveteran?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+92]
	mov	edi, DWORD PTR [ecx+ebx*4]
	add	esp, 12					; 0000000cH
	test	edi, edi
	je	SHORT $LN2@Delete@7
	mov	ecx, edi
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	edi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN2@Delete@7:
	add	ebx, 1
	cmp	ebx, DWORD PTR [esi+100]
	jb	SHORT $LL3@Delete@7
$LN1@Delete@7:

; 22   : 	this->m_points.Clear();

	mov	edx, DWORD PTR [esi+88]
	mov	eax, DWORD PTR [edx+4]
	lea	ecx, DWORD PTR [esi+88]
	call	eax
	pop	edi

; 23   : 	
; 24   : 	this->m_enable = false;

	mov	BYTE PTR [esi+24], 0
	pop	esi
	pop	ebx

; 25   : }

	ret	0
?Delete@gzSettingsVeteranClass@@UAEXXZ ENDP		; gzSettingsVeteranClass::Delete
_TEXT	ENDS
PUBLIC	??_7gzSettingsVeteranClass@@6B@			; gzSettingsVeteranClass::`vftable'
PUBLIC	??0gzSettingsVeteranClass@@QAE@XZ		; gzSettingsVeteranClass::gzSettingsVeteranClass
PUBLIC	??_R4gzSettingsVeteranClass@@6B@		; gzSettingsVeteranClass::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzSettingsVeteranClass@@@8		; gzSettingsVeteranClass `RTTI Type Descriptor'
PUBLIC	??_R3gzSettingsVeteranClass@@8			; gzSettingsVeteranClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzSettingsVeteranClass@@8			; gzSettingsVeteranClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzSettingsVeteranClass@@8		; gzSettingsVeteranClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
;	COMDAT ??_R1A@?0A@EA@gzSettingsVeteranClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzSettingsVeteranClass@@8 DD FLAT:??_R0?AVgzSettingsVeteranClass@@@8 ; gzSettingsVeteranClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzSettingsVeteranClass@@8
rdata$r	ENDS
;	COMDAT ??_R2gzSettingsVeteranClass@@8
rdata$r	SEGMENT
??_R2gzSettingsVeteranClass@@8 DD FLAT:??_R1A@?0A@EA@gzSettingsVeteranClass@@8 ; gzSettingsVeteranClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@stSettingsBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzSettingsVeteranClass@@8
rdata$r	SEGMENT
??_R3gzSettingsVeteranClass@@8 DD 00H			; gzSettingsVeteranClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzSettingsVeteranClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzSettingsVeteranClass@@@8
_DATA	SEGMENT
??_R0?AVgzSettingsVeteranClass@@@8 DD FLAT:??_7type_info@@6B@ ; gzSettingsVeteranClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzSettingsVeteranClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzSettingsVeteranClass@@6B@
rdata$r	SEGMENT
??_R4gzSettingsVeteranClass@@6B@ DD 00H			; gzSettingsVeteranClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzSettingsVeteranClass@@@8
	DD	FLAT:??_R3gzSettingsVeteranClass@@8
rdata$r	ENDS
;	COMDAT ??_7gzSettingsVeteranClass@@6B@
CONST	SEGMENT
??_7gzSettingsVeteranClass@@6B@ DD FLAT:??_R4gzSettingsVeteranClass@@6B@ ; gzSettingsVeteranClass::`vftable'
	DD	FLAT:?Delete@gzSettingsVeteranClass@@UAEXXZ
	DD	FLAT:?Load@gzSettingsVeteranClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzSettingsVeteranClass@@QAE@XZ
_TEXT	SEGMENT
$T68632 = -4						; size = 4
??0gzSettingsVeteranClass@@QAE@XZ PROC			; gzSettingsVeteranClass::gzSettingsVeteranClass, COMDAT
; _this$ = ecx
	push	ecx
	push	esi
	mov	esi, ecx
	push	edi
	xor	edi, edi
	mov	DWORD PTR [esi], OFFSET ??_7stSettingsBase@@6B@
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+16], edi
	mov	DWORD PTR [esi+20], edi
	mov	DWORD PTR [esi+8], edi
	mov	ecx, DWORD PTR ?gzSettingsMgr@@3PAVgzSettingsManager@@A ; gzSettingsMgr
	add	ecx, 36					; 00000024H
	mov	DWORD PTR $T68632[esp+12], esi
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+12]
	lea	edx, DWORD PTR $T68632[esp+12]
	push	edx
	call	eax
	mov	DWORD PTR [esi], OFFSET ??_7gzSettingsVeteranClass@@6B@
	mov	DWORD PTR [esi+60], edi
	mov	DWORD PTR [esi+64], edi
	mov	DWORD PTR [esi+68], edi
	mov	DWORD PTR [esi+56], OFFSET ??_7?$aVector@PAUgzVeteranPresetDefStruct@@@@6B@
	mov	DWORD PTR [esi+76], edi
	mov	DWORD PTR [esi+80], edi
	mov	DWORD PTR [esi+84], edi
	mov	DWORD PTR [esi+72], OFFSET ??_7?$aVector@PAUgzVeteranLevelDefStruct@@@@6B@
	mov	DWORD PTR [esi+92], edi
	mov	DWORD PTR [esi+96], edi
	mov	DWORD PTR [esi+100], edi
	pop	edi
	mov	DWORD PTR [esi+88], OFFSET ??_7?$aVector@PAUgzVeteranPointsDefStruct@@@@6B@
	mov	eax, esi
	pop	esi
	pop	ecx
	ret	0
??0gzSettingsVeteranClass@@QAE@XZ ENDP			; gzSettingsVeteranClass::gzSettingsVeteranClass
_TEXT	ENDS
PUBLIC	??_C@_0BC@FKBODBMN@?5Vet?9Points?5?$CL?$CF?42f?$AA@ ; `string'
PUBLIC	__real@3f847ae147ae147b
PUBLIC	??_C@_0BB@BMOFOJLH@?5Vet?9Points?5?$CF?42f?$AA@	; `string'
PUBLIC	?AddPoints@gzVeteranClass@@QAEXM@Z		; gzVeteranClass::AddPoints
EXTRN	?gzDisplay_Int_Player@@3P6AXPAVnc_ScriptableGameObj@@HPBD@ZA:DWORD ; gzDisplay_Int_Player
EXTRN	?Printf@aString@@QAAXPBDZZ:PROC			; aString::Printf
;	COMDAT ??_C@_0BC@FKBODBMN@?5Vet?9Points?5?$CL?$CF?42f?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BC@FKBODBMN@?5Vet?9Points?5?$CL?$CF?42f?$AA@ DB ' Vet-Points +%.2f'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT __real@3f847ae147ae147b
CONST	SEGMENT
__real@3f847ae147ae147b DQ 03f847ae147ae147br	; 0.01
CONST	ENDS
;	COMDAT ??_C@_0BB@BMOFOJLH@?5Vet?9Points?5?$CF?42f?$AA@
CONST	SEGMENT
??_C@_0BB@BMOFOJLH@?5Vet?9Points?5?$CF?42f?$AA@ DB ' Vet-Points %.2f', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?AddPoints@gzVeteranClass@@QAEXM@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?AddPoints@gzVeteranClass@@QAEXM@Z$0
__ehfuncinfo$?AddPoints@gzVeteranClass@@QAEXM@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?AddPoints@gzVeteranClass@@QAEXM@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
xdata$x	ENDS
;	COMDAT ?AddPoints@gzVeteranClass@@QAEXM@Z
_TEXT	SEGMENT
_pointMsg$58280 = -20					; size = 8
__$EHRec$ = -12						; size = 12
tv250 = 8						; size = 4
_multipler$58288 = 8					; size = 4
_points$ = 8						; size = 4
?AddPoints@gzVeteranClass@@QAEXM@Z PROC			; gzVeteranClass::AddPoints, COMDAT
; _this$ = ecx

; 267  : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?AddPoints@gzVeteranClass@@QAEXM@Z
	push	eax
	mov	DWORD PTR fs:0, esp

; 268  : 	if (gzVeteranMgr->GetSettings()->m_enable)

	mov	eax, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	mov	eax, DWORD PTR [eax+40]
	sub	esp, 8
	cmp	BYTE PTR [eax+24], 0
	push	esi
	mov	esi, ecx
	je	$LN7@AddPoints

; 269  : 	{
; 270  : 		this->m_points += points;

	fld	DWORD PTR [esi+40]

; 271  : 	
; 272  : 		aString pointMsg;

	lea	ecx, DWORD PTR _pointMsg$58280[esp+24]
	fadd	DWORD PTR _points$[esp+20]
	fstp	DWORD PTR [esi+40]
	call	??0aString@@QAE@XZ			; aString::aString

; 273  : 		if (points <= -0.01f)

	fld	DWORD PTR __real@bc23d70a
	fld	DWORD PTR _points$[esp+20]
	mov	DWORD PTR __$EHRec$[esp+32], 0
	fcom	ST(1)
	fnstsw	ax
	fstp	ST(1)
	test	ah, 65					; 00000041H
	jp	SHORT $LN6@AddPoints

; 274  : 			pointMsg.Printf(" Vet-Points %.2f", points);

	sub	esp, 8
	fstp	QWORD PTR [esp]
	lea	ecx, DWORD PTR _pointMsg$58280[esp+32]
	push	OFFSET ??_C@_0BB@BMOFOJLH@?5Vet?9Points?5?$CF?42f?$AA@
	push	ecx
	call	?Printf@aString@@QAAXPBDZZ		; aString::Printf
	add	esp, 16					; 00000010H
	jmp	SHORT $LN4@AddPoints
$LN6@AddPoints:

; 275  : 		else if (points >= 0.01)

	fcom	QWORD PTR __real@3f847ae147ae147b
	fnstsw	ax
	test	ah, 1
	jne	SHORT $LN44@AddPoints

; 276  : 			pointMsg.Printf(" Vet-Points +%.2f", points);

	sub	esp, 8
	fstp	QWORD PTR [esp]
	lea	edx, DWORD PTR _pointMsg$58280[esp+32]
	push	OFFSET ??_C@_0BC@FKBODBMN@?5Vet?9Points?5?$CL?$CF?42f?$AA@
	push	edx
	call	?Printf@aString@@QAAXPBDZZ		; aString::Printf
	add	esp, 16					; 00000010H
	jmp	SHORT $LN4@AddPoints
$LN44@AddPoints:
	fstp	ST(0)
$LN4@AddPoints:

; 277  : 		if (!pointMsg.IsEmpty() && this->m_owner->GetPlayerData()->Owner.Reference)

	mov	eax, DWORD PTR _pointMsg$58280[esp+28]
	test	eax, eax
	je	SHORT $LN3@AddPoints
	cmp	DWORD PTR [eax+4], 0
	je	SHORT $LN3@AddPoints
	mov	ecx, DWORD PTR [eax]
	test	ecx, ecx
	je	SHORT $LN3@AddPoints
	mov	eax, DWORD PTR [esi+36]
	mov	eax, DWORD PTR [eax+72]
	cmp	DWORD PTR [eax+20], 0
	je	SHORT $LN3@AddPoints

; 278  : 			gzDisplay_Int_Player(this->m_owner->GetPlayerData()->Owner.Reference->obj, 0, pointMsg.GetString());

	push	ecx
	mov	ecx, DWORD PTR [eax+20]
	mov	edx, DWORD PTR [ecx+4]
	push	0
	push	edx
	call	DWORD PTR ?gzDisplay_Int_Player@@3P6AXPAVnc_ScriptableGameObj@@HPBD@ZA ; gzDisplay_Int_Player
	add	esp, 12					; 0000000cH
$LN3@AddPoints:
	push	edi

; 279  : 
; 280  : 		if (this->m_nextLevel)

	mov	edi, DWORD PTR [esi+48]
	test	edi, edi
	je	SHORT $LN1@AddPoints

; 281  : 		{
; 282  : 			float multipler = this->GetMultipler();

	mov	ecx, esi
	call	?GetMultipler@gzVeteranClass@@QAEMXZ	; gzVeteranClass::GetMultipler
	fst	DWORD PTR _multipler$58288[esp+24]

; 283  : 			if (this->m_points > (this->m_nextLevel->RequiredPoints * multipler) && this->m_owner->GetPlayerData()->Score.Get() > (this->m_nextLevel->RequiredScore * multipler) && this->m_owner->GetPlayerData()->GameTime > this->m_nextLevel->RequiredGameTime)

	fmul	DWORD PTR [edi+32]
	fcomp	DWORD PTR [esi+40]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN1@AddPoints
	mov	eax, DWORD PTR [esi+36]
	mov	eax, DWORD PTR [eax+72]
	lea	ecx, DWORD PTR [eax+4]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fld	DWORD PTR [edi+36]
	fmul	DWORD PTR _multipler$58288[esp+24]
	fcompp
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN1@AddPoints
	mov	edx, DWORD PTR [edi+40]
	fild	DWORD PTR [edi+40]
	test	edx, edx
	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR [ecx+72]
	jge	SHORT $LN46@AddPoints
	fadd	DWORD PTR __real@4f800000
$LN46@AddPoints:
	fcomp	DWORD PTR [eax+32]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN1@AddPoints

; 284  : 				this->Promote();

	mov	ecx, esi
	call	?Promote@gzVeteranClass@@QAE_NXZ	; gzVeteranClass::Promote
$LN1@AddPoints:

; 285  : 		}
; 286  : 	}

	lea	ecx, DWORD PTR _pointMsg$58280[esp+28]
	mov	DWORD PTR __$EHRec$[esp+36], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	pop	edi
$LN7@AddPoints:

; 287  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?AddPoints@gzVeteranClass@@QAEXM@Z$0:
	lea	ecx, DWORD PTR _pointMsg$58280[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?AddPoints@gzVeteranClass@@QAEXM@Z:
	mov	eax, OFFSET __ehfuncinfo$?AddPoints@gzVeteranClass@@QAEXM@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?AddPoints@gzVeteranClass@@QAEXM@Z ENDP			; gzVeteranClass::AddPoints
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__unwindtable$?Killed@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Killed@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z$0
__ehfuncinfo$?Killed@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Killed@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
xdata$x	ENDS
;	COMDAT ?Killed@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z
_TEXT	SEGMENT
_mostDamage$58366 = -36					; size = 4
tv408 = -32						; size = 4
_damagePoints$58365 = -32				; size = 4
_mostDamager$58404 = -28				; size = 16
__$EHRec$ = -12						; size = 12
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z PROC ; gzObserverVeteranBeacon::Killed, COMDAT
; _this$ = ecx

; 412  : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Killed@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H
	push	ebx
	mov	ebx, ecx

; 413  : 	if (this->m_data)

	mov	eax, DWORD PTR [ebx+28]
	push	ebp
	xor	ebp, ebp
	cmp	eax, ebp
	je	$LN52@Killed

; 414  : 	{
; 415  : 		float damagePoints	= this->m_data->Points->damage;

	mov	eax, DWORD PTR [eax]
	fld	DWORD PTR [eax+8]
	push	esi
	fstp	DWORD PTR _damagePoints$58365[esp+48]
	push	edi

; 416  : 		float mostDamage	= 0.0f;

	fldz

; 417  : 		aVector<int> mostDamager;

	mov	DWORD PTR _mostDamager$58404[esp+52], OFFSET ??_7?$aVector@H@@6B@
	fst	DWORD PTR _mostDamage$58366[esp+52]
	mov	DWORD PTR _mostDamager$58404[esp+56], ebp
	mov	DWORD PTR _mostDamager$58404[esp+60], ebp
	mov	DWORD PTR _mostDamager$58404[esp+64], ebp
	mov	DWORD PTR __$EHRec$[esp+60], ebp

; 418  : 
; 419  : 		for (int i = 1; i <= 127; i++)

	lea	esi, DWORD PTR [ebp+1]
	lea	edi, DWORD PTR [ebx+36]
	jmp	SHORT $LN13@Killed
	npad	6
$LL63@Killed:

; 414  : 	{
; 415  : 		float damagePoints	= this->m_data->Points->damage;

	fld	DWORD PTR _mostDamage$58366[esp+52]
$LN13@Killed:

; 420  : 		{
; 421  : 			if (this->m_damage[i] > 0.0f)

	fldz
	fcomp	DWORD PTR [edi]
	fnstsw	ax
	test	ah, 5
	jp	$LN68@Killed

; 422  : 			{
; 423  : 				if (this->m_damage[i] >= mostDamage)

	fcom	DWORD PTR [edi]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $LN71@Killed

; 424  : 				{
; 425  : 					if (this->m_damage[i] == mostDamage)

	fcomp	DWORD PTR [edi]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN8@Killed

; 426  : 						mostDamager.Add(i);

	mov	ecx, DWORD PTR _mostDamager$58404[esp+60]
	add	ecx, 1
	push	ecx

; 427  : 					else

	jmp	SHORT $LN75@Killed
$LN8@Killed:

; 428  : 					{
; 429  : 						mostDamager.Clear();

	cmp	DWORD PTR _mostDamager$58404[esp+56], ebp
	je	SHORT $LN23@Killed
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR _mostDamager$58404[esp+68]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _mostDamager$58404[esp+56], ebp
$LN23@Killed:
	mov	DWORD PTR _mostDamager$58404[esp+60], ebp
	mov	DWORD PTR _mostDamager$58404[esp+64], ebp

; 430  : 						mostDamager.Add(i);

	push	1
$LN75@Killed:
	mov	edx, DWORD PTR _mostDamager$58404[esp+56]
	mov	eax, DWORD PTR [edx+8]
	lea	ecx, DWORD PTR _mostDamager$58404[esp+56]
	call	eax
	test	al, al
	je	SHORT $LN28@Killed
	mov	ecx, DWORD PTR _mostDamager$58404[esp+60]
	mov	edx, DWORD PTR _mostDamager$58404[esp+56]
	mov	DWORD PTR [edx+ecx*4-4], esi
	add	DWORD PTR _mostDamager$58404[esp+64], 1
$LN28@Killed:

; 431  : 					}
; 432  : 					mostDamage = this->m_damage[i];

	fld	DWORD PTR [edi]
	fstp	DWORD PTR _mostDamage$58366[esp+52]
	jmp	SHORT $LN9@Killed
$LN71@Killed:
	fstp	ST(0)
$LN9@Killed:

; 433  : 				}
; 434  : 				gzPlayer *gzData = gzPlayerManager::Find(i);

	push	esi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	add	esp, 4

; 435  : 				if (gzData)

	cmp	eax, ebp
	je	SHORT $LN12@Killed

; 436  : 					gzData->GetVeteran()->AddPoints(damagePoints / this->m_maxHealth * this->m_damage[i]);

	fld	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax+64]
	fdiv	DWORD PTR [ebx+544]
	push	ecx
	fmul	DWORD PTR _damagePoints$58365[esp+56]
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
	jmp	SHORT $LN12@Killed
$LN68@Killed:
	fstp	ST(0)
$LN12@Killed:

; 418  : 
; 419  : 		for (int i = 1; i <= 127; i++)

	add	esi, 1
	add	edi, 4
	cmp	esi, 127				; 0000007fH
	jle	$LL63@Killed

; 437  : 			}
; 438  : 		}
; 439  : 
; 440  : 		if (mostDamager.Count() == 0)

	mov	eax, DWORD PTR _mostDamager$58404[esp+64]
	cmp	eax, ebp
	jne	SHORT $LN5@Killed

; 441  : 			return;

	cmp	DWORD PTR _mostDamager$58404[esp+56], ebp
	mov	DWORD PTR __$EHRec$[esp+60], -1
	mov	DWORD PTR _mostDamager$58404[esp+52], OFFSET ??_7?$aVector@H@@6B@
	je	$LN65@Killed
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR _mostDamager$58404[esp+68]
	push	eax
	jmp	SHORT $LN76@Killed
$LN5@Killed:

; 442  : 
; 443  : 		for (unsigned int i = 0; i < mostDamager.Count(); i++)

	xor	esi, esi
	cmp	eax, ebp
	jbe	SHORT $LN2@Killed
$LL62@Killed:

; 444  : 		{
; 445  : 			gzPlayer *gzData = gzPlayerManager::Find(mostDamager[i]);

	mov	ecx, DWORD PTR _mostDamager$58404[esp+56]
	mov	edx, DWORD PTR [ecx+esi*4]
	push	edx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	add	esp, 4

; 446  : 			if (gzData)

	cmp	eax, ebp
	je	SHORT $LN3@Killed

; 447  : 				gzData->GetVeteran()->AddPoints(this->m_data->Points->destroy / mostDamager.Count());

	mov	ecx, DWORD PTR [ebx+28]
	fild	DWORD PTR _mostDamager$58404[esp+64]
	mov	edx, DWORD PTR [ecx]
	mov	ecx, DWORD PTR _mostDamager$58404[esp+64]
	test	ecx, ecx
	mov	eax, DWORD PTR [eax+64]
	jge	SHORT $LN73@Killed
	fadd	DWORD PTR __real@4f800000
$LN73@Killed:
	fdivr	DWORD PTR [edx+12]
	push	ecx
	mov	ecx, eax
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
$LN3@Killed:
	add	esi, 1
	cmp	esi, DWORD PTR _mostDamager$58404[esp+64]
	jb	SHORT $LL62@Killed
$LN2@Killed:

; 448  : 		}
; 449  : 	}

	cmp	DWORD PTR _mostDamager$58404[esp+56], ebp
	mov	DWORD PTR __$EHRec$[esp+60], -1
	mov	DWORD PTR _mostDamager$58404[esp+52], OFFSET ??_7?$aVector@H@@6B@
	je	SHORT $LN65@Killed
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR _mostDamager$58404[esp+68]
	push	edx
$LN76@Killed:
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
$LN65@Killed:
	pop	edi
	pop	esi
$LN52@Killed:

; 450  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	pop	ebp
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Killed@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z$0:
	lea	ecx, DWORD PTR _mostDamager$58404[ebp]
	jmp	??1?$aVector@H@@UAE@XZ			; aVector<int>::~aVector<int>
__ehhandler$?Killed@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z:
	mov	eax, OFFSET __ehfuncinfo$?Killed@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Killed@gzObserverVeteranBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z ENDP ; gzObserverVeteranBeacon::Killed
EXTRN	?Get@nc_IntDataSafeClass@@QAEHXZ:PROC		; nc_IntDataSafeClass::Get
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__unwindtable$?Killed@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Killed@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0@Z$0
__ehfuncinfo$?Killed@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Killed@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
xdata$x	ENDS
;	COMDAT ?Killed@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0@Z
_TEXT	SEGMENT
tv439 = -36						; size = 4
_mostDamage$ = -36					; size = 4
_i$58496 = -32						; size = 4
_i$58485 = -32						; size = 4
_mostDamager$ = -28					; size = 16
__$EHRec$ = -12						; size = 12
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0@Z PROC ; gzObserverVeteranC4::Killed, COMDAT
; _this$ = ecx

; 485  : {

	push	-1
	push	__ehhandler$?Killed@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H

; 486  : 	float mostDamage = 0.0f;

	fldz
	push	ebx
	push	ebp
	fst	DWORD PTR _mostDamage$[esp+44]
	push	esi
	push	edi

; 487  : 	aVector<int> mostDamager;

	xor	edi, edi
	mov	ebx, ecx
	mov	DWORD PTR _mostDamager$[esp+52], OFFSET ??_7?$aVector@H@@6B@
	mov	DWORD PTR _mostDamager$[esp+56], edi
	mov	DWORD PTR _mostDamager$[esp+60], edi
	mov	DWORD PTR _mostDamager$[esp+64], edi

; 488  : 
; 489  : 	for (int i = 1; i <= 127; i++)

	mov	esi, 1
	mov	DWORD PTR __$EHRec$[esp+60], edi
	mov	DWORD PTR _i$58485[esp+52], esi
	lea	ebp, DWORD PTR [ebx+36]
	jmp	SHORT $LN13@Killed@2
	npad	4
$LL67@Killed@2:

; 486  : 	float mostDamage = 0.0f;

	fld	DWORD PTR _mostDamage$[esp+52]
$LN13@Killed@2:

; 490  : 	{
; 491  : 		if (this->m_damage[i] > 0.0f)

	fldz
	fcomp	DWORD PTR [ebp]
	fnstsw	ax
	test	ah, 5
	jp	$LN71@Killed@2

; 492  : 		{
; 493  : 			if (this->m_damage[i] >= mostDamage)

	fcom	DWORD PTR [ebp]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $LN74@Killed@2

; 494  : 			{
; 495  : 				if (this->m_damage[i] == mostDamage)

	fcomp	DWORD PTR [ebp]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN8@Killed@2

; 496  : 					mostDamager.Add(i);

	mov	eax, DWORD PTR _mostDamager$[esp+60]
	add	eax, 1
	push	eax

; 497  : 				else

	jmp	SHORT $LN78@Killed@2
$LN8@Killed@2:

; 498  : 				{
; 499  : 					mostDamager.Clear();

	cmp	DWORD PTR _mostDamager$[esp+56], edi
	je	SHORT $LN22@Killed@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR _mostDamager$[esp+68]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _mostDamager$[esp+56], edi
$LN22@Killed@2:
	mov	DWORD PTR _mostDamager$[esp+60], edi
	mov	DWORD PTR _mostDamager$[esp+64], edi

; 500  : 					mostDamager.Add(i);

	push	1
$LN78@Killed@2:
	mov	edx, DWORD PTR _mostDamager$[esp+56]
	mov	eax, DWORD PTR [edx+8]
	lea	ecx, DWORD PTR _mostDamager$[esp+56]
	call	eax
	test	al, al
	je	SHORT $LN27@Killed@2
	mov	ecx, DWORD PTR _mostDamager$[esp+60]
	mov	edx, DWORD PTR _mostDamager$[esp+56]
	mov	DWORD PTR [edx+ecx*4-4], esi
	add	DWORD PTR _mostDamager$[esp+64], 1
$LN27@Killed@2:

; 501  : 				}
; 502  : 				mostDamage = this->m_damage[i];

	fld	DWORD PTR [ebp]
	fstp	DWORD PTR _mostDamage$[esp+52]
	jmp	SHORT $LN9@Killed@2
$LN74@Killed@2:
	fstp	ST(0)
$LN9@Killed@2:

; 503  : 			}
; 504  : 			gzPlayer *gzData = gzPlayerManager::Find(i);

	push	esi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	ecx, eax
	add	esp, 4

; 505  : 			if (gzData && this->m_damage[i] > 0.0f)

	cmp	ecx, edi
	je	SHORT $LN12@Killed@2
	fldz
	fcomp	DWORD PTR [ebp]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN12@Killed@2

; 506  : 				gzData->GetVeteran()->AddPoints(gzVeteranMgr->GetSettings()->m_c4Points[this->m_c4->AmmoDef->AmmoType.Get() - 1][0] / this->m_maxHealth * this->m_damage[i]);

	mov	edi, DWORD PTR [ecx+64]
	mov	ecx, DWORD PTR [ebx+28]
	mov	ecx, DWORD PTR [ecx+1992]
	mov	eax, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	mov	esi, DWORD PTR [eax+40]
	add	ecx, 140				; 0000008cH
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	fld	DWORD PTR [esi+eax*8+20]
	fdiv	DWORD PTR [ebx+544]
	push	ecx
	mov	ecx, edi
	fmul	DWORD PTR [ebp]
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
	mov	esi, DWORD PTR _i$58485[esp+52]
	xor	edi, edi
	jmp	SHORT $LN12@Killed@2
$LN71@Killed@2:
	fstp	ST(0)
$LN12@Killed@2:

; 488  : 
; 489  : 	for (int i = 1; i <= 127; i++)

	add	esi, 1
	add	ebp, 4
	cmp	esi, 127				; 0000007fH
	mov	DWORD PTR _i$58485[esp+52], esi
	jle	$LL67@Killed@2

; 507  : 		}
; 508  : 	}
; 509  : 
; 510  : 	if (mostDamager.Count() == 0)

	mov	eax, DWORD PTR _mostDamager$[esp+64]
	cmp	eax, edi
	jne	SHORT $LN5@Killed@2

; 511  : 		return;

	cmp	DWORD PTR _mostDamager$[esp+56], edi
	mov	DWORD PTR __$EHRec$[esp+60], -1
	mov	DWORD PTR _mostDamager$[esp+52], OFFSET ??_7?$aVector@H@@6B@
	je	$LN55@Killed@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR _mostDamager$[esp+68]
	push	edx
	jmp	$LN79@Killed@2
$LN5@Killed@2:

; 512  : 
; 513  : 	for (unsigned int i = 0; i < mostDamager.Count(); i++)

	xor	esi, esi
	cmp	eax, edi
	mov	DWORD PTR _i$58496[esp+52], esi
	jbe	SHORT $LN2@Killed@2
$LL65@Killed@2:

; 514  : 	{
; 515  : 		gzPlayer *gzData = gzPlayerManager::Find(mostDamager[i]);

	mov	eax, DWORD PTR _mostDamager$[esp+56]
	mov	ecx, DWORD PTR [eax+esi*4]
	push	ecx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	add	esp, 4

; 516  : 		if (gzData)

	cmp	eax, edi
	je	SHORT $LN3@Killed@2

; 517  : 			gzData->GetVeteran()->AddPoints(gzVeteranMgr->GetSettings()->m_c4Points[this->m_c4->AmmoDef->AmmoType.Get() - 1][1] / mostDamager.Count());

	mov	ebp, DWORD PTR [eax+64]
	mov	eax, DWORD PTR [ebx+28]
	mov	ecx, DWORD PTR [eax+1992]
	mov	edx, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	mov	esi, DWORD PTR [edx+40]
	mov	edi, DWORD PTR _mostDamager$[esp+64]
	add	ecx, 140				; 0000008cH
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	test	edi, edi
	mov	DWORD PTR tv439[esp+52], edi
	fild	DWORD PTR tv439[esp+52]
	jge	SHORT $LN76@Killed@2
	fadd	DWORD PTR __real@4f800000
$LN76@Killed@2:
	fdivr	DWORD PTR [esi+eax*8+24]
	push	ecx
	mov	ecx, ebp
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
	mov	esi, DWORD PTR _i$58496[esp+52]
	xor	edi, edi
$LN3@Killed@2:
	add	esi, 1
	cmp	esi, DWORD PTR _mostDamager$[esp+64]
	mov	DWORD PTR _i$58496[esp+52], esi
	jb	SHORT $LL65@Killed@2
$LN2@Killed@2:

; 518  : 	}
; 519  : }

	cmp	DWORD PTR _mostDamager$[esp+56], edi
	mov	DWORD PTR __$EHRec$[esp+60], -1
	mov	DWORD PTR _mostDamager$[esp+52], OFFSET ??_7?$aVector@H@@6B@
	je	SHORT $LN55@Killed@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR _mostDamager$[esp+68]
	push	ecx
$LN79@Killed@2:
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
$LN55@Killed@2:
	mov	ecx, DWORD PTR __$EHRec$[esp+52]
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Killed@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0@Z$0:
	lea	ecx, DWORD PTR _mostDamager$[ebp]
	jmp	??1?$aVector@H@@UAE@XZ			; aVector<int>::~aVector<int>
__ehhandler$?Killed@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0@Z:
	mov	eax, OFFSET __ehfuncinfo$?Killed@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Killed@gzObserverVeteranC4@@EAEXPAVnc_ScriptableGameObj@@0@Z ENDP ; gzObserverVeteranC4::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Custom@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@HH0@Z PROC ; gzObserverVeteranBuilding::Custom, COMDAT
; _this$ = ecx

; 553  : 	if (message == 10001)

	cmp	DWORD PTR _message$[esp-4], 10001	; 00002711H
	push	esi
	mov	esi, ecx
	jne	SHORT $LN2@Custom@4
	push	edi

; 554  : 	{
; 555  : 		gzPlayer *gzData = gzPlayerManager::Find(param);

	mov	edi, DWORD PTR _param$[esp+4]
	push	edi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find

; 556  : 		if (gzData && this->m_repair[param] > 0.0f)

	fldz
	mov	ecx, eax
	add	esp, 4
	test	ecx, ecx
	je	SHORT $LN1@Custom@4
	fcom	DWORD PTR [esi+edi*4+544]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN1@Custom@4

; 557  : 			gzData->GetVeteran()->AddPoints(this->m_repair[param] * this->m_data->Points->repair);

	mov	eax, DWORD PTR [esi+28]
	fstp	ST(0)
	mov	edx, DWORD PTR [eax]
	fld	DWORD PTR [edx+16]
	push	ecx
	fmul	DWORD PTR [esi+edi*4+544]
	mov	ecx, DWORD PTR [ecx+64]
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
	fldz
$LN1@Custom@4:

; 558  : 		this->m_totalDamage -= this->m_damage[param];

	fld	DWORD PTR [esi+1060]
	fsub	DWORD PTR [esi+edi*4+32]
	fstp	DWORD PTR [esi+1060]

; 559  : 		this->m_damage[param] = 0.0f;

	fst	DWORD PTR [esi+edi*4+32]

; 560  : 		this->m_repair[param] = 0.0f;

	fstp	DWORD PTR [esi+edi*4+544]
	pop	edi
$LN2@Custom@4:
	pop	esi

; 561  : 	}
; 562  : }

	ret	16					; 00000010H
?Custom@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ENDP ; gzObserverVeteranBuilding::Custom
_TEXT	ENDS
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__unwindtable$?Killed@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Killed@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z$0
__ehfuncinfo$?Killed@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Killed@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
xdata$x	ENDS
;	COMDAT ?Killed@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z
_TEXT	SEGMENT
_damagePoints$58579 = -36				; size = 4
_mostDamage$58580 = -32					; size = 4
_mostDamager$58582 = -28				; size = 16
__$EHRec$ = -12						; size = 12
tv524 = 8						; size = 4
tv509 = 8						; size = 4
tv507 = 8						; size = 4
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z PROC ; gzObserverVeteranBuilding::Killed, COMDAT
; _this$ = ecx

; 596  : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Killed@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H
	push	ebx
	push	ebp
	mov	ebx, ecx

; 597  : 	if (this->m_data)

	xor	ebp, ebp
	cmp	DWORD PTR [ebx+28], ebp
	je	$LN60@Killed@3
	push	esi
	push	edi

; 598  : 	{
; 599  : 		// Repair points
; 600  : 		for (int i = 1; i <= 127; i++)

	lea	edi, DWORD PTR [ebp+1]
	lea	esi, DWORD PTR [ebx+548]
	jmp	SHORT $LN19@Killed@3
$LL77@Killed@3:
	fstp	ST(0)
$LN19@Killed@3:

; 601  : 		{
; 602  : 			gzPlayer *gzData = gzPlayerManager::Find(i);

	push	edi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	ecx, eax
	add	esp, 4

; 603  : 			if (gzData && this->m_repair[i] > 0.0f)

	cmp	ecx, ebp
	je	SHORT $LN71@Killed@3
	fldz
	fcomp	DWORD PTR [esi]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN71@Killed@3

; 604  : 				gzData->GetVeteran()->AddPoints(this->m_repair[i] * this->m_data->Points->repair);

	mov	eax, DWORD PTR [ebx+28]
	mov	edx, DWORD PTR [eax]
	fld	DWORD PTR [edx+16]
	mov	ecx, DWORD PTR [ecx+64]
	fmul	DWORD PTR [esi]
	push	ecx
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
$LN71@Killed@3:

; 605  : 			this->m_repair[i] = 0.0f;

	fldz
	add	edi, 1
	fst	DWORD PTR [esi]
	add	esi, 4
	cmp	edi, 127				; 0000007fH
	jle	SHORT $LL77@Killed@3

; 606  : 		}
; 607  : 
; 608  : 		// Damage points
; 609  : 		if (this->m_totalDamage == 0.0f)

	fcom	DWORD PTR [ebx+1060]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	$LN80@Killed@3

; 610  : 			return;
; 611  : 
; 612  : 		float damagePoints	= this->m_data->Points->damage;

	mov	eax, DWORD PTR [ebx+28]
	mov	ecx, DWORD PTR [eax]
	fld	DWORD PTR [ecx+8]

; 613  : 		float mostDamage	= 0.0f;
; 614  : 		aVector<int> mostDamager;

	mov	DWORD PTR _mostDamager$58582[esp+52], OFFSET ??_7?$aVector@H@@6B@
	fstp	DWORD PTR _damagePoints$58579[esp+52]
	mov	DWORD PTR _mostDamager$58582[esp+56], ebp
	mov	DWORD PTR _mostDamager$58582[esp+60], ebp
	fstp	DWORD PTR _mostDamage$58580[esp+52]
	mov	DWORD PTR _mostDamager$58582[esp+64], ebp

; 615  : 
; 616  : 		if ((obj->As_DamageableGameObj()->Defense.HealthMax.Get() + obj->As_DamageableGameObj()->Defense.ShieldStrengthMax.Get()) > this->m_totalDamage)

	mov	esi, DWORD PTR _obj$[esp+48]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+60], ebp
	call	eax
	mov	ecx, eax
	add	ecx, 1856				; 00000740H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR tv507[esp+48]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1844				; 00000734H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fadd	DWORD PTR tv507[esp+48]
	fcomp	DWORD PTR [ebx+1060]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN14@Killed@3

; 617  : 			damagePoints *= this->m_totalDamage / (obj->As_DamageableGameObj()->Defense.HealthMax.Get() + obj->As_DamageableGameObj()->Defense.ShieldStrengthMax.Get());

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1856				; 00000740H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR tv509[esp+48]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1844				; 00000734H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fadd	DWORD PTR tv509[esp+48]
	fdivr	DWORD PTR [ebx+1060]
	fmul	DWORD PTR _damagePoints$58579[esp+52]
	fstp	DWORD PTR _damagePoints$58579[esp+52]
$LN14@Killed@3:

; 618  : 
; 619  : 		for (int i = 1; i <= 127; i++)

	mov	esi, 1
	lea	edi, DWORD PTR [ebx+36]
	npad	3
$LL13@Killed@3:

; 620  : 		{
; 621  : 			if (this->m_damage[i] > 0.0f)

	fldz
	fcomp	DWORD PTR [edi]
	fnstsw	ax
	test	ah, 5
	jp	$LN12@Killed@3

; 622  : 			{
; 623  : 				if (this->m_damage[i] >= mostDamage)

	fld	DWORD PTR _mostDamage$58580[esp+52]
	fcom	DWORD PTR [edi]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $LN83@Killed@3

; 624  : 				{
; 625  : 					if (this->m_damage[i] == mostDamage)

	fcomp	DWORD PTR [edi]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN8@Killed@3

; 626  : 						mostDamager.Add(i);

	mov	ecx, DWORD PTR _mostDamager$58582[esp+60]
	add	ecx, 1
	push	ecx

; 627  : 					else

	jmp	SHORT $LN87@Killed@3
$LN8@Killed@3:

; 628  : 					{
; 629  : 						mostDamager.Clear();

	cmp	DWORD PTR _mostDamager$58582[esp+56], ebp
	je	SHORT $LN31@Killed@3
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR _mostDamager$58582[esp+68]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _mostDamager$58582[esp+56], ebp
$LN31@Killed@3:
	mov	DWORD PTR _mostDamager$58582[esp+60], ebp
	mov	DWORD PTR _mostDamager$58582[esp+64], ebp

; 630  : 						mostDamager.Add(i);

	push	1
$LN87@Killed@3:
	mov	edx, DWORD PTR _mostDamager$58582[esp+56]
	mov	eax, DWORD PTR [edx+8]
	lea	ecx, DWORD PTR _mostDamager$58582[esp+56]
	call	eax
	test	al, al
	je	SHORT $LN36@Killed@3
	mov	ecx, DWORD PTR _mostDamager$58582[esp+60]
	mov	edx, DWORD PTR _mostDamager$58582[esp+56]
	mov	DWORD PTR [edx+ecx*4-4], esi
	add	DWORD PTR _mostDamager$58582[esp+64], 1
$LN36@Killed@3:

; 631  : 					}
; 632  : 					mostDamage = this->m_damage[i];

	fld	DWORD PTR [edi]
	fstp	DWORD PTR _mostDamage$58580[esp+52]
	jmp	SHORT $LN9@Killed@3
$LN83@Killed@3:
	fstp	ST(0)
$LN9@Killed@3:

; 633  : 				}
; 634  : 				gzPlayer *gzData = gzPlayerManager::Find(i);

	push	esi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	add	esp, 4

; 635  : 				if (gzData)

	cmp	eax, ebp
	je	SHORT $LN12@Killed@3

; 636  : 					gzData->GetVeteran()->AddPoints(damagePoints / this->m_totalDamage * this->m_damage[i]);

	fld	DWORD PTR [edi]
	mov	eax, DWORD PTR [eax+64]
	fdiv	DWORD PTR [ebx+1060]
	push	ecx
	mov	ecx, eax
	fmul	DWORD PTR _damagePoints$58579[esp+56]
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
$LN12@Killed@3:
	add	esi, 1
	add	edi, 4
	cmp	esi, 127				; 0000007fH
	jle	$LL13@Killed@3

; 637  : 			}
; 638  : 		}
; 639  : 
; 640  : 		if (mostDamager.Count() == 0)

	mov	eax, DWORD PTR _mostDamager$58582[esp+64]
	cmp	eax, ebp
	jne	SHORT $LN5@Killed@3

; 641  : 			return;

	cmp	DWORD PTR _mostDamager$58582[esp+56], ebp
	mov	DWORD PTR __$EHRec$[esp+60], -1
	mov	DWORD PTR _mostDamager$58582[esp+52], OFFSET ??_7?$aVector@H@@6B@
	je	$LN74@Killed@3
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR _mostDamager$58582[esp+68]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx

; 650  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	8
$LN5@Killed@3:

; 642  : 
; 643  : 		for (unsigned int i = 0; i < mostDamager.Count(); i++)

	xor	esi, esi
	cmp	eax, ebp
	jbe	SHORT $LN2@Killed@3
	npad	2
$LL4@Killed@3:

; 644  : 		{
; 645  : 			gzPlayer *gzData = gzPlayerManager::Find(mostDamager[i]);

	mov	ecx, DWORD PTR _mostDamager$58582[esp+56]
	mov	edx, DWORD PTR [ecx+esi*4]
	push	edx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	add	esp, 4

; 646  : 			if (gzData)

	cmp	eax, ebp
	je	SHORT $LN3@Killed@3

; 647  : 				gzData->GetVeteran()->AddPoints(this->m_data->Points->destroy / mostDamager.Count());

	mov	ecx, DWORD PTR [ebx+28]
	fild	DWORD PTR _mostDamager$58582[esp+64]
	mov	edx, DWORD PTR [ecx]
	mov	ecx, DWORD PTR _mostDamager$58582[esp+64]
	test	ecx, ecx
	mov	eax, DWORD PTR [eax+64]
	jge	SHORT $LN85@Killed@3
	fadd	DWORD PTR __real@4f800000
$LN85@Killed@3:
	fdivr	DWORD PTR [edx+12]
	push	ecx
	mov	ecx, eax
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
$LN3@Killed@3:
	add	esi, 1
	cmp	esi, DWORD PTR _mostDamager$58582[esp+64]
	jb	SHORT $LL4@Killed@3
$LN2@Killed@3:

; 648  : 		}
; 649  : 	}

	cmp	DWORD PTR _mostDamager$58582[esp+56], ebp
	mov	DWORD PTR __$EHRec$[esp+60], -1
	mov	DWORD PTR _mostDamager$58582[esp+52], OFFSET ??_7?$aVector@H@@6B@
	je	SHORT $LN74@Killed@3
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR _mostDamager$58582[esp+68]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx

; 650  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	8
$LN80@Killed@3:

; 606  : 		}
; 607  : 
; 608  : 		// Damage points
; 609  : 		if (this->m_totalDamage == 0.0f)

	fstp	ST(0)
$LN74@Killed@3:
	pop	edi
	pop	esi

; 648  : 		}
; 649  : 	}

$LN60@Killed@3:

; 650  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	pop	ebp
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Killed@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z$0:
	lea	ecx, DWORD PTR _mostDamager$58582[ebp]
	jmp	??1?$aVector@H@@UAE@XZ			; aVector<int>::~aVector<int>
__ehhandler$?Killed@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z:
	mov	eax, OFFSET __ehfuncinfo$?Killed@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Killed@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@0@Z ENDP ; gzObserverVeteranBuilding::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@H@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@H@Z PROC ; gzObserverVeteranBuilding::Timer_Expired, COMDAT
; _this$ = ecx

; 653  : 	if (number == 2)

	cmp	DWORD PTR _number$[esp-4], 2
	push	ebx
	mov	ebx, ecx
	jne	SHORT $LN5@Timer_Expi
	push	esi
	push	edi

; 654  : 	{
; 655  : 		for (int i = 1; i <= 127; i++)

	mov	edi, 1
	lea	esi, DWORD PTR [ebx+548]
$LL4@Timer_Expi:

; 656  : 		{
; 657  : 			gzPlayer *gzData = gzPlayerManager::Find(i);

	push	edi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	ecx, eax
	add	esp, 4

; 658  : 			if (gzData && this->m_repair[i] > 0.0f)

	test	ecx, ecx
	je	SHORT $LN14@Timer_Expi
	fldz
	fcomp	DWORD PTR [esi]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN14@Timer_Expi

; 659  : 				gzData->GetVeteran()->AddPoints(this->m_repair[i] * this->m_data->Points->repair);

	mov	eax, DWORD PTR [ebx+28]
	mov	edx, DWORD PTR [eax]
	fld	DWORD PTR [edx+16]
	push	ecx
	fmul	DWORD PTR [esi]
	mov	ecx, DWORD PTR [ecx+64]
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
$LN14@Timer_Expi:

; 660  : 			this->m_repair[i] = 0.0f;

	fldz
	add	edi, 1
	fstp	DWORD PTR [esi]
	add	esi, 4
	cmp	edi, 127				; 0000007fH
	jle	SHORT $LL4@Timer_Expi

; 661  : 		}
; 662  : 		obj->Start_Observer_Timer(this->GetID(), 60.0f, 2);

	fld	DWORD PTR __real@42700000
	mov	eax, DWORD PTR [ebx+4]
	push	2
	push	ecx
	mov	ecx, DWORD PTR _obj$[esp+16]
	fstp	DWORD PTR [esp]
	push	eax
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	edi
	pop	esi
$LN5@Timer_Expi:
	pop	ebx

; 663  : 	}
; 664  : }

	ret	8
?Timer_Expired@gzObserverVeteranBuilding@@EAEXPAVnc_ScriptableGameObj@@H@Z ENDP ; gzObserverVeteranBuilding::Timer_Expired
_TEXT	ENDS
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__unwindtable$?Killed@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Killed@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z$0
__ehfuncinfo$?Killed@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Killed@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
xdata$x	ENDS
;	COMDAT ?Killed@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z
_TEXT	SEGMENT
tv553 = -32						; size = 4
tv551 = -32						; size = 4
_mostDamager$58703 = -28				; size = 16
__$EHRec$ = -12						; size = 12
tv567 = 8						; size = 4
_damagePoints$58700 = 8					; size = 4
_obj$ = 8						; size = 4
_mostDamage$58701 = 12					; size = 4
_shooter$ = 12						; size = 4
?Killed@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z PROC ; gzObserverVeteranSoldier::Killed, COMDAT
; _this$ = ecx

; 756  : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Killed@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 20					; 00000014H
	push	ebx
	push	ebp
	mov	ebx, ecx

; 757  : 	if (this->m_data)

	xor	ebp, ebp
	cmp	DWORD PTR [ebx+28], ebp
	je	$LN65@Killed@4
	push	esi
	push	edi

; 758  : 	{
; 759  : 		// Repair points
; 760  : 		for (int i = 1; i <= 127; i++)

	mov	esi, 1
	lea	edi, DWORD PTR [ebx+548]
$LL22@Killed@4:

; 761  : 		{
; 762  : 			gzPlayer *gzData = gzPlayerManager::Find(i);

	push	esi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	ecx, eax
	add	esp, 4

; 763  : 			if (gzData && i != this->m_soldier->Player->PlayerId && this->m_repair[i] != 0.0f)

	cmp	ecx, ebp
	je	SHORT $LN76@Killed@4
	mov	eax, DWORD PTR [ebx+1064]
	mov	edx, DWORD PTR [eax+2400]
	cmp	esi, DWORD PTR [edx+1884]
	je	SHORT $LN76@Killed@4
	fldz
	fcomp	DWORD PTR [edi]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN76@Killed@4

; 764  : 				gzData->GetVeteran()->AddPoints(this->m_repair[i] * this->m_data->Points->repair);

	mov	eax, DWORD PTR [ebx+28]
	mov	edx, DWORD PTR [eax]
	fld	DWORD PTR [edx+16]
	mov	ecx, DWORD PTR [ecx+64]
	fmul	DWORD PTR [edi]
	push	ecx
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
$LN76@Killed@4:

; 765  : 			this->m_repair[i] = 0.0f;

	fldz
	add	esi, 1
	fstp	DWORD PTR [edi]
	add	edi, 4
	cmp	esi, 127				; 0000007fH
	jle	SHORT $LL22@Killed@4

; 766  : 		}
; 767  : 
; 768  : 		// Suicide
; 769  : 		if (obj == shooter)

	mov	esi, DWORD PTR _obj$[esp+44]
	cmp	esi, DWORD PTR _shooter$[esp+44]
	jne	SHORT $LN77@Killed@4

; 770  : 		{
; 771  : 			gzPlayer *gzData = gzPlayerManager::Find(this->m_soldier->Player);

	mov	eax, DWORD PTR [ebx+1064]
	mov	ecx, DWORD PTR [eax+2400]
	push	ecx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z ; gzPlayerManager::Find
	add	esp, 4

; 772  : 			if (gzData)

	cmp	eax, ebp
	je	SHORT $LN77@Killed@4

; 773  : 				gzData->GetVeteran()->AddPoints(this->m_data->Points->suicide);

	mov	edx, DWORD PTR [ebx+28]
	mov	ecx, DWORD PTR [edx]
	mov	eax, DWORD PTR [eax+64]
	fld	DWORD PTR [ecx+20]
	push	ecx
	mov	ecx, eax
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
$LN77@Killed@4:

; 774  : 		}
; 775  : 
; 776  : 		// Damage points
; 777  : 		if (this->m_totalDamage == 0.0f)

	fldz
	fcom	DWORD PTR [ebx+1060]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	$LN83@Killed@4

; 778  : 			return;
; 779  : 
; 780  : 		float damagePoints = this->m_data->Points->destroy;

	mov	edx, DWORD PTR [ebx+28]
	mov	eax, DWORD PTR [edx]
	fld	DWORD PTR [eax+12]

; 781  : 		float mostDamage = 0.0f;
; 782  : 		aVector<int> mostDamager;

	mov	DWORD PTR _mostDamager$58703[esp+48], OFFSET ??_7?$aVector@H@@6B@
	fstp	DWORD PTR _damagePoints$58700[esp+44]
	mov	DWORD PTR _mostDamager$58703[esp+52], ebp
	mov	DWORD PTR _mostDamager$58703[esp+56], ebp
	fstp	DWORD PTR _mostDamage$58701[esp+44]
	mov	DWORD PTR _mostDamager$58703[esp+60], ebp

; 783  : 
; 784  : 		if ((obj->As_DamageableGameObj()->Defense.HealthMax.Get() + obj->As_DamageableGameObj()->Defense.ShieldStrengthMax.Get()) > this->m_totalDamage)

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+56], ebp
	call	eax
	mov	ecx, eax
	add	ecx, 1856				; 00000740H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR tv551[esp+48]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1844				; 00000734H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fadd	DWORD PTR tv551[esp+48]
	fcomp	DWORD PTR [ebx+1060]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN15@Killed@4

; 785  : 			damagePoints *= this->m_totalDamage / (obj->As_DamageableGameObj()->Defense.HealthMax.Get() + obj->As_DamageableGameObj()->Defense.ShieldStrengthMax.Get());

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1856				; 00000740H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR tv553[esp+48]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1844				; 00000734H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fadd	DWORD PTR tv553[esp+48]
	fdivr	DWORD PTR [ebx+1060]
	fmul	DWORD PTR _damagePoints$58700[esp+44]
	fstp	DWORD PTR _damagePoints$58700[esp+44]
$LN15@Killed@4:

; 786  : 
; 787  : 		for (int i = 1; i <= 127; i++)

	mov	esi, 1
	lea	edi, DWORD PTR [ebx+36]
	npad	10
$LL14@Killed@4:

; 788  : 		{
; 789  : 			if (i != this->m_soldier->Player->PlayerId)

	mov	ecx, DWORD PTR [ebx+1064]
	mov	edx, DWORD PTR [ecx+2400]
	cmp	esi, DWORD PTR [edx+1884]
	je	$LN13@Killed@4

; 790  : 			{
; 791  : 				if (this->m_damage[i] > 0.0f)

	fldz
	fcomp	DWORD PTR [edi]
	fnstsw	ax
	test	ah, 5
	jp	$LN13@Killed@4

; 792  : 				{
; 793  : 					if (this->m_damage[i] >= mostDamage)

	fld	DWORD PTR _mostDamage$58701[esp+44]
	fcom	DWORD PTR [edi]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $LN86@Killed@4

; 794  : 					{
; 795  : 						if (this->m_damage[i] == mostDamage)

	fcomp	DWORD PTR [edi]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN8@Killed@4

; 796  : 							mostDamager.Add(i);

	mov	eax, DWORD PTR _mostDamager$58703[esp+56]
	add	eax, 1
	push	eax

; 797  : 						else

	jmp	SHORT $LN90@Killed@4
$LN8@Killed@4:

; 798  : 						{
; 799  : 							mostDamager.Clear();

	cmp	DWORD PTR _mostDamager$58703[esp+52], ebp
	je	SHORT $LN36@Killed@4
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR _mostDamager$58703[esp+64]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _mostDamager$58703[esp+52], ebp
$LN36@Killed@4:
	mov	DWORD PTR _mostDamager$58703[esp+56], ebp
	mov	DWORD PTR _mostDamager$58703[esp+60], ebp

; 800  : 							mostDamager.Add(i);

	push	1
$LN90@Killed@4:
	mov	edx, DWORD PTR _mostDamager$58703[esp+52]
	mov	eax, DWORD PTR [edx+8]
	lea	ecx, DWORD PTR _mostDamager$58703[esp+52]
	call	eax
	test	al, al
	je	SHORT $LN41@Killed@4
	mov	ecx, DWORD PTR _mostDamager$58703[esp+56]
	mov	edx, DWORD PTR _mostDamager$58703[esp+52]
	mov	DWORD PTR [edx+ecx*4-4], esi
	add	DWORD PTR _mostDamager$58703[esp+60], 1
$LN41@Killed@4:

; 801  : 						}
; 802  : 						mostDamage = this->m_damage[i];

	fld	DWORD PTR [edi]
	fstp	DWORD PTR _mostDamage$58701[esp+44]
	jmp	SHORT $LN9@Killed@4
$LN86@Killed@4:
	fstp	ST(0)
$LN9@Killed@4:

; 803  : 					}
; 804  : 
; 805  : 					gzPlayer *gzData = gzPlayerManager::Find(i);

	push	esi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	add	esp, 4

; 806  : 					if (gzData)

	cmp	eax, ebp
	je	SHORT $LN13@Killed@4

; 807  : 						gzData->GetVeteran()->AddPoints(damagePoints / this->m_totalDamage * this->m_damage[i]);

	fld	DWORD PTR [edi]
	mov	eax, DWORD PTR [eax+64]
	fdiv	DWORD PTR [ebx+1060]
	push	ecx
	mov	ecx, eax
	fmul	DWORD PTR _damagePoints$58700[esp+48]
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
$LN13@Killed@4:
	add	esi, 1
	add	edi, 4
	cmp	esi, 127				; 0000007fH
	jle	$LL14@Killed@4

; 808  : 				}
; 809  : 			}
; 810  : 		}
; 811  : 
; 812  : 		if (mostDamager.Count() == 0)

	mov	eax, DWORD PTR _mostDamager$58703[esp+60]
	cmp	eax, ebp
	jne	SHORT $LN5@Killed@4

; 813  : 			return;

	cmp	DWORD PTR _mostDamager$58703[esp+52], ebp
	mov	DWORD PTR __$EHRec$[esp+56], -1
	mov	DWORD PTR _mostDamager$58703[esp+48], OFFSET ??_7?$aVector@H@@6B@
	je	$LN80@Killed@4
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR _mostDamager$58703[esp+64]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx

; 822  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+32]
	mov	DWORD PTR fs:0, ecx
	add	esp, 32					; 00000020H
	ret	8
$LN5@Killed@4:

; 814  : 
; 815  : 		for (unsigned int i = 0; i < mostDamager.Count(); i++)

	xor	esi, esi
	cmp	eax, ebp
	jbe	SHORT $LN2@Killed@4
$LL4@Killed@4:

; 816  : 		{
; 817  : 			gzPlayer *gzData = gzPlayerManager::Find(mostDamager[i]);

	mov	ecx, DWORD PTR _mostDamager$58703[esp+52]
	mov	edx, DWORD PTR [ecx+esi*4]
	push	edx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	add	esp, 4

; 818  : 			if (gzData)

	cmp	eax, ebp
	je	SHORT $LN3@Killed@4

; 819  : 				gzData->GetVeteran()->AddPoints(this->m_data->Points->destroy / mostDamager.Count());

	mov	ecx, DWORD PTR [ebx+28]
	fild	DWORD PTR _mostDamager$58703[esp+60]
	mov	edx, DWORD PTR [ecx]
	mov	ecx, DWORD PTR _mostDamager$58703[esp+60]
	test	ecx, ecx
	mov	eax, DWORD PTR [eax+64]
	jge	SHORT $LN88@Killed@4
	fadd	DWORD PTR __real@4f800000
$LN88@Killed@4:
	fdivr	DWORD PTR [edx+12]
	push	ecx
	mov	ecx, eax
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
$LN3@Killed@4:
	add	esi, 1
	cmp	esi, DWORD PTR _mostDamager$58703[esp+60]
	jb	SHORT $LL4@Killed@4
$LN2@Killed@4:

; 820  : 		}
; 821  : 	}

	cmp	DWORD PTR _mostDamager$58703[esp+52], ebp
	mov	DWORD PTR __$EHRec$[esp+56], -1
	mov	DWORD PTR _mostDamager$58703[esp+48], OFFSET ??_7?$aVector@H@@6B@
	je	SHORT $LN80@Killed@4
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR _mostDamager$58703[esp+64]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx

; 822  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+32]
	mov	DWORD PTR fs:0, ecx
	add	esp, 32					; 00000020H
	ret	8
$LN83@Killed@4:

; 774  : 		}
; 775  : 
; 776  : 		// Damage points
; 777  : 		if (this->m_totalDamage == 0.0f)

	fstp	ST(0)
$LN80@Killed@4:
	pop	edi
	pop	esi

; 820  : 		}
; 821  : 	}

$LN65@Killed@4:

; 822  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+40]
	pop	ebp
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 32					; 00000020H
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Killed@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z$0:
	lea	ecx, DWORD PTR _mostDamager$58703[ebp]
	jmp	??1?$aVector@H@@UAE@XZ			; aVector<int>::~aVector<int>
__ehhandler$?Killed@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z:
	mov	eax, OFFSET __ehfuncinfo$?Killed@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Killed@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@0@Z ENDP ; gzObserverVeteranSoldier::Killed
PUBLIC	??_C@_06KOKHNNIE@Repair?$AA@			; `string'
EXTRN	?gzCommands@@3PAUnc_ScriptCommands@@A:DWORD	; gzCommands
;	COMDAT ??_C@_06KOKHNNIE@Repair?$AA@
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
??_C@_06KOKHNNIE@Repair?$AA@ DB 'Repair', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
CONST	ENDS
;	COMDAT ?Timer_Expired@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@H@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@H@Z PROC ; gzObserverVeteranSoldier::Timer_Expired, COMDAT
; _this$ = ecx

; 825  : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	cmp	eax, 1
	push	ebx
	push	esi
	mov	ebx, ecx
	jne	SHORT $LN9@Timer_Expi@2

; 826  : 	{
; 827  : 		gzPlayer *gzData = gzPlayerManager::Find(this->m_soldier->ControlOwner);

	mov	eax, DWORD PTR [ebx+1064]
	mov	ecx, DWORD PTR [eax+2396]
	push	ecx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find

; 828  : 		if (gzData->GetVeteran()->GetCurrentLevel()->SoldierHealthRegeneration > 0.0f)

	fldz
	mov	edx, DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [edx+44]
	fcomp	DWORD PTR [ecx+24]
	mov	esi, DWORD PTR _obj$[esp+8]
	add	esp, 4
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN8@Timer_Expi@2

; 829  : 			gzCommands->Apply_Damage(obj, -gzData->GetVeteran()->GetCurrentLevel()->SoldierHealthRegeneration, "Repair", 0);

	fld	DWORD PTR [ecx+24]
	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	push	0
	fchs
	push	OFFSET ??_C@_06KOKHNNIE@Repair?$AA@
	push	ecx
	mov	ecx, DWORD PTR [eax+616]
	fstp	DWORD PTR [esp]
	push	esi
	call	ecx
	add	esp, 16					; 00000010H
$LN8@Timer_Expi@2:

; 830  : 		obj->Start_Observer_Timer(this->GetID(), 1.0f, 1);

	fld1
	mov	edx, DWORD PTR [ebx+4]
	push	1
	push	ecx
	fstp	DWORD PTR [esp]
	push	edx
	mov	ecx, esi
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	esi
	pop	ebx

; 845  : 	}
; 846  : }

	ret	8
$LN9@Timer_Expi@2:

; 831  : 	}
; 832  : 	else if (number == 2)

	cmp	eax, 2
	jne	SHORT $LN6@Timer_Expi@2

; 833  : 	{
; 834  : 		for (int i = 1; i <= 127; i++)

	fldz
	push	edi
	lea	esi, DWORD PTR [eax-1]
	lea	edi, DWORD PTR [ebx+548]
$LN5@Timer_Expi@2:

; 835  : 		{
; 836  : 			if (this->m_repair[i] != 0.0f)

	fcom	DWORD PTR [edi]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN4@Timer_Expi@2

; 837  : 			{
; 838  : 				gzPlayer *gzData = gzPlayerManager::Find(i);

	push	esi
	fstp	ST(0)
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	add	esp, 4

; 839  : 				if (gzData)

	test	eax, eax
	je	SHORT $LN1@Timer_Expi@2

; 840  : 					gzData->GetVeteran()->AddPoints(this->m_repair[i] * this->m_data->Points->repair);

	mov	ecx, DWORD PTR [ebx+28]
	mov	edx, DWORD PTR [ecx]
	fld	DWORD PTR [edx+16]
	push	ecx
	fmul	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax+64]
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
$LN1@Timer_Expi@2:

; 841  : 				this->m_repair[i] = 0.0f;

	fldz
	fst	DWORD PTR [edi]
$LN4@Timer_Expi@2:
	add	esi, 1
	add	edi, 4
	cmp	esi, 127				; 0000007fH
	jle	SHORT $LN5@Timer_Expi@2

; 842  : 			}
; 843  : 		}
; 844  : 		obj->Start_Observer_Timer(this->GetID(), 60.0f, 2);

	mov	eax, DWORD PTR [ebx+4]
	fstp	ST(0)
	fld	DWORD PTR __real@42700000
	push	2
	push	ecx
	mov	ecx, DWORD PTR _obj$[esp+16]
	fstp	DWORD PTR [esp]
	push	eax
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	edi
$LN6@Timer_Expi@2:
	pop	esi
	pop	ebx

; 845  : 	}
; 846  : }

	ret	8
?Timer_Expired@gzObserverVeteranSoldier@@EAEXPAVnc_ScriptableGameObj@@H@Z ENDP ; gzObserverVeteranSoldier::Timer_Expired
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Custom@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@HH0@Z PROC ; gzObserverVeteranVehicle::Custom, COMDAT
; _this$ = ecx

; 886  : 	if (message == 10001)

	mov	eax, DWORD PTR _message$[esp-4]
	cmp	eax, 10001				; 00002711H
	push	esi
	push	edi
	mov	edi, ecx
	jne	SHORT $LN9@Custom@5

; 887  : 	{
; 888  : 		gzPlayer *gzData = gzPlayerManager::Find(param);

	mov	esi, DWORD PTR _param$[esp+4]
	push	esi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	add	esp, 4

; 889  : 		if (gzData)

	test	eax, eax
	je	$LN1@Custom@5

; 890  : 		{
; 891  : 			if (this->m_repair[param] > 0.0f)
; 892  : 				gzData->GetVeteran();
; 893  : 			this->m_totalDamage -= this->m_damage[param];

	fld	DWORD PTR [edi+1060]
	fsub	DWORD PTR [edi+esi*4+32]
	fstp	DWORD PTR [edi+1060]

; 894  : 			this->m_damage[param] = 0.0f;

	fldz
	fst	DWORD PTR [edi+esi*4+32]

; 895  : 			this->m_repair[param] = 0.0f;

	fstp	DWORD PTR [edi+esi*4+544]
	pop	edi
	pop	esi

; 911  : 					}
; 912  : 				}
; 913  : 			}
; 914  : 		}
; 915  : 	}
; 916  : }

	ret	16					; 00000010H
$LN9@Custom@5:

; 896  : 		}
; 897  : 	}
; 898  : 	else if (message == CUSTOM_EVENT_VEHICLE_ENTER)

	cmp	eax, 1000000028				; 3b9aca1cH
	jne	$LN1@Custom@5

; 899  : 	{
; 900  : 		if (this->m_purchaser && !this->m_stolen)

	cmp	DWORD PTR [edi+1068], 0
	je	$LN1@Custom@5
	cmp	BYTE PTR [edi+1072], 0
	jne	SHORT $LN1@Custom@5

; 901  : 		{
; 902  : 			if (sender->As_SoldierGameObj() && sender->As_SoldierGameObj()->Player)

	mov	esi, DWORD PTR _sender$[esp+4]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	test	eax, eax
	je	SHORT $LN1@Custom@5
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN1@Custom@5

; 903  : 			{
; 904  : 				if (sender->As_DamageableGameObj()->Get_Player_Type() != gzStatic_Cast(nc_VehicleGameObjDef, obj->definition)->PlayerType)

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+60]
	mov	ecx, esi
	call	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+104]
	call	eax
	mov	ecx, DWORD PTR _obj$[esp+4]
	mov	edx, DWORD PTR [ecx+1724]
	cmp	eax, DWORD PTR [edx+128]
	je	SHORT $LN1@Custom@5

; 905  : 				{
; 906  : 					gzPlayer *gzData = gzPlayerManager::Find(sender->As_SoldierGameObj()->Player);

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	mov	eax, DWORD PTR [eax+2400]
	push	eax
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z ; gzPlayerManager::Find
	add	esp, 4

; 907  : 					if (gzData)

	test	eax, eax
	je	SHORT $LN1@Custom@5

; 908  : 					{
; 909  : 						gzData->GetVeteran()->AddPoints(this->m_data->Points->stealByEnemy);

	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR [ecx]
	fld	DWORD PTR [edx+24]
	push	ecx
	mov	ecx, DWORD PTR [eax+64]
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints

; 910  : 						this->m_stolen = true;

	mov	BYTE PTR [edi+1072], 1
$LN1@Custom@5:
	pop	edi
	pop	esi

; 911  : 					}
; 912  : 				}
; 913  : 			}
; 914  : 		}
; 915  : 	}
; 916  : }

	ret	16					; 00000010H
?Custom@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ENDP ; gzObserverVeteranVehicle::Custom
_TEXT	ENDS
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__unwindtable$?Killed@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Killed@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z$0
__ehfuncinfo$?Killed@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Killed@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
xdata$x	ENDS
;	COMDAT ?Killed@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z
_TEXT	SEGMENT
_damagePoints$58828 = -36				; size = 4
_mostDamage$58829 = -32					; size = 4
_mostDamager$58831 = -28				; size = 16
__$EHRec$ = -12						; size = 12
tv569 = 8						; size = 4
tv554 = 8						; size = 4
tv552 = 8						; size = 4
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z PROC ; gzObserverVeteranVehicle::Killed, COMDAT
; _this$ = ecx

; 950  : {

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Killed@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H
	push	ebx
	push	ebp
	mov	ebx, ecx

; 951  : 	if (this->m_data)

	xor	ebp, ebp
	cmp	DWORD PTR [ebx+28], ebp
	je	$LN66@Killed@5
	push	esi
	push	edi

; 952  : 	{
; 953  : 		// Repair points
; 954  : 		for (int i = 1; i <= 127; i++)

	lea	edi, DWORD PTR [ebp+1]
	lea	esi, DWORD PTR [ebx+548]
	jmp	SHORT $LN21@Killed@5
$LL83@Killed@5:
	fstp	ST(0)
$LN21@Killed@5:

; 955  : 		{
; 956  : 			gzPlayer *gzData = gzPlayerManager::Find(i);

	push	edi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	ecx, eax
	add	esp, 4

; 957  : 			if (gzData && this->m_repair[i] != 0.0f)

	cmp	ecx, ebp
	je	SHORT $LN77@Killed@5
	fldz
	fcomp	DWORD PTR [esi]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN77@Killed@5

; 958  : 				gzData->GetVeteran()->AddPoints(this->m_repair[i] * this->m_data->Points->repair);

	mov	eax, DWORD PTR [ebx+28]
	mov	edx, DWORD PTR [eax]
	fld	DWORD PTR [edx+16]
	mov	ecx, DWORD PTR [ecx+64]
	fmul	DWORD PTR [esi]
	push	ecx
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
$LN77@Killed@5:

; 959  : 			this->m_repair[i] = 0.0f;

	fldz
	add	edi, 1
	fst	DWORD PTR [esi]
	add	esi, 4
	cmp	edi, 127				; 0000007fH
	jle	SHORT $LL83@Killed@5

; 960  : 		}
; 961  : 
; 962  : 		// Damage points
; 963  : 		if (this->m_totalDamage == 0.0f)

	fcom	DWORD PTR [ebx+1060]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	$LN86@Killed@5

; 964  : 			return;
; 965  : 
; 966  : 		float damagePoints = this->m_data->Points->destroy;

	mov	eax, DWORD PTR [ebx+28]
	mov	ecx, DWORD PTR [eax]
	fld	DWORD PTR [ecx+12]

; 967  : 		float mostDamage = 0.0f;
; 968  : 		aVector<int> mostDamager;

	mov	DWORD PTR _mostDamager$58831[esp+52], OFFSET ??_7?$aVector@H@@6B@
	fstp	DWORD PTR _damagePoints$58828[esp+52]
	mov	DWORD PTR _mostDamager$58831[esp+56], ebp
	mov	DWORD PTR _mostDamager$58831[esp+60], ebp
	fstp	DWORD PTR _mostDamage$58829[esp+52]
	mov	DWORD PTR _mostDamager$58831[esp+64], ebp

; 969  : 
; 970  : 		if ((obj->As_DamageableGameObj()->Defense.HealthMax.Get() + obj->As_DamageableGameObj()->Defense.ShieldStrengthMax.Get()) > this->m_totalDamage)

	mov	esi, DWORD PTR _obj$[esp+48]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+60], ebp
	call	eax
	mov	ecx, eax
	add	ecx, 1856				; 00000740H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR tv552[esp+48]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1844				; 00000734H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fadd	DWORD PTR tv552[esp+48]
	fcomp	DWORD PTR [ebx+1060]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN16@Killed@5

; 971  : 			damagePoints *= this->m_totalDamage / (obj->As_DamageableGameObj()->Defense.HealthMax.Get() + obj->As_DamageableGameObj()->Defense.ShieldStrengthMax.Get());

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1856				; 00000740H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR tv554[esp+48]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+60]
	mov	ecx, esi
	call	eax
	mov	ecx, eax
	add	ecx, 1844				; 00000734H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fadd	DWORD PTR tv554[esp+48]
	fdivr	DWORD PTR [ebx+1060]
	fmul	DWORD PTR _damagePoints$58828[esp+52]
	fstp	DWORD PTR _damagePoints$58828[esp+52]
$LN16@Killed@5:

; 972  : 
; 973  : 		for (int i = 1; i <= 127; i++)

	mov	esi, 1
	lea	edi, DWORD PTR [ebx+36]
	npad	3
$LL15@Killed@5:

; 974  : 		{
; 975  : 			if (this->m_damage[i] > 0.0f)

	fldz
	fcomp	DWORD PTR [edi]
	fnstsw	ax
	test	ah, 5
	jp	$LN14@Killed@5

; 976  : 			{
; 977  : 				if (this->m_damage[i] >= mostDamage)

	fld	DWORD PTR _mostDamage$58829[esp+52]
	fcom	DWORD PTR [edi]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $LN89@Killed@5

; 978  : 				{
; 979  : 					if (this->m_damage[i] == mostDamage)

	fcomp	DWORD PTR [edi]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN10@Killed@5

; 980  : 						mostDamager.Add(i);

	mov	ecx, DWORD PTR _mostDamager$58831[esp+60]
	add	ecx, 1
	push	ecx

; 981  : 					else

	jmp	SHORT $LN93@Killed@5
$LN10@Killed@5:

; 982  : 					{
; 983  : 						mostDamager.Clear();

	cmp	DWORD PTR _mostDamager$58831[esp+56], ebp
	je	SHORT $LN33@Killed@5
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR _mostDamager$58831[esp+68]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _mostDamager$58831[esp+56], ebp
$LN33@Killed@5:
	mov	DWORD PTR _mostDamager$58831[esp+60], ebp
	mov	DWORD PTR _mostDamager$58831[esp+64], ebp

; 984  : 						mostDamager.Add(i);

	push	1
$LN93@Killed@5:
	mov	edx, DWORD PTR _mostDamager$58831[esp+56]
	mov	eax, DWORD PTR [edx+8]
	lea	ecx, DWORD PTR _mostDamager$58831[esp+56]
	call	eax
	test	al, al
	je	SHORT $LN38@Killed@5
	mov	ecx, DWORD PTR _mostDamager$58831[esp+60]
	mov	edx, DWORD PTR _mostDamager$58831[esp+56]
	mov	DWORD PTR [edx+ecx*4-4], esi
	add	DWORD PTR _mostDamager$58831[esp+64], 1
$LN38@Killed@5:

; 985  : 					}
; 986  : 					mostDamage = this->m_damage[i];

	fld	DWORD PTR [edi]
	fstp	DWORD PTR _mostDamage$58829[esp+52]
	jmp	SHORT $LN11@Killed@5
$LN89@Killed@5:
	fstp	ST(0)
$LN11@Killed@5:

; 987  : 				}
; 988  : 
; 989  : 				gzPlayer *vData = gzPlayerManager::Find(i);

	push	esi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	add	esp, 4

; 990  : 				if (vData)

	cmp	eax, ebp
	je	SHORT $LN14@Killed@5

; 991  : 					vData->GetVeteran()->AddPoints(damagePoints / this->m_totalDamage * this->m_damage[i]);

	fld	DWORD PTR [edi]
	mov	eax, DWORD PTR [eax+64]
	fdiv	DWORD PTR [ebx+1060]
	push	ecx
	mov	ecx, eax
	fmul	DWORD PTR _damagePoints$58828[esp+56]
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
$LN14@Killed@5:
	add	esi, 1
	add	edi, 4
	cmp	esi, 127				; 0000007fH
	jle	$LL15@Killed@5

; 992  : 			}
; 993  : 		}
; 994  : 
; 995  : 		if (mostDamager.Count() == 0)

	mov	edx, DWORD PTR _mostDamager$58831[esp+64]
	cmp	edx, ebp
	jne	SHORT $LN7@Killed@5

; 996  : 			return;

	cmp	DWORD PTR _mostDamager$58831[esp+56], ebp
	mov	DWORD PTR __$EHRec$[esp+60], -1
	mov	DWORD PTR _mostDamager$58831[esp+52], OFFSET ??_7?$aVector@H@@6B@
	je	$LN80@Killed@5
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR _mostDamager$58831[esp+68]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx

; 1009 : }

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	8
$LN7@Killed@5:

; 997  : 
; 998  : 		// Doesn't give most damage vet-points if none is in vehicle and vehicle has seat(s)
; 999  : 		if (this->m_vehicle->SeatsList.Length() == 0 || (this->m_vehicle->SeatsList.Length() > 0 && this->m_vehicle->Occupant_Count > 0))

	mov	ecx, DWORD PTR [ebx+1064]
	mov	eax, DWORD PTR [ecx+2484]
	cmp	eax, ebp
	je	SHORT $LN5@Killed@5
	jle	SHORT $LN2@Killed@5
	cmp	DWORD PTR [ecx+2492], ebp
	jle	SHORT $LN2@Killed@5
$LN5@Killed@5:

; 1000 : 		{
; 1001 : 			for (unsigned int i = 0; i < mostDamager.Count(); i++)

	xor	esi, esi
	cmp	edx, ebp
	jbe	SHORT $LN2@Killed@5
$LL4@Killed@5:

; 1002 : 			{
; 1003 : 				gzPlayer *gzData = gzPlayerManager::Find(mostDamager[i]);

	mov	ecx, DWORD PTR _mostDamager$58831[esp+56]
	mov	edx, DWORD PTR [ecx+esi*4]
	push	edx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	add	esp, 4

; 1004 : 				if (gzData)

	cmp	eax, ebp
	je	SHORT $LN3@Killed@5

; 1005 : 					gzData->GetVeteran()->AddPoints(this->m_data->Points->destroy / mostDamager.Count());

	mov	ecx, DWORD PTR [ebx+28]
	fild	DWORD PTR _mostDamager$58831[esp+64]
	mov	edx, DWORD PTR [ecx]
	mov	ecx, DWORD PTR _mostDamager$58831[esp+64]
	test	ecx, ecx
	mov	eax, DWORD PTR [eax+64]
	jge	SHORT $LN91@Killed@5
	fadd	DWORD PTR __real@4f800000
$LN91@Killed@5:
	fdivr	DWORD PTR [edx+12]
	push	ecx
	mov	ecx, eax
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
$LN3@Killed@5:
	add	esi, 1
	cmp	esi, DWORD PTR _mostDamager$58831[esp+64]
	jb	SHORT $LL4@Killed@5
$LN2@Killed@5:

; 1006 : 			}
; 1007 : 		}
; 1008 : 	}

	cmp	DWORD PTR _mostDamager$58831[esp+56], ebp
	mov	DWORD PTR __$EHRec$[esp+60], -1
	mov	DWORD PTR _mostDamager$58831[esp+52], OFFSET ??_7?$aVector@H@@6B@
	je	SHORT $LN80@Killed@5
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	43					; 0000002bH
	push	OFFSET ??_C@_0CG@NJHDKABA@d?3?2source?5code?2alib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR _mostDamager$58831[esp+68]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx

; 1009 : }

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	8
$LN86@Killed@5:

; 960  : 		}
; 961  : 
; 962  : 		// Damage points
; 963  : 		if (this->m_totalDamage == 0.0f)

	fstp	ST(0)
$LN80@Killed@5:
	pop	edi
	pop	esi

; 1006 : 			}
; 1007 : 		}
; 1008 : 	}

$LN66@Killed@5:

; 1009 : }

	mov	ecx, DWORD PTR __$EHRec$[esp+44]
	pop	ebp
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Killed@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z$0:
	lea	ecx, DWORD PTR _mostDamager$58831[ebp]
	jmp	??1?$aVector@H@@UAE@XZ			; aVector<int>::~aVector<int>
__ehhandler$?Killed@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z:
	mov	eax, OFFSET __ehfuncinfo$?Killed@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Killed@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@0@Z ENDP ; gzObserverVeteranVehicle::Killed
; Function compile flags: /Ogtpy
;	COMDAT ?Timer_Expired@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@H@Z
_TEXT	SEGMENT
$T69429 = -4						; size = 4
$T69444 = 8						; size = 4
$T69439 = 8						; size = 4
$T69434 = 8						; size = 4
_newArmor$58871 = 8					; size = 4
_obj$ = 8						; size = 4
_newHealth$58873 = 12					; size = 4
_number$ = 12						; size = 4
?Timer_Expired@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@H@Z PROC ; gzObserverVeteranVehicle::Timer_Expired, COMDAT
; _this$ = ecx

; 1011 : {

	push	ecx

; 1012 : 	if (number == 2)

	mov	eax, DWORD PTR _number$[esp]
	cmp	eax, 2
	push	ebx
	push	esi
	push	edi
	mov	esi, ecx
	jne	SHORT $LN15@Timer_Expi@3

; 1013 : 	{
; 1014 : 		for (int i = 1; i <= 127; i++)

	fldz
	lea	edi, DWORD PTR [eax-1]
	lea	ebx, DWORD PTR [esi+548]
$LN14@Timer_Expi@3:

; 1015 : 		{
; 1016 : 			if (this->m_repair[i] != 0.0f)

	fcom	DWORD PTR [ebx]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $LN13@Timer_Expi@3

; 1017 : 			{
; 1018 : 				gzPlayer *gzData = gzPlayerManager::Find(i);

	push	edi
	fstp	ST(0)
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	add	esp, 4

; 1019 : 				if (gzData)

	test	eax, eax
	je	SHORT $LN10@Timer_Expi@3

; 1020 : 					gzData->GetVeteran()->AddPoints(this->m_repair[i] * this->m_data->Points->repair);

	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR [ecx]
	fld	DWORD PTR [edx+16]
	push	ecx
	fmul	DWORD PTR [ebx]
	mov	ecx, DWORD PTR [eax+64]
	fstp	DWORD PTR [esp]
	call	?AddPoints@gzVeteranClass@@QAEXM@Z	; gzVeteranClass::AddPoints
$LN10@Timer_Expi@3:

; 1021 : 				this->m_repair[i] = 0.0f;

	fldz
	fst	DWORD PTR [ebx]
$LN13@Timer_Expi@3:
	add	edi, 1
	add	ebx, 4
	cmp	edi, 127				; 0000007fH
	jle	SHORT $LN14@Timer_Expi@3

; 1022 : 			}
; 1023 : 		}
; 1024 : 		obj->Start_Observer_Timer(this->GetID(), 60.0f, 2);

	mov	eax, DWORD PTR [esi+4]
	fstp	ST(0)
	fld	DWORD PTR __real@42700000
	push	2
	push	ecx
	mov	ecx, DWORD PTR _obj$[esp+20]
	fstp	DWORD PTR [esp]
	push	eax

; 1054 : 			}
; 1055 : 		}
; 1056 : 		obj->Start_Observer_Timer(this->GetID(), 1.0f, number);

	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	edi
	pop	esi
	pop	ebx

; 1057 : 	}
; 1058 : }

	pop	ecx
	ret	8
$LN15@Timer_Expi@3:

; 1025 : 	}
; 1026 : 	else if (number == 10)

	cmp	eax, 10					; 0000000aH
	jne	$LN8@Timer_Expi@3

; 1027 : 	{
; 1028 : 		if (this->m_vehicle->Owner.Reference)

	mov	eax, DWORD PTR [esi+1064]
	cmp	DWORD PTR [eax+2528], 0
	je	$LN4@Timer_Expi@3

; 1029 : 		{
; 1030 : 			this->m_purchaser = gzPlayerManager::Find(this->m_vehicle->Owner.Reference->obj->As_SoldierGameObj()->Player);

	mov	ecx, DWORD PTR [eax+2528]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	mov	ecx, DWORD PTR [eax+2400]
	push	ecx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z ; gzPlayerManager::Find
	add	esp, 4

; 1031 : 			if (this->m_purchaser)

	test	eax, eax
	mov	DWORD PTR [esi+1068], eax
	je	$LN4@Timer_Expi@3

; 1032 : 			{
; 1033 : 				nc_VehicleGameObjDef *def					= gzStatic_Cast(nc_VehicleGameObjDef, obj->definition);
; 1034 : 				float newArmor								= (gzStatic_Cast(nc_VehicleGameObjDef, obj->definition)->DefenseDef.ShieldStrengthMax.Get() / 100.0f * (100.0f + this->m_purchaser->GetVeteran()->GetCurrentLevel()->AddArmor));

	mov	edi, DWORD PTR _obj$[esp+12]
	mov	ecx, DWORD PTR [edi+1724]
	mov	edx, DWORD PTR [eax+64]
	mov	ebx, DWORD PTR [edx+44]
	add	ecx, 92					; 0000005cH
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fld	DWORD PTR [ebx+16]
	fadd	DWORD PTR __real@42c80000

; 1035 : 				float newHealth								= (gzStatic_Cast(nc_VehicleGameObjDef, obj->definition)->DefenseDef.HealthMax.Get() / 100.0f * (100.0f + this->m_purchaser->GetVeteran()->GetCurrentLevel()->AddHealth));

	mov	eax, DWORD PTR [esi+1068]
	mov	ecx, DWORD PTR [eax+64]
	mov	ebx, DWORD PTR [ecx+44]
	mov	ecx, DWORD PTR [edi+1724]
	fmulp	ST(1), ST(0)
	add	ecx, 80					; 00000050H
	fmul	DWORD PTR __real@3c23d70a
	fstp	DWORD PTR _newArmor$58871[esp+12]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fld	DWORD PTR [ebx+12]

; 1036 : 				this->m_vehicle->Defense.ShieldStrength		= newArmor;

	mov	eax, DWORD PTR [esi+1064]
	fadd	DWORD PTR __real@42c80000
	lea	edx, DWORD PTR $T69429[esp+16]
	push	edx
	add	eax, 1852				; 0000073cH
	fmulp	ST(1), ST(0)
	push	eax
	fmul	DWORD PTR __real@3c23d70a
	fstp	DWORD PTR _newHealth$58873[esp+20]
	fld	DWORD PTR _newArmor$58871[esp+20]
	fstp	DWORD PTR $T69429[esp+24]
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 1037 : 				this->m_vehicle->Defense.ShieldStrengthMax	= newArmor;

	mov	edx, DWORD PTR [esi+1064]
	fld	DWORD PTR _newArmor$58871[esp+12]
	lea	ecx, DWORD PTR $T69434[esp+12]
	fstp	DWORD PTR $T69434[esp+12]
	push	ecx
	add	edx, 1856				; 00000740H
	push	edx
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 1038 : 				this->m_vehicle->Defense.Health				= newHealth;

	fld	DWORD PTR _newHealth$58873[esp+12]
	mov	ecx, DWORD PTR [esi+1064]
	fstp	DWORD PTR $T69439[esp+12]
	lea	eax, DWORD PTR $T69439[esp+12]
	push	eax
	add	ecx, 1840				; 00000730H
	push	ecx
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 1039 : 				this->m_vehicle->Defense.HealthMax			= newHealth;

	fld	DWORD PTR _newHealth$58873[esp+12]
	mov	eax, DWORD PTR [esi+1064]
	fstp	DWORD PTR $T69444[esp+12]
	lea	edx, DWORD PTR $T69444[esp+12]
	push	edx
	add	eax, 1844				; 00000734H
	push	eax
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 1040 : 				this->m_vehicle->Set_Object_Dirty_Bit(nc_DB_OCCASIONAL, true);

	mov	eax, DWORD PTR [esi+1064]
	mov	edx, DWORD PTR [eax+8]
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+56]
	push	1
	push	3
	call	eax

; 1041 : 				obj->Start_Observer_Timer(this->GetID(), 1.0f, 11);

	fld1
	push	11					; 0000000bH
	push	ecx
	mov	ecx, DWORD PTR [esi+4]
	fstp	DWORD PTR [esp]
	push	ecx

; 1054 : 			}
; 1055 : 		}
; 1056 : 		obj->Start_Observer_Timer(this->GetID(), 1.0f, number);

	mov	ecx, edi
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	edi
	pop	esi
	pop	ebx

; 1057 : 	}
; 1058 : }

	pop	ecx
	ret	8
$LN8@Timer_Expi@3:

; 1042 : 			}
; 1043 : 		}
; 1044 : 	}
; 1045 : 	else if (number == 11)

	cmp	eax, 11					; 0000000bH
	jne	SHORT $LN4@Timer_Expi@3

; 1046 : 	{
; 1047 : 		if (this->m_vehicle->SeatsList[0])

	mov	edx, DWORD PTR [esi+1064]
	mov	eax, DWORD PTR [edx+2480]
	cmp	DWORD PTR [eax], 0
	mov	edi, DWORD PTR _obj$[esp+12]
	je	SHORT $LN1@Timer_Expi@3

; 1048 : 		{
; 1049 : 			gzPlayer *gzData = gzPlayerManager::Find(this->m_vehicle->SeatsList[0]->Player);

	mov	eax, DWORD PTR [eax]
	mov	ecx, DWORD PTR [eax+2400]
	push	ecx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z ; gzPlayerManager::Find
	add	esp, 4

; 1050 : 			if (gzData)

	test	eax, eax
	je	SHORT $LN1@Timer_Expi@3

; 1051 : 			{
; 1052 : 				if (gzData->GetVeteran()->GetCurrentLevel()->VehicleHealthRegeneration > 0.0f)

	mov	edx, DWORD PTR [eax+64]
	fldz
	mov	ecx, DWORD PTR [edx+44]
	fcomp	DWORD PTR [ecx+28]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN1@Timer_Expi@3

; 1053 : 					gzCommands->Apply_Damage(obj, -gzData->GetVeteran()->GetCurrentLevel()->VehicleHealthRegeneration, "Repair", NULL);

	fld	DWORD PTR [ecx+28]
	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	push	0
	fchs
	push	OFFSET ??_C@_06KOKHNNIE@Repair?$AA@
	push	ecx
	mov	ecx, DWORD PTR [eax+616]
	fstp	DWORD PTR [esp]
	push	edi
	call	ecx
	add	esp, 16					; 00000010H
$LN1@Timer_Expi@3:

; 1054 : 			}
; 1055 : 		}
; 1056 : 		obj->Start_Observer_Timer(this->GetID(), 1.0f, number);

	fld1
	mov	edx, DWORD PTR [esi+4]
	push	11					; 0000000bH
	push	ecx
	fstp	DWORD PTR [esp]
	push	edx
	mov	ecx, edi
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
$LN4@Timer_Expi@3:
	pop	edi
	pop	esi
	pop	ebx

; 1057 : 	}
; 1058 : }

	pop	ecx
	ret	8
?Timer_Expired@gzObserverVeteranVehicle@@EAEXPAVnc_ScriptableGameObj@@H@Z ENDP ; gzObserverVeteranVehicle::Timer_Expired
_TEXT	ENDS
PUBLIC	??1gzChatCommandBase@@QAE@XZ			; gzChatCommandBase::~gzChatCommandBase
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzChatCommandBase@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzChatCommandBase@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1gzChatCommandBase@@QAE@XZ$1
__ehfuncinfo$??1gzChatCommandBase@@QAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??1gzChatCommandBase@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzChatCommandBase@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzChatCommandBase@@QAE@XZ PROC			; gzChatCommandBase::~gzChatCommandBase, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzChatCommandBase@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+20], esi
	lea	ecx, DWORD PTR [esi+32]
	mov	DWORD PTR __$EHRec$[esp+28], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR [esi+24]
	mov	BYTE PTR __$EHRec$[esp+28], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1gzChatCommandBase@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 4
	jmp	??1aWideStringArray@@UAE@XZ
__unwindfunclet$??1gzChatCommandBase@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 24					; 00000018H
	jmp	??1aString@@UAE@XZ
__ehhandler$??1gzChatCommandBase@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzChatCommandBase@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzChatCommandBase@@QAE@XZ ENDP			; gzChatCommandBase::~gzChatCommandBase
PUBLIC	??_7aWideStringArray@@6B@			; aWideStringArray::`vftable'
PUBLIC	??0aWideStringArray@@QAE@XZ			; aWideStringArray::aWideStringArray
PUBLIC	??_R4aWideStringArray@@6B@			; aWideStringArray::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVaWideStringArray@@@8			; aWideStringArray `RTTI Type Descriptor'
PUBLIC	??_R3aWideStringArray@@8			; aWideStringArray::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aWideStringArray@@8			; aWideStringArray::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@aWideStringArray@@8		; aWideStringArray::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EaWideStringArray@@UAEPAXI@Z:PROC		; aWideStringArray::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@aWideStringArray@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@aWideStringArray@@8 DD FLAT:??_R0?AVaWideStringArray@@@8 ; aWideStringArray::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aWideStringArray@@8
rdata$r	ENDS
;	COMDAT ??_R2aWideStringArray@@8
rdata$r	SEGMENT
??_R2aWideStringArray@@8 DD FLAT:??_R1A@?0A@EA@aWideStringArray@@8 ; aWideStringArray::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$aStringArrayBase@VaWideString@@@@8
	DD	FLAT:??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R3aWideStringArray@@8
rdata$r	SEGMENT
??_R3aWideStringArray@@8 DD 00H				; aWideStringArray::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2aWideStringArray@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaWideStringArray@@@8
_DATA	SEGMENT
??_R0?AVaWideStringArray@@@8 DD FLAT:??_7type_info@@6B@	; aWideStringArray `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaWideStringArray@@', 00H
_DATA	ENDS
;	COMDAT ??_R4aWideStringArray@@6B@
rdata$r	SEGMENT
??_R4aWideStringArray@@6B@ DD 00H			; aWideStringArray::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVaWideStringArray@@@8
	DD	FLAT:??_R3aWideStringArray@@8
rdata$r	ENDS
;	COMDAT ??_7aWideStringArray@@6B@
CONST	SEGMENT
??_7aWideStringArray@@6B@ DD FLAT:??_R4aWideStringArray@@6B@ ; aWideStringArray::`vftable'
	DD	FLAT:??_EaWideStringArray@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@PAVaStringData@@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z
	DD	FLAT:?Insert@?$aVector@PAVaStringData@@@@UAEXIABQAVaStringData@@@Z
	DD	FLAT:?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0aWideStringArray@@QAE@XZ
_TEXT	SEGMENT
??0aWideStringArray@@QAE@XZ PROC			; aWideStringArray::aWideStringArray, COMDAT
; _this$ = ecx
	mov	eax, ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax], OFFSET ??_7aWideStringArray@@6B@
	ret	0
??0aWideStringArray@@QAE@XZ ENDP			; aWideStringArray::aWideStringArray
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GaWideStringArray@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GaWideStringArray@@UAEPAXI@Z PROC			; aWideStringArray::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$aStringArrayBase@VaWideString@@@@UAE@XZ ; aStringArrayBase<aWideString>::~aStringArrayBase<aWideString>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@22
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@22:
	mov	eax, esi
	pop	esi
	ret	4
??_GaWideStringArray@@UAEPAXI@Z ENDP			; aWideStringArray::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_7gzChatCommandBase@@6B@			; gzChatCommandBase::`vftable'
PUBLIC	??0gzChatCommandBase@@QAE@XZ			; gzChatCommandBase::gzChatCommandBase
PUBLIC	??_R4gzChatCommandBase@@6B@			; gzChatCommandBase::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChatCommandBase@@@8			; gzChatCommandBase `RTTI Type Descriptor'
PUBLIC	??_R3gzChatCommandBase@@8			; gzChatCommandBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChatCommandBase@@8			; gzChatCommandBase::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChatCommandBase@@8		; gzChatCommandBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??0aWideString@@QAE@XZ:PROC			; aWideString::aWideString
;	COMDAT ??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChatCommandBase@@8 DD FLAT:??_R0?AVgzChatCommandBase@@@8 ; gzChatCommandBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChatCommandBase@@8
rdata$r	SEGMENT
??_R2gzChatCommandBase@@8 DD FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8 ; gzChatCommandBase::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzChatCommandBase@@8
rdata$r	SEGMENT
??_R3gzChatCommandBase@@8 DD 00H			; gzChatCommandBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChatCommandBase@@@8
_DATA	SEGMENT
??_R0?AVgzChatCommandBase@@@8 DD FLAT:??_7type_info@@6B@ ; gzChatCommandBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChatCommandBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChatCommandBase@@6B@
rdata$r	SEGMENT
??_R4gzChatCommandBase@@6B@ DD 00H			; gzChatCommandBase::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChatCommandBase@@@8
	DD	FLAT:??_R3gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_7gzChatCommandBase@@6B@
CONST	SEGMENT
??_7gzChatCommandBase@@6B@ DD FLAT:??_R4gzChatCommandBase@@6B@ ; gzChatCommandBase::`vftable'
	DD	FLAT:__purecall
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzChatCommandBase@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzChatCommandBase@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzChatCommandBase@@QAE@XZ$1
__ehfuncinfo$??0gzChatCommandBase@@QAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0gzChatCommandBase@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzChatCommandBase@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzChatCommandBase@@QAE@XZ PROC			; gzChatCommandBase::gzChatCommandBase, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??0gzChatCommandBase@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET ??_7gzChatCommandBase@@6B@
	xor	eax, eax
	mov	DWORD PTR _this$[esp+20], esi
	mov	DWORD PTR [esi+8], eax
	mov	DWORD PTR [esi+12], eax
	mov	DWORD PTR [esi+16], eax
	mov	DWORD PTR [esi+4], OFFSET ??_7aWideStringArray@@6B@
	lea	ecx, DWORD PTR [esi+24]
	mov	DWORD PTR __$EHRec$[esp+28], eax
	call	??0aString@@QAE@XZ			; aString::aString
	lea	ecx, DWORD PTR [esi+32]
	mov	BYTE PTR __$EHRec$[esp+28], 1
	call	??0aWideString@@QAE@XZ			; aWideString::aWideString
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzChatCommandBase@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 4
	jmp	??1aWideStringArray@@UAE@XZ
__unwindfunclet$??0gzChatCommandBase@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 24					; 00000018H
	jmp	??1aString@@UAE@XZ
__ehhandler$??0gzChatCommandBase@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzChatCommandBase@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzChatCommandBase@@QAE@XZ ENDP			; gzChatCommandBase::gzChatCommandBase
PUBLIC	??_7gzChat_VetInfo@@6B@				; gzChat_VetInfo::`vftable'
PUBLIC	??0gzChat_VetInfo@@QAE@XZ			; gzChat_VetInfo::gzChat_VetInfo
PUBLIC	??_R4gzChat_VetInfo@@6B@			; gzChat_VetInfo::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_VetInfo@@@8			; gzChat_VetInfo `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_VetInfo@@8				; gzChat_VetInfo::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_VetInfo@@8				; gzChat_VetInfo::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_VetInfo@@8			; gzChat_VetInfo::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z ; gzChat_VetInfo::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_VetInfo@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_VetInfo@@8 DD FLAT:??_R0?AVgzChat_VetInfo@@@8 ; gzChat_VetInfo::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_VetInfo@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_VetInfo@@8
rdata$r	SEGMENT
??_R2gzChat_VetInfo@@8 DD FLAT:??_R1A@?0A@EA@gzChat_VetInfo@@8 ; gzChat_VetInfo::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_VetInfo@@8
rdata$r	SEGMENT
??_R3gzChat_VetInfo@@8 DD 00H				; gzChat_VetInfo::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_VetInfo@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_VetInfo@@@8
_DATA	SEGMENT
??_R0?AVgzChat_VetInfo@@@8 DD FLAT:??_7type_info@@6B@	; gzChat_VetInfo `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_VetInfo@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_VetInfo@@6B@
rdata$r	SEGMENT
??_R4gzChat_VetInfo@@6B@ DD 00H				; gzChat_VetInfo::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_VetInfo@@@8
	DD	FLAT:??_R3gzChat_VetInfo@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_VetInfo@@6B@
CONST	SEGMENT
??_7gzChat_VetInfo@@6B@ DD FLAT:??_R4gzChat_VetInfo@@6B@ ; gzChat_VetInfo::`vftable'
	DD	FLAT:?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_VetInfo@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_VetInfo@@QAE@XZ PROC				; gzChat_VetInfo::gzChat_VetInfo, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_VetInfo@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_VetInfo@@QAE@XZ ENDP				; gzChat_VetInfo::gzChat_VetInfo
_TEXT	ENDS
PUBLIC	??_C@_0DM@DOFCNJB@?$FLVeteran?$FN?3?5Current?5level?5for?5?$CFls@ ; `string'
PUBLIC	??_C@_0P@ODOIPKPI@?$CFls?5not?5found?4?$AA@	; `string'
PUBLIC	??_C@_0EO@GCDIEJON@Found?5?$CFd?5result?$CIs?$CJ?5for?5?$CC?$CFs?$CC?4?5Ple@ ; `string'
PUBLIC	??_C@_0IE@CPDPJICK@?$FLVeteran?$FN?5Your?5current?5level?3?5?$CFd@ ; `string'
PUBLIC	??_C@_0DI@CJMAINOK@?$FLVeteran?$FN?5Your?5current?5level?3?5?$CFd@ ; `string'
EXTRN	?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z:PROC ; gzPlayerManager::FindByPartName
EXTRN	?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z:PROC ; gzPlayerManager::Find
EXTRN	?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z:PROC ; gzPlayerManager::FindByPartNameCount
EXTRN	??0aString@@QAE@PB_W@Z:PROC			; aString::aString
EXTRN	?SecsToAscTime@@YA?AVaString@@I@Z:PROC		; SecsToAscTime
;	COMDAT ??_C@_0DM@DOFCNJB@?$FLVeteran?$FN?3?5Current?5level?5for?5?$CFls@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0DM@DOFCNJB@?$FLVeteran?$FN?3?5Current?5level?5for?5?$CFls@ DB '[Ve'
	DB	'teran]: Current level for %ls: %d(%s) - Vet-Points: %.2f', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@ODOIPKPI@?$CFls?5not?5found?4?$AA@
CONST	SEGMENT
??_C@_0P@ODOIPKPI@?$CFls?5not?5found?4?$AA@ DB '%ls not found.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0EO@GCDIEJON@Found?5?$CFd?5result?$CIs?$CJ?5for?5?$CC?$CFs?$CC?4?5Ple@
CONST	SEGMENT
??_C@_0EO@GCDIEJON@Found?5?$CFd?5result?$CIs?$CJ?5for?5?$CC?$CFs?$CC?4?5Ple@ DB 'F'
	DB	'ound %d result(s) for "%s". Please specify a unique string fo'
	DB	'r the nickname.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0IE@CPDPJICK@?$FLVeteran?$FN?5Your?5current?5level?3?5?$CFd@
CONST	SEGMENT
??_C@_0IE@CPDPJICK@?$FLVeteran?$FN?5Your?5current?5level?3?5?$CFd@ DB '[V'
	DB	'eteran] Your current level: %d(%s) - Your Vet-Points: %.2f - '
	DB	'Required Vet-Points/score/game-time for next promotion: %.2f/'
	DB	'%.0f/%s', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0DI@CJMAINOK@?$FLVeteran?$FN?5Your?5current?5level?3?5?$CFd@
CONST	SEGMENT
??_C@_0DI@CJMAINOK@?$FLVeteran?$FN?5Your?5current?5level?3?5?$CFd@ DB '[V'
	DB	'eteran] Your current level: %d(%s) - Vet-Points: %.2f', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z$3
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z$4
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
xdata$x	ENDS
;	COMDAT ?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
tv739 = -96						; size = 2
tv192 = -96						; size = 4
$T69581 = -96						; size = 8
$T69576 = -96						; size = 1
tv220 = -88						; size = 4
$T69577 = -88						; size = 8
_multipler$58934 = -88					; size = 4
tv744 = -80						; size = 4
tv736 = -80						; size = 4
tv734 = -80						; size = 8
tv213 = -80						; size = 4
tv207 = -80						; size = 4
$T69584 = -80						; size = 4
$T69580 = -80						; size = 8
$T69575 = -80						; size = 8
$T69570 = -72						; size = 8
__$EHRec$ = -12						; size = 12
_msg$ = 8						; size = 4
_type$ = 12						; size = 4
_sender$ = 16						; size = 4
_receiver$ = 20						; size = 4
_ret$ = 24						; size = 4
?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_VetInfo::Activate, COMDAT
; _this$ = ecx

; 1066 : 	void Activate(const wchar_t *msg, int type, int sender, int receiver, aWideString &ret) {

	push	ebp
	mov	ebp, esp
	and	esp, -64				; ffffffc0H
	push	-1
	push	__ehhandler$?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 104				; 00000068H
	push	ebx
	push	esi
	xor	ebx, ebx
	push	edi

; 1067 : 		if (!*msg)

	mov	edi, DWORD PTR _msg$[ebp]
	mov	DWORD PTR $T69584[esp+128], ebx
	cmp	WORD PTR [edi], bx
	jne	$LN9@Activate

; 1068 : 		{
; 1069 : 			if (!gzVeteranMgr->GetSettings()->m_enable)

	mov	eax, DWORD PTR ?gzVeteranMgr@@3PAVgzVeteranManagerClass@@A ; gzVeteranMgr
	mov	eax, DWORD PTR [eax+40]
	cmp	BYTE PTR [eax+24], bl
	je	$LN1@Activate

; 1070 : 				return;
; 1071 : 
; 1072 : 			gzPlayer *gzData = gzPlayerManager::Find(sender);

	mov	ebx, DWORD PTR _sender$[ebp]
	push	ebx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	esi, eax
	add	esp, 4

; 1073 : 			if (!gzData)

	test	esi, esi
	je	$LN1@Activate

; 1074 : 				return;
; 1075 : 			if (gzData->GetVeteran()->GetNextLevel() == NULL)

	mov	edi, DWORD PTR [esi+64]
	cmp	DWORD PTR [edi+48], 0
	jne	SHORT $LN6@Activate

; 1076 : 			{
; 1077 : 				PagePlayer(
; 1078 : 					sender,
; 1079 : 					"[Veteran] Your current level: %d(%s) - Vet-Points: %.2f",
; 1080 : 					gzData->GetVeteran()->GetCurrentLevel()->Level,
; 1081 : 					gzData->GetVeteran()->GetCurrentLevel()->Name.GetString(),
; 1082 : 					gzData->GetVeteran()->GetPoints()
; 1083 : 				);

	mov	esi, edi
	fld	DWORD PTR [esi+40]
	mov	esi, DWORD PTR [esi+44]
	mov	eax, DWORD PTR [esi+4]
	test	eax, eax
	je	SHORT $LN43@Activate
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN44@Activate
$LN43@Activate:
	xor	eax, eax
$LN44@Activate:
	mov	ecx, DWORD PTR [edi+44]
	mov	edx, DWORD PTR [ecx+8]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	eax
	push	edx
	push	OFFSET ??_C@_0DI@CJMAINOK@?$FLVeteran?$FN?5Your?5current?5level?3?5?$CFd@
	push	ebx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 24					; 00000018H

; 1123 : 			}
; 1124 : 		}
; 1125 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+128]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
$LN6@Activate:

; 1084 : 			}
; 1085 : 			else
; 1086 : 			{
; 1087 : 				float multipler = gzData->GetVeteran()->GetMultipler();

	mov	ecx, edi
	call	?GetMultipler@gzVeteranClass@@QAEMXZ	; gzVeteranClass::GetMultipler
	fst	DWORD PTR _multipler$58934[esp+128]

; 1088 : 				PagePlayer(
; 1089 : 					sender,
; 1090 : 					"[Veteran] Your current level: %d(%s) - Your Vet-Points: %.2f - Required Vet-Points/score/game-time for next promotion: %.2f/%.0f/%s",
; 1091 : 					gzData->GetVeteran()->GetCurrentLevel()->Level,
; 1092 : 					gzData->GetVeteran()->GetCurrentLevel()->Name.GetString(),
; 1093 : 					gzData->GetVeteran()->GetPoints(),
; 1094 : 					((gzData->GetVeteran()->GetNextLevel()->RequiredPoints * multipler) > gzData->GetVeteran()->GetPoints()) ? ((gzData->GetVeteran()->GetNextLevel()->RequiredPoints * multipler) - gzData->GetVeteran()->GetPoints()) : 0.0f,
; 1095 : 					((gzData->GetVeteran()->GetNextLevel()->RequiredScore * multipler) > gzData->GetPlayerData()->Score.Get()) ? ((gzData->GetVeteran()->GetNextLevel()->RequiredScore * multipler) - gzData->GetPlayerData()->Score.Get()) : 0.0f,
; 1096 : 					SecsToAscTime((gzData->GetPlayerData()->GameTime >= gzData->GetVeteran()->GetNextLevel()->RequiredGameTime) ? 0 : (unsigned int)(gzData->GetVeteran()->GetNextLevel()->RequiredGameTime - (unsigned long)gzData->GetPlayerData()->GameTime)).GetString()
; 1097 : 				);

	mov	eax, DWORD PTR [edi+48]
	mov	eax, DWORD PTR [eax+40]
	test	eax, eax
	mov	ecx, DWORD PTR [esi+72]
	mov	DWORD PTR tv744[esp+128], eax
	fild	DWORD PTR tv744[esp+128]
	jge	SHORT $LN180@Activate
	fadd	DWORD PTR __real@4f800000
$LN180@Activate:
	fcomp	DWORD PTR [ecx+32]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $LN12@Activate
	xor	ebx, ebx
	jmp	SHORT $LN13@Activate
$LN12@Activate:
	fld	DWORD PTR [ecx+32]
	mov	edx, DWORD PTR [edi+48]
	mov	ebx, DWORD PTR [edx+40]
	fnstcw	WORD PTR tv739[esp+128]
	movzx	eax, WORD PTR tv739[esp+128]
	or	eax, 3072				; 00000c00H
	mov	DWORD PTR tv736[esp+128], eax
	fldcw	WORD PTR tv736[esp+128]
	fistp	QWORD PTR tv734[esp+128]
	mov	eax, DWORD PTR tv734[esp+128]
	sub	ebx, eax
	fldcw	WORD PTR tv739[esp+128]
$LN13@Activate:
	mov	edi, DWORD PTR [edi+48]
	fmul	DWORD PTR [edi+36]
	add	ecx, 4
	fstp	DWORD PTR tv207[esp+128]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fcomp	DWORD PTR tv207[esp+128]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN14@Activate
	mov	eax, DWORD PTR [esi+64]
	mov	eax, DWORD PTR [eax+48]
	fld	DWORD PTR [eax+36]
	mov	ecx, DWORD PTR [esi+72]
	fmul	DWORD PTR _multipler$58934[esp+128]
	add	ecx, 4
	fstp	DWORD PTR tv213[esp+128]
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fsubr	DWORD PTR tv213[esp+128]
	jmp	SHORT $LN181@Activate
$LN14@Activate:
	fldz
$LN181@Activate:
	mov	eax, DWORD PTR [esi+64]
	fstp	DWORD PTR tv192[esp+128]
	mov	ecx, DWORD PTR [eax+48]
	fld	DWORD PTR [eax+40]
	fld	DWORD PTR [ecx+32]
	fld	DWORD PTR _multipler$58934[esp+128]
	fmul	ST(1), ST(0)
	fxch	ST(1)
	fcomp	ST(2)
	fnstsw	ax
	fstp	ST(1)
	test	ah, 65					; 00000041H
	jne	SHORT $LN166@Activate
	mov	eax, DWORD PTR [esi+64]
	mov	ecx, DWORD PTR [eax+48]
	fld	DWORD PTR [ecx+32]
	fmulp	ST(1), ST(0)
	fsub	DWORD PTR [eax+40]
	jmp	SHORT $LN182@Activate
$LN166@Activate:
	fstp	ST(0)
	fldz
$LN182@Activate:
	lea	ecx, DWORD PTR $T69570[esp+128]
	fstp	DWORD PTR tv220[esp+128]
	push	ebx
	push	ecx
	call	?SecsToAscTime@@YA?AVaString@@I@Z	; SecsToAscTime
	add	esp, 8
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+136], 0
	je	SHORT $LN95@Activate
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN96@Activate
$LN95@Activate:
	xor	ecx, ecx
$LN96@Activate:
	mov	eax, DWORD PTR [esi+64]
	fld	DWORD PTR [eax+40]
	mov	eax, DWORD PTR [eax+44]
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN109@Activate
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN110@Activate
$LN109@Activate:
	xor	eax, eax
$LN110@Activate:
	fld	DWORD PTR tv192[esp+128]
	mov	esi, DWORD PTR [esi+64]
	mov	esi, DWORD PTR [esi+44]
	mov	edx, DWORD PTR [esi+8]
	push	ecx
	sub	esp, 24					; 00000018H
	fstp	QWORD PTR [esp+16]
	fld	DWORD PTR tv220[esp+156]
	fstp	QWORD PTR [esp+8]
	fstp	QWORD PTR [esp]
	push	eax
	mov	eax, DWORD PTR _sender$[ebp]
	push	edx
	push	OFFSET ??_C@_0IE@CPDPJICK@?$FLVeteran?$FN?5Your?5current?5level?3?5?$CFd@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 44					; 0000002cH
	mov	DWORD PTR __$EHRec$[esp+136], -1
	lea	ecx, DWORD PTR $T69570[esp+128]

; 1098 : 			}
; 1099 : 		}
; 1100 : 		else

	jmp	$LN183@Activate
$LN9@Activate:

; 1101 : 		{
; 1102 : 			// Nickname unique check
; 1103 : 			int nickCount = gzPlayerManager::FindByPartNameCount(msg);

	push	edi
	lea	ecx, DWORD PTR $T69575[esp+132]
	call	??0aString@@QAE@PB_W@Z			; aString::aString
	lea	ecx, DWORD PTR $T69575[esp+128]
	push	ecx
	mov	DWORD PTR __$EHRec$[esp+140], 1
	call	?FindByPartNameCount@gzPlayerManager@@SAHABVaString@@@Z ; gzPlayerManager::FindByPartNameCount
	add	esp, 4
	lea	ecx, DWORD PTR $T69575[esp+128]
	mov	esi, eax
	mov	DWORD PTR __$EHRec$[esp+136], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1104 : 			if (nickCount >= 2 && !gzPlayerManager::Find(msg))

	cmp	esi, 2
	jl	SHORT $LN18@Activate
	push	edi
	lea	ecx, DWORD PTR $T69577[esp+132]
	call	??0aString@@QAE@PB_W@Z			; aString::aString
	lea	edx, DWORD PTR $T69577[esp+128]
	mov	ebx, 1
	push	edx
	mov	DWORD PTR __$EHRec$[esp+140], 2
	mov	DWORD PTR $T69584[esp+132], ebx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z ; gzPlayerManager::Find
	add	esp, 4
	test	eax, eax
	mov	BYTE PTR $T69576[esp+128], bl
	je	SHORT $LN19@Activate
$LN18@Activate:
	mov	BYTE PTR $T69576[esp+128], 0
$LN19@Activate:
	test	bl, 1
	mov	DWORD PTR __$EHRec$[esp+136], -1
	je	SHORT $LN24@Activate
	lea	ecx, DWORD PTR $T69577[esp+128]
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN24@Activate:
	cmp	BYTE PTR $T69576[esp+128], 0

; 1105 : 			{
; 1106 : 				PagePlayer(sender, "Found %d result(s) for \"%s\". Please specify a unique string for the nickname.", nickCount, msg);

	push	edi
	je	SHORT $LN3@Activate
	mov	eax, DWORD PTR _sender$[ebp]
	push	esi
	push	OFFSET ??_C@_0EO@GCDIEJON@Found?5?$CFd?5result?$CIs?$CJ?5for?5?$CC?$CFs?$CC?4?5Ple@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H

; 1123 : 			}
; 1124 : 		}
; 1125 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+128]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
$LN3@Activate:

; 1107 : 				return;
; 1108 : 			}
; 1109 : 
; 1110 : 			gzPlayer *gzData = gzPlayerManager::FindByPartName(msg);

	lea	ecx, DWORD PTR $T69580[esp+132]
	call	??0aString@@QAE@PB_W@Z			; aString::aString
	lea	ecx, DWORD PTR $T69580[esp+128]
	push	ecx
	mov	DWORD PTR __$EHRec$[esp+140], 3
	call	?FindByPartName@gzPlayerManager@@SAPAVgzPlayer@@ABVaString@@@Z ; gzPlayerManager::FindByPartName
	or	ebx, -1
	add	esp, 4
	lea	ecx, DWORD PTR $T69580[esp+128]
	mov	esi, eax
	mov	DWORD PTR __$EHRec$[esp+136], ebx
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1111 : 			if (!gzData)

	test	esi, esi
	jne	SHORT $LN2@Activate

; 1112 : 				PagePlayer(sender, "%ls not found.", msg);

	mov	edx, DWORD PTR _sender$[ebp]
	push	edi
	push	OFFSET ??_C@_0P@ODOIPKPI@?$CFls?5not?5found?4?$AA@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH

; 1123 : 			}
; 1124 : 		}
; 1125 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+128]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
$LN2@Activate:

; 1113 : 			else
; 1114 : 			{
; 1115 : 				PagePlayer(
; 1116 : 					sender,
; 1117 : 					"[Veteran]: Current level for %ls: %d(%s) - Vet-Points: %.2f",
; 1118 : 					gzData->GetPlayerName().GetString(),
; 1119 : 					gzData->GetVeteran()->GetCurrentLevel()->Level,
; 1120 : 					gzData->GetVeteran()->GetCurrentLevel()->Name.GetString(),
; 1121 : 					gzData->GetVeteran()->GetPoints()
; 1122 : 				);

	lea	eax, DWORD PTR $T69581[esp+128]
	push	eax
	mov	ecx, esi
	call	?GetPlayerName@gzPlayer@@QAE?AVaWideString@@XZ ; gzPlayer::GetPlayerName
	mov	ecx, DWORD PTR [esi+64]
	fld	DWORD PTR [ecx+40]
	mov	ecx, DWORD PTR [ecx+44]
	mov	ecx, DWORD PTR [ecx+4]
	test	ecx, ecx
	mov	DWORD PTR __$EHRec$[esp+136], 4
	je	SHORT $LN139@Activate
	mov	ecx, DWORD PTR [ecx]
	jmp	SHORT $LN140@Activate
$LN139@Activate:
	xor	ecx, ecx
$LN140@Activate:
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	mov	esi, DWORD PTR [esi+64]
	mov	esi, DWORD PTR [esi+44]
	je	SHORT $LN149@Activate
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN150@Activate
$LN149@Activate:
	xor	eax, eax
$LN150@Activate:
	mov	edx, DWORD PTR _sender$[ebp]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	ecx
	mov	ecx, DWORD PTR [esi+8]
	push	ecx
	push	eax
	push	OFFSET ??_C@_0DM@DOFCNJB@?$FLVeteran?$FN?3?5Current?5level?5for?5?$CFls@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 28					; 0000001cH
	mov	DWORD PTR __$EHRec$[esp+136], ebx
	lea	ecx, DWORD PTR $T69581[esp+128]
$LN183@Activate:
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@Activate:

; 1123 : 			}
; 1124 : 		}
; 1125 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+128]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z$0:
	lea	ecx, DWORD PTR $T69570[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z$1:
	lea	ecx, DWORD PTR $T69575[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z$2:
	mov	eax, DWORD PTR $T69584[ebp]
	and	eax, 1
	je	$LN23@Activate
	and	DWORD PTR $T69584[ebp], -2		; fffffffeH
	lea	ecx, DWORD PTR $T69577[ebp]
	jmp	??1aString@@UAE@XZ
$LN23@Activate:
	ret	0
__unwindfunclet$?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z$3:
	lea	ecx, DWORD PTR $T69580[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z$4:
	lea	ecx, DWORD PTR $T69581[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@gzChat_VetInfo@@EAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_VetInfo::Activate
PUBLIC	??_C@_0BN@HGFNFMEC@d?3?2source?5code?2gzgm?2gzchat?4h?$AA@ ; `string'
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_VetInfo>::gzChatCommand_Reg<gzChat_VetInfo>
EXTRN	?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A:BYTE ; gzChatManagerClass::m_chatCommandList
EXTRN	??4aWideString@@QAEAAV0@ABV0@@Z:PROC		; aWideString::operator=
EXTRN	??0aWideString@@QAE@PB_W@Z:PROC			; aWideString::aWideString
EXTRN	??1aToken@@QAE@XZ:PROC				; aToken::~aToken
EXTRN	?GetData@aToken@@QAEABVaString@@XZ:PROC		; aToken::GetData
EXTRN	?gettok@aToken@@QAE?AV1@HE@Z:PROC		; aToken::gettok
EXTRN	?numtok@aToken@@QAEHE@Z:PROC			; aToken::numtok
EXTRN	??0aToken@@QAE@ABVaString@@@Z:PROC		; aToken::aToken
;	COMDAT ??_C@_0BN@HGFNFMEC@d?3?2source?5code?2gzgm?2gzchat?4h?$AA@
; File d:\source code\alib\include\avector.h
CONST	SEGMENT
??_C@_0BN@HGFNFMEC@d?3?2source?5code?2gzgm?2gzchat?4h?$AA@ DB 'd:\source '
	DB	'code\gzgm\gzchat.h', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -32						; size = 4
$T69895 = -28						; size = 8
$T69894 = -28						; size = 8
$T69892 = -28						; size = 4
$T69887 = -28						; size = 4
$T69885 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_cmdTok$ = 8						; size = 4
_commands$ = 8						; size = 4
$T69893 = 12						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_VetInfo>::gzChatCommand_Reg<gzChat_VetInfo>, COMDAT
; _this$ = ecx

; 123  : 	gzChatCommand_Reg(const char *commands, int type = (MSG_ALL | MSG_TEAM), const char *keyhook_key = NULL, const wchar_t *keyhook_param = NULL)

	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 20					; 00000014H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[esp+28]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	ebp
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+48], edi
	je	$LN37@gzChatComm

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

	push	eax
	lea	ecx, DWORD PTR $T69885[esp+52]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T69885[esp+48]
	xor	ebp, ebp
	push	eax
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	mov	DWORD PTR __$EHRec$[esp+60], ebp
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	mov	bl, 2
	lea	ecx, DWORD PTR $T69885[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@HGFNFMEC@d?3?2source?5code?2gzgm?2gzchat?4h?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	40					; 00000028H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T69887[esp+48], esi
	cmp	esi, ebp
	mov	BYTE PTR __$EHRec$[esp+56], 3
	je	SHORT $LN9@gzChatComm
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_VetInfo@@6B@
	mov	ebp, esi
$LN9@gzChatComm:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[esp+44]
	mov	DWORD PTR [ebp+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm
	lea	edi, DWORD PTR [ebp+4]
	npad	6
$LL5@gzChatComm:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T69893[esp+52]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+56]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+56], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T69892[esp+56], esp
	push	eax
	call	??0aWideString@@QAE@ABVaString@@@Z	; aWideString::aWideString
	mov	ecx, edi
	call	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
	lea	ecx, DWORD PTR $T69893[esp+44]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aToken@@QAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+48]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+48]
$LN3@gzChatComm:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T69894[esp+52]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T69894[esp+48]
	push	eax
	lea	ecx, DWORD PTR [ebp+24]
	mov	BYTE PTR __$EHRec$[esp+60], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T69894[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[esp+44]
	test	eax, eax
	je	SHORT $LN1@gzChatComm

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T69895[esp+52]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T69895[esp+48]
	push	ecx
	lea	ecx, DWORD PTR [ebp+32]
	mov	BYTE PTR __$EHRec$[esp+60], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T69895[esp+48]
	mov	BYTE PTR __$EHRec$[esp+56], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A
	add	edx, 1
	push	edx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, OFFSET ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A ; gzChatManagerClass::m_chatCommandList
	call	edx
	test	al, al
	je	SHORT $LN32@gzChatComm
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+8
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4-4], ebp
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+44]
	mov	DWORD PTR __$EHRec$[esp+56], -1
	call	??1aToken@@QAE@XZ			; aToken::~aToken
$LN37@gzChatComm:
	mov	ecx, DWORD PTR __$EHRec$[esp+48]
	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 32					; 00000020H
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T69885[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T69887[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T69893[ebp-4]
	jmp	??1aToken@@QAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T69894[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T69895[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_VetInfo>::gzChatCommand_Reg<gzChat_VetInfo>
PUBLIC	??_C@_0CG@OGDEDJDB@?$CBvstats?0?$CBvstatus?0?$CBvetstats?0?$CBvets@ ; `string'
PUBLIC	??_C@_07GAIMIMLA@VetInfo?$AA@			; `string'
PUBLIC	??_C@_0BI@BAHCMGDG@gzObserverVeteranBeacon?$AA@	; `string'
PUBLIC	??_C@_0BJ@OBECONCD@gzObserverVeteranSoldier?$AA@ ; `string'
PUBLIC	??_7gzVeteranManagerClass@@6BgzSettingsEvent@@@	; gzVeteranManagerClass::`vftable'
PUBLIC	??_7gzVeteranManagerClass@@6BgzEvtHandler@@@	; gzVeteranManagerClass::`vftable'
PUBLIC	??0gzVeteranManagerClass@@QAE@XZ		; gzVeteranManagerClass::gzVeteranManagerClass
PUBLIC	??_R4gzVeteranManagerClass@@6BgzEvtHandler@@@	; gzVeteranManagerClass::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzVeteranManagerClass@@@8		; gzVeteranManagerClass `RTTI Type Descriptor'
PUBLIC	??_R3gzVeteranManagerClass@@8			; gzVeteranManagerClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzVeteranManagerClass@@8			; gzVeteranManagerClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzVeteranManagerClass@@8		; gzVeteranManagerClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1CE@?0A@EA@gzSettingsEvent@@8		; gzSettingsEvent::`RTTI Base Class Descriptor at (36,-1,0,64)'
PUBLIC	?GetName@gzVeteranManagerClass@@UAEPBDXZ	; gzVeteranManagerClass::GetName
PUBLIC	?Player_Purchase@gzEvtHandler@@UAEXAAVgzEventPlayerPurchase@@@Z ; gzEvtHandler::Player_Purchase
PUBLIC	??_R4gzVeteranManagerClass@@6BgzSettingsEvent@@@ ; gzVeteranManagerClass::`RTTI Complete Object Locator'
EXTRN	?Register_Observer@gzManagerClass@@QAEXKPBD0@Z:PROC ; gzManagerClass::Register_Observer
EXTRN	?gzManager@@3PAVgzManagerClass@@A:DWORD		; gzManager
EXTRN	??_EgzVeteranManagerClass@@UAEPAXI@Z:PROC	; gzVeteranManagerClass::`vector deleting destructor'
;	COMDAT ??_R4gzVeteranManagerClass@@6BgzSettingsEvent@@@
; File d:\source code\gzgm\gzsetting.h
rdata$r	SEGMENT
??_R4gzVeteranManagerClass@@6BgzSettingsEvent@@@ DD 00H	; gzVeteranManagerClass::`RTTI Complete Object Locator'
	DD	024H
	DD	00H
	DD	FLAT:??_R0?AVgzVeteranManagerClass@@@8
	DD	FLAT:??_R3gzVeteranManagerClass@@8
rdata$r	ENDS
;	COMDAT ??_R1CE@?0A@EA@gzSettingsEvent@@8
rdata$r	SEGMENT
??_R1CE@?0A@EA@gzSettingsEvent@@8 DD FLAT:??_R0?AVgzSettingsEvent@@@8 ; gzSettingsEvent::`RTTI Base Class Descriptor at (36,-1,0,64)'
	DD	00H
	DD	024H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzSettingsEvent@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzVeteranManagerClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzVeteranManagerClass@@8 DD FLAT:??_R0?AVgzVeteranManagerClass@@@8 ; gzVeteranManagerClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzVeteranManagerClass@@8
rdata$r	ENDS
;	COMDAT ??_R2gzVeteranManagerClass@@8
rdata$r	SEGMENT
??_R2gzVeteranManagerClass@@8 DD FLAT:??_R1A@?0A@EA@gzVeteranManagerClass@@8 ; gzVeteranManagerClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzEvtHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
	DD	FLAT:??_R1CE@?0A@EA@gzSettingsEvent@@8
rdata$r	ENDS
;	COMDAT ??_R3gzVeteranManagerClass@@8
rdata$r	SEGMENT
??_R3gzVeteranManagerClass@@8 DD 00H			; gzVeteranManagerClass::`RTTI Class Hierarchy Descriptor'
	DD	01H
	DD	04H
	DD	FLAT:??_R2gzVeteranManagerClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzVeteranManagerClass@@@8
_DATA	SEGMENT
??_R0?AVgzVeteranManagerClass@@@8 DD FLAT:??_7type_info@@6B@ ; gzVeteranManagerClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzVeteranManagerClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzVeteranManagerClass@@6BgzEvtHandler@@@
rdata$r	SEGMENT
??_R4gzVeteranManagerClass@@6BgzEvtHandler@@@ DD 00H	; gzVeteranManagerClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzVeteranManagerClass@@@8
	DD	FLAT:??_R3gzVeteranManagerClass@@8
rdata$r	ENDS
;	COMDAT ??_C@_0CG@OGDEDJDB@?$CBvstats?0?$CBvstatus?0?$CBvetstats?0?$CBvets@
CONST	SEGMENT
??_C@_0CG@OGDEDJDB@?$CBvstats?0?$CBvstatus?0?$CBvetstats?0?$CBvets@ DB '!'
	DB	'vstats,!vstatus,!vetstats,!vetstatus', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_07GAIMIMLA@VetInfo?$AA@
CONST	SEGMENT
??_C@_07GAIMIMLA@VetInfo?$AA@ DB 'VetInfo', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@BAHCMGDG@gzObserverVeteranBeacon?$AA@
CONST	SEGMENT
??_C@_0BI@BAHCMGDG@gzObserverVeteranBeacon?$AA@ DB 'gzObserverVeteranBeac'
	DB	'on', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BJ@OBECONCD@gzObserverVeteranSoldier?$AA@
CONST	SEGMENT
??_C@_0BJ@OBECONCD@gzObserverVeteranSoldier?$AA@ DB 'gzObserverVeteranSol'
	DB	'dier', 00H					; `string'
CONST	ENDS
;	COMDAT ??_7gzVeteranManagerClass@@6BgzSettingsEvent@@@
CONST	SEGMENT
??_7gzVeteranManagerClass@@6BgzSettingsEvent@@@ DD FLAT:??_R4gzVeteranManagerClass@@6BgzSettingsEvent@@@ ; gzVeteranManagerClass::`vftable'
	DD	FLAT:?Settings_Loaded@gzVeteranManagerClass@@UAEXXZ
CONST	ENDS
;	COMDAT ??_7gzVeteranManagerClass@@6BgzEvtHandler@@@
CONST	SEGMENT
??_7gzVeteranManagerClass@@6BgzEvtHandler@@@ DD FLAT:??_R4gzVeteranManagerClass@@6BgzEvtHandler@@@ ; gzVeteranManagerClass::`vftable'
	DD	FLAT:??_EgzVeteranManagerClass@@UAEPAXI@Z
	DD	FLAT:?GetName@gzVeteranManagerClass@@UAEPBDXZ
	DD	FLAT:?Delete@gzVeteranManagerClass@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@gzVeteranManagerClass@@UAEXXZ
	DD	FLAT:?Level_Ended@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Think@gzEvtHandler@@UAEXXZ
	DD	FLAT:?Player_Joined@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@gzEvtHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@gzEvtHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@gzEvtHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@gzEvtHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@gzEvtHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@gzEvtHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@gzEvtHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@gzEvtHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@gzEvtHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@gzEvtHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@gzEvtHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@gzEvtHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@gzVeteranManagerClass@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@gzEvtHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@gzEvtHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@gzEvtHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@gzEvtHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@gzEvtHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@gzEvtHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@gzEvtHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@gzEvtHandler@@UAEXAAVgzEventBhsVersion@@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzVeteranManagerClass@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzVeteranManagerClass@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzVeteranManagerClass@@QAE@XZ$1
__ehfuncinfo$??0gzVeteranManagerClass@@QAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0gzVeteranManagerClass@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
xdata$x	ENDS
;	COMDAT ??0gzVeteranManagerClass@@QAE@XZ
_TEXT	SEGMENT
_gzChat_VetInfo_Reg$ = -21				; size = 1
_this$ = -20						; size = 4
$T69936 = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzVeteranManagerClass@@QAE@XZ PROC			; gzVeteranManagerClass::gzVeteranManagerClass, COMDAT
; _this$ = ecx

; 169  : {

	push	-1
	push	__ehhandler$??0gzVeteranManagerClass@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 12					; 0000000cH
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+32], esi
	call	??0gzEvtHandler@@QAE@XZ			; gzEvtHandler::gzEvtHandler
	lea	edi, DWORD PTR [esi+36]

; 170  : 	this->RegisterEvent(gzEVT_GAME_LEVEL_LOADED);

	push	0
	mov	DWORD PTR [edi], OFFSET ??_7gzSettingsEvent@@6B@
	push	4096					; 00001000H
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+48], 0
	mov	DWORD PTR [esi], OFFSET ??_7gzVeteranManagerClass@@6BgzEvtHandler@@@
	mov	DWORD PTR [edi], OFFSET ??_7gzVeteranManagerClass@@6BgzSettingsEvent@@@
	call	?RegisterEvent@gzEvtHandler@@QAEXHH@Z	; gzEvtHandler::RegisterEvent

; 171  : 	this->RegisterEvent(gzEVT_OBJECT_C4_CREATE);

	push	0
	push	12296					; 00003008H
	mov	ecx, esi
	call	?RegisterEvent@gzEvtHandler@@QAEXHH@Z	; gzEvtHandler::RegisterEvent

; 172  : 
; 173  : 	gzManager->Register_Observer(0x3001, "gzObserverVeteranSoldier");

	mov	ecx, DWORD PTR ?gzManager@@3PAVgzManagerClass@@A ; gzManager
	push	0
	push	OFFSET ??_C@_0BJ@OBECONCD@gzObserverVeteranSoldier?$AA@
	push	12289					; 00003001H
	call	?Register_Observer@gzManagerClass@@QAEXKPBD0@Z ; gzManagerClass::Register_Observer

; 174  : 	gzManager->Register_Observer(0x3010, "gzObserverVeteranVehicle");

	mov	ecx, DWORD PTR ?gzManager@@3PAVgzManagerClass@@A ; gzManager
	push	0
	push	OFFSET ??_C@_0BJ@LDMGFND@gzObserverVeteranVehicle?$AA@
	push	12304					; 00003010H
	call	?Register_Observer@gzManagerClass@@QAEXKPBD0@Z ; gzManagerClass::Register_Observer

; 175  : 	gzManager->Register_Observer(0x3016, "gzObserverVeteranBeacon");

	mov	ecx, DWORD PTR ?gzManager@@3PAVgzManagerClass@@A ; gzManager
	push	0
	push	OFFSET ??_C@_0BI@BAHCMGDG@gzObserverVeteranBeacon?$AA@
	push	12310					; 00003016H
	call	?Register_Observer@gzManagerClass@@QAEXKPBD0@Z ; gzManagerClass::Register_Observer

; 176  : 
; 177  : 	gzChatCommand_Reg<gzChat_VetInfo> gzChat_VetInfo_Reg("!vstats,!vstatus,!vetstats,!vetstatus", (MSG_ALL | MSG_TEAM), "VetInfo");

	push	0
	push	OFFSET ??_C@_07GAIMIMLA@VetInfo?$AA@
	push	3
	push	OFFSET ??_C@_0CG@OGDEDJDB@?$CBvstats?0?$CBvstatus?0?$CBvetstats?0?$CBvets@
	lea	ecx, DWORD PTR _gzChat_VetInfo_Reg$[esp+48]
	call	??0?$gzChatCommand_Reg@VgzChat_VetInfo@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_VetInfo>::gzChatCommand_Reg<gzChat_VetInfo>

; 178  : 
; 179  : 	this->m_settings = new gzSettingsVeteranClass;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	179					; 000000b3H
	push	OFFSET ??_C@_0BA@FIGKNDDO@?4?2gzveteran?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	104					; 00000068H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T69936[esp+32], eax
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+40], 1
	je	SHORT $LN3@gzVeteranM
	mov	ecx, eax
	call	??0gzSettingsVeteranClass@@QAE@XZ
	jmp	SHORT $LN4@gzVeteranM
$LN3@gzVeteranM:
	xor	eax, eax
$LN4@gzVeteranM:

; 180  : 	this->m_settings->SetOwner(this);
; 181  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+32]
	mov	DWORD PTR [esi+40], eax
	mov	DWORD PTR [eax+8], edi
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 24					; 00000018H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzVeteranManagerClass@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
__unwindfunclet$??0gzVeteranManagerClass@@QAE@XZ$1:
	mov	eax, DWORD PTR $T69936[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$??0gzVeteranManagerClass@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzVeteranManagerClass@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzVeteranManagerClass@@QAE@XZ ENDP			; gzVeteranManagerClass::gzVeteranManagerClass
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzevent.h
;	COMDAT ?Player_Purchase@gzEvtHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_Purchase@gzEvtHandler@@UAEXAAVgzEventPlayerPurchase@@@Z PROC ; gzEvtHandler::Player_Purchase, COMDAT
; _this$ = ecx

; 70   : 	virtual void Player_Purchase(gzEventPlayerPurchase &) { };

	ret	4
?Player_Purchase@gzEvtHandler@@UAEXAAVgzEventPlayerPurchase@@@Z ENDP ; gzEvtHandler::Player_Purchase
_TEXT	ENDS
PUBLIC	??_C@_0BG@JGOOBGEH@gzVeteranManagerClass?$AA@	; `string'
;	COMDAT ??_C@_0BG@JGOOBGEH@gzVeteranManagerClass?$AA@
; File d:\source code\gzgm\gzveteran.h
CONST	SEGMENT
??_C@_0BG@JGOOBGEH@gzVeteranManagerClass?$AA@ DB 'gzVeteranManagerClass', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzVeteranManagerClass@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzVeteranManagerClass@@UAEPBDXZ PROC		; gzVeteranManagerClass::GetName, COMDAT
; _this$ = ecx

; 57   : 		return "gzVeteranManagerClass";

	mov	eax, OFFSET ??_C@_0BG@JGOOBGEH@gzVeteranManagerClass?$AA@

; 58   : 	};

	ret	0
?GetName@gzVeteranManagerClass@@UAEPBDXZ ENDP		; gzVeteranManagerClass::GetName
_TEXT	ENDS
PUBLIC	??1gzVeteranManagerClass@@UAE@XZ		; gzVeteranManagerClass::~gzVeteranManagerClass
; Function compile flags: /Ogtpy
;	COMDAT ??1gzVeteranManagerClass@@UAE@XZ
_TEXT	SEGMENT
??1gzVeteranManagerClass@@UAE@XZ PROC			; gzVeteranManagerClass::~gzVeteranManagerClass, COMDAT
; _this$ = ecx
	jmp	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
??1gzVeteranManagerClass@@UAE@XZ ENDP			; gzVeteranManagerClass::~gzVeteranManagerClass
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzVeteranManagerClass@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzVeteranManagerClass@@UAEPAXI@Z PROC		; gzVeteranManagerClass::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1gzEvtHandler@@UAE@XZ			; gzEvtHandler::~gzEvtHandler
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@23
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@23:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzVeteranManagerClass@@UAEPAXI@Z ENDP		; gzVeteranManagerClass::`scalar deleting destructor'
_TEXT	ENDS
EXTRN	_atexit:PROC
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzinc.h
;	COMDAT ??__EgzCritical@@YAXXZ
text$yc	SEGMENT
??__EgzCritical@@YAXXZ PROC				; `dynamic initializer for 'gzCritical'', COMDAT

; 53   : static aCriticalSection gzCritical;

	push	OFFSET _gzCritical
	call	DWORD PTR __imp__InitializeCriticalSection@4
	push	OFFSET ??__FgzCritical@@YAXXZ		; `dynamic atexit destructor for 'gzCritical''
	call	_atexit
	pop	ecx
	ret	0
??__EgzCritical@@YAXXZ ENDP				; `dynamic initializer for 'gzCritical''
; Function compile flags: /Ogtpy
; File d:\source code\gzgm\gzveteran.cpp
text$yc	ENDS
;	COMDAT ??__EgzObserverVeteranBeacon_Reg@@YAXXZ
text$yc	SEGMENT
??__EgzObserverVeteranBeacon_Reg@@YAXXZ PROC		; `dynamic initializer for 'gzObserverVeteranBeacon_Reg'', COMDAT

; 451  : nc_ScriptRegistrant<gzObserverVeteranBeacon> gzObserverVeteranBeacon_Reg("gzObserverVeteranBeacon", "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BI@BAHCMGDG@gzObserverVeteranBeacon?$AA@
	mov	ecx, OFFSET ?gzObserverVeteranBeacon_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@A ; gzObserverVeteranBeacon_Reg
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzObserverVeteranBeacon_Reg@@YAXXZ ; `dynamic atexit destructor for 'gzObserverVeteranBeacon_Reg''
	mov	DWORD PTR ?gzObserverVeteranBeacon_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzObserverVeteranBeacon_Reg@@YAXXZ ENDP		; `dynamic initializer for 'gzObserverVeteranBeacon_Reg''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EgzObserverVeteranC4_Reg@@YAXXZ
text$yc	SEGMENT
??__EgzObserverVeteranC4_Reg@@YAXXZ PROC		; `dynamic initializer for 'gzObserverVeteranC4_Reg'', COMDAT

; 520  : nc_ScriptRegistrant<gzObserverVeteranC4> gzObserverVeteranC4_Reg("gzObserverVeteranC4", "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BE@PDPPDPMC@gzObserverVeteranC4?$AA@
	mov	ecx, OFFSET ?gzObserverVeteranC4_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@A ; gzObserverVeteranC4_Reg
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzObserverVeteranC4_Reg@@YAXXZ ; `dynamic atexit destructor for 'gzObserverVeteranC4_Reg''
	mov	DWORD PTR ?gzObserverVeteranC4_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzObserverVeteranC4_Reg@@YAXXZ ENDP		; `dynamic initializer for 'gzObserverVeteranC4_Reg''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EgzObserverVeteranBuilding_Reg@@YAXXZ
text$yc	SEGMENT
??__EgzObserverVeteranBuilding_Reg@@YAXXZ PROC		; `dynamic initializer for 'gzObserverVeteranBuilding_Reg'', COMDAT

; 665  : nc_ScriptRegistrant<gzObserverVeteranBuilding> gzObserverVeteranBuilding_Reg("gzObserverVeteranBuilding", "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BK@MHOLDJPJ@gzObserverVeteranBuilding?$AA@
	mov	ecx, OFFSET ?gzObserverVeteranBuilding_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@A ; gzObserverVeteranBuilding_Reg
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzObserverVeteranBuilding_Reg@@YAXXZ ; `dynamic atexit destructor for 'gzObserverVeteranBuilding_Reg''
	mov	DWORD PTR ?gzObserverVeteranBuilding_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzObserverVeteranBuilding_Reg@@YAXXZ ENDP		; `dynamic initializer for 'gzObserverVeteranBuilding_Reg''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EgzObserverVeteranSoldier_Reg@@YAXXZ
text$yc	SEGMENT
??__EgzObserverVeteranSoldier_Reg@@YAXXZ PROC		; `dynamic initializer for 'gzObserverVeteranSoldier_Reg'', COMDAT

; 847  : nc_ScriptRegistrant<gzObserverVeteranSoldier> gzObserverVeteranSoldier_Reg("gzObserverVeteranSoldier", "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BJ@OBECONCD@gzObserverVeteranSoldier?$AA@
	mov	ecx, OFFSET ?gzObserverVeteranSoldier_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@A ; gzObserverVeteranSoldier_Reg
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzObserverVeteranSoldier_Reg@@YAXXZ ; `dynamic atexit destructor for 'gzObserverVeteranSoldier_Reg''
	mov	DWORD PTR ?gzObserverVeteranSoldier_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzObserverVeteranSoldier_Reg@@YAXXZ ENDP		; `dynamic initializer for 'gzObserverVeteranSoldier_Reg''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__EgzObserverVeteranVehicle_Reg@@YAXXZ
text$yc	SEGMENT
??__EgzObserverVeteranVehicle_Reg@@YAXXZ PROC		; `dynamic initializer for 'gzObserverVeteranVehicle_Reg'', COMDAT

; 1059 : nc_ScriptRegistrant<gzObserverVeteranVehicle> gzObserverVeteranVehicle_Reg("gzObserverVeteranVehicle", "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BJ@LDMGFND@gzObserverVeteranVehicle?$AA@
	mov	ecx, OFFSET ?gzObserverVeteranVehicle_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@A ; gzObserverVeteranVehicle_Reg
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzObserverVeteranVehicle_Reg@@YAXXZ ; `dynamic atexit destructor for 'gzObserverVeteranVehicle_Reg''
	mov	DWORD PTR ?gzObserverVeteranVehicle_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzObserverVeteranVehicle_Reg@@YAXXZ ENDP		; `dynamic initializer for 'gzObserverVeteranVehicle_Reg''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__FgzCritical@@YAXXZ
text$yd	SEGMENT
??__FgzCritical@@YAXXZ PROC				; `dynamic atexit destructor for 'gzCritical'', COMDAT
	push	OFFSET _gzCritical
	call	DWORD PTR __imp__DeleteCriticalSection@4
	ret	0
??__FgzCritical@@YAXXZ ENDP				; `dynamic atexit destructor for 'gzCritical''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FgzObserverVeteranBeacon_Reg@@YAXXZ
text$yd	SEGMENT
??__FgzObserverVeteranBeacon_Reg@@YAXXZ PROC		; `dynamic atexit destructor for 'gzObserverVeteranBeacon_Reg'', COMDAT
	mov	ecx, OFFSET ?gzObserverVeteranBeacon_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@A ; gzObserverVeteranBeacon_Reg
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzObserverVeteranBeacon_Reg@@YAXXZ ENDP		; `dynamic atexit destructor for 'gzObserverVeteranBeacon_Reg''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FgzObserverVeteranC4_Reg@@YAXXZ
text$yd	SEGMENT
??__FgzObserverVeteranC4_Reg@@YAXXZ PROC		; `dynamic atexit destructor for 'gzObserverVeteranC4_Reg'', COMDAT
	mov	ecx, OFFSET ?gzObserverVeteranC4_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@A ; gzObserverVeteranC4_Reg
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzObserverVeteranC4_Reg@@YAXXZ ENDP		; `dynamic atexit destructor for 'gzObserverVeteranC4_Reg''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FgzObserverVeteranBuilding_Reg@@YAXXZ
text$yd	SEGMENT
??__FgzObserverVeteranBuilding_Reg@@YAXXZ PROC		; `dynamic atexit destructor for 'gzObserverVeteranBuilding_Reg'', COMDAT
	mov	ecx, OFFSET ?gzObserverVeteranBuilding_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@A ; gzObserverVeteranBuilding_Reg
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzObserverVeteranBuilding_Reg@@YAXXZ ENDP		; `dynamic atexit destructor for 'gzObserverVeteranBuilding_Reg''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FgzObserverVeteranSoldier_Reg@@YAXXZ
text$yd	SEGMENT
??__FgzObserverVeteranSoldier_Reg@@YAXXZ PROC		; `dynamic atexit destructor for 'gzObserverVeteranSoldier_Reg'', COMDAT
	mov	ecx, OFFSET ?gzObserverVeteranSoldier_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@A ; gzObserverVeteranSoldier_Reg
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzObserverVeteranSoldier_Reg@@YAXXZ ENDP		; `dynamic atexit destructor for 'gzObserverVeteranSoldier_Reg''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FgzObserverVeteranVehicle_Reg@@YAXXZ
text$yd	SEGMENT
??__FgzObserverVeteranVehicle_Reg@@YAXXZ PROC		; `dynamic atexit destructor for 'gzObserverVeteranVehicle_Reg'', COMDAT
	mov	ecx, OFFSET ?gzObserverVeteranVehicle_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@A ; gzObserverVeteranVehicle_Reg
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzObserverVeteranVehicle_Reg@@YAXXZ ENDP		; `dynamic atexit destructor for 'gzObserverVeteranVehicle_Reg''
text$yd	ENDS
PUBLIC	?gzObserverVeteranVehicle_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@A ; gzObserverVeteranVehicle_Reg
PUBLIC	?gzObserverVeteranC4_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@A ; gzObserverVeteranC4_Reg
PUBLIC	?gzObserverVeteranBuilding_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@A ; gzObserverVeteranBuilding_Reg
PUBLIC	?gzObserverVeteranSoldier_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@A ; gzObserverVeteranSoldier_Reg
PUBLIC	?gzObserverVeteranBeacon_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@A ; gzObserverVeteranBeacon_Reg
_BSS	SEGMENT
?gzObserverVeteranVehicle_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranVehicle@@@@A DB 010H DUP (?) ; gzObserverVeteranVehicle_Reg
?gzObserverVeteranC4_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranC4@@@@A DB 010H DUP (?) ; gzObserverVeteranC4_Reg
?gzObserverVeteranBuilding_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranBuilding@@@@A DB 010H DUP (?) ; gzObserverVeteranBuilding_Reg
?gzObserverVeteranSoldier_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranSoldier@@@@A DB 010H DUP (?) ; gzObserverVeteranSoldier_Reg
?gzObserverVeteranBeacon_Reg@@3V?$nc_ScriptRegistrant@VgzObserverVeteranBeacon@@@@A DB 010H DUP (?) ; gzObserverVeteranBeacon_Reg
_gzCritical DB	018H DUP (?)
_BSS	ENDS
CRT$XCU	SEGMENT
_gzCritical$initializer$ DD FLAT:??__EgzCritical@@YAXXZ
_gzObserverVeteranBeacon_Reg$initializer$ DD FLAT:??__EgzObserverVeteranBeacon_Reg@@YAXXZ
_gzObserverVeteranC4_Reg$initializer$ DD FLAT:??__EgzObserverVeteranC4_Reg@@YAXXZ
_gzObserverVeteranBuilding_Reg$initializer$ DD FLAT:??__EgzObserverVeteranBuilding_Reg@@YAXXZ
_gzObserverVeteranSoldier_Reg$initializer$ DD FLAT:??__EgzObserverVeteranSoldier_Reg@@YAXXZ
_gzObserverVeteranVehicle_Reg$initializer$ DD FLAT:??__EgzObserverVeteranVehicle_Reg@@YAXXZ
CRT$XCU	ENDS
END
