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

	TITLE	d:\Source Code\STGM\stweapon.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	?gzWeaponMgr@@3PAVgzWeaponManager@@A		; gzWeaponMgr
PUBLIC	?gzBackpackMgr@@3PAVgzBackpackManager@@A	; gzBackpackMgr
PUBLIC	?gzWeaponPack@@3PAVgzWeaponPackManager@@A	; gzWeaponPack
PUBLIC	?gzWeaponDropMgr@@3PAVgzWeaponDropManager@@A	; gzWeaponDropMgr
_BSS	SEGMENT
?gzWeaponMgr@@3PAVgzWeaponManager@@A DD 01H DUP (?)	; gzWeaponMgr
?gzBackpackMgr@@3PAVgzBackpackManager@@A DD 01H DUP (?)	; gzBackpackMgr
?gzWeaponPack@@3PAVgzWeaponPackManager@@A DD 01H DUP (?) ; gzWeaponPack
?gzWeaponDropMgr@@3PAVgzWeaponDropManager@@A DD 01H DUP (?) ; gzWeaponDropMgr
_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 (x86)\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	??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	?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	??_7aString@@6B@				; aString::`vftable'
PUBLIC	??0aString@@QAE@ABV0@@Z				; aString::aString
PUBLIC	??_R4aString@@6B@				; aString::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVaString@@@8				; aString `RTTI Type Descriptor'
PUBLIC	??_R3aString@@8					; aString::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aString@@8					; aString::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@aString@@8			; aString::`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@aString@@UBEIXZ			; aString::CharSize
EXTRN	??0aStringBase@@QAE@ABV0@@Z:PROC		; aStringBase::aStringBase
EXTRN	??_EaString@@UAEPAXI@Z:PROC			; aString::`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@aString@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@aString@@8 DD FLAT:??_R0?AVaString@@@8	; aString::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aString@@8
rdata$r	ENDS
;	COMDAT ??_R2aString@@8
rdata$r	SEGMENT
??_R2aString@@8 DD FLAT:??_R1A@?0A@EA@aString@@8	; aString::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@aStringBase@@8
rdata$r	ENDS
;	COMDAT ??_R3aString@@8
rdata$r	SEGMENT
??_R3aString@@8 DD 00H					; aString::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2aString@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaString@@@8
_DATA	SEGMENT
??_R0?AVaString@@@8 DD FLAT:??_7type_info@@6B@		; aString `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaString@@', 00H
_DATA	ENDS
;	COMDAT ??_R4aString@@6B@
rdata$r	SEGMENT
??_R4aString@@6B@ DD 00H				; aString::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVaString@@@8
	DD	FLAT:??_R3aString@@8
rdata$r	ENDS
;	COMDAT ??_7aString@@6B@
CONST	SEGMENT
??_7aString@@6B@ DD FLAT:??_R4aString@@6B@		; aString::`vftable'
	DD	FLAT:??_EaString@@UAEPAXI@Z
	DD	FLAT:?CharSize@aString@@UBEIXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0aString@@QAE@ABV0@@Z
_TEXT	SEGMENT
_str$ = 8						; size = 4
??0aString@@QAE@ABV0@@Z PROC				; aString::aString, COMDAT
; _this$ = ecx

; 134  : 	aString(const aString& 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 ??_7aString@@6B@
	mov	eax, esi
	pop	esi
	ret	4
??0aString@@QAE@ABV0@@Z ENDP				; aString::aString
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?CharSize@aString@@UBEIXZ
_TEXT	SEGMENT
?CharSize@aString@@UBEIXZ PROC				; aString::CharSize, COMDAT
; _this$ = ecx

; 143  : 	unsigned int CharSize() const { return 1; };

	mov	eax, 1
	ret	0
?CharSize@aString@@UBEIXZ ENDP				; aString::CharSize
_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

; 146  : 	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	??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	??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	_sqrtf
EXTRN	__fltused:DWORD
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 8\vc\include\math.h
;	COMDAT _sqrtf
_TEXT	SEGMENT
__X$ = 8						; size = 4
_sqrtf	PROC						; COMDAT

; 423  :         {return ((float)sqrt((double)_X)); }

	fld	DWORD PTR __X$[esp-4]
	fsqrt
	ret	0
_sqrtf	ENDP
_TEXT	ENDS
PUBLIC	?sqrt@@YAMM@Z					; sqrt
; Function compile flags: /Ogtpy
;	COMDAT ?sqrt@@YAMM@Z
_TEXT	SEGMENT
__X$ = 8						; size = 4
?sqrt@@YAMM@Z PROC					; sqrt, COMDAT

; 534  :         {return (sqrtf(_X)); }

	fld	DWORD PTR __X$[esp-4]
	fsqrt
	ret	0
?sqrt@@YAMM@Z ENDP					; sqrt
_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\stgm\steventbase.h
;	COMDAT ?GetPlayer@gzEventPlayerBase@@QAEPAVnc_cPlayer@@XZ
_TEXT	SEGMENT
?GetPlayer@gzEventPlayerBase@@QAEPAVnc_cPlayer@@XZ PROC	; gzEventPlayerBase::GetPlayer, COMDAT
; _this$ = ecx

; 134  : 		return this->m_player;

	mov	eax, DWORD PTR [ecx+24]

; 135  : 	};

	ret	0
?GetPlayer@gzEventPlayerBase@@QAEPAVnc_cPlayer@@XZ ENDP	; gzEventPlayerBase::GetPlayer
_TEXT	ENDS
PUBLIC	?Skip@stEventSkippable@gzEventObjectC4Detonation@@QAEXXZ ; gzEventObjectC4Detonation::stEventSkippable::Skip
; Function compile flags: /Ogtpy
;	COMDAT ?Skip@stEventSkippable@gzEventObjectC4Detonation@@QAEXXZ
_TEXT	SEGMENT
?Skip@stEventSkippable@gzEventObjectC4Detonation@@QAEXXZ PROC ; gzEventObjectC4Detonation::stEventSkippable::Skip, COMDAT
; _this$ = ecx

; 264  : 	EVT_SKIPPABLE();

	mov	BYTE PTR [ecx], 0
	ret	0
?Skip@stEventSkippable@gzEventObjectC4Detonation@@QAEXXZ ENDP ; gzEventObjectC4Detonation::stEventSkippable::Skip
_TEXT	ENDS
PUBLIC	?Skip@gzEventObjectC4Detonation@@QAEXXZ		; gzEventObjectC4Detonation::Skip
; Function compile flags: /Ogtpy
;	COMDAT ?Skip@gzEventObjectC4Detonation@@QAEXXZ
_TEXT	SEGMENT
?Skip@gzEventObjectC4Detonation@@QAEXXZ PROC		; gzEventObjectC4Detonation::Skip, COMDAT
; _this$ = ecx

; 264  : 	EVT_SKIPPABLE();

	mov	BYTE PTR [ecx+32], 0
	ret	0
?Skip@gzEventObjectC4Detonation@@QAEXXZ ENDP		; gzEventObjectC4Detonation::Skip
_TEXT	ENDS
PUBLIC	?Skip@stEventSkippable@gzEventObjectPowerupGrant@@QAEXXZ ; gzEventObjectPowerupGrant::stEventSkippable::Skip
; Function compile flags: /Ogtpy
;	COMDAT ?Skip@stEventSkippable@gzEventObjectPowerupGrant@@QAEXXZ
_TEXT	SEGMENT
?Skip@stEventSkippable@gzEventObjectPowerupGrant@@QAEXXZ PROC ; gzEventObjectPowerupGrant::stEventSkippable::Skip, COMDAT
; _this$ = ecx

; 272  : 	EVT_SKIPPABLE();

	mov	BYTE PTR [ecx], 0
	ret	0
?Skip@stEventSkippable@gzEventObjectPowerupGrant@@QAEXXZ ENDP ; gzEventObjectPowerupGrant::stEventSkippable::Skip
_TEXT	ENDS
PUBLIC	?Skip@gzEventObjectPowerupGrant@@QAEXXZ		; gzEventObjectPowerupGrant::Skip
; Function compile flags: /Ogtpy
;	COMDAT ?Skip@gzEventObjectPowerupGrant@@QAEXXZ
_TEXT	SEGMENT
?Skip@gzEventObjectPowerupGrant@@QAEXXZ PROC		; gzEventObjectPowerupGrant::Skip, COMDAT
; _this$ = ecx

; 272  : 	EVT_SKIPPABLE();

	mov	BYTE PTR [ecx+32], 0
	ret	0
?Skip@gzEventObjectPowerupGrant@@QAEXXZ ENDP		; gzEventObjectPowerupGrant::Skip
_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\stgm\stsetting.h
xdata$x	ENDS
;	COMDAT ?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z
_TEXT	SEGMENT
$T69700 = -36						; size = 8
$T69702 = -28						; size = 8
$T69701 = -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 $T69700[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 $T69701[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+24]
	lea	esi, DWORD PTR $T69700[esp+44]
	push	esi
	push	eax
	lea	eax, DWORD PTR $T69702[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 $T69702[esp+44]
	setne	bl
	mov	BYTE PTR __$EHRec$[esp+52], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T69701[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 $T69700[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z$1:
	lea	ecx, DWORD PTR $T69701[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z$2:
	lea	ecx, DWORD PTR $T69702[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\stgm\stsetting.h
xdata$x	ENDS
;	COMDAT ?Load_Float@stSettingsBase@@IAEMPBD0M@Z
_TEXT	SEGMENT
$T69731 = -36						; size = 8
$T69733 = -28						; size = 8
$T69732 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_section$ = 8						; size = 4
_item$ = 12						; size = 4
$T69730 = 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 $T69731[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 $T69732[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+24]
	lea	esi, DWORD PTR $T69731[esp+40]
	push	esi
	push	eax
	lea	eax, DWORD PTR $T69733[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 $T69730[esp+36]
	lea	ecx, DWORD PTR $T69733[esp+40]
	mov	BYTE PTR __$EHRec$[esp+48], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T69732[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 $T69731[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBD0M@Z$1:
	lea	ecx, DWORD PTR $T69732[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Float@stSettingsBase@@IAEMPBD0M@Z$2:
	lea	ecx, DWORD PTR $T69733[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	??_C@_0L@MOILIICA@General?4?$CFs?$AA@		; `string'
PUBLIC	?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z		; stSettingsBase::Load_Int
EXTRN	?cGame@@3AAPAVnc_cGameData@@A:DWORD		; cGame
;	COMDAT ??_C@_0L@MOILIICA@General?4?$CFs?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0L@MOILIICA@General?4?$CFs?$AA@ DB 'General.%s', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$3
	DD	03H
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$4
	DD	04H
	DD	FLAT:__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$5
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stsetting.h
xdata$x	ENDS
;	COMDAT ?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z
_TEXT	SEGMENT
$T69758 = -60						; size = 8
$T69761 = -52						; size = 8
$T69760 = -44						; size = 8
$T69759 = -36						; size = 8
$T69763 = -28						; size = 8
$T69762 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_item$ = 8						; size = 4
_default$ = 12						; size = 4
_map$ = 16						; size = 1
_global$ = 20						; size = 1
?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z PROC		; stSettingsBase::Load_Int, COMDAT
; _this$ = ecx

; 62   : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 48					; 00000030H
	push	esi
	mov	esi, ecx

; 63   : 		int ret = default;
; 64   : 		if (this->m_cfg != NULL)

	cmp	DWORD PTR [esi+12], 0
	push	edi
	mov	edi, DWORD PTR _default$[esp+64]
	je	$LN31@Load_Int

; 65   : 		{
; 66   : 			if (global)

	cmp	BYTE PTR _global$[esp+64], 0
	push	ebp
	mov	ebp, DWORD PTR _item$[esp+68]
	je	SHORT $LN2@Load_Int

; 67   : 				ret = this->m_cfg->GetData(aString::Format("General.%s", item), ret).ToLong();

	push	edi
	lea	ecx, DWORD PTR $T69758[esp+76]
	call	??0aString@@QAE@H@Z			; aString::aString
	push	ebp
	lea	eax, DWORD PTR $T69759[esp+76]
	push	OFFSET ??_C@_0L@MOILIICA@General?4?$CFs?$AA@
	push	eax
	mov	DWORD PTR __$EHRec$[esp+92], 0
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+24]
	lea	edi, DWORD PTR $T69758[esp+72]
	push	edi
	push	eax
	lea	eax, DWORD PTR $T69760[esp+80]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+92], 1
	call	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 2
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	lea	ecx, DWORD PTR $T69760[esp+72]
	mov	edi, eax
	mov	BYTE PTR __$EHRec$[esp+80], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T69759[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T69758[esp+72]
	mov	DWORD PTR __$EHRec$[esp+80], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN2@Load_Int:

; 68   : 			if (map)

	cmp	BYTE PTR _map$[esp+68], 0
	je	$LN30@Load_Int

; 69   : 				ret = this->m_cfg->GetData(aString::Format("\"%s\".%s", cGame->MapName.m_Buffer, item), ret).ToLong();

	push	edi
	lea	ecx, DWORD PTR $T69761[esp+76]
	call	??0aString@@QAE@H@Z			; aString::aString
	mov	eax, DWORD PTR ?cGame@@3AAPAVnc_cGameData@@A ; cGame
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [ecx+40]
	push	ebp
	push	edx
	lea	eax, DWORD PTR $T69762[esp+80]
	push	OFFSET ??_C@_07PAMFCGLO@?$CC?$CFs?$CC?4?$CFs?$AA@
	push	eax
	mov	DWORD PTR __$EHRec$[esp+96], 3
	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+24]
	lea	esi, DWORD PTR $T69761[esp+72]
	push	esi
	push	eax
	lea	eax, DWORD PTR $T69763[esp+80]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+92], 4
	call	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+80], 5
	call	?ToLong@aString@@QAEJXZ			; aString::ToLong
	lea	ecx, DWORD PTR $T69763[esp+72]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+80], 4
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T69762[esp+72]
	mov	BYTE PTR __$EHRec$[esp+80], 3
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T69761[esp+72]
	mov	DWORD PTR __$EHRec$[esp+80], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	pop	ebp
	pop	edi

; 70   : 		}
; 71   : 		return ret;

	mov	eax, esi
	pop	esi

; 72   : 	};

	mov	ecx, DWORD PTR __$EHRec$[esp+60]
	mov	DWORD PTR fs:0, ecx
	add	esp, 60					; 0000003cH
	ret	16					; 00000010H
$LN30@Load_Int:
	pop	ebp

; 70   : 		}
; 71   : 		return ret;

	mov	eax, edi
	pop	edi
	pop	esi

; 72   : 	};

	mov	ecx, DWORD PTR __$EHRec$[esp+60]
	mov	DWORD PTR fs:0, ecx
	add	esp, 60					; 0000003cH
	ret	16					; 00000010H
$LN31@Load_Int:
	mov	ecx, DWORD PTR __$EHRec$[esp+68]
	mov	eax, edi
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 60					; 0000003cH
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$0:
	lea	ecx, DWORD PTR $T69758[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$1:
	lea	ecx, DWORD PTR $T69759[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$2:
	lea	ecx, DWORD PTR $T69760[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$3:
	lea	ecx, DWORD PTR $T69761[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$4:
	lea	ecx, DWORD PTR $T69762[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z$5:
	lea	ecx, DWORD PTR $T69763[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z:
	mov	eax, OFFSET __ehfuncinfo$?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z ENDP		; stSettingsBase::Load_Int
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\stgm\stsetting.h
xdata$x	ENDS
;	COMDAT ?Load_Int@stSettingsBase@@IAEHPBD0H@Z
_TEXT	SEGMENT
$T69807 = -36						; size = 8
$T69809 = -28						; size = 8
$T69808 = -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@2
	push	eax
	lea	ecx, DWORD PTR $T69807[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 $T69808[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+24]
	lea	esi, DWORD PTR $T69807[esp+40]
	push	esi
	push	eax
	lea	eax, DWORD PTR $T69809[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 $T69809[esp+40]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+48], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T69808[esp+40]
	mov	BYTE PTR __$EHRec$[esp+48], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T69807[esp+40]
	mov	DWORD PTR __$EHRec$[esp+48], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	eax, esi
$LN2@Load_Int@2:

; 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 $T69807[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBD0H@Z$1:
	lea	ecx, DWORD PTR $T69808[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_Int@stSettingsBase@@IAEHPBD0H@Z$2:
	lea	ecx, DWORD PTR $T69809[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\stgm\stsetting.h
xdata$x	ENDS
;	COMDAT ?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z
_TEXT	SEGMENT
$T69839 = -28						; size = 4
$T69834 = -28						; size = 8
$T69835 = -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 $T69839[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 $T69834[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 $T69835[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 $T69834[esp+32]
	push	esi
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+32]
	push	eax
	mov	eax, DWORD PTR [edx+24]
	push	esi
	mov	BYTE PTR __$EHRec$[esp+52], 1
	call	eax
	lea	ecx, DWORD PTR $T69835[esp+32]
	mov	BYTE PTR __$EHRec$[esp+40], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T69834[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 $T69834[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z$1:
	lea	ecx, DWORD PTR $T69835[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
$T69859 = -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 $T69859[esp+8], esi
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+12]
	lea	edx, DWORD PTR $T69859[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

; 113  : 	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	?GetWeaponPack@gzPlayer@@QAEPAVgzWeaponPackClass@@XZ ; gzPlayer::GetWeaponPack
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stplayer.h
;	COMDAT ?GetWeaponPack@gzPlayer@@QAEPAVgzWeaponPackClass@@XZ
_TEXT	SEGMENT
?GetWeaponPack@gzPlayer@@QAEPAVgzWeaponPackClass@@XZ PROC ; gzPlayer::GetWeaponPack, COMDAT
; _this$ = ecx

; 84   : 	inline gzWeaponPackClass *GetWeaponPack() { return this->m_weaponPack; };

	mov	eax, DWORD PTR [ecx+60]
	ret	0
?GetWeaponPack@gzPlayer@@QAEPAVgzWeaponPackClass@@XZ ENDP ; gzPlayer::GetWeaponPack
_TEXT	ENDS
PUBLIC	?GetTibCrystal@gzPlayer@@QAEPAVgzTiberiumCrystal@@XZ ; gzPlayer::GetTibCrystal
; Function compile flags: /Ogtpy
;	COMDAT ?GetTibCrystal@gzPlayer@@QAEPAVgzTiberiumCrystal@@XZ
_TEXT	SEGMENT
?GetTibCrystal@gzPlayer@@QAEPAVgzTiberiumCrystal@@XZ PROC ; gzPlayer::GetTibCrystal, COMDAT
; _this$ = ecx

; 86   : 	inline gzTiberiumCrystal *GetTibCrystal() { return this->m_tibCrystal; };

	mov	eax, DWORD PTR [ecx+68]
	ret	0
?GetTibCrystal@gzPlayer@@QAEPAVgzTiberiumCrystal@@XZ ENDP ; gzPlayer::GetTibCrystal
_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

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

	mov	eax, DWORD PTR [ecx+76]
	ret	0
?GetPlayerData@gzPlayer@@QAEPAVnc_cPlayer@@XZ ENDP	; gzPlayer::GetPlayerData
_TEXT	ENDS
PUBLIC	?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ ; gzGameManager::GetGame
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stgame.h
;	COMDAT ?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ
_TEXT	SEGMENT
?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ PROC	; gzGameManager::GetGame, COMDAT
; _this$ = ecx

; 108  : 	gzGameModeBase *GetGame() { return this->m_gameMode; };

	mov	eax, DWORD PTR [ecx+40]
	ret	0
?GetGame@gzGameManager@@QAEPAVgzGameModeBase@@XZ ENDP	; gzGameManager::GetGame
_TEXT	ENDS
PUBLIC	?SetPickupBlock@gzTiberiumCrystal@@QAEXHM@Z	; gzTiberiumCrystal::SetPickupBlock
; Function compile flags: /Ogtpy
; File d:\source code\stgm\sttibcrystal.h
;	COMDAT ?SetPickupBlock@gzTiberiumCrystal@@QAEXHM@Z
_TEXT	SEGMENT
_pId$ = 8						; size = 4
_secs$ = 12						; size = 4
?SetPickupBlock@gzTiberiumCrystal@@QAEXHM@Z PROC	; gzTiberiumCrystal::SetPickupBlock, COMDAT
; _this$ = ecx

; 105  : 	void SetPickupBlock(int pId, float secs) { this->m_pickupBlockCounter[pId] = secs; };

	fld	DWORD PTR _secs$[esp-4]
	mov	eax, DWORD PTR _pId$[esp-4]
	fstp	DWORD PTR [ecx+eax*4+104]
	ret	8
?SetPickupBlock@gzTiberiumCrystal@@QAEXHM@Z ENDP	; gzTiberiumCrystal::SetPickupBlock
_TEXT	ENDS
PUBLIC	??0gzWeaponPackData@@QAE@XZ			; gzWeaponPackData::gzWeaponPackData
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.h
;	COMDAT ??0gzWeaponPackData@@QAE@XZ
_TEXT	SEGMENT
??0gzWeaponPackData@@QAE@XZ PROC			; gzWeaponPackData::gzWeaponPackData, COMDAT
; _this$ = ecx

; 150  : 	gzWeaponPackData()

	mov	eax, ecx

; 151  : 	{
; 152  : 		this->powerup	= NULL;

	mov	DWORD PTR [eax], 0

; 153  : 		this->weapon	= NULL;

	mov	DWORD PTR [eax+4], 0

; 154  : 	};

	ret	0
??0gzWeaponPackData@@QAE@XZ ENDP			; gzWeaponPackData::gzWeaponPackData
_TEXT	ENDS
PUBLIC	??1gzBackpackSoldierPercentData@@QAE@XZ		; gzBackpackSoldierPercentData::~gzBackpackSoldierPercentData
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzBackpackSoldierPercentData@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzBackpackSoldierPercentData@@QAE@XZ$0
__ehfuncinfo$??1gzBackpackSoldierPercentData@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzBackpackSoldierPercentData@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzBackpackSoldierPercentData@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzBackpackSoldierPercentData@@QAE@XZ PROC		; gzBackpackSoldierPercentData::~gzBackpackSoldierPercentData, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzBackpackSoldierPercentData@@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+12]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	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$??1gzBackpackSoldierPercentData@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??1gzBackpackSoldierPercentData@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzBackpackSoldierPercentData@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzBackpackSoldierPercentData@@QAE@XZ ENDP		; gzBackpackSoldierPercentData::~gzBackpackSoldierPercentData
PUBLIC	??0gzBackpackSoldierPercentData@@QAE@XZ		; gzBackpackSoldierPercentData::gzBackpackSoldierPercentData
EXTRN	??0aString@@QAE@XZ:PROC				; aString::aString
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzBackpackSoldierPercentData@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzBackpackSoldierPercentData@@QAE@XZ$0
__ehfuncinfo$??0gzBackpackSoldierPercentData@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0gzBackpackSoldierPercentData@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzBackpackSoldierPercentData@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzBackpackSoldierPercentData@@QAE@XZ PROC		; gzBackpackSoldierPercentData::gzBackpackSoldierPercentData, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??0gzBackpackSoldierPercentData@@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
	call	??0aString@@QAE@XZ			; aString::aString
	lea	ecx, DWORD PTR [esi+12]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??0aString@@QAE@XZ			; aString::aString
	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$??0gzBackpackSoldierPercentData@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??0gzBackpackSoldierPercentData@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzBackpackSoldierPercentData@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzBackpackSoldierPercentData@@QAE@XZ ENDP		; gzBackpackSoldierPercentData::gzBackpackSoldierPercentData
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	??_7gzManagerEvent@@6B@				; gzManagerEvent::`vftable'
PUBLIC	??0gzManagerEvent@@QAE@XZ			; gzManagerEvent::gzManagerEvent
PUBLIC	??_R4gzManagerEvent@@6B@			; gzManagerEvent::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzManagerEvent@@@8			; gzManagerEvent `RTTI Type Descriptor'
PUBLIC	??_R3gzManagerEvent@@8				; gzManagerEvent::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzManagerEvent@@8				; gzManagerEvent::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzManagerEvent@@8			; gzManagerEvent::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z ; gzManagerEvent::ChildObjCreation
;	COMDAT ??_R1A@?0A@EA@gzManagerEvent@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzManagerEvent@@8 DD FLAT:??_R0?AVgzManagerEvent@@@8 ; gzManagerEvent::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_R2gzManagerEvent@@8
rdata$r	SEGMENT
??_R2gzManagerEvent@@8 DD FLAT:??_R1A@?0A@EA@gzManagerEvent@@8 ; gzManagerEvent::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzManagerEvent@@8
rdata$r	SEGMENT
??_R3gzManagerEvent@@8 DD 00H				; gzManagerEvent::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzManagerEvent@@@8
_DATA	SEGMENT
??_R0?AVgzManagerEvent@@@8 DD FLAT:??_7type_info@@6B@	; gzManagerEvent `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzManagerEvent@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzManagerEvent@@6B@
rdata$r	SEGMENT
??_R4gzManagerEvent@@6B@ DD 00H				; gzManagerEvent::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzManagerEvent@@@8
	DD	FLAT:??_R3gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_7gzManagerEvent@@6B@
CONST	SEGMENT
??_7gzManagerEvent@@6B@ DD FLAT:??_R4gzManagerEvent@@6B@ ; gzManagerEvent::`vftable'
	DD	FLAT:__purecall
	DD	FLAT:?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z
	DD	FLAT:__purecall
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzManagerEvent@@QAE@XZ
_TEXT	SEGMENT
??0gzManagerEvent@@QAE@XZ PROC				; gzManagerEvent::gzManagerEvent, COMDAT
; _this$ = ecx
	mov	eax, ecx
	mov	DWORD PTR [eax], OFFSET ??_7gzManagerEvent@@6B@
	ret	0
??0gzManagerEvent@@QAE@XZ ENDP				; gzManagerEvent::gzManagerEvent
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stevent.h
_TEXT	ENDS
;	COMDAT ?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z PROC ; gzManagerEvent::ChildObjCreation, COMDAT
; _this$ = ecx

; 110  : 	virtual void ChildObjCreation(gzBase *) { };

	ret	4
?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z ENDP ; gzManagerEvent::ChildObjCreation
_TEXT	ENDS
PUBLIC	??1gzBackpackClass@@UAE@XZ			; gzBackpackClass::~gzBackpackClass
EXTRN	??1EventHandler@@UAE@XZ:PROC			; EventHandler::~EventHandler
; Function compile flags: /Ogtpy
;	COMDAT ??1gzBackpackClass@@UAE@XZ
_TEXT	SEGMENT
??1gzBackpackClass@@UAE@XZ PROC				; gzBackpackClass::~gzBackpackClass, COMDAT
; _this$ = ecx
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
??1gzBackpackClass@@UAE@XZ ENDP				; gzBackpackClass::~gzBackpackClass
_TEXT	ENDS
PUBLIC	?Delete@gzBackpackClass@@UAEXXZ			; gzBackpackClass::Delete
EXTRN	?gzCommands@@3PAUnc_ScriptCommands@@A:DWORD	; gzCommands
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
;	COMDAT ?Delete@gzBackpackClass@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzBackpackClass@@UAEXXZ PROC			; gzBackpackClass::Delete, COMDAT
; _this$ = ecx

; 284  : {

	push	esi
	mov	esi, ecx

; 285  : 	if (this->m_pack)

	cmp	DWORD PTR [esi+40], 0
	je	SHORT $LN2@Delete

; 286  : 		this->m_pack->SetDeletePending();

	mov	ecx, DWORD PTR [esi+40]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+12]
	call	edx
$LN2@Delete:

; 287  : 	if (gzCommands->Find_Object(this->m_backpackId))

	mov	eax, DWORD PTR [esi+64]
	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+96]
	push	eax
	call	edx
	add	esp, 4
	test	eax, eax
	je	SHORT $LN1@Delete

; 288  : 		gzCommands->Find_Object(this->m_backpackId)->Set_Delete_Pending();

	mov	eax, DWORD PTR [esi+64]
	mov	ecx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	edx, DWORD PTR [ecx+96]
	push	eax
	call	edx
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+44]
	add	esp, 4
	pop	esi
	jmp	edx
$LN1@Delete:
	pop	esi

; 289  : }

	ret	0
?Delete@gzBackpackClass@@UAEXXZ ENDP			; gzBackpackClass::Delete
_TEXT	ENDS
PUBLIC	??_C@_0BG@NEPDPIEH@Backpack?5?$CFd?5expired?4?6?$AA@ ; `string'
PUBLIC	??_C@_0BP@JKJLBEBP@Spawner?5Created?5Special?5Effect?$AA@ ; `string'
PUBLIC	__real@3f000000
PUBLIC	__real@00000000
PUBLIC	?Think@gzBackpackClass@@UAEXXZ			; gzBackpackClass::Think
EXTRN	?Out@stConsole@@SAXPBDZZ:PROC			; stConsole::Out
EXTRN	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z:PROC ; nc_PhysicalGameObj::Set_Position
EXTRN	?Create_Object@nc_ObjectLibraryManager@@SAPAVnc_ScriptableGameObj@@PBD@Z:PROC ; nc_ObjectLibraryManager::Create_Object
EXTRN	?SubFrameTime@@YAXAAM_N@Z:PROC			; SubFrameTime
;	COMDAT ??_C@_0BG@NEPDPIEH@Backpack?5?$CFd?5expired?4?6?$AA@
CONST	SEGMENT
??_C@_0BG@NEPDPIEH@Backpack?5?$CFd?5expired?4?6?$AA@ DB 'Backpack %d expi'
	DB	'red.', 0aH, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@JKJLBEBP@Spawner?5Created?5Special?5Effect?$AA@
CONST	SEGMENT
??_C@_0BP@JKJLBEBP@Spawner?5Created?5Special?5Effect?$AA@ DB 'Spawner Cre'
	DB	'ated Special Effect', 00H			; `string'
CONST	ENDS
;	COMDAT __real@3f000000
CONST	SEGMENT
__real@3f000000 DD 03f000000r			; 0.5
CONST	ENDS
;	COMDAT __real@00000000
CONST	SEGMENT
__real@00000000 DD 000000000r			; 0
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Think@gzBackpackClass@@UAEXXZ
_TEXT	SEGMENT
?Think@gzBackpackClass@@UAEXXZ PROC			; gzBackpackClass::Think, COMDAT
; _this$ = ecx

; 291  : {

	push	esi
	mov	esi, ecx

; 292  : 	if (this->m_backpackId != 0)

	cmp	DWORD PTR [esi+64], 0
	je	$LN1@Think
	push	ebx
	push	edi

; 293  : 	{
; 294  : 		// Counters
; 295  : 		SubFrameTime(this->m_liveCounter, true);

	lea	ebx, DWORD PTR [esi+60]
	push	1
	push	ebx
	call	?SubFrameTime@@YAXAAM_N@Z		; SubFrameTime

; 296  : 		SubFrameTime(this->m_ownerExpireCounter, true);

	lea	edi, DWORD PTR [esi+48]
	push	1
	push	edi
	call	?SubFrameTime@@YAXAAM_N@Z		; SubFrameTime

; 297  : 
; 298  : 		// Check for backpack owner expiration
; 299  : 		if (this->m_owner && (this->m_ownerExpireCounter < 0.0f || !this->m_owner->IsActive))

	fldz
	mov	ecx, DWORD PTR [esi+44]
	add	esp, 16					; 00000010H
	test	ecx, ecx
	je	SHORT $LN6@Think
	fcom	DWORD PTR [edi]
	fnstsw	ax
	test	ah, 65					; 00000041H
	je	SHORT $LN5@Think
	cmp	BYTE PTR [ecx+1981], 0
	jne	SHORT $LN6@Think
$LN5@Think:

; 300  : 			this->m_owner = NULL;

	mov	DWORD PTR [esi+44], 0
$LN6@Think:

; 301  : 
; 302  : 		if (this->m_canExpire)

	cmp	BYTE PTR [esi+56], 0
	je	SHORT $LN19@Think

; 303  : 		{
; 304  : 			if (this->m_liveCounter >= 0.0f)

	fcomp	DWORD PTR [ebx]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $LN3@Think

; 305  : 			{
; 306  : 				if (this->m_liveCounter < (gzWeaponMgr->m_settings->Backpack.Live / 2) && this->m_effectId == 0)

	mov	eax, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	ecx, DWORD PTR [eax+40]
	fld	DWORD PTR [ecx+84]
	fmul	DWORD PTR __real@3f000000
	fcomp	DWORD PTR [ebx]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN10@Think
	cmp	DWORD PTR [esi+52], 0
	jne	SHORT $LN10@Think

; 307  : 				{
; 308  : 					nc_PhysicalGameObj *effect = nc_ObjectLibraryManager::Create_Object("Spawner Created Special Effect")->As_PhysicalGameObj();

	push	OFFSET ??_C@_0BP@JKJLBEBP@Spawner?5Created?5Special?5Effect?$AA@
	call	?Create_Object@nc_ObjectLibraryManager@@SAPAVnc_ScriptableGameObj@@PBD@Z ; nc_ObjectLibraryManager::Create_Object
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+36]
	add	esp, 4
	call	eax

; 309  : 					effect->Set_Position(m_pos);

	lea	ecx, DWORD PTR [esi+68]
	mov	edi, eax
	push	ecx
	mov	ecx, edi
	call	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z ; nc_PhysicalGameObj::Set_Position

; 310  : 					this->m_effectId = effect->NetworkID;

	mov	edx, DWORD PTR [edi+12]
	pop	edi
	pop	ebx
	mov	DWORD PTR [esi+52], edx
	pop	esi

; 319  : 			}
; 320  : 		}
; 321  : 	}
; 322  : }

	ret	0
$LN3@Think:

; 311  : 				}
; 312  : 			}
; 313  : 			else
; 314  : 			{
; 315  : #ifdef DEVMSG
; 316  : 				stConsole::Out("Backpack %d expired.\n", this->m_backpackId);

	mov	eax, DWORD PTR [esi+64]
	push	eax
	push	OFFSET ??_C@_0BG@NEPDPIEH@Backpack?5?$CFd?5expired?4?6?$AA@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out

; 317  : #endif
; 318  : 				this->SetDeletePending();

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+12]
	add	esp, 8
	pop	edi
	pop	ebx
	mov	ecx, esi
	pop	esi
	jmp	eax
$LN19@Think:

; 301  : 
; 302  : 		if (this->m_canExpire)

	fstp	ST(0)
$LN10@Think:
	pop	edi
	pop	ebx
$LN1@Think:
	pop	esi

; 319  : 			}
; 320  : 		}
; 321  : 	}
; 322  : }

	ret	0
?Think@gzBackpackClass@@UAEXXZ ENDP			; gzBackpackClass::Think
_TEXT	ENDS
PUBLIC	?ChildObjDeletion@gzBackpackClass@@UAEXPAVgzBase@@@Z ; gzBackpackClass::ChildObjDeletion
; Function compile flags: /Ogtpy
;	COMDAT ?ChildObjDeletion@gzBackpackClass@@UAEXPAVgzBase@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?ChildObjDeletion@gzBackpackClass@@UAEXPAVgzBase@@@Z PROC ; gzBackpackClass::ChildObjDeletion, COMDAT
; _this$ = ecx

; 413  : 	if (this->m_pack == obj)

	mov	eax, DWORD PTR [ecx+4]
	cmp	eax, DWORD PTR _obj$[esp-4]
	jne	SHORT $LN1@ChildObjDe

; 414  : 		this->m_pack = NULL;

	mov	DWORD PTR [ecx+4], 0
$LN1@ChildObjDe:

; 415  : }

	ret	4
?ChildObjDeletion@gzBackpackClass@@UAEXPAVgzBase@@@Z ENDP ; gzBackpackClass::ChildObjDeletion
_TEXT	ENDS
PUBLIC	??_C@_0L@CCCMNGHP@p_backpack?$AA@		; `string'
PUBLIC	??_C@_0P@PDHEJNHK@POW_Neuro_Link?$AA@		; `string'
PUBLIC	?Create@gzBackpackClass@@QAEXXZ			; gzBackpackClass::Create
EXTRN	?Set_Model_By_Name@nc_PhysClass@@QAEXPBD@Z:PROC	; nc_PhysClass::Set_Model_By_Name
;	COMDAT ??_C@_0L@CCCMNGHP@p_backpack?$AA@
CONST	SEGMENT
??_C@_0L@CCCMNGHP@p_backpack?$AA@ DB 'p_backpack', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@PDHEJNHK@POW_Neuro_Link?$AA@
CONST	SEGMENT
??_C@_0P@PDHEJNHK@POW_Neuro_Link?$AA@ DB 'POW_Neuro_Link', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Create@gzBackpackClass@@QAEXXZ
_TEXT	SEGMENT
?Create@gzBackpackClass@@QAEXXZ PROC			; gzBackpackClass::Create, COMDAT
; _this$ = ecx

; 417  : {

	push	esi
	mov	esi, ecx

; 418  : 	if (this->m_backpackId == 0)

	cmp	DWORD PTR [esi+64], 0
	jne	SHORT $LN1@Create
	push	edi

; 419  : 	{
; 420  : 		nc_PhysicalGameObj *Powerup = nc_ObjectLibraryManager::Create_Object("POW_Neuro_Link")->As_PhysicalGameObj();

	push	OFFSET ??_C@_0P@PDHEJNHK@POW_Neuro_Link?$AA@
	call	?Create_Object@nc_ObjectLibraryManager@@SAPAVnc_ScriptableGameObj@@PBD@Z ; nc_ObjectLibraryManager::Create_Object
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+36]
	add	esp, 4
	call	eax

; 421  : 		Powerup->Set_Position(this->m_pos);

	lea	ecx, DWORD PTR [esi+68]
	mov	edi, eax
	push	ecx
	mov	ecx, edi
	call	?Set_Position@nc_PhysicalGameObj@@QAEXABUnc_Vector3@@@Z ; nc_PhysicalGameObj::Set_Position

; 422  : 		Powerup->Physics->Set_Model_By_Name("p_backpack");

	mov	ecx, DWORD PTR [edi+1908]
	push	OFFSET ??_C@_0L@CCCMNGHP@p_backpack?$AA@
	call	?Set_Model_By_Name@nc_PhysClass@@QAEXPBD@Z ; nc_PhysClass::Set_Model_By_Name

; 423  : 		this->m_backpackId = Powerup->NetworkID;
; 424  : 		this->m_effectId = 0;
; 425  : 		if (this->m_owner)

	cmp	DWORD PTR [esi+44], 0
	mov	edx, DWORD PTR [edi+12]
	mov	DWORD PTR [esi+64], edx
	mov	DWORD PTR [esi+52], 0
	pop	edi
	je	SHORT $LN1@Create

; 426  : 			this->m_ownerExpireCounter = gzWeaponMgr->m_settings->Backpack.OwnTime;

	mov	eax, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	ecx, DWORD PTR [eax+40]
	fld	DWORD PTR [ecx+80]
	fstp	DWORD PTR [esi+48]
$LN1@Create:
	pop	esi

; 427  : 	}
; 428  : }

	ret	0
?Create@gzBackpackClass@@QAEXXZ ENDP			; gzBackpackClass::Create
_TEXT	ENDS
PUBLIC	?GetWeaponPack@gzBackpackClass@@QAEPAVgzWeaponPackClass@@XZ ; gzBackpackClass::GetWeaponPack
; Function compile flags: /Ogtpy
;	COMDAT ?GetWeaponPack@gzBackpackClass@@QAEPAVgzWeaponPackClass@@XZ
_TEXT	SEGMENT
?GetWeaponPack@gzBackpackClass@@QAEPAVgzWeaponPackClass@@XZ PROC ; gzBackpackClass::GetWeaponPack, COMDAT
; _this$ = ecx

; 431  : 	return this->m_pack;

	mov	eax, DWORD PTR [ecx+40]

; 432  : }

	ret	0
?GetWeaponPack@gzBackpackClass@@QAEPAVgzWeaponPackClass@@XZ ENDP ; gzBackpackClass::GetWeaponPack
_TEXT	ENDS
PUBLIC	?SetWeaponPack@gzBackpackClass@@QAEXPAVgzWeaponPackClass@@@Z ; gzBackpackClass::SetWeaponPack
; Function compile flags: /Ogtpy
;	COMDAT ?SetWeaponPack@gzBackpackClass@@QAEXPAVgzWeaponPackClass@@@Z
_TEXT	SEGMENT
_pack$ = 8						; size = 4
?SetWeaponPack@gzBackpackClass@@QAEXPAVgzWeaponPackClass@@@Z PROC ; gzBackpackClass::SetWeaponPack, COMDAT
; _this$ = ecx

; 435  : 	this->m_pack = pack;

	mov	eax, DWORD PTR _pack$[esp-4]
	mov	DWORD PTR [ecx+40], eax

; 436  : }

	ret	4
?SetWeaponPack@gzBackpackClass@@QAEXPAVgzWeaponPackClass@@@Z ENDP ; gzBackpackClass::SetWeaponPack
_TEXT	ENDS
PUBLIC	?GetOwner@gzBackpackClass@@QAEPAVnc_cPlayer@@XZ	; gzBackpackClass::GetOwner
; Function compile flags: /Ogtpy
;	COMDAT ?GetOwner@gzBackpackClass@@QAEPAVnc_cPlayer@@XZ
_TEXT	SEGMENT
?GetOwner@gzBackpackClass@@QAEPAVnc_cPlayer@@XZ PROC	; gzBackpackClass::GetOwner, COMDAT
; _this$ = ecx

; 439  : 	return this->m_owner;

	mov	eax, DWORD PTR [ecx+44]

; 440  : }

	ret	0
?GetOwner@gzBackpackClass@@QAEPAVnc_cPlayer@@XZ ENDP	; gzBackpackClass::GetOwner
_TEXT	ENDS
PUBLIC	?SetOwner@gzBackpackClass@@QAEXPAVnc_cPlayer@@@Z ; gzBackpackClass::SetOwner
; Function compile flags: /Ogtpy
;	COMDAT ?SetOwner@gzBackpackClass@@QAEXPAVnc_cPlayer@@@Z
_TEXT	SEGMENT
_pData$ = 8						; size = 4
?SetOwner@gzBackpackClass@@QAEXPAVnc_cPlayer@@@Z PROC	; gzBackpackClass::SetOwner, COMDAT
; _this$ = ecx

; 443  : 	this->m_owner = pData;

	mov	eax, DWORD PTR _pData$[esp-4]
	mov	DWORD PTR [ecx+44], eax

; 444  : }

	ret	4
?SetOwner@gzBackpackClass@@QAEXPAVnc_cPlayer@@@Z ENDP	; gzBackpackClass::SetOwner
_TEXT	ENDS
PUBLIC	?SetCanExpire@gzBackpackClass@@QAEX_N@Z		; gzBackpackClass::SetCanExpire
; Function compile flags: /Ogtpy
;	COMDAT ?SetCanExpire@gzBackpackClass@@QAEX_N@Z
_TEXT	SEGMENT
_canExpire$ = 8						; size = 1
?SetCanExpire@gzBackpackClass@@QAEX_N@Z PROC		; gzBackpackClass::SetCanExpire, COMDAT
; _this$ = ecx

; 447  : 	this->m_canExpire = canExpire;

	mov	al, BYTE PTR _canExpire$[esp-4]
	mov	BYTE PTR [ecx+56], al

; 448  : }

	ret	4
?SetCanExpire@gzBackpackClass@@QAEX_N@Z ENDP		; gzBackpackClass::SetCanExpire
_TEXT	ENDS
PUBLIC	?SetLive@gzBackpackClass@@QAEXM@Z		; gzBackpackClass::SetLive
; Function compile flags: /Ogtpy
;	COMDAT ?SetLive@gzBackpackClass@@QAEXM@Z
_TEXT	SEGMENT
_live$ = 8						; size = 4
?SetLive@gzBackpackClass@@QAEXM@Z PROC			; gzBackpackClass::SetLive, COMDAT
; _this$ = ecx

; 451  : 	this->m_liveCounter = live;

	fld	DWORD PTR _live$[esp-4]
	fstp	DWORD PTR [ecx+60]

; 452  : }

	ret	4
?SetLive@gzBackpackClass@@QAEXM@Z ENDP			; gzBackpackClass::SetLive
_TEXT	ENDS
PUBLIC	?GetBackpackId@gzBackpackClass@@QAEIXZ		; gzBackpackClass::GetBackpackId
; Function compile flags: /Ogtpy
;	COMDAT ?GetBackpackId@gzBackpackClass@@QAEIXZ
_TEXT	SEGMENT
?GetBackpackId@gzBackpackClass@@QAEIXZ PROC		; gzBackpackClass::GetBackpackId, COMDAT
; _this$ = ecx

; 455  : 	return this->m_backpackId;

	mov	eax, DWORD PTR [ecx+64]

; 456  : }

	ret	0
?GetBackpackId@gzBackpackClass@@QAEIXZ ENDP		; gzBackpackClass::GetBackpackId
_TEXT	ENDS
PUBLIC	?GetPosition@gzBackpackClass@@QAEAAUnc_Vector3@@XZ ; gzBackpackClass::GetPosition
; Function compile flags: /Ogtpy
;	COMDAT ?GetPosition@gzBackpackClass@@QAEAAUnc_Vector3@@XZ
_TEXT	SEGMENT
?GetPosition@gzBackpackClass@@QAEAAUnc_Vector3@@XZ PROC	; gzBackpackClass::GetPosition, COMDAT
; _this$ = ecx

; 459  : 	return this->m_pos;

	lea	eax, DWORD PTR [ecx+68]

; 460  : }

	ret	0
?GetPosition@gzBackpackClass@@QAEAAUnc_Vector3@@XZ ENDP	; gzBackpackClass::GetPosition
_TEXT	ENDS
PUBLIC	?Delete@gzBackpackManager@@UAEXXZ		; gzBackpackManager::Delete
; Function compile flags: /Ogtpy
;	COMDAT ?Delete@gzBackpackManager@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzBackpackManager@@UAEXXZ PROC			; gzBackpackManager::Delete, COMDAT
; _this$ = ecx

; 469  : 	this->m_backpackList.Clear();

	mov	eax, DWORD PTR [ecx+40]
	mov	edx, DWORD PTR [eax+4]
	add	ecx, 40					; 00000028H
	jmp	edx
?Delete@gzBackpackManager@@UAEXXZ ENDP			; gzBackpackManager::Delete
_TEXT	ENDS
PUBLIC	?Delete@gzWeaponPackClass@@UAEXXZ		; gzWeaponPackClass::Delete
; Function compile flags: /Ogtpy
;	COMDAT ?Delete@gzWeaponPackClass@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzWeaponPackClass@@UAEXXZ PROC			; gzWeaponPackClass::Delete, COMDAT
; _this$ = ecx

; 516  : {

	push	esi
	mov	esi, ecx

; 517  : 	this->m_list.Clear();

	mov	eax, DWORD PTR [esi+24]
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR [esi+24]
	call	edx

; 518  : 	this->m_owner = NULL;

	mov	DWORD PTR [esi+40], 0
	pop	esi

; 519  : }

	ret	0
?Delete@gzWeaponPackClass@@UAEXXZ ENDP			; gzWeaponPackClass::Delete
_TEXT	ENDS
PUBLIC	?Add@gzWeaponPackManager@@QAEXPAVgzWeaponPackClass@@@Z ; gzWeaponPackManager::Add
; Function compile flags: /Ogtpy
;	COMDAT ?Add@gzWeaponPackManager@@QAEXPAVgzWeaponPackClass@@@Z
_TEXT	SEGMENT
_pack$ = 8						; size = 4
?Add@gzWeaponPackManager@@QAEXPAVgzWeaponPackClass@@@Z PROC ; gzWeaponPackManager::Add, COMDAT
; _this$ = ecx

; 683  : {

	push	esi
	mov	esi, ecx

; 684  : 	pack->m_list.Clear();

	mov	ecx, DWORD PTR _pack$[esp]
	mov	eax, DWORD PTR [ecx+24]
	mov	edx, DWORD PTR [eax+4]
	add	ecx, 24					; 00000018H
	call	edx

; 685  : 	pack->Id = this->nextPackId++;

	mov	eax, DWORD PTR [esi+56]
	mov	ecx, DWORD PTR _pack$[esp]
	mov	DWORD PTR [ecx+20], eax

; 686  : 	this->m_packList.Add(pack);

	mov	edx, DWORD PTR [esi+40]
	mov	edx, DWORD PTR [edx+12]
	add	DWORD PTR [esi+56], 1
	lea	ecx, DWORD PTR [esi+40]
	lea	eax, DWORD PTR _pack$[esp]
	push	eax
	call	edx
	pop	esi

; 687  : }

	ret	4
?Add@gzWeaponPackManager@@QAEXPAVgzWeaponPackClass@@@Z ENDP ; gzWeaponPackManager::Add
_TEXT	ENDS
PUBLIC	?Level_Ended@gzWeaponDropClass@@UAEXXZ		; gzWeaponDropClass::Level_Ended
; Function compile flags: /Ogtpy
;	COMDAT ?Level_Ended@gzWeaponDropClass@@UAEXXZ
_TEXT	SEGMENT
?Level_Ended@gzWeaponDropClass@@UAEXXZ PROC		; gzWeaponDropClass::Level_Ended, COMDAT
; _this$ = ecx

; 710  : 	this->SetDeletePending();

	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+12]
	jmp	edx
?Level_Ended@gzWeaponDropClass@@UAEXXZ ENDP		; gzWeaponDropClass::Level_Ended
_TEXT	ENDS
PUBLIC	?Player_Left@gzWeaponDropClass@@UAEXAAVgzEventPlayerBase@@@Z ; gzWeaponDropClass::Player_Left
; Function compile flags: /Ogtpy
;	COMDAT ?Player_Left@gzWeaponDropClass@@UAEXAAVgzEventPlayerBase@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Player_Left@gzWeaponDropClass@@UAEXAAVgzEventPlayerBase@@@Z PROC ; gzWeaponDropClass::Player_Left, COMDAT
; _this$ = ecx

; 766  : 	if (evt.GetPlayer() == this->GetOwner())

	mov	eax, DWORD PTR _evt$[esp-4]
	mov	edx, DWORD PTR [eax+24]
	cmp	edx, DWORD PTR [ecx+44]
	jne	SHORT $LN1@Player_Lef

; 767  : 	{
; 768  : 		if (this->m_dropDelayCounter > 0.0f)

	fldz
	fcomp	DWORD PTR [ecx+80]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN1@Player_Lef

; 769  : 			this->SetDeletePending();

	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+12]
	call	edx
$LN1@Player_Lef:

; 770  : 	}
; 771  : }

	ret	4
?Player_Left@gzWeaponDropClass@@UAEXAAVgzEventPlayerBase@@@Z ENDP ; gzWeaponDropClass::Player_Left
_TEXT	ENDS
PUBLIC	?Init@gzWeaponDropClass@@QAEXPAVgzPlayer@@@Z	; gzWeaponDropClass::Init
; Function compile flags: /Ogtpy
;	COMDAT ?Init@gzWeaponDropClass@@QAEXPAVgzPlayer@@@Z
_TEXT	SEGMENT
_owner$ = 8						; size = 4
?Init@gzWeaponDropClass@@QAEXPAVgzPlayer@@@Z PROC	; gzWeaponDropClass::Init, COMDAT
; _this$ = ecx

; 801  : 	this->SetOwner(owner->GetPlayerData());

	mov	eax, DWORD PTR _owner$[esp-4]
	mov	edx, DWORD PTR [eax+76]
	mov	DWORD PTR [ecx+44], edx

; 802  : }

	ret	4
?Init@gzWeaponDropClass@@QAEXPAVgzPlayer@@@Z ENDP	; gzWeaponDropClass::Init
_TEXT	ENDS
PUBLIC	?Halt@gzWeaponDropClass@@QAE_NXZ		; gzWeaponDropClass::Halt
; Function compile flags: /Ogtpy
;	COMDAT ?Halt@gzWeaponDropClass@@QAE_NXZ
_TEXT	SEGMENT
?Halt@gzWeaponDropClass@@QAE_NXZ PROC			; gzWeaponDropClass::Halt, COMDAT
; _this$ = ecx

; 805  : 	if (this->m_dropDelayCounter < 0.0f)

	fldz
	fcomp	DWORD PTR [ecx+80]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN1@Halt

; 806  : 		return false;

	xor	al, al

; 809  : }

	ret	0
$LN1@Halt:

; 807  : 	this->SetDeletePending();

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

; 808  : 	return true;

	mov	al, 1

; 809  : }

	ret	0
?Halt@gzWeaponDropClass@@QAE_NXZ ENDP			; gzWeaponDropClass::Halt
_TEXT	ENDS
PUBLIC	__real@38d1b717
PUBLIC	?Created@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserverBeacon::Created
EXTRN	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z:PROC ; nc_ScriptableGameObj::Start_Observer_Timer
EXTRN	?Get@nc_FloatDataSafeClass@@QAEMXZ:PROC		; nc_FloatDataSafeClass::Get
EXTRN	?GameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BaseGameObj@@@@A:DWORD ; nc_GameObjManager::GameObjList
EXTRN	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ:PROC	; nc_ScriptImpClass::Destroy_Script
;	COMDAT __real@38d1b717
; File d:\source code\fds lib\new\fds_def.h
CONST	SEGMENT
__real@38d1b717 DD 038d1b717r			; 0.0001
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
CONST	ENDS
;	COMDAT ?Created@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
$T70025 = 8						; size = 4
_bCount$60261 = 8					; size = 4
_obj$ = 8						; size = 4
?Created@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserverBeacon::Created, COMDAT
; _this$ = ecx

; 962  : {

	push	ebx

; 963  : 	this->m_Beacon = (nc_BeaconGameObj *)obj;

	mov	ebx, DWORD PTR _obj$[esp]
	push	ebp
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi+28], ebx

; 964  : 	nc_BeaconGameObjDef *Def = (nc_BeaconGameObjDef *)obj->definition;
; 965  : 
; 966  : 	if (!this->m_Beacon->Player)

	cmp	DWORD PTR [ebx+2036], 0
	mov	ebp, DWORD PTR [ebx+1724]
	jne	SHORT $LN11@Created

; 967  : 	{
; 968  : 		this->Destroy_Script();

	call	?Destroy_Script@nc_ScriptImpClass@@QAEXXZ ; nc_ScriptImpClass::Destroy_Script
	pop	esi
	pop	ebp
	pop	ebx

; 1004 : }

	ret	4
$LN11@Created:

; 969  : 		return;
; 970  : 	}
; 971  : 
; 972  : 	// ThinkTriggered is not set to true, force it to true
; 973  : 	obj->ThinkTriggered = true;

	mov	BYTE PTR [ebx+1728], 1

; 974  : 	
; 975  : 	// Limit check
; 976  : 	if (this->m_Beacon->Owner.Reference)

	mov	eax, DWORD PTR [esi+28]
	cmp	DWORD PTR [eax+1976], 0
	push	edi
	je	SHORT $LN4@Created

; 977  : 	{
; 978  : 		int bCount = 0;
; 979  : 		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
	mov	edi, DWORD PTR [ecx+4]
	test	edi, edi
	mov	DWORD PTR _bCount$60261[esp+12], 0
	je	SHORT $LN7@Created
	npad	1
$LL9@Created:

; 980  : 		{
; 981  : 			if (objList->NodeData->definition->Get_Class_ID() == 0x3016) // Beacon

	mov	edx, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR [edx+1724]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+32]
	call	edx
	cmp	eax, 12310				; 00003016H
	jne	SHORT $LN8@Created

; 982  : 			{
; 983  : 				nc_BeaconGameObj *Beacon = (nc_BeaconGameObj *)objList->NodeData;

	mov	eax, DWORD PTR [edi+4]

; 984  : 				if (Beacon->Owner.Reference && Beacon->Owner.Reference->obj == this->m_Beacon->Owner.Reference->obj)

	mov	eax, DWORD PTR [eax+1976]
	test	eax, eax
	je	SHORT $LN8@Created
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR [ecx+1976]
	mov	eax, DWORD PTR [eax+4]
	cmp	eax, DWORD PTR [edx+4]
	jne	SHORT $LN8@Created

; 985  : 					bCount++;

	add	DWORD PTR _bCount$60261[esp+12], 1
$LN8@Created:

; 977  : 	{
; 978  : 		int bCount = 0;
; 979  : 		for (nc_GenericSLNode<nc_BaseGameObj> *objList = nc_GameObjManager::GameObjList->HeadNode; objList != NULL; objList = objList->NodeNext)

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $LL9@Created
$LN7@Created:

; 986  : 			}
; 987  : 		}
; 988  : 		if (bCount > gzWeaponMgr->m_settings->m_BeaconLimit)

	mov	ecx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	edx, DWORD PTR [ecx+40]
	mov	eax, DWORD PTR _bCount$60261[esp+12]
	cmp	eax, DWORD PTR [edx+24]
	jle	SHORT $LN4@Created

; 989  : 		{
; 990  : 			obj->Start_Observer_Timer(this->ID, 0.0001f, 3084);

	fld	DWORD PTR __real@38d1b717
	push	3084					; 00000c0cH

; 991  : 			return;

	jmp	$LN22@Created
$LN4@Created:

; 992  : 		}
; 993  : 	}
; 994  : 
; 995  : 	this->m_score = this->m_Beacon->Defense.DeathPoints.Get();

	mov	ecx, DWORD PTR [esi+28]
	add	ecx, 1868				; 0000074cH
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR [esi+32]

; 996  : 	this->m_Beacon->Defense.DeathPoints = 0.0f;

	mov	eax, DWORD PTR [esi+28]
	fldz
	lea	edx, DWORD PTR $T70025[esp+12]
	fstp	DWORD PTR $T70025[esp+12]
	push	edx
	add	eax, 1868				; 0000074cH
	push	eax
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 997  : 	for (int i = 1; i <= 127; i++)
; 998  : 		this->m_playerDamage[i] = 0.0f;

	xor	eax, eax
	lea	edi, DWORD PTR [esi+40]
	mov	ecx, 127				; 0000007fH
	rep stosd

; 999  : 
; 1000 : 	obj->Start_Observer_Timer(this->ID, Def->ArmTime, 2000);

	fld	DWORD PTR [ebp+180]
	push	2000					; 000007d0H
	push	ecx
	mov	ecx, DWORD PTR [esi+4]
	fstp	DWORD PTR [esp]
	push	ecx
	mov	ecx, ebx
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer

; 1001 : 	obj->Start_Observer_Timer(this->ID, Def->ArmTime + Def->BroadcastToAllTime, 2001);

	fld	DWORD PTR [ebp+176]
	mov	edx, DWORD PTR [esi+4]
	fadd	DWORD PTR [ebp+180]
	push	2001					; 000007d1H
	push	ecx
	mov	ecx, ebx
	fstp	DWORD PTR [esp]
	push	edx
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer

; 1002 : 	obj->Start_Observer_Timer(this->ID, Def->ArmTime + Def->PreDetonateCinematicDelay, 2002);

	fld	DWORD PTR [ebp+188]
	fadd	DWORD PTR [ebp+180]
	mov	eax, DWORD PTR [esi+4]
	push	2002					; 000007d2H
	push	ecx
	fstp	DWORD PTR [esp]
	push	eax
	mov	ecx, ebx
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer

; 1003 : 	obj->Start_Observer_Timer(this->ID, Def->ArmTime + Def->DetonateTime, 2003);

	fld	DWORD PTR [ebp+192]
	fadd	DWORD PTR [ebp+180]
	push	2003					; 000007d3H
$LN22@Created:
	push	ecx
	mov	ecx, DWORD PTR [esi+4]
	fstp	DWORD PTR [esp]
	push	ecx
	mov	ecx, ebx
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx

; 1004 : }

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

; 1007 : 	switch (message)

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

; 1008 : 	{
; 1009 : 		case 10001:
; 1010 : 			this->m_playerDamage[param] = 0.0f;

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

; 1011 : 			break;
; 1012 : 	}
; 1013 : }

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

; 1015 : {

	push	esi

; 1016 : 	if (damager && damager->As_SmartGameObj() && damager->As_SmartGameObj()->Player && damage > 0.0f)

	mov	esi, DWORD PTR _damager$[esp]
	test	esi, esi
	push	edi
	mov	edi, ecx
	je	SHORT $LN1@Damaged
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+44]
	mov	ecx, esi
	call	edx
	test	eax, eax
	je	SHORT $LN1@Damaged
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+44]
	mov	ecx, esi
	call	edx
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN1@Damaged
	fldz
	fcomp	DWORD PTR _damage$[esp+4]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN1@Damaged

; 1017 : 		this->m_playerDamage[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+4]
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1884]
	fadd	DWORD PTR [edi+ecx*4+36]
	lea	eax, DWORD PTR [edi+ecx*4+36]
	fstp	DWORD PTR [eax]
$LN1@Damaged:
	pop	edi
	pop	esi

; 1018 : }

	ret	12					; 0000000cH
?Damaged@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@0M@Z ENDP ; gzObserverBeacon::Damaged
_TEXT	ENDS
PUBLIC	??_C@_07GDNEBACP@_BEACON?$AA@			; `string'
PUBLIC	??_C@_0BG@IEPGFNPO@?$CFls?5disarmed?5?$CFls?8s?5?$CFs?$AA@ ; `string'
PUBLIC	?Killed@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z ; gzObserverBeacon::Killed
EXTRN	?gzLogger@@YAXPBD0ZZ:PROC			; gzLogger
EXTRN	?Get@gzTranslateManager@@QAEPBDPBD@Z:PROC	; gzTranslateManager::Get
EXTRN	?gzTranslator@@3PAVgzTranslateManager@@A:DWORD	; gzTranslator
EXTRN	?Get@nc_IntDataSafeClass@@QAEHXZ:PROC		; nc_IntDataSafeClass::Get
EXTRN	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z:PROC ; nc_cPlayerManager::Find_Player
;	COMDAT ??_C@_07GDNEBACP@_BEACON?$AA@
CONST	SEGMENT
??_C@_07GDNEBACP@_BEACON?$AA@ DB '_BEACON', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@IEPGFNPO@?$CFls?5disarmed?5?$CFls?8s?5?$CFs?$AA@
CONST	SEGMENT
??_C@_0BG@IEPGFNPO@?$CFls?5disarmed?5?$CFls?8s?5?$CFs?$AA@ DB '%ls disarm'
	DB	'ed %ls''s %s', 00H				; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Killed@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z PROC ; gzObserverBeacon::Killed, COMDAT
; _this$ = ecx

; 1021 : 	float maxDamage = 0.0f;

	fldz
	push	esi
	push	edi
	mov	edi, ecx

; 1022 : 	int maxDamager = -1;

	or	esi, -1

; 1023 : 	for (int i = 1; i <= 127; i++)

	lea	ecx, DWORD PTR [esi+2]
	lea	edx, DWORD PTR [edi+44]
$LN28@Killed:

; 1024 : 	{
; 1025 : 		if (this->m_playerDamage[i] > maxDamage)

	fcom	DWORD PTR [edx-4]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN20@Killed
	fstp	ST(0)

; 1026 : 		{
; 1027 : 			maxDamage = this->m_playerDamage[i];
; 1028 : 			maxDamager = i;

	mov	esi, ecx
	fld	DWORD PTR [edx-4]
$LN20@Killed:
	fcom	DWORD PTR [edx]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN21@Killed
	fstp	ST(0)
	lea	esi, DWORD PTR [ecx+1]
	fld	DWORD PTR [edx]
$LN21@Killed:
	fcom	DWORD PTR [edx+4]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN22@Killed
	fstp	ST(0)
	lea	esi, DWORD PTR [ecx+2]
	fld	DWORD PTR [edx+4]
$LN22@Killed:
	fcom	DWORD PTR [edx+8]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN23@Killed
	fstp	ST(0)
	lea	esi, DWORD PTR [ecx+3]
	fld	DWORD PTR [edx+8]
$LN23@Killed:
	fcom	DWORD PTR [edx+12]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN24@Killed
	fstp	ST(0)
	lea	esi, DWORD PTR [ecx+4]
	fld	DWORD PTR [edx+12]
$LN24@Killed:
	fcom	DWORD PTR [edx+16]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN25@Killed
	fstp	ST(0)
	lea	esi, DWORD PTR [ecx+5]
	fld	DWORD PTR [edx+16]
$LN25@Killed:
	fcom	DWORD PTR [edx+20]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN26@Killed
	fstp	ST(0)
	lea	esi, DWORD PTR [ecx+6]
	fld	DWORD PTR [edx+20]
$LN26@Killed:
	fcom	DWORD PTR [edx+24]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN27@Killed
	fstp	ST(0)
	lea	esi, DWORD PTR [ecx+7]
	fld	DWORD PTR [edx+24]
$LN27@Killed:
	add	ecx, 8
	add	edx, 32					; 00000020H
	cmp	ecx, 120				; 00000078H
	jle	$LN28@Killed

; 1023 : 	for (int i = 1; i <= 127; i++)

	cmp	ecx, 127				; 0000007fH
	jg	SHORT $LN63@Killed
	lea	edx, DWORD PTR [edi+ecx*4+36]
$LC13@Killed:

; 1024 : 	{
; 1025 : 		if (this->m_playerDamage[i] > maxDamage)

	fcom	DWORD PTR [edx]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN12@Killed
	fstp	ST(0)

; 1026 : 		{
; 1027 : 			maxDamage = this->m_playerDamage[i];
; 1028 : 			maxDamager = i;

	mov	esi, ecx
	fld	DWORD PTR [edx]
$LN12@Killed:
	add	ecx, 1
	add	edx, 4
	cmp	ecx, 127				; 0000007fH
	jle	SHORT $LC13@Killed
$LN63@Killed:

; 1029 : 		}
; 1030 : 	}
; 1031 : 	if (maxDamager != -1)

	cmp	esi, -1
	fstp	ST(0)
	je	SHORT $LN2@Killed

; 1032 : 	{
; 1033 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(maxDamager);

	push	esi
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	mov	esi, eax
	add	esp, 4

; 1034 : 		if (pData)

	test	esi, esi
	je	SHORT $LN2@Killed

; 1035 : 		{
; 1036 : 			if (pData->Owner.Reference)

	cmp	DWORD PTR [esi+20], 0
	je	SHORT $LN7@Killed

; 1037 : 			{
; 1038 : 				if (pData->Owner.Reference->obj->As_DamageableGameObj()->PlayerType != this->m_Beacon->PlayerType)

	mov	eax, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+60]
	call	eax

; 1039 : 					pData->Increment_Score(this->m_score);

	fld	DWORD PTR [edi+32]
	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR [eax+1892]
	mov	eax, DWORD PTR [esi]
	cmp	edx, DWORD PTR [ecx+1892]
	mov	edx, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	je	SHORT $LN6@Killed
	fstp	DWORD PTR [esp]
	call	edx

; 1040 : 				else

	jmp	SHORT $LN2@Killed
$LN6@Killed:

; 1041 : 					pData->Increment_Score(-this->m_score);

	fchs
	fstp	DWORD PTR [esp]
	call	edx

; 1042 : 			}
; 1043 : 			else

	jmp	SHORT $LN2@Killed
$LN7@Killed:

; 1044 : 			{
; 1045 : 				if (pData->PlayerType.Get() != this->m_Beacon->PlayerType)

	lea	ecx, DWORD PTR [esi+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get

; 1046 : 					pData->Increment_Score(this->m_score);

	fld	DWORD PTR [edi+32]
	mov	ecx, DWORD PTR [edi+28]
	mov	edx, DWORD PTR [esi]
	cmp	eax, DWORD PTR [ecx+1892]
	mov	eax, DWORD PTR [edx+8]
	push	ecx
	mov	ecx, esi

; 1047 : 				else

	jne	SHORT $LN64@Killed

; 1048 : 					pData->Increment_Score(-this->m_score);

	fchs
$LN64@Killed:
	fstp	DWORD PTR [esp]
	call	eax
$LN2@Killed:

; 1049 : 			}
; 1050 : 		}
; 1051 : 	}
; 1052 : 
; 1053 : 	if (shooter->As_SoldierGameObj() && shooter->As_SoldierGameObj()->Player && this->m_Beacon->Player)

	mov	esi, DWORD PTR _shooter$[esp+4]
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, esi
	call	eax
	test	eax, eax
	je	SHORT $LN1@Killed
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+68]
	mov	ecx, esi
	call	eax
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN1@Killed
	mov	ecx, DWORD PTR [edi+28]
	cmp	DWORD PTR [ecx+2036], 0
	je	SHORT $LN1@Killed

; 1054 : 	{
; 1055 : 		gzLogger("_BEACON", "%ls disarmed %ls's %s",
; 1056 : 			shooter->As_SoldierGameObj()->Player->PlayerName.m_Buffer,
; 1057 : 			this->m_Beacon->Player->PlayerName.m_Buffer,
; 1058 : 			gzTranslator->Get(obj->definition->Get_Name())
; 1059 : 		);

	mov	edx, DWORD PTR _obj$[esp+4]
	mov	ecx, DWORD PTR [edx+1724]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+48]
	call	edx
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	mov	eax, DWORD PTR [edi+28]
	mov	ecx, DWORD PTR [eax+2036]
	mov	edx, DWORD PTR [ecx+1880]
	mov	eax, DWORD PTR [esi]
	push	edx
	mov	edx, DWORD PTR [eax+68]
	mov	ecx, esi
	call	edx
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1880]
	push	ecx
	push	OFFSET ??_C@_0BG@IEPGFNPO@?$CFls?5disarmed?5?$CFls?8s?5?$CFs?$AA@
	push	OFFSET ??_C@_07GDNEBACP@_BEACON?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 20					; 00000014H
$LN1@Killed:
	pop	edi
	pop	esi

; 1060 : 	}
; 1061 : }

	ret	8
?Killed@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z ENDP ; gzObserverBeacon::Killed
_TEXT	ENDS
PUBLIC	??1?$nc_ScriptRegistrant@VgzObserverBeacon@@@@UAE@XZ ; nc_ScriptRegistrant<gzObserverBeacon>::~nc_ScriptRegistrant<gzObserverBeacon>
EXTRN	??1nc_ScriptFactory@@UAE@XZ:PROC		; nc_ScriptFactory::~nc_ScriptFactory
; Function compile flags: /Ogtpy
;	COMDAT ??1?$nc_ScriptRegistrant@VgzObserverBeacon@@@@UAE@XZ
_TEXT	SEGMENT
??1?$nc_ScriptRegistrant@VgzObserverBeacon@@@@UAE@XZ PROC ; nc_ScriptRegistrant<gzObserverBeacon>::~nc_ScriptRegistrant<gzObserverBeacon>, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??1?$nc_ScriptRegistrant@VgzObserverBeacon@@@@UAE@XZ ENDP ; nc_ScriptRegistrant<gzObserverBeacon>::~nc_ScriptRegistrant<gzObserverBeacon>
_TEXT	ENDS
PUBLIC	??_C@_03IECDPPHJ@_C4?$AA@			; `string'
PUBLIC	??_C@_0BP@LABMJGOF@?$CFs?5C4?5explosion?5?$CIPlanter?3?5?$CFls?$CJ?$AA@ ; `string'
PUBLIC	??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@ ; `string'
PUBLIC	??_C@_09IAKIBBN@Proximity?$AA@			; `string'
PUBLIC	??_C@_05MLMBIJDH@Timed?$AA@			; `string'
PUBLIC	??_C@_06MHHFENDB@Remote?$AA@			; `string'
PUBLIC	?Custom@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@HH0@Z ; gzObserverC4::Custom
;	COMDAT ??_C@_03IECDPPHJ@_C4?$AA@
CONST	SEGMENT
??_C@_03IECDPPHJ@_C4?$AA@ DB '_C4', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@LABMJGOF@?$CFs?5C4?5explosion?5?$CIPlanter?3?5?$CFls?$CJ?$AA@
CONST	SEGMENT
??_C@_0BP@LABMJGOF@?$CFs?5C4?5explosion?5?$CIPlanter?3?5?$CFls?$CJ?$AA@ DB '%'
	DB	's C4 explosion (Planter: %ls)', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@
CONST	SEGMENT
??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@ DB '(', 00H
	DB	'n', 00H, 'u', 00H, 'l', 00H, 'l', 00H, ')', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_09IAKIBBN@Proximity?$AA@
CONST	SEGMENT
??_C@_09IAKIBBN@Proximity?$AA@ DB 'Proximity', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_05MLMBIJDH@Timed?$AA@
CONST	SEGMENT
??_C@_05MLMBIJDH@Timed?$AA@ DB 'Timed', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_06MHHFENDB@Remote?$AA@
CONST	SEGMENT
??_C@_06MHHFENDB@Remote?$AA@ DB 'Remote', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Custom@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@HH0@Z
_TEXT	SEGMENT
_c4Name$60708 = -12					; size = 12
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@HH0@Z PROC ; gzObserverC4::Custom, COMDAT
; _this$ = ecx

; 1292 : 	switch (message)

	mov	eax, DWORD PTR _message$[esp-4]
	sub	esp, 12					; 0000000cH
	cmp	eax, 3101				; 00000c1dH
	push	esi
	mov	esi, ecx
	je	SHORT $LN3@Custom@2
	cmp	eax, 10001				; 00002711H
	jne	$LN2@Custom@2

; 1302 : 			}
; 1303 : 			break;
; 1304 : 		case 10001:
; 1305 : 			this->m_playerDamage[param] = 0.0f;

	fldz
	mov	eax, DWORD PTR _param$[esp+12]
	fstp	DWORD PTR [esi+eax*4+36]
	pop	esi

; 1306 : 			break;
; 1307 : 	}
; 1308 : }

	add	esp, 12					; 0000000cH
	ret	16					; 00000010H
$LN3@Custom@2:

; 1293 : 	{
; 1294 : 		case 3101:
; 1295 : 			if (gzWeaponMgr->m_settings->C4.Output[this->m_C4->AmmoDef->AmmoType.Get() - 1][2])

	mov	ecx, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR [ecx+1992]
	add	ecx, 140				; 0000008cH
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	add	eax, 9
	lea	edx, DWORD PTR [eax+eax*2]
	mov	eax, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	ecx, DWORD PTR [eax+40]
	cmp	BYTE PTR [edx+ecx], 0
	je	SHORT $LN2@Custom@2

; 1296 : 			{
; 1297 : 				const char *c4Name[] = { "Remote", "Timed", "Proximity" };
; 1298 : 				gzLogger("_C4", "%s C4 explosion (Planter: %ls)",
; 1299 : 					c4Name[this->m_C4->AmmoDef->AmmoType.Get() - 1],
; 1300 : 					this->m_C4->Player ? this->m_C4->Player->PlayerName.m_Buffer : L"(null)"
; 1301 : 				);

	mov	esi, DWORD PTR [esi+28]
	mov	eax, DWORD PTR [esi+1988]
	test	eax, eax
	mov	DWORD PTR _c4Name$60708[esp+16], OFFSET ??_C@_06MHHFENDB@Remote?$AA@
	mov	DWORD PTR _c4Name$60708[esp+20], OFFSET ??_C@_05MLMBIJDH@Timed?$AA@
	mov	DWORD PTR _c4Name$60708[esp+24], OFFSET ??_C@_09IAKIBBN@Proximity?$AA@
	je	SHORT $LN8@Custom@2
	mov	eax, DWORD PTR [eax+1880]
	jmp	SHORT $LN9@Custom@2
$LN8@Custom@2:
	mov	eax, OFFSET ??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@
$LN9@Custom@2:
	mov	ecx, DWORD PTR [esi+1992]
	push	eax
	add	ecx, 140				; 0000008cH
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	edx, DWORD PTR _c4Name$60708[esp+eax*4+16]
	push	edx
	push	OFFSET ??_C@_0BP@LABMJGOF@?$CFs?5C4?5explosion?5?$CIPlanter?3?5?$CFls?$CJ?$AA@
	push	OFFSET ??_C@_03IECDPPHJ@_C4?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 16					; 00000010H
$LN2@Custom@2:
	pop	esi

; 1306 : 			break;
; 1307 : 	}
; 1308 : }

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

; 1310 : {

	push	esi

; 1311 : 	if (damager && damager->As_SmartGameObj() && damager->As_SmartGameObj()->Player && damage > 0.0f)

	mov	esi, DWORD PTR _damager$[esp]
	test	esi, esi
	push	edi
	mov	edi, ecx
	je	SHORT $LN1@Damaged@2
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+44]
	mov	ecx, esi
	call	edx
	test	eax, eax
	je	SHORT $LN1@Damaged@2
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+44]
	mov	ecx, esi
	call	edx
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN1@Damaged@2
	fldz
	fcomp	DWORD PTR _damage$[esp+4]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN1@Damaged@2

; 1312 : 		this->m_playerDamage[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+4]
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1884]
	fadd	DWORD PTR [edi+ecx*4+36]
	lea	eax, DWORD PTR [edi+ecx*4+36]
	fstp	DWORD PTR [eax]
$LN1@Damaged@2:
	pop	edi
	pop	esi

; 1313 : }

	ret	12					; 0000000cH
?Damaged@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@0M@Z ENDP ; gzObserverC4::Damaged
_TEXT	ENDS
PUBLIC	??_C@_0BJ@INFFEFDO@?$CFls?5disarmed?5?$CFls?8s?5?$CFs?5C4?$AA@ ; `string'
PUBLIC	??_C@_1BE@NIKPOFLK@?$AAN?$AAo?$AAt?$AAP?$AAl?$AAa?$AAy?$AAe?$AAr?$AA?$AA@ ; `string'
PUBLIC	?Killed@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@0@Z ; gzObserverC4::Killed
;	COMDAT ??_C@_0BJ@INFFEFDO@?$CFls?5disarmed?5?$CFls?8s?5?$CFs?5C4?$AA@
CONST	SEGMENT
??_C@_0BJ@INFFEFDO@?$CFls?5disarmed?5?$CFls?8s?5?$CFs?5C4?$AA@ DB '%ls di'
	DB	'sarmed %ls''s %s C4', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1BE@NIKPOFLK@?$AAN?$AAo?$AAt?$AAP?$AAl?$AAa?$AAy?$AAe?$AAr?$AA?$AA@
CONST	SEGMENT
??_C@_1BE@NIKPOFLK@?$AAN?$AAo?$AAt?$AAP?$AAl?$AAa?$AAy?$AAe?$AAr?$AA?$AA@ DB 'N'
	DB	00H, 'o', 00H, 't', 00H, 'P', 00H, 'l', 00H, 'a', 00H, 'y', 00H
	DB	'e', 00H, 'r', 00H, 00H, 00H			; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Killed@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@0@Z
_TEXT	SEGMENT
_c4Name$60740 = -12					; size = 12
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@0@Z PROC ; gzObserverC4::Killed, COMDAT
; _this$ = ecx

; 1316 : 	float maxDamage = 0.0f;

	fldz
	sub	esp, 12					; 0000000cH
	push	ebx
	push	esi
	mov	ebx, ecx

; 1317 : 	int maxDamager = -1;

	or	esi, -1

; 1318 : 	for (int i = 1; i <= 127; i++)

	lea	ecx, DWORD PTR [esi+2]
	lea	edx, DWORD PTR [ebx+44]
$LN32@Killed@2:

; 1319 : 	{
; 1320 : 		if (this->m_playerDamage[i] > maxDamage)

	fcom	DWORD PTR [edx-4]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN24@Killed@2
	fstp	ST(0)

; 1321 : 		{
; 1322 : 			maxDamage = this->m_playerDamage[i];
; 1323 : 			maxDamager = i;

	mov	esi, ecx
	fld	DWORD PTR [edx-4]
$LN24@Killed@2:
	fcom	DWORD PTR [edx]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN25@Killed@2
	fstp	ST(0)
	lea	esi, DWORD PTR [ecx+1]
	fld	DWORD PTR [edx]
$LN25@Killed@2:
	fcom	DWORD PTR [edx+4]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN26@Killed@2
	fstp	ST(0)
	lea	esi, DWORD PTR [ecx+2]
	fld	DWORD PTR [edx+4]
$LN26@Killed@2:
	fcom	DWORD PTR [edx+8]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN27@Killed@2
	fstp	ST(0)
	lea	esi, DWORD PTR [ecx+3]
	fld	DWORD PTR [edx+8]
$LN27@Killed@2:
	fcom	DWORD PTR [edx+12]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN28@Killed@2
	fstp	ST(0)
	lea	esi, DWORD PTR [ecx+4]
	fld	DWORD PTR [edx+12]
$LN28@Killed@2:
	fcom	DWORD PTR [edx+16]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN29@Killed@2
	fstp	ST(0)
	lea	esi, DWORD PTR [ecx+5]
	fld	DWORD PTR [edx+16]
$LN29@Killed@2:
	fcom	DWORD PTR [edx+20]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN30@Killed@2
	fstp	ST(0)
	lea	esi, DWORD PTR [ecx+6]
	fld	DWORD PTR [edx+20]
$LN30@Killed@2:
	fcom	DWORD PTR [edx+24]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN31@Killed@2
	fstp	ST(0)
	lea	esi, DWORD PTR [ecx+7]
	fld	DWORD PTR [edx+24]
$LN31@Killed@2:
	add	ecx, 8
	add	edx, 32					; 00000020H
	cmp	ecx, 120				; 00000078H
	jle	$LN32@Killed@2

; 1318 : 	for (int i = 1; i <= 127; i++)

	cmp	ecx, 127				; 0000007fH
	jg	SHORT $LN68@Killed@2
	lea	edx, DWORD PTR [ebx+ecx*4+36]
$LC13@Killed@2:

; 1319 : 	{
; 1320 : 		if (this->m_playerDamage[i] > maxDamage)

	fcom	DWORD PTR [edx]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN12@Killed@2
	fstp	ST(0)

; 1321 : 		{
; 1322 : 			maxDamage = this->m_playerDamage[i];
; 1323 : 			maxDamager = i;

	mov	esi, ecx
	fld	DWORD PTR [edx]
$LN12@Killed@2:
	add	ecx, 1
	add	edx, 4
	cmp	ecx, 127				; 0000007fH
	jle	SHORT $LC13@Killed@2
$LN68@Killed@2:

; 1324 : 		}
; 1325 : 	}
; 1326 : 	if (maxDamager != -1)

	cmp	esi, -1
	fstp	ST(0)
	je	SHORT $LN33@Killed@2

; 1327 : 	{
; 1328 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(maxDamager);

	push	esi
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	mov	esi, eax
	add	esp, 4

; 1329 : 		if (pData)

	test	esi, esi
	je	SHORT $LN33@Killed@2

; 1330 : 		{
; 1331 : 			if (pData->Owner.Reference)

	cmp	DWORD PTR [esi+20], 0
	je	SHORT $LN7@Killed@2

; 1332 : 			{
; 1333 : 				if (pData->Owner.Reference->obj->As_DamageableGameObj()->PlayerType != this->m_C4->PlayerType)

	mov	eax, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+60]
	call	eax

; 1334 : 					pData->Increment_Score(this->m_score);

	fld	DWORD PTR [ebx+32]
	mov	ecx, DWORD PTR [ebx+28]
	mov	edx, DWORD PTR [eax+1892]
	mov	eax, DWORD PTR [esi]
	cmp	edx, DWORD PTR [ecx+1892]
	mov	edx, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	je	SHORT $LN6@Killed@2
	fstp	DWORD PTR [esp]
	call	edx

; 1335 : 				else

	jmp	SHORT $LN33@Killed@2
$LN6@Killed@2:

; 1336 : 					pData->Increment_Score(-this->m_score);

	fchs
	fstp	DWORD PTR [esp]
	call	edx

; 1337 : 			}
; 1338 : 			else

	jmp	SHORT $LN33@Killed@2
$LN7@Killed@2:

; 1339 : 			{
; 1340 : 				if (pData->PlayerType.Get() != this->m_C4->PlayerType)

	lea	ecx, DWORD PTR [esi+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get

; 1341 : 					pData->Increment_Score(this->m_score);

	fld	DWORD PTR [ebx+32]
	mov	ecx, DWORD PTR [ebx+28]
	mov	edx, DWORD PTR [esi]
	cmp	eax, DWORD PTR [ecx+1892]
	mov	eax, DWORD PTR [edx+8]
	push	ecx
	mov	ecx, esi

; 1342 : 				else

	jne	SHORT $LN69@Killed@2

; 1343 : 					pData->Increment_Score(-this->m_score);

	fchs
$LN69@Killed@2:
	fstp	DWORD PTR [esp]
	call	eax
$LN33@Killed@2:

; 1344 : 			}
; 1345 : 		}
; 1346 : 	}
; 1347 : 
; 1348 : 	if (gzWeaponMgr->m_settings->C4.Output[this->m_C4->AmmoDef->AmmoType.Get() - 1][1])

	mov	ecx, DWORD PTR [ebx+28]
	mov	ecx, DWORD PTR [ecx+1992]
	add	ecx, 140				; 0000008cH
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	lea	edx, DWORD PTR [eax+eax*2]
	mov	eax, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	ecx, DWORD PTR [eax+40]
	cmp	BYTE PTR [edx+ecx+26], 0
	je	$LN1@Killed@2

; 1349 : 	{
; 1350 : 		const char *c4Name[] = { "Remote", "Timed", "Proximity" };
; 1351 : 		gzLogger("_C4", "%ls disarmed %ls's %s C4",
; 1352 : 			shooter && shooter->As_SmartGameObj() && shooter->As_SmartGameObj()->Player ? shooter->As_SmartGameObj()->Player->PlayerName.m_Buffer : L"NotPlayer",
; 1353 : 			this->m_C4->Player ? this->m_C4->Player->PlayerName.m_Buffer : L"NotPlayer",
; 1354 : 			c4Name[this->m_C4->AmmoDef->AmmoType.Get() - 1]
; 1355 : 		);

	mov	edx, DWORD PTR [ebx+28]
	mov	eax, DWORD PTR [edx+1988]
	test	eax, eax
	push	edi
	mov	DWORD PTR _c4Name$60740[esp+24], OFFSET ??_C@_06MHHFENDB@Remote?$AA@
	mov	DWORD PTR _c4Name$60740[esp+28], OFFSET ??_C@_05MLMBIJDH@Timed?$AA@
	mov	DWORD PTR _c4Name$60740[esp+32], OFFSET ??_C@_09IAKIBBN@Proximity?$AA@
	je	SHORT $LN16@Killed@2
	mov	edi, DWORD PTR [eax+1880]
	jmp	SHORT $LN17@Killed@2
$LN16@Killed@2:
	mov	edi, OFFSET ??_C@_1BE@NIKPOFLK@?$AAN?$AAo?$AAt?$AAP?$AAl?$AAa?$AAy?$AAe?$AAr?$AA?$AA@
$LN17@Killed@2:
	mov	esi, DWORD PTR _shooter$[esp+20]
	test	esi, esi
	je	SHORT $LN18@Killed@2
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+44]
	mov	ecx, esi
	call	edx
	test	eax, eax
	je	SHORT $LN18@Killed@2
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+44]
	mov	ecx, esi
	call	edx
	cmp	DWORD PTR [eax+2400], 0
	je	SHORT $LN18@Killed@2
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+44]
	mov	ecx, esi
	call	edx
	mov	eax, DWORD PTR [eax+2400]
	mov	esi, DWORD PTR [eax+1880]
	jmp	SHORT $LN19@Killed@2
$LN18@Killed@2:
	mov	esi, OFFSET ??_C@_1BE@NIKPOFLK@?$AAN?$AAo?$AAt?$AAP?$AAl?$AAa?$AAy?$AAe?$AAr?$AA?$AA@
$LN19@Killed@2:
	mov	ecx, DWORD PTR [ebx+28]
	mov	ecx, DWORD PTR [ecx+1992]
	add	ecx, 140				; 0000008cH
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	edx, DWORD PTR _c4Name$60740[esp+eax*4+20]
	push	edx
	push	edi
	push	esi
	push	OFFSET ??_C@_0BJ@INFFEFDO@?$CFls?5disarmed?5?$CFls?8s?5?$CFs?5C4?$AA@
	push	OFFSET ??_C@_03IECDPPHJ@_C4?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 20					; 00000014H
	pop	edi
$LN1@Killed@2:
	pop	esi
	pop	ebx

; 1356 : 	}
; 1357 : }

	add	esp, 12					; 0000000cH
	ret	8
?Killed@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@0@Z ENDP ; gzObserverC4::Killed
_TEXT	ENDS
PUBLIC	__real@3f800000
PUBLIC	?Timer_Expired@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@H@Z ; gzObserverC4::Timer_Expired
EXTRN	?Defuse@nc_C4GameObj@@QAEXXZ:PROC		; nc_C4GameObj::Defuse
EXTRN	?Find_Building@nc_BaseControllerClass@@QAEPAVnc_BuildingGameObj@@W4BuildingType@@@Z:PROC ; nc_BaseControllerClass::Find_Building
;	COMDAT __real@3f800000
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
__real@3f800000 DD 03f800000r			; 1
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
CONST	ENDS
;	COMDAT ?Timer_Expired@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@H@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@H@Z PROC ; gzObserverC4::Timer_Expired, COMDAT
; _this$ = ecx

; 1360 : 	switch (number)

	cmp	DWORD PTR _number$[esp-4], 1900		; 0000076cH
	push	esi
	mov	esi, ecx
	jne	$LN9@Timer_Expi

; 1361 : 	{
; 1362 : 		case 1900: // Checks for friendly unit attachment
; 1363 : 			if (this->m_C4->Attached.Reference)

	mov	eax, DWORD PTR [esi+28]
	cmp	DWORD PTR [eax+2012], 0
	je	$LN2@Timer_Expi

; 1364 : 			{
; 1365 : 				// Buildings is in exception
; 1366 : 				if (this->m_C4->Attached.Reference->obj->As_BuildingGameObj())

	mov	ecx, eax
	mov	edx, DWORD PTR [ecx+2012]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+64]
	call	edx
	test	eax, eax
	jne	$LN9@Timer_Expi

; 1367 : 					break;
; 1368 : 
; 1369 : 				// Harvester is in exception
; 1370 : 				nc_RefineryGameObj *refinery = (this->m_base->Find_Building(nc_REFINERY) ? this->m_base->Find_Building(nc_REFINERY)->As_RefineryGameObj() : NULL);

	mov	ecx, DWORD PTR [esi+548]
	push	3
	call	?Find_Building@nc_BaseControllerClass@@QAEPAVnc_BuildingGameObj@@W4BuildingType@@@Z ; nc_BaseControllerClass::Find_Building
	test	eax, eax
	je	SHORT $LN4@Timer_Expi
	mov	ecx, DWORD PTR [esi+548]
	push	3
	call	?Find_Building@nc_BaseControllerClass@@QAEPAVnc_BuildingGameObj@@W4BuildingType@@@Z ; nc_BaseControllerClass::Find_Building
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+132]
	call	eax

; 1371 : 				if (refinery)

	test	eax, eax
	je	SHORT $LN4@Timer_Expi

; 1372 : 				{
; 1373 : 					if (refinery->Harvester && refinery->Harvester->Vehicle->NetworkID == this->m_C4->Attached.Reference->obj->NetworkID)

	mov	eax, DWORD PTR [eax+2092]
	test	eax, eax
	je	SHORT $LN4@Timer_Expi
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR [ecx+2012]
	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [eax+100]
	mov	eax, DWORD PTR [edx+12]
	cmp	eax, DWORD PTR [ecx+12]
	je	$LN9@Timer_Expi
$LN4@Timer_Expi:

; 1374 : 						break;
; 1375 : 				}
; 1376 : 
; 1377 : 				if (this->m_C4->Get_Player_Type() == this->m_C4->Attached.Reference->obj->As_DamageableGameObj()->Get_Player_Type())

	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR [ecx+2012]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+60]
	push	ebx
	push	edi
	call	edx
	mov	edx, DWORD PTR [eax]
	mov	edi, DWORD PTR [esi+28]
	mov	ecx, eax
	mov	eax, DWORD PTR [edx+104]
	call	eax
	mov	edx, DWORD PTR [edi]
	mov	ebx, eax
	mov	eax, DWORD PTR [edx+104]
	mov	ecx, edi
	call	eax
	pop	edi
	cmp	eax, ebx
	pop	ebx
	jne	SHORT $LN2@Timer_Expi

; 1378 : 				{
; 1379 : 					if (this->m_C4->Attached.Reference->obj->As_SoldierGameObj() || this->m_C4->Attached.Reference->obj->As_VehicleGameObj())

	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR [ecx+2012]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	call	edx
	test	eax, eax
	jne	SHORT $LN1@Timer_Expi
	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR [eax+2012]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+40]
	call	eax
	test	eax, eax
	je	SHORT $LN2@Timer_Expi
$LN1@Timer_Expi:

; 1380 : 						this->m_C4->Defuse();

	mov	ecx, DWORD PTR [esi+28]
	call	?Defuse@nc_C4GameObj@@QAEXXZ		; nc_C4GameObj::Defuse
$LN2@Timer_Expi:

; 1381 : 				}
; 1382 : 			}
; 1383 : 			obj->Start_Observer_Timer(this->GetID(), 1.0f, number);

	fld1
	push	1900					; 0000076cH
	push	ecx
	fstp	DWORD PTR [esp]
	mov	ecx, DWORD PTR [esi+4]
	push	ecx
	mov	ecx, DWORD PTR _obj$[esp+12]
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
$LN9@Timer_Expi:
	pop	esi

; 1384 : 			break;
; 1385 : 	}
; 1386 : }

	ret	8
?Timer_Expired@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@H@Z ENDP ; gzObserverC4::Timer_Expired
_TEXT	ENDS
PUBLIC	??1?$nc_ScriptRegistrant@VgzObserverC4@@@@UAE@XZ ; nc_ScriptRegistrant<gzObserverC4>::~nc_ScriptRegistrant<gzObserverC4>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$nc_ScriptRegistrant@VgzObserverC4@@@@UAE@XZ
_TEXT	SEGMENT
??1?$nc_ScriptRegistrant@VgzObserverC4@@@@UAE@XZ PROC	; nc_ScriptRegistrant<gzObserverC4>::~nc_ScriptRegistrant<gzObserverC4>, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??1?$nc_ScriptRegistrant@VgzObserverC4@@@@UAE@XZ ENDP	; nc_ScriptRegistrant<gzObserverC4>::~nc_ScriptRegistrant<gzObserverC4>
_TEXT	ENDS
PUBLIC	??_7ClearWeaponConsoleFunction@@6B@		; ClearWeaponConsoleFunction::`vftable'
PUBLIC	??0ClearWeaponConsoleFunction@@QAE@XZ		; ClearWeaponConsoleFunction::ClearWeaponConsoleFunction
PUBLIC	??_R4ClearWeaponConsoleFunction@@6B@		; ClearWeaponConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVClearWeaponConsoleFunction@@@8		; ClearWeaponConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3ClearWeaponConsoleFunction@@8		; ClearWeaponConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2ClearWeaponConsoleFunction@@8		; ClearWeaponConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@ClearWeaponConsoleFunction@@8	; ClearWeaponConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@gzConsoleCommand@@8		; gzConsoleCommand::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVgzConsoleCommand@@@8			; gzConsoleCommand `RTTI Type Descriptor'
PUBLIC	??_R3gzConsoleCommand@@8			; gzConsoleCommand::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzConsoleCommand@@8			; gzConsoleCommand::`RTTI Base Class Array'
PUBLIC	?Get_Name@ClearWeaponConsoleFunction@@UAEPADXZ	; ClearWeaponConsoleFunction::Get_Name
PUBLIC	?Get_Alias@ClearWeaponConsoleFunction@@UAEPADXZ	; ClearWeaponConsoleFunction::Get_Alias
PUBLIC	?Get_Help@ClearWeaponConsoleFunction@@UAEPADXZ	; ClearWeaponConsoleFunction::Get_Help
PUBLIC	?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z	; ClearWeaponConsoleFunction::Activate
EXTRN	??0gzConsoleCommand@@QAE@XZ:PROC		; gzConsoleCommand::gzConsoleCommand
;	COMDAT ??_R2gzConsoleCommand@@8
rdata$r	SEGMENT
??_R2gzConsoleCommand@@8 DD FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8 ; gzConsoleCommand::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3gzConsoleCommand@@8
rdata$r	SEGMENT
??_R3gzConsoleCommand@@8 DD 00H				; gzConsoleCommand::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzConsoleCommand@@@8
_DATA	SEGMENT
??_R0?AVgzConsoleCommand@@@8 DD FLAT:??_7type_info@@6B@	; gzConsoleCommand `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzConsoleCommand@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzConsoleCommand@@8 DD FLAT:??_R0?AVgzConsoleCommand@@@8 ; gzConsoleCommand::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@ClearWeaponConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@ClearWeaponConsoleFunction@@8 DD FLAT:??_R0?AVClearWeaponConsoleFunction@@@8 ; ClearWeaponConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ClearWeaponConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2ClearWeaponConsoleFunction@@8
rdata$r	SEGMENT
??_R2ClearWeaponConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@ClearWeaponConsoleFunction@@8 ; ClearWeaponConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3ClearWeaponConsoleFunction@@8
rdata$r	SEGMENT
??_R3ClearWeaponConsoleFunction@@8 DD 00H		; ClearWeaponConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2ClearWeaponConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVClearWeaponConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVClearWeaponConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; ClearWeaponConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVClearWeaponConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4ClearWeaponConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4ClearWeaponConsoleFunction@@6B@ DD 00H		; ClearWeaponConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVClearWeaponConsoleFunction@@@8
	DD	FLAT:??_R3ClearWeaponConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7ClearWeaponConsoleFunction@@6B@
CONST	SEGMENT
??_7ClearWeaponConsoleFunction@@6B@ DD FLAT:??_R4ClearWeaponConsoleFunction@@6B@ ; ClearWeaponConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@ClearWeaponConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@ClearWeaponConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Help@ClearWeaponConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0ClearWeaponConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0ClearWeaponConsoleFunction@@QAE@XZ PROC		; ClearWeaponConsoleFunction::ClearWeaponConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7ClearWeaponConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0ClearWeaponConsoleFunction@@QAE@XZ ENDP		; ClearWeaponConsoleFunction::ClearWeaponConsoleFunction
_TEXT	ENDS
PUBLIC	??_C@_0M@BFOFALLA@clearweapon?$AA@		; `string'
;	COMDAT ??_C@_0M@BFOFALLA@clearweapon?$AA@
CONST	SEGMENT
??_C@_0M@BFOFALLA@clearweapon?$AA@ DB 'clearweapon', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@ClearWeaponConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@ClearWeaponConsoleFunction@@UAEPADXZ PROC	; ClearWeaponConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1502 : 		return "clearweapon";

	mov	eax, OFFSET ??_C@_0M@BFOFALLA@clearweapon?$AA@

; 1503 : 	}

	ret	0
?Get_Name@ClearWeaponConsoleFunction@@UAEPADXZ ENDP	; ClearWeaponConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_04HAIEONGH@cwep?$AA@			; `string'
;	COMDAT ??_C@_04HAIEONGH@cwep?$AA@
CONST	SEGMENT
??_C@_04HAIEONGH@cwep?$AA@ DB 'cwep', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Alias@ClearWeaponConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Alias@ClearWeaponConsoleFunction@@UAEPADXZ PROC	; ClearWeaponConsoleFunction::Get_Alias, COMDAT
; _this$ = ecx

; 1506 : 		return "cwep";

	mov	eax, OFFSET ??_C@_04HAIEONGH@cwep?$AA@

; 1507 : 	}

	ret	0
?Get_Alias@ClearWeaponConsoleFunction@@UAEPADXZ ENDP	; ClearWeaponConsoleFunction::Get_Alias
_TEXT	ENDS
PUBLIC	??_C@_0DJ@NLFNGMAB@CLEARWEAPON?5?$DMplayer?$DO?5?9?5Remove?5al@ ; `string'
;	COMDAT ??_C@_0DJ@NLFNGMAB@CLEARWEAPON?5?$DMplayer?$DO?5?9?5Remove?5al@
CONST	SEGMENT
??_C@_0DJ@NLFNGMAB@CLEARWEAPON?5?$DMplayer?$DO?5?9?5Remove?5al@ DB 'CLEAR'
	DB	'WEAPON <player> - Remove all weapons from <player>.', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@ClearWeaponConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@ClearWeaponConsoleFunction@@UAEPADXZ PROC	; ClearWeaponConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1510 : 		return "CLEARWEAPON <player> - Remove all weapons from <player>.";

	mov	eax, OFFSET ??_C@_0DJ@NLFNGMAB@CLEARWEAPON?5?$DMplayer?$DO?5?9?5Remove?5al@

; 1511 : 	}

	ret	0
?Get_Help@ClearWeaponConsoleFunction@@UAEPADXZ ENDP	; ClearWeaponConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	??_C@_0BG@BGGIKCDE@Player?5?$CD?$CFd?5not?5found?6?$AA@ ; `string'
EXTRN	?Clear_Weapons@nc_WeaponBagClass@@QAEXXZ:PROC	; nc_WeaponBagClass::Clear_Weapons
EXTRN	??1aToken@@UAE@XZ:PROC				; aToken::~aToken
EXTRN	?ToLong@aToken@@QAEJXZ:PROC			; aToken::ToLong
EXTRN	?gettok@aToken@@QAE?AV1@HE@Z:PROC		; aToken::gettok
EXTRN	??0aToken@@QAE@ABVaString@@@Z:PROC		; aToken::aToken
;	COMDAT ??_C@_0BG@BGGIKCDE@Player?5?$CD?$CFd?5not?5found?6?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BG@BGGIKCDE@Player?5?$CD?$CFd?5not?5found?6?$AA@ DB 'Player #%d no'
	DB	't found', 0aH, 00H				; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z$3
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
xdata$x	ENDS
;	COMDAT ?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_tok$ = -36						; size = 8
$T70194 = -28						; size = 8
$T70196 = -20						; size = 8
$T70195 = -20						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z PROC	; ClearWeaponConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1513 : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z
	push	eax

; 1514 : 		if (!*text)

	mov	eax, DWORD PTR _text$[esp+8]
	mov	DWORD PTR fs:0, esp
	sub	esp, 24					; 00000018H
	cmp	BYTE PTR [eax], 0
	je	$LN4@Activate
	push	esi

; 1515 : 			return;
; 1516 : 		aToken tok(text);

	push	eax
	lea	ecx, DWORD PTR $T70194[esp+44]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T70194[esp+40]
	push	eax
	lea	ecx, DWORD PTR _tok$[esp+44]
	mov	DWORD PTR __$EHRec$[esp+52], 0
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T70194[esp+40]
	mov	BYTE PTR __$EHRec$[esp+48], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1517 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(tok.gettok(1, ' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T70195[esp+48]
	push	ecx
	lea	ecx, DWORD PTR _tok$[esp+52]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+48], 3
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	add	esp, 4
	lea	ecx, DWORD PTR $T70195[esp+40]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+48], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1518 : 		if (!pData)

	test	esi, esi
	jne	SHORT $LN2@Activate

; 1519 : 		{
; 1520 : 			stConsole::Out("Player #%d not found\n", tok.gettok(1, ' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	edx, DWORD PTR $T70196[esp+48]
	push	edx
	lea	ecx, DWORD PTR _tok$[esp+52]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+48], 4
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	push	OFFSET ??_C@_0BG@BGGIKCDE@Player?5?$CD?$CFd?5not?5found?6?$AA@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 8
	lea	ecx, DWORD PTR $T70196[esp+40]
	mov	BYTE PTR __$EHRec$[esp+48], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1521 : 			return;

	jmp	SHORT $LN15@Activate
$LN2@Activate:

; 1522 : 		}
; 1523 : 		if (!pData->Owner.Reference)

	cmp	DWORD PTR [esi+20], 0

; 1524 : 			return;

	je	SHORT $LN15@Activate

; 1525 : 		pData->Owner.Reference->obj->As_SoldierGameObj()->WeaponBag->Clear_Weapons();

	mov	eax, DWORD PTR [esi+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	mov	ecx, DWORD PTR [eax+1968]
	call	?Clear_Weapons@nc_WeaponBagClass@@QAEXXZ ; nc_WeaponBagClass::Clear_Weapons
$LN15@Activate:

; 1526 : 	}

	lea	ecx, DWORD PTR _tok$[esp+40]
	mov	DWORD PTR __$EHRec$[esp+48], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	pop	esi
$LN4@Activate:
	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	mov	DWORD PTR fs:0, ecx
	add	esp, 36					; 00000024H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T70194[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _tok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T70195[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T70196[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@ClearWeaponConsoleFunction@@UAEXPAD@Z ENDP	; ClearWeaponConsoleFunction::Activate
PUBLIC	??_7GiveWeaponConsoleFunction@@6B@		; GiveWeaponConsoleFunction::`vftable'
PUBLIC	??0GiveWeaponConsoleFunction@@QAE@XZ		; GiveWeaponConsoleFunction::GiveWeaponConsoleFunction
PUBLIC	??_R4GiveWeaponConsoleFunction@@6B@		; GiveWeaponConsoleFunction::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVGiveWeaponConsoleFunction@@@8		; GiveWeaponConsoleFunction `RTTI Type Descriptor'
PUBLIC	??_R3GiveWeaponConsoleFunction@@8		; GiveWeaponConsoleFunction::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2GiveWeaponConsoleFunction@@8		; GiveWeaponConsoleFunction::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@GiveWeaponConsoleFunction@@8	; GiveWeaponConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Get_Name@GiveWeaponConsoleFunction@@UAEPADXZ	; GiveWeaponConsoleFunction::Get_Name
PUBLIC	?Get_Alias@gzConsoleCommand@@UAEPADXZ		; gzConsoleCommand::Get_Alias
PUBLIC	?Get_Help@GiveWeaponConsoleFunction@@UAEPADXZ	; GiveWeaponConsoleFunction::Get_Help
PUBLIC	?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z	; GiveWeaponConsoleFunction::Activate
;	COMDAT ??_R1A@?0A@EA@GiveWeaponConsoleFunction@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@GiveWeaponConsoleFunction@@8 DD FLAT:??_R0?AVGiveWeaponConsoleFunction@@@8 ; GiveWeaponConsoleFunction::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3GiveWeaponConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R2GiveWeaponConsoleFunction@@8
rdata$r	SEGMENT
??_R2GiveWeaponConsoleFunction@@8 DD FLAT:??_R1A@?0A@EA@GiveWeaponConsoleFunction@@8 ; GiveWeaponConsoleFunction::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzConsoleCommand@@8
rdata$r	ENDS
;	COMDAT ??_R3GiveWeaponConsoleFunction@@8
rdata$r	SEGMENT
??_R3GiveWeaponConsoleFunction@@8 DD 00H		; GiveWeaponConsoleFunction::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2GiveWeaponConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVGiveWeaponConsoleFunction@@@8
_DATA	SEGMENT
??_R0?AVGiveWeaponConsoleFunction@@@8 DD FLAT:??_7type_info@@6B@ ; GiveWeaponConsoleFunction `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVGiveWeaponConsoleFunction@@', 00H
_DATA	ENDS
;	COMDAT ??_R4GiveWeaponConsoleFunction@@6B@
rdata$r	SEGMENT
??_R4GiveWeaponConsoleFunction@@6B@ DD 00H		; GiveWeaponConsoleFunction::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVGiveWeaponConsoleFunction@@@8
	DD	FLAT:??_R3GiveWeaponConsoleFunction@@8
rdata$r	ENDS
;	COMDAT ??_7GiveWeaponConsoleFunction@@6B@
CONST	SEGMENT
??_7GiveWeaponConsoleFunction@@6B@ DD FLAT:??_R4GiveWeaponConsoleFunction@@6B@ ; GiveWeaponConsoleFunction::`vftable'
	DD	FLAT:?Get_Name@GiveWeaponConsoleFunction@@UAEPADXZ
	DD	FLAT:?Get_Alias@gzConsoleCommand@@UAEPADXZ
	DD	FLAT:?Get_Help@GiveWeaponConsoleFunction@@UAEPADXZ
	DD	FLAT:?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0GiveWeaponConsoleFunction@@QAE@XZ
_TEXT	SEGMENT
??0GiveWeaponConsoleFunction@@QAE@XZ PROC		; GiveWeaponConsoleFunction::GiveWeaponConsoleFunction, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR [esi], OFFSET ??_7GiveWeaponConsoleFunction@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0GiveWeaponConsoleFunction@@QAE@XZ ENDP		; GiveWeaponConsoleFunction::GiveWeaponConsoleFunction
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stconsolecommands.h
_TEXT	ENDS
;	COMDAT ?Get_Alias@gzConsoleCommand@@UAEPADXZ
_TEXT	SEGMENT
?Get_Alias@gzConsoleCommand@@UAEPADXZ PROC		; gzConsoleCommand::Get_Alias, COMDAT
; _this$ = ecx

; 8    : 		return 0;

	xor	eax, eax

; 9    : 	}

	ret	0
?Get_Alias@gzConsoleCommand@@UAEPADXZ ENDP		; gzConsoleCommand::Get_Alias
_TEXT	ENDS
PUBLIC	??_C@_0L@NNLJLCIL@giveweapon?$AA@		; `string'
;	COMDAT ??_C@_0L@NNLJLCIL@giveweapon?$AA@
; File d:\source code\stgm\stweapon.cpp
CONST	SEGMENT
??_C@_0L@NNLJLCIL@giveweapon?$AA@ DB 'giveweapon', 00H	; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Name@GiveWeaponConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Name@GiveWeaponConsoleFunction@@UAEPADXZ PROC	; GiveWeaponConsoleFunction::Get_Name, COMDAT
; _this$ = ecx

; 1533 : 		return "giveweapon";

	mov	eax, OFFSET ??_C@_0L@NNLJLCIL@giveweapon?$AA@

; 1534 : 	}

	ret	0
?Get_Name@GiveWeaponConsoleFunction@@UAEPADXZ ENDP	; GiveWeaponConsoleFunction::Get_Name
_TEXT	ENDS
PUBLIC	??_C@_0DK@GKGGBPPL@GIVEWEAPON?5?$DMplayer?$DO?5?$DMweapon?$DO?5?9?5G@ ; `string'
;	COMDAT ??_C@_0DK@GKGGBPPL@GIVEWEAPON?5?$DMplayer?$DO?5?$DMweapon?$DO?5?9?5G@
CONST	SEGMENT
??_C@_0DK@GKGGBPPL@GIVEWEAPON?5?$DMplayer?$DO?5?$DMweapon?$DO?5?9?5G@ DB 'G'
	DB	'IVEWEAPON <player> <weapon> - Give <weapon> to <player>.', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Get_Help@GiveWeaponConsoleFunction@@UAEPADXZ
_TEXT	SEGMENT
?Get_Help@GiveWeaponConsoleFunction@@UAEPADXZ PROC	; GiveWeaponConsoleFunction::Get_Help, COMDAT
; _this$ = ecx

; 1536 : 		return "GIVEWEAPON <player> <weapon> - Give <weapon> to <player>.";

	mov	eax, OFFSET ??_C@_0DK@GKGGBPPL@GIVEWEAPON?5?$DMplayer?$DO?5?$DMweapon?$DO?5?9?5G@

; 1537 : 	}

	ret	0
?Get_Help@GiveWeaponConsoleFunction@@UAEPADXZ ENDP	; GiveWeaponConsoleFunction::Get_Help
_TEXT	ENDS
PUBLIC	__TI2?AVbad_alloc@std@@
PUBLIC	??_C@_0ED@MOJMIMJH@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsoft@ ; `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 (x86)\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@_0ED@MOJMIMJH@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsoft@
CONST	SEGMENT
??_C@_0ED@MOJMIMJH@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsoft@ DB 'C:\Pr'
	DB	'ogram Files (x86)\Microsoft Visual Studio 8\VC\include\xdebug'
	DB	00H						; `string'
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 8\vc\include\xdebug
CONST	ENDS
;	COMDAT ?allocate@?$_DebugHeapAllocator@D@std@@QAAPADIPBX@Z
_TEXT	SEGMENT
$T70228 = -12						; size = 12
_this$ = 8						; size = 4
$T70234 = 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@_0ED@MOJMIMJH@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsoft@
	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 $T70234[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T70228[esp+20]
	mov	DWORD PTR $T70234[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T70228[esp+20]
	push	ecx
	mov	DWORD PTR $T70228[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
$T70240 = -12						; size = 12
$T70245 = 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@_0ED@MOJMIMJH@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsoft@
	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 $T70245[esp+12]
	push	eax
	lea	ecx, DWORD PTR $T70240[esp+20]
	mov	DWORD PTR $T70245[esp+16], 0
	call	??0exception@std@@QAE@ABQBD@Z		; std::exception::exception
	push	OFFSET __TI2?AVbad_alloc@std@@
	lea	ecx, DWORD PTR $T70240[esp+20]
	push	ecx
	mov	DWORD PTR $T70240[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	??_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	?Clear@?$aVector@PAVaStringData@@@@UAEXXZ	; aVector<aStringData *>::Clear
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

; 27   : 	aVector()

	mov	eax, ecx

; 28   : 	{
; 29   : 		this->m_vector = NULL;

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

; 30   : 		this->m_alloc  = 0;

	mov	DWORD PTR [eax+8], ecx

; 31   : 		this->m_items  = 0;

	mov	DWORD PTR [eax+12], ecx

; 32   : 	};

	ret	0
??0?$aVector@PAVaStringData@@@@QAE@XZ ENDP		; aVector<aStringData *>::aVector<aStringData *>
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAVaStringData@@@@QBEIXZ	; aVector<aStringData *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAVaStringData@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAVaStringData@@@@QBEIXZ PROC		; aVector<aStringData *>::Count, COMDAT
; _this$ = ecx

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

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@PAVaStringData@@@@QBEIXZ ENDP		; aVector<aStringData *>::Count
_TEXT	ENDS
PUBLIC	??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@ ; `string'
PUBLIC	??_C@_00CNPNBAHC@?$AA@				; `string'
EXTRN	??_V@YAXPAX@Z:PROC				; operator delete[]
EXTRN	?m_setOwner@@YAXPBDI0@Z:PROC			; m_setOwner
;	COMDAT ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
CONST	SEGMENT
??_C@_0CG@EILDPJHO@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

; 67   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

; 69   : 		{
; 70   : //#if (VECTOR_USE_CRT == 1)
; 71   : //			free(this->m_vector);
; 72   : //#else
; 73   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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

; 74   : //#endif
; 75   : 			this->m_vector = NULL;

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

; 76   : 		}
; 77   : 		this->m_alloc = 0;
; 78   : 		this->m_items = 0;

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

; 79   : 	};

	ret	0
?Clear@?$aVector@PAVaStringData@@@@UAEXXZ ENDP		; aVector<aStringData *>::Clear
_TEXT	ENDS
EXTRN	??_U@YAPAXI@Z:PROC				; operator new[]
EXTRN	_memcpy:PROC
; Function compile flags: /Ogtpy
;	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

; 81   : 	{

	push	esi
	push	edi

; 82   : 		if (this->m_alloc != nSize)

	mov	edi, DWORD PTR _nSize$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [esi+8], edi
	je	SHORT $LN11@Resize

; 83   : 		{
; 84   : 			if (nSize > 0)

	test	edi, edi
	jbe	SHORT $LN3@Resize
	push	ebx

; 85   : 			{
; 86   : 
; 87   : //#if (VECTOR_USE_CRT == 1)
; 88   : //				this->m_vector = (T *)realloc(this->m_vector, nSize * sizeof(T));
; 89   : //#else
; 90   : 				T* newVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	90					; 0000005aH
	push	OFFSET ??_C@_0CG@EILDPJHO@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

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

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

; 92   : 				{
; 93   : 					memcpy(newVec, this->m_vector, nSize * sizeof(T));

	lea	ecx, DWORD PTR [edi*4]
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 94   : 					delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	94					; 0000005eH
	push	OFFSET ??_C@_0CG@EILDPJHO@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
$LN10@Resize:

; 95   : 				}
; 96   : 				this->m_vector = newVec;

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

; 97   : //#endif
; 98   : 
; 99   : 				this->m_alloc = nSize;

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
$LN3@Resize:

; 100  : 			}
; 101  : 			else
; 102  : 				this->Clear();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
$LN11@Resize:
	pop	edi

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	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

; 107  : 	{

	push	esi
	mov	esi, ecx

; 108  : 		if (this->Resize(this->m_items + 1))

	mov	ecx, DWORD PTR [esi+12]
	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

; 109  : 			this->m_vector[this->m_items++] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	eax, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [edx]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4], edx
	add	DWORD PTR [esi+12], 1
$LN1@Add:
	pop	esi

; 110  : 	}

	ret	4
?Add@?$aVector@PAVaStringData@@@@UAEXABQAVaStringData@@@Z ENDP ; aVector<aStringData *>::Add
_TEXT	ENDS
EXTRN	_memmove:PROC
; Function compile flags: /Ogtpy
;	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

; 112  : 	{

	push	esi
	mov	esi, ecx

; 113  : 		if (index > this->m_items)

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

; 114  : 			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

; 119  : 		}
; 120  : 	}

	ret	8
$LN3@Insert:

; 115  : 		else if (this->Resize(this->m_items + 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

; 116  : 		{
; 117  : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_items++ - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, ecx
	add	ecx, 1
	sub	eax, edi
	mov	DWORD PTR [esi+12], ecx
	mov	ecx, DWORD PTR [esi+4]
	add	eax, eax
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edi*4]
	push	eax
	push	ecx
	add	ecx, 4
	push	ecx
	call	_memmove

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

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

; 119  : 		}
; 120  : 	}

	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

; 123  : 		if (index >= this->m_items)

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

; 124  : 			return;
; 125  : 		if (--this->m_items == 0)

	add	eax, -1
	mov	DWORD PTR [esi+12], eax
	jne	SHORT $LN3@Delete@2

; 126  : 			this->Clear();

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

; 132  : 		}
; 133  : 	}

	ret	4
$LN3@Delete@2:

; 127  : 		else
; 128  : 		{
; 129  : 			if (index < this->m_items)

	cmp	edx, eax
	jae	SHORT $LN1@Delete@2

; 130  : 				memmove(&this->m_vector[index], &this->m_vector[index + 1], (this->m_items - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	sub	eax, edx
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edx*4]
	add	eax, eax
	push	eax
	lea	edx, DWORD PTR [ecx+4]
	push	edx
	push	ecx
	call	_memmove
	add	esp, 12					; 0000000cH
$LN1@Delete@2:

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

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

; 132  : 		}
; 133  : 	}

	ret	4
?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z ENDP	; aVector<aStringData *>::Delete
_TEXT	ENDS
PUBLIC	?Clear@?$aStringArrayBase@VaString@@@@UAEXXZ	; aStringArrayBase<aString>::Clear
EXTRN	?DecRef@aStringData@@QAEXXZ:PROC		; aStringData::DecRef
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\astring.h
;	COMDAT ?Clear@?$aStringArrayBase@VaString@@@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aStringArrayBase@VaString@@@@UAEXXZ PROC	; aStringArrayBase<aString>::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	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@VaString@@@@UAEXXZ ENDP	; aStringArrayBase<aString>::Clear
_TEXT	ENDS
PUBLIC	??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z ; aStringArrayBase<aString>::operator[]
EXTRN	?SetData@aStringBase@@QAEXPAVaStringData@@@Z:PROC ; aStringBase::SetData
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z$0
__ehfuncinfo$??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z
_TEXT	SEGMENT
$T70301 = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_pos$ = 12						; size = 4
??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z PROC ; aStringArrayBase<aString>::operator[], COMDAT
; _this$ = ecx

; 86   : 	{

	push	-1
	push	__ehhandler$??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	mov	DWORD PTR $T70301[esp+20], 0

; 87   : 		T ret;

	mov	esi, DWORD PTR ___$ReturnUdt$[esp+16]
	push	edi
	mov	edi, ecx
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	call	??0aString@@QAE@XZ			; aString::aString

; 88   : 		ret.SetData(this->m_vector[pos]);
; 89   : 		return ret;

	mov	eax, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR _pos$[esp+20]
	mov	edx, DWORD PTR [eax+ecx*4]
	push	edx
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+36], 0
	mov	DWORD PTR $T70301[esp+28], 1
	call	?SetData@aStringBase@@QAEXPAVaStringData@@@Z ; aStringBase::SetData

; 90   : 	};

	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	8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z$0:
	mov	eax, DWORD PTR $T70301[ebp]
	and	eax, 1
	je	$LN4@operator
	and	DWORD PTR $T70301[ebp], -2		; fffffffeH
	mov	ecx, DWORD PTR ___$ReturnUdt$[ebp-4]
	jmp	??1aString@@UAE@XZ
$LN4@operator:
	ret	0
__ehhandler$??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z:
	mov	eax, OFFSET __ehfuncinfo$??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z ENDP ; aStringArrayBase<aString>::operator[]
PUBLIC	?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z ; aStringArrayBase<aString>::Add
EXTRN	?IncRef@aStringData@@QAEXXZ:PROC		; aStringData::IncRef
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z$0
__ehfuncinfo$?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
_content$ = 8						; size = 8
?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z PROC ; aStringArrayBase<aString>::Add, COMDAT
; _this$ = ecx

; 92   : 	{

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

; 93   : 		content.GetData()->IncRef();

	mov	ecx, DWORD PTR _content$[esp+20]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	?IncRef@aStringData@@QAEXXZ		; aStringData::IncRef

; 94   : 		this->aVector<aStringData *>::Add(content.GetData());

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	mov	edi, DWORD PTR _content$[esp+20]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN8@Add@2
	mov	eax, DWORD PTR [esi+12]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4], edi
	add	DWORD PTR [esi+12], 1
$LN8@Add@2:

; 95   : 	};

	lea	ecx, DWORD PTR _content$[esp+16]
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	edi
	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@VaString@@@@QAEXVaString@@@Z$0:
	lea	ecx, DWORD PTR _content$[ebp-4]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z ENDP ; aStringArrayBase<aString>::Add
PUBLIC	?Clear@?$aStringArrayBase@VaWideString@@@@UAEXXZ ; aStringArrayBase<aWideString>::Clear
; Function compile flags: /Ogtpy
;	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@3
	npad	2
$LL3@Clear@3:

; 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@3
$LN1@Clear@3:

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

	cmp	DWORD PTR [esi+4], ebx
	je	SHORT $LN13@Clear@3
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@3:
	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	?Count@?$nc_DynamicVectorClass@PAVnc_BuildingGameObj@@@@QAEHXZ ; nc_DynamicVectorClass<nc_BuildingGameObj *>::Count
; Function compile flags: /Ogtpy
; File d:\source code\fds lib\new\fds_vector.h
;	COMDAT ?Count@?$nc_DynamicVectorClass@PAVnc_BuildingGameObj@@@@QAEHXZ
_TEXT	SEGMENT
?Count@?$nc_DynamicVectorClass@PAVnc_BuildingGameObj@@@@QAEHXZ PROC ; nc_DynamicVectorClass<nc_BuildingGameObj *>::Count, COMDAT
; _this$ = ecx

; 375  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+16]

; 376  : 	}

	ret	0
?Count@?$nc_DynamicVectorClass@PAVnc_BuildingGameObj@@@@QAEHXZ ENDP ; nc_DynamicVectorClass<nc_BuildingGameObj *>::Count
_TEXT	ENDS
PUBLIC	??A?$nc_VectorClass@PAVnc_BuildingGameObj@@@@QAEAAPAVnc_BuildingGameObj@@H@Z ; nc_VectorClass<nc_BuildingGameObj *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$nc_VectorClass@PAVnc_BuildingGameObj@@@@QAEAAPAVnc_BuildingGameObj@@H@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$nc_VectorClass@PAVnc_BuildingGameObj@@@@QAEAAPAVnc_BuildingGameObj@@H@Z PROC ; nc_VectorClass<nc_BuildingGameObj *>::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_BuildingGameObj@@@@QAEAAPAVnc_BuildingGameObj@@H@Z ENDP ; nc_VectorClass<nc_BuildingGameObj *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$nc_SimpleDynVecClass@PAVnc_GameObjObserverClass@@@@QAEHXZ ; nc_SimpleDynVecClass<nc_GameObjObserverClass *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$nc_SimpleDynVecClass@PAVnc_GameObjObserverClass@@@@QAEHXZ
_TEXT	SEGMENT
?Count@?$nc_SimpleDynVecClass@PAVnc_GameObjObserverClass@@@@QAEHXZ PROC ; nc_SimpleDynVecClass<nc_GameObjObserverClass *>::Count, COMDAT
; _this$ = ecx

; 252  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+12]

; 253  : 	}

	ret	0
?Count@?$nc_SimpleDynVecClass@PAVnc_GameObjObserverClass@@@@QAEHXZ ENDP ; nc_SimpleDynVecClass<nc_GameObjObserverClass *>::Count
_TEXT	ENDS
PUBLIC	??A?$nc_SimpleVecClass@PAVnc_GameObjObserverClass@@@@QAEAAPAVnc_GameObjObserverClass@@H@Z ; nc_SimpleVecClass<nc_GameObjObserverClass *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$nc_SimpleVecClass@PAVnc_GameObjObserverClass@@@@QAEAAPAVnc_GameObjObserverClass@@H@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$nc_SimpleVecClass@PAVnc_GameObjObserverClass@@@@QAEAAPAVnc_GameObjObserverClass@@H@Z PROC ; nc_SimpleVecClass<nc_GameObjObserverClass *>::operator[], COMDAT
; _this$ = ecx

; 174  : 		return Vector[index];

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

; 175  : 	}

	ret	4
??A?$nc_SimpleVecClass@PAVnc_GameObjObserverClass@@@@QAEAAPAVnc_GameObjObserverClass@@H@Z ENDP ; nc_SimpleVecClass<nc_GameObjObserverClass *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$nc_DynamicVectorClass@PAVnc_WeaponClass@@@@QAEHXZ ; nc_DynamicVectorClass<nc_WeaponClass *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$nc_DynamicVectorClass@PAVnc_WeaponClass@@@@QAEHXZ
_TEXT	SEGMENT
?Count@?$nc_DynamicVectorClass@PAVnc_WeaponClass@@@@QAEHXZ PROC ; nc_DynamicVectorClass<nc_WeaponClass *>::Count, COMDAT
; _this$ = ecx

; 375  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+16]

; 376  : 	}

	ret	0
?Count@?$nc_DynamicVectorClass@PAVnc_WeaponClass@@@@QAEHXZ ENDP ; nc_DynamicVectorClass<nc_WeaponClass *>::Count
_TEXT	ENDS
PUBLIC	??A?$nc_VectorClass@PAVnc_WeaponClass@@@@QAEAAPAVnc_WeaponClass@@H@Z ; nc_VectorClass<nc_WeaponClass *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$nc_VectorClass@PAVnc_WeaponClass@@@@QAEAAPAVnc_WeaponClass@@H@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$nc_VectorClass@PAVnc_WeaponClass@@@@QAEAAPAVnc_WeaponClass@@H@Z PROC ; nc_VectorClass<nc_WeaponClass *>::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_WeaponClass@@@@QAEAAPAVnc_WeaponClass@@H@Z ENDP ; nc_VectorClass<nc_WeaponClass *>::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

; 107  : 	{

	push	esi
	mov	esi, ecx

; 108  : 		if (this->Resize(this->m_items + 1))

	mov	ecx, DWORD PTR [esi+12]
	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

; 109  : 			this->m_vector[this->m_items++] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	eax, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [edx]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4], edx
	add	DWORD PTR [esi+12], 1
$LN1@Add@3:
	pop	esi

; 110  : 	}

	ret	4
?Add@?$aVector@PAVgzChatCommandBase@@@@UAEXABQAVgzChatCommandBase@@@Z ENDP ; aVector<gzChatCommandBase *>::Add
_TEXT	ENDS
PUBLIC	??A?$aVector@I@@QAEAAII@Z			; aVector<unsigned int>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$aVector@I@@QAEAAII@Z
_TEXT	SEGMENT
_nPos$ = 8						; size = 4
??A?$aVector@I@@QAEAAII@Z PROC				; aVector<unsigned int>::operator[], COMDAT
; _this$ = ecx

; 64   : 	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@I@@QAEAAII@Z ENDP				; aVector<unsigned int>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@I@@QBEIXZ			; aVector<unsigned int>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@I@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@I@@QBEIXZ PROC				; aVector<unsigned int>::Count, COMDAT
; _this$ = ecx

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

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@I@@QBEIXZ ENDP				; aVector<unsigned int>::Count
_TEXT	ENDS
PUBLIC	??A?$aVector@PAUgzCrateStealthMineStruct@@@@QAEAAPAUgzCrateStealthMineStruct@@I@Z ; aVector<gzCrateStealthMineStruct *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$aVector@PAUgzCrateStealthMineStruct@@@@QAEAAPAUgzCrateStealthMineStruct@@I@Z
_TEXT	SEGMENT
_nPos$ = 8						; size = 4
??A?$aVector@PAUgzCrateStealthMineStruct@@@@QAEAAPAUgzCrateStealthMineStruct@@I@Z PROC ; aVector<gzCrateStealthMineStruct *>::operator[], COMDAT
; _this$ = ecx

; 64   : 	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@PAUgzCrateStealthMineStruct@@@@QAEAAPAUgzCrateStealthMineStruct@@I@Z ENDP ; aVector<gzCrateStealthMineStruct *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAUgzCrateStealthMineStruct@@@@QBEIXZ ; aVector<gzCrateStealthMineStruct *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAUgzCrateStealthMineStruct@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAUgzCrateStealthMineStruct@@@@QBEIXZ PROC ; aVector<gzCrateStealthMineStruct *>::Count, COMDAT
; _this$ = ecx

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

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

; 27   : 	aVector()

	mov	eax, ecx

; 28   : 	{
; 29   : 		this->m_vector = NULL;

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

; 30   : 		this->m_alloc  = 0;

	mov	DWORD PTR [eax+8], ecx

; 31   : 		this->m_items  = 0;

	mov	DWORD PTR [eax+12], ecx

; 32   : 	};

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

; 64   : 	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@PAUgzBackpackSoldierData@@@@QAEAAPAUgzBackpackSoldierData@@I@Z ENDP ; aVector<gzBackpackSoldierData *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAUgzBackpackSoldierData@@@@QBEIXZ ; aVector<gzBackpackSoldierData *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAUgzBackpackSoldierData@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAUgzBackpackSoldierData@@@@QBEIXZ PROC ; aVector<gzBackpackSoldierData *>::Count, COMDAT
; _this$ = ecx

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

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

; 67   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

; 69   : 		{
; 70   : //#if (VECTOR_USE_CRT == 1)
; 71   : //			free(this->m_vector);
; 72   : //#else
; 73   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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

; 74   : //#endif
; 75   : 			this->m_vector = NULL;

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

; 76   : 		}
; 77   : 		this->m_alloc = 0;
; 78   : 		this->m_items = 0;

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

; 79   : 	};

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

; 81   : 	{

	push	esi
	push	edi

; 82   : 		if (this->m_alloc != nSize)

	mov	edi, DWORD PTR _nSize$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [esi+8], edi
	je	SHORT $LN11@Resize@2

; 83   : 		{
; 84   : 			if (nSize > 0)

	test	edi, edi
	jbe	SHORT $LN3@Resize@2
	push	ebx

; 85   : 			{
; 86   : 
; 87   : //#if (VECTOR_USE_CRT == 1)
; 88   : //				this->m_vector = (T *)realloc(this->m_vector, nSize * sizeof(T));
; 89   : //#else
; 90   : 				T* newVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	90					; 0000005aH
	push	OFFSET ??_C@_0CG@EILDPJHO@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

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

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

; 92   : 				{
; 93   : 					memcpy(newVec, this->m_vector, nSize * sizeof(T));

	lea	ecx, DWORD PTR [edi*4]
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 94   : 					delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	94					; 0000005eH
	push	OFFSET ??_C@_0CG@EILDPJHO@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
$LN10@Resize@2:

; 95   : 				}
; 96   : 				this->m_vector = newVec;

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

; 97   : //#endif
; 98   : 
; 99   : 				this->m_alloc = nSize;

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
$LN3@Resize@2:

; 100  : 			}
; 101  : 			else
; 102  : 				this->Clear();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
$LN11@Resize@2:
	pop	edi

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

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

; 107  : 	{

	push	esi
	mov	esi, ecx

; 108  : 		if (this->Resize(this->m_items + 1))

	mov	ecx, DWORD PTR [esi+12]
	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

; 109  : 			this->m_vector[this->m_items++] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	eax, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [edx]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4], edx
	add	DWORD PTR [esi+12], 1
$LN1@Add@4:
	pop	esi

; 110  : 	}

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

; 112  : 	{

	push	esi
	mov	esi, ecx

; 113  : 		if (index > this->m_items)

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

; 114  : 			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

; 119  : 		}
; 120  : 	}

	ret	8
$LN3@Insert@2:

; 115  : 		else if (this->Resize(this->m_items + 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

; 116  : 		{
; 117  : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_items++ - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, ecx
	add	ecx, 1
	sub	eax, edi
	mov	DWORD PTR [esi+12], ecx
	mov	ecx, DWORD PTR [esi+4]
	add	eax, eax
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edi*4]
	push	eax
	push	ecx
	add	ecx, 4
	push	ecx
	call	_memmove

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

	mov	eax, DWORD PTR _obj$[esp+16]
	mov	edx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [edx+edi*4], ecx
$LN1@Insert@2:
	pop	edi
	pop	esi

; 119  : 		}
; 120  : 	}

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

; 123  : 		if (index >= this->m_items)

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

; 124  : 			return;
; 125  : 		if (--this->m_items == 0)

	add	eax, -1
	mov	DWORD PTR [esi+12], eax
	jne	SHORT $LN3@Delete@3

; 126  : 			this->Clear();

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

; 132  : 		}
; 133  : 	}

	ret	4
$LN3@Delete@3:

; 127  : 		else
; 128  : 		{
; 129  : 			if (index < this->m_items)

	cmp	edx, eax
	jae	SHORT $LN1@Delete@3

; 130  : 				memmove(&this->m_vector[index], &this->m_vector[index + 1], (this->m_items - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	sub	eax, edx
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edx*4]
	add	eax, eax
	push	eax
	lea	edx, DWORD PTR [ecx+4]
	push	edx
	push	ecx
	call	_memmove
	add	esp, 12					; 0000000cH
$LN1@Delete@3:

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

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

; 132  : 		}
; 133  : 	}

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

; 27   : 	aVector()

	mov	eax, ecx

; 28   : 	{
; 29   : 		this->m_vector = NULL;

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

; 30   : 		this->m_alloc  = 0;

	mov	DWORD PTR [eax+8], ecx

; 31   : 		this->m_items  = 0;

	mov	DWORD PTR [eax+12], ecx

; 32   : 	};

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

; 64   : 	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@PAUgzWeaponBan@@@@QAEAAPAUgzWeaponBan@@I@Z ENDP ; aVector<gzWeaponBan *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAUgzWeaponBan@@@@QBEIXZ	; aVector<gzWeaponBan *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAUgzWeaponBan@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAUgzWeaponBan@@@@QBEIXZ PROC		; aVector<gzWeaponBan *>::Count, COMDAT
; _this$ = ecx

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

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

; 67   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

; 69   : 		{
; 70   : //#if (VECTOR_USE_CRT == 1)
; 71   : //			free(this->m_vector);
; 72   : //#else
; 73   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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

; 74   : //#endif
; 75   : 			this->m_vector = NULL;

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

; 76   : 		}
; 77   : 		this->m_alloc = 0;
; 78   : 		this->m_items = 0;

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

; 79   : 	};

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

; 81   : 	{

	push	esi
	push	edi

; 82   : 		if (this->m_alloc != nSize)

	mov	edi, DWORD PTR _nSize$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [esi+8], edi
	je	SHORT $LN11@Resize@3

; 83   : 		{
; 84   : 			if (nSize > 0)

	test	edi, edi
	jbe	SHORT $LN3@Resize@3
	push	ebx

; 85   : 			{
; 86   : 
; 87   : //#if (VECTOR_USE_CRT == 1)
; 88   : //				this->m_vector = (T *)realloc(this->m_vector, nSize * sizeof(T));
; 89   : //#else
; 90   : 				T* newVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	90					; 0000005aH
	push	OFFSET ??_C@_0CG@EILDPJHO@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

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

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

; 92   : 				{
; 93   : 					memcpy(newVec, this->m_vector, nSize * sizeof(T));

	lea	ecx, DWORD PTR [edi*4]
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 94   : 					delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	94					; 0000005eH
	push	OFFSET ??_C@_0CG@EILDPJHO@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
$LN10@Resize@3:

; 95   : 				}
; 96   : 				this->m_vector = newVec;

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

; 97   : //#endif
; 98   : 
; 99   : 				this->m_alloc = nSize;

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
$LN3@Resize@3:

; 100  : 			}
; 101  : 			else
; 102  : 				this->Clear();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
$LN11@Resize@3:
	pop	edi

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

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

; 107  : 	{

	push	esi
	mov	esi, ecx

; 108  : 		if (this->Resize(this->m_items + 1))

	mov	ecx, DWORD PTR [esi+12]
	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

; 109  : 			this->m_vector[this->m_items++] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	eax, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [edx]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4], edx
	add	DWORD PTR [esi+12], 1
$LN1@Add@5:
	pop	esi

; 110  : 	}

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

; 112  : 	{

	push	esi
	mov	esi, ecx

; 113  : 		if (index > this->m_items)

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

; 114  : 			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

; 119  : 		}
; 120  : 	}

	ret	8
$LN3@Insert@3:

; 115  : 		else if (this->Resize(this->m_items + 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

; 116  : 		{
; 117  : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_items++ - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, ecx
	add	ecx, 1
	sub	eax, edi
	mov	DWORD PTR [esi+12], ecx
	mov	ecx, DWORD PTR [esi+4]
	add	eax, eax
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edi*4]
	push	eax
	push	ecx
	add	ecx, 4
	push	ecx
	call	_memmove

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

	mov	eax, DWORD PTR _obj$[esp+16]
	mov	edx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [edx+edi*4], ecx
$LN1@Insert@3:
	pop	edi
	pop	esi

; 119  : 		}
; 120  : 	}

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

; 123  : 		if (index >= this->m_items)

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

; 124  : 			return;
; 125  : 		if (--this->m_items == 0)

	add	eax, -1
	mov	DWORD PTR [esi+12], eax
	jne	SHORT $LN3@Delete@4

; 126  : 			this->Clear();

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

; 132  : 		}
; 133  : 	}

	ret	4
$LN3@Delete@4:

; 127  : 		else
; 128  : 		{
; 129  : 			if (index < this->m_items)

	cmp	edx, eax
	jae	SHORT $LN1@Delete@4

; 130  : 				memmove(&this->m_vector[index], &this->m_vector[index + 1], (this->m_items - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	sub	eax, edx
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edx*4]
	add	eax, eax
	push	eax
	lea	edx, DWORD PTR [ecx+4]
	push	edx
	push	ecx
	call	_memmove
	add	esp, 12					; 0000000cH
$LN1@Delete@4:

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

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

; 132  : 		}
; 133  : 	}

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

; 27   : 	aVector()

	mov	eax, ecx

; 28   : 	{
; 29   : 		this->m_vector = NULL;

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

; 30   : 		this->m_alloc  = 0;

	mov	DWORD PTR [eax+8], ecx

; 31   : 		this->m_items  = 0;

	mov	DWORD PTR [eax+12], ecx

; 32   : 	};

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

; 64   : 	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@PAUgzWeaponLevelStruct@@@@QAEAAPAUgzWeaponLevelStruct@@I@Z ENDP ; aVector<gzWeaponLevelStruct *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAUgzWeaponLevelStruct@@@@QBEIXZ ; aVector<gzWeaponLevelStruct *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAUgzWeaponLevelStruct@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAUgzWeaponLevelStruct@@@@QBEIXZ PROC	; aVector<gzWeaponLevelStruct *>::Count, COMDAT
; _this$ = ecx

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

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

; 67   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

; 69   : 		{
; 70   : //#if (VECTOR_USE_CRT == 1)
; 71   : //			free(this->m_vector);
; 72   : //#else
; 73   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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

; 74   : //#endif
; 75   : 			this->m_vector = NULL;

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

; 76   : 		}
; 77   : 		this->m_alloc = 0;
; 78   : 		this->m_items = 0;

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

; 79   : 	};

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

; 81   : 	{

	push	esi
	push	edi

; 82   : 		if (this->m_alloc != nSize)

	mov	edi, DWORD PTR _nSize$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [esi+8], edi
	je	SHORT $LN11@Resize@4

; 83   : 		{
; 84   : 			if (nSize > 0)

	test	edi, edi
	jbe	SHORT $LN3@Resize@4
	push	ebx

; 85   : 			{
; 86   : 
; 87   : //#if (VECTOR_USE_CRT == 1)
; 88   : //				this->m_vector = (T *)realloc(this->m_vector, nSize * sizeof(T));
; 89   : //#else
; 90   : 				T* newVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	90					; 0000005aH
	push	OFFSET ??_C@_0CG@EILDPJHO@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

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

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

; 92   : 				{
; 93   : 					memcpy(newVec, this->m_vector, nSize * sizeof(T));

	lea	ecx, DWORD PTR [edi*4]
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 94   : 					delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	94					; 0000005eH
	push	OFFSET ??_C@_0CG@EILDPJHO@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
$LN10@Resize@4:

; 95   : 				}
; 96   : 				this->m_vector = newVec;

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

; 97   : //#endif
; 98   : 
; 99   : 				this->m_alloc = nSize;

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
$LN3@Resize@4:

; 100  : 			}
; 101  : 			else
; 102  : 				this->Clear();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
$LN11@Resize@4:
	pop	edi

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

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

; 107  : 	{

	push	esi
	mov	esi, ecx

; 108  : 		if (this->Resize(this->m_items + 1))

	mov	ecx, DWORD PTR [esi+12]
	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

; 109  : 			this->m_vector[this->m_items++] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	eax, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [edx]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4], edx
	add	DWORD PTR [esi+12], 1
$LN1@Add@6:
	pop	esi

; 110  : 	}

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

; 112  : 	{

	push	esi
	mov	esi, ecx

; 113  : 		if (index > this->m_items)

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

; 114  : 			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

; 119  : 		}
; 120  : 	}

	ret	8
$LN3@Insert@4:

; 115  : 		else if (this->Resize(this->m_items + 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

; 116  : 		{
; 117  : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_items++ - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, ecx
	add	ecx, 1
	sub	eax, edi
	mov	DWORD PTR [esi+12], ecx
	mov	ecx, DWORD PTR [esi+4]
	add	eax, eax
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edi*4]
	push	eax
	push	ecx
	add	ecx, 4
	push	ecx
	call	_memmove

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

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

; 119  : 		}
; 120  : 	}

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

; 123  : 		if (index >= this->m_items)

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

; 124  : 			return;
; 125  : 		if (--this->m_items == 0)

	add	eax, -1
	mov	DWORD PTR [esi+12], eax
	jne	SHORT $LN3@Delete@5

; 126  : 			this->Clear();

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

; 132  : 		}
; 133  : 	}

	ret	4
$LN3@Delete@5:

; 127  : 		else
; 128  : 		{
; 129  : 			if (index < this->m_items)

	cmp	edx, eax
	jae	SHORT $LN1@Delete@5

; 130  : 				memmove(&this->m_vector[index], &this->m_vector[index + 1], (this->m_items - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	sub	eax, edx
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edx*4]
	add	eax, eax
	push	eax
	lea	edx, DWORD PTR [ecx+4]
	push	edx
	push	ecx
	call	_memmove
	add	esp, 12					; 0000000cH
$LN1@Delete@5:

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

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

; 132  : 		}
; 133  : 	}

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

; 27   : 	aVector()

	mov	eax, ecx

; 28   : 	{
; 29   : 		this->m_vector = NULL;

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

; 30   : 		this->m_alloc  = 0;

	mov	DWORD PTR [eax+8], ecx

; 31   : 		this->m_items  = 0;

	mov	DWORD PTR [eax+12], ecx

; 32   : 	};

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

; 64   : 	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@PAUgzBackpackSoldierPercentData@@@@QAEAAPAUgzBackpackSoldierPercentData@@I@Z ENDP ; aVector<gzBackpackSoldierPercentData *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAUgzBackpackSoldierPercentData@@@@QBEIXZ ; aVector<gzBackpackSoldierPercentData *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAUgzBackpackSoldierPercentData@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAUgzBackpackSoldierPercentData@@@@QBEIXZ PROC ; aVector<gzBackpackSoldierPercentData *>::Count, COMDAT
; _this$ = ecx

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

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

; 67   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

; 69   : 		{
; 70   : //#if (VECTOR_USE_CRT == 1)
; 71   : //			free(this->m_vector);
; 72   : //#else
; 73   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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

; 74   : //#endif
; 75   : 			this->m_vector = NULL;

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

; 76   : 		}
; 77   : 		this->m_alloc = 0;
; 78   : 		this->m_items = 0;

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

; 79   : 	};

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

; 81   : 	{

	push	esi
	push	edi

; 82   : 		if (this->m_alloc != nSize)

	mov	edi, DWORD PTR _nSize$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [esi+8], edi
	je	SHORT $LN11@Resize@5

; 83   : 		{
; 84   : 			if (nSize > 0)

	test	edi, edi
	jbe	SHORT $LN3@Resize@5
	push	ebx

; 85   : 			{
; 86   : 
; 87   : //#if (VECTOR_USE_CRT == 1)
; 88   : //				this->m_vector = (T *)realloc(this->m_vector, nSize * sizeof(T));
; 89   : //#else
; 90   : 				T* newVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	90					; 0000005aH
	push	OFFSET ??_C@_0CG@EILDPJHO@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

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

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

; 92   : 				{
; 93   : 					memcpy(newVec, this->m_vector, nSize * sizeof(T));

	lea	ecx, DWORD PTR [edi*4]
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 94   : 					delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	94					; 0000005eH
	push	OFFSET ??_C@_0CG@EILDPJHO@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
$LN10@Resize@5:

; 95   : 				}
; 96   : 				this->m_vector = newVec;

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

; 97   : //#endif
; 98   : 
; 99   : 				this->m_alloc = nSize;

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
$LN3@Resize@5:

; 100  : 			}
; 101  : 			else
; 102  : 				this->Clear();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
$LN11@Resize@5:
	pop	edi

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

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

; 107  : 	{

	push	esi
	mov	esi, ecx

; 108  : 		if (this->Resize(this->m_items + 1))

	mov	ecx, DWORD PTR [esi+12]
	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@7

; 109  : 			this->m_vector[this->m_items++] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	eax, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [edx]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4], edx
	add	DWORD PTR [esi+12], 1
$LN1@Add@7:
	pop	esi

; 110  : 	}

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

; 112  : 	{

	push	esi
	mov	esi, ecx

; 113  : 		if (index > this->m_items)

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

; 114  : 			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

; 119  : 		}
; 120  : 	}

	ret	8
$LN3@Insert@5:

; 115  : 		else if (this->Resize(this->m_items + 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

; 116  : 		{
; 117  : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_items++ - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, ecx
	add	ecx, 1
	sub	eax, edi
	mov	DWORD PTR [esi+12], ecx
	mov	ecx, DWORD PTR [esi+4]
	add	eax, eax
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edi*4]
	push	eax
	push	ecx
	add	ecx, 4
	push	ecx
	call	_memmove

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

	mov	eax, DWORD PTR _obj$[esp+16]
	mov	edx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [edx+edi*4], ecx
$LN1@Insert@5:
	pop	edi
	pop	esi

; 119  : 		}
; 120  : 	}

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

; 123  : 		if (index >= this->m_items)

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

; 124  : 			return;
; 125  : 		if (--this->m_items == 0)

	add	eax, -1
	mov	DWORD PTR [esi+12], eax
	jne	SHORT $LN3@Delete@6

; 126  : 			this->Clear();

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

; 132  : 		}
; 133  : 	}

	ret	4
$LN3@Delete@6:

; 127  : 		else
; 128  : 		{
; 129  : 			if (index < this->m_items)

	cmp	edx, eax
	jae	SHORT $LN1@Delete@6

; 130  : 				memmove(&this->m_vector[index], &this->m_vector[index + 1], (this->m_items - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	sub	eax, edx
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edx*4]
	add	eax, eax
	push	eax
	lea	edx, DWORD PTR [ecx+4]
	push	edx
	push	ecx
	call	_memmove
	add	esp, 12					; 0000000cH
$LN1@Delete@6:

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

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	call	edx
$LN2@Delete@6:
	pop	esi

; 132  : 		}
; 133  : 	}

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

; 27   : 	aVector()

	mov	eax, ecx

; 28   : 	{
; 29   : 		this->m_vector = NULL;

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

; 30   : 		this->m_alloc  = 0;

	mov	DWORD PTR [eax+8], ecx

; 31   : 		this->m_items  = 0;

	mov	DWORD PTR [eax+12], ecx

; 32   : 	};

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

; 64   : 	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@PAVgzBackpackClass@@@@QAEAAPAVgzBackpackClass@@I@Z ENDP ; aVector<gzBackpackClass *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAVgzBackpackClass@@@@QBEIXZ	; aVector<gzBackpackClass *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAVgzBackpackClass@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAVgzBackpackClass@@@@QBEIXZ PROC	; aVector<gzBackpackClass *>::Count, COMDAT
; _this$ = ecx

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

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

; 67   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

; 69   : 		{
; 70   : //#if (VECTOR_USE_CRT == 1)
; 71   : //			free(this->m_vector);
; 72   : //#else
; 73   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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

; 74   : //#endif
; 75   : 			this->m_vector = NULL;

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

; 76   : 		}
; 77   : 		this->m_alloc = 0;
; 78   : 		this->m_items = 0;

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

; 79   : 	};

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

; 81   : 	{

	push	esi
	push	edi

; 82   : 		if (this->m_alloc != nSize)

	mov	edi, DWORD PTR _nSize$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [esi+8], edi
	je	SHORT $LN11@Resize@6

; 83   : 		{
; 84   : 			if (nSize > 0)

	test	edi, edi
	jbe	SHORT $LN3@Resize@6
	push	ebx

; 85   : 			{
; 86   : 
; 87   : //#if (VECTOR_USE_CRT == 1)
; 88   : //				this->m_vector = (T *)realloc(this->m_vector, nSize * sizeof(T));
; 89   : //#else
; 90   : 				T* newVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	90					; 0000005aH
	push	OFFSET ??_C@_0CG@EILDPJHO@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

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

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

; 92   : 				{
; 93   : 					memcpy(newVec, this->m_vector, nSize * sizeof(T));

	lea	ecx, DWORD PTR [edi*4]
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 94   : 					delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	94					; 0000005eH
	push	OFFSET ??_C@_0CG@EILDPJHO@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
$LN10@Resize@6:

; 95   : 				}
; 96   : 				this->m_vector = newVec;

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

; 97   : //#endif
; 98   : 
; 99   : 				this->m_alloc = nSize;

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
$LN3@Resize@6:

; 100  : 			}
; 101  : 			else
; 102  : 				this->Clear();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
$LN11@Resize@6:
	pop	edi

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

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

; 107  : 	{

	push	esi
	mov	esi, ecx

; 108  : 		if (this->Resize(this->m_items + 1))

	mov	ecx, DWORD PTR [esi+12]
	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@8

; 109  : 			this->m_vector[this->m_items++] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	eax, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [edx]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4], edx
	add	DWORD PTR [esi+12], 1
$LN1@Add@8:
	pop	esi

; 110  : 	}

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

; 112  : 	{

	push	esi
	mov	esi, ecx

; 113  : 		if (index > this->m_items)

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

; 114  : 			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

; 119  : 		}
; 120  : 	}

	ret	8
$LN3@Insert@6:

; 115  : 		else if (this->Resize(this->m_items + 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@6

; 116  : 		{
; 117  : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_items++ - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, ecx
	add	ecx, 1
	sub	eax, edi
	mov	DWORD PTR [esi+12], ecx
	mov	ecx, DWORD PTR [esi+4]
	add	eax, eax
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edi*4]
	push	eax
	push	ecx
	add	ecx, 4
	push	ecx
	call	_memmove

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

	mov	eax, DWORD PTR _obj$[esp+16]
	mov	edx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [edx+edi*4], ecx
$LN1@Insert@6:
	pop	edi
	pop	esi

; 119  : 		}
; 120  : 	}

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

; 123  : 		if (index >= this->m_items)

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

; 124  : 			return;
; 125  : 		if (--this->m_items == 0)

	add	eax, -1
	mov	DWORD PTR [esi+12], eax
	jne	SHORT $LN3@Delete@7

; 126  : 			this->Clear();

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

; 132  : 		}
; 133  : 	}

	ret	4
$LN3@Delete@7:

; 127  : 		else
; 128  : 		{
; 129  : 			if (index < this->m_items)

	cmp	edx, eax
	jae	SHORT $LN1@Delete@7

; 130  : 				memmove(&this->m_vector[index], &this->m_vector[index + 1], (this->m_items - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	sub	eax, edx
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edx*4]
	add	eax, eax
	push	eax
	lea	edx, DWORD PTR [ecx+4]
	push	edx
	push	ecx
	call	_memmove
	add	esp, 12					; 0000000cH
$LN1@Delete@7:

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

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	call	edx
$LN2@Delete@7:
	pop	esi

; 132  : 		}
; 133  : 	}

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

; 27   : 	aVector()

	mov	eax, ecx

; 28   : 	{
; 29   : 		this->m_vector = NULL;

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

; 30   : 		this->m_alloc  = 0;

	mov	DWORD PTR [eax+8], ecx

; 31   : 		this->m_items  = 0;

	mov	DWORD PTR [eax+12], ecx

; 32   : 	};

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

; 64   : 	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*8]
	ret	4
??A?$aVector@UgzWeaponPackData@@@@QAEAAUgzWeaponPackData@@I@Z ENDP ; aVector<gzWeaponPackData>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@UgzWeaponPackData@@@@QBEIXZ	; aVector<gzWeaponPackData>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@UgzWeaponPackData@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@UgzWeaponPackData@@@@QBEIXZ PROC	; aVector<gzWeaponPackData>::Count, COMDAT
; _this$ = ecx

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

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

; 67   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

; 69   : 		{
; 70   : //#if (VECTOR_USE_CRT == 1)
; 71   : //			free(this->m_vector);
; 72   : //#else
; 73   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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

; 74   : //#endif
; 75   : 			this->m_vector = NULL;

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

; 76   : 		}
; 77   : 		this->m_alloc = 0;
; 78   : 		this->m_items = 0;

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

; 79   : 	};

	ret	0
?Clear@?$aVector@UgzWeaponPackData@@@@UAEXXZ ENDP	; aVector<gzWeaponPackData>::Clear
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Add@?$aVector@UgzWeaponPackData@@@@UAEXABUgzWeaponPackData@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Add@?$aVector@UgzWeaponPackData@@@@UAEXABUgzWeaponPackData@@@Z PROC ; aVector<gzWeaponPackData>::Add, COMDAT
; _this$ = ecx

; 107  : 	{

	push	esi
	mov	esi, ecx

; 108  : 		if (this->Resize(this->m_items + 1))

	mov	ecx, DWORD PTR [esi+12]
	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@9

; 109  : 			this->m_vector[this->m_items++] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi+4]
	push	edi
	mov	edi, DWORD PTR [edx]
	mov	DWORD PTR [eax+ecx*8], edi
	mov	edx, DWORD PTR [edx+4]
	mov	DWORD PTR [eax+ecx*8+4], edx
	add	DWORD PTR [esi+12], 1
	pop	edi
$LN1@Add@9:
	pop	esi

; 110  : 	}

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

; 112  : 	{

	push	esi
	mov	esi, ecx

; 113  : 		if (index > this->m_items)

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

; 114  : 			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

; 119  : 		}
; 120  : 	}

	ret	8
$LN3@Insert@7:

; 115  : 		else if (this->Resize(this->m_items + 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@7

; 116  : 		{
; 117  : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_items++ - index) * sizeof(T));

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

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

	mov	eax, DWORD PTR _obj$[esp+16]
	mov	edx, DWORD PTR [eax]
	mov	esi, DWORD PTR [esi+4]
	mov	DWORD PTR [esi+edi*8], edx
	mov	eax, DWORD PTR [eax+4]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [esi+edi*8+4], eax
$LN1@Insert@7:
	pop	edi
	pop	esi

; 119  : 		}
; 120  : 	}

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

; 123  : 		if (index >= this->m_items)

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

; 124  : 			return;
; 125  : 		if (--this->m_items == 0)

	add	eax, -1
	mov	DWORD PTR [esi+12], eax
	jne	SHORT $LN3@Delete@8

; 126  : 			this->Clear();

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

; 132  : 		}
; 133  : 	}

	ret	4
$LN3@Delete@8:

; 127  : 		else
; 128  : 		{
; 129  : 			if (index < this->m_items)

	cmp	edx, eax
	jae	SHORT $LN1@Delete@8

; 130  : 				memmove(&this->m_vector[index], &this->m_vector[index + 1], (this->m_items - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	sub	eax, edx
	add	eax, eax
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edx*8]
	add	eax, eax
	push	eax
	lea	edx, DWORD PTR [ecx+8]
	push	edx
	push	ecx
	call	_memmove
	add	esp, 12					; 0000000cH
$LN1@Delete@8:

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

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

; 132  : 		}
; 133  : 	}

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

; 27   : 	aVector()

	mov	eax, ecx

; 28   : 	{
; 29   : 		this->m_vector = NULL;

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

; 30   : 		this->m_alloc  = 0;

	mov	DWORD PTR [eax+8], ecx

; 31   : 		this->m_items  = 0;

	mov	DWORD PTR [eax+12], ecx

; 32   : 	};

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

; 64   : 	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@PAVgzWeaponPackClass@@@@QAEAAPAVgzWeaponPackClass@@I@Z ENDP ; aVector<gzWeaponPackClass *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAVgzWeaponPackClass@@@@QBEIXZ	; aVector<gzWeaponPackClass *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAVgzWeaponPackClass@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAVgzWeaponPackClass@@@@QBEIXZ PROC	; aVector<gzWeaponPackClass *>::Count, COMDAT
; _this$ = ecx

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

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

; 67   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

; 69   : 		{
; 70   : //#if (VECTOR_USE_CRT == 1)
; 71   : //			free(this->m_vector);
; 72   : //#else
; 73   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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

; 74   : //#endif
; 75   : 			this->m_vector = NULL;

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

; 76   : 		}
; 77   : 		this->m_alloc = 0;
; 78   : 		this->m_items = 0;

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

; 79   : 	};

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

; 81   : 	{

	push	esi
	push	edi

; 82   : 		if (this->m_alloc != nSize)

	mov	edi, DWORD PTR _nSize$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [esi+8], edi
	je	SHORT $LN11@Resize@7

; 83   : 		{
; 84   : 			if (nSize > 0)

	test	edi, edi
	jbe	SHORT $LN3@Resize@7
	push	ebx

; 85   : 			{
; 86   : 
; 87   : //#if (VECTOR_USE_CRT == 1)
; 88   : //				this->m_vector = (T *)realloc(this->m_vector, nSize * sizeof(T));
; 89   : //#else
; 90   : 				T* newVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	90					; 0000005aH
	push	OFFSET ??_C@_0CG@EILDPJHO@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

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

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

; 92   : 				{
; 93   : 					memcpy(newVec, this->m_vector, nSize * sizeof(T));

	lea	ecx, DWORD PTR [edi*4]
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 94   : 					delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	94					; 0000005eH
	push	OFFSET ??_C@_0CG@EILDPJHO@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
$LN10@Resize@7:

; 95   : 				}
; 96   : 				this->m_vector = newVec;

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

; 97   : //#endif
; 98   : 
; 99   : 				this->m_alloc = nSize;

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
$LN3@Resize@7:

; 100  : 			}
; 101  : 			else
; 102  : 				this->Clear();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
$LN11@Resize@7:
	pop	edi

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

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

; 107  : 	{

	push	esi
	mov	esi, ecx

; 108  : 		if (this->Resize(this->m_items + 1))

	mov	ecx, DWORD PTR [esi+12]
	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@10

; 109  : 			this->m_vector[this->m_items++] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	eax, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [edx]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4], edx
	add	DWORD PTR [esi+12], 1
$LN1@Add@10:
	pop	esi

; 110  : 	}

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

; 112  : 	{

	push	esi
	mov	esi, ecx

; 113  : 		if (index > this->m_items)

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

; 114  : 			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

; 119  : 		}
; 120  : 	}

	ret	8
$LN3@Insert@8:

; 115  : 		else if (this->Resize(this->m_items + 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@8

; 116  : 		{
; 117  : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_items++ - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, ecx
	add	ecx, 1
	sub	eax, edi
	mov	DWORD PTR [esi+12], ecx
	mov	ecx, DWORD PTR [esi+4]
	add	eax, eax
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edi*4]
	push	eax
	push	ecx
	add	ecx, 4
	push	ecx
	call	_memmove

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

	mov	eax, DWORD PTR _obj$[esp+16]
	mov	edx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [edx+edi*4], ecx
$LN1@Insert@8:
	pop	edi
	pop	esi

; 119  : 		}
; 120  : 	}

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

; 123  : 		if (index >= this->m_items)

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

; 124  : 			return;
; 125  : 		if (--this->m_items == 0)

	add	eax, -1
	mov	DWORD PTR [esi+12], eax
	jne	SHORT $LN3@Delete@9

; 126  : 			this->Clear();

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

; 132  : 		}
; 133  : 	}

	ret	4
$LN3@Delete@9:

; 127  : 		else
; 128  : 		{
; 129  : 			if (index < this->m_items)

	cmp	edx, eax
	jae	SHORT $LN1@Delete@9

; 130  : 				memmove(&this->m_vector[index], &this->m_vector[index + 1], (this->m_items - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	sub	eax, edx
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edx*4]
	add	eax, eax
	push	eax
	lea	edx, DWORD PTR [ecx+4]
	push	edx
	push	ecx
	call	_memmove
	add	esp, 12					; 0000000cH
$LN1@Delete@9:

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

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	call	edx
$LN2@Delete@9:
	pop	esi

; 132  : 		}
; 133  : 	}

	ret	4
?Delete@?$aVector@PAVgzWeaponPackClass@@@@UAEXI@Z ENDP	; aVector<gzWeaponPackClass *>::Delete
_TEXT	ENDS
PUBLIC	??A?$aVector@PAVgzWeaponDropClass@@@@QAEAAPAVgzWeaponDropClass@@I@Z ; aVector<gzWeaponDropClass *>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$aVector@PAVgzWeaponDropClass@@@@QAEAAPAVgzWeaponDropClass@@I@Z
_TEXT	SEGMENT
_nPos$ = 8						; size = 4
??A?$aVector@PAVgzWeaponDropClass@@@@QAEAAPAVgzWeaponDropClass@@I@Z PROC ; aVector<gzWeaponDropClass *>::operator[], COMDAT
; _this$ = ecx

; 64   : 	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@PAVgzWeaponDropClass@@@@QAEAAPAVgzWeaponDropClass@@I@Z ENDP ; aVector<gzWeaponDropClass *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@PAVgzWeaponDropClass@@@@QBEIXZ	; aVector<gzWeaponDropClass *>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@PAVgzWeaponDropClass@@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@PAVgzWeaponDropClass@@@@QBEIXZ PROC	; aVector<gzWeaponDropClass *>::Count, COMDAT
; _this$ = ecx

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

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@PAVgzWeaponDropClass@@@@QBEIXZ ENDP	; aVector<gzWeaponDropClass *>::Count
_TEXT	ENDS
PUBLIC	?Index@?$aVector@PAVgzWeaponDropClass@@@@QAEHABQAVgzWeaponDropClass@@@Z ; aVector<gzWeaponDropClass *>::Index
; Function compile flags: /Ogtpy
;	COMDAT ?Index@?$aVector@PAVgzWeaponDropClass@@@@QAEHABQAVgzWeaponDropClass@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Index@?$aVector@PAVgzWeaponDropClass@@@@QAEHABQAVgzWeaponDropClass@@@Z PROC ; aVector<gzWeaponDropClass *>::Index, COMDAT
; _this$ = ecx

; 135  : 	{

	mov	edx, DWORD PTR [ecx+12]

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

	xor	eax, eax
	test	edx, edx
	push	esi
	jbe	SHORT $LN2@Index
	mov	esi, DWORD PTR _obj$[esp]
	mov	esi, DWORD PTR [esi]
	mov	ecx, DWORD PTR [ecx+4]
$LL4@Index:

; 137  : 		{
; 138  : 			if (this->m_vector[i] == obj)

	cmp	DWORD PTR [ecx], esi
	je	SHORT $LN5@Index
	add	eax, 1
	add	ecx, 4
	cmp	eax, edx
	jb	SHORT $LL4@Index
$LN2@Index:

; 139  : 				return i;
; 140  : 		}
; 141  : 		return -1;

	or	eax, -1
$LN5@Index:
	pop	esi

; 142  : 	};

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

; 27   : 	aVector()

	mov	eax, ecx

; 28   : 	{
; 29   : 		this->m_vector = NULL;

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@6B@
	mov	DWORD PTR [eax+4], ecx

; 30   : 		this->m_alloc  = 0;

	mov	DWORD PTR [eax+8], ecx

; 31   : 		this->m_items  = 0;

	mov	DWORD PTR [eax+12], ecx

; 32   : 	};

	ret	0
??0?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@QAE@XZ ENDP ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>
_TEXT	ENDS
PUBLIC	??A?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@QAEAAUhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@I@Z ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@QAEAAUhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@I@Z
_TEXT	SEGMENT
_nPos$ = 8						; size = 4
??A?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@QAEAAUhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@I@Z PROC ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::operator[], COMDAT
; _this$ = ecx

; 64   : 	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*8]
	ret	4
??A?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@QAEAAUhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@I@Z ENDP ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@QBEIXZ ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@QBEIXZ PROC ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::Count, COMDAT
; _this$ = ecx

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

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@QBEIXZ ENDP ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::Count
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Clear@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAEXXZ PROC ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::Clear, COMDAT
; _this$ = ecx

; 67   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

; 69   : 		{
; 70   : //#if (VECTOR_USE_CRT == 1)
; 71   : //			free(this->m_vector);
; 72   : //#else
; 73   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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

; 74   : //#endif
; 75   : 			this->m_vector = NULL;

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

; 76   : 		}
; 77   : 		this->m_alloc = 0;
; 78   : 		this->m_items = 0;

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

; 79   : 	};

	ret	0
?Clear@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAEXXZ ENDP ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::Clear
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Resize@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAE_NI@Z
_TEXT	SEGMENT
_nSize$ = 8						; size = 4
?Resize@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAE_NI@Z PROC ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::Resize, COMDAT
; _this$ = ecx

; 81   : 	{

	push	esi
	push	edi

; 82   : 		if (this->m_alloc != nSize)

	mov	edi, DWORD PTR _nSize$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [esi+8], edi
	je	SHORT $LN11@Resize@8

; 83   : 		{
; 84   : 			if (nSize > 0)

	test	edi, edi
	jbe	SHORT $LN3@Resize@8
	push	ebx

; 85   : 			{
; 86   : 
; 87   : //#if (VECTOR_USE_CRT == 1)
; 88   : //				this->m_vector = (T *)realloc(this->m_vector, nSize * sizeof(T));
; 89   : //#else
; 90   : 				T* newVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	90					; 0000005aH
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 8
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

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

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

; 92   : 				{
; 93   : 					memcpy(newVec, this->m_vector, nSize * sizeof(T));

	lea	ecx, DWORD PTR [edi*8]
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 94   : 					delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	94					; 0000005eH
	push	OFFSET ??_C@_0CG@EILDPJHO@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
$LN10@Resize@8:

; 95   : 				}
; 96   : 				this->m_vector = newVec;

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

; 97   : //#endif
; 98   : 
; 99   : 				this->m_alloc = nSize;

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
$LN3@Resize@8:

; 100  : 			}
; 101  : 			else
; 102  : 				this->Clear();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
$LN11@Resize@8:
	pop	edi

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
?Resize@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAE_NI@Z ENDP ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::Resize
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Add@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAEXABUhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Add@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAEXABUhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@Z PROC ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::Add, COMDAT
; _this$ = ecx

; 107  : 	{

	push	esi
	mov	esi, ecx

; 108  : 		if (this->Resize(this->m_items + 1))

	mov	ecx, DWORD PTR [esi+12]
	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@11

; 109  : 			this->m_vector[this->m_items++] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi+4]
	push	edi
	mov	edi, DWORD PTR [edx]
	mov	DWORD PTR [eax+ecx*8], edi
	mov	edx, DWORD PTR [edx+4]
	mov	DWORD PTR [eax+ecx*8+4], edx
	add	DWORD PTR [esi+12], 1
	pop	edi
$LN1@Add@11:
	pop	esi

; 110  : 	}

	ret	4
?Add@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAEXABUhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@Z ENDP ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::Add
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Insert@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAEXIABUhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
_obj$ = 12						; size = 4
?Insert@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAEXIABUhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@Z PROC ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::Insert, COMDAT
; _this$ = ecx

; 112  : 	{

	push	esi
	mov	esi, ecx

; 113  : 		if (index > this->m_items)

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

; 114  : 			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

; 119  : 		}
; 120  : 	}

	ret	8
$LN3@Insert@9:

; 115  : 		else if (this->Resize(this->m_items + 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@9

; 116  : 		{
; 117  : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_items++ - index) * sizeof(T));

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

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

	mov	eax, DWORD PTR _obj$[esp+16]
	mov	edx, DWORD PTR [eax]
	mov	esi, DWORD PTR [esi+4]
	mov	DWORD PTR [esi+edi*8], edx
	mov	eax, DWORD PTR [eax+4]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [esi+edi*8+4], eax
$LN1@Insert@9:
	pop	edi
	pop	esi

; 119  : 		}
; 120  : 	}

	ret	8
?Insert@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAEXIABUhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@Z ENDP ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::Insert
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAEXI@Z PROC ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::Delete, COMDAT
; _this$ = ecx

; 123  : 		if (index >= this->m_items)

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

; 124  : 			return;
; 125  : 		if (--this->m_items == 0)

	add	eax, -1
	mov	DWORD PTR [esi+12], eax
	jne	SHORT $LN3@Delete@10

; 126  : 			this->Clear();

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

; 132  : 		}
; 133  : 	}

	ret	4
$LN3@Delete@10:

; 127  : 		else
; 128  : 		{
; 129  : 			if (index < this->m_items)

	cmp	edx, eax
	jae	SHORT $LN1@Delete@10

; 130  : 				memmove(&this->m_vector[index], &this->m_vector[index + 1], (this->m_items - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	sub	eax, edx
	add	eax, eax
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edx*8]
	add	eax, eax
	push	eax
	lea	edx, DWORD PTR [ecx+8]
	push	edx
	push	ecx
	call	_memmove
	add	esp, 12					; 0000000cH
$LN1@Delete@10:

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

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	call	edx
$LN2@Delete@10:
	pop	esi

; 132  : 		}
; 133  : 	}

	ret	4
?Delete@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAEXI@Z ENDP ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::Delete
_TEXT	ENDS
PUBLIC	?GetNext@?$aListNode@UgzTranslateItem@@@@QAEPAV1@XZ ; aListNode<gzTranslateItem>::GetNext
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\alist.h
;	COMDAT ?GetNext@?$aListNode@UgzTranslateItem@@@@QAEPAV1@XZ
_TEXT	SEGMENT
?GetNext@?$aListNode@UgzTranslateItem@@@@QAEPAV1@XZ PROC ; aListNode<gzTranslateItem>::GetNext, COMDAT
; _this$ = ecx

; 14   : 	aListNode<T>* GetNext() { return this->m_nextNode; };

	mov	eax, DWORD PTR [ecx]
	ret	0
?GetNext@?$aListNode@UgzTranslateItem@@@@QAEPAV1@XZ ENDP ; aListNode<gzTranslateItem>::GetNext
_TEXT	ENDS
PUBLIC	?GetData@?$aListNode@UgzTranslateItem@@@@QAEPAUgzTranslateItem@@XZ ; aListNode<gzTranslateItem>::GetData
; Function compile flags: /Ogtpy
;	COMDAT ?GetData@?$aListNode@UgzTranslateItem@@@@QAEPAUgzTranslateItem@@XZ
_TEXT	SEGMENT
?GetData@?$aListNode@UgzTranslateItem@@@@QAEPAUgzTranslateItem@@XZ PROC ; aListNode<gzTranslateItem>::GetData, COMDAT
; _this$ = ecx

; 15   : 	T* GetData() { return this->data; };

	mov	eax, DWORD PTR [ecx+4]
	ret	0
?GetData@?$aListNode@UgzTranslateItem@@@@QAEPAUgzTranslateItem@@XZ ENDP ; aListNode<gzTranslateItem>::GetData
_TEXT	ENDS
PUBLIC	??_7?$nc_ScriptRegistrant@VgzObserverBeacon@@@@6B@ ; nc_ScriptRegistrant<gzObserverBeacon>::`vftable'
PUBLIC	??0?$nc_ScriptRegistrant@VgzObserverBeacon@@@@QAE@PAD0@Z ; nc_ScriptRegistrant<gzObserverBeacon>::nc_ScriptRegistrant<gzObserverBeacon>
PUBLIC	??_R4?$nc_ScriptRegistrant@VgzObserverBeacon@@@@6B@ ; nc_ScriptRegistrant<gzObserverBeacon>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$nc_ScriptRegistrant@VgzObserverBeacon@@@@@8 ; nc_ScriptRegistrant<gzObserverBeacon> `RTTI Type Descriptor'
PUBLIC	??_R3?$nc_ScriptRegistrant@VgzObserverBeacon@@@@8 ; nc_ScriptRegistrant<gzObserverBeacon>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$nc_ScriptRegistrant@VgzObserverBeacon@@@@8 ; nc_ScriptRegistrant<gzObserverBeacon>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverBeacon@@@@8 ; nc_ScriptRegistrant<gzObserverBeacon>::`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@VgzObserverBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ ; nc_ScriptRegistrant<gzObserverBeacon>::Create
EXTRN	??0nc_ScriptFactory@@QAE@PAD0@Z:PROC		; nc_ScriptFactory::nc_ScriptFactory
EXTRN	??_E?$nc_ScriptRegistrant@VgzObserverBeacon@@@@UAEPAXI@Z:PROC ; nc_ScriptRegistrant<gzObserverBeacon>::`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@VgzObserverBeacon@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverBeacon@@@@8 DD FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverBeacon@@@@@8 ; nc_ScriptRegistrant<gzObserverBeacon>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverBeacon@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$nc_ScriptRegistrant@VgzObserverBeacon@@@@8
rdata$r	SEGMENT
??_R2?$nc_ScriptRegistrant@VgzObserverBeacon@@@@8 DD FLAT:??_R1A@?0A@EA@?$nc_ScriptRegistrant@VgzObserverBeacon@@@@8 ; nc_ScriptRegistrant<gzObserverBeacon>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@nc_ScriptFactory@@8
rdata$r	ENDS
;	COMDAT ??_R3?$nc_ScriptRegistrant@VgzObserverBeacon@@@@8
rdata$r	SEGMENT
??_R3?$nc_ScriptRegistrant@VgzObserverBeacon@@@@8 DD 00H ; nc_ScriptRegistrant<gzObserverBeacon>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$nc_ScriptRegistrant@VgzObserverBeacon@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$nc_ScriptRegistrant@VgzObserverBeacon@@@@@8
_DATA	SEGMENT
??_R0?AV?$nc_ScriptRegistrant@VgzObserverBeacon@@@@@8 DD FLAT:??_7type_info@@6B@ ; nc_ScriptRegistrant<gzObserverBeacon> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$nc_ScriptRegistrant@VgzObserverBeacon@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$nc_ScriptRegistrant@VgzObserverBeacon@@@@6B@
rdata$r	SEGMENT
??_R4?$nc_ScriptRegistrant@VgzObserverBeacon@@@@6B@ DD 00H ; nc_ScriptRegistrant<gzObserverBeacon>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$nc_ScriptRegistrant@VgzObserverBeacon@@@@@8
	DD	FLAT:??_R3?$nc_ScriptRegistrant@VgzObserverBeacon@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$nc_ScriptRegistrant@VgzObserverBeacon@@@@6B@
CONST	SEGMENT
??_7?$nc_ScriptRegistrant@VgzObserverBeacon@@@@6B@ DD FLAT:??_R4?$nc_ScriptRegistrant@VgzObserverBeacon@@@@6B@ ; nc_ScriptRegistrant<gzObserverBeacon>::`vftable'
	DD	FLAT:??_E?$nc_ScriptRegistrant@VgzObserverBeacon@@@@UAEPAXI@Z
	DD	FLAT:?Create@?$nc_ScriptRegistrant@VgzObserverBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$nc_ScriptRegistrant@VgzObserverBeacon@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$nc_ScriptRegistrant@VgzObserverBeacon@@@@QAE@PAD0@Z PROC ; nc_ScriptRegistrant<gzObserverBeacon>::nc_ScriptRegistrant<gzObserverBeacon>, 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@VgzObserverBeacon@@@@6B@

; 466  : 	}

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

; 466  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$nc_ScriptRegistrant@VgzObserverC4@@@@QAE@PAD0@Z ENDP ; nc_ScriptRegistrant<gzObserverC4>::nc_ScriptRegistrant<gzObserverC4>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??0bad_alloc@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0bad_alloc@std@@QAE@ABV01@@Z PROC			; std::bad_alloc::bad_alloc, COMDAT
; _this$ = ecx
	mov	eax, DWORD PTR ___that$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	??0exception@std@@QAE@ABV01@@Z		; std::exception::exception
	mov	DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@
	mov	eax, esi
	pop	esi
	ret	4
??0bad_alloc@std@@QAE@ABV01@@Z ENDP			; std::bad_alloc::bad_alloc
_TEXT	ENDS
PUBLIC	??_H@YGXPAXIHP6EPAX0@Z@Z			; `vector constructor iterator'
; Function compile flags: /Ogtpy
;	COMDAT ??_H@YGXPAXIHP6EPAX0@Z@Z
_TEXT	SEGMENT
___t$ = 8						; size = 4
___s$ = 12						; size = 4
___n$ = 16						; size = 4
___f$ = 20						; size = 4
??_H@YGXPAXIHP6EPAX0@Z@Z PROC				; `vector constructor iterator', COMDAT
	push	edi
	mov	edi, DWORD PTR ___n$[esp]
	sub	edi, 1
	js	SHORT $LN1@vector
	push	ebx
	mov	ebx, DWORD PTR ___f$[esp+4]
	push	ebp
	mov	ebp, DWORD PTR ___s$[esp+8]
	push	esi
	mov	esi, DWORD PTR ___t$[esp+12]
	npad	7
$LL2@vector:
	mov	ecx, esi
	call	ebx
	add	esi, ebp
	sub	edi, 1
	jns	SHORT $LL2@vector
	pop	esi
	pop	ebp
	pop	ebx
$LN1@vector:
	pop	edi
	ret	16					; 00000010H
??_H@YGXPAXIHP6EPAX0@Z@Z ENDP				; `vector constructor iterator'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzObserverBeacon@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzObserverBeacon@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzObserverBeacon>::`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@VgzObserverBeacon@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzObserverBeacon>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$nc_ScriptRegistrant@VgzObserverC4@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$nc_ScriptRegistrant@VgzObserverC4@@@@UAEPAXI@Z PROC ; nc_ScriptRegistrant<gzObserverC4>::`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@VgzObserverC4@@@@UAEPAXI@Z ENDP ; nc_ScriptRegistrant<gzObserverC4>::`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 (x86)\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	?Add@?$aStringArrayBase@VaWideString@@@@QAEXVaWideString@@@Z ; aStringArrayBase<aWideString>::Add
;	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
	push	edi
	mov	esi, ecx

; 93   : 		content.GetData()->IncRef();

	mov	ecx, DWORD PTR _content$[esp+20]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	?IncRef@aStringData@@QAEXXZ		; aStringData::IncRef

; 94   : 		this->aVector<aStringData *>::Add(content.GetData());

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	mov	edi, DWORD PTR _content$[esp+20]
	add	ecx, 1
	push	ecx
	mov	ecx, esi
	call	edx
	test	al, al
	je	SHORT $LN8@Add@12
	mov	eax, DWORD PTR [esi+12]
	mov	ecx, DWORD PTR [esi+4]
	mov	DWORD PTR [ecx+eax*4], edi
	add	DWORD PTR [esi+12], 1
$LN8@Add@12:

; 95   : 	};

	lea	ecx, DWORD PTR _content$[esp+16]
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	pop	edi
	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 (x86)\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	??$_Pow_int@M@@YAMMH@Z				; _Pow_int<float>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 8\vc\include\math.h
;	COMDAT ??$_Pow_int@M@@YAMMH@Z
_TEXT	SEGMENT
__X$ = 8						; size = 4
__Y$ = 12						; size = 4
??$_Pow_int@M@@YAMMH@Z PROC				; _Pow_int<float>, COMDAT

; 475  :         if (_Y >= 0)

	mov	ecx, DWORD PTR __Y$[esp-4]
	test	ecx, ecx

; 476  :                 _N = (unsigned int)_Y;

	mov	eax, ecx

; 477  :         else

	jge	SHORT $LN6@Pow_int

; 478  :                 _N = (unsigned int)(-_Y);

	neg	eax
$LN6@Pow_int:

; 479  :         for (_Ty _Z = _Ty(1); ; _X *= _X)

	fld1
	fld	ST(0)
	fld	DWORD PTR __X$[esp-4]
$LN5@Pow_int:

; 480  :                 {if ((_N & 1) != 0)

	test	al, 1
	je	SHORT $LN2@Pow_int

; 481  :                         _Z *= _X;

	fmul	ST(1), ST(0)
$LN2@Pow_int:

; 482  :                 if ((_N >>= 1) == 0)

	shr	eax, 1
	je	SHORT $LN20@Pow_int

; 479  :         for (_Ty _Z = _Ty(1); ; _X *= _X)

	fmul	ST(0), ST(0)
	jmp	SHORT $LN5@Pow_int
$LN20@Pow_int:

; 483  :                         return (_Y < 0 ? _Ty(1) / _Z : _Z); }}

	test	ecx, ecx
	fstp	ST(0)
	jge	SHORT $LN23@Pow_int
	fdivp	ST(1), ST(0)
	ret	0
$LN23@Pow_int:
	fstp	ST(1)
	ret	0
??$_Pow_int@M@@YAMMH@Z ENDP				; _Pow_int<float>
_TEXT	ENDS
PUBLIC	??$_DebugHeapDelete@X@std@@YAXPAX@Z		; std::_DebugHeapDelete<void>
EXTRN	_free:PROC
; Function compile flags: /Ogtpy
; File c:\program files (x86)\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	??_7gzObserverBeacon@@6B@			; gzObserverBeacon::`vftable'
PUBLIC	??0gzObserverBeacon@@QAE@XZ			; gzObserverBeacon::gzObserverBeacon
PUBLIC	??_R4gzObserverBeacon@@6B@			; gzObserverBeacon::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzObserverBeacon@@@8			; gzObserverBeacon `RTTI Type Descriptor'
PUBLIC	??_R3gzObserverBeacon@@8			; gzObserverBeacon::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzObserverBeacon@@8			; gzObserverBeacon::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzObserverBeacon@@8		; gzObserverBeacon::`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	?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z ; gzObserverBeacon::Timer_Expired
EXTRN	??0nc_ScriptImpClass@@QAE@XZ:PROC		; nc_ScriptImpClass::nc_ScriptImpClass
EXTRN	??_EgzObserverBeacon@@UAEPAXI@Z:PROC		; gzObserverBeacon::`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	?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@gzObserverBeacon@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzObserverBeacon@@8 DD FLAT:??_R0?AVgzObserverBeacon@@@8 ; gzObserverBeacon::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzObserverBeacon@@8
rdata$r	ENDS
;	COMDAT ??_R2gzObserverBeacon@@8
rdata$r	SEGMENT
??_R2gzObserverBeacon@@8 DD FLAT:??_R1A@?0A@EA@gzObserverBeacon@@8 ; gzObserverBeacon::`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 ??_R3gzObserverBeacon@@8
rdata$r	SEGMENT
??_R3gzObserverBeacon@@8 DD 00H				; gzObserverBeacon::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzObserverBeacon@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzObserverBeacon@@@8
_DATA	SEGMENT
??_R0?AVgzObserverBeacon@@@8 DD FLAT:??_7type_info@@6B@	; gzObserverBeacon `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzObserverBeacon@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzObserverBeacon@@6B@
rdata$r	SEGMENT
??_R4gzObserverBeacon@@6B@ DD 00H			; gzObserverBeacon::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzObserverBeacon@@@8
	DD	FLAT:??_R3gzObserverBeacon@@8
rdata$r	ENDS
;	COMDAT ??_7gzObserverBeacon@@6B@
CONST	SEGMENT
??_7gzObserverBeacon@@6B@ DD FLAT:??_R4gzObserverBeacon@@6B@ ; gzObserverBeacon::`vftable'
	DD	FLAT:??_EgzObserverBeacon@@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@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@gzObserverBeacon@@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@gzObserverBeacon@@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 ??0gzObserverBeacon@@QAE@XZ
_TEXT	SEGMENT
??0gzObserverBeacon@@QAE@XZ PROC			; gzObserverBeacon::gzObserverBeacon, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverBeacon@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzObserverBeacon@@QAE@XZ ENDP			; gzObserverBeacon::gzObserverBeacon
_TEXT	ENDS
PUBLIC	??_7gzObserverC4@@6B@				; gzObserverC4::`vftable'
PUBLIC	??0gzObserverC4@@QAE@XZ				; gzObserverC4::gzObserverC4
PUBLIC	??_R4gzObserverC4@@6B@				; gzObserverC4::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzObserverC4@@@8			; gzObserverC4 `RTTI Type Descriptor'
PUBLIC	??_R3gzObserverC4@@8				; gzObserverC4::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzObserverC4@@8				; gzObserverC4::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzObserverC4@@8			; gzObserverC4::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Created@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@@Z ; gzObserverC4::Created
EXTRN	??_EgzObserverC4@@UAEPAXI@Z:PROC		; gzObserverC4::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzObserverC4@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzObserverC4@@8 DD FLAT:??_R0?AVgzObserverC4@@@8 ; gzObserverC4::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzObserverC4@@8
rdata$r	ENDS
;	COMDAT ??_R2gzObserverC4@@8
rdata$r	SEGMENT
??_R2gzObserverC4@@8 DD FLAT:??_R1A@?0A@EA@gzObserverC4@@8 ; gzObserverC4::`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 ??_R3gzObserverC4@@8
rdata$r	SEGMENT
??_R3gzObserverC4@@8 DD 00H				; gzObserverC4::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2gzObserverC4@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzObserverC4@@@8
_DATA	SEGMENT
??_R0?AVgzObserverC4@@@8 DD FLAT:??_7type_info@@6B@	; gzObserverC4 `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzObserverC4@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzObserverC4@@6B@
rdata$r	SEGMENT
??_R4gzObserverC4@@6B@ DD 00H				; gzObserverC4::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzObserverC4@@@8
	DD	FLAT:??_R3gzObserverC4@@8
rdata$r	ENDS
;	COMDAT ??_7gzObserverC4@@6B@
CONST	SEGMENT
??_7gzObserverC4@@6B@ DD FLAT:??_R4gzObserverC4@@6B@	; gzObserverC4::`vftable'
	DD	FLAT:??_EgzObserverC4@@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@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Destroyed@nc_ScriptImpClass@@UAEXPAVnc_ScriptableGameObj@@@Z
	DD	FLAT:?Killed@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@0@Z
	DD	FLAT:?Damaged@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@0M@Z
	DD	FLAT:?Custom@gzObserverC4@@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@gzObserverC4@@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 ??0gzObserverC4@@QAE@XZ
_TEXT	SEGMENT
??0gzObserverC4@@QAE@XZ PROC				; gzObserverC4::gzObserverC4, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0nc_ScriptImpClass@@QAE@XZ		; nc_ScriptImpClass::nc_ScriptImpClass
	mov	DWORD PTR [esi], OFFSET ??_7gzObserverC4@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzObserverC4@@QAE@XZ ENDP				; gzObserverC4::gzObserverC4
_TEXT	ENDS
PUBLIC	??1gzObserverBeacon@@UAE@XZ			; gzObserverBeacon::~gzObserverBeacon
EXTRN	??1nc_ScriptImpClass@@UAE@XZ:PROC		; nc_ScriptImpClass::~nc_ScriptImpClass
; Function compile flags: /Ogtpy
;	COMDAT ??1gzObserverBeacon@@UAE@XZ
_TEXT	SEGMENT
??1gzObserverBeacon@@UAE@XZ PROC			; gzObserverBeacon::~gzObserverBeacon, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzObserverBeacon@@UAE@XZ ENDP			; gzObserverBeacon::~gzObserverBeacon
_TEXT	ENDS
PUBLIC	??1gzObserverC4@@UAE@XZ				; gzObserverC4::~gzObserverC4
; Function compile flags: /Ogtpy
;	COMDAT ??1gzObserverC4@@UAE@XZ
_TEXT	SEGMENT
??1gzObserverC4@@UAE@XZ PROC				; gzObserverC4::~gzObserverC4, COMDAT
; _this$ = ecx
	jmp	??1nc_ScriptImpClass@@UAE@XZ		; nc_ScriptImpClass::~nc_ScriptImpClass
??1gzObserverC4@@UAE@XZ ENDP				; gzObserverC4::~gzObserverC4
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GaString@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GaString@@UAEPAXI@Z PROC				; aString::`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@4
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@4:
	mov	eax, esi
	pop	esi
	ret	4
??_GaString@@UAEPAXI@Z ENDP				; aString::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?pow@@YAMMH@Z					; pow
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 8\vc\include\math.h
;	COMDAT ?pow@@YAMMH@Z
_TEXT	SEGMENT
__X$ = 8						; size = 4
__Y$ = 12						; size = 4
?pow@@YAMMH@Z PROC					; pow, COMDAT

; 528  :         {return (_Pow_int(_X, _Y)); }

	mov	ecx, DWORD PTR __Y$[esp-4]
	fld	DWORD PTR __X$[esp-4]
	test	ecx, ecx
	mov	eax, ecx
	jge	SHORT $LN8@pow
	neg	eax
$LN8@pow:
	fld1
	fld	ST(0)
$LN7@pow:
	test	al, 1
	je	SHORT $LN4@pow
	fmul	ST(0), ST(2)
$LN4@pow:
	shr	eax, 1
	je	SHORT $LN26@pow
	fld	ST(2)
	fmulp	ST(3), ST(0)
	jmp	SHORT $LN7@pow
$LN26@pow:
	test	ecx, ecx
	fstp	ST(2)
	jge	SHORT $LN29@pow
	fdivrp	ST(1), ST(0)
	ret	0
$LN29@pow:
	fstp	ST(0)
	ret	0
?pow@@YAMMH@Z ENDP					; pow
_TEXT	ENDS
PUBLIC	??_GgzBackpackSoldierPercentData@@QAEPAXI@Z	; gzBackpackSoldierPercentData::`scalar deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??_GgzBackpackSoldierPercentData@@QAEPAXI@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??_GgzBackpackSoldierPercentData@@QAEPAXI@Z$0
__ehfuncinfo$??_GgzBackpackSoldierPercentData@@QAEPAXI@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??_GgzBackpackSoldierPercentData@@QAEPAXI@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??_GgzBackpackSoldierPercentData@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___flags$ = 8						; size = 4
??_GgzBackpackSoldierPercentData@@QAEPAXI@Z PROC	; gzBackpackSoldierPercentData::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??_GgzBackpackSoldierPercentData@@QAEPAXI@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
	lea	ecx, DWORD PTR [esi+12]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	BYTE PTR ___flags$[esp+16], 1
	je	SHORT $LN14@scalar@5
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN14@scalar@5:
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	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$??_GgzBackpackSoldierPercentData@@QAEPAXI@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??_GgzBackpackSoldierPercentData@@QAEPAXI@Z:
	mov	eax, OFFSET __ehfuncinfo$??_GgzBackpackSoldierPercentData@@QAEPAXI@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??_GgzBackpackSoldierPercentData@@QAEPAXI@Z ENDP	; gzBackpackSoldierPercentData::`scalar deleting destructor'
PUBLIC	??_C@_0M@MKIGABNB@gzSpectator?$AA@		; `string'
PUBLIC	?Object_C4Detonate@gzWeaponManager@@UAEXAAVgzEventObjectC4Detonation@@@Z ; gzWeaponManager::Object_C4Detonate
EXTRN	_stricmp:PROC
;	COMDAT ??_C@_0M@MKIGABNB@gzSpectator?$AA@
; File d:\source code\fds lib\new\fds_vector.h
CONST	SEGMENT
??_C@_0M@MKIGABNB@gzSpectator?$AA@ DB 'gzSpectator', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
CONST	ENDS
;	COMDAT ?Object_C4Detonate@gzWeaponManager@@UAEXAAVgzEventObjectC4Detonation@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Object_C4Detonate@gzWeaponManager@@UAEXAAVgzEventObjectC4Detonation@@@Z PROC ; gzWeaponManager::Object_C4Detonate, COMDAT
; _this$ = ecx

; 243  : {

	push	esi

; 244  : 	if (evt.m_explodeBy)

	mov	esi, DWORD PTR _evt$[esp]
	cmp	DWORD PTR [esi+28], 0
	push	edi
	je	SHORT $LN5@Object_C4D

; 245  : 	{
; 246  : 		// Spectator is not supposed to let proximity C4 detonate
; 247  : 		if (evt.m_C4->AmmoDef->AmmoType.Get() == 3)

	mov	eax, DWORD PTR [esi+24]
	mov	ecx, DWORD PTR [eax+1992]
	add	ecx, 140				; 0000008cH
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	cmp	eax, 3
	jne	SHORT $LN5@Object_C4D

; 248  : 		{
; 249  : 			for (int i = 0; i < evt.m_explodeBy->Observers.Count(); i++)

	mov	ecx, DWORD PTR [esi+28]
	xor	edi, edi
	cmp	DWORD PTR [ecx+1784], edi
	jle	SHORT $LN5@Object_C4D
$LL7@Object_C4D:

; 250  : 			{
; 251  : 				if (!stricmp(evt.m_explodeBy->Observers[i]->Get_Name(), "gzSpectator"))

	mov	edx, DWORD PTR [esi+28]
	mov	eax, DWORD PTR [edx+1776]
	mov	ecx, DWORD PTR [eax+edi*4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+4]
	push	OFFSET ??_C@_0M@MKIGABNB@gzSpectator?$AA@
	call	eax
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $LN26@Object_C4D
	mov	ecx, DWORD PTR [esi+28]
	add	edi, 1
	cmp	edi, DWORD PTR [ecx+1784]
	jl	SHORT $LL7@Object_C4D
$LN5@Object_C4D:

; 254  : 					return;
; 255  : 				}
; 256  : 			}
; 257  : 		}
; 258  : 	}
; 259  : 
; 260  : 	// Notify observers for C4 detonation
; 261  : 	for (int i = 0; i < evt.m_C4->Observers.Count(); i++)

	mov	edx, DWORD PTR [esi+24]
	xor	edi, edi
	cmp	DWORD PTR [edx+1784], edi
	jle	SHORT $LN1@Object_C4D
	push	ebx
$LL3@Object_C4D:

; 262  : 		evt.m_C4->Observers[i]->Custom(evt.m_C4, 3101, 0, evt.m_explodeBy);

	mov	eax, DWORD PTR [esi+24]
	mov	ebx, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR [eax+1776]
	mov	ecx, DWORD PTR [ecx+edi*4]
	mov	edx, DWORD PTR [ecx]
	push	ebx
	push	0
	push	3101					; 00000c1dH
	push	eax
	mov	eax, DWORD PTR [edx+32]
	call	eax
	mov	ecx, DWORD PTR [esi+24]
	add	edi, 1
	cmp	edi, DWORD PTR [ecx+1784]
	jl	SHORT $LL3@Object_C4D
	pop	ebx
$LN1@Object_C4D:
	pop	edi
	pop	esi

; 263  : }

	ret	4
$LN26@Object_C4D:
	pop	edi

; 252  : 				{
; 253  : 					evt.Skip();

	mov	BYTE PTR [esi+32], 0
	pop	esi

; 263  : }

	ret	4
?Object_C4Detonate@gzWeaponManager@@UAEXAAVgzEventObjectC4Detonation@@@Z ENDP ; gzWeaponManager::Object_C4Detonate
_TEXT	ENDS
PUBLIC	__real@bf800000
PUBLIC	??_7gzBackpackClass@@6BgzManagerEvent@@@	; gzBackpackClass::`vftable'
PUBLIC	??_7gzBackpackClass@@6BEventHandler@@@		; gzBackpackClass::`vftable'
PUBLIC	??0gzBackpackClass@@QAE@XZ			; gzBackpackClass::gzBackpackClass
PUBLIC	??_R4gzBackpackClass@@6BEventHandler@@@		; gzBackpackClass::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzBackpackClass@@@8			; gzBackpackClass `RTTI Type Descriptor'
PUBLIC	??_R3gzBackpackClass@@8				; gzBackpackClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzBackpackClass@@8				; gzBackpackClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzBackpackClass@@8		; gzBackpackClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@EventHandler@@8			; EventHandler::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVEventHandler@@@8			; EventHandler `RTTI Type Descriptor'
PUBLIC	??_R3EventHandler@@8				; EventHandler::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2EventHandler@@8				; EventHandler::`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	??_R1CE@?0A@EA@gzManagerEvent@@8		; gzManagerEvent::`RTTI Base Class Descriptor at (36,-1,0,64)'
PUBLIC	?GetName@gzBackpackClass@@UAEPBDXZ		; gzBackpackClass::GetName
PUBLIC	?Level_Loaded@EventHandler@@UAEXXZ		; EventHandler::Level_Loaded
PUBLIC	?Level_Ended@EventHandler@@UAEXXZ		; EventHandler::Level_Ended
PUBLIC	?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ; EventHandler::Player_Joined
PUBLIC	?Player_Left@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ; EventHandler::Player_Left
PUBLIC	?Player_Purchase@EventHandler@@UAEXAAVgzEventPlayerPurchase@@@Z ; EventHandler::Player_Purchase
PUBLIC	?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z ; EventHandler::Player_BandwidthChange
PUBLIC	?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ; EventHandler::Player_Suicide
PUBLIC	?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ; EventHandler::Player_TeamChange
PUBLIC	?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z ; EventHandler::Player_Chat
PUBLIC	?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z ; EventHandler::Player_Radio
PUBLIC	?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z ; EventHandler::Player_SerialHash
PUBLIC	?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z ; EventHandler::Player_RawDamage
PUBLIC	?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z ; EventHandler::Object_Created
PUBLIC	?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z ; EventHandler::Object_Init
PUBLIC	?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z ; EventHandler::Object_Damaged
PUBLIC	?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z ; EventHandler::Object_Killed
PUBLIC	?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z ; EventHandler::Object_Transition
PUBLIC	?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z ; EventHandler::Object_JumpStart
PUBLIC	?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z ; EventHandler::Object_JumpComplete
PUBLIC	?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z ; EventHandler::Object_SoldierSquished
PUBLIC	?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z ; EventHandler::Object_C4Creation
PUBLIC	?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z ; EventHandler::Object_C4Detonate
PUBLIC	?Object_PowerupGrant@gzBackpackClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z ; gzBackpackClass::Object_PowerupGrant
PUBLIC	?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z ; EventHandler::Object_Fire
PUBLIC	?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z ; EventHandler::Object_FlipKill
PUBLIC	?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z ; EventHandler::Net_WolPage
PUBLIC	?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z ; EventHandler::Net_SerialAuth
PUBLIC	?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z ; EventHandler::Bhs_Poke
PUBLIC	?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z ; EventHandler::Bhs_Version
PUBLIC	??_R4gzBackpackClass@@6BgzManagerEvent@@@	; gzBackpackClass::`RTTI Complete Object Locator'
PUBLIC	?GetName@gzBackpackClass@@WCE@AEPBDXZ		; [thunk]:gzBackpackClass::GetName`adjustor{36}'
EXTRN	?SetChildOwner@gzBase@@QAEXPAVgzManagerEvent@@@Z:PROC ; gzBase::SetChildOwner
EXTRN	?RegisterEvent@EventHandler@@QAEXHH@Z:PROC	; EventHandler::RegisterEvent
EXTRN	??0EventHandler@@QAE@XZ:PROC			; EventHandler::EventHandler
EXTRN	??_EgzBackpackClass@@UAEPAXI@Z:PROC		; gzBackpackClass::`vector deleting destructor'
EXTRN	?SetDeletePending@gzBase@@UAEXXZ:PROC		; gzBase::SetDeletePending
;	COMDAT ??_R4gzBackpackClass@@6BgzManagerEvent@@@
rdata$r	SEGMENT
??_R4gzBackpackClass@@6BgzManagerEvent@@@ DD 00H	; gzBackpackClass::`RTTI Complete Object Locator'
	DD	024H
	DD	00H
	DD	FLAT:??_R0?AVgzBackpackClass@@@8
	DD	FLAT:??_R3gzBackpackClass@@8
rdata$r	ENDS
;	COMDAT ??_R1CE@?0A@EA@gzManagerEvent@@8
rdata$r	SEGMENT
??_R1CE@?0A@EA@gzManagerEvent@@8 DD FLAT:??_R0?AVgzManagerEvent@@@8 ; gzManagerEvent::`RTTI Base Class Descriptor at (36,-1,0,64)'
	DD	00H
	DD	024H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_R2gzBase@@8
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 ??_R2EventHandler@@8
rdata$r	SEGMENT
??_R2EventHandler@@8 DD FLAT:??_R1A@?0A@EA@EventHandler@@8 ; EventHandler::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3EventHandler@@8
rdata$r	SEGMENT
??_R3EventHandler@@8 DD 00H				; EventHandler::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2EventHandler@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVEventHandler@@@8
_DATA	SEGMENT
??_R0?AVEventHandler@@@8 DD FLAT:??_7type_info@@6B@	; EventHandler `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVEventHandler@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@EventHandler@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@EventHandler@@8 DD FLAT:??_R0?AVEventHandler@@@8 ; EventHandler::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3EventHandler@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzBackpackClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzBackpackClass@@8 DD FLAT:??_R0?AVgzBackpackClass@@@8 ; gzBackpackClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzBackpackClass@@8
rdata$r	ENDS
;	COMDAT ??_R2gzBackpackClass@@8
rdata$r	SEGMENT
??_R2gzBackpackClass@@8 DD FLAT:??_R1A@?0A@EA@gzBackpackClass@@8 ; gzBackpackClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@EventHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
	DD	FLAT:??_R1CE@?0A@EA@gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_R3gzBackpackClass@@8
rdata$r	SEGMENT
??_R3gzBackpackClass@@8 DD 00H				; gzBackpackClass::`RTTI Class Hierarchy Descriptor'
	DD	01H
	DD	04H
	DD	FLAT:??_R2gzBackpackClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzBackpackClass@@@8
_DATA	SEGMENT
??_R0?AVgzBackpackClass@@@8 DD FLAT:??_7type_info@@6B@	; gzBackpackClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzBackpackClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzBackpackClass@@6BEventHandler@@@
rdata$r	SEGMENT
??_R4gzBackpackClass@@6BEventHandler@@@ DD 00H		; gzBackpackClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzBackpackClass@@@8
	DD	FLAT:??_R3gzBackpackClass@@8
rdata$r	ENDS
;	COMDAT __real@bf800000
CONST	SEGMENT
__real@bf800000 DD 0bf800000r			; -1
CONST	ENDS
;	COMDAT ??_7gzBackpackClass@@6BgzManagerEvent@@@
CONST	SEGMENT
??_7gzBackpackClass@@6BgzManagerEvent@@@ DD FLAT:??_R4gzBackpackClass@@6BgzManagerEvent@@@ ; gzBackpackClass::`vftable'
	DD	FLAT:?GetName@gzBackpackClass@@WCE@AEPBDXZ
	DD	FLAT:?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z
	DD	FLAT:?ChildObjDeletion@gzBackpackClass@@UAEXPAVgzBase@@@Z
CONST	ENDS
;	COMDAT ??_7gzBackpackClass@@6BEventHandler@@@
CONST	SEGMENT
??_7gzBackpackClass@@6BEventHandler@@@ DD FLAT:??_R4gzBackpackClass@@6BEventHandler@@@ ; gzBackpackClass::`vftable'
	DD	FLAT:??_EgzBackpackClass@@UAEPAXI@Z
	DD	FLAT:?GetName@gzBackpackClass@@UAEPBDXZ
	DD	FLAT:?Delete@gzBackpackClass@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@EventHandler@@UAEXXZ
	DD	FLAT:?Level_Ended@EventHandler@@UAEXXZ
	DD	FLAT:?Think@gzBackpackClass@@UAEXXZ
	DD	FLAT:?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@EventHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@gzBackpackClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzBackpackClass@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzBackpackClass@@QAE@XZ$0
__ehfuncinfo$??0gzBackpackClass@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0gzBackpackClass@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzBackpackClass@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzBackpackClass@@QAE@XZ PROC				; gzBackpackClass::gzBackpackClass, COMDAT
; _this$ = ecx

; 270  : {

	push	-1
	push	__ehhandler$??0gzBackpackClass@@QAE@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
	call	??0EventHandler@@QAE@XZ			; EventHandler::EventHandler
	xor	edi, edi

; 271  : 	this->RegisterEvent(EVT_GAME_THINK);

	push	edi
	mov	DWORD PTR [esi+36], OFFSET ??_7gzManagerEvent@@6B@
	push	4098					; 00001002H
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+40], edi
	mov	DWORD PTR [esi], OFFSET ??_7gzBackpackClass@@6BEventHandler@@@
	mov	DWORD PTR [esi+36], OFFSET ??_7gzBackpackClass@@6BgzManagerEvent@@@
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 272  : 	this->RegisterEvent(EVT_OBJECT_POWERUP_GRANT);

	push	edi
	push	12304					; 00003010H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 273  : 
; 274  : 	this->SetChildOwner(gzBackpackMgr);

	mov	eax, DWORD PTR ?gzBackpackMgr@@3PAVgzBackpackManager@@A ; gzBackpackMgr
	cmp	eax, edi
	je	SHORT $LN3@gzBackpack
	add	eax, 36					; 00000024H
	jmp	SHORT $LN4@gzBackpack
$LN3@gzBackpack:
	xor	eax, eax
$LN4@gzBackpack:
	push	eax
	mov	ecx, esi
	call	?SetChildOwner@gzBase@@QAEXPAVgzManagerEvent@@@Z ; gzBase::SetChildOwner

; 275  : 
; 276  : 	this->m_pack				= NULL;
; 277  : 	this->m_canExpire			= (gzWeaponMgr->m_settings->Backpack.Live == -1.0f);

	fld	DWORD PTR __real@bf800000
	mov	DWORD PTR [esi+40], edi
	mov	eax, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	ecx, DWORD PTR [eax+40]
	fcom	DWORD PTR [ecx+84]
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $LN5@gzBackpack
	mov	eax, 1
	jmp	SHORT $LN6@gzBackpack
$LN5@gzBackpack:
	xor	eax, eax
$LN6@gzBackpack:

; 278  : 	this->m_backpackId			= 0;
; 279  : 	this->m_effectId			= 0;
; 280  : 	this->m_owner				= NULL;
; 281  : 	this->m_ownerExpireCounter	= -1.0f;
; 282  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	fstp	DWORD PTR [esi+48]
	mov	DWORD PTR [esi+64], edi
	mov	DWORD PTR [esi+52], edi
	mov	DWORD PTR [esi+44], edi
	mov	BYTE PTR [esi+56], al
	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$??0gzBackpackClass@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
__ehhandler$??0gzBackpackClass@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzBackpackClass@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzBackpackClass@@QAE@XZ ENDP				; gzBackpackClass::gzBackpackClass
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stevent.h
;	COMDAT ?Level_Loaded@EventHandler@@UAEXXZ
_TEXT	SEGMENT
?Level_Loaded@EventHandler@@UAEXXZ PROC			; EventHandler::Level_Loaded, COMDAT
; _this$ = ecx

; 62   : 	virtual void Level_Loaded()	{ };

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

; 63   : 	virtual void Level_Ended() { };

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

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

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

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

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

; 69   : 	virtual void Player_Purchase(gzEventPlayerPurchase &) { };

	ret	4
?Player_Purchase@EventHandler@@UAEXAAVgzEventPlayerPurchase@@@Z ENDP ; EventHandler::Player_Purchase
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z PROC ; EventHandler::Player_BandwidthChange, COMDAT
; _this$ = ecx

; 70   : 	virtual void Player_BandwidthChange(gzEventPlayerBandwidth &) { };

	ret	4
?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z ENDP ; EventHandler::Player_BandwidthChange
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z PROC ; EventHandler::Player_Suicide, COMDAT
; _this$ = ecx

; 71   : 	virtual void Player_Suicide(gzEventPlayerBase &) { };

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

; 72   : 	virtual void Player_TeamChange(gzEventPlayerBase &) { };

	ret	4
?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z ENDP ; EventHandler::Player_TeamChange
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z PROC ; EventHandler::Player_Chat, COMDAT
; _this$ = ecx

; 73   : 	virtual void Player_Chat(gzEventPlayerChat &) { };

	ret	4
?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z ENDP ; EventHandler::Player_Chat
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z PROC ; EventHandler::Player_Radio, COMDAT
; _this$ = ecx

; 74   : 	virtual void Player_Radio(gzEventPlayerRadio &) { };

	ret	4
?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z ENDP ; EventHandler::Player_Radio
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z PROC ; EventHandler::Player_SerialHash, COMDAT
; _this$ = ecx

; 75   : 	virtual void Player_SerialHash(gzEventPlayerSerialHash &) { };

	ret	4
?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z ENDP ; EventHandler::Player_SerialHash
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z PROC ; EventHandler::Player_RawDamage, COMDAT
; _this$ = ecx

; 76   : 	virtual void Player_RawDamage(gzEventObjectDamage &) { };

	ret	4
?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z ENDP ; EventHandler::Player_RawDamage
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z PROC ; EventHandler::Object_Created, COMDAT
; _this$ = ecx

; 79   : 	virtual void Object_Created(gzEventObjectCreate &) { };

	ret	4
?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z ENDP ; EventHandler::Object_Created
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z PROC ; EventHandler::Object_Init, COMDAT
; _this$ = ecx

; 80   : 	virtual void Object_Init(gzEventObjectInit &) { };

	ret	4
?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z ENDP ; EventHandler::Object_Init
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z PROC ; EventHandler::Object_Damaged, COMDAT
; _this$ = ecx

; 81   : 	virtual void Object_Damaged(gzEventObjectDamage &) { };

	ret	4
?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z ENDP ; EventHandler::Object_Damaged
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z PROC ; EventHandler::Object_Killed, COMDAT
; _this$ = ecx

; 82   : 	virtual void Object_Killed(gzEventObjectKill &) { };

	ret	4
?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z ENDP ; EventHandler::Object_Killed
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z PROC ; EventHandler::Object_Transition, COMDAT
; _this$ = ecx

; 83   : 	virtual void Object_Transition(gzEventObjectTransition &) { };

	ret	4
?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z ENDP ; EventHandler::Object_Transition
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z PROC ; EventHandler::Object_JumpStart, COMDAT
; _this$ = ecx

; 84   : 	virtual void Object_JumpStart(gzEventObjectJump &) { };

	ret	4
?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z ENDP ; EventHandler::Object_JumpStart
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z PROC ; EventHandler::Object_JumpComplete, COMDAT
; _this$ = ecx

; 85   : 	virtual void Object_JumpComplete(gzEventObjectJump &) { };

	ret	4
?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z ENDP ; EventHandler::Object_JumpComplete
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z PROC ; EventHandler::Object_SoldierSquished, COMDAT
; _this$ = ecx

; 86   : 	virtual void Object_SoldierSquished(gzEventObjectKill &) { };

	ret	4
?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z ENDP ; EventHandler::Object_SoldierSquished
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z PROC ; EventHandler::Object_C4Creation, COMDAT
; _this$ = ecx

; 87   : 	virtual void Object_C4Creation(gzEventObjectC4Creation &) { };

	ret	4
?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z ENDP ; EventHandler::Object_C4Creation
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z PROC ; EventHandler::Object_C4Detonate, COMDAT
; _this$ = ecx

; 88   : 	virtual void Object_C4Detonate(gzEventObjectC4Detonation &) { };

	ret	4
?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z ENDP ; EventHandler::Object_C4Detonate
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z PROC ; EventHandler::Object_Fire, COMDAT
; _this$ = ecx

; 90   : 	virtual void Object_Fire(gzEventObjectFire &) { };

	ret	4
?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z ENDP ; EventHandler::Object_Fire
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z PROC ; EventHandler::Object_FlipKill, COMDAT
; _this$ = ecx

; 91   : 	virtual void Object_FlipKill(gzEventObjectFlipKill &) { };

	ret	4
?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z ENDP ; EventHandler::Object_FlipKill
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z PROC ; EventHandler::Net_WolPage, COMDAT
; _this$ = ecx

; 94   : 	virtual void Net_WolPage(gzEventNetWolPage &) { };

	ret	4
?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z ENDP ; EventHandler::Net_WolPage
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z PROC ; EventHandler::Net_SerialAuth, COMDAT
; _this$ = ecx

; 95   : 	virtual void Net_SerialAuth(gzEventNetSerialAuth &) { };

	ret	4
?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z ENDP ; EventHandler::Net_SerialAuth
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z PROC	; EventHandler::Bhs_Poke, COMDAT
; _this$ = ecx

; 98   : 	virtual void Bhs_Poke(gzEventBhsPoke &) { };

	ret	4
?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z ENDP	; EventHandler::Bhs_Poke
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z PROC ; EventHandler::Bhs_Version, COMDAT
; _this$ = ecx

; 99   : 	virtual void Bhs_Version(gzEventBhsVersion &) { };

	ret	4
?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z ENDP ; EventHandler::Bhs_Version
_TEXT	ENDS
PUBLIC	??_C@_0BA@IHJBNIAN@gzBackpackClass?$AA@		; `string'
;	COMDAT ??_C@_0BA@IHJBNIAN@gzBackpackClass?$AA@
; File d:\source code\stgm\stweapon.h
CONST	SEGMENT
??_C@_0BA@IHJBNIAN@gzBackpackClass?$AA@ DB 'gzBackpackClass', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzBackpackClass@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzBackpackClass@@UAEPBDXZ PROC			; gzBackpackClass::GetName, COMDAT
; _this$ = ecx

; 102  : 		return "gzBackpackClass";

	mov	eax, OFFSET ??_C@_0BA@IHJBNIAN@gzBackpackClass?$AA@

; 103  : 	};

	ret	0
?GetName@gzBackpackClass@@UAEPBDXZ ENDP			; gzBackpackClass::GetName
; Function compile flags: /Odtpy
_TEXT	ENDS
;	COMDAT ?GetName@gzBackpackClass@@WCE@AEPBDXZ
_TEXT	SEGMENT
?GetName@gzBackpackClass@@WCE@AEPBDXZ PROC		; [thunk]:gzBackpackClass::GetName`adjustor{36}', COMDAT
	sub	ecx, 36					; 00000024H
	jmp	?GetName@gzBackpackClass@@UAEPBDXZ	; gzBackpackClass::GetName
?GetName@gzBackpackClass@@WCE@AEPBDXZ ENDP		; [thunk]:gzBackpackClass::GetName`adjustor{36}'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzBackpackClass@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzBackpackClass@@UAEPAXI@Z PROC			; gzBackpackClass::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
	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
??_GgzBackpackClass@@UAEPAXI@Z ENDP			; gzBackpackClass::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0CH@DPMFAHB@Removed?5backpack?5?$CFd?5from?5backpac@ ; `string'
PUBLIC	?ChildObjDeletion@gzBackpackManager@@UAEXPAVgzBase@@@Z ; gzBackpackManager::ChildObjDeletion
EXTRN	?DebugLog@@YAXPBDZZ:PROC			; DebugLog
EXTRN	?GetId@gzBase@@QAEHXZ:PROC			; gzBase::GetId
;	COMDAT ??_C@_0CH@DPMFAHB@Removed?5backpack?5?$CFd?5from?5backpac@
; File d:\source code\alib\include\avector.h
CONST	SEGMENT
??_C@_0CH@DPMFAHB@Removed?5backpack?5?$CFd?5from?5backpac@ DB 'Removed ba'
	DB	'ckpack %d from backpackList.', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
CONST	ENDS
;	COMDAT ?ChildObjDeletion@gzBackpackManager@@UAEXPAVgzBase@@@Z
_TEXT	SEGMENT
_backpack$ = 8						; size = 4
?ChildObjDeletion@gzBackpackManager@@UAEXPAVgzBase@@@Z PROC ; gzBackpackManager::ChildObjDeletion, COMDAT
; _this$ = ecx

; 472  : {

	push	esi
	push	edi
	mov	edi, ecx

; 473  : 	for (unsigned int i = 0; i < this->m_backpackList.Count(); i++)

	xor	esi, esi
	cmp	DWORD PTR [edi+16], esi
	jbe	SHORT $LN2@ChildObjDe@2
	push	ebx
	mov	ebx, DWORD PTR _backpack$[esp+8]
	push	ebp
$LL4@ChildObjDe@2:
	mov	eax, DWORD PTR [edi+8]

; 474  : 	{
; 475  : 		if (this->m_backpackList[i]->GetId() == backpack->GetId())

	mov	ecx, DWORD PTR [eax+esi*4]
	lea	eax, DWORD PTR [eax+esi*4]
	call	?GetId@gzBase@@QAEHXZ			; gzBase::GetId
	mov	ecx, ebx
	mov	ebp, eax
	call	?GetId@gzBase@@QAEHXZ			; gzBase::GetId
	cmp	ebp, eax
	je	SHORT $LN12@ChildObjDe@2
	add	esi, 1
	cmp	esi, DWORD PTR [edi+16]
	jb	SHORT $LL4@ChildObjDe@2
	pop	ebp
	pop	ebx
	pop	edi
	pop	esi

; 481  : 			break;
; 482  : 		}
; 483  : 	}
; 484  : }

	ret	4
$LN12@ChildObjDe@2:

; 476  : 		{
; 477  : #ifdef DEVMSG
; 478  : 			DebugLog("Removed backpack %d from backpackList.", backpack->GetId());

	mov	ecx, ebx
	call	?GetId@gzBase@@QAEHXZ			; gzBase::GetId
	push	eax
	push	OFFSET ??_C@_0CH@DPMFAHB@Removed?5backpack?5?$CFd?5from?5backpac@
	call	?DebugLog@@YAXPBDZZ			; DebugLog

; 479  : #endif
; 480  : 			this->m_backpackList.Delete(i);

	mov	edx, DWORD PTR [edi+4]
	mov	eax, DWORD PTR [edx+20]
	lea	ecx, DWORD PTR [edi+4]
	add	esp, 8
	push	esi
	call	eax
	pop	ebp
	pop	ebx
$LN2@ChildObjDe@2:
	pop	edi
	pop	esi

; 481  : 			break;
; 482  : 		}
; 483  : 	}
; 484  : }

	ret	4
?ChildObjDeletion@gzBackpackManager@@UAEXPAVgzBase@@@Z ENDP ; gzBackpackManager::ChildObjDeletion
_TEXT	ENDS
PUBLIC	?Level_Ended@gzBackpackManager@@UAEXXZ		; gzBackpackManager::Level_Ended
; Function compile flags: /Ogtpy
;	COMDAT ?Level_Ended@gzBackpackManager@@UAEXXZ
_TEXT	SEGMENT
?Level_Ended@gzBackpackManager@@UAEXXZ PROC		; gzBackpackManager::Level_Ended, COMDAT
; _this$ = ecx

; 486  : {

	push	esi
	push	edi
	mov	edi, ecx

; 487  : 	for (unsigned int i = 0; i < this->m_backpackList.Count(); i++)

	xor	esi, esi
	cmp	DWORD PTR [edi+52], esi
	jbe	SHORT $LN2@Level_Ende
	npad	5
$LL4@Level_Ende:

; 488  : 	{
; 489  : 		if (this->m_backpackList[i]->GetOwner() == NULL)

	mov	eax, DWORD PTR [edi+44]
	mov	ecx, DWORD PTR [eax+esi*4]
	cmp	DWORD PTR [ecx+44], 0
	jne	SHORT $LN3@Level_Ende

; 490  : 		{
; 491  : 			this->m_backpackList[i]->SetDeletePending();

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

; 492  : 			this->m_backpackList.Delete(i);

	mov	edx, DWORD PTR [edi+40]
	mov	eax, DWORD PTR [edx+20]
	lea	ecx, DWORD PTR [edi+40]
	push	esi
	call	eax

; 493  : 			i--;

	sub	esi, 1
$LN3@Level_Ende:
	add	esi, 1
	cmp	esi, DWORD PTR [edi+52]
	jb	SHORT $LL4@Level_Ende
$LN2@Level_Ende:
	pop	edi
	pop	esi

; 494  : 		}
; 495  : 	}
; 496  : }

	ret	0
?Level_Ended@gzBackpackManager@@UAEXXZ ENDP		; gzBackpackManager::Level_Ended
_TEXT	ENDS
PUBLIC	?Add_Weapon@gzWeaponPackClass@@QAEXPAVnc_DefinitionClass@@@Z ; gzWeaponPackClass::Add_Weapon
; Function compile flags: /Ogtpy
;	COMDAT ?Add_Weapon@gzWeaponPackClass@@QAEXPAVnc_DefinitionClass@@@Z
_TEXT	SEGMENT
_data$59906 = -8					; size = 8
_def$ = 8						; size = 4
?Add_Weapon@gzWeaponPackClass@@QAEXPAVnc_DefinitionClass@@@Z PROC ; gzWeaponPackClass::Add_Weapon, COMDAT
; _this$ = ecx

; 525  : {

	sub	esp, 8
	push	ebx
	push	esi

; 526  : 	if (def)

	mov	esi, DWORD PTR _def$[esp+12]
	test	esi, esi
	mov	ebx, ecx
	je	SHORT $LN11@Add_Weapon

; 527  : 	{
; 528  : 		gzWeaponPackData data;
; 529  : 		switch (def->Get_Class_ID())

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+32]
	mov	ecx, esi
	mov	DWORD PTR _data$59906[esp+16], 0
	mov	DWORD PTR _data$59906[esp+20], 0
	call	edx
	cmp	eax, 12291				; 00003003H
	je	SHORT $LN8@Add_Weapon
	cmp	eax, 45057				; 0000b001H
	jne	SHORT $LN24@Add_Weapon

; 533  : 				break;
; 534  : 
; 535  : 			case 0xB001:
; 536  : 				data.weapon = gzStatic_Cast(nc_WeaponDefinitionClass, def);

	mov	DWORD PTR _data$59906[esp+20], esi

; 537  : 				break;

	jmp	SHORT $LN9@Add_Weapon
$LN8@Add_Weapon:

; 530  : 		{
; 531  : 			case 0x3003: // PowerUpGameObjDef
; 532  : 				data.powerup = gzStatic_Cast(nc_PowerUpGameObjDef, def);

	mov	DWORD PTR _data$59906[esp+16], esi
$LN24@Add_Weapon:

; 537  : 				break;

	mov	esi, DWORD PTR _data$59906[esp+20]
$LN9@Add_Weapon:

; 538  : 		}
; 539  : 
; 540  : 		// Good data?
; 541  : 		if (data.powerup == NULL && data.weapon == NULL)

	cmp	DWORD PTR _data$59906[esp+16], 0
	jne	SHORT $LN6@Add_Weapon
	test	esi, esi
	je	SHORT $LN11@Add_Weapon

; 542  : 			return;
; 543  : 
; 544  : 		// Check for weapon existence
; 545  : 		if (data.weapon)

	jmp	SHORT $LN23@Add_Weapon
$LN6@Add_Weapon:
	test	esi, esi
	je	SHORT $LN2@Add_Weapon
$LN23@Add_Weapon:
	mov	edx, DWORD PTR [ebx+36]

; 546  : 		{
; 547  : 			for (unsigned int i = 0; i < this->m_list.Count(); i++)

	xor	eax, eax
	test	edx, edx
	jbe	SHORT $LN2@Add_Weapon
	mov	ecx, DWORD PTR [ebx+28]
	add	ecx, 4
$LL4@Add_Weapon:

; 548  : 			{
; 549  : 				if (this->m_list[i].weapon == data.weapon)

	cmp	DWORD PTR [ecx], esi
	je	SHORT $LN11@Add_Weapon
	add	eax, 1
	add	ecx, 8
	cmp	eax, edx
	jb	SHORT $LL4@Add_Weapon
$LN2@Add_Weapon:

; 550  : 					return;
; 551  : 			}
; 552  : 		}
; 553  : 
; 554  : 		this->m_list.Add(data);

	mov	eax, DWORD PTR [ebx+24]
	mov	eax, DWORD PTR [eax+12]
	lea	ecx, DWORD PTR [ebx+24]
	lea	edx, DWORD PTR _data$59906[esp+16]
	push	edx
	call	eax
$LN11@Add_Weapon:
	pop	esi
	pop	ebx

; 555  : 	}
; 556  : }

	add	esp, 8
	ret	4
?Add_Weapon@gzWeaponPackClass@@QAEXPAVnc_DefinitionClass@@@Z ENDP ; gzWeaponPackClass::Add_Weapon
_TEXT	ENDS
PUBLIC	?Grant@gzWeaponPackClass@@QAEXXZ		; gzWeaponPackClass::Grant
EXTRN	?Add_Weapon@nc_WeaponBagClass@@QAEXPBVnc_WeaponDefinitionClass@@H_N@Z:PROC ; nc_WeaponBagClass::Add_Weapon
EXTRN	?Grant@nc_PowerUpGameObjDef@@QAEXPAVnc_SmartGameObj@@PAVnc_PowerUpGameObj@@_N@Z:PROC ; nc_PowerUpGameObjDef::Grant
EXTRN	??8aString@@QAE_NPBD@Z:PROC			; aString::operator==
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__unwindtable$?Grant@gzWeaponPackClass@@QAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Grant@gzWeaponPackClass@@QAEXXZ$0
__ehfuncinfo$?Grant@gzWeaponPackClass@@QAEXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Grant@gzWeaponPackClass@@QAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
xdata$x	ENDS
;	COMDAT ?Grant@gzWeaponPackClass@@QAEXXZ
_TEXT	SEGMENT
_weaponBanIndex$59926 = -36				; size = 4
tv226 = -32						; size = 4
_i$59932 = -32						; size = 4
_this$ = -28						; size = 4
$T71066 = -24						; size = 8
__$EHRec$ = -12						; size = 12
?Grant@gzWeaponPackClass@@QAEXXZ PROC			; gzWeaponPackClass::Grant, COMDAT
; _this$ = ecx

; 558  : {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?Grant@gzWeaponPackClass@@QAEXXZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 28					; 0000001cH
	push	ebx
	push	ebp
	push	esi
	mov	esi, ecx

; 559  : 	if (this->m_owner && this->m_owner->GetPlayerData()->Owner.Reference)

	mov	eax, DWORD PTR [esi+40]
	test	eax, eax
	push	edi
	mov	DWORD PTR _this$[esp+56], esi
	je	$LN63@Grant
	mov	eax, DWORD PTR [eax+76]
	cmp	DWORD PTR [eax+20], 0
	je	$LN63@Grant

; 560  : 	{
; 561  : 		int weaponBanIndex = -1;
; 562  : 		for (unsigned int i = 0; i < gzWeaponMgr->m_settings->Weapons.Ban.Count(); i++)

	mov	eax, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	eax, DWORD PTR [eax+40]
	mov	ecx, DWORD PTR [eax+116]
	or	ebp, -1
	xor	edi, edi
	test	ecx, ecx
	mov	DWORD PTR _weaponBanIndex$59926[esp+56], ebp
	jbe	SHORT $LN15@Grant
	npad	8
$LL17@Grant:

; 563  : 		{
; 564  : 			if (gzWeaponMgr->m_settings->Weapons.Ban[i]->Preset == this->m_owner->GetPlayerData()->Owner.Reference->obj->definition->Get_Name())

	mov	ecx, DWORD PTR [esi+40]
	mov	ecx, DWORD PTR [ecx+76]
	mov	edx, DWORD PTR [ecx+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	edx, DWORD PTR [eax+108]
	mov	ecx, DWORD PTR [ecx+1724]
	mov	eax, DWORD PTR [ecx]
	lea	ebx, DWORD PTR [edx+edi*4]
	mov	edx, DWORD PTR [eax+48]
	call	edx
	mov	ecx, DWORD PTR [ebx]
	push	eax
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	SHORT $LN62@Grant
	mov	eax, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	eax, DWORD PTR [eax+40]
	add	edi, 1
	cmp	edi, DWORD PTR [eax+116]
	jb	SHORT $LL17@Grant

; 583  : 						{
; 584  : 							canGrant = false;
; 585  : 							break;
; 586  : 						}
; 587  : 					}
; 588  : 					if (!canGrant)

	jmp	SHORT $LN15@Grant
$LN62@Grant:

; 565  : 			{
; 566  : 				weaponBanIndex = i;

	mov	DWORD PTR _weaponBanIndex$59926[esp+56], edi
	mov	ebp, edi
$LN15@Grant:

; 567  : 				break;
; 568  : 			}
; 569  : 		}
; 570  : 		for (unsigned int i = 0; i < this->m_list.Count(); i++)

	xor	ebx, ebx
	cmp	DWORD PTR [esi+36], ebx
	mov	DWORD PTR _i$59932[esp+56], ebx
	jbe	$LN63@Grant
$LN13@Grant:
	mov	ecx, DWORD PTR [esi+28]

; 571  : 		{
; 572  : 			if (this->m_list[i].powerup)

	cmp	DWORD PTR [ecx+ebx*8], 0
	lea	edi, DWORD PTR [ecx+ebx*8]
	je	SHORT $LN10@Grant

; 573  : 				this->m_list[i].powerup->Grant(this->m_owner->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj(), NULL, true);

	mov	edx, DWORD PTR [esi+40]
	mov	eax, DWORD PTR [edx+76]
	mov	ecx, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	push	1
	push	0
	call	eax
	mov	ecx, DWORD PTR [edi]
	push	eax
	call	?Grant@nc_PowerUpGameObjDef@@QAEXPAVnc_SmartGameObj@@PAVnc_PowerUpGameObj@@_N@Z ; nc_PowerUpGameObjDef::Grant
	jmp	$LN12@Grant
$LN10@Grant:

; 574  : 
; 575  : 			else if (this->m_list[i].weapon)

	cmp	DWORD PTR [edi+4], 0
	je	$LN12@Grant

; 576  : 			{
; 577  : 				bool canGrant = true;
; 578  : 				if (weaponBanIndex > -1)

	cmp	ebp, -1
	jle	$LN69@Grant

; 579  : 				{
; 580  : 					for (unsigned int j = 0; j < gzWeaponMgr->m_settings->Weapons.Ban[weaponBanIndex]->WeaponList.Count(); j++)

	mov	eax, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	ecx, DWORD PTR [eax+40]
	mov	edx, DWORD PTR [ecx+108]
	mov	ecx, DWORD PTR [edx+ebp*4]
	add	eax, 40					; 00000028H
	xor	edi, edi
	cmp	DWORD PTR [ecx+20], edi
	jbe	$LN69@Grant
	jmp	SHORT $LN6@Grant
$LL70@Grant:
	mov	ebp, DWORD PTR _weaponBanIndex$59926[esp+56]
$LN6@Grant:

; 581  : 					{
; 582  : 						if (gzWeaponMgr->m_settings->Weapons.Ban[weaponBanIndex]->WeaponList[j] == this->m_list[i].weapon->Get_Name())

	mov	eax, DWORD PTR [eax]
	mov	eax, DWORD PTR [eax+108]
	mov	edx, DWORD PTR [esi+28]
	mov	esi, DWORD PTR [edx+ebx*8+4]
	lea	ecx, DWORD PTR [ebp*4]
	add	eax, ecx
	push	edi
	lea	ecx, DWORD PTR $T71066[esp+60]
	push	ecx
	mov	ecx, DWORD PTR [eax]
	add	ecx, 8
	call	??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z ; aStringArrayBase<aString>::operator[]
	mov	ebp, eax
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+48]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+64], 0
	call	eax
	push	eax
	mov	ecx, ebp
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	lea	ecx, DWORD PTR $T71066[esp+56]
	mov	bl, al
	mov	DWORD PTR __$EHRec$[esp+64], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	$LN63@Grant
	mov	eax, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	ecx, DWORD PTR [eax+40]
	mov	edx, DWORD PTR [ecx+108]
	mov	ecx, DWORD PTR _weaponBanIndex$59926[esp+56]
	mov	ebx, DWORD PTR _i$59932[esp+56]
	mov	esi, DWORD PTR _this$[esp+56]
	add	eax, 40					; 00000028H
	add	ecx, ecx
	add	ecx, ecx
	mov	ecx, DWORD PTR [edx+ecx]
	add	edi, 1
	cmp	edi, DWORD PTR [ecx+20]
	jb	$LL70@Grant
$LN69@Grant:

; 589  : 						break;
; 590  : 				}
; 591  : 				if (canGrant)
; 592  : 				{
; 593  : 					this->m_owner->GetPlayerData()->Owner.Reference->obj->As_SmartGameObj()->WeaponBag->Add_Weapon(
; 594  : 						this->m_list[i].weapon,
; 595  : 						this->m_list[i].weapon->ClipSize.Get() + this->m_list[i].weapon->MaxInventoryRounds.Get(),
; 596  : 						true
; 597  : 					);

	mov	edx, DWORD PTR [esi+40]
	mov	eax, DWORD PTR [edx+76]
	mov	ecx, DWORD PTR [eax+20]
	mov	eax, DWORD PTR [esi+28]
	mov	edx, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR [eax+ebx*8+4]
	lea	edi, DWORD PTR [eax+ebx*8]
	push	1
	add	ecx, 116				; 00000074H
	mov	DWORD PTR tv226[esp+60], edx
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR [edi+4]
	add	ecx, 132				; 00000084H
	mov	ebp, eax
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR [edi+4]
	add	ebp, eax
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR tv226[esp+68]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+44]
	call	eax
	mov	ecx, DWORD PTR [eax+1968]
	call	?Add_Weapon@nc_WeaponBagClass@@QAEXPBVnc_WeaponDefinitionClass@@H_N@Z ; nc_WeaponBagClass::Add_Weapon
	mov	ebp, DWORD PTR _weaponBanIndex$59926[esp+56]
$LN12@Grant:
	add	ebx, 1
	cmp	ebx, DWORD PTR [esi+36]
	mov	DWORD PTR _i$59932[esp+56], ebx
	jb	$LN13@Grant
$LN63@Grant:

; 598  : 				}
; 599  : 			}
; 600  : 		}
; 601  : 	}
; 602  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+56]
	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$?Grant@gzWeaponPackClass@@QAEXXZ$0:
	lea	ecx, DWORD PTR $T71066[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Grant@gzWeaponPackClass@@QAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?Grant@gzWeaponPackClass@@QAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Grant@gzWeaponPackClass@@QAEXXZ ENDP			; gzWeaponPackClass::Grant
PUBLIC	?Append@gzWeaponPackClass@@QAEXPAV1@_N@Z	; gzWeaponPackClass::Append
; Function compile flags: /Ogtpy
;	COMDAT ?Append@gzWeaponPackClass@@QAEXPAV1@_N@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_pack$ = 8						; size = 4
_giveNow$ = 12						; size = 1
?Append@gzWeaponPackClass@@QAEXPAV1@_N@Z PROC		; gzWeaponPackClass::Append, COMDAT
; _this$ = ecx

; 604  : {

	push	ecx
	push	ebx

; 605  : 	for (unsigned int i = 0; i < pack->m_list.Count(); i++)

	mov	ebx, DWORD PTR _pack$[esp+4]
	push	ebp
	push	edi
	xor	ebp, ebp
	cmp	DWORD PTR [ebx+36], ebp
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+16], edi
	jbe	$LN7@Append
	push	esi
	npad	6
$LL36@Append:

; 606  : 	{
; 607  : 		if (giveNow)

	cmp	BYTE PTR _giveNow$[esp+16], 0
	je	SHORT $LN35@Append

; 608  : 		{
; 609  : 			if (this->m_owner)

	mov	eax, DWORD PTR [edi+40]
	test	eax, eax
	je	SHORT $LN35@Append

; 610  : 			{
; 611  : 				if (this->m_owner->GetPlayerData()->Owner.Reference)

	mov	eax, DWORD PTR [eax+76]
	mov	eax, DWORD PTR [eax+20]
	test	eax, eax
	je	SHORT $LN35@Append
	mov	ecx, DWORD PTR [ebx+28]

; 612  : 				{
; 613  : 					if (pack->m_list[i].powerup)

	cmp	DWORD PTR [ecx+ebp*8], 0
	lea	esi, DWORD PTR [ecx+ebp*8]
	je	SHORT $LN3@Append

; 614  : 						pack->m_list[i].powerup->Grant(this->m_owner->GetPlayerData()->Owner.Reference->obj->As_SmartGameObj(), NULL, true);

	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+44]
	push	1
	push	0
	call	eax
	mov	ecx, DWORD PTR [esi]
	push	eax
	call	?Grant@nc_PowerUpGameObjDef@@QAEXPAVnc_SmartGameObj@@PAVnc_PowerUpGameObj@@_N@Z ; nc_PowerUpGameObjDef::Grant
	jmp	SHORT $LN35@Append
$LN3@Append:

; 615  : 					else if (pack->m_list[i].weapon)

	cmp	DWORD PTR [esi+4], 0
	je	SHORT $LN35@Append

; 616  : 						this->m_owner->GetPlayerData()->Owner.Reference->obj->As_SmartGameObj()->WeaponBag->Add_Weapon(pack->m_list[i].weapon, pack->m_list[i].weapon->ClipSize.Get(), true);

	mov	esi, DWORD PTR [eax+4]
	lea	edi, DWORD PTR [ecx+ebp*8]
	mov	ecx, DWORD PTR [edi+4]
	push	1
	add	ecx, 116				; 00000074H
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	edx, DWORD PTR [edi+4]
	push	eax
	mov	eax, DWORD PTR [esi]
	push	edx
	mov	edx, DWORD PTR [eax+44]
	mov	ecx, esi
	call	edx
	mov	ecx, DWORD PTR [eax+1968]
	call	?Add_Weapon@nc_WeaponBagClass@@QAEXPBVnc_WeaponDefinitionClass@@H_N@Z ; nc_WeaponBagClass::Add_Weapon
	mov	edi, DWORD PTR _this$[esp+20]
$LN35@Append:
	mov	edx, DWORD PTR [ebx+28]

; 617  : 				}
; 618  : 			}
; 619  : 		}
; 620  : 		this->m_list.Add(pack->m_list[i]);

	mov	eax, DWORD PTR [edi+24]
	mov	eax, DWORD PTR [eax+12]
	lea	ecx, DWORD PTR [edi+24]
	lea	edx, DWORD PTR [edx+ebp*8]
	push	edx
	call	eax
	add	ebp, 1
	cmp	ebp, DWORD PTR [ebx+36]
	jb	$LL36@Append
	pop	esi
$LN7@Append:
	pop	edi
	pop	ebp
	pop	ebx

; 621  : 	}
; 622  : }

	pop	ecx
	ret	8
?Append@gzWeaponPackClass@@QAEXPAV1@_N@Z ENDP		; gzWeaponPackClass::Append
_TEXT	ENDS
PUBLIC	?GetWeaponsCount@gzWeaponPackClass@@QAEHXZ	; gzWeaponPackClass::GetWeaponsCount
; Function compile flags: /Ogtpy
;	COMDAT ?GetWeaponsCount@gzWeaponPackClass@@QAEHXZ
_TEXT	SEGMENT
?GetWeaponsCount@gzWeaponPackClass@@QAEHXZ PROC		; gzWeaponPackClass::GetWeaponsCount, COMDAT
; _this$ = ecx

; 628  : {

	mov	edx, DWORD PTR [ecx+36]

; 629  : 	int count = 0;

	xor	eax, eax

; 630  : 	for (unsigned int i = 0; i < this->m_list.Count(); i++)

	test	edx, edx
	jbe	SHORT $LN2@GetWeapons
	mov	ecx, DWORD PTR [ecx+28]
	add	ecx, 4
	npad	1
$LL4@GetWeapons:

; 631  : 	{
; 632  : 		if (this->m_list[i].weapon)

	cmp	DWORD PTR [ecx], 0
	je	SHORT $LN3@GetWeapons

; 633  : 			count++;

	add	eax, 1
$LN3@GetWeapons:

; 630  : 	for (unsigned int i = 0; i < this->m_list.Count(); i++)

	add	ecx, 8
	sub	edx, 1
	jne	SHORT $LL4@GetWeapons
$LN2@GetWeapons:

; 634  : 	}
; 635  : 	return count;
; 636  : }

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

; 646  : {

	push	esi
	push	edi
	mov	edi, ecx

; 647  : 	for (unsigned int i = 0; i < this->m_packList.Count(); i++)

	xor	esi, esi
	cmp	DWORD PTR [edi+52], esi
	jbe	SHORT $LN2@Delete@11
	npad	5
$LL4@Delete@11:

; 648  : 	{
; 649  : 		this->m_packList[i]->m_list.Clear();

	mov	eax, DWORD PTR [edi+44]
	mov	eax, DWORD PTR [eax+esi*4]
	mov	edx, DWORD PTR [eax+24]
	lea	ecx, DWORD PTR [eax+24]
	mov	eax, DWORD PTR [edx+4]
	call	eax

; 650  : 		if (this->m_packList[i]->m_owner == NULL)

	mov	ecx, DWORD PTR [edi+44]
	mov	ecx, DWORD PTR [ecx+esi*4]
	cmp	DWORD PTR [ecx+40], 0
	jne	SHORT $LN3@Delete@11

; 651  : 		{
; 652  : 			this->m_packList[i]->SetDeletePending();

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

; 653  : 			this->m_packList.Delete(i);

	mov	edx, DWORD PTR [edi+40]
	mov	eax, DWORD PTR [edx+20]
	lea	ecx, DWORD PTR [edi+40]
	push	esi
	call	eax

; 654  : 			i--;

	sub	esi, 1
$LN3@Delete@11:
	add	esi, 1
	cmp	esi, DWORD PTR [edi+52]
	jb	SHORT $LL4@Delete@11
$LN2@Delete@11:
	pop	edi
	pop	esi

; 655  : 		}
; 656  : 	}
; 657  : }

	ret	0
?Delete@gzWeaponPackManager@@UAEXXZ ENDP		; gzWeaponPackManager::Delete
_TEXT	ENDS
PUBLIC	?ChildObjDeletion@gzWeaponPackManager@@UAEXPAVgzBase@@@Z ; gzWeaponPackManager::ChildObjDeletion
; Function compile flags: /Ogtpy
;	COMDAT ?ChildObjDeletion@gzWeaponPackManager@@UAEXPAVgzBase@@@Z
_TEXT	SEGMENT
_pack$ = 8						; size = 4
?ChildObjDeletion@gzWeaponPackManager@@UAEXPAVgzBase@@@Z PROC ; gzWeaponPackManager::ChildObjDeletion, COMDAT
; _this$ = ecx

; 659  : {

	push	esi
	push	edi
	mov	edi, ecx

; 660  : 	for (unsigned int i = 0; i < this->m_packList.Count(); i++)

	xor	esi, esi
	cmp	DWORD PTR [edi+16], esi
	jbe	SHORT $LN2@ChildObjDe@3
	push	ebx
	mov	ebx, DWORD PTR _pack$[esp+8]
	push	ebp
$LL4@ChildObjDe@3:
	mov	eax, DWORD PTR [edi+8]

; 661  : 	{
; 662  : 		if (this->m_packList[i]->GetId() == pack->GetId())

	mov	ecx, DWORD PTR [eax+esi*4]
	lea	eax, DWORD PTR [eax+esi*4]
	call	?GetId@gzBase@@QAEHXZ			; gzBase::GetId
	mov	ecx, ebx
	mov	ebp, eax
	call	?GetId@gzBase@@QAEHXZ			; gzBase::GetId
	cmp	ebp, eax
	je	SHORT $LN12@ChildObjDe@3
	add	esi, 1
	cmp	esi, DWORD PTR [edi+16]
	jb	SHORT $LL4@ChildObjDe@3
	pop	ebp
	pop	ebx
	pop	edi
	pop	esi

; 665  : 			break;
; 666  : 		}
; 667  : 	}
; 668  : }

	ret	4
$LN12@ChildObjDe@3:

; 663  : 		{
; 664  : 			this->m_packList.Delete(i);

	mov	edx, DWORD PTR [edi+4]
	mov	eax, DWORD PTR [edx+20]
	lea	ecx, DWORD PTR [edi+4]
	push	esi
	call	eax
	pop	ebp
	pop	ebx
$LN2@ChildObjDe@3:
	pop	edi
	pop	esi

; 665  : 			break;
; 666  : 		}
; 667  : 	}
; 668  : }

	ret	4
?ChildObjDeletion@gzWeaponPackManager@@UAEXPAVgzBase@@@Z ENDP ; gzWeaponPackManager::ChildObjDeletion
_TEXT	ENDS
PUBLIC	?Level_Ended@gzWeaponPackManager@@UAEXXZ	; gzWeaponPackManager::Level_Ended
; Function compile flags: /Ogtpy
;	COMDAT ?Level_Ended@gzWeaponPackManager@@UAEXXZ
_TEXT	SEGMENT
?Level_Ended@gzWeaponPackManager@@UAEXXZ PROC		; gzWeaponPackManager::Level_Ended, COMDAT
; _this$ = ecx

; 670  : {

	push	esi
	push	edi
	mov	edi, ecx

; 671  : 	for (unsigned int i = 0; i < this->m_packList.Count(); i++)

	xor	esi, esi
	cmp	DWORD PTR [edi+52], esi
	jbe	SHORT $LN2@Level_Ende@2
	npad	5
$LL4@Level_Ende@2:

; 672  : 	{
; 673  : 		this->m_packList[i]->m_list.Clear();

	mov	eax, DWORD PTR [edi+44]
	mov	eax, DWORD PTR [eax+esi*4]
	mov	edx, DWORD PTR [eax+24]
	lea	ecx, DWORD PTR [eax+24]
	mov	eax, DWORD PTR [edx+4]
	call	eax

; 674  : 		if (this->m_packList[i]->m_owner == NULL)

	mov	ecx, DWORD PTR [edi+44]
	mov	ecx, DWORD PTR [ecx+esi*4]
	cmp	DWORD PTR [ecx+40], 0
	jne	SHORT $LN3@Level_Ende@2

; 675  : 		{
; 676  : 			this->m_packList[i]->SetDeletePending();

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

; 677  : 			this->m_packList.Delete(i);

	mov	edx, DWORD PTR [edi+40]
	mov	eax, DWORD PTR [edx+20]
	lea	ecx, DWORD PTR [edi+40]
	push	esi
	call	eax

; 678  : 			i--;

	sub	esi, 1
$LN3@Level_Ende@2:
	add	esi, 1
	cmp	esi, DWORD PTR [edi+52]
	jb	SHORT $LL4@Level_Ende@2
$LN2@Level_Ende@2:
	pop	edi
	pop	esi

; 679  : 		}
; 680  : 	}
; 681  : }

	ret	0
?Level_Ended@gzWeaponPackManager@@UAEXXZ ENDP		; gzWeaponPackManager::Level_Ended
_TEXT	ENDS
PUBLIC	??_7gzWeaponDropClass@@6BgzManagerEvent@@@	; gzWeaponDropClass::`vftable'
PUBLIC	??_7gzWeaponDropClass@@6BEventHandler@@@	; gzWeaponDropClass::`vftable'
PUBLIC	??0gzWeaponDropClass@@QAE@XZ			; gzWeaponDropClass::gzWeaponDropClass
PUBLIC	??_R4gzWeaponDropClass@@6BEventHandler@@@	; gzWeaponDropClass::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzWeaponDropClass@@@8			; gzWeaponDropClass `RTTI Type Descriptor'
PUBLIC	??_R3gzWeaponDropClass@@8			; gzWeaponDropClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzWeaponDropClass@@8			; gzWeaponDropClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzWeaponDropClass@@8		; gzWeaponDropClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Delete@gzWeaponDropClass@@UAEXXZ		; gzWeaponDropClass::Delete
PUBLIC	?Think@gzWeaponDropClass@@UAEXXZ		; gzWeaponDropClass::Think
PUBLIC	?Object_PowerupGrant@gzWeaponDropClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z ; gzWeaponDropClass::Object_PowerupGrant
PUBLIC	??_R4gzWeaponDropClass@@6BgzManagerEvent@@@	; gzWeaponDropClass::`RTTI Complete Object Locator'
EXTRN	??_EgzWeaponDropClass@@UAEPAXI@Z:PROC		; gzWeaponDropClass::`vector deleting destructor'
;	COMDAT ??_R4gzWeaponDropClass@@6BgzManagerEvent@@@
rdata$r	SEGMENT
??_R4gzWeaponDropClass@@6BgzManagerEvent@@@ DD 00H	; gzWeaponDropClass::`RTTI Complete Object Locator'
	DD	024H
	DD	00H
	DD	FLAT:??_R0?AVgzWeaponDropClass@@@8
	DD	FLAT:??_R3gzWeaponDropClass@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzWeaponDropClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzWeaponDropClass@@8 DD FLAT:??_R0?AVgzWeaponDropClass@@@8 ; gzWeaponDropClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	04H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzWeaponDropClass@@8
rdata$r	ENDS
;	COMDAT ??_R2gzWeaponDropClass@@8
rdata$r	SEGMENT
??_R2gzWeaponDropClass@@8 DD FLAT:??_R1A@?0A@EA@gzWeaponDropClass@@8 ; gzWeaponDropClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzBackpackClass@@8
	DD	FLAT:??_R1A@?0A@EA@EventHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
	DD	FLAT:??_R1CE@?0A@EA@gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_R3gzWeaponDropClass@@8
rdata$r	SEGMENT
??_R3gzWeaponDropClass@@8 DD 00H			; gzWeaponDropClass::`RTTI Class Hierarchy Descriptor'
	DD	01H
	DD	05H
	DD	FLAT:??_R2gzWeaponDropClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzWeaponDropClass@@@8
_DATA	SEGMENT
??_R0?AVgzWeaponDropClass@@@8 DD FLAT:??_7type_info@@6B@ ; gzWeaponDropClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzWeaponDropClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzWeaponDropClass@@6BEventHandler@@@
rdata$r	SEGMENT
??_R4gzWeaponDropClass@@6BEventHandler@@@ DD 00H	; gzWeaponDropClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzWeaponDropClass@@@8
	DD	FLAT:??_R3gzWeaponDropClass@@8
rdata$r	ENDS
;	COMDAT ??_7gzWeaponDropClass@@6BgzManagerEvent@@@
CONST	SEGMENT
??_7gzWeaponDropClass@@6BgzManagerEvent@@@ DD FLAT:??_R4gzWeaponDropClass@@6BgzManagerEvent@@@ ; gzWeaponDropClass::`vftable'
	DD	FLAT:?GetName@gzBackpackClass@@WCE@AEPBDXZ
	DD	FLAT:?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z
	DD	FLAT:?ChildObjDeletion@gzBackpackClass@@UAEXPAVgzBase@@@Z
CONST	ENDS
;	COMDAT ??_7gzWeaponDropClass@@6BEventHandler@@@
CONST	SEGMENT
??_7gzWeaponDropClass@@6BEventHandler@@@ DD FLAT:??_R4gzWeaponDropClass@@6BEventHandler@@@ ; gzWeaponDropClass::`vftable'
	DD	FLAT:??_EgzWeaponDropClass@@UAEPAXI@Z
	DD	FLAT:?GetName@gzBackpackClass@@UAEPBDXZ
	DD	FLAT:?Delete@gzWeaponDropClass@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@EventHandler@@UAEXXZ
	DD	FLAT:?Level_Ended@gzWeaponDropClass@@UAEXXZ
	DD	FLAT:?Think@gzWeaponDropClass@@UAEXXZ
	DD	FLAT:?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@gzWeaponDropClass@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@EventHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@gzWeaponDropClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzWeaponDropClass@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzWeaponDropClass@@QAE@XZ$0
__ehfuncinfo$??0gzWeaponDropClass@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0gzWeaponDropClass@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzWeaponDropClass@@QAE@XZ
_TEXT	SEGMENT
$T71269 = -20						; size = 4
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzWeaponDropClass@@QAE@XZ PROC			; gzWeaponDropClass::gzWeaponDropClass, COMDAT
; _this$ = ecx

; 694  : {

	push	-1
	push	__ehhandler$??0gzWeaponDropClass@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 8
	push	esi
	mov	esi, ecx
	mov	DWORD PTR _this$[esp+24], esi
	call	??0gzBackpackClass@@QAE@XZ		; gzBackpackClass::gzBackpackClass

; 695  : 	this->RegisterEvent(EVT_GAME_LEVEL_ENDED);

	push	0
	push	4097					; 00001001H
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+40], 0
	mov	DWORD PTR [esi], OFFSET ??_7gzWeaponDropClass@@6BEventHandler@@@
	mov	DWORD PTR [esi+36], OFFSET ??_7gzWeaponDropClass@@6BgzManagerEvent@@@
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 696  : 	this->RegisterEvent(EVT_GAME_THINK);

	push	0
	push	4098					; 00001002H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 697  : 	this->RegisterEvent(EVT_PLAYER_LEFT);

	push	0
	push	8193					; 00002001H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 698  : 	this->RegisterEvent(EVT_OBJECT_POWERUP_GRANT);

	push	0
	push	12304					; 00003010H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 699  : 
; 700  : 	this->m_dropDelayCounter = gzWeaponMgr->m_settings->Weapons.DropDelay;

	mov	eax, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	ecx, DWORD PTR [eax+40]
	fld	DWORD PTR [ecx+140]

; 701  : 	gzWeaponDropMgr->m_list.Add(this);

	mov	DWORD PTR $T71269[esp+24], esi
	fstp	DWORD PTR [esi+80]
	mov	ecx, DWORD PTR ?gzWeaponDropMgr@@3PAVgzWeaponDropManager@@A ; gzWeaponDropMgr
	mov	edx, DWORD PTR [ecx+36]
	mov	edx, DWORD PTR [edx+12]
	add	ecx, 36					; 00000024H
	lea	eax, DWORD PTR $T71269[esp+24]
	push	eax
	call	edx

; 702  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzWeaponDropClass@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1gzBackpackClass@@UAE@XZ
__ehhandler$??0gzWeaponDropClass@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzWeaponDropClass@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzWeaponDropClass@@QAE@XZ ENDP			; gzWeaponDropClass::gzWeaponDropClass
PUBLIC	??1gzWeaponDropClass@@UAE@XZ			; gzWeaponDropClass::~gzWeaponDropClass
; Function compile flags: /Ogtpy
;	COMDAT ??1gzWeaponDropClass@@UAE@XZ
_TEXT	SEGMENT
??1gzWeaponDropClass@@UAE@XZ PROC			; gzWeaponDropClass::~gzWeaponDropClass, COMDAT
; _this$ = ecx
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
??1gzWeaponDropClass@@UAE@XZ ENDP			; gzWeaponDropClass::~gzWeaponDropClass
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzWeaponDropClass@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzWeaponDropClass@@UAEPAXI@Z PROC			; gzWeaponDropClass::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN10@scalar@7
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN10@scalar@7:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzWeaponDropClass@@UAEPAXI@Z ENDP			; gzWeaponDropClass::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@gzWeaponDropClass@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzWeaponDropClass@@UAEXXZ PROC			; gzWeaponDropClass::Delete, COMDAT
; _this$ = ecx

; 704  : {

	push	esi
	push	edi
	mov	edi, ecx

; 705  : 	gzWeaponDropMgr->m_list.Delete(gzWeaponDropMgr->m_list.Index(this));

	mov	ecx, DWORD PTR ?gzWeaponDropMgr@@3PAVgzWeaponDropManager@@A ; gzWeaponDropMgr
	mov	edx, DWORD PTR [ecx+48]
	add	ecx, 36					; 00000024H
	xor	eax, eax
	test	edx, edx
	jbe	SHORT $LN4@Delete@12
	mov	esi, DWORD PTR [ecx+4]
	npad	7
$LL6@Delete@12:
	cmp	DWORD PTR [esi], edi
	je	SHORT $LN7@Delete@12
	add	eax, 1
	add	esi, 4
	cmp	eax, edx
	jb	SHORT $LL6@Delete@12
$LN4@Delete@12:
	or	eax, -1
$LN7@Delete@12:
	mov	edx, DWORD PTR [ecx]
	push	eax
	mov	eax, DWORD PTR [edx+20]
	call	eax

; 706  : 	this->gzBackpackClass::Delete();

	cmp	DWORD PTR [edi+40], 0
	je	SHORT $LN10@Delete@12
	mov	ecx, DWORD PTR [edi+40]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+12]
	call	eax
$LN10@Delete@12:
	mov	ecx, DWORD PTR [edi+64]
	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	add	esp, 4
	test	eax, eax
	je	SHORT $LN9@Delete@12
	mov	ecx, DWORD PTR [edi+64]
	mov	edx, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	eax, DWORD PTR [edx+96]
	push	ecx
	call	eax
	mov	edx, DWORD PTR [eax+8]
	add	esp, 4
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+44]
	pop	edi
	pop	esi
	jmp	eax
$LN9@Delete@12:
	pop	edi
	pop	esi

; 707  : }

	ret	0
?Delete@gzWeaponDropClass@@UAEXXZ ENDP			; gzWeaponDropClass::Delete
_TEXT	ENDS
PUBLIC	??_C@_0FK@HBNMGJO@Your?5request?5has?5been?5completed?4@ ; `string'
PUBLIC	??_C@_0CC@IGHGMKGA@Your?5Weapon?5Drop?5has?5been?5halted@ ; `string'
EXTRN	?Remove_Weapon@nc_WeaponBagClass@@QAEXH@Z:PROC	; nc_WeaponBagClass::Remove_Weapon
EXTRN	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z:PROC ; gzPlayerManager::Find
EXTRN	?PagePlayer@@YAXHPBDZZ:PROC			; PagePlayer
;	COMDAT ??_C@_0FK@HBNMGJO@Your?5request?5has?5been?5completed?4@
CONST	SEGMENT
??_C@_0FK@HBNMGJO@Your?5request?5has?5been?5completed?4@ DB 'Your request'
	DB	' has been completed. The backpack will NOT expire until a pla'
	DB	'yer picks it up.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0CC@IGHGMKGA@Your?5Weapon?5Drop?5has?5been?5halted@
CONST	SEGMENT
??_C@_0CC@IGHGMKGA@Your?5Weapon?5Drop?5has?5been?5halted@ DB 'Your Weapon'
	DB	' Drop has been halted.', 00H		; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?Think@gzWeaponDropClass@@UAEXXZ
_TEXT	SEGMENT
_i$60062 = -20						; size = 4
_this$ = -16						; size = 4
tv557 = -12						; size = 4
_defWeaponId$60060 = -8					; size = 4
_gzData$60058 = -4					; size = 4
?Think@gzWeaponDropClass@@UAEXXZ PROC			; gzWeaponDropClass::Think, COMDAT
; _this$ = ecx

; 713  : {

	sub	esp, 20					; 00000014H
	push	ebx
	mov	ebx, ecx

; 714  : 	if (this->GetOwner())

	mov	ecx, DWORD PTR [ebx+44]
	test	ecx, ecx
	mov	DWORD PTR _this$[esp+24], ebx
	je	$LN77@Think@2

; 715  : 	{
; 716  : 		if (this->m_dropDelayCounter > 0.0f)

	fldz
	push	esi
	fcomp	DWORD PTR [ebx+80]
	lea	esi, DWORD PTR [ebx+80]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN18@Think@2

; 717  : 		{
; 718  : 			SubFrameTime(this->m_dropDelayCounter, true);

	push	1
	push	esi
	call	?SubFrameTime@@YAXAAM_N@Z		; SubFrameTime
	add	esp, 8

; 719  : 			if (this->GetBackpackId() == 0 && (!this->GetOwner()->IsActive || !this->GetOwner()->Owner.Reference || this->GetOwner()->Owner.Reference->obj->NetworkID != this->m_soldierId))

	cmp	DWORD PTR [ebx+64], 0
	jne	$LN90@Think@2
	mov	eax, DWORD PTR [ebx+44]
	cmp	BYTE PTR [eax+1981], 0
	je	SHORT $LN16@Think@2
	mov	ecx, DWORD PTR [eax+20]
	test	ecx, ecx
	je	SHORT $LN16@Think@2
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx+12]
	cmp	edx, DWORD PTR [ebx+84]
	je	$LN90@Think@2
$LN16@Think@2:

; 720  : 			{
; 721  : 				PagePlayer(this->GetOwner()->PlayerId, "Your Weapon Drop has been halted.");

	mov	eax, DWORD PTR [eax+1884]
	push	OFFSET ??_C@_0CC@IGHGMKGA@Your?5Weapon?5Drop?5has?5been?5halted@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 722  : 				this->Halt();

	fldz
	fcomp	DWORD PTR [esi]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	je	$LN90@Think@2
	mov	edx, DWORD PTR [ebx]
	mov	eax, DWORD PTR [edx+12]
	pop	esi
	mov	ecx, ebx
	pop	ebx

; 761  : 		}
; 762  : 	}
; 763  : }

	add	esp, 20					; 00000014H

; 722  : 				this->Halt();

	jmp	eax
$LN18@Think@2:
	push	ebp

; 723  : 			}
; 724  : 		}
; 725  : 		else
; 726  : 		{
; 727  : 			gzPlayer *gzData = gzPlayerManager::Find(this->GetOwner());

	push	ecx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z ; gzPlayerManager::Find

; 728  : 			nc_SoldierGameObj *soldier = this->GetOwner()->Owner.Reference->obj->As_SoldierGameObj();

	mov	ecx, DWORD PTR [ebx+44]
	mov	edx, DWORD PTR [ecx+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	DWORD PTR _gzData$60058[esp+36], eax
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+68]
	add	esp, 4
	call	edx
	mov	ebp, eax

; 729  : 			unsigned long defWeaponId = gzStatic_Cast(nc_ArmedGameObjDef, this->GetOwner()->Owner.Reference->obj->definition)->WeaponDefID;

	mov	eax, DWORD PTR [ebx+44]
	mov	ecx, DWORD PTR [eax+20]
	mov	edx, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR [edx+1724]
	mov	ecx, DWORD PTR [eax+196]

; 730  : 			for (unsigned int i = 0; i < this->GetWeaponPack()->m_list.Count(); i++)

	mov	edx, DWORD PTR [ebx+40]
	mov	DWORD PTR _defWeaponId$60060[esp+32], ecx
	xor	ecx, ecx
	cmp	DWORD PTR [edx+36], ecx
	mov	DWORD PTR _i$60062[esp+32], ecx
	jbe	$LN12@Think@2
	push	edi
	npad	7
$LL89@Think@2:

; 731  : 			{
; 732  : 				if (this->GetWeaponPack()->m_list[i].weapon != NULL)

	mov	eax, DWORD PTR [ebx+40]
	mov	edx, DWORD PTR [eax+28]
	cmp	DWORD PTR [edx+ecx*8+4], 0
	je	$LN13@Think@2

; 733  : 				{
; 734  : 					for (int j = 1; j < soldier->WeaponBag->Vector.Count(); j++)

	mov	eax, DWORD PTR [ebp+1968]
	mov	edi, 1
	cmp	DWORD PTR [eax+20], edi
	jle	$LN13@Think@2
$LL10@Think@2:

; 735  : 					{
; 736  : 						if (soldier->WeaponBag->Vector[j]->WeaponDef->Get_ID() == this->GetWeaponPack()->m_list[i].weapon->Get_ID())

	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR [eax+edi*4]
	mov	eax, DWORD PTR [ebx+40]
	mov	esi, DWORD PTR [edx]
	mov	edx, DWORD PTR [eax+28]
	mov	ecx, DWORD PTR [edx+ecx*8+4]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+36]
	call	edx
	mov	edx, DWORD PTR [esi]
	mov	edx, DWORD PTR [edx+36]
	mov	ecx, esi
	mov	DWORD PTR tv557[esp+36], eax
	call	edx
	mov	ecx, DWORD PTR tv557[esp+36]
	cmp	eax, ecx
	jne	SHORT $LN9@Think@2

; 737  : 						{
; 738  : 							// Default weapon can not be removed
; 739  : 							if (soldier->WeaponBag->Vector[j]->WeaponDef->Get_ID() == defWeaponId)

	mov	eax, DWORD PTR [ebp+1968]
	mov	ecx, DWORD PTR [eax+8]
	mov	edx, DWORD PTR [ecx+edi*4]
	mov	ecx, DWORD PTR [edx]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+36]
	call	edx
	cmp	eax, DWORD PTR _defWeaponId$60060[esp+36]
	je	SHORT $LN9@Think@2

; 740  : 								continue;
; 741  : 
; 742  : 							if (gzData && gzData->GetWeaponPack())

	mov	eax, DWORD PTR _gzData$60058[esp+36]
	test	eax, eax
	je	SHORT $LN2@Think@2
	mov	esi, DWORD PTR [eax+60]
	test	esi, esi
	je	SHORT $LN2@Think@2
	mov	ecx, DWORD PTR [esi+36]

; 743  : 							{
; 744  : 								for (unsigned int k = 0; k < gzData->GetWeaponPack()->m_list.Count(); k++)

	xor	edx, edx
	test	ecx, ecx
	jbe	SHORT $LN2@Think@2
	mov	eax, DWORD PTR [ebp+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [eax+edi*4]
	mov	ebx, DWORD PTR [eax]
	mov	eax, DWORD PTR [esi+28]
	add	eax, 4
	npad	6
$LL4@Think@2:

; 745  : 								{
; 746  : 									if (soldier->WeaponBag->Vector[j]->WeaponDef == gzData->GetWeaponPack()->m_list[k].weapon)

	cmp	ebx, DWORD PTR [eax]
	je	SHORT $LN82@Think@2
	add	edx, 1
	add	eax, 8
	cmp	edx, ecx
	jb	SHORT $LL4@Think@2
	jmp	SHORT $LN92@Think@2
$LN82@Think@2:

; 747  : 									{
; 748  : 										gzData->GetWeaponPack()->m_list.Delete(k);

	mov	eax, DWORD PTR [esi+24]
	lea	ecx, DWORD PTR [esi+24]
	push	edx
	mov	edx, DWORD PTR [eax+20]
	call	edx
$LN92@Think@2:
	mov	ebx, DWORD PTR _this$[esp+36]
$LN2@Think@2:

; 749  : 										break;
; 750  : 									}
; 751  : 								}
; 752  : 							}
; 753  : 							soldier->WeaponBag->Remove_Weapon(j);

	mov	ecx, DWORD PTR [ebp+1968]
	push	edi
	call	?Remove_Weapon@nc_WeaponBagClass@@QAEXH@Z ; nc_WeaponBagClass::Remove_Weapon
$LN9@Think@2:
	mov	eax, DWORD PTR [ebp+1968]
	mov	ecx, DWORD PTR _i$60062[esp+36]
	add	edi, 1
	cmp	edi, DWORD PTR [eax+20]
	jl	$LL10@Think@2
$LN13@Think@2:

; 730  : 			for (unsigned int i = 0; i < this->GetWeaponPack()->m_list.Count(); i++)

	mov	eax, DWORD PTR [ebx+40]
	add	ecx, 1
	cmp	ecx, DWORD PTR [eax+36]
	mov	DWORD PTR _i$60062[esp+36], ecx
	jb	$LL89@Think@2
	pop	edi
$LN12@Think@2:

; 754  : 						}
; 755  : 					}
; 756  : 				}
; 757  : 			}
; 758  : 			this->Create();

	mov	ecx, ebx
	call	?Create@gzBackpackClass@@QAEXXZ		; gzBackpackClass::Create

; 759  : 			PagePlayer(this->GetOwner()->PlayerId, "Your request has been completed. The backpack will NOT expire until a player picks it up.");

	mov	ecx, DWORD PTR [ebx+44]
	mov	edx, DWORD PTR [ecx+1884]
	push	OFFSET ??_C@_0FK@HBNMGJO@Your?5request?5has?5been?5completed?4@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 760  : 			this->SetOwner(NULL);

	mov	DWORD PTR [ebx+44], 0
	pop	ebp
$LN90@Think@2:
	pop	esi
$LN77@Think@2:
	pop	ebx

; 761  : 		}
; 762  : 	}
; 763  : }

	add	esp, 20					; 00000014H
	ret	0
?Think@gzWeaponDropClass@@UAEXXZ ENDP			; gzWeaponDropClass::Think
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Object_PowerupGrant@gzWeaponDropClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z
_TEXT	SEGMENT
_evt$ = 8						; size = 4
?Object_PowerupGrant@gzWeaponDropClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z PROC ; gzWeaponDropClass::Object_PowerupGrant, COMDAT
; _this$ = ecx

; 773  : {

	push	esi
	push	edi

; 774  : 	if (evt.m_powerup->NetworkID == this->GetBackpackId())

	mov	edi, DWORD PTR _evt$[esp+4]
	mov	eax, DWORD PTR [edi+24]
	mov	esi, ecx
	mov	ecx, DWORD PTR [eax+12]
	cmp	ecx, DWORD PTR [esi+64]
	jne	SHORT $LN2@Object_Pow

; 775  : 	{
; 776  : #if !ISDEV()
; 777  : 		// The requester himself can not pick it up!
; 778  : 		if (evt.m_soldier->Player == this->GetOwner())
; 779  : 		{
; 780  : 			evt.Skip();
; 781  : 			return;
; 782  : 		}
; 783  : #endif
; 784  : 		
; 785  : 		// Real player?
; 786  : 		gzPlayer *gzData = gzPlayerManager::Find(evt.m_soldier->Player);

	mov	edx, DWORD PTR [edi+28]
	mov	eax, DWORD PTR [edx+2400]
	push	eax
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z ; gzPlayerManager::Find
	add	esp, 4

; 787  : 		if (!gzData)

	test	eax, eax
	jne	SHORT $LN1@Object_Pow

; 788  : 		{
; 789  : 			evt.Skip();

	mov	BYTE PTR [edi+32], al
	pop	edi
	pop	esi

; 797  : 	}
; 798  : }

	ret	4
$LN1@Object_Pow:

; 790  : 			return;
; 791  : 		}
; 792  : 
; 793  : 		gzData->GetWeaponPack()->Append(this->GetWeaponPack(), true);

	mov	ecx, DWORD PTR [esi+40]
	push	1
	push	ecx
	mov	ecx, DWORD PTR [eax+60]
	call	?Append@gzWeaponPackClass@@QAEXPAV1@_N@Z ; gzWeaponPackClass::Append

; 794  : 		this->GetWeaponPack()->SetDeletePending();

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

; 795  : 		evt.Skip();

	mov	BYTE PTR [edi+32], 0

; 796  : 		this->SetDeletePending();

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+12]
	mov	ecx, esi
	call	eax
$LN2@Object_Pow:
	pop	edi
	pop	esi

; 797  : 	}
; 798  : }

	ret	4
?Object_PowerupGrant@gzWeaponDropClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z ENDP ; gzWeaponDropClass::Object_PowerupGrant
_TEXT	ENDS
PUBLIC	?Delete@gzWeaponDropManager@@UAEXXZ		; gzWeaponDropManager::Delete
; Function compile flags: /Ogtpy
;	COMDAT ?Delete@gzWeaponDropManager@@UAEXXZ
_TEXT	SEGMENT
?Delete@gzWeaponDropManager@@UAEXXZ PROC		; gzWeaponDropManager::Delete, COMDAT
; _this$ = ecx

; 813  : {

	push	esi
	push	edi
	mov	edi, ecx

; 814  : 	for (unsigned int i = 0; i < this->m_list.Count(); i++)

	xor	esi, esi
	cmp	DWORD PTR [edi+48], esi
	jbe	SHORT $LN1@Delete@13
	npad	5
$LL3@Delete@13:

; 815  : 		this->m_list[i]->SetDeletePending();

	mov	eax, DWORD PTR [edi+40]
	mov	ecx, DWORD PTR [eax+esi*4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+12]
	call	eax
	add	esi, 1
	cmp	esi, DWORD PTR [edi+48]
	jb	SHORT $LL3@Delete@13
$LN1@Delete@13:

; 816  : 	this->m_list.Clear();

	mov	edx, DWORD PTR [edi+36]
	mov	eax, DWORD PTR [edx+4]
	lea	ecx, DWORD PTR [edi+36]
	pop	edi
	pop	esi
	jmp	eax
?Delete@gzWeaponDropManager@@UAEXXZ ENDP		; gzWeaponDropManager::Delete
_TEXT	ENDS
PUBLIC	?Find@gzWeaponDropManager@@QAEPAVgzWeaponDropClass@@PAVnc_cPlayer@@@Z ; gzWeaponDropManager::Find
; Function compile flags: /Ogtpy
;	COMDAT ?Find@gzWeaponDropManager@@QAEPAVgzWeaponDropClass@@PAVnc_cPlayer@@@Z
_TEXT	SEGMENT
_owner$ = 8						; size = 4
?Find@gzWeaponDropManager@@QAEPAVgzWeaponDropClass@@PAVnc_cPlayer@@@Z PROC ; gzWeaponDropManager::Find, COMDAT
; _this$ = ecx

; 819  : {

	mov	edx, DWORD PTR [ecx+48]
	push	ebx
	push	esi

; 820  : 	for (unsigned int i = 0; i < this->m_list.Count(); i++)

	xor	eax, eax
	test	edx, edx
	push	edi
	jbe	SHORT $LN2@Find
	mov	esi, DWORD PTR [ecx+40]
	mov	edi, DWORD PTR _owner$[esp+8]
	mov	ecx, esi
$LL4@Find:

; 821  : 	{
; 822  : 		if (this->m_list[i]->GetOwner() == owner)

	mov	ebx, DWORD PTR [ecx]
	cmp	DWORD PTR [ebx+44], edi
	je	SHORT $LN16@Find
	add	eax, 1
	add	ecx, 4
	cmp	eax, edx
	jb	SHORT $LL4@Find
$LN2@Find:
	pop	edi
	pop	esi

; 824  : 	}
; 825  : 	return NULL;

	xor	eax, eax
	pop	ebx

; 826  : }

	ret	4
$LN16@Find:

; 823  : 			return this->m_list[i];

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

; 826  : }

	ret	4
?Find@gzWeaponDropManager@@QAEPAVgzWeaponDropClass@@PAVnc_cPlayer@@@Z ENDP ; gzWeaponDropManager::Find
_TEXT	ENDS
PUBLIC	??_C@_0BO@HFNNKFHB@?$CFs?5C4?5creation?5?$CIPlanter?3?5?$CFls?$CJ?$AA@ ; `string'
EXTRN	?FriendlyFirePermitted@nc_CombatManager@@2AA_NA:DWORD ; nc_CombatManager::FriendlyFirePermitted
EXTRN	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z:PROC ; nc_BaseControllerClass::Find_Base
EXTRN	?gzCrateMgr@@3PAVgzManagerCrateClass@@A:DWORD	; gzCrateMgr
;	COMDAT ??_C@_0BO@HFNNKFHB@?$CFs?5C4?5creation?5?$CIPlanter?3?5?$CFls?$CJ?$AA@
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
??_C@_0BO@HFNNKFHB@?$CFs?5C4?5creation?5?$CIPlanter?3?5?$CFls?$CJ?$AA@ DB '%'
	DB	's C4 creation (Planter: %ls)', 00H		; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
CONST	ENDS
;	COMDAT ?Created@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@@Z
_TEXT	SEGMENT
_objList$60659 = -36					; size = 4
_this$ = -32						; size = 4
_c4Mode$ = -28						; size = 4
_count$ = -24						; size = 4
_ownCount$ = -20					; size = 4
_C4$60664 = -16						; size = 4
_c4Name$60688 = -12					; size = 12
$T71542 = 8						; size = 4
_obj$ = 8						; size = 4
?Created@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@@Z PROC ; gzObserverC4::Created, COMDAT
; _this$ = ecx

; 1206 : {

	sub	esp, 36					; 00000024H
	push	ebx
	push	ebp
	mov	ebx, ecx
	push	esi

; 1207 : 	this->m_C4 = (nc_C4GameObj *)obj;

	mov	esi, DWORD PTR _obj$[esp+44]
	mov	DWORD PTR [ebx+28], esi

; 1208 : 	int c4Mode = this->m_C4->AmmoDef->AmmoType.Get();

	mov	ecx, DWORD PTR [esi+1992]
	add	ecx, 140				; 0000008cH
	mov	DWORD PTR _this$[esp+48], ebx
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ebp, eax

; 1209 : 
; 1210 : 	// Is it really C4?
; 1211 : 	if (c4Mode == 0)

	test	ebp, ebp
	mov	DWORD PTR _c4Mode$[esp+48], ebp
	jne	SHORT $LN22@Created@2
$LN56@Created@2:

; 1212 : 	{
; 1213 : 		this->Destroy_Script();

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

; 1288 : 	}
; 1289 : }

	add	esp, 36					; 00000024H
	ret	4
$LN22@Created@2:

; 1214 : 		return;
; 1215 : 	}
; 1216 : 
; 1217 : 	// Limit control
; 1218 : 	int count = 0, ownCount = 0;
; 1219 : 	for (nc_GenericSLNode<nc_BaseGameObj> *objList = nc_GameObjManager::GameObjList->HeadNode; objList != NULL; objList = objList->NodeNext)

	mov	eax, DWORD PTR ?GameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BaseGameObj@@@@A ; nc_GameObjManager::GameObjList
	push	edi
	mov	edi, DWORD PTR [eax+4]
	test	edi, edi
	mov	DWORD PTR _count$[esp+52], 0
	mov	DWORD PTR _ownCount$[esp+52], 0
	mov	DWORD PTR _objList$60659[esp+52], edi
	je	$LN50@Created@2
	jmp	SHORT $LN21@Created@2
	npad	11
$LL51@Created@2:
	mov	edi, DWORD PTR _objList$60659[esp+52]
$LN21@Created@2:

; 1220 : 	{
; 1221 : 		if (objList->NodeData && objList->NodeData->definition->Get_Class_ID() == 0x3006 && objList->NodeData->As_PhysicalGameObj()->PlayerType == this->m_C4->PlayerType)

	cmp	DWORD PTR [edi+4], 0
	je	$LN20@Created@2
	mov	ecx, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR [ecx+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+32]
	call	eax
	cmp	eax, 12294				; 00003006H
	jne	$LN20@Created@2
	mov	ecx, DWORD PTR [edi+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+36]
	call	eax
	mov	ecx, DWORD PTR [ebx+28]
	mov	edx, DWORD PTR [eax+1892]
	cmp	edx, DWORD PTR [ecx+1892]
	jne	$LN20@Created@2

; 1222 : 		{
; 1223 : 			nc_C4GameObj *C4 = (nc_C4GameObj *)objList->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 1224 : 			int mode = C4->AmmoDef->AmmoType.Get();

	mov	ecx, DWORD PTR [esi+1992]
	add	ecx, 140				; 0000008cH
	mov	DWORD PTR _C4$60664[esp+52], esi
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get

; 1225 : 
; 1226 : 			if (c4Mode == mode)

	cmp	ebp, eax
	jne	$LN20@Created@2

; 1227 : 			{
; 1228 : 				// Stealth proximity crate
; 1229 : 				bool listed = false;
; 1230 : 				if (c4Mode == 3)

	cmp	ebp, 3
	jne	SHORT $LN48@Created@2

; 1231 : 				{
; 1232 : 					for (unsigned int i = 0; i < gzCrateMgr->m_data->StealthMine.Count(); i++)

	mov	eax, DWORD PTR ?gzCrateMgr@@3PAVgzManagerCrateClass@@A ; gzCrateMgr
	mov	eax, DWORD PTR [eax+60]
	mov	ebp, DWORD PTR [eax+92]
	xor	ebx, ebx
	test	ebp, ebp
	jbe	SHORT $LN53@Created@2
	mov	edi, DWORD PTR [eax+84]
$LL15@Created@2:

; 1233 : 					{
; 1234 : 						for (unsigned int j = 0; j < gzCrateMgr->m_data->StealthMine[i]->activeList.Count(); j++)

	mov	ecx, DWORD PTR [edi]
	mov	edx, DWORD PTR [ecx+20]
	xor	eax, eax
	test	edx, edx
	jbe	SHORT $LN14@Created@2
	mov	esi, DWORD PTR [esi+12]
	mov	ecx, DWORD PTR [ecx+12]
$LL12@Created@2:

; 1235 : 						{
; 1236 : 							if (gzCrateMgr->m_data->StealthMine[i]->activeList[j] == C4->NetworkID)

	cmp	DWORD PTR [ecx], esi
	je	SHORT $LN52@Created@2
	add	eax, 1
	add	ecx, 4
	cmp	eax, edx
	jb	SHORT $LL12@Created@2

; 1233 : 					{
; 1234 : 						for (unsigned int j = 0; j < gzCrateMgr->m_data->StealthMine[i]->activeList.Count(); j++)

	mov	esi, DWORD PTR _C4$60664[esp+52]
$LN14@Created@2:

; 1231 : 				{
; 1232 : 					for (unsigned int i = 0; i < gzCrateMgr->m_data->StealthMine.Count(); i++)

	add	ebx, 1
	add	edi, 4
	cmp	ebx, ebp
	jb	SHORT $LL15@Created@2
	mov	edi, DWORD PTR _objList$60659[esp+52]
$LN53@Created@2:
	mov	ebp, DWORD PTR _c4Mode$[esp+52]
	mov	ebx, DWORD PTR _this$[esp+52]
$LN48@Created@2:

; 1237 : 							{
; 1238 : 								listed = true;
; 1239 : 								goto procCount;
; 1240 : 							}
; 1241 : 						}
; 1242 : 					}
; 1243 : 				}
; 1244 : procCount:
; 1245 : 				if (!listed)
; 1246 : 					count++;

	add	DWORD PTR _count$[esp+52], 1
	jmp	SHORT $LN7@Created@2
$LN52@Created@2:
	mov	esi, DWORD PTR _C4$60664[esp+52]
	mov	edi, DWORD PTR _objList$60659[esp+52]
	mov	ebx, DWORD PTR _this$[esp+52]
	mov	ebp, DWORD PTR _c4Mode$[esp+52]
$LN7@Created@2:

; 1247 : 
; 1248 : 				// Personal count
; 1249 : 				if (this->m_C4->Player == C4->Player)

	mov	eax, DWORD PTR [ebx+28]
	mov	ecx, DWORD PTR [eax+1988]
	cmp	ecx, DWORD PTR [esi+1988]
	jne	SHORT $LN6@Created@2

; 1250 : 					ownCount++;

	add	DWORD PTR _ownCount$[esp+52], 1
$LN6@Created@2:

; 1251 : 
; 1252 : 				// Destroy C4
; 1253 : 				if (gzWeaponMgr->m_settings->C4.TeamLimit[this->m_C4->PlayerType][c4Mode - 1] > -1 && count > gzWeaponMgr->m_settings->C4.TeamLimit[this->m_C4->PlayerType][c4Mode - 1])

	mov	eax, DWORD PTR [eax+1892]
	add	eax, 4
	lea	edx, DWORD PTR [ebp+eax*2]
	add	edx, eax
	mov	eax, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	ecx, DWORD PTR [eax+40]
	mov	eax, DWORD PTR [ecx+edx*4]
	cmp	eax, -1
	jle	SHORT $LN20@Created@2
	cmp	DWORD PTR _count$[esp+52], eax
	jle	SHORT $LN20@Created@2

; 1254 : 					C4->Defuse();

	mov	ecx, esi
	call	?Defuse@nc_C4GameObj@@QAEXXZ		; nc_C4GameObj::Defuse
$LN20@Created@2:
	mov	eax, DWORD PTR [edi]
	test	eax, eax
	mov	DWORD PTR _objList$60659[esp+52], eax
	jne	$LL51@Created@2

; 1214 : 		return;
; 1215 : 	}
; 1216 : 
; 1217 : 	// Limit control
; 1218 : 	int count = 0, ownCount = 0;
; 1219 : 	for (nc_GenericSLNode<nc_BaseGameObj> *objList = nc_GameObjManager::GameObjList->HeadNode; objList != NULL; objList = objList->NodeNext)

	mov	esi, DWORD PTR _obj$[esp+48]
$LN50@Created@2:

; 1255 : 			}
; 1256 : 		}
; 1257 : 	}
; 1258 : 	if (gzWeaponMgr->m_settings->C4.Limit[c4Mode - 1] > -1 && ownCount > gzWeaponMgr->m_settings->C4.Limit[c4Mode - 1])

	mov	edx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	eax, DWORD PTR [edx+40]
	mov	eax, DWORD PTR [eax+ebp*4+36]
	cmp	eax, -1
	pop	edi
	jle	SHORT $LN4@Created@2
	cmp	DWORD PTR _ownCount$[esp+48], eax
	jle	SHORT $LN4@Created@2

; 1259 : 	{
; 1260 : 		this->m_C4->Set_Delete_Pending();

	mov	eax, DWORD PTR [ebx+28]
	mov	edx, DWORD PTR [eax+8]
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+44]
	call	eax
	pop	esi
	pop	ebp
	pop	ebx

; 1288 : 	}
; 1289 : }

	add	esp, 36					; 00000024H
	ret	4
$LN4@Created@2:

; 1261 : 		return;
; 1262 : 	}
; 1263 : 
; 1264 : 	// Set base
; 1265 : 	this->m_base = nc_BaseControllerClass::Find_Base(this->m_C4->PlayerType);

	mov	ecx, DWORD PTR [ebx+28]
	mov	edx, DWORD PTR [ecx+1892]
	push	edx
	call	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z ; nc_BaseControllerClass::Find_Base
	add	esp, 4

; 1266 : 	if (!this->m_base)

	test	eax, eax
	mov	DWORD PTR [ebx+548], eax

; 1267 : 	{
; 1268 : 		this->Destroy_Script();
; 1269 : 		return;

	je	$LN56@Created@2

; 1270 : 	}
; 1271 : 
; 1272 : 	// Remove default score and use my own score distribution
; 1273 : 	this->m_score = this->m_C4->Defense.DeathPoints.Get();

	mov	ecx, DWORD PTR [ebx+28]
	add	ecx, 1868				; 0000074cH
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fstp	DWORD PTR [ebx+32]

; 1274 : 	this->m_C4->Defense.DeathPoints = 0.0f;

	mov	ecx, DWORD PTR [ebx+28]
	fldz
	lea	eax, DWORD PTR $T71542[esp+44]
	fstp	DWORD PTR $T71542[esp+44]
	push	eax
	add	ecx, 1868				; 0000074cH
	push	ecx
	call	?Set@nc_FloatDataSafeClass@@QAG_NAAM@Z	; nc_FloatDataSafeClass::Set

; 1275 : 
; 1276 : 	// Flaming check timer
; 1277 : 	if (!gzWeaponMgr->m_settings->C4.CanFlaming && !nc_CombatManager::FriendlyFirePermitted)

	mov	edx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	eax, DWORD PTR [edx+40]
	cmp	BYTE PTR [eax+76], 0
	jne	SHORT $LN2@Created@2
	mov	ecx, DWORD PTR ?FriendlyFirePermitted@nc_CombatManager@@2AA_NA ; nc_CombatManager::FriendlyFirePermitted
	cmp	BYTE PTR [ecx], 0
	jne	SHORT $LN2@Created@2

; 1278 : 		obj->Start_Observer_Timer(this->GetID(), 1.0f, 1900);

	fld1
	mov	edx, DWORD PTR [ebx+4]
	push	1900					; 0000076cH
	push	ecx
	fstp	DWORD PTR [esp]
	push	edx
	mov	ecx, esi
	call	?Start_Observer_Timer@nc_ScriptableGameObj@@QAEXHMH@Z ; nc_ScriptableGameObj::Start_Observer_Timer
$LN2@Created@2:

; 1279 : 
; 1280 : 	// Log
; 1281 : 	if (gzWeaponMgr->m_settings->C4.Output[this->m_C4->AmmoDef->AmmoType.Get() - 1][0])

	mov	eax, DWORD PTR [ebx+28]
	mov	ecx, DWORD PTR [eax+1992]
	add	ecx, 140				; 0000008cH
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	edx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	lea	ecx, DWORD PTR [eax+eax*2]
	mov	eax, DWORD PTR [edx+40]
	cmp	BYTE PTR [ecx+eax+25], 0
	je	SHORT $LN1@Created@2

; 1282 : 	{
; 1283 : 		const char *c4Name[] = { "Remote", "Timed", "Proximity" };
; 1284 : 		gzLogger("_C4", "%s C4 creation (Planter: %ls)",
; 1285 : 			c4Name[this->m_C4->AmmoDef->AmmoType.Get() - 1],
; 1286 : 			this->m_C4->Player ? this->m_C4->Player->PlayerName.m_Buffer : L"(null)"
; 1287 : 		);

	mov	ecx, DWORD PTR [ebx+28]
	mov	eax, DWORD PTR [ecx+1988]
	test	eax, eax
	mov	DWORD PTR _c4Name$60688[esp+48], OFFSET ??_C@_06MHHFENDB@Remote?$AA@
	mov	DWORD PTR _c4Name$60688[esp+52], OFFSET ??_C@_05MLMBIJDH@Timed?$AA@
	mov	DWORD PTR _c4Name$60688[esp+56], OFFSET ??_C@_09IAKIBBN@Proximity?$AA@
	je	SHORT $LN25@Created@2
	mov	eax, DWORD PTR [eax+1880]
	jmp	SHORT $LN26@Created@2
$LN25@Created@2:
	mov	eax, OFFSET ??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@
$LN26@Created@2:
	mov	ecx, DWORD PTR [ecx+1992]
	push	eax
	add	ecx, 140				; 0000008cH
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR _c4Name$60688[esp+eax*4+48]
	push	ecx
	push	OFFSET ??_C@_0BO@HFNNKFHB@?$CFs?5C4?5creation?5?$CIPlanter?3?5?$CFls?$CJ?$AA@
	push	OFFSET ??_C@_03IECDPPHJ@_C4?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 16					; 00000010H
$LN1@Created@2:
	pop	esi
	pop	ebp
	pop	ebx

; 1288 : 	}
; 1289 : }

	add	esp, 36					; 00000024H
	ret	4
?Created@gzObserverC4@@EAEXPAVnc_ScriptableGameObj@@@Z ENDP ; gzObserverC4::Created
_TEXT	ENDS
PUBLIC	??_C@_0CI@OHGJJAHF@Powerup?5?$CC?$CFs?$CC?5does?5not?5contain?5a?5@ ; `string'
PUBLIC	??_C@_0BE@NOLEDMPL@Invalid?5preset?3?5?$CFs?6?$AA@ ; `string'
EXTRN	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z:PROC ; nc_DefinitionMgrClass::Find_Definition
EXTRN	?Find_Named_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PBD_N@Z:PROC ; nc_DefinitionMgrClass::Find_Named_Definition
EXTRN	?GetData@aToken@@QAEABVaString@@XZ:PROC		; aToken::GetData
EXTRN	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z:PROC	; gzPlayerManager::Find
EXTRN	?numtok@aToken@@QAEHE@Z:PROC			; aToken::numtok
;	COMDAT ??_C@_0CI@OHGJJAHF@Powerup?5?$CC?$CFs?$CC?5does?5not?5contain?5a?5@
; File d:\source code\stgm\stplayer.h
CONST	SEGMENT
??_C@_0CI@OHGJJAHF@Powerup?5?$CC?$CFs?$CC?5does?5not?5contain?5a?5@ DB 'P'
	DB	'owerup "%s" does not contain a weapon.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BE@NOLEDMPL@Invalid?5preset?3?5?$CFs?6?$AA@
CONST	SEGMENT
??_C@_0BE@NOLEDMPL@Invalid?5preset?3?5?$CFs?6?$AA@ DB 'Invalid preset: %s'
	DB	0aH, 00H					; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z$4
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z$5
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
xdata$x	ENDS
;	COMDAT ?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z
_TEXT	SEGMENT
_tok$ = -48						; size = 8
$T71568 = -40						; size = 8
$T71572 = -32						; size = 8
$T71569 = -32						; size = 8
$T71571 = -24						; size = 8
$T71570 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_text$ = 8						; size = 4
?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z PROC	; GiveWeaponConsoleFunction::Activate, COMDAT
; _this$ = ecx

; 1538 : 	void Activate(char *text) {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z
	push	eax

; 1539 : 		if (!*text)

	mov	eax, DWORD PTR _text$[ebp]
	mov	DWORD PTR fs:0, esp
	sub	esp, 40					; 00000028H
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	push	edi
	je	$LN8@Activate@2

; 1540 : 			return;
; 1541 : 
; 1542 : 		aToken tok(text);

	push	eax
	lea	ecx, DWORD PTR $T71568[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T71568[esp+64]
	push	eax
	lea	ecx, DWORD PTR _tok$[esp+68]
	mov	DWORD PTR __$EHRec$[esp+76], 0
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T71568[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1543 : 		if (tok.numtok(' ') != 2)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _tok$[esp+68]
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 2

; 1544 : 			return;

	jne	$LN4@Activate@2

; 1545 : 
; 1546 : 		// Real player and has soldier object?
; 1547 : 		gzPlayer *gzData = gzPlayerManager::Find(tok.gettok(1, ' ').ToLong());

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T71569[esp+72]
	push	ecx
	lea	ecx, DWORD PTR _tok$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 3
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	push	eax
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	add	esp, 4
	lea	ecx, DWORD PTR $T71569[esp+64]
	mov	ebx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1548 : 		if (!gzData || !gzData->GetPlayerData()->Owner.Reference)

	test	ebx, ebx
	je	$LN4@Activate@2
	mov	eax, DWORD PTR [ebx+76]
	cmp	DWORD PTR [eax+20], 0
	je	$LN4@Activate@2

; 1549 : 			return;
; 1550 : 
; 1551 : 		// Definition exist?
; 1552 : 		nc_DefinitionClass *def = nc_DefinitionMgrClass::Find_Named_Definition(tok.gettok(2, ' ').GetData().GetString(), true);

	push	32					; 00000020H
	push	2
	lea	edx, DWORD PTR $T71570[esp+72]
	push	edx
	lea	ecx, DWORD PTR _tok$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN23@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN24@Activate@2
$LN23@Activate@2:
	xor	eax, eax
$LN24@Activate@2:
	push	1
	push	eax
	call	?Find_Named_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PBD_N@Z ; nc_DefinitionMgrClass::Find_Named_Definition
	add	esp, 8
	lea	ecx, DWORD PTR $T71570[esp+64]
	mov	esi, eax
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1553 : 		if (!def)

	test	esi, esi
	jne	SHORT $LN3@Activate@2

; 1554 : 		{
; 1555 : 			stConsole::Out("Invalid preset: %s\n", tok.gettok(2, ' ').GetData().GetString());

	push	32					; 00000020H
	push	2
	lea	eax, DWORD PTR $T71571[esp+72]
	push	eax
	lea	ecx, DWORD PTR _tok$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 5
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN29@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN30@Activate@2
$LN29@Activate@2:
	xor	eax, eax
$LN30@Activate@2:
	push	eax
	push	OFFSET ??_C@_0BE@NOLEDMPL@Invalid?5preset?3?5?$CFs?6?$AA@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 8
	lea	ecx, DWORD PTR $T71571[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1556 : 			return;

	jmp	$LN4@Activate@2
$LN3@Activate@2:

; 1557 : 		}
; 1558 : 
; 1559 : 		// Power-up contains weapon?
; 1560 : 		if (def->Get_Class_ID() == 0x3003)

	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+32]
	mov	ecx, esi
	call	eax
	cmp	eax, 12291				; 00003003H
	jne	SHORT $LN2@Activate@2

; 1561 : 		{
; 1562 : 			if (gzStatic_Cast(nc_PowerUpGameObjDef, def)->GrantWeaponID == 0)

	mov	esi, DWORD PTR [esi+196]
	test	esi, esi
	jne	SHORT $LN1@Activate@2

; 1563 : 			{
; 1564 : 				stConsole::Out("Powerup \"%s\" does not contain a weapon.", tok.gettok(2, ' ').GetData().GetString());

	push	32					; 00000020H
	push	2
	lea	ecx, DWORD PTR $T71572[esp+72]
	push	ecx
	lea	ecx, DWORD PTR _tok$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 6
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN35@Activate@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN36@Activate@2
$LN35@Activate@2:
	xor	eax, eax
$LN36@Activate@2:
	push	eax
	push	OFFSET ??_C@_0CI@OHGJJAHF@Powerup?5?$CC?$CFs?$CC?5does?5not?5contain?5a?5@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 8
	lea	ecx, DWORD PTR $T71572[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 1565 : 				return;

	jmp	SHORT $LN4@Activate@2
$LN1@Activate@2:

; 1566 : 			}
; 1567 : 			
; 1568 : 			def = nc_DefinitionMgrClass::Find_Definition(gzStatic_Cast(nc_PowerUpGameObjDef, def)->GrantWeaponID, true);

	push	1
	push	esi
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	add	esp, 8
	mov	esi, eax
$LN2@Activate@2:

; 1569 : 		}
; 1570 : 
; 1571 : 		// Real actions here.
; 1572 : 		gzData->GetPlayerData()->Owner.Reference->obj->As_SmartGameObj()->WeaponBag->Add_Weapon(gzStatic_Cast(nc_WeaponDefinitionClass, def), gzStatic_Cast(nc_WeaponDefinitionClass, def)->ClipSize.Get(), true);

	mov	eax, DWORD PTR [ebx+76]
	mov	edx, DWORD PTR [eax+20]
	mov	edi, DWORD PTR [edx+4]
	push	1
	lea	ecx, DWORD PTR [esi+116]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	push	eax
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+44]
	push	esi
	mov	ecx, edi
	call	edx
	mov	ecx, DWORD PTR [eax+1968]
	call	?Add_Weapon@nc_WeaponBagClass@@QAEXPBVnc_WeaponDefinitionClass@@H_N@Z ; nc_WeaponBagClass::Add_Weapon

; 1573 : 		gzData->GetWeaponPack()->Add_Weapon(def);

	mov	ecx, DWORD PTR [ebx+60]
	push	esi
	call	?Add_Weapon@gzWeaponPackClass@@QAEXPAVnc_DefinitionClass@@@Z ; gzWeaponPackClass::Add_Weapon
$LN4@Activate@2:
	lea	ecx, DWORD PTR _tok$[esp+64]
	mov	DWORD PTR __$EHRec$[esp+72], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN8@Activate@2:

; 1574 : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z$0:
	lea	ecx, DWORD PTR $T71568[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z$1:
	lea	ecx, DWORD PTR _tok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z$2:
	lea	ecx, DWORD PTR $T71569[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z$3:
	lea	ecx, DWORD PTR $T71570[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z$4:
	lea	ecx, DWORD PTR $T71571[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z$5:
	lea	ecx, DWORD PTR $T71572[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@GiveWeaponConsoleFunction@@UAEXPAD@Z ENDP	; GiveWeaponConsoleFunction::Activate
PUBLIC	?IsBeaconPedApproved@@YA_NH@Z			; IsBeaconPedApproved
EXTRN	?Find_Team@nc_cTeamManager@@SAPAVnc_cTeam@@H@Z:PROC ; nc_cTeamManager::Find_Team
; Function compile flags: /Ogtpy
;	COMDAT ?IsBeaconPedApproved@@YA_NH@Z
_TEXT	SEGMENT
_buildingCount$ = -16					; size = 8
_Team$61016 = -16					; size = 8
_Base$ = -8						; size = 8
_attemptTeam$ = 8					; size = 4
?IsBeaconPedApproved@@YA_NH@Z PROC			; IsBeaconPedApproved, COMDAT

; 1584 : 	if (gzWeaponMgr->m_settings->m_pedWinMinScoreDiff != -1)

	mov	eax, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	ecx, DWORD PTR [eax+40]
	sub	esp, 16					; 00000010H
	cmp	DWORD PTR [ecx+144], -1
	push	edi
	mov	edi, DWORD PTR _attemptTeam$[esp+16]
	je	SHORT $LN21@IsBeaconPe

; 1585 : 	{
; 1586 : 		nc_cTeam *Team[2] = {
; 1587 : 			nc_cTeamManager::Find_Team(0),

	push	0
	call	?Find_Team@nc_cTeamManager@@SAPAVnc_cTeam@@H@Z ; nc_cTeamManager::Find_Team

; 1588 : 			nc_cTeamManager::Find_Team(1),

	push	1
	mov	DWORD PTR _Team$61016[esp+28], eax
	call	?Find_Team@nc_cTeamManager@@SAPAVnc_cTeam@@H@Z ; nc_cTeamManager::Find_Team
	mov	DWORD PTR _Team$61016[esp+32], eax

; 1589 : 		};
; 1590 : 		if ((Team[attemptTeam ^ 1]->Score - Team[attemptTeam]->Score) >= (float)gzWeaponMgr->m_settings->m_pedWinMinScoreDiff)

	mov	ecx, DWORD PTR _Team$61016[esp+edi*4+28]
	mov	edx, edi
	xor	edx, 1
	mov	eax, DWORD PTR _Team$61016[esp+edx*4+28]
	fld	DWORD PTR [eax+1728]
	mov	edx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	eax, DWORD PTR [edx+40]
	fsub	DWORD PTR [ecx+1728]
	fild	DWORD PTR [eax+144]
	add	esp, 8
	fcompp
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $LN21@IsBeaconPe

; 1591 : 			return true;

	mov	al, 1
	pop	edi

; 1607 : 		return true;
; 1608 : 	return false;
; 1609 : }

	add	esp, 16					; 00000010H
	ret	0
$LN21@IsBeaconPe:

; 1592 : 	}
; 1593 : 	nc_BaseControllerClass *Base[2] = {
; 1594 : 		nc_BaseControllerClass::Find_Base(0),

	push	0
	call	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z ; nc_BaseControllerClass::Find_Base

; 1595 : 		nc_BaseControllerClass::Find_Base(1),

	push	1
	mov	DWORD PTR _Base$[esp+28], eax
	call	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z ; nc_BaseControllerClass::Find_Base
	add	esp, 8
	mov	DWORD PTR _Base$[esp+24], eax

; 1596 : 	};
; 1597 : 	int buildingCount[2] = { 0, 0 };

	mov	DWORD PTR _buildingCount$[esp+20], 0
	mov	DWORD PTR _buildingCount$[esp+24], 0
	xor	edx, edx
	push	ebp
	npad	10
$LL8@IsBeaconPe:

; 1599 : 	{
; 1600 : 		for (int j = 0; j < Base[i]->BuildingList.Count(); j++)

	mov	eax, DWORD PTR _Base$[esp+edx+24]
	mov	ecx, DWORD PTR [eax+1740]
	test	ecx, ecx
	jle	SHORT $LN7@IsBeaconPe
	mov	eax, DWORD PTR [eax+1728]
$LL5@IsBeaconPe:

; 1601 : 		{
; 1602 : 			if (Base[i]->BuildingList[j]->Destroyed == false)

	mov	ebp, DWORD PTR [eax]
	cmp	BYTE PTR [ebp+1912], 0
	jne	SHORT $LN4@IsBeaconPe

; 1603 : 				buildingCount[i]++;

	add	DWORD PTR _buildingCount$[esp+edx+24], 1
$LN4@IsBeaconPe:

; 1599 : 	{
; 1600 : 		for (int j = 0; j < Base[i]->BuildingList.Count(); j++)

	add	eax, 4
	sub	ecx, 1
	jne	SHORT $LL5@IsBeaconPe
$LN7@IsBeaconPe:

; 1598 : 	for (int i = 0; i <= 1; i++)

	add	edx, 4
	cmp	edx, 4
	jle	SHORT $LL8@IsBeaconPe

; 1604 : 		}
; 1605 : 	}
; 1606 : 	if (buildingCount[attemptTeam ^ 1] > buildingCount[attemptTeam])

	mov	ecx, edi
	xor	ecx, 1
	mov	edx, DWORD PTR _buildingCount$[esp+ecx*4+24]
	cmp	edx, DWORD PTR _buildingCount$[esp+edi*4+24]
	pop	ebp
	setg	al
	pop	edi

; 1607 : 		return true;
; 1608 : 	return false;
; 1609 : }

	add	esp, 16					; 00000010H
	ret	0
?IsBeaconPedApproved@@YA_NH@Z ENDP			; IsBeaconPedApproved
_TEXT	ENDS
PUBLIC	?deallocate@?$_DebugHeapAllocator@D@std@@QAEXPADI@Z ; std::_DebugHeapAllocator<char>::deallocate
; Function compile flags: /Ogtpy
; File c:\program files (x86)\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

; 45   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 46   : 		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	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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

; 47   : 	};

	ret	0
??1?$aVector@PAVaStringData@@@@UAE@XZ ENDP		; aVector<aStringData *>::~aVector<aStringData *>
_TEXT	ENDS
PUBLIC	??_7?$aStringArrayBase@VaString@@@@6B@		; aStringArrayBase<aString>::`vftable'
PUBLIC	??1?$aStringArrayBase@VaString@@@@UAE@XZ	; aStringArrayBase<aString>::~aStringArrayBase<aString>
PUBLIC	??_R4?$aStringArrayBase@VaString@@@@6B@		; aStringArrayBase<aString>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aStringArrayBase@VaString@@@@@8	; aStringArrayBase<aString> `RTTI Type Descriptor'
PUBLIC	??_R3?$aStringArrayBase@VaString@@@@8		; aStringArrayBase<aString>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aStringArrayBase@VaString@@@@8		; aStringArrayBase<aString>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aStringArrayBase@VaString@@@@8	; aStringArrayBase<aString>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Delete@?$aStringArrayBase@VaString@@@@UAEXI@Z	; aStringArrayBase<aString>::Delete
EXTRN	??_E?$aStringArrayBase@VaString@@@@UAEPAXI@Z:PROC ; aStringArrayBase<aString>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aStringArrayBase@VaString@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aStringArrayBase@VaString@@@@8 DD FLAT:??_R0?AV?$aStringArrayBase@VaString@@@@@8 ; aStringArrayBase<aString>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aStringArrayBase@VaString@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aStringArrayBase@VaString@@@@8
rdata$r	SEGMENT
??_R2?$aStringArrayBase@VaString@@@@8 DD FLAT:??_R1A@?0A@EA@?$aStringArrayBase@VaString@@@@8 ; aStringArrayBase<aString>::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R3?$aStringArrayBase@VaString@@@@8
rdata$r	SEGMENT
??_R3?$aStringArrayBase@VaString@@@@8 DD 00H		; aStringArrayBase<aString>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2?$aStringArrayBase@VaString@@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aStringArrayBase@VaString@@@@@8
_DATA	SEGMENT
??_R0?AV?$aStringArrayBase@VaString@@@@@8 DD FLAT:??_7type_info@@6B@ ; aStringArrayBase<aString> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aStringArrayBase@VaString@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aStringArrayBase@VaString@@@@6B@
rdata$r	SEGMENT
??_R4?$aStringArrayBase@VaString@@@@6B@ DD 00H		; aStringArrayBase<aString>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aStringArrayBase@VaString@@@@@8
	DD	FLAT:??_R3?$aStringArrayBase@VaString@@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aStringArrayBase@VaString@@@@6B@
CONST	SEGMENT
??_7?$aStringArrayBase@VaString@@@@6B@ DD FLAT:??_R4?$aStringArrayBase@VaString@@@@6B@ ; aStringArrayBase<aString>::`vftable'
	DD	FLAT:??_E?$aStringArrayBase@VaString@@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aStringArrayBase@VaString@@@@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@VaString@@@@UAEXI@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$aStringArrayBase@VaString@@@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$aStringArrayBase@VaString@@@@UAE@XZ$0
__ehfuncinfo$??1?$aStringArrayBase@VaString@@@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$aStringArrayBase@VaString@@@@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@VaString@@@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$aStringArrayBase@VaString@@@@UAE@XZ PROC		; aStringArrayBase<aString>::~aStringArrayBase<aString>, COMDAT
; _this$ = ecx

; 76   : 	{

	push	-1
	push	__ehhandler$??1?$aStringArrayBase@VaString@@@@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@VaString@@@@6B@
	xor	edi, edi
	mov	DWORD PTR __$EHRec$[esp+32], edi

; 77   : 		this->Clear();

	call	?Clear@?$aStringArrayBase@VaString@@@@UAEXXZ ; aStringArrayBase<aString>::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	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@VaString@@@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$aVector@PAVaStringData@@@@UAE@XZ	; aVector<aStringData *>::~aVector<aStringData *>
__ehhandler$??1?$aStringArrayBase@VaString@@@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1?$aStringArrayBase@VaString@@@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1?$aStringArrayBase@VaString@@@@UAE@XZ ENDP		; aStringArrayBase<aString>::~aStringArrayBase<aString>
; Function compile flags: /Ogtpy
;	COMDAT ?Delete@?$aStringArrayBase@VaString@@@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aStringArrayBase@VaString@@@@UAEXI@Z PROC	; aStringArrayBase<aString>::Delete, COMDAT
; _this$ = ecx

; 110  : 	{

	push	esi
	push	edi

; 111  : 		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@14

; 112  : 			return;
; 113  : 		this->m_vector[index]->DecRef();

	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax+edi*4]
	call	?DecRef@aStringData@@QAEXXZ		; aStringData::DecRef

; 114  : 		this->aVector<aStringData *>::Delete(index);

	push	edi
	mov	ecx, esi
	call	?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z ; aVector<aStringData *>::Delete
$LN2@Delete@14:
	pop	edi
	pop	esi

; 115  : 	};

	ret	4
?Delete@?$aStringArrayBase@VaString@@@@UAEXI@Z ENDP	; aStringArrayBase<aString>::Delete
_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
; File d:\source code\alib\include\avector.h
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@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@2:
	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

; 110  : 	{

	push	esi
	push	edi

; 111  : 		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@15

; 112  : 			return;
; 113  : 		this->m_vector[index]->DecRef();

	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax+edi*4]
	call	?DecRef@aStringData@@QAEXXZ		; aStringData::DecRef

; 114  : 		this->aVector<aStringData *>::Delete(index);

	push	edi
	mov	ecx, esi
	call	?Delete@?$aVector@PAVaStringData@@@@UAEXI@Z ; aVector<aStringData *>::Delete
$LN2@Delete@15:
	pop	edi
	pop	esi

; 115  : 	};

	ret	4
?Delete@?$aStringArrayBase@VaWideString@@@@UAEXI@Z ENDP	; aStringArrayBase<aWideString>::Delete
_TEXT	ENDS
PUBLIC	??1?$aVector@PAUgzBackpackSoldierData@@@@UAE@XZ	; aVector<gzBackpackSoldierData *>::~aVector<gzBackpackSoldierData *>
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\avector.h
;	COMDAT ??1?$aVector@PAUgzBackpackSoldierData@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAUgzBackpackSoldierData@@@@UAE@XZ PROC	; aVector<gzBackpackSoldierData *>::~aVector<gzBackpackSoldierData *>, COMDAT
; _this$ = ecx

; 45   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 46   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzBackpackSoldierData@@@@6B@
	je	SHORT $LN8@aVector@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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

; 47   : 	};

	ret	0
??1?$aVector@PAUgzBackpackSoldierData@@@@UAE@XZ ENDP	; aVector<gzBackpackSoldierData *>::~aVector<gzBackpackSoldierData *>
_TEXT	ENDS
PUBLIC	??1?$aVector@PAUgzWeaponBan@@@@UAE@XZ		; aVector<gzWeaponBan *>::~aVector<gzWeaponBan *>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@PAUgzWeaponBan@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAUgzWeaponBan@@@@UAE@XZ PROC		; aVector<gzWeaponBan *>::~aVector<gzWeaponBan *>, COMDAT
; _this$ = ecx

; 45   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 46   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzWeaponBan@@@@6B@
	je	SHORT $LN8@aVector@3
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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

; 47   : 	};

	ret	0
??1?$aVector@PAUgzWeaponBan@@@@UAE@XZ ENDP		; aVector<gzWeaponBan *>::~aVector<gzWeaponBan *>
_TEXT	ENDS
PUBLIC	??1?$aVector@PAUgzWeaponLevelStruct@@@@UAE@XZ	; aVector<gzWeaponLevelStruct *>::~aVector<gzWeaponLevelStruct *>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@PAUgzWeaponLevelStruct@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAUgzWeaponLevelStruct@@@@UAE@XZ PROC	; aVector<gzWeaponLevelStruct *>::~aVector<gzWeaponLevelStruct *>, COMDAT
; _this$ = ecx

; 45   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 46   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzWeaponLevelStruct@@@@6B@
	je	SHORT $LN8@aVector@4
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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

; 47   : 	};

	ret	0
??1?$aVector@PAUgzWeaponLevelStruct@@@@UAE@XZ ENDP	; aVector<gzWeaponLevelStruct *>::~aVector<gzWeaponLevelStruct *>
_TEXT	ENDS
PUBLIC	??1?$aVector@PAUgzBackpackSoldierPercentData@@@@UAE@XZ ; aVector<gzBackpackSoldierPercentData *>::~aVector<gzBackpackSoldierPercentData *>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@PAUgzBackpackSoldierPercentData@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAUgzBackpackSoldierPercentData@@@@UAE@XZ PROC ; aVector<gzBackpackSoldierPercentData *>::~aVector<gzBackpackSoldierPercentData *>, COMDAT
; _this$ = ecx

; 45   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 46   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzBackpackSoldierPercentData@@@@6B@
	je	SHORT $LN8@aVector@5
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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

; 47   : 	};

	ret	0
??1?$aVector@PAUgzBackpackSoldierPercentData@@@@UAE@XZ ENDP ; aVector<gzBackpackSoldierPercentData *>::~aVector<gzBackpackSoldierPercentData *>
_TEXT	ENDS
PUBLIC	??1?$aVector@PAVgzBackpackClass@@@@UAE@XZ	; aVector<gzBackpackClass *>::~aVector<gzBackpackClass *>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@PAVgzBackpackClass@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAVgzBackpackClass@@@@UAE@XZ PROC		; aVector<gzBackpackClass *>::~aVector<gzBackpackClass *>, COMDAT
; _this$ = ecx

; 45   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 46   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVgzBackpackClass@@@@6B@
	je	SHORT $LN8@aVector@6
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@6:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 47   : 	};

	ret	0
??1?$aVector@PAVgzBackpackClass@@@@UAE@XZ ENDP		; aVector<gzBackpackClass *>::~aVector<gzBackpackClass *>
_TEXT	ENDS
PUBLIC	??1?$aVector@UgzWeaponPackData@@@@UAE@XZ	; aVector<gzWeaponPackData>::~aVector<gzWeaponPackData>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@UgzWeaponPackData@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@UgzWeaponPackData@@@@UAE@XZ PROC		; aVector<gzWeaponPackData>::~aVector<gzWeaponPackData>, COMDAT
; _this$ = ecx

; 45   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 46   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@UgzWeaponPackData@@@@6B@
	je	SHORT $LN8@aVector@7
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@7:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 47   : 	};

	ret	0
??1?$aVector@UgzWeaponPackData@@@@UAE@XZ ENDP		; aVector<gzWeaponPackData>::~aVector<gzWeaponPackData>
_TEXT	ENDS
PUBLIC	??4?$aVector@UgzWeaponPackData@@@@QAEAAV0@ABV0@@Z ; aVector<gzWeaponPackData>::operator=
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??4?$aVector@UgzWeaponPackData@@@@QAEAAV0@ABV0@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??4?$aVector@UgzWeaponPackData@@@@QAEAAV0@ABV0@@Z$0
__ehfuncinfo$??4?$aVector@UgzWeaponPackData@@@@QAEAAV0@ABV0@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??4?$aVector@UgzWeaponPackData@@@@QAEAAV0@ABV0@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??4?$aVector@UgzWeaponPackData@@@@QAEAAV0@ABV0@@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
$T71837 = 8						; size = 4
_vec$ = 8						; size = 4
??4?$aVector@UgzWeaponPackData@@@@QAEAAV0@ABV0@@Z PROC	; aVector<gzWeaponPackData>::operator=, COMDAT
; _this$ = ecx

; 49   : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$??4?$aVector@UgzWeaponPackData@@@@QAEAAV0@ABV0@@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ebx
	push	ebp
	push	esi
	mov	esi, ecx

; 50   : 		this->Clear();

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

; 51   : 		if (vec.m_alloc > 0)

	mov	ebp, DWORD PTR _vec$[esp+24]
	cmp	DWORD PTR [ebp+8], 0
	jbe	SHORT $LN9@operator@2

; 52   : 		{
; 53   : //#if (VECTOR_USE_CRT == 1)
; 54   : //			this->m_vector = (T *)malloc(vec.m_items * sizeof(T));
; 55   : //#else
; 56   : 			this->m_vector = new T[vec.m_items];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	56					; 00000038H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ebx, DWORD PTR [ebp+12]
	xor	ecx, ecx
	mov	eax, ebx
	mov	edx, 8
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	edi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T71837[esp+24], edi
	test	edi, edi
	mov	DWORD PTR __$EHRec$[esp+36], 0
	je	SHORT $LN4@operator@2
	push	OFFSET ??0gzWeaponPackData@@QAE@XZ	; gzWeaponPackData::gzWeaponPackData
	push	ebx
	push	8
	push	edi
	call	??_H@YGXPAXIHP6EPAX0@Z@Z
	jmp	SHORT $LN5@operator@2
$LN4@operator@2:
	xor	edi, edi
$LN5@operator@2:
	mov	DWORD PTR [esi+4], edi

; 57   : //#endif
; 58   : 			this->m_alloc = vec.m_items;

	mov	eax, DWORD PTR [ebp+12]
	mov	DWORD PTR [esi+8], eax

; 59   : 			this->m_items = vec.m_items;

	mov	eax, DWORD PTR [ebp+12]

; 60   : 			memcpy(this->m_vector, vec.m_vector, this->m_items * sizeof(T));

	lea	ecx, DWORD PTR [eax*8]
	mov	DWORD PTR [esi+12], eax
	mov	edx, DWORD PTR [ebp+4]
	push	ecx
	push	edx
	push	edi
	call	_memcpy
	add	esp, 12					; 0000000cH
$LN9@operator@2:

; 61   : 		}
; 62   : 		return *this;
; 63   : 	};

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	add	esp, 12					; 0000000cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??4?$aVector@UgzWeaponPackData@@@@QAEAAV0@ABV0@@Z$0:
	mov	eax, DWORD PTR $T71837[ebp-4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	pop	ecx
	ret	0
__ehhandler$??4?$aVector@UgzWeaponPackData@@@@QAEAAV0@ABV0@@Z:
	mov	eax, OFFSET __ehfuncinfo$??4?$aVector@UgzWeaponPackData@@@@QAEAAV0@ABV0@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??4?$aVector@UgzWeaponPackData@@@@QAEAAV0@ABV0@@Z ENDP	; aVector<gzWeaponPackData>::operator=
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Resize@?$aVector@UgzWeaponPackData@@@@UAE_NI@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Resize@?$aVector@UgzWeaponPackData@@@@UAE_NI@Z$0
__ehfuncinfo$?Resize@?$aVector@UgzWeaponPackData@@@@UAE_NI@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Resize@?$aVector@UgzWeaponPackData@@@@UAE_NI@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Resize@?$aVector@UgzWeaponPackData@@@@UAE_NI@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
$T71855 = 8						; size = 4
_nSize$ = 8						; size = 4
?Resize@?$aVector@UgzWeaponPackData@@@@UAE_NI@Z PROC	; aVector<gzWeaponPackData>::Resize, COMDAT
; _this$ = ecx

; 81   : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Resize@?$aVector@UgzWeaponPackData@@@@UAE_NI@Z
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ebp
	push	esi

; 82   : 		if (this->m_alloc != nSize)

	mov	esi, DWORD PTR _nSize$[esp+16]
	mov	ebp, ecx
	cmp	DWORD PTR [ebp+8], esi
	push	edi
	je	$LN14@Resize@9

; 83   : 		{
; 84   : 			if (nSize > 0)

	test	esi, esi
	jbe	$LN3@Resize@9

; 85   : 			{
; 86   : 
; 87   : //#if (VECTOR_USE_CRT == 1)
; 88   : //				this->m_vector = (T *)realloc(this->m_vector, nSize * sizeof(T));
; 89   : //#else
; 90   : 				T* newVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	90					; 0000005aH
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, esi
	mov	edx, 8
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	edi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T71855[esp+20], edi
	test	edi, edi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $LN7@Resize@9
	push	OFFSET ??0gzWeaponPackData@@QAE@XZ	; gzWeaponPackData::gzWeaponPackData
	push	esi
	push	8
	push	edi
	call	??_H@YGXPAXIHP6EPAX0@Z@Z
	jmp	SHORT $LN8@Resize@9
$LN7@Resize@9:
	xor	edi, edi
$LN8@Resize@9:

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

	mov	eax, DWORD PTR [ebp+4]
	test	eax, eax
	mov	DWORD PTR __$EHRec$[esp+32], -1
	je	SHORT $LN12@Resize@9

; 92   : 				{
; 93   : 					memcpy(newVec, this->m_vector, nSize * sizeof(T));

	lea	ecx, DWORD PTR [esi*8]
	push	ecx
	push	eax
	push	edi
	call	_memcpy

; 94   : 					delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	94					; 0000005eH
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	edx, DWORD PTR [ebp+4]
	push	edx
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 28					; 0000001cH
$LN12@Resize@9:

; 95   : 				}
; 96   : 				this->m_vector = newVec;

	mov	DWORD PTR [ebp+4], edi

; 97   : //#endif
; 98   : 
; 99   : 				this->m_alloc = nSize;

	mov	DWORD PTR [ebp+8], esi

; 100  : 			}
; 101  : 			else

	jmp	SHORT $LN14@Resize@9
$LN3@Resize@9:

; 102  : 				this->Clear();

	mov	eax, DWORD PTR [ebp]
	mov	edx, DWORD PTR [eax+4]
	call	edx
$LN14@Resize@9:

; 103  : 		}
; 104  : 		return true;
; 105  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	pop	esi
	mov	al, 1
	mov	DWORD PTR fs:0, ecx
	pop	ebp
	add	esp, 12					; 0000000cH
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Resize@?$aVector@UgzWeaponPackData@@@@UAE_NI@Z$0:
	mov	eax, DWORD PTR $T71855[ebp-4]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	pop	ecx
	ret	0
__ehhandler$?Resize@?$aVector@UgzWeaponPackData@@@@UAE_NI@Z:
	mov	eax, OFFSET __ehfuncinfo$?Resize@?$aVector@UgzWeaponPackData@@@@UAE_NI@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Resize@?$aVector@UgzWeaponPackData@@@@UAE_NI@Z ENDP	; aVector<gzWeaponPackData>::Resize
PUBLIC	??1?$aVector@PAVgzWeaponPackClass@@@@UAE@XZ	; aVector<gzWeaponPackClass *>::~aVector<gzWeaponPackClass *>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@PAVgzWeaponPackClass@@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@PAVgzWeaponPackClass@@@@UAE@XZ PROC	; aVector<gzWeaponPackClass *>::~aVector<gzWeaponPackClass *>, COMDAT
; _this$ = ecx

; 45   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 46   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVgzWeaponPackClass@@@@6B@
	je	SHORT $LN8@aVector@8
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@8:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 47   : 	};

	ret	0
??1?$aVector@PAVgzWeaponPackClass@@@@UAE@XZ ENDP	; aVector<gzWeaponPackClass *>::~aVector<gzWeaponPackClass *>
_TEXT	ENDS
PUBLIC	??1?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAE@XZ ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::~aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAE@XZ PROC ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::~aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>, COMDAT
; _this$ = ecx

; 45   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 46   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@6B@
	je	SHORT $LN8@aVector@9
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@9:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 47   : 	};

	ret	0
??1?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAE@XZ ENDP ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::~aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>
_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@8
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@8:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@8
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@8:
	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@9
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@9:
	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@PAUgzBackpackSoldierData@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAUgzBackpackSoldierData@@@@UAEPAXI@Z PROC ; aVector<gzBackpackSoldierData *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzBackpackSoldierData@@@@6B@
	je	SHORT $LN6@scalar@10
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@10:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@10
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@10:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@PAUgzBackpackSoldierData@@@@UAEPAXI@Z ENDP ; aVector<gzBackpackSoldierData *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAUgzWeaponBan@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAUgzWeaponBan@@@@UAEPAXI@Z PROC		; aVector<gzWeaponBan *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzWeaponBan@@@@6B@
	je	SHORT $LN6@scalar@11
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@PAUgzWeaponBan@@@@UAEPAXI@Z ENDP		; aVector<gzWeaponBan *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAUgzWeaponLevelStruct@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAUgzWeaponLevelStruct@@@@UAEPAXI@Z PROC	; aVector<gzWeaponLevelStruct *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzWeaponLevelStruct@@@@6B@
	je	SHORT $LN6@scalar@12
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@12:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@12
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@12:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@PAUgzWeaponLevelStruct@@@@UAEPAXI@Z ENDP	; aVector<gzWeaponLevelStruct *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAUgzBackpackSoldierPercentData@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAUgzBackpackSoldierPercentData@@@@UAEPAXI@Z PROC ; aVector<gzBackpackSoldierPercentData *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzBackpackSoldierPercentData@@@@6B@
	je	SHORT $LN6@scalar@13
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@PAUgzBackpackSoldierPercentData@@@@UAEPAXI@Z ENDP ; aVector<gzBackpackSoldierPercentData *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAVgzBackpackClass@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAVgzBackpackClass@@@@UAEPAXI@Z PROC	; aVector<gzBackpackClass *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVgzBackpackClass@@@@6B@
	je	SHORT $LN6@scalar@14
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@PAVgzBackpackClass@@@@UAEPAXI@Z ENDP	; aVector<gzBackpackClass *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@UgzWeaponPackData@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@UgzWeaponPackData@@@@UAEPAXI@Z PROC	; aVector<gzWeaponPackData>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@UgzWeaponPackData@@@@6B@
	je	SHORT $LN6@scalar@15
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@UgzWeaponPackData@@@@UAEPAXI@Z ENDP	; aVector<gzWeaponPackData>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@PAVgzWeaponPackClass@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@PAVgzWeaponPackClass@@@@UAEPAXI@Z PROC	; aVector<gzWeaponPackClass *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAVgzWeaponPackClass@@@@6B@
	je	SHORT $LN6@scalar@16
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@PAVgzWeaponPackClass@@@@UAEPAXI@Z ENDP	; aVector<gzWeaponPackClass *>::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAEPAXI@Z PROC ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@6B@
	je	SHORT $LN6@scalar@17
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@17:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@17
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@17:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAEPAXI@Z ENDP ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::`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'
EXTRN	??2@YAPAXI@Z:PROC				; operator new
;	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@VgzObserverBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverBeacon@@@@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@VgzObserverBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T72138 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzObserverBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzObserverBeacon>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverBeacon@@@@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 $T72138[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 ??_7gzObserverBeacon@@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@VgzObserverBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T72138[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzObserverBeacon@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzObserverBeacon>::Create
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverC4@@@@UAEPAVnc_ScriptImpClass@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Create@?$nc_ScriptRegistrant@VgzObserverC4@@@@UAEPAVnc_ScriptImpClass@@XZ$0
__ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverC4@@@@UAEPAVnc_ScriptImpClass@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Create@?$nc_ScriptRegistrant@VgzObserverC4@@@@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@VgzObserverC4@@@@UAEPAVnc_ScriptImpClass@@XZ
_TEXT	SEGMENT
$T72161 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$nc_ScriptRegistrant@VgzObserverC4@@@@UAEPAVnc_ScriptImpClass@@XZ PROC ; nc_ScriptRegistrant<gzObserverC4>::Create, COMDAT
; _this$ = ecx

; 471  : {

	push	-1
	push	__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverC4@@@@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	552					; 00000228H
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T72161[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 ??_7gzObserverC4@@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@VgzObserverC4@@@@UAEPAVnc_ScriptImpClass@@XZ$0:
	mov	eax, DWORD PTR $T72161[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$nc_ScriptRegistrant@VgzObserverC4@@@@UAEPAVnc_ScriptImpClass@@XZ:
	mov	eax, OFFSET __ehfuncinfo$?Create@?$nc_ScriptRegistrant@VgzObserverC4@@@@UAEPAVnc_ScriptImpClass@@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Create@?$nc_ScriptRegistrant@VgzObserverC4@@@@UAEPAVnc_ScriptImpClass@@XZ ENDP ; nc_ScriptRegistrant<gzObserverC4>::Create
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzObserverBeacon@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzObserverBeacon@@UAEPAXI@Z PROC			; gzObserverBeacon::`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
??_GgzObserverBeacon@@UAEPAXI@Z ENDP			; gzObserverBeacon::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzObserverC4@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzObserverC4@@UAEPAXI@Z PROC			; gzObserverC4::`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
??_GgzObserverC4@@UAEPAXI@Z ENDP			; gzObserverC4::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??1gzBackpackSoldierData@@QAE@XZ		; gzBackpackSoldierData::~gzBackpackSoldierData
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzBackpackSoldierData@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzBackpackSoldierData@@QAE@XZ$0
__ehfuncinfo$??1gzBackpackSoldierData@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzBackpackSoldierData@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzBackpackSoldierData@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzBackpackSoldierData@@QAE@XZ PROC			; gzBackpackSoldierData::~gzBackpackSoldierData, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzBackpackSoldierData@@QAE@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
	xor	edi, edi
	cmp	DWORD PTR [esi+12], edi
	mov	DWORD PTR __$EHRec$[esp+32], edi
	mov	DWORD PTR [esi+8], OFFSET ??_7?$aVector@PAUgzBackpackSoldierPercentData@@@@6B@
	je	SHORT $LN7@gzBackpack@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+12]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+12], edi
$LN7@gzBackpack@2:
	mov	ecx, esi
	mov	DWORD PTR [esi+16], edi
	mov	DWORD PTR [esi+20], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	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$??1gzBackpackSoldierData@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??1gzBackpackSoldierData@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzBackpackSoldierData@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzBackpackSoldierData@@QAE@XZ ENDP			; gzBackpackSoldierData::~gzBackpackSoldierData
PUBLIC	??1aStringArray@@UAE@XZ				; aStringArray::~aStringArray
; Function compile flags: /Ogtpy
;	COMDAT ??1aStringArray@@UAE@XZ
_TEXT	SEGMENT
??1aStringArray@@UAE@XZ PROC				; aStringArray::~aStringArray, COMDAT
; _this$ = ecx
	jmp	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
??1aStringArray@@UAE@XZ ENDP				; aStringArray::~aStringArray
_TEXT	ENDS
PUBLIC	??0gzBackpackSoldierData@@QAE@XZ		; gzBackpackSoldierData::gzBackpackSoldierData
; Function compile flags: /Ogtpy
;	COMDAT ??0gzBackpackSoldierData@@QAE@XZ
_TEXT	SEGMENT
??0gzBackpackSoldierData@@QAE@XZ PROC			; gzBackpackSoldierData::gzBackpackSoldierData, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0aString@@QAE@XZ			; aString::aString
	xor	eax, eax
	mov	DWORD PTR [esi+12], eax
	mov	DWORD PTR [esi+16], eax
	mov	DWORD PTR [esi+20], eax
	mov	DWORD PTR [esi+8], OFFSET ??_7?$aVector@PAUgzBackpackSoldierPercentData@@@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzBackpackSoldierData@@QAE@XZ ENDP			; gzBackpackSoldierData::gzBackpackSoldierData
_TEXT	ENDS
PUBLIC	??0?$aStringArrayBase@VaString@@@@QAE@XZ	; aStringArrayBase<aString>::aStringArrayBase<aString>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$aStringArrayBase@VaString@@@@QAE@XZ
_TEXT	SEGMENT
??0?$aStringArrayBase@VaString@@@@QAE@XZ PROC		; aStringArrayBase<aString>::aStringArrayBase<aString>, 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@VaString@@@@6B@
	ret	0
??0?$aStringArrayBase@VaString@@@@QAE@XZ ENDP		; aStringArrayBase<aString>::aStringArrayBase<aString>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aStringArrayBase@VaString@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aStringArrayBase@VaString@@@@UAEPAXI@Z PROC	; aStringArrayBase<aString>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@20
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@20:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aStringArrayBase@VaString@@@@UAEPAXI@Z ENDP	; aStringArrayBase<aString>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??0gzSettingsWeaponBackpackStruct@@QAE@XZ	; gzSettingsWeaponBackpackStruct::gzSettingsWeaponBackpackStruct
; Function compile flags: /Ogtpy
;	COMDAT ??0gzSettingsWeaponBackpackStruct@@QAE@XZ
_TEXT	SEGMENT
??0gzSettingsWeaponBackpackStruct@@QAE@XZ PROC		; gzSettingsWeaponBackpackStruct::gzSettingsWeaponBackpackStruct, COMDAT
; _this$ = ecx
	mov	eax, ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax+8], OFFSET ??_7?$aVector@PAUgzBackpackSoldierData@@@@6B@
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax+16], ecx
	mov	DWORD PTR [eax+20], ecx
	ret	0
??0gzSettingsWeaponBackpackStruct@@QAE@XZ ENDP		; gzSettingsWeaponBackpackStruct::gzSettingsWeaponBackpackStruct
_TEXT	ENDS
PUBLIC	??1gzSettingsWeaponBackpackStruct@@QAE@XZ	; gzSettingsWeaponBackpackStruct::~gzSettingsWeaponBackpackStruct
; Function compile flags: /Ogtpy
;	COMDAT ??1gzSettingsWeaponBackpackStruct@@QAE@XZ
_TEXT	SEGMENT
??1gzSettingsWeaponBackpackStruct@@QAE@XZ PROC		; gzSettingsWeaponBackpackStruct::~gzSettingsWeaponBackpackStruct, COMDAT
; _this$ = ecx
	push	esi
	push	edi
	mov	esi, ecx
	xor	edi, edi
	cmp	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], OFFSET ??_7?$aVector@PAUgzBackpackSoldierData@@@@6B@
	je	SHORT $LN11@gzSettings
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+12]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+12], edi
$LN11@gzSettings:
	mov	DWORD PTR [esi+20], edi
	mov	DWORD PTR [esi+16], edi
	pop	edi
	pop	esi
	ret	0
??1gzSettingsWeaponBackpackStruct@@QAE@XZ ENDP		; gzSettingsWeaponBackpackStruct::~gzSettingsWeaponBackpackStruct
_TEXT	ENDS
PUBLIC	??0gzSettingsWeaponStruct@@QAE@XZ		; gzSettingsWeaponStruct::gzSettingsWeaponStruct
; Function compile flags: /Ogtpy
;	COMDAT ??0gzSettingsWeaponStruct@@QAE@XZ
_TEXT	SEGMENT
??0gzSettingsWeaponStruct@@QAE@XZ PROC			; gzSettingsWeaponStruct::gzSettingsWeaponStruct, COMDAT
; _this$ = ecx
	mov	eax, ecx
	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aVector@PAUgzWeaponBan@@@@6B@
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax+16], OFFSET ??_7?$aVector@PAUgzWeaponLevelStruct@@@@6B@
	mov	DWORD PTR [eax+20], ecx
	mov	DWORD PTR [eax+24], ecx
	mov	DWORD PTR [eax+28], ecx
	ret	0
??0gzSettingsWeaponStruct@@QAE@XZ ENDP			; gzSettingsWeaponStruct::gzSettingsWeaponStruct
_TEXT	ENDS
PUBLIC	??1gzSettingsWeaponStruct@@QAE@XZ		; gzSettingsWeaponStruct::~gzSettingsWeaponStruct
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzSettingsWeaponStruct@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzSettingsWeaponStruct@@QAE@XZ$0
__ehfuncinfo$??1gzSettingsWeaponStruct@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzSettingsWeaponStruct@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzSettingsWeaponStruct@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzSettingsWeaponStruct@@QAE@XZ PROC			; gzSettingsWeaponStruct::~gzSettingsWeaponStruct, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzSettingsWeaponStruct@@QAE@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
	xor	edi, edi
	cmp	DWORD PTR [esi+20], edi
	mov	DWORD PTR __$EHRec$[esp+32], edi
	mov	DWORD PTR [esi+16], OFFSET ??_7?$aVector@PAUgzWeaponLevelStruct@@@@6B@
	je	SHORT $LN7@gzSettings@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+20]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+20], edi
$LN7@gzSettings@2:
	mov	DWORD PTR [esi+24], edi
	mov	DWORD PTR [esi+28], edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@PAUgzWeaponBan@@@@6B@
	je	SHORT $LN19@gzSettings@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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
$LN19@gzSettings@2:
	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$??1gzSettingsWeaponStruct@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$aVector@PAUgzWeaponBan@@@@UAE@XZ	; aVector<gzWeaponBan *>::~aVector<gzWeaponBan *>
__ehhandler$??1gzSettingsWeaponStruct@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzSettingsWeaponStruct@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzSettingsWeaponStruct@@QAE@XZ ENDP			; gzSettingsWeaponStruct::~gzSettingsWeaponStruct
PUBLIC	??_C@_0HB@PNKAPBBL@Ah?5crap?$CB?$CB?$CB?5The?5Tiberium?5Crystal?5@ ; `string'
PUBLIC	??_C@_04NPLPABOK@neck?$AA@			; `string'
PUBLIC	__real@40a00000
EXTRN	?gzCreate_2D_WAV_Sound_Player@@3P6AHPAVnc_ScriptableGameObj@@PBD@ZA:DWORD ; gzCreate_2D_WAV_Sound_Player
EXTRN	?Drop@gzTiberiumCrystal@@QAEXXZ:PROC		; gzTiberiumCrystal::Drop
EXTRN	?RestoreWeapons@gzTiberiumCrystal@@QAEXXZ:PROC	; gzTiberiumCrystal::RestoreWeapons
EXTRN	?Attach_To_Object_Bone@nc_PhysicalGameObj@@QAEXPAV1@PBD@Z:PROC ; nc_PhysicalGameObj::Attach_To_Object_Bone
EXTRN	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z:PROC ; nc_GameObjManager::Find_PhysicalGameObj
EXTRN	?GetCrystalId@gzTiberiumCrystal@@QAEIXZ:PROC	; gzTiberiumCrystal::GetCrystalId
;	COMDAT ??_C@_0HB@PNKAPBBL@Ah?5crap?$CB?$CB?$CB?5The?5Tiberium?5Crystal?5@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0HB@PNKAPBBL@Ah?5crap?$CB?$CB?$CB?5The?5Tiberium?5Crystal?5@ DB 'Ah'
	DB	' crap!!! The Tiberium Crystal blocked my weapon backpack.. No'
	DB	'w I have to drop it to store my weapons! #%&*!#@$', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_04NPLPABOK@neck?$AA@
CONST	SEGMENT
??_C@_04NPLPABOK@neck?$AA@ DB 'neck', 00H		; `string'
CONST	ENDS
;	COMDAT __real@40a00000
CONST	SEGMENT
__real@40a00000 DD 040a00000r			; 5
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Object_PowerupGrant@gzBackpackClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Object_PowerupGrant@gzBackpackClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z$0
__ehfuncinfo$?Object_PowerupGrant@gzBackpackClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Object_PowerupGrant@gzBackpackClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
xdata$x	ENDS
;	COMDAT ?Object_PowerupGrant@gzBackpackClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z
_TEXT	SEGMENT
_canGrant$59783 = -45					; size = 1
_j$59784 = -44						; size = 4
_gzData$59773 = -40					; size = 4
_this$ = -36						; size = 4
_i$59779 = -32						; size = 4
tv740 = -28						; size = 4
_k$59789 = -28						; size = 4
$T72356 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_evt$ = 8						; size = 4
?Object_PowerupGrant@gzBackpackClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z PROC ; gzBackpackClass::Object_PowerupGrant, COMDAT
; _this$ = ecx

; 324  : {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?Object_PowerupGrant@gzBackpackClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 40					; 00000028H
	push	ebx
	push	esi
	push	edi

; 325  : 	if (evt.m_powerup->NetworkID == this->m_backpackId)

	mov	edi, DWORD PTR _evt$[ebp]
	mov	eax, DWORD PTR [edi+24]
	mov	ebx, ecx
	mov	ecx, DWORD PTR [eax+12]
	cmp	ecx, DWORD PTR [ebx+64]
	mov	DWORD PTR _this$[esp+64], ebx
	jne	$LN27@Object_Pow@2

; 326  : 	{
; 327  : 		if (evt.m_soldier->Player == NULL)

	mov	edx, DWORD PTR [edi+28]
	mov	esi, DWORD PTR [edx+2400]
	test	esi, esi
	je	$LN27@Object_Pow@2

; 328  : 			return;
; 329  : 
; 330  : 		if (this->m_owner && this->m_ownerExpireCounter > 0.0f && this->m_owner->PlayerType.Get() == evt.m_soldier->Player->PlayerType.Get() && this->m_owner != evt.m_soldier->Player)

	cmp	DWORD PTR [ebx+44], 0
	je	SHORT $LN25@Object_Pow@2
	fldz
	fcomp	DWORD PTR [ebx+48]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $LN25@Object_Pow@2
	mov	ecx, DWORD PTR [ebx+44]
	add	ecx, 1900				; 0000076cH
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	lea	ecx, DWORD PTR [esi+1900]
	mov	DWORD PTR tv740[esp+64], eax
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR tv740[esp+64]
	cmp	ecx, eax
	jne	SHORT $LN25@Object_Pow@2
	mov	eax, DWORD PTR [edi+28]
	mov	ecx, DWORD PTR [ebx+44]
	cmp	ecx, DWORD PTR [eax+2400]
	je	SHORT $LN25@Object_Pow@2
$LN120@Object_Pow@2:

; 331  : 		{
; 332  : 			evt.Skip();

	mov	BYTE PTR [edi+32], 0

; 409  : 	}
; 410  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	4
$LN25@Object_Pow@2:

; 333  : 			return;
; 334  : 		}
; 335  : 
; 336  : 		if (evt.m_soldier->Vehicle)

	mov	eax, DWORD PTR [edi+28]
	cmp	DWORD PTR [eax+2444], 0

; 337  : 		{
; 338  : 			evt.Skip();
; 339  : 			return;

	jne	SHORT $LN120@Object_Pow@2

; 340  : 		}
; 341  : 
; 342  : 		gzPlayer *gzData = gzPlayerManager::Find(evt.m_soldier->Player);

	mov	edx, DWORD PTR [eax+2400]
	push	edx
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@PAVnc_cPlayer@@@Z ; gzPlayerManager::Find
	mov	esi, eax
	add	esp, 4

; 343  : 		if (gzData)

	test	esi, esi
	mov	DWORD PTR _gzData$59773[esp+64], esi
	je	$LN1@Object_Pow@2

; 344  : 		{
; 345  : 
; 346  : #if VERC(1, 0, 1)
; 347  : 			if (gzData->GetTibCrystal() != NULL)

	cmp	DWORD PTR [esi+68], 0
	je	SHORT $LN22@Object_Pow@2

; 348  : 			{
; 349  : 				int pId = gzData->GetPlayerData()->PlayerId;

	mov	eax, DWORD PTR [esi+76]

; 350  : 				gzData->GetTibCrystal()->SetPickupBlock(gzData->GetPlayerData()->PlayerId, 5.0f);

	fld	DWORD PTR __real@40a00000
	mov	edi, DWORD PTR [eax+1884]
	mov	ecx, DWORD PTR [esi+68]

; 351  : 				nc_GameObjManager::Find_PhysicalGameObj(gzData->GetTibCrystal()->GetCrystalId())->Attach_To_Object_Bone(NULL, "neck");

	push	OFFSET ??_C@_04NPLPABOK@neck?$AA@
	mov	eax, edi
	push	0
	fstp	DWORD PTR [ecx+eax*4+104]
	call	?GetCrystalId@gzTiberiumCrystal@@QAEIXZ	; gzTiberiumCrystal::GetCrystalId
	push	eax
	call	?Find_PhysicalGameObj@nc_GameObjManager@@SAPAVnc_PhysicalGameObj@@H@Z ; nc_GameObjManager::Find_PhysicalGameObj
	add	esp, 4
	mov	ecx, eax
	call	?Attach_To_Object_Bone@nc_PhysicalGameObj@@QAEXPAV1@PBD@Z ; nc_PhysicalGameObj::Attach_To_Object_Bone

; 352  : 				gzData->GetTibCrystal()->RestoreWeapons();

	mov	ecx, DWORD PTR [esi+68]
	call	?RestoreWeapons@gzTiberiumCrystal@@QAEXXZ ; gzTiberiumCrystal::RestoreWeapons

; 353  : 				gzData->GetTibCrystal()->Drop();

	mov	ecx, DWORD PTR [esi+68]
	call	?Drop@gzTiberiumCrystal@@QAEXXZ		; gzTiberiumCrystal::Drop

; 354  : 				PagePlayer(pId, "Ah crap!!! The Tiberium Crystal blocked my weapon backpack.. Now I have to drop it to store my weapons! #%&*!#@$");

	push	OFFSET ??_C@_0HB@PNKAPBBL@Ah?5crap?$CB?$CB?$CB?5The?5Tiberium?5Crystal?5@
	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	mov	edi, DWORD PTR _evt$[ebp]
	add	esp, 8
$LN22@Object_Pow@2:

; 355  : 			}
; 356  : #endif
; 357  : 
; 358  : 			for (unsigned int i = 0; i < this->m_pack->m_list.Count(); i++)

	mov	eax, DWORD PTR [ebx+40]
	xor	esi, esi
	cmp	DWORD PTR [eax+36], esi
	mov	DWORD PTR _i$59779[esp+64], esi
	jbe	$LN19@Object_Pow@2
$LN21@Object_Pow@2:

; 359  : 			{
; 360  : 				bool canGrant = true;
; 361  : 				for (unsigned int j = 0; j < gzWeaponMgr->m_settings->Weapons.Ban.Count(); j++)

	mov	ecx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	eax, DWORD PTR [ecx+40]
	cmp	DWORD PTR [eax+116], 0
	mov	BYTE PTR _canGrant$59783[esp+64], 1
	mov	DWORD PTR _j$59784[esp+64], 0
	jbe	$LN111@Object_Pow@2
$LN18@Object_Pow@2:
	mov	ebx, DWORD PTR [eax+108]

; 362  : 				{
; 363  : 					if (gzWeaponMgr->m_settings->Weapons.Ban[j]->Preset == evt.m_soldier->definition->Get_Name())

	mov	edx, DWORD PTR _evt$[ebp]
	mov	eax, DWORD PTR [edx+28]
	mov	ecx, DWORD PTR [eax+1724]
	mov	edi, DWORD PTR _j$59784[esp+64]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	add	edi, edi
	add	edi, edi
	add	ebx, edi
	call	eax
	mov	ecx, DWORD PTR [ebx]
	push	eax
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	je	$LN17@Object_Pow@2

; 364  : 					{
; 365  : 						for (unsigned int k = 0; k < gzWeaponMgr->m_settings->Weapons.Ban[j]->WeaponList.Count(); k++)

	mov	edx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	eax, DWORD PTR [edx+40]
	mov	eax, DWORD PTR [eax+108]
	mov	eax, DWORD PTR [eax+edi]
	xor	ecx, ecx
	cmp	DWORD PTR [eax+20], ecx
	mov	DWORD PTR _k$59789[esp+64], ecx
	jbe	$LN17@Object_Pow@2
	npad	5
$LL14@Object_Pow@2:

; 366  : 						{
; 367  : 							if (this->m_pack->m_list[i].weapon != NULL)

	mov	eax, DWORD PTR _this$[esp+64]
	mov	eax, DWORD PTR [eax+40]
	mov	ebx, DWORD PTR [eax+28]
	cmp	DWORD PTR [ebx+esi*8+4], 0
	je	SHORT $LN13@Object_Pow@2

; 368  : 							{
; 369  : 								if (gzWeaponMgr->m_settings->Weapons.Ban[j]->WeaponList[k] == this->m_pack->m_list[i].weapon->Get_Name())

	mov	edx, DWORD PTR [edx+40]
	mov	eax, ebx
	mov	esi, DWORD PTR [eax+esi*8+4]
	mov	eax, DWORD PTR [edx+108]
	push	ecx
	lea	ecx, DWORD PTR $T72356[esp+68]
	add	eax, edi
	push	ecx
	mov	ecx, DWORD PTR [eax]
	add	ecx, 8
	call	??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z ; aStringArrayBase<aString>::operator[]
	mov	edi, eax
	mov	edx, DWORD PTR [esi]
	mov	eax, DWORD PTR [edx+48]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+72], 0
	call	eax
	push	eax
	mov	ecx, edi
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	lea	ecx, DWORD PTR $T72356[esp+64]
	mov	bl, al
	mov	DWORD PTR __$EHRec$[esp+72], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	mov	esi, DWORD PTR _i$59779[esp+64]
	jne	SHORT $LN107@Object_Pow@2
	mov	ecx, DWORD PTR _k$59789[esp+64]
$LN13@Object_Pow@2:

; 364  : 					{
; 365  : 						for (unsigned int k = 0; k < gzWeaponMgr->m_settings->Weapons.Ban[j]->WeaponList.Count(); k++)

	mov	edx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	edi, DWORD PTR _j$59784[esp+64]
	mov	eax, DWORD PTR [edx+40]
	mov	eax, DWORD PTR [eax+108]
	add	edi, edi
	add	edi, edi
	mov	eax, DWORD PTR [eax+edi]
	add	ecx, 1
	cmp	ecx, DWORD PTR [eax+20]
	mov	DWORD PTR _k$59789[esp+64], ecx
	jb	$LL14@Object_Pow@2

; 368  : 							{
; 369  : 								if (gzWeaponMgr->m_settings->Weapons.Ban[j]->WeaponList[k] == this->m_pack->m_list[i].weapon->Get_Name())

	jmp	SHORT $LN17@Object_Pow@2
$LN107@Object_Pow@2:

; 370  : 								{
; 371  : 									canGrant = false;

	mov	BYTE PTR _canGrant$59783[esp+64], 0
$LN17@Object_Pow@2:

; 359  : 			{
; 360  : 				bool canGrant = true;
; 361  : 				for (unsigned int j = 0; j < gzWeaponMgr->m_settings->Weapons.Ban.Count(); j++)

	mov	ecx, DWORD PTR _j$59784[esp+64]
	mov	edx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	eax, DWORD PTR [edx+40]
	add	ecx, 1
	cmp	ecx, DWORD PTR [eax+116]
	mov	DWORD PTR _j$59784[esp+64], ecx
	jb	$LN18@Object_Pow@2

; 372  : 									break;
; 373  : 								}
; 374  : 							}
; 375  : 						}
; 376  : 					}
; 377  : 				}
; 378  : 				if (canGrant)

	cmp	BYTE PTR _canGrant$59783[esp+64], 0
	mov	ebx, DWORD PTR _this$[esp+64]
	je	$LN20@Object_Pow@2
$LN111@Object_Pow@2:

; 355  : 			}
; 356  : #endif
; 357  : 
; 358  : 			for (unsigned int i = 0; i < this->m_pack->m_list.Count(); i++)

	mov	eax, DWORD PTR [ebx+40]
	mov	ecx, DWORD PTR [eax+28]

; 379  : 				{
; 380  : 					if (this->m_pack->m_list[i].powerup != NULL)

	cmp	DWORD PTR [ecx+esi*8], 0
	lea	edi, DWORD PTR [ecx+esi*8]
	je	SHORT $LN8@Object_Pow@2

; 381  : 					{
; 382  : 						if (gzData->GetPlayerData()->Owner.Reference)

	mov	edx, DWORD PTR _gzData$59773[esp+64]
	mov	eax, DWORD PTR [edx+76]
	mov	eax, DWORD PTR [eax+20]
	test	eax, eax
	je	SHORT $LN7@Object_Pow@2

; 383  : 							this->m_pack->m_list[i].powerup->Grant(gzData->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj(), NULL, false);

	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	push	0
	push	0
	call	eax
	mov	ecx, DWORD PTR [edi]
	push	eax
	call	?Grant@nc_PowerUpGameObjDef@@QAEXPAVnc_SmartGameObj@@PAVnc_PowerUpGameObj@@_N@Z ; nc_PowerUpGameObjDef::Grant
$LN7@Object_Pow@2:
	mov	ecx, DWORD PTR [ebx+40]
	mov	edx, DWORD PTR [ecx+28]

; 384  : 
; 385  : 						// Weapon bag
; 386  : 						if (this->m_pack->m_list[i].powerup->GrantWeaponID != 0)

	mov	ecx, DWORD PTR [edx+esi*8]
	cmp	DWORD PTR [ecx+196], 0
	lea	eax, DWORD PTR [edx+esi*8]
	je	SHORT $LN20@Object_Pow@2

; 387  : 						{
; 388  : 							nc_DefinitionClass *weaponDef = nc_DefinitionMgrClass::Find_Definition(this->m_pack->m_list[i].powerup->GrantWeaponID, true);

	mov	edx, ecx
	mov	eax, DWORD PTR [edx+196]
	push	1
	push	eax
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition
	add	esp, 8

; 389  : 							if (weaponDef)

	test	eax, eax
	je	SHORT $LN20@Object_Pow@2

; 390  : 								gzData->GetWeaponPack()->Add_Weapon(gzStatic_Cast(nc_WeaponDefinitionClass, weaponDef));
; 391  : 						}
; 392  : 					}

	jmp	SHORT $LN121@Object_Pow@2
$LN8@Object_Pow@2:

; 393  : 
; 394  : 					else if (this->m_pack->m_list[i].weapon)

	cmp	DWORD PTR [edi+4], 0
	je	SHORT $LN20@Object_Pow@2
	mov	edx, eax
	mov	eax, DWORD PTR [edx+28]

; 395  : 					{
; 396  : 						if (canGrant)
; 397  : 							evt.m_soldier->WeaponBag->Add_Weapon(this->m_pack->m_list[i].weapon, this->m_pack->m_list[i].weapon->ClipSize.Get(), true);

	mov	ecx, DWORD PTR [eax+esi*8+4]
	lea	edi, DWORD PTR [eax+esi*8]
	push	1
	add	ecx, 116				; 00000074H
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR [edi+4]
	mov	edx, DWORD PTR _evt$[ebp]
	push	eax
	mov	eax, DWORD PTR [edx+28]
	push	ecx
	mov	ecx, DWORD PTR [eax+1968]
	call	?Add_Weapon@nc_WeaponBagClass@@QAEXPBVnc_WeaponDefinitionClass@@H_N@Z ; nc_WeaponBagClass::Add_Weapon

; 398  : 						gzData->GetWeaponPack()->Add_Weapon(this->m_pack->m_list[i].weapon);

	mov	ecx, DWORD PTR [ebx+40]
	mov	edx, DWORD PTR [ecx+28]
	mov	eax, DWORD PTR [edx+esi*8+4]
$LN121@Object_Pow@2:
	mov	ecx, DWORD PTR _gzData$59773[esp+64]
	mov	ecx, DWORD PTR [ecx+60]
	push	eax
	call	?Add_Weapon@gzWeaponPackClass@@QAEXPAVnc_DefinitionClass@@@Z ; gzWeaponPackClass::Add_Weapon
$LN20@Object_Pow@2:
	mov	edx, DWORD PTR [ebx+40]
	add	esi, 1
	cmp	esi, DWORD PTR [edx+36]
	mov	DWORD PTR _i$59779[esp+64], esi
	jb	$LN21@Object_Pow@2

; 355  : 			}
; 356  : #endif
; 357  : 
; 358  : 			for (unsigned int i = 0; i < this->m_pack->m_list.Count(); i++)

	mov	edi, DWORD PTR _evt$[ebp]
$LN19@Object_Pow@2:

; 399  : 					}
; 400  : 				}
; 401  : 			}
; 402  : 			if (this->m_pack->m_backpackData)

	mov	eax, DWORD PTR [ebx+40]
	mov	eax, DWORD PTR [eax+44]
	test	eax, eax
	je	SHORT $LN1@Object_Pow@2

; 403  : 			{
; 404  : 				gzCreate_2D_WAV_Sound_Player(evt.m_soldier, this->m_pack->m_backpackData->sound.GetString());

	mov	eax, DWORD PTR [eax+16]
	test	eax, eax
	je	SHORT $LN100@Object_Pow@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN101@Object_Pow@2
$LN100@Object_Pow@2:
	xor	eax, eax
$LN101@Object_Pow@2:
	mov	ecx, DWORD PTR [edi+28]
	push	eax
	push	ecx
	call	DWORD PTR ?gzCreate_2D_WAV_Sound_Player@@3P6AHPAVnc_ScriptableGameObj@@PBD@ZA ; gzCreate_2D_WAV_Sound_Player

; 405  : 				this->m_pack->m_backpackData = NULL;

	mov	edx, DWORD PTR [ebx+40]
	add	esp, 8
	mov	DWORD PTR [edx+44], 0
$LN1@Object_Pow@2:

; 406  : 			}
; 407  : 		}
; 408  : 		this->SetDeletePending();

	mov	eax, DWORD PTR [ebx]
	mov	edx, DWORD PTR [eax+12]
	mov	ecx, ebx
	call	edx
$LN27@Object_Pow@2:

; 409  : 	}
; 410  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Object_PowerupGrant@gzBackpackClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z$0:
	lea	ecx, DWORD PTR $T72356[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Object_PowerupGrant@gzBackpackClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Object_PowerupGrant@gzBackpackClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Object_PowerupGrant@gzBackpackClass@@UAEXAAVgzEventObjectPowerupGrant@@@Z ENDP ; gzBackpackClass::Object_PowerupGrant
PUBLIC	??_7gzBackpackManager@@6BgzManagerEvent@@@	; gzBackpackManager::`vftable'
PUBLIC	??_7gzBackpackManager@@6BEventHandler@@@	; gzBackpackManager::`vftable'
PUBLIC	??0gzBackpackManager@@QAE@XZ			; gzBackpackManager::gzBackpackManager
PUBLIC	??_R4gzBackpackManager@@6BEventHandler@@@	; gzBackpackManager::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzBackpackManager@@@8			; gzBackpackManager `RTTI Type Descriptor'
PUBLIC	??_R3gzBackpackManager@@8			; gzBackpackManager::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzBackpackManager@@8			; gzBackpackManager::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzBackpackManager@@8		; gzBackpackManager::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?GetName@gzBackpackManager@@UAEPBDXZ		; gzBackpackManager::GetName
PUBLIC	?Think@EventHandler@@UAEXXZ			; EventHandler::Think
PUBLIC	?Object_PowerupGrant@EventHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z ; EventHandler::Object_PowerupGrant
PUBLIC	??_R4gzBackpackManager@@6BgzManagerEvent@@@	; gzBackpackManager::`RTTI Complete Object Locator'
PUBLIC	?GetName@gzBackpackManager@@WCE@AEPBDXZ		; [thunk]:gzBackpackManager::GetName`adjustor{36}'
EXTRN	??_EgzBackpackManager@@UAEPAXI@Z:PROC		; gzBackpackManager::`vector deleting destructor'
;	COMDAT ??_R4gzBackpackManager@@6BgzManagerEvent@@@
; File d:\source code\alib\include\avector.h
rdata$r	SEGMENT
??_R4gzBackpackManager@@6BgzManagerEvent@@@ DD 00H	; gzBackpackManager::`RTTI Complete Object Locator'
	DD	024H
	DD	00H
	DD	FLAT:??_R0?AVgzBackpackManager@@@8
	DD	FLAT:??_R3gzBackpackManager@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzBackpackManager@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzBackpackManager@@8 DD FLAT:??_R0?AVgzBackpackManager@@@8 ; gzBackpackManager::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzBackpackManager@@8
rdata$r	ENDS
;	COMDAT ??_R2gzBackpackManager@@8
rdata$r	SEGMENT
??_R2gzBackpackManager@@8 DD FLAT:??_R1A@?0A@EA@gzBackpackManager@@8 ; gzBackpackManager::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@EventHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
	DD	FLAT:??_R1CE@?0A@EA@gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_R3gzBackpackManager@@8
rdata$r	SEGMENT
??_R3gzBackpackManager@@8 DD 00H			; gzBackpackManager::`RTTI Class Hierarchy Descriptor'
	DD	01H
	DD	04H
	DD	FLAT:??_R2gzBackpackManager@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzBackpackManager@@@8
_DATA	SEGMENT
??_R0?AVgzBackpackManager@@@8 DD FLAT:??_7type_info@@6B@ ; gzBackpackManager `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzBackpackManager@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzBackpackManager@@6BEventHandler@@@
rdata$r	SEGMENT
??_R4gzBackpackManager@@6BEventHandler@@@ DD 00H	; gzBackpackManager::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzBackpackManager@@@8
	DD	FLAT:??_R3gzBackpackManager@@8
rdata$r	ENDS
;	COMDAT ??_7gzBackpackManager@@6BgzManagerEvent@@@
CONST	SEGMENT
??_7gzBackpackManager@@6BgzManagerEvent@@@ DD FLAT:??_R4gzBackpackManager@@6BgzManagerEvent@@@ ; gzBackpackManager::`vftable'
	DD	FLAT:?GetName@gzBackpackManager@@WCE@AEPBDXZ
	DD	FLAT:?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z
	DD	FLAT:?ChildObjDeletion@gzBackpackManager@@UAEXPAVgzBase@@@Z
CONST	ENDS
;	COMDAT ??_7gzBackpackManager@@6BEventHandler@@@
CONST	SEGMENT
??_7gzBackpackManager@@6BEventHandler@@@ DD FLAT:??_R4gzBackpackManager@@6BEventHandler@@@ ; gzBackpackManager::`vftable'
	DD	FLAT:??_EgzBackpackManager@@UAEPAXI@Z
	DD	FLAT:?GetName@gzBackpackManager@@UAEPBDXZ
	DD	FLAT:?Delete@gzBackpackManager@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@EventHandler@@UAEXXZ
	DD	FLAT:?Level_Ended@gzBackpackManager@@UAEXXZ
	DD	FLAT:?Think@EventHandler@@UAEXXZ
	DD	FLAT:?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@EventHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@EventHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzBackpackManager@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzBackpackManager@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzBackpackManager@@QAE@XZ$1
__ehfuncinfo$??0gzBackpackManager@@QAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0gzBackpackManager@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
xdata$x	ENDS
;	COMDAT ??0gzBackpackManager@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzBackpackManager@@QAE@XZ PROC			; gzBackpackManager::gzBackpackManager, COMDAT
; _this$ = ecx

; 464  : {

	push	-1
	push	__ehhandler$??0gzBackpackManager@@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
	call	??0EventHandler@@QAE@XZ			; EventHandler::EventHandler
	mov	DWORD PTR [esi+36], OFFSET ??_7gzManagerEvent@@6B@
	xor	eax, eax
	mov	DWORD PTR [esi], OFFSET ??_7gzBackpackManager@@6BEventHandler@@@
	mov	DWORD PTR [esi+36], OFFSET ??_7gzBackpackManager@@6BgzManagerEvent@@@
	mov	DWORD PTR __$EHRec$[esp+28], eax
	mov	DWORD PTR [esi+40], OFFSET ??_7?$aVector@PAVgzBackpackClass@@@@6B@
	mov	DWORD PTR [esi+44], eax
	mov	DWORD PTR [esi+48], eax
	mov	DWORD PTR [esi+52], eax

; 465  : 	this->RegisterEvent(EVT_GAME_LEVEL_ENDED);

	push	eax
	push	4097					; 00001001H
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+36], 1
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 466  : }

	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$??0gzBackpackManager@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
__unwindfunclet$??0gzBackpackManager@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 40					; 00000028H
	jmp	??1?$aVector@PAVgzBackpackClass@@@@UAE@XZ ; aVector<gzBackpackClass *>::~aVector<gzBackpackClass *>
__ehhandler$??0gzBackpackManager@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzBackpackManager@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzBackpackManager@@QAE@XZ ENDP			; gzBackpackManager::gzBackpackManager
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stevent.h
;	COMDAT ?Think@EventHandler@@UAEXXZ
_TEXT	SEGMENT
?Think@EventHandler@@UAEXXZ PROC			; EventHandler::Think, COMDAT
; _this$ = ecx

; 64   : 	virtual void Think() { };

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

; 89   : 	virtual void Object_PowerupGrant(gzEventObjectPowerupGrant &) { };

	ret	4
?Object_PowerupGrant@EventHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z ENDP ; EventHandler::Object_PowerupGrant
_TEXT	ENDS
PUBLIC	??_C@_0BC@COODHEII@gzBackpackManager?$AA@	; `string'
;	COMDAT ??_C@_0BC@COODHEII@gzBackpackManager?$AA@
; File d:\source code\stgm\stweapon.h
CONST	SEGMENT
??_C@_0BC@COODHEII@gzBackpackManager?$AA@ DB 'gzBackpackManager', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzBackpackManager@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzBackpackManager@@UAEPBDXZ PROC		; gzBackpackManager::GetName, COMDAT
; _this$ = ecx

; 125  : 		return "gzBackpackManager";

	mov	eax, OFFSET ??_C@_0BC@COODHEII@gzBackpackManager?$AA@

; 126  : 	};

	ret	0
?GetName@gzBackpackManager@@UAEPBDXZ ENDP		; gzBackpackManager::GetName
; Function compile flags: /Odtpy
_TEXT	ENDS
;	COMDAT ?GetName@gzBackpackManager@@WCE@AEPBDXZ
_TEXT	SEGMENT
?GetName@gzBackpackManager@@WCE@AEPBDXZ PROC		; [thunk]:gzBackpackManager::GetName`adjustor{36}', COMDAT
	sub	ecx, 36					; 00000024H
	jmp	?GetName@gzBackpackManager@@UAEPBDXZ	; gzBackpackManager::GetName
?GetName@gzBackpackManager@@WCE@AEPBDXZ ENDP		; [thunk]:gzBackpackManager::GetName`adjustor{36}'
_TEXT	ENDS
PUBLIC	??1gzBackpackManager@@UAE@XZ			; gzBackpackManager::~gzBackpackManager
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzBackpackManager@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzBackpackManager@@UAE@XZ$0
__ehfuncinfo$??1gzBackpackManager@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzBackpackManager@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzBackpackManager@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzBackpackManager@@UAE@XZ PROC			; gzBackpackManager::~gzBackpackManager, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzBackpackManager@@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
	xor	edi, edi
	cmp	DWORD PTR [esi+44], edi
	mov	DWORD PTR __$EHRec$[esp+32], edi
	mov	DWORD PTR [esi+40], OFFSET ??_7?$aVector@PAVgzBackpackClass@@@@6B@
	je	SHORT $LN7@gzBackpack@3
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+44]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+44], edi
$LN7@gzBackpack@3:
	mov	ecx, esi
	mov	DWORD PTR [esi+48], edi
	mov	DWORD PTR [esi+52], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	call	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	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$??1gzBackpackManager@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
__ehhandler$??1gzBackpackManager@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzBackpackManager@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzBackpackManager@@UAE@XZ ENDP			; gzBackpackManager::~gzBackpackManager
PUBLIC	??_7gzWeaponPackClass@@6B@			; gzWeaponPackClass::`vftable'
PUBLIC	??0gzWeaponPackClass@@QAE@_N@Z			; gzWeaponPackClass::gzWeaponPackClass
PUBLIC	??_R4gzWeaponPackClass@@6B@			; gzWeaponPackClass::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzWeaponPackClass@@@8			; gzWeaponPackClass `RTTI Type Descriptor'
PUBLIC	??_R3gzWeaponPackClass@@8			; gzWeaponPackClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzWeaponPackClass@@8			; gzWeaponPackClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzWeaponPackClass@@8		; gzWeaponPackClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?GetName@gzWeaponPackClass@@UAEPBDXZ		; gzWeaponPackClass::GetName
EXTRN	??1gzBase@@UAE@XZ:PROC				; gzBase::~gzBase
EXTRN	??0gzBase@@QAE@XZ:PROC				; gzBase::gzBase
EXTRN	??_EgzWeaponPackClass@@UAEPAXI@Z:PROC		; gzWeaponPackClass::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@gzWeaponPackClass@@8
; File d:\source code\stgm\stweapon.cpp
rdata$r	SEGMENT
??_R1A@?0A@EA@gzWeaponPackClass@@8 DD FLAT:??_R0?AVgzWeaponPackClass@@@8 ; gzWeaponPackClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzWeaponPackClass@@8
rdata$r	ENDS
;	COMDAT ??_R2gzWeaponPackClass@@8
rdata$r	SEGMENT
??_R2gzWeaponPackClass@@8 DD FLAT:??_R1A@?0A@EA@gzWeaponPackClass@@8 ; gzWeaponPackClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzWeaponPackClass@@8
rdata$r	SEGMENT
??_R3gzWeaponPackClass@@8 DD 00H			; gzWeaponPackClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzWeaponPackClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzWeaponPackClass@@@8
_DATA	SEGMENT
??_R0?AVgzWeaponPackClass@@@8 DD FLAT:??_7type_info@@6B@ ; gzWeaponPackClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzWeaponPackClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzWeaponPackClass@@6B@
rdata$r	SEGMENT
??_R4gzWeaponPackClass@@6B@ DD 00H			; gzWeaponPackClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzWeaponPackClass@@@8
	DD	FLAT:??_R3gzWeaponPackClass@@8
rdata$r	ENDS
;	COMDAT ??_7gzWeaponPackClass@@6B@
CONST	SEGMENT
??_7gzWeaponPackClass@@6B@ DD FLAT:??_R4gzWeaponPackClass@@6B@ ; gzWeaponPackClass::`vftable'
	DD	FLAT:??_EgzWeaponPackClass@@UAEPAXI@Z
	DD	FLAT:?GetName@gzWeaponPackClass@@UAEPBDXZ
	DD	FLAT:?Delete@gzWeaponPackClass@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzWeaponPackClass@@QAE@_N@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzWeaponPackClass@@QAE@_N@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzWeaponPackClass@@QAE@_N@Z$1
__ehfuncinfo$??0gzWeaponPackClass@@QAE@_N@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0gzWeaponPackClass@@QAE@_N@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0gzWeaponPackClass@@QAE@_N@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
$T72598 = 8						; size = 4
_AddToManager$ = 8					; size = 1
??0gzWeaponPackClass@@QAE@_N@Z PROC			; gzWeaponPackClass::gzWeaponPackClass, COMDAT
; _this$ = ecx

; 503  : {

	push	-1
	push	__ehhandler$??0gzWeaponPackClass@@QAE@_N@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	ebx
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+28], esi
	call	??0gzBase@@QAE@XZ			; gzBase::gzBase
	xor	ebx, ebx
	lea	edi, DWORD PTR [esi+24]
	mov	DWORD PTR [esi], OFFSET ??_7gzWeaponPackClass@@6B@
	mov	DWORD PTR __$EHRec$[esp+36], ebx
	mov	DWORD PTR [edi], OFFSET ??_7?$aVector@UgzWeaponPackData@@@@6B@
	mov	DWORD PTR [edi+4], ebx
	mov	DWORD PTR [edi+8], ebx
	mov	DWORD PTR [edi+12], ebx

; 504  : 	this->m_owner = NULL;

	mov	DWORD PTR [esi+40], ebx

; 505  : 	this->m_backpackData = NULL;

	mov	DWORD PTR [esi+44], ebx

; 506  : 	this->SetChildOwner(gzWeaponPack);

	mov	eax, DWORD PTR ?gzWeaponPack@@3PAVgzWeaponPackManager@@A ; gzWeaponPack
	cmp	eax, ebx
	mov	BYTE PTR __$EHRec$[esp+36], 1
	je	SHORT $LN4@gzWeaponPa
	add	eax, 36					; 00000024H
	jmp	SHORT $LN5@gzWeaponPa
$LN4@gzWeaponPa:
	xor	eax, eax
$LN5@gzWeaponPa:
	push	eax
	mov	ecx, esi
	call	?SetChildOwner@gzBase@@QAEXPAVgzManagerEvent@@@Z ; gzBase::SetChildOwner

; 507  : 	if (AddToManager)

	cmp	BYTE PTR _AddToManager$[esp+24], bl
	je	SHORT $LN12@gzWeaponPa

; 508  : 		gzWeaponPack->Add(this);

	mov	DWORD PTR $T72598[esp+24], esi
	mov	eax, DWORD PTR [edi]
	mov	edx, DWORD PTR [eax+4]
	push	ebp
	mov	ebp, DWORD PTR ?gzWeaponPack@@3PAVgzWeaponPackManager@@A ; gzWeaponPack
	mov	ecx, edi
	call	edx
	mov	eax, DWORD PTR [ebp+56]
	mov	ecx, DWORD PTR $T72598[esp+28]
	mov	DWORD PTR [ecx+20], eax
	mov	edx, DWORD PTR [ebp+40]
	mov	edx, DWORD PTR [edx+12]
	add	DWORD PTR [ebp+56], 1
	lea	ecx, DWORD PTR [ebp+40]
	lea	eax, DWORD PTR $T72598[esp+28]
	push	eax
	call	edx
	pop	ebp
$LN12@gzWeaponPa:

; 509  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzWeaponPackClass@@QAE@_N@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1gzBase@@UAE@XZ			; gzBase::~gzBase
__unwindfunclet$??0gzWeaponPackClass@@QAE@_N@Z$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 24					; 00000018H
	jmp	??1?$aVector@UgzWeaponPackData@@@@UAE@XZ ; aVector<gzWeaponPackData>::~aVector<gzWeaponPackData>
__ehhandler$??0gzWeaponPackClass@@QAE@_N@Z:
	mov	eax, OFFSET __ehfuncinfo$??0gzWeaponPackClass@@QAE@_N@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzWeaponPackClass@@QAE@_N@Z ENDP			; gzWeaponPackClass::gzWeaponPackClass
PUBLIC	??_C@_0BC@FOCKFGHF@gzWeaponPackClass?$AA@	; `string'
;	COMDAT ??_C@_0BC@FOCKFGHF@gzWeaponPackClass?$AA@
; File d:\source code\stgm\stweapon.h
CONST	SEGMENT
??_C@_0BC@FOCKFGHF@gzWeaponPackClass?$AA@ DB 'gzWeaponPackClass', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzWeaponPackClass@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzWeaponPackClass@@UAEPBDXZ PROC		; gzWeaponPackClass::GetName, COMDAT
; _this$ = ecx

; 163  : 		return "gzWeaponPackClass";

	mov	eax, OFFSET ??_C@_0BC@FOCKFGHF@gzWeaponPackClass?$AA@

; 164  : 	};

	ret	0
?GetName@gzWeaponPackClass@@UAEPBDXZ ENDP		; gzWeaponPackClass::GetName
_TEXT	ENDS
PUBLIC	??1gzWeaponPackClass@@UAE@XZ			; gzWeaponPackClass::~gzWeaponPackClass
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzWeaponPackClass@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzWeaponPackClass@@UAE@XZ$0
__ehfuncinfo$??1gzWeaponPackClass@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzWeaponPackClass@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzWeaponPackClass@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzWeaponPackClass@@UAE@XZ PROC			; gzWeaponPackClass::~gzWeaponPackClass, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzWeaponPackClass@@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
	xor	edi, edi
	cmp	DWORD PTR [esi+28], edi
	mov	DWORD PTR __$EHRec$[esp+32], edi
	mov	DWORD PTR [esi+24], OFFSET ??_7?$aVector@UgzWeaponPackData@@@@6B@
	je	SHORT $LN7@gzWeaponPa@2
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+28]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+28], edi
$LN7@gzWeaponPa@2:
	mov	ecx, esi
	mov	DWORD PTR [esi+32], edi
	mov	DWORD PTR [esi+36], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	call	??1gzBase@@UAE@XZ			; gzBase::~gzBase
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	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$??1gzWeaponPackClass@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1gzBase@@UAE@XZ			; gzBase::~gzBase
__ehhandler$??1gzWeaponPackClass@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzWeaponPackClass@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzWeaponPackClass@@UAE@XZ ENDP			; gzWeaponPackClass::~gzWeaponPackClass
PUBLIC	??0gzWeaponPackClass@@QAE@PAVgzPlayer@@@Z	; gzWeaponPackClass::gzWeaponPackClass
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
;	COMDAT ??0gzWeaponPackClass@@QAE@PAVgzPlayer@@@Z
_TEXT	SEGMENT
_owner$ = 8						; size = 4
??0gzWeaponPackClass@@QAE@PAVgzPlayer@@@Z PROC		; gzWeaponPackClass::gzWeaponPackClass, COMDAT
; _this$ = ecx

; 511  : {

	push	esi
	mov	esi, ecx
	call	??0gzBase@@QAE@XZ			; gzBase::gzBase

; 512  : 	this->m_owner = owner;

	mov	ecx, DWORD PTR _owner$[esp]
	xor	eax, eax
	mov	DWORD PTR [esi], OFFSET ??_7gzWeaponPackClass@@6B@
	mov	DWORD PTR [esi+28], eax
	mov	DWORD PTR [esi+32], eax
	mov	DWORD PTR [esi+36], eax
	mov	DWORD PTR [esi+24], OFFSET ??_7?$aVector@UgzWeaponPackData@@@@6B@

; 513  : 	this->m_backpackData = NULL;

	mov	DWORD PTR [esi+44], eax
	mov	DWORD PTR [esi+40], ecx

; 514  : }

	mov	eax, esi
	pop	esi
	ret	4
??0gzWeaponPackClass@@QAE@PAVgzPlayer@@@Z ENDP		; gzWeaponPackClass::gzWeaponPackClass
_TEXT	ENDS
PUBLIC	?Add_Weapon@gzWeaponPackClass@@QAEXPBD@Z	; gzWeaponPackClass::Add_Weapon
; Function compile flags: /Ogtpy
;	COMDAT ?Add_Weapon@gzWeaponPackClass@@QAEXPBD@Z
_TEXT	SEGMENT
_weapon$ = 8						; size = 4
?Add_Weapon@gzWeaponPackClass@@QAEXPBD@Z PROC		; gzWeaponPackClass::Add_Weapon, COMDAT
; _this$ = ecx

; 522  : 	this->Add_Weapon(nc_DefinitionMgrClass::Find_Named_Definition(weapon, true));

	mov	eax, DWORD PTR _weapon$[esp-4]
	push	esi
	push	1
	push	eax
	mov	esi, ecx
	call	?Find_Named_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PBD_N@Z ; nc_DefinitionMgrClass::Find_Named_Definition
	add	esp, 8
	push	eax
	mov	ecx, esi
	call	?Add_Weapon@gzWeaponPackClass@@QAEXPAVnc_DefinitionClass@@@Z ; gzWeaponPackClass::Add_Weapon
	pop	esi

; 523  : }

	ret	4
?Add_Weapon@gzWeaponPackClass@@QAEXPBD@Z ENDP		; gzWeaponPackClass::Add_Weapon
_TEXT	ENDS
PUBLIC	?Copy@gzWeaponPackClass@@QAEXPAV1@_N@Z		; gzWeaponPackClass::Copy
; Function compile flags: /Ogtpy
;	COMDAT ?Copy@gzWeaponPackClass@@QAEXPAV1@_N@Z
_TEXT	SEGMENT
_pack$ = 8						; size = 4
_giveNow$ = 12						; size = 1
?Copy@gzWeaponPackClass@@QAEXPAV1@_N@Z PROC		; gzWeaponPackClass::Copy, COMDAT
; _this$ = ecx

; 625  : 	this->m_list = pack->m_list;

	mov	eax, DWORD PTR _pack$[esp-4]
	add	eax, 24					; 00000018H
	push	eax
	add	ecx, 24					; 00000018H
	call	??4?$aVector@UgzWeaponPackData@@@@QAEAAV0@ABV0@@Z ; aVector<gzWeaponPackData>::operator=

; 626  : }

	ret	8
?Copy@gzWeaponPackClass@@QAEXPAV1@_N@Z ENDP		; gzWeaponPackClass::Copy
_TEXT	ENDS
PUBLIC	??_C@_0BB@INLPMEKF@?$CFs?5has?5detonated?$AA@	; `string'
PUBLIC	??_C@_0N@MFDLDHKA@?$CFs?5initiated?$AA@		; `string'
PUBLIC	??_C@_01LFCBOECM@?4?$AA@			; `string'
PUBLIC	??_C@_0L@CBBKDIH@?$CFs?$CI?$CF?40f?$CJ?0?5?$AA@	; `string'
PUBLIC	??_C@_0CJ@OPOEKMEK@The?5buildings?5that?5will?5be?5damag@ ; `string'
PUBLIC	??_C@_0CH@OCPIJPEC@The?5building?5that?5will?5be?5damage@ ; `string'
PUBLIC	??_C@_0CD@BGMGICIE@ATTENTION?3?5?$CFs?5?$CFs?5has?5been?5placed@ ; `string'
PUBLIC	??_C@_0EE@OFBKEMEC@ATTENTION?3?5?$CFs?5?$CFs?5has?5been?5placed@ ; `string'
PUBLIC	??_C@_0DP@CHGKFDIO@ATTENTION?3?5?$CFs?5?$CFs?5has?5been?5placed@ ; `string'
PUBLIC	??_C@_0BD@IGGHJOCH@?$CFls?5deployed?5?$CFs?5?$CFs?$AA@ ; `string'
EXTRN	?Send_Object_Update@nc_cNetwork@@SAXPAVnc_NetworkObjectClass@@H@Z:PROC ; nc_cNetwork::Send_Object_Update
EXTRN	?PlayerList@nc_cPlayerManager@@2PAV?$nc_SList@Vnc_cPlayer@@@@A:DWORD ; nc_cPlayerManager::PlayerList
EXTRN	?Convert_From@nc_WideStringClass@@QAEXPBD@Z:PROC ; nc_WideStringClass::Convert_From
EXTRN	?Create@nc_cScTextObj@@SAPAV1@XZ:PROC		; nc_cScTextObj::Create
EXTRN	?Resize@aStringBase@@QAEXI@Z:PROC		; aStringBase::Resize
EXTRN	?GetLength@aStringBase@@QBEIXZ:PROC		; aStringBase::GetLength
EXTRN	??YaString@@QAEAAV0@ABV0@@Z:PROC		; aString::operator+=
EXTRN	?Get_Damage_Multiplier@nc_ArmorWarheadManager@@SAMII@Z:PROC ; nc_ArmorWarheadManager::Get_Damage_Multiplier
EXTRN	?Get@nc_UIntDataSafeClass@@QAEIXZ:PROC		; nc_UIntDataSafeClass::Get
EXTRN	?Find_Closest_Poly@nc_BuildingGameObj@@QAEXABUnc_Vector3@@PAM@Z:PROC ; nc_BuildingGameObj::Find_Closest_Poly
EXTRN	?BuildingGameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BuildingGameObj@@@@A:DWORD ; nc_GameObjManager::BuildingGameObjList
EXTRN	?Printf@aString@@QAAXPBDZZ:PROC			; aString::Printf
EXTRN	?Overlap_Test@nc_CollisionMath@@SAHABVnc_OBBoxClass@@ABUnc_Vector3@@@Z:PROC ; nc_CollisionMath::Overlap_Test
EXTRN	?A_Or_An@@YAPADPBD_N@Z:PROC			; A_Or_An
EXTRN	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z:PROC ; gzTranslateManager::Get
EXTRN	?Get_Owner@nc_BeaconGameObj@@QAEPAVnc_SoldierGameObj@@XZ:PROC ; nc_BeaconGameObj::Get_Owner
;	COMDAT ??_C@_0BB@INLPMEKF@?$CFs?5has?5detonated?$AA@
; File d:\source code\alib\include\astring.h
CONST	SEGMENT
??_C@_0BB@INLPMEKF@?$CFs?5has?5detonated?$AA@ DB '%s has detonated', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@MFDLDHKA@?$CFs?5initiated?$AA@
CONST	SEGMENT
??_C@_0N@MFDLDHKA@?$CFs?5initiated?$AA@ DB '%s initiated', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_01LFCBOECM@?4?$AA@
CONST	SEGMENT
??_C@_01LFCBOECM@?4?$AA@ DB '.', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@CBBKDIH@?$CFs?$CI?$CF?40f?$CJ?0?5?$AA@
CONST	SEGMENT
??_C@_0L@CBBKDIH@?$CFs?$CI?$CF?40f?$CJ?0?5?$AA@ DB '%s(%.0f), ', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CJ@OPOEKMEK@The?5buildings?5that?5will?5be?5damag@
CONST	SEGMENT
??_C@_0CJ@OPOEKMEK@The?5buildings?5that?5will?5be?5damag@ DB 'The buildin'
	DB	'gs that will be damaged are: ', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CH@OCPIJPEC@The?5building?5that?5will?5be?5damage@
CONST	SEGMENT
??_C@_0CH@OCPIJPEC@The?5building?5that?5will?5be?5damage@ DB 'The buildin'
	DB	'g that will be damaged is: ', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CD@BGMGICIE@ATTENTION?3?5?$CFs?5?$CFs?5has?5been?5placed@
CONST	SEGMENT
??_C@_0CD@BGMGICIE@ATTENTION?3?5?$CFs?5?$CFs?5has?5been?5placed@ DB 'ATTE'
	DB	'NTION: %s %s has been placed. ', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0EE@OFBKEMEC@ATTENTION?3?5?$CFs?5?$CFs?5has?5been?5placed@
CONST	SEGMENT
??_C@_0EE@OFBKEMEC@ATTENTION?3?5?$CFs?5?$CFs?5has?5been?5placed@ DB 'ATTE'
	DB	'NTION: %s %s has been placed and will NOT damage any building'
	DB	's.', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0DP@CHGKFDIO@ATTENTION?3?5?$CFs?5?$CFs?5has?5been?5placed@
CONST	SEGMENT
??_C@_0DP@CHGKFDIO@ATTENTION?3?5?$CFs?5?$CFs?5has?5been?5placed@ DB 'ATTE'
	DB	'NTION: %s %s has been placed on the enemy Beacon Pedestal!', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@IGGHJOCH@?$CFls?5deployed?5?$CFs?5?$CFs?$AA@
CONST	SEGMENT
??_C@_0BD@IGGHJOCH@?$CFls?5deployed?5?$CFs?5?$CFs?$AA@ DB '%ls deployed %'
	DB	's %s', 00H					; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z$2
	DD	01H
	DD	FLAT:__unwindfunclet$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z$3
	DD	01H
	DD	FLAT:__unwindfunclet$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z$4
	DD	01H
	DD	FLAT:__unwindfunclet$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z$5
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
xdata$x	ENDS
;	COMDAT ?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z
_TEXT	SEGMENT
_hitCount$60400 = -184					; size = 4
_this$ = -180						; size = 4
_PolyDistance$60501 = -176				; size = 4
tv870 = -172						; size = 4
_RawDamageRate$60505 = -172				; size = 4
_notify$ = -168						; size = 8
_hi$60511 = -160					; size = 8
$T72660 = -152						; size = 8
$T72661 = -144						; size = 8
$T72663 = -136						; size = 8
$T72662 = -128						; size = 8
$T72658 = -120						; size = 12
_BeaconPos$60502 = -108					; size = 12
$T72659 = -96						; size = 12
_hitList$60440 = -80					; size = 16
__$EHRec$ = -12						; size = 12
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z PROC ; gzObserverBeacon::Timer_Expired, COMDAT
; _this$ = ecx

; 1063 : {

	push	ebp
	mov	ebp, esp
	and	esp, -64				; ffffffc0H
	push	-1
	push	__ehhandler$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 232				; 000000e8H
	push	ebx
	push	esi
	mov	ebx, ecx
	push	edi

; 1064 : 	aString notify;

	lea	ecx, DWORD PTR _notify$[esp+256]
	mov	DWORD PTR _this$[esp+256], ebx
	call	??0aString@@QAE@XZ			; aString::aString

; 1065 : 	switch (number)

	mov	eax, DWORD PTR _number$[ebp]
	cmp	eax, 3084				; 00000c0cH
	mov	DWORD PTR __$EHRec$[esp+264], 0
	jg	$LN44@Timer_Expi@2
	je	$LN1@Timer_Expi@2
	add	eax, -2000				; fffff830H
	cmp	eax, 3
	ja	$LN44@Timer_Expi@2
	jmp	DWORD PTR $LN159@Timer_Expi@2[eax*4]
$LN39@Timer_Expi@2:

; 1066 : 	{
; 1067 : 		case 2000: // Deployed
; 1068 : 			if (this->m_Beacon->Get_Owner() && this->m_Beacon->Get_Owner()->Player)

	mov	ecx, DWORD PTR [ebx+28]
	call	?Get_Owner@nc_BeaconGameObj@@QAEPAVnc_SoldierGameObj@@XZ ; nc_BeaconGameObj::Get_Owner
	test	eax, eax
	je	$LN44@Timer_Expi@2
	mov	ecx, DWORD PTR [ebx+28]
	call	?Get_Owner@nc_BeaconGameObj@@QAEPAVnc_SoldierGameObj@@XZ ; nc_BeaconGameObj::Get_Owner
	cmp	DWORD PTR [eax+2400], 0
	je	$LN44@Timer_Expi@2

; 1069 : 			{
; 1070 : 				gzLogger("_BEACON", "%ls deployed %s %s",
; 1071 : 					this->m_Beacon->Get_Owner()->Player->PlayerName.m_Buffer,
; 1072 : 					A_Or_An(gzTranslator->Get(obj)),
; 1073 : 					gzTranslator->Get(obj)
; 1074 : 				);

	mov	esi, DWORD PTR _obj$[ebp]
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	esi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	push	0
	push	esi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	push	eax
	call	?A_Or_An@@YAPADPBD_N@Z			; A_Or_An
	mov	ecx, DWORD PTR [ebx+28]
	add	esp, 8
	push	eax
	call	?Get_Owner@nc_BeaconGameObj@@QAEPAVnc_SoldierGameObj@@XZ ; nc_BeaconGameObj::Get_Owner
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1880]
	push	ecx
	push	OFFSET ??_C@_0BD@IGGHJOCH@?$CFls?5deployed?5?$CFs?5?$CFs?$AA@
	push	OFFSET ??_C@_07GDNEBACP@_BEACON?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger

; 1075 : 				if (nc_CollisionMath::Overlap_Test(nc_BaseControllerClass::Find_Base(this->m_Beacon->PlayerType ^ 1)->BeaconZone, gzCommands->Get_Position(obj)) == 2)

	mov	eax, DWORD PTR ?gzCommands@@3PAUnc_ScriptCommands@@A ; gzCommands
	mov	ecx, DWORD PTR [eax+64]
	lea	edx, DWORD PTR $T72659[esp+276]
	push	esi
	push	edx
	call	ecx
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR $T72658[esp+284], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR $T72658[esp+288], ecx
	mov	edx, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR [ebx+28]
	mov	DWORD PTR $T72658[esp+292], edx
	mov	edx, DWORD PTR [ecx+1892]
	add	esp, 28					; 0000001cH
	lea	eax, DWORD PTR $T72658[esp+256]
	push	eax
	xor	edx, 1
	push	edx
	call	?Find_Base@nc_BaseControllerClass@@SAPAV1@H@Z ; nc_BaseControllerClass::Find_Base
	add	eax, 1756				; 000006dcH
	add	esp, 4
	push	eax
	call	?Overlap_Test@nc_CollisionMath@@SAHABVnc_OBBoxClass@@ABUnc_Vector3@@@Z ; nc_CollisionMath::Overlap_Test
	add	esp, 8
	cmp	eax, 2
	jne	SHORT $LN37@Timer_Expi@2

; 1076 : 				{
; 1077 : 					notify.Printf("ATTENTION: %s %s has been placed on the enemy Beacon Pedestal!",
; 1078 : 						A_Or_An(gzTranslator->Get(obj), true),
; 1079 : 						gzTranslator->Get(obj)
; 1080 : 					);

	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	esi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	push	1
	push	esi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	push	eax
	call	?A_Or_An@@YAPADPBD_N@Z			; A_Or_An
	add	esp, 8
	push	eax
	lea	eax, DWORD PTR _notify$[esp+264]
	push	OFFSET ??_C@_0DP@CHGKFDIO@ATTENTION?3?5?$CFs?5?$CFs?5has?5been?5placed@
	push	eax
	call	?Printf@aString@@QAAXPBDZZ		; aString::Printf
	add	esp, 16					; 00000010H

; 1081 : 				}
; 1082 : 				else

	jmp	$LN36@Timer_Expi@2
$LN37@Timer_Expi@2:

; 1083 : 				{
; 1084 : 					struct hitInfo {
; 1085 : 						nc_BuildingGameObj *Building;
; 1086 : 						float Damage;
; 1087 : 					};
; 1088 : 					nc_ExplosionDefinitionClass *Explosion = (nc_ExplosionDefinitionClass *)nc_DefinitionMgrClass::Find_Definition(((nc_BeaconGameObjDef *)this->m_Beacon->definition)->ExplosionObj, true);

	mov	ecx, DWORD PTR [ebx+28]
	mov	edx, DWORD PTR [ecx+1724]
	mov	eax, DWORD PTR [edx+232]
	push	1
	push	eax
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition

; 1089 : 					int hitCount = 0;

	xor	ecx, ecx
	add	esp, 8
	mov	edi, eax
	mov	DWORD PTR _hitCount$60400[esp+256], ecx

; 1090 : 					aVector<hitInfo> hitList;

	mov	DWORD PTR _hitList$60440[esp+256], OFFSET ??_7?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@6B@
	mov	DWORD PTR _hitList$60440[esp+260], ecx
	mov	DWORD PTR _hitList$60440[esp+264], ecx
	mov	DWORD PTR _hitList$60440[esp+268], ecx

; 1091 : 					for (nc_GenericSLNode<nc_BuildingGameObj> *bList = nc_GameObjManager::BuildingGameObjList->HeadNode; bList != NULL; bList = bList->NodeNext)

	mov	edx, DWORD PTR ?BuildingGameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BuildingGameObj@@@@A ; nc_GameObjManager::BuildingGameObjList
	mov	esi, DWORD PTR [edx+4]
	cmp	esi, ecx
	mov	BYTE PTR __$EHRec$[esp+264], 1
	je	$LN135@Timer_Expi@2
$LL35@Timer_Expi@2:

; 1092 : 					{
; 1093 : 						if (bList->NodeData != NULL && bList->NodeData->Destroyed == false && ((nc_CombatManager::FriendlyFirePermitted == false && bList->NodeData->PlayerType != this->m_Beacon->Get_Owner()->PlayerType) || nc_CombatManager::FriendlyFirePermitted == true))

	mov	eax, DWORD PTR [esi+4]
	cmp	eax, ecx
	je	$LN34@Timer_Expi@2
	cmp	BYTE PTR [eax+1912], 0
	jne	$LN34@Timer_Expi@2
	mov	eax, DWORD PTR ?FriendlyFirePermitted@nc_CombatManager@@2AA_NA ; nc_CombatManager::FriendlyFirePermitted
	cmp	BYTE PTR [eax], 0
	jne	SHORT $LN30@Timer_Expi@2
	mov	ecx, DWORD PTR [ebx+28]
	call	?Get_Owner@nc_BeaconGameObj@@QAEPAVnc_SoldierGameObj@@XZ ; nc_BeaconGameObj::Get_Owner
	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx+1892]
	cmp	edx, DWORD PTR [eax+1892]
	jne	SHORT $LN31@Timer_Expi@2
$LN30@Timer_Expi@2:
	mov	eax, DWORD PTR ?FriendlyFirePermitted@nc_CombatManager@@2AA_NA ; nc_CombatManager::FriendlyFirePermitted
	cmp	BYTE PTR [eax], 1
	jne	$LN34@Timer_Expi@2
$LN31@Timer_Expi@2:

; 1094 : 						{
; 1095 : 							float PolyDistance = 0.0f;

	fldz

; 1096 : 							nc_Vector3 BeaconPos;
; 1097 : 							this->m_Beacon->Get_Position(&BeaconPos);

	mov	ecx, DWORD PTR [ebx+28]
	fstp	DWORD PTR _PolyDistance$60501[esp+256]
	lea	eax, DWORD PTR _BeaconPos$60502[esp+256]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+56]
	push	eax
	call	edx

; 1098 : 							bList->NodeData->Find_Closest_Poly(BeaconPos,&PolyDistance);

	lea	eax, DWORD PTR _PolyDistance$60501[esp+256]
	push	eax
	lea	ecx, DWORD PTR _BeaconPos$60502[esp+260]
	push	ecx
	mov	ecx, DWORD PTR [esi+4]
	call	?Find_Closest_Poly@nc_BuildingGameObj@@QAEXABUnc_Vector3@@PAM@Z ; nc_BuildingGameObj::Find_Closest_Poly

; 1099 : 							if (PolyDistance <= pow(Explosion->DamageRadius,2))

	fld	DWORD PTR [edi+36]
	fld1
	mov	eax, 2
	fld	ST(0)
$LN59@Timer_Expi@2:
	test	al, 1
	je	SHORT $LN56@Timer_Expi@2
	fmul	ST(0), ST(2)
$LN56@Timer_Expi@2:
	shr	eax, 1
	je	SHORT $LN145@Timer_Expi@2
	fld	ST(2)
	fmulp	ST(3), ST(0)
	jmp	SHORT $LN59@Timer_Expi@2
$LN145@Timer_Expi@2:
	fstp	ST(2)
	fld	DWORD PTR _PolyDistance$60501[esp+256]
	fcom	ST(2)
	fnstsw	ax
	fstp	ST(2)
	test	ah, 65					; 00000041H
	jp	SHORT $LN148@Timer_Expi@2

; 1100 : 							{
; 1101 : 								float Damage = 0.0f,
; 1102 : 									RawDamageRate = 0.0f,
; 1103 : 									PolyCircle = sqrt(PolyDistance);

	fxch	ST(1)
	fsqrt

; 1104 : 								if ((PolyCircle / Explosion->DamageRadius) < 0.0f)

	fdiv	DWORD PTR [edi+36]
	fldz
	fcomp	ST(1)
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $LN28@Timer_Expi@2

; 1105 : 									RawDamageRate = PolyCircle / Explosion->DamageRadius + 1.0f;

	fadd	ST(0), ST(1)

; 1106 : 								else

	jmp	SHORT $LN25@Timer_Expi@2
$LN28@Timer_Expi@2:

; 1107 : 								{
; 1108 : 									if ((PolyCircle / Explosion->DamageRadius) < 1.0f)

	fcom	ST(1)
	fnstsw	ax
	test	ah, 5

; 1109 : 										RawDamageRate = PolyCircle / Explosion->DamageRadius;
; 1110 : 									else

	jnp	SHORT $LN25@Timer_Expi@2
	fstp	ST(0)

; 1111 : 										RawDamageRate = 1.0f;

	fld	ST(0)
$LN25@Timer_Expi@2:

; 1112 : 								}
; 1113 : 								RawDamageRate = 1.0f - RawDamageRate;
; 1114 : 								Damage = (RawDamageRate * Explosion->DamageStrength) * nc_ArmorWarheadManager::Get_Damage_Multiplier(bList->NodeData->Defense.Skin.Get(),Explosion->Warhead);

	mov	edx, DWORD PTR [edi+44]
	fsubp	ST(1), ST(0)
	mov	ecx, DWORD PTR [esi+4]
	push	edx
	add	ecx, 1848				; 00000738H
	fstp	DWORD PTR _RawDamageRate$60505[esp+260]
	call	?Get@nc_UIntDataSafeClass@@QAEIXZ	; nc_UIntDataSafeClass::Get
	push	eax
	call	?Get_Damage_Multiplier@nc_ArmorWarheadManager@@SAMII@Z ; nc_ArmorWarheadManager::Get_Damage_Multiplier
	fld	DWORD PTR [edi+40]
	fmul	DWORD PTR _RawDamageRate$60505[esp+264]

; 1115 : 								hitInfo hi;
; 1116 : 								hi.Building = bList->NodeData;

	mov	eax, DWORD PTR [esi+4]
	add	esp, 8

; 1117 : 								hi.Damage = Damage;
; 1118 : 								hitList.Add(hi);

	lea	ecx, DWORD PTR _hi$60511[esp+256]
	fmulp	ST(1), ST(0)
	push	ecx
	lea	ecx, DWORD PTR _hitList$60440[esp+260]
	mov	DWORD PTR _hi$60511[esp+260], eax
	fstp	DWORD PTR _hi$60511[esp+264]
	call	?Add@?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAEXABUhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@Z ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::Add

; 1119 : 								hitCount++;

	add	DWORD PTR _hitCount$60400[esp+256], 1
	jmp	SHORT $LN34@Timer_Expi@2
$LN148@Timer_Expi@2:

; 1099 : 							if (PolyDistance <= pow(Explosion->DamageRadius,2))

	fstp	ST(1)
	fstp	ST(0)
$LN34@Timer_Expi@2:
	mov	esi, DWORD PTR [esi]
	xor	ecx, ecx
	cmp	esi, ecx
	jne	$LL35@Timer_Expi@2

; 1120 : 							}
; 1121 : 						}
; 1122 : 					}
; 1123 : 					if (hitCount == 0)

	cmp	DWORD PTR _hitCount$60400[esp+256], ecx
	jne	SHORT $LN24@Timer_Expi@2
$LN135@Timer_Expi@2:

; 1124 : 					{
; 1125 : 						notify.Printf("ATTENTION: %s %s has been placed and will NOT damage any buildings.",
; 1126 : 							A_Or_An(gzTranslator->Get(obj), true),
; 1127 : 							gzTranslator->Get(obj)
; 1128 : 						);

	mov	esi, DWORD PTR _obj$[ebp]
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	esi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	push	1
	push	esi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	push	eax
	call	?A_Or_An@@YAPADPBD_N@Z			; A_Or_An
	add	esp, 8
	push	eax
	lea	edx, DWORD PTR _notify$[esp+264]
	push	OFFSET ??_C@_0EE@OFBKEMEC@ATTENTION?3?5?$CFs?5?$CFs?5has?5been?5placed@
	push	edx
	call	?Printf@aString@@QAAXPBDZZ		; aString::Printf
	add	esp, 16					; 00000010H

; 1129 : 					}
; 1130 : 					else

	jmp	$LN23@Timer_Expi@2
$LN24@Timer_Expi@2:

; 1131 : 					{
; 1132 : 						notify.Printf("ATTENTION: %s %s has been placed. ",
; 1133 : 							A_Or_An(gzTranslator->Get(obj), true),
; 1134 : 							gzTranslator->Get(obj)
; 1135 : 						);

	mov	esi, DWORD PTR _obj$[ebp]
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	esi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	push	1
	push	esi
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	push	eax
	call	?A_Or_An@@YAPADPBD_N@Z			; A_Or_An
	add	esp, 8
	push	eax
	lea	eax, DWORD PTR _notify$[esp+264]
	push	OFFSET ??_C@_0CD@BGMGICIE@ATTENTION?3?5?$CFs?5?$CFs?5has?5been?5placed@
	push	eax
	call	?Printf@aString@@QAAXPBDZZ		; aString::Printf
	add	esp, 16					; 00000010H

; 1136 : 						if (hitCount == 1)

	cmp	DWORD PTR _hitCount$60400[esp+256], 1
	jne	SHORT $LN22@Timer_Expi@2

; 1137 : 							notify += "The building that will be damaged is: ";

	push	OFFSET ??_C@_0CH@OCPIJPEC@The?5building?5that?5will?5be?5damage@
	lea	ecx, DWORD PTR $T72660[esp+260]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	ecx, DWORD PTR $T72660[esp+256]
	push	ecx
	lea	ecx, DWORD PTR _notify$[esp+260]
	mov	BYTE PTR __$EHRec$[esp+268], 2
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T72660[esp+256]

; 1138 : 						else

	jmp	SHORT $LN157@Timer_Expi@2
$LN22@Timer_Expi@2:

; 1139 : 							notify += "The buildings that will be damaged are: ";

	push	OFFSET ??_C@_0CJ@OPOEKMEK@The?5buildings?5that?5will?5be?5damag@
	lea	ecx, DWORD PTR $T72661[esp+260]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	edx, DWORD PTR $T72661[esp+256]
	push	edx
	lea	ecx, DWORD PTR _notify$[esp+260]
	mov	BYTE PTR __$EHRec$[esp+268], 3
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T72661[esp+256]
$LN157@Timer_Expi@2:
	mov	BYTE PTR __$EHRec$[esp+264], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1140 : 						for (unsigned int i = 0; i < hitList.Count(); i++)

	xor	esi, esi
	cmp	DWORD PTR _hitList$60440[esp+268], esi
	jbe	$LN18@Timer_Expi@2
	mov	bl, 4
	npad	5
$LL20@Timer_Expi@2:
	mov	eax, DWORD PTR _hitList$60440[esp+260]

; 1141 : 							notify += aString::Format("%s(%.0f), ", gzTranslator->Get(hitList[i].Building->definition->Get_Name()), hitList[i].Damage);

	mov	ecx, DWORD PTR [eax+esi*8]
	fld	DWORD PTR [eax+esi*8+4]
	mov	ecx, DWORD PTR [ecx+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	lea	ecx, DWORD PTR $T72662[esp+268]
	push	OFFSET ??_C@_0L@CBBKDIH@?$CFs?$CI?$CF?40f?$CJ?0?5?$AA@
	push	ecx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 20					; 00000014H
	push	eax
	lea	ecx, DWORD PTR _notify$[esp+260]
	mov	BYTE PTR __$EHRec$[esp+268], bl
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T72662[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	add	esi, 1
	cmp	esi, DWORD PTR _hitList$60440[esp+268]
	jb	SHORT $LL20@Timer_Expi@2

; 1140 : 						for (unsigned int i = 0; i < hitList.Count(); i++)

	mov	ebx, DWORD PTR _this$[esp+256]
$LN18@Timer_Expi@2:

; 1142 : 						notify.Resize(notify.GetLength() - 2);

	lea	ecx, DWORD PTR _notify$[esp+256]
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	sub	eax, 2
	push	eax
	lea	ecx, DWORD PTR _notify$[esp+260]
	call	?Resize@aStringBase@@QAEXI@Z		; aStringBase::Resize

; 1143 : 						notify += (".");

	push	OFFSET ??_C@_01LFCBOECM@?4?$AA@
	lea	ecx, DWORD PTR $T72663[esp+260]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	edx, DWORD PTR $T72663[esp+256]
	push	edx
	lea	ecx, DWORD PTR _notify$[esp+260]
	mov	BYTE PTR __$EHRec$[esp+268], 5
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T72663[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN23@Timer_Expi@2:

; 1144 : 					}
; 1145 : 				}

	lea	ecx, DWORD PTR _hitList$60440[esp+256]
	mov	BYTE PTR __$EHRec$[esp+264], 0
	call	??1?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAE@XZ ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::~aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>
$LN36@Timer_Expi@2:

; 1146 : 				nc_cScTextObj *ScTextObj = nc_cScTextObj::Create();

	call	?Create@nc_cScTextObj@@SAPAV1@XZ	; nc_cScTextObj::Create
	mov	esi, eax

; 1147 : 				ScTextObj->Set_Object_Dirty_Bit(nc_DB_CREATION, false);

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+56]
	push	0
	push	15					; 0000000fH
	mov	ecx, esi
	call	edx

; 1148 : 				ScTextObj->SenderId = this->m_Beacon->Get_Owner()->Player->PlayerId;

	mov	ecx, DWORD PTR [ebx+28]
	call	?Get_Owner@nc_BeaconGameObj@@QAEPAVnc_SoldierGameObj@@XZ ; nc_BeaconGameObj::Get_Owner
	mov	eax, DWORD PTR [eax+2400]
	mov	ecx, DWORD PTR [eax+1884]
	mov	DWORD PTR [esi+1716], ecx

; 1149 : 				ScTextObj->Type = 1;

	mov	DWORD PTR [esi+1724], 1

; 1150 : 				ScTextObj->IsPopup = false;

	mov	BYTE PTR [esi+1732], 0

; 1151 : 				ScTextObj->Message.Convert_From(notify.GetString());

	mov	eax, DWORD PTR _notify$[esp+260]
	test	eax, eax
	je	SHORT $LN90@Timer_Expi@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN91@Timer_Expi@2
$LN90@Timer_Expi@2:
	xor	eax, eax
$LN91@Timer_Expi@2:
	push	eax
	lea	ecx, DWORD PTR [esi+1728]
	call	?Convert_From@nc_WideStringClass@@QAEXPBD@Z ; nc_WideStringClass::Convert_From

; 1152 : 				for (nc_GenericSLNode<nc_cPlayer> *pList = nc_cPlayerManager::PlayerList->HeadNode; pList != NULL; pList = pList->NodeNext)

	mov	edx, DWORD PTR ?PlayerList@nc_cPlayerManager@@2PAV?$nc_SList@Vnc_cPlayer@@@@A ; nc_cPlayerManager::PlayerList
	mov	edi, DWORD PTR [edx+4]
	test	edi, edi
	je	SHORT $LN15@Timer_Expi@2
	npad	3
$LL17@Timer_Expi@2:

; 1153 : 				{
; 1154 : 					if (pList->NodeData->IsActive)

	mov	eax, DWORD PTR [edi+4]
	cmp	BYTE PTR [eax+1981], 0
	je	SHORT $LN16@Timer_Expi@2

; 1155 : 					{
; 1156 : 						if (pList->NodeData->PlayerType.Get() == this->m_Beacon->Get_Owner()->PlayerType)

	lea	ecx, DWORD PTR [eax+1900]
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR [ebx+28]
	mov	DWORD PTR tv870[esp+256], eax
	call	?Get_Owner@nc_BeaconGameObj@@QAEPAVnc_SoldierGameObj@@XZ ; nc_BeaconGameObj::Get_Owner
	mov	ecx, DWORD PTR tv870[esp+256]
	cmp	ecx, DWORD PTR [eax+1892]
	jne	SHORT $LN138@Timer_Expi@2

; 1157 : 						{
; 1158 : 							ScTextObj->Set_Object_Dirty_Bit(pList->NodeData->PlayerId, nc_DB_CREATION, true);

	mov	ecx, DWORD PTR [edi+4]
	mov	edx, DWORD PTR [ecx+1884]
	mov	eax, DWORD PTR [esi]
	mov	eax, DWORD PTR [eax+52]
	push	1
	push	15					; 0000000fH
	push	edx
	mov	ecx, esi
	call	eax

; 1159 : 							nc_cNetwork::Send_Object_Update(ScTextObj, pList->NodeData->PlayerId);

	mov	ecx, DWORD PTR [edi+4]
	mov	edx, DWORD PTR [ecx+1884]
	push	edx
	push	esi
	call	?Send_Object_Update@nc_cNetwork@@SAXPAVnc_NetworkObjectClass@@H@Z ; nc_cNetwork::Send_Object_Update
	add	esp, 8
$LN138@Timer_Expi@2:
	mov	ebx, DWORD PTR _this$[esp+256]
$LN16@Timer_Expi@2:

; 1152 : 				for (nc_GenericSLNode<nc_cPlayer> *pList = nc_cPlayerManager::PlayerList->HeadNode; pList != NULL; pList = pList->NodeNext)

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $LL17@Timer_Expi@2
$LN15@Timer_Expi@2:

; 1160 : 						}
; 1161 : 					}
; 1162 : 				}
; 1163 : 				ScTextObj->Set_Delete_Pending();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi

; 1164 : 			}
; 1165 : 			break;

	jmp	$LN158@Timer_Expi@2
$LN12@Timer_Expi@2:

; 1166 : 
; 1167 : 		case 2001: // Warning message
; 1168 : 			for (aListNode<gzTranslateItem>* list = gzTranslator->m_beaconWarningList.GetHead(); list != NULL; list = list->GetNext())

	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	mov	eax, DWORD PTR [ecx+80]
	mov	edx, DWORD PTR [eax+4]
	add	ecx, 80					; 00000050H
	call	edx
	mov	esi, eax
	test	esi, esi
	je	$LN44@Timer_Expi@2
	mov	ebx, DWORD PTR _obj$[ebp]
	npad	6
$LL94@Timer_Expi@2:

; 1169 : 			{
; 1170 : 				if (list->GetData()->preset == obj->definition->Get_Name())

	mov	ecx, DWORD PTR [ebx+1724]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+48]
	mov	edi, DWORD PTR [esi+4]
	call	edx
	push	eax
	mov	ecx, edi
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	SHORT $LN128@Timer_Expi@2
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL94@Timer_Expi@2

; 1180 : 			{
; 1181 : 				if (list->GetData()->preset == obj->definition->Get_Name())

	jmp	$LN44@Timer_Expi@2
$LN128@Timer_Expi@2:

; 1171 : 				{
; 1172 : 					gzLogger("_BEACON", list->GetData()->translated.GetString());

	mov	esi, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [esi+12]
	test	eax, eax
	je	SHORT $LN102@Timer_Expi@2
	mov	eax, DWORD PTR [eax]
	push	eax
	push	OFFSET ??_C@_07GDNEBACP@_BEACON?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 8

; 1173 : 					break;
; 1174 : 				}
; 1175 : 			}
; 1176 : 			break;

	jmp	$LN44@Timer_Expi@2

; 1171 : 				{
; 1172 : 					gzLogger("_BEACON", list->GetData()->translated.GetString());

$LN102@Timer_Expi@2:
	xor	eax, eax
	push	eax
	push	OFFSET ??_C@_07GDNEBACP@_BEACON?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 8

; 1173 : 					break;
; 1174 : 				}
; 1175 : 			}
; 1176 : 			break;

	jmp	$LN44@Timer_Expi@2
$LN7@Timer_Expi@2:

; 1177 : 
; 1178 : 		case 2002: // Initial
; 1179 : 			for (aListNode<gzTranslateItem>* list = gzTranslator->m_beaconStrikeList.GetHead(); list != NULL; list = list->GetNext())

	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	mov	eax, DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax+4]
	add	ecx, 64					; 00000040H
	call	edx
	mov	esi, eax
	test	esi, esi
	je	$LN44@Timer_Expi@2
	mov	ebx, DWORD PTR _obj$[ebp]
	npad	7
$LL106@Timer_Expi@2:

; 1180 : 			{
; 1181 : 				if (list->GetData()->preset == obj->definition->Get_Name())

	mov	ecx, DWORD PTR [ebx+1724]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+48]
	mov	edi, DWORD PTR [esi+4]
	call	edx
	push	eax
	mov	ecx, edi
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	SHORT $LN129@Timer_Expi@2
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL106@Timer_Expi@2
	jmp	$LN44@Timer_Expi@2
$LN129@Timer_Expi@2:

; 1182 : 				{
; 1183 : 					gzLogger("_BEACON", "%s initiated",	list->GetData()->translated.GetString());

	mov	esi, DWORD PTR [esi+4]
	mov	eax, DWORD PTR [esi+12]
	test	eax, eax
	je	SHORT $LN114@Timer_Expi@2
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN115@Timer_Expi@2
$LN114@Timer_Expi@2:
	xor	eax, eax
$LN115@Timer_Expi@2:
	push	eax
	push	OFFSET ??_C@_0N@MFDLDHKA@?$CFs?5initiated?$AA@
	push	OFFSET ??_C@_07GDNEBACP@_BEACON?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 12					; 0000000cH

; 1184 : 					break;
; 1185 : 				}
; 1186 : 			}
; 1187 : 			break;

	jmp	SHORT $LN44@Timer_Expi@2
$LN2@Timer_Expi@2:

; 1188 : 
; 1189 : 		case 2003: // Detonate
; 1190 : 			gzLogger("_BEACON", "%s has detonated", gzTranslator->Get(obj));

	mov	eax, DWORD PTR _obj$[ebp]
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPAVnc_BaseGameObj@@@Z ; gzTranslateManager::Get
	push	eax
	push	OFFSET ??_C@_0BB@INLPMEKF@?$CFs?5has?5detonated?$AA@
	push	OFFSET ??_C@_07GDNEBACP@_BEACON?$AA@
	call	?gzLogger@@YAXPBD0ZZ			; gzLogger
	add	esp, 12					; 0000000cH

; 1191 : 			break;

	jmp	SHORT $LN44@Timer_Expi@2
$LN1@Timer_Expi@2:

; 1192 : 
; 1193 : 		case 3084: // Add beacon to the weaponbag of owner because limit reached
; 1194 : 			this->m_Beacon->Owner.Reference->obj->As_SoldierGameObj()->WeaponBag->Add_Weapon(this->m_Beacon->WeaponDef, 1, false);

	mov	eax, DWORD PTR [ebx+28]
	mov	ecx, DWORD PTR [eax+1976]
	mov	edx, DWORD PTR [eax+2016]
	mov	ecx, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR [ecx]
	push	0
	push	1
	push	edx
	mov	edx, DWORD PTR [eax+68]
	call	edx
	mov	ecx, DWORD PTR [eax+1968]
	call	?Add_Weapon@nc_WeaponBagClass@@QAEXPBVnc_WeaponDefinitionClass@@H_N@Z ; nc_WeaponBagClass::Add_Weapon

; 1195 : 			obj->Set_Delete_Pending();

	mov	ecx, DWORD PTR _obj$[ebp]
	mov	eax, DWORD PTR [ecx+8]
	add	ecx, 8
$LN158@Timer_Expi@2:
	mov	edx, DWORD PTR [eax+44]
	call	edx
$LN44@Timer_Expi@2:

; 1196 : 			break;
; 1197 : 	}
; 1198 : }

	lea	ecx, DWORD PTR _notify$[esp+256]
	mov	DWORD PTR __$EHRec$[esp+264], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, DWORD PTR __$EHRec$[esp+256]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	8
	npad	2
$LN159@Timer_Expi@2:
	DD	$LN39@Timer_Expi@2
	DD	$LN12@Timer_Expi@2
	DD	$LN7@Timer_Expi@2
	DD	$LN2@Timer_Expi@2
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z$0:
	lea	ecx, DWORD PTR _notify$[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z$1:
	lea	ecx, DWORD PTR _hitList$60440[ebp]
	jmp	??1?$aVector@UhitInfo@?M@??Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z@@@UAE@XZ ; aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>::~aVector<`gzObserverBeacon::Timer_Expired'::`12'::hitInfo>
__unwindfunclet$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z$2:
	lea	ecx, DWORD PTR $T72660[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z$3:
	lea	ecx, DWORD PTR $T72661[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z$4:
	lea	ecx, DWORD PTR $T72662[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z$5:
	lea	ecx, DWORD PTR $T72663[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z:
	mov	eax, OFFSET __ehfuncinfo$?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Timer_Expired@gzObserverBeacon@@EAEXPAVnc_ScriptableGameObj@@H@Z ENDP ; gzObserverBeacon::Timer_Expired
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@21
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@21:
	mov	eax, esi
	pop	esi
	ret	4
??_GaWideStringArray@@UAEPAXI@Z ENDP			; aWideStringArray::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_GgzBackpackSoldierData@@QAEPAXI@Z		; gzBackpackSoldierData::`scalar deleting destructor'
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzBackpackSoldierData@@QAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzBackpackSoldierData@@QAEPAXI@Z PROC		; gzBackpackSoldierData::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1gzBackpackSoldierData@@QAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@22
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@22:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzBackpackSoldierData@@QAEPAXI@Z ENDP		; gzBackpackSoldierData::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??1gzWeaponLevelStruct@@QAE@XZ			; gzWeaponLevelStruct::~gzWeaponLevelStruct
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzWeaponLevelStruct@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzWeaponLevelStruct@@QAE@XZ$0
__ehfuncinfo$??1gzWeaponLevelStruct@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzWeaponLevelStruct@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzWeaponLevelStruct@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzWeaponLevelStruct@@QAE@XZ PROC			; gzWeaponLevelStruct::~gzWeaponLevelStruct, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzWeaponLevelStruct@@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+8]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	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$??1gzWeaponLevelStruct@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??1gzWeaponLevelStruct@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzWeaponLevelStruct@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzWeaponLevelStruct@@QAE@XZ ENDP			; gzWeaponLevelStruct::~gzWeaponLevelStruct
PUBLIC	??1gzWeaponBan@@QAE@XZ				; gzWeaponBan::~gzWeaponBan
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzWeaponBan@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzWeaponBan@@QAE@XZ$0
__ehfuncinfo$??1gzWeaponBan@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzWeaponBan@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzWeaponBan@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzWeaponBan@@QAE@XZ PROC				; gzWeaponBan::~gzWeaponBan, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzWeaponBan@@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+8]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	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$??1gzWeaponBan@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??1gzWeaponBan@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzWeaponBan@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzWeaponBan@@QAE@XZ ENDP				; gzWeaponBan::~gzWeaponBan
PUBLIC	??_7aStringArray@@6B@				; aStringArray::`vftable'
PUBLIC	??0aStringArray@@QAE@XZ				; aStringArray::aStringArray
PUBLIC	??_R4aStringArray@@6B@				; aStringArray::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVaStringArray@@@8			; aStringArray `RTTI Type Descriptor'
PUBLIC	??_R3aStringArray@@8				; aStringArray::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2aStringArray@@8				; aStringArray::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@aStringArray@@8			; aStringArray::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_EaStringArray@@UAEPAXI@Z:PROC		; aStringArray::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@aStringArray@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@aStringArray@@8 DD FLAT:??_R0?AVaStringArray@@@8 ; aStringArray::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3aStringArray@@8
rdata$r	ENDS
;	COMDAT ??_R2aStringArray@@8
rdata$r	SEGMENT
??_R2aStringArray@@8 DD FLAT:??_R1A@?0A@EA@aStringArray@@8 ; aStringArray::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$aStringArrayBase@VaString@@@@8
	DD	FLAT:??_R1A@?0A@EA@?$aVector@PAVaStringData@@@@8
rdata$r	ENDS
;	COMDAT ??_R3aStringArray@@8
rdata$r	SEGMENT
??_R3aStringArray@@8 DD 00H				; aStringArray::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2aStringArray@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVaStringArray@@@8
_DATA	SEGMENT
??_R0?AVaStringArray@@@8 DD FLAT:??_7type_info@@6B@	; aStringArray `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVaStringArray@@', 00H
_DATA	ENDS
;	COMDAT ??_R4aStringArray@@6B@
rdata$r	SEGMENT
??_R4aStringArray@@6B@ DD 00H				; aStringArray::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVaStringArray@@@8
	DD	FLAT:??_R3aStringArray@@8
rdata$r	ENDS
;	COMDAT ??_7aStringArray@@6B@
CONST	SEGMENT
??_7aStringArray@@6B@ DD FLAT:??_R4aStringArray@@6B@	; aStringArray::`vftable'
	DD	FLAT:??_EaStringArray@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aStringArrayBase@VaString@@@@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@VaString@@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0aStringArray@@QAE@XZ
_TEXT	SEGMENT
??0aStringArray@@QAE@XZ PROC				; aStringArray::aStringArray, 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 ??_7aStringArray@@6B@
	ret	0
??0aStringArray@@QAE@XZ ENDP				; aStringArray::aStringArray
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GaStringArray@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GaStringArray@@UAEPAXI@Z PROC			; aStringArray::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
	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
??_GaStringArray@@UAEPAXI@Z ENDP			; aStringArray::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_7gzSettingsWeaponClass@@6B@			; gzSettingsWeaponClass::`vftable'
PUBLIC	??0gzSettingsWeaponClass@@QAE@XZ		; gzSettingsWeaponClass::gzSettingsWeaponClass
PUBLIC	??_R4gzSettingsWeaponClass@@6B@			; gzSettingsWeaponClass::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzSettingsWeaponClass@@@8		; gzSettingsWeaponClass `RTTI Type Descriptor'
PUBLIC	??_R3gzSettingsWeaponClass@@8			; gzSettingsWeaponClass::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzSettingsWeaponClass@@8			; gzSettingsWeaponClass::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzSettingsWeaponClass@@8		; gzSettingsWeaponClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Delete@gzSettingsWeaponClass@@UAEXXZ		; gzSettingsWeaponClass::Delete
PUBLIC	?Load@gzSettingsWeaponClass@@UAEXXZ		; gzSettingsWeaponClass::Load
;	COMDAT ??_R1A@?0A@EA@gzSettingsWeaponClass@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzSettingsWeaponClass@@8 DD FLAT:??_R0?AVgzSettingsWeaponClass@@@8 ; gzSettingsWeaponClass::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzSettingsWeaponClass@@8
rdata$r	ENDS
;	COMDAT ??_R2gzSettingsWeaponClass@@8
rdata$r	SEGMENT
??_R2gzSettingsWeaponClass@@8 DD FLAT:??_R1A@?0A@EA@gzSettingsWeaponClass@@8 ; gzSettingsWeaponClass::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@stSettingsBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzSettingsWeaponClass@@8
rdata$r	SEGMENT
??_R3gzSettingsWeaponClass@@8 DD 00H			; gzSettingsWeaponClass::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzSettingsWeaponClass@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzSettingsWeaponClass@@@8
_DATA	SEGMENT
??_R0?AVgzSettingsWeaponClass@@@8 DD FLAT:??_7type_info@@6B@ ; gzSettingsWeaponClass `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzSettingsWeaponClass@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzSettingsWeaponClass@@6B@
rdata$r	SEGMENT
??_R4gzSettingsWeaponClass@@6B@ DD 00H			; gzSettingsWeaponClass::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzSettingsWeaponClass@@@8
	DD	FLAT:??_R3gzSettingsWeaponClass@@8
rdata$r	ENDS
;	COMDAT ??_7gzSettingsWeaponClass@@6B@
CONST	SEGMENT
??_7gzSettingsWeaponClass@@6B@ DD FLAT:??_R4gzSettingsWeaponClass@@6B@ ; gzSettingsWeaponClass::`vftable'
	DD	FLAT:?Delete@gzSettingsWeaponClass@@UAEXXZ
	DD	FLAT:?Load@gzSettingsWeaponClass@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzSettingsWeaponClass@@QAE@XZ
_TEXT	SEGMENT
$T72977 = -4						; size = 4
??0gzSettingsWeaponClass@@QAE@XZ PROC			; gzSettingsWeaponClass::gzSettingsWeaponClass, 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 $T72977[esp+12], esi
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+12]
	lea	edx, DWORD PTR $T72977[esp+12]
	push	edx
	call	eax
	mov	DWORD PTR [esi], OFFSET ??_7gzSettingsWeaponClass@@6B@
	mov	DWORD PTR [esi+92], edi
	mov	DWORD PTR [esi+96], edi
	mov	DWORD PTR [esi+100], edi
	mov	DWORD PTR [esi+88], OFFSET ??_7?$aVector@PAUgzBackpackSoldierData@@@@6B@
	mov	DWORD PTR [esi+108], edi
	mov	DWORD PTR [esi+112], edi
	mov	DWORD PTR [esi+116], edi
	mov	DWORD PTR [esi+104], OFFSET ??_7?$aVector@PAUgzWeaponBan@@@@6B@
	mov	DWORD PTR [esi+124], edi
	mov	DWORD PTR [esi+128], edi
	mov	DWORD PTR [esi+132], edi
	pop	edi
	mov	DWORD PTR [esi+120], OFFSET ??_7?$aVector@PAUgzWeaponLevelStruct@@@@6B@
	mov	eax, esi
	pop	esi
	pop	ecx
	ret	0
??0gzSettingsWeaponClass@@QAE@XZ ENDP			; gzSettingsWeaponClass::gzSettingsWeaponClass
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzBackpackManager@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzBackpackManager@@UAEPAXI@Z PROC			; gzBackpackManager::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1gzBackpackManager@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@24
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@24:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzBackpackManager@@UAEPAXI@Z ENDP			; gzBackpackManager::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzWeaponPackClass@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzWeaponPackClass@@UAEPAXI@Z PROC			; gzWeaponPackClass::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1gzWeaponPackClass@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@25
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@25:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzWeaponPackClass@@UAEPAXI@Z ENDP			; gzWeaponPackClass::`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	??_GgzWeaponLevelStruct@@QAEPAXI@Z		; gzWeaponLevelStruct::`scalar deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??_GgzWeaponLevelStruct@@QAEPAXI@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??_GgzWeaponLevelStruct@@QAEPAXI@Z$0
__ehfuncinfo$??_GgzWeaponLevelStruct@@QAEPAXI@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??_GgzWeaponLevelStruct@@QAEPAXI@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??_GgzWeaponLevelStruct@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___flags$ = 8						; size = 4
??_GgzWeaponLevelStruct@@QAEPAXI@Z PROC			; gzWeaponLevelStruct::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??_GgzWeaponLevelStruct@@QAEPAXI@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
	lea	ecx, DWORD PTR [esi+8]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	BYTE PTR ___flags$[esp+16], 1
	je	SHORT $LN14@scalar@26
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN14@scalar@26:
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	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$??_GgzWeaponLevelStruct@@QAEPAXI@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??_GgzWeaponLevelStruct@@QAEPAXI@Z:
	mov	eax, OFFSET __ehfuncinfo$??_GgzWeaponLevelStruct@@QAEPAXI@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??_GgzWeaponLevelStruct@@QAEPAXI@Z ENDP			; gzWeaponLevelStruct::`scalar deleting destructor'
PUBLIC	??_GgzWeaponBan@@QAEPAXI@Z			; gzWeaponBan::`scalar deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??_GgzWeaponBan@@QAEPAXI@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??_GgzWeaponBan@@QAEPAXI@Z$0
__ehfuncinfo$??_GgzWeaponBan@@QAEPAXI@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??_GgzWeaponBan@@QAEPAXI@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??_GgzWeaponBan@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___flags$ = 8						; size = 4
??_GgzWeaponBan@@QAEPAXI@Z PROC				; gzWeaponBan::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??_GgzWeaponBan@@QAEPAXI@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
	lea	ecx, DWORD PTR [esi+8]
	mov	DWORD PTR __$EHRec$[esp+28], 0
	call	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+28], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	BYTE PTR ___flags$[esp+16], 1
	je	SHORT $LN14@scalar@27
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN14@scalar@27:
	mov	ecx, DWORD PTR __$EHRec$[esp+20]
	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$??_GgzWeaponBan@@QAEPAXI@Z$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$??_GgzWeaponBan@@QAEPAXI@Z:
	mov	eax, OFFSET __ehfuncinfo$??_GgzWeaponBan@@QAEPAXI@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??_GgzWeaponBan@@QAEPAXI@Z ENDP				; gzWeaponBan::`scalar deleting destructor'
PUBLIC	??0gzWeaponLevelStruct@@QAE@XZ			; gzWeaponLevelStruct::gzWeaponLevelStruct
; Function compile flags: /Ogtpy
;	COMDAT ??0gzWeaponLevelStruct@@QAE@XZ
_TEXT	SEGMENT
??0gzWeaponLevelStruct@@QAE@XZ PROC			; gzWeaponLevelStruct::gzWeaponLevelStruct, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0aString@@QAE@XZ			; aString::aString
	xor	eax, eax
	mov	DWORD PTR [esi+12], eax
	mov	DWORD PTR [esi+16], eax
	mov	DWORD PTR [esi+20], eax
	mov	DWORD PTR [esi+8], OFFSET ??_7aStringArray@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzWeaponLevelStruct@@QAE@XZ ENDP			; gzWeaponLevelStruct::gzWeaponLevelStruct
_TEXT	ENDS
PUBLIC	??0gzWeaponBan@@QAE@XZ				; gzWeaponBan::gzWeaponBan
; Function compile flags: /Ogtpy
;	COMDAT ??0gzWeaponBan@@QAE@XZ
_TEXT	SEGMENT
??0gzWeaponBan@@QAE@XZ PROC				; gzWeaponBan::gzWeaponBan, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0aString@@QAE@XZ			; aString::aString
	xor	eax, eax
	mov	DWORD PTR [esi+12], eax
	mov	DWORD PTR [esi+16], eax
	mov	DWORD PTR [esi+20], eax
	mov	DWORD PTR [esi+8], OFFSET ??_7aStringArray@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzWeaponBan@@QAE@XZ ENDP				; gzWeaponBan::gzWeaponBan
_TEXT	ENDS
PUBLIC	??_7gzChat_C4@@6B@				; gzChat_C4::`vftable'
PUBLIC	??0gzChat_C4@@QAE@XZ				; gzChat_C4::gzChat_C4
PUBLIC	??_R4gzChat_C4@@6B@				; gzChat_C4::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_C4@@@8				; gzChat_C4 `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_C4@@8				; gzChat_C4::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_C4@@8				; gzChat_C4::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_C4@@8			; gzChat_C4::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z ; gzChat_C4::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_C4@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_C4@@8 DD FLAT:??_R0?AVgzChat_C4@@@8 ; gzChat_C4::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_C4@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_C4@@8
rdata$r	SEGMENT
??_R2gzChat_C4@@8 DD FLAT:??_R1A@?0A@EA@gzChat_C4@@8	; gzChat_C4::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_C4@@8
rdata$r	SEGMENT
??_R3gzChat_C4@@8 DD 00H				; gzChat_C4::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_C4@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_C4@@@8
_DATA	SEGMENT
??_R0?AVgzChat_C4@@@8 DD FLAT:??_7type_info@@6B@	; gzChat_C4 `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_C4@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_C4@@6B@
rdata$r	SEGMENT
??_R4gzChat_C4@@6B@ DD 00H				; gzChat_C4::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_C4@@@8
	DD	FLAT:??_R3gzChat_C4@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_C4@@6B@
CONST	SEGMENT
??_7gzChat_C4@@6B@ DD FLAT:??_R4gzChat_C4@@6B@		; gzChat_C4::`vftable'
	DD	FLAT:?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_C4@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_C4@@QAE@XZ PROC				; gzChat_C4::gzChat_C4, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_C4@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_C4@@QAE@XZ ENDP				; gzChat_C4::gzChat_C4
_TEXT	ENDS
PUBLIC	??_7?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@6B@ ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::`vftable'
PUBLIC	??0?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@QAE@XZ ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::aVector<`gzChat_C4::Activate'::`6'::C4_Info>
PUBLIC	??_R4?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@6B@ ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::`RTTI Complete Object Locator'
PUBLIC	??_R0?AV?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@@8 ; aVector<`gzChat_C4::Activate'::`6'::C4_Info> `RTTI Type Descriptor'
PUBLIC	??_R3?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@8 ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@8 ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@8 ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Clear@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXXZ ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Clear
PUBLIC	?Resize@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAE_NI@Z ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Resize
PUBLIC	?Add@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXABUC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@Z ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Add
PUBLIC	?Insert@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXIABUC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@Z ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Insert
PUBLIC	?Delete@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXI@Z ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Delete
EXTRN	??_E?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEPAXI@Z:PROC ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@8
; File d:\source code\alib\include\avector.h
rdata$r	SEGMENT
??_R1A@?0A@EA@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@8 DD FLAT:??_R0?AV?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@@8 ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@8
rdata$r	SEGMENT
??_R2?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@8 DD FLAT:??_R1A@?0A@EA@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@8 ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@8
rdata$r	SEGMENT
??_R3?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@8 DD 00H ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@8
rdata$r	ENDS
;	COMDAT ??_R0?AV?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@@8
_DATA	SEGMENT
??_R0?AV?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@@8 DD FLAT:??_7type_info@@6B@ ; aVector<`gzChat_C4::Activate'::`6'::C4_Info> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WH'
	DB	'HHAAVaWideString@@@Z@@@', 00H
_DATA	ENDS
;	COMDAT ??_R4?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@6B@
rdata$r	SEGMENT
??_R4?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@6B@ DD 00H ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@@8
	DD	FLAT:??_R3?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@8
rdata$r	ENDS
;	COMDAT ??_7?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@6B@
CONST	SEGMENT
??_7?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@6B@ DD FLAT:??_R4?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@6B@ ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::`vftable'
	DD	FLAT:??_E?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEPAXI@Z
	DD	FLAT:?Clear@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXXZ
	DD	FLAT:?Resize@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAE_NI@Z
	DD	FLAT:?Add@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXABUC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@Z
	DD	FLAT:?Insert@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXIABUC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@Z
	DD	FLAT:?Delete@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXI@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@QAE@XZ
_TEXT	SEGMENT
??0?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@QAE@XZ PROC ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::aVector<`gzChat_C4::Activate'::`6'::C4_Info>, COMDAT
; _this$ = ecx

; 27   : 	aVector()

	mov	eax, ecx

; 28   : 	{
; 29   : 		this->m_vector = NULL;

	xor	ecx, ecx
	mov	DWORD PTR [eax], OFFSET ??_7?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@6B@
	mov	DWORD PTR [eax+4], ecx

; 30   : 		this->m_alloc  = 0;

	mov	DWORD PTR [eax+8], ecx

; 31   : 		this->m_items  = 0;

	mov	DWORD PTR [eax+12], ecx

; 32   : 	};

	ret	0
??0?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@QAE@XZ ENDP ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::aVector<`gzChat_C4::Activate'::`6'::C4_Info>
_TEXT	ENDS
PUBLIC	??A?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@QAEAAUC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@I@Z ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@QAEAAUC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@I@Z
_TEXT	SEGMENT
_nPos$ = 8						; size = 4
??A?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@QAEAAUC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@I@Z PROC ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::operator[], COMDAT
; _this$ = ecx

; 64   : 	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*8]
	ret	4
??A?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@QAEAAUC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@I@Z ENDP ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@QBEIXZ ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Count
; Function compile flags: /Ogtpy
;	COMDAT ?Count@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@QBEIXZ
_TEXT	SEGMENT
?Count@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@QBEIXZ PROC ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Count, COMDAT
; _this$ = ecx

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

	mov	eax, DWORD PTR [ecx+12]
	ret	0
?Count@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@QBEIXZ ENDP ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Count
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Clear@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXXZ PROC ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Clear, COMDAT
; _this$ = ecx

; 67   : 	{

	push	esi
	push	edi
	mov	esi, ecx

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

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

; 69   : 		{
; 70   : //#if (VECTOR_USE_CRT == 1)
; 71   : //			free(this->m_vector);
; 72   : //#else
; 73   : 			delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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

; 74   : //#endif
; 75   : 			this->m_vector = NULL;

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

; 76   : 		}
; 77   : 		this->m_alloc = 0;
; 78   : 		this->m_items = 0;

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

; 79   : 	};

	ret	0
?Clear@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXXZ ENDP ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Clear
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Resize@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAE_NI@Z
_TEXT	SEGMENT
_nSize$ = 8						; size = 4
?Resize@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAE_NI@Z PROC ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Resize, COMDAT
; _this$ = ecx

; 81   : 	{

	push	esi
	push	edi

; 82   : 		if (this->m_alloc != nSize)

	mov	edi, DWORD PTR _nSize$[esp+4]
	mov	esi, ecx
	cmp	DWORD PTR [esi+8], edi
	je	SHORT $LN11@Resize@10

; 83   : 		{
; 84   : 			if (nSize > 0)

	test	edi, edi
	jbe	SHORT $LN3@Resize@10
	push	ebx

; 85   : 			{
; 86   : 
; 87   : //#if (VECTOR_USE_CRT == 1)
; 88   : //				this->m_vector = (T *)realloc(this->m_vector, nSize * sizeof(T));
; 89   : //#else
; 90   : 				T* newVec = new T[nSize];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	90					; 0000005aH
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	xor	ecx, ecx
	mov	eax, edi
	mov	edx, 8
	mul	edx
	seto	cl
	neg	ecx
	or	ecx, eax
	push	ecx
	call	??_U@YAPAXI@Z				; operator new[]
	mov	ebx, eax

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

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

; 92   : 				{
; 93   : 					memcpy(newVec, this->m_vector, nSize * sizeof(T));

	lea	ecx, DWORD PTR [edi*8]
	push	ecx
	push	eax
	push	ebx
	call	_memcpy

; 94   : 					delete[] this->m_vector;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	94					; 0000005eH
	push	OFFSET ??_C@_0CG@EILDPJHO@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
$LN10@Resize@10:

; 95   : 				}
; 96   : 				this->m_vector = newVec;

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

; 97   : //#endif
; 98   : 
; 99   : 				this->m_alloc = nSize;

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

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
$LN3@Resize@10:

; 100  : 			}
; 101  : 			else
; 102  : 				this->Clear();

	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+4]
	call	edx
$LN11@Resize@10:
	pop	edi

; 103  : 		}
; 104  : 		return true;

	mov	al, 1
	pop	esi

; 105  : 	}

	ret	4
?Resize@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAE_NI@Z ENDP ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Resize
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Add@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXABUC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Add@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXABUC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@Z PROC ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Add, COMDAT
; _this$ = ecx

; 107  : 	{

	push	esi
	mov	esi, ecx

; 108  : 		if (this->Resize(this->m_items + 1))

	mov	ecx, DWORD PTR [esi+12]
	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@13

; 109  : 			this->m_vector[this->m_items++] = obj;

	mov	edx, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi+4]
	push	edi
	mov	edi, DWORD PTR [edx]
	mov	DWORD PTR [eax+ecx*8], edi
	mov	edx, DWORD PTR [edx+4]
	mov	DWORD PTR [eax+ecx*8+4], edx
	add	DWORD PTR [esi+12], 1
	pop	edi
$LN1@Add@13:
	pop	esi

; 110  : 	}

	ret	4
?Add@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXABUC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@Z ENDP ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Add
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Insert@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXIABUC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
_obj$ = 12						; size = 4
?Insert@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXIABUC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@Z PROC ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Insert, COMDAT
; _this$ = ecx

; 112  : 	{

	push	esi
	mov	esi, ecx

; 113  : 		if (index > this->m_items)

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

; 114  : 			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

; 119  : 		}
; 120  : 	}

	ret	8
$LN3@Insert@10:

; 115  : 		else if (this->Resize(this->m_items + 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@10

; 116  : 		{
; 117  : 			memmove(&this->m_vector[index + 1], &this->m_vector[index], (this->m_items++ - index) * sizeof(T));

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

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

	mov	eax, DWORD PTR _obj$[esp+16]
	mov	edx, DWORD PTR [eax]
	mov	esi, DWORD PTR [esi+4]
	mov	DWORD PTR [esi+edi*8], edx
	mov	eax, DWORD PTR [eax+4]
	add	esp, 12					; 0000000cH
	mov	DWORD PTR [esi+edi*8+4], eax
$LN1@Insert@10:
	pop	edi
	pop	esi

; 119  : 		}
; 120  : 	}

	ret	8
?Insert@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXIABUC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@Z ENDP ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Insert
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?Delete@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXI@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
?Delete@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXI@Z PROC ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Delete, COMDAT
; _this$ = ecx

; 123  : 		if (index >= this->m_items)

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

; 124  : 			return;
; 125  : 		if (--this->m_items == 0)

	add	eax, -1
	mov	DWORD PTR [esi+12], eax
	jne	SHORT $LN3@Delete@16

; 126  : 			this->Clear();

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

; 132  : 		}
; 133  : 	}

	ret	4
$LN3@Delete@16:

; 127  : 		else
; 128  : 		{
; 129  : 			if (index < this->m_items)

	cmp	edx, eax
	jae	SHORT $LN1@Delete@16

; 130  : 				memmove(&this->m_vector[index], &this->m_vector[index + 1], (this->m_items - index) * sizeof(T));

	mov	ecx, DWORD PTR [esi+4]
	sub	eax, edx
	add	eax, eax
	add	eax, eax
	lea	ecx, DWORD PTR [ecx+edx*8]
	add	eax, eax
	push	eax
	lea	edx, DWORD PTR [ecx+8]
	push	edx
	push	ecx
	call	_memmove
	add	esp, 12					; 0000000cH
$LN1@Delete@16:

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

	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [esi]
	mov	edx, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, esi
	call	edx
$LN2@Delete@16:
	pop	esi

; 132  : 		}
; 133  : 	}

	ret	4
?Delete@?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEXI@Z ENDP ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::Delete
_TEXT	ENDS
PUBLIC	??1?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAE@XZ ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::~aVector<`gzChat_C4::Activate'::`6'::C4_Info>
; Function compile flags: /Ogtpy
;	COMDAT ??1?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAE@XZ
_TEXT	SEGMENT
??1?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAE@XZ PROC ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::~aVector<`gzChat_C4::Activate'::`6'::C4_Info>, COMDAT
; _this$ = ecx

; 45   : 	{

	push	esi
	push	edi
	mov	esi, ecx

; 46   : 		this->Clear();

	xor	edi, edi
	cmp	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@6B@
	je	SHORT $LN8@aVector@10
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@10:
	mov	DWORD PTR [esi+12], edi
	mov	DWORD PTR [esi+8], edi
	pop	edi
	pop	esi

; 47   : 	};

	ret	0
??1?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAE@XZ ENDP ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::~aVector<`gzChat_C4::Activate'::`6'::C4_Info>
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_G?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEPAXI@Z PROC ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	cmp	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@6B@
	je	SHORT $LN6@scalar@28
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@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@28:
	test	BYTE PTR ___flags$[esp], 1
	mov	DWORD PTR [esi+8], 0
	mov	DWORD PTR [esi+12], 0
	je	SHORT $LN11@scalar@28
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@scalar@28:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAEPAXI@Z ENDP ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_0DJ@OHCABGCH@?$FLCommander?$FN?3?5Your?5team?5doesn?8t?5h@ ; `string'
PUBLIC	??_C@_08ENCHPDKP@?$CFs?$CI?$CFd?$CJ?0?5?$AA@	; `string'
PUBLIC	??_C@_0BP@PKOIHEEE@?$FLCommander?$FN?3?5Mined?5buildings?3?5?$AA@ ; `string'
PUBLIC	??_C@_0DA@MGDAHPCL@Remote?3?5?$CFd?1?$CFd?5?9?5Timed?3?5?$CFd?1?$CFd?5?9?5P@ ; `string'
PUBLIC	__real@461c3c00
PUBLIC	??_C@_0DD@POEOFIPD@Weapon?5commands?5are?5not?5availabl@ ; `string'
EXTRN	?IsCommander@gzTeamCommanderClass@@QAE_NHH@Z:PROC ; gzTeamCommanderClass::IsCommander
EXTRN	?gzTeamCommander@@3PAVgzTeamCommanderClass@@A:DWORD ; gzTeamCommander
EXTRN	?gzGameMgr@@3PAVgzGameManager@@A:DWORD		; gzGameMgr
;	COMDAT ??_C@_0DJ@OHCABGCH@?$FLCommander?$FN?3?5Your?5team?5doesn?8t?5h@
CONST	SEGMENT
??_C@_0DJ@OHCABGCH@?$FLCommander?$FN?3?5Your?5team?5doesn?8t?5h@ DB '[Com'
	DB	'mander]: Your team doesn''t have any mined buildings.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_08ENCHPDKP@?$CFs?$CI?$CFd?$CJ?0?5?$AA@
CONST	SEGMENT
??_C@_08ENCHPDKP@?$CFs?$CI?$CFd?$CJ?0?5?$AA@ DB '%s(%d), ', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@PKOIHEEE@?$FLCommander?$FN?3?5Mined?5buildings?3?5?$AA@
CONST	SEGMENT
??_C@_0BP@PKOIHEEE@?$FLCommander?$FN?3?5Mined?5buildings?3?5?$AA@ DB '[Co'
	DB	'mmander]: Mined buildings: ', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0DA@MGDAHPCL@Remote?3?5?$CFd?1?$CFd?5?9?5Timed?3?5?$CFd?1?$CFd?5?9?5P@
CONST	SEGMENT
??_C@_0DA@MGDAHPCL@Remote?3?5?$CFd?1?$CFd?5?9?5Timed?3?5?$CFd?1?$CFd?5?9?5P@ DB 'R'
	DB	'emote: %d/%d - Timed: %d/%d - Proximity: %d/%d', 00H ; `string'
CONST	ENDS
;	COMDAT __real@461c3c00
CONST	SEGMENT
__real@461c3c00 DD 0461c3c00r			; 9999
CONST	ENDS
;	COMDAT ??_C@_0DD@POEOFIPD@Weapon?5commands?5are?5not?5availabl@
CONST	SEGMENT
??_C@_0DD@POEOFIPD@Weapon?5commands?5are?5not?5availabl@ DB 'Weapon comma'
	DB	'nds are not available in %s game mode.', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z$1
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z$2
	DD	01H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z$3
	DD	01H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z$4
__ehfuncinfo$?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
xdata$x	ENDS
;	COMDAT ?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
_haveMines$ = -89					; size = 1
_obj$60875 = -88					; size = 4
_Team$ = -84						; size = 4
_PolyDistance$60904 = -80				; size = 4
_Mode$60882 = -80					; size = 4
$T73217 = -76						; size = 8
_pData$ = -76						; size = 4
tv560 = -68						; size = 4
_msg$60909 = -68					; size = 8
tv497 = -60						; size = 4
$T73216 = -60						; size = 8
_count$ = -52						; size = 12
_C4pos$60899 = -40					; size = 12
_BuildingList$ = -28					; size = 16
__$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_C4@@EAEXPB_WHHHAAVaWideString@@@Z PROC	; gzChat_C4::Activate, COMDAT
; _this$ = ecx

; 1391 : 	{

	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z
	push	eax
	mov	DWORD PTR fs:0, esp

; 1392 : 		// Game mode check
; 1393 : 		switch (gzGameMgr->m_settings->m_GameMode)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [ecx+72]
	mov	eax, DWORD PTR [eax+24]
	add	eax, -4					; fffffffcH
	sub	esp, 80					; 00000050H
	cmp	eax, 1
	ja	SHORT $LN106@Activate@3

; 1394 : 		{
; 1395 : 			case GAMEMODE_SNIPER:
; 1396 : 			case GAMEMODE_500SNIP:
; 1397 : 				PagePlayer(sender, "Weapon commands are not available in %s game mode.", gzGameMgr->GetGame()->ModeName());

	mov	ecx, DWORD PTR [ecx+40]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+136]
	call	eax
	mov	ecx, DWORD PTR _sender$[esp+88]
	push	eax
	push	OFFSET ??_C@_0DD@POEOFIPD@Weapon?5commands?5are?5not?5availabl@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
$LN106@Activate@3:

; 1398 : 		}
; 1399 : 
; 1400 : 		nc_cPlayer *pData = nc_cPlayerManager::Find_Player(sender);

	mov	edx, DWORD PTR _sender$[esp+88]
	push	ebp
	push	edi
	push	edx
	call	?Find_Player@nc_cPlayerManager@@SAPAVnc_cPlayer@@H@Z ; nc_cPlayerManager::Find_Player
	mov	edi, eax

; 1401 : 		if (!pData)

	xor	ebp, ebp
	add	esp, 4
	cmp	edi, ebp
	mov	DWORD PTR _pData$[esp+100], edi
	je	$LN85@Activate@3
	push	ebx

; 1402 : 			return;
; 1403 : 		int count[] = { 0, 0, 0 };
; 1404 : 		int Team = pData->PlayerType.Get();

	lea	ecx, DWORD PTR [edi+1900]
	push	esi
	mov	DWORD PTR _count$[esp+108], ebp
	mov	DWORD PTR _count$[esp+112], ebp
	mov	DWORD PTR _count$[esp+116], ebp
	mov	DWORD PTR tv497[esp+108], ecx
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ebx, eax
	mov	DWORD PTR _Team$[esp+108], ebx

; 1405 : 
; 1406 : 		// Team Commander stuff
; 1407 : 		struct C4_Info {
; 1408 : 			nc_BuildingGameObj *Building;
; 1409 : 			int Proximity;
; 1410 : 		};
; 1411 : 		bool haveMines = false;

	mov	BYTE PTR _haveMines$[esp+108], 0

; 1412 : 		aVector<C4_Info> BuildingList;

	mov	DWORD PTR _BuildingList$[esp+108], OFFSET ??_7?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@6B@
	mov	DWORD PTR _BuildingList$[esp+112], ebp
	mov	DWORD PTR _BuildingList$[esp+116], ebp
	mov	DWORD PTR _BuildingList$[esp+120], ebp

; 1413 : 		for (nc_GenericSLNode<nc_BuildingGameObj> *Building = nc_GameObjManager::BuildingGameObjList->HeadNode; Building != NULL; Building = Building->NodeNext)

	mov	eax, DWORD PTR ?BuildingGameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BuildingGameObj@@@@A ; nc_GameObjManager::BuildingGameObjList
	mov	esi, DWORD PTR [eax+4]
	cmp	esi, ebp
	mov	DWORD PTR __$EHRec$[esp+116], ebp
	je	SHORT $LN26@Activate@3
	npad	9
$LL111@Activate@3:

; 1414 : 		{
; 1415 : 			if (Building->NodeData->PlayerType == Team)

	mov	ebp, DWORD PTR [esi+4]
	cmp	DWORD PTR [ebp+1892], ebx
	jne	SHORT $LN27@Activate@3

; 1416 : 			{
; 1417 : 				C4_Info ci;
; 1418 : 				ci.Building = Building->NodeData;
; 1419 : 				ci.Proximity = 0;
; 1420 : 				BuildingList.Add(ci);

	mov	ecx, DWORD PTR _BuildingList$[esp+120]
	mov	edx, DWORD PTR _BuildingList$[esp+108]
	mov	eax, DWORD PTR [edx+8]
	add	ecx, 1
	push	ecx
	lea	ecx, DWORD PTR _BuildingList$[esp+112]
	xor	edi, edi
	call	eax
	test	al, al
	je	SHORT $LN27@Activate@3
	mov	ecx, DWORD PTR _BuildingList$[esp+112]
	mov	edx, DWORD PTR _BuildingList$[esp+120]
	mov	DWORD PTR [ecx+edx*8], ebp
	mov	eax, DWORD PTR _BuildingList$[esp+120]
	mov	ecx, DWORD PTR _BuildingList$[esp+112]
	mov	DWORD PTR [ecx+eax*8+4], edi
	add	DWORD PTR _BuildingList$[esp+120], 1
$LN27@Activate@3:
	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $LL111@Activate@3

; 1413 : 		for (nc_GenericSLNode<nc_BuildingGameObj> *Building = nc_GameObjManager::BuildingGameObjList->HeadNode; Building != NULL; Building = Building->NodeNext)

	mov	edi, DWORD PTR _pData$[esp+108]
$LN26@Activate@3:

; 1421 : 			}
; 1422 : 		}
; 1423 : 
; 1424 : 		for (nc_GenericSLNode<nc_BaseGameObj> *obj = nc_GameObjManager::GameObjList->HeadNode; obj != NULL; obj = obj->NodeNext)

	mov	edx, DWORD PTR ?GameObjList@nc_GameObjManager@@2PAV?$nc_SList@Vnc_BaseGameObj@@@@A ; nc_GameObjManager::GameObjList
	mov	eax, DWORD PTR [edx+4]
	test	eax, eax
	mov	DWORD PTR _obj$60875[esp+108], eax
	je	$LN22@Activate@3
$LL107@Activate@3:

; 1425 : 		{
; 1426 : 			if (obj->NodeData && obj->NodeData->definition->Get_Class_ID() == 0x3006 && obj->NodeData->As_PhysicalGameObj()->PlayerType == Team)

	mov	esi, DWORD PTR _obj$60875[esp+108]
	cmp	DWORD PTR [esi+4], 0
	je	$LN23@Activate@3
	mov	eax, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR [eax+1724]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+32]
	call	eax
	cmp	eax, 12294				; 00003006H
	jne	$LN23@Activate@3
	mov	ecx, DWORD PTR [esi+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+36]
	call	eax
	cmp	DWORD PTR [eax+1892], ebx
	jne	$LN23@Activate@3

; 1427 : 			{
; 1428 : 				nc_C4GameObj *C4 = (nc_C4GameObj *)obj->NodeData;

	mov	edi, DWORD PTR [esi+4]

; 1429 : 				int Mode = C4->AmmoDef->AmmoType.Get();

	mov	ecx, DWORD PTR [edi+1992]
	add	ecx, 140				; 0000008cH
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get

; 1430 : 
; 1431 : 				// Stealth proximity crate
; 1432 : 				bool listed = false;
; 1433 : 				for (unsigned int i = 0; i < gzCrateMgr->m_data->StealthMine.Count(); i++)

	mov	ecx, DWORD PTR ?gzCrateMgr@@3PAVgzManagerCrateClass@@A ; gzCrateMgr
	mov	ecx, DWORD PTR [ecx+60]
	mov	ebp, DWORD PTR [ecx+92]
	mov	DWORD PTR _Mode$60882[esp+108], eax
	xor	eax, eax
	test	ebp, ebp
	mov	DWORD PTR tv560[esp+108], ebp
	jbe	SHORT $LN104@Activate@3

; 1427 : 			{
; 1428 : 				nc_C4GameObj *C4 = (nc_C4GameObj *)obj->NodeData;

	mov	ebx, DWORD PTR [ecx+84]
$LL20@Activate@3:

; 1434 : 				{
; 1435 : 					for (unsigned int j = 0; j < gzCrateMgr->m_data->StealthMine[i]->activeList.Count(); j++)

	mov	edx, DWORD PTR [ebx]
	mov	esi, DWORD PTR [edx+20]
	xor	ecx, ecx
	test	esi, esi
	jbe	SHORT $LN19@Activate@3
	mov	ebp, DWORD PTR [edi+12]
	mov	edx, DWORD PTR [edx+12]
$LL17@Activate@3:

; 1436 : 					{
; 1437 : 						if (gzCrateMgr->m_data->StealthMine[i]->activeList[j] == C4->NetworkID)

	cmp	DWORD PTR [edx], ebp
	je	SHORT $LN108@Activate@3
	add	ecx, 1
	add	edx, 4
	cmp	ecx, esi
	jb	SHORT $LL17@Activate@3

; 1434 : 				{
; 1435 : 					for (unsigned int j = 0; j < gzCrateMgr->m_data->StealthMine[i]->activeList.Count(); j++)

	mov	ebp, DWORD PTR tv560[esp+108]
$LN19@Activate@3:

; 1430 : 
; 1431 : 				// Stealth proximity crate
; 1432 : 				bool listed = false;
; 1433 : 				for (unsigned int i = 0; i < gzCrateMgr->m_data->StealthMine.Count(); i++)

	add	eax, 1
	add	ebx, 4
	cmp	eax, ebp
	jb	SHORT $LL20@Activate@3
	mov	ebx, DWORD PTR _Team$[esp+108]
$LN104@Activate@3:

; 1438 : 						{
; 1439 : 							listed = true;
; 1440 : 							goto procCount;
; 1441 : 						}
; 1442 : 					}
; 1443 : 				}
; 1444 : procCount:
; 1445 : 				if (!listed)
; 1446 : 					count[Mode - 1]++;

	mov	eax, DWORD PTR _Mode$60882[esp+108]
	add	DWORD PTR _count$[esp+eax*4+104], 1
	lea	eax, DWORD PTR _count$[esp+eax*4+104]
	jmp	SHORT $LN12@Activate@3
$LN108@Activate@3:
	mov	ebx, DWORD PTR _Team$[esp+108]
$LN12@Activate@3:

; 1447 : 
; 1448 : 				if (Mode == 3) // Proximity

	cmp	DWORD PTR _Mode$60882[esp+108], 3
	jne	SHORT $LN23@Activate@3

; 1449 : 				{
; 1450 : 					nc_ExplosionDefinitionClass *Explosion = (nc_ExplosionDefinitionClass *)nc_DefinitionMgrClass::Find_Definition(C4->AmmoDef->ExplosionDefID,true);

	mov	edx, DWORD PTR [edi+1992]
	mov	eax, DWORD PTR [edx+104]
	push	1
	push	eax
	call	?Find_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@K_N@Z ; nc_DefinitionMgrClass::Find_Definition

; 1451 : 					nc_Vector3 C4pos;
; 1452 : 					C4->Get_Position(&C4pos);

	mov	edx, DWORD PTR [edi]
	mov	edx, DWORD PTR [edx+56]
	mov	ebp, eax
	add	esp, 8
	lea	eax, DWORD PTR _C4pos$60899[esp+108]
	push	eax
	mov	ecx, edi
	call	edx

; 1453 : 					for (unsigned int i = 0; i < BuildingList.Count(); i++)

	xor	esi, esi
	cmp	DWORD PTR _BuildingList$[esp+120], esi
	jbe	SHORT $LN23@Activate@3
	npad	8
$LL10@Activate@3:

; 1454 : 					{
; 1455 : 						float PolyDistance = 9999.0f;

	fld	DWORD PTR __real@461c3c00

; 1456 : 						BuildingList[i].Building->Find_Closest_Poly(C4pos,&PolyDistance);

	mov	edx, DWORD PTR _BuildingList$[esp+112]
	lea	eax, DWORD PTR _PolyDistance$60904[esp+108]
	fstp	DWORD PTR _PolyDistance$60904[esp+108]
	push	eax
	lea	ecx, DWORD PTR _C4pos$60899[esp+112]
	push	ecx
	mov	ecx, DWORD PTR [edx+esi*8]
	call	?Find_Closest_Poly@nc_BuildingGameObj@@QAEXABUnc_Vector3@@PAM@Z ; nc_BuildingGameObj::Find_Closest_Poly

; 1457 : 						if (PolyDistance <= (Explosion->DamageRadius * Explosion->DamageRadius))

	fld	DWORD PTR [ebp+36]
	fmul	ST(0), ST(0)
	fcomp	DWORD PTR _PolyDistance$60904[esp+108]
	fnstsw	ax
	test	ah, 1
	je	SHORT $LN97@Activate@3
	add	esi, 1
	cmp	esi, DWORD PTR _BuildingList$[esp+120]
	jb	SHORT $LL10@Activate@3
	jmp	SHORT $LN23@Activate@3
$LN97@Activate@3:

; 1458 : 						{
; 1459 : 							haveMines = true;
; 1460 : 							BuildingList[i].Proximity++;

	mov	eax, DWORD PTR _BuildingList$[esp+112]
	add	DWORD PTR [eax+esi*8+4], 1
	mov	BYTE PTR _haveMines$[esp+108], 1
$LN23@Activate@3:
	mov	eax, DWORD PTR _obj$60875[esp+108]
	mov	eax, DWORD PTR [eax]
	test	eax, eax
	mov	DWORD PTR _obj$60875[esp+108], eax
	jne	$LL107@Activate@3

; 1421 : 			}
; 1422 : 		}
; 1423 : 
; 1424 : 		for (nc_GenericSLNode<nc_BaseGameObj> *obj = nc_GameObjManager::GameObjList->HeadNode; obj != NULL; obj = obj->NodeNext)

	mov	edi, DWORD PTR _pData$[esp+108]
$LN22@Activate@3:

; 1461 : 							break;
; 1462 : 						}
; 1463 : 					}
; 1464 : 				}
; 1465 : 			}
; 1466 : 		}
; 1467 : 		PagePlayer(sender, "Remote: %d/%d - Timed: %d/%d - Proximity: %d/%d",
; 1468 : 			count[0],
; 1469 : 			gzWeaponMgr->m_settings->C4.TeamLimit[Team][0],
; 1470 : 			count[1],
; 1471 : 			gzWeaponMgr->m_settings->C4.TeamLimit[Team][1],
; 1472 : 			count[2],
; 1473 : 			gzWeaponMgr->m_settings->C4.TeamLimit[Team][2]
; 1474 : 		);

	mov	ecx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	eax, DWORD PTR [ecx+40]
	mov	esi, DWORD PTR _sender$[esp+104]
	lea	edx, DWORD PTR [ebx+ebx*2]
	lea	ecx, DWORD PTR [eax+edx*4]
	lea	edx, DWORD PTR [ebx+ebx*2+15]
	mov	eax, DWORD PTR [eax+edx*4]
	mov	edx, DWORD PTR _count$[esp+116]
	push	eax
	mov	eax, DWORD PTR [ecx+56]
	push	edx
	mov	edx, DWORD PTR _count$[esp+120]
	push	eax
	mov	eax, DWORD PTR [ecx+52]
	mov	ecx, DWORD PTR _count$[esp+120]
	push	edx
	push	eax
	push	ecx
	push	OFFSET ??_C@_0DA@MGDAHPCL@Remote?3?5?$CFd?1?$CFd?5?9?5Timed?3?5?$CFd?1?$CFd?5?9?5P@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer

; 1475 : 
; 1476 : 		// Team Commander
; 1477 : 		if (gzTeamCommander->IsCommander(pData->PlayerType.Get(), pData->PlayerId))

	mov	edx, DWORD PTR [edi+1884]
	mov	ecx, DWORD PTR tv497[esp+140]
	add	esp, 32					; 00000020H
	push	edx
	call	?Get@nc_IntDataSafeClass@@QAEHXZ	; nc_IntDataSafeClass::Get
	mov	ecx, DWORD PTR ?gzTeamCommander@@3PAVgzTeamCommanderClass@@A ; gzTeamCommander
	push	eax
	call	?IsCommander@gzTeamCommanderClass@@QAE_NHH@Z ; gzTeamCommanderClass::IsCommander
	test	al, al
	je	$LN1@Activate@3

; 1478 : 		{
; 1479 : 			if (haveMines)

	cmp	BYTE PTR _haveMines$[esp+108], 0
	je	$LN5@Activate@3

; 1480 : 			{
; 1481 : 				aString msg = "[Commander]: Mined buildings: ";

	push	OFFSET ??_C@_0BP@PKOIHEEE@?$FLCommander?$FN?3?5Mined?5buildings?3?5?$AA@
	lea	ecx, DWORD PTR _msg$60909[esp+112]
	call	??0aString@@QAE@PBD@Z			; aString::aString

; 1482 : 				for (unsigned int i = 0; i < BuildingList.Count(); i++)

	xor	esi, esi
	cmp	DWORD PTR _BuildingList$[esp+120], esi
	mov	BYTE PTR __$EHRec$[esp+116], 1
	lea	ebx, DWORD PTR [esi+2]
	jbe	SHORT $LN2@Activate@3
	npad	4
$LL4@Activate@3:
	mov	eax, DWORD PTR _BuildingList$[esp+112]

; 1483 : 					msg += aString::Format("%s(%d), ", gzTranslator->Get(BuildingList[i].Building->definition->Get_Name()), BuildingList[i].Proximity);

	mov	ecx, DWORD PTR [eax+esi*8]
	mov	edx, DWORD PTR [eax+esi*8+4]
	mov	ecx, DWORD PTR [ecx+1724]
	mov	eax, DWORD PTR [ecx]
	push	edx
	mov	edx, DWORD PTR [eax+48]
	call	edx
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	lea	eax, DWORD PTR $T73216[esp+116]
	push	OFFSET ??_C@_08ENCHPDKP@?$CFs?$CI?$CFd?$CJ?0?5?$AA@
	push	eax
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	push	eax
	lea	ecx, DWORD PTR _msg$60909[esp+112]
	mov	BYTE PTR __$EHRec$[esp+120], bl
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T73216[esp+108]
	mov	BYTE PTR __$EHRec$[esp+116], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	add	esi, 1
	cmp	esi, DWORD PTR _BuildingList$[esp+120]
	jb	SHORT $LL4@Activate@3
$LN2@Activate@3:

; 1484 : 				msg.Resize(msg.GetLength() - 2);

	lea	ecx, DWORD PTR _msg$60909[esp+108]
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	sub	eax, ebx
	push	eax
	lea	ecx, DWORD PTR _msg$60909[esp+112]
	call	?Resize@aStringBase@@QAEXI@Z		; aStringBase::Resize

; 1485 : 				msg += ".";

	push	OFFSET ??_C@_01LFCBOECM@?4?$AA@
	lea	ecx, DWORD PTR $T73217[esp+112]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	ecx, DWORD PTR $T73217[esp+108]
	push	ecx
	lea	ecx, DWORD PTR _msg$60909[esp+112]
	mov	BYTE PTR __$EHRec$[esp+120], 3
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T73217[esp+108]
	mov	BYTE PTR __$EHRec$[esp+116], 1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1486 : 				PagePlayer(sender, msg.GetString());

	mov	eax, DWORD PTR _msg$60909[esp+112]
	test	eax, eax
	je	SHORT $LN76@Activate@3
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN77@Activate@3
$LN76@Activate@3:
	xor	eax, eax
$LN77@Activate@3:
	mov	edx, DWORD PTR _sender$[esp+104]
	push	eax
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 1487 : 			}

	lea	ecx, DWORD PTR _msg$60909[esp+108]
	mov	BYTE PTR __$EHRec$[esp+116], 0
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 1488 : 			else

	jmp	SHORT $LN1@Activate@3
$LN5@Activate@3:

; 1489 : 				PagePlayer(sender, "[Commander]: Your team doesn't have any mined buildings.");

	push	OFFSET ??_C@_0DJ@OHCABGCH@?$FLCommander?$FN?3?5Your?5team?5doesn?8t?5h@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
$LN1@Activate@3:

; 1490 : 		}
; 1491 : 	};

	cmp	DWORD PTR _BuildingList$[esp+112], 0
	pop	esi
	mov	DWORD PTR __$EHRec$[esp+112], -1
	mov	DWORD PTR _BuildingList$[esp+104], OFFSET ??_7?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@6B@
	pop	ebx
	je	SHORT $LN85@Activate@3
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR _BuildingList$[esp+116]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
$LN85@Activate@3:
	mov	ecx, DWORD PTR __$EHRec$[esp+100]
	pop	edi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	add	esp, 92					; 0000005cH
	ret	20					; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z$1:
	lea	ecx, DWORD PTR _BuildingList$[ebp]
	jmp	??1?$aVector@UC4_Info@?5??Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z@@@UAE@XZ ; aVector<`gzChat_C4::Activate'::`6'::C4_Info>::~aVector<`gzChat_C4::Activate'::`6'::C4_Info>
__unwindfunclet$?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z$2:
	lea	ecx, DWORD PTR _msg$60909[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z$3:
	lea	ecx, DWORD PTR $T73216[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z$4:
	lea	ecx, DWORD PTR $T73217[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@gzChat_C4@@EAEXPB_WHHHAAVaWideString@@@Z ENDP	; gzChat_C4::Activate
PUBLIC	??_7gzChat_WeaponDrop@@6B@			; gzChat_WeaponDrop::`vftable'
PUBLIC	??0gzChat_WeaponDrop@@QAE@XZ			; gzChat_WeaponDrop::gzChat_WeaponDrop
PUBLIC	??_R4gzChat_WeaponDrop@@6B@			; gzChat_WeaponDrop::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_WeaponDrop@@@8			; gzChat_WeaponDrop `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_WeaponDrop@@8			; gzChat_WeaponDrop::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_WeaponDrop@@8			; gzChat_WeaponDrop::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_WeaponDrop@@8		; gzChat_WeaponDrop::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z ; gzChat_WeaponDrop::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_WeaponDrop@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_WeaponDrop@@8 DD FLAT:??_R0?AVgzChat_WeaponDrop@@@8 ; gzChat_WeaponDrop::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_WeaponDrop@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_WeaponDrop@@8
rdata$r	SEGMENT
??_R2gzChat_WeaponDrop@@8 DD FLAT:??_R1A@?0A@EA@gzChat_WeaponDrop@@8 ; gzChat_WeaponDrop::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_WeaponDrop@@8
rdata$r	SEGMENT
??_R3gzChat_WeaponDrop@@8 DD 00H			; gzChat_WeaponDrop::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_WeaponDrop@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_WeaponDrop@@@8
_DATA	SEGMENT
??_R0?AVgzChat_WeaponDrop@@@8 DD FLAT:??_7type_info@@6B@ ; gzChat_WeaponDrop `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_WeaponDrop@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_WeaponDrop@@6B@
rdata$r	SEGMENT
??_R4gzChat_WeaponDrop@@6B@ DD 00H			; gzChat_WeaponDrop::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_WeaponDrop@@@8
	DD	FLAT:??_R3gzChat_WeaponDrop@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_WeaponDrop@@6B@
CONST	SEGMENT
??_7gzChat_WeaponDrop@@6B@ DD FLAT:??_R4gzChat_WeaponDrop@@6B@ ; gzChat_WeaponDrop::`vftable'
	DD	FLAT:?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_WeaponDrop@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_WeaponDrop@@QAE@XZ PROC			; gzChat_WeaponDrop::gzChat_WeaponDrop, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_WeaponDrop@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_WeaponDrop@@QAE@XZ ENDP			; gzChat_WeaponDrop::gzChat_WeaponDrop
_TEXT	ENDS
PUBLIC	??8@YA_NABVaString@@0@Z				; operator==
EXTRN	?Compare@aString@@QBE_NABV1@H_N@Z:PROC		; aString::Compare
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\astring.h
;	COMDAT ??8@YA_NABVaString@@0@Z
_TEXT	SEGMENT
_str1$ = 8						; size = 4
_str2$ = 12						; size = 4
??8@YA_NABVaString@@0@Z PROC				; operator==, COMDAT

; 201  : {

	push	ebx
	push	esi

; 202  : 	return ((str1.GetLength() == str2.GetLength()) && str1.Compare(str2));

	mov	esi, DWORD PTR _str1$[esp+4]
	push	edi
	mov	ecx, esi
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	mov	edi, DWORD PTR _str2$[esp+8]
	mov	ecx, edi
	mov	ebx, eax
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	cmp	ebx, eax
	jne	SHORT $LN3@operator@3
	push	0
	push	-1
	push	edi
	mov	ecx, esi
	call	?Compare@aString@@QBE_NABV1@H_N@Z	; aString::Compare
	test	al, al
	je	SHORT $LN3@operator@3
	pop	edi
	pop	esi
	mov	eax, 1
	pop	ebx

; 203  : }

	ret	0
$LN3@operator@3:
	pop	edi
	pop	esi

; 202  : 	return ((str1.GetLength() == str2.GetLength()) && str1.Compare(str2));

	xor	eax, eax
	pop	ebx

; 203  : }

	ret	0
??8@YA_NABVaString@@0@Z ENDP				; operator==
_TEXT	ENDS
PUBLIC	??_C@_0DB@DBHBKKLJ@You?5can?5not?5start?5Weapon?5Drop?5wh@ ; `string'
PUBLIC	??_C@_0DF@EBEPNNE@Error?3?5Weapon?5?$CD?$CFd?5does?5not?5exist@ ; `string'
PUBLIC	??_C@_0KN@BNMGEMJF@Your?5Weapon?5Drop?5request?$CI?$CFs?$CJ?5has@ ; `string'
PUBLIC	??_C@_0KO@PMGHOCNN@Your?5Weapon?5Drop?5request?$CIAll?$CJ?5ha@ ; `string'
PUBLIC	??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@		; `string'
PUBLIC	??_C@_03NFKEKGGK@all?$AA@			; `string'
PUBLIC	??_C@_0DO@PFAHIJE@You?5can?5only?5have?5one?5active?5Wea@ ; `string'
PUBLIC	??_C@_0CM@JBMOAOFJ@You?5don?8t?5have?5any?5Weapon?5Drop?5i@ ; `string'
PUBLIC	??_C@_04BJJLCKLO@halt?$AA@			; `string'
PUBLIC	??_C@_0DH@LGJEMKHN@You?5can?5not?5start?5Weapon?5Drop?5wh@ ; `string'
PUBLIC	??_C@_0BK@EEEGPNL@Your?5weapon?5bag?5is?5empty?4?$AA@ ; `string'
PUBLIC	??_C@_0FL@LKFAKFPJ@Usage?3?5?$CBwdrop?5?$FLall?1item?5number?$FN?5@ ; `string'
EXTRN	??0aString@@QAE@PB_W@Z:PROC			; aString::aString
;	COMDAT ??_C@_0DB@DBHBKKLJ@You?5can?5not?5start?5Weapon?5Drop?5wh@
; File d:\source code\alib\include\avector.h
CONST	SEGMENT
??_C@_0DB@DBHBKKLJ@You?5can?5not?5start?5Weapon?5Drop?5wh@ DB 'You can no'
	DB	't start Weapon Drop while you''re dead.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DF@EBEPNNE@Error?3?5Weapon?5?$CD?$CFd?5does?5not?5exist@
CONST	SEGMENT
??_C@_0DF@EBEPNNE@Error?3?5Weapon?5?$CD?$CFd?5does?5not?5exist@ DB 'Error'
	DB	': Weapon #%d does not exist in your weapon bag.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0KN@BNMGEMJF@Your?5Weapon?5Drop?5request?$CI?$CFs?$CJ?5has@
CONST	SEGMENT
??_C@_0KN@BNMGEMJF@Your?5Weapon?5Drop?5request?$CI?$CFs?$CJ?5has@ DB 'You'
	DB	'r Weapon Drop request(%s) has been approved. The backpack wil'
	DB	'l appear in %.0f seconds at where you entered this request. Y'
	DB	'ou can type "!wdrop halt" to halt this request.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0KO@PMGHOCNN@Your?5Weapon?5Drop?5request?$CIAll?$CJ?5ha@
CONST	SEGMENT
??_C@_0KO@PMGHOCNN@Your?5Weapon?5Drop?5request?$CIAll?$CJ?5ha@ DB 'Your W'
	DB	'eapon Drop request(All) has been approved. The backpack will '
	DB	'appear in %.0f seconds at where you entered this request. You'
	DB	' can type "!wdrop halt" to halt this request.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@
CONST	SEGMENT
??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@ DB '.\stweapon.cpp', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_03NFKEKGGK@all?$AA@
CONST	SEGMENT
??_C@_03NFKEKGGK@all?$AA@ DB 'all', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0DO@PFAHIJE@You?5can?5only?5have?5one?5active?5Wea@
CONST	SEGMENT
??_C@_0DO@PFAHIJE@You?5can?5only?5have?5one?5active?5Wea@ DB 'You can onl'
	DB	'y have one active Weapon Drop request in progress.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CM@JBMOAOFJ@You?5don?8t?5have?5any?5Weapon?5Drop?5i@
CONST	SEGMENT
??_C@_0CM@JBMOAOFJ@You?5don?8t?5have?5any?5Weapon?5Drop?5i@ DB 'You don'''
	DB	't have any Weapon Drop in progress.', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_04BJJLCKLO@halt?$AA@
CONST	SEGMENT
??_C@_04BJJLCKLO@halt?$AA@ DB 'halt', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0DH@LGJEMKHN@You?5can?5not?5start?5Weapon?5Drop?5wh@
CONST	SEGMENT
??_C@_0DH@LGJEMKHN@You?5can?5not?5start?5Weapon?5Drop?5wh@ DB 'You can no'
	DB	't start Weapon Drop while you''re in vehicle.', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BK@EEEGPNL@Your?5weapon?5bag?5is?5empty?4?$AA@
CONST	SEGMENT
??_C@_0BK@EEEGPNL@Your?5weapon?5bag?5is?5empty?4?$AA@ DB 'Your weapon bag'
	DB	' is empty.', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0FL@LKFAKFPJ@Usage?3?5?$CBwdrop?5?$FLall?1item?5number?$FN?5@
CONST	SEGMENT
??_C@_0FL@LKFAKFPJ@Usage?3?5?$CBwdrop?5?$FLall?1item?5number?$FN?5@ DB 'U'
	DB	'sage: !wdrop [all/item number] - For the list of weapons in y'
	DB	'our weapon bag, type !wlist.', 00H		; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z DD 019930522H
	DD	0cH
	DD	FLAT:__unwindtable$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$2
	DD	03H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$4
	DD	05H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$6
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$7
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$8
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$9
	DD	02H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$10
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
xdata$x	ENDS
;	COMDAT ?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
$T73385 = -96						; size = 4
$T73379 = -96						; size = 4
$T73372 = -96						; size = 4
$T73366 = -96						; size = 4
$T73363 = -96						; size = 8
$T73360 = -96						; size = 8
_str$ = -88						; size = 8
$T73358 = -80						; size = 8
$T73377 = -72						; size = 8
$T73364 = -72						; size = 8
$T73361 = -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_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_WeaponDrop::Activate, COMDAT
; _this$ = ecx

; 830  : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -64				; ffffffc0H
	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z
	push	eax
	mov	DWORD PTR fs:0, esp

; 831  : 		// Game mode check
; 832  : 		switch (gzGameMgr->m_settings->m_GameMode)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [ecx+72]
	mov	eax, DWORD PTR [eax+24]
	sub	esp, 104				; 00000068H
	push	ebx
	add	eax, -4					; fffffffcH
	cmp	eax, 1
	push	esi
	push	edi
	ja	SHORT $LN25@Activate@4

; 833  : 		{
; 834  : 			case GAMEMODE_SNIPER:
; 835  : 			case GAMEMODE_500SNIP:
; 836  : 				PagePlayer(sender, "Weapon commands are not available in %s game mode.", gzGameMgr->GetGame()->ModeName());

	mov	ecx, DWORD PTR [ecx+40]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+136]
	call	eax
	mov	ecx, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0DD@POEOFIPD@Weapon?5commands?5are?5not?5availabl@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH

; 905  : 				}
; 906  : 			}
; 907  : 		}
; 908  : 	}

	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
$LN25@Activate@4:

; 837  : 				return;
; 838  : 		}
; 839  : 
; 840  : 		if (!*msg)

	mov	ebx, DWORD PTR _msg$[ebp]
	cmp	WORD PTR [ebx], 0
	jne	SHORT $LN23@Activate@4

; 841  : 		{
; 842  : 			PagePlayer(sender, "Usage: !wdrop [all/item number] - For the list of weapons in your weapon bag, type !wlist.");

	mov	edx, DWORD PTR _sender$[ebp]
	push	OFFSET ??_C@_0FL@LKFAKFPJ@Usage?3?5?$CBwdrop?5?$FLall?1item?5number?$FN?5@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 905  : 				}
; 906  : 			}
; 907  : 		}
; 908  : 	}

	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
$LN23@Activate@4:

; 843  : 			return;
; 844  : 		}
; 845  : 		
; 846  : 		gzPlayer *gzData = gzPlayerManager::Find(sender);

	mov	edi, DWORD PTR _sender$[ebp]
	push	edi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	esi, eax
	add	esp, 4

; 847  : 		if (!gzData)

	test	esi, esi
	je	$LN27@Activate@4

; 848  : 			return;
; 849  : 
; 850  : 		aToken str(msg);

	push	ebx
	lea	ecx, DWORD PTR $T73358[esp+132]
	call	??0aString@@QAE@PB_W@Z			; aString::aString
	lea	eax, DWORD PTR $T73358[esp+128]
	push	eax
	lea	ecx, DWORD PTR _str$[esp+132]
	mov	DWORD PTR __$EHRec$[esp+140], 0
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T73358[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 851  : 
; 852  : 		if (!gzData->GetPlayerData()->Owner.Reference || gzData->GetPlayerData()->Owner.Reference->obj->As_DamageableGameObj()->Defense.Health.Get() <= 0.0f)

	mov	eax, DWORD PTR [esi+76]
	cmp	DWORD PTR [eax+20], 0
	je	$LN20@Activate@4
	mov	ecx, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+60]
	call	eax
	mov	ecx, eax
	add	ecx, 1840				; 00000730H
	call	?Get@nc_FloatDataSafeClass@@QAEMXZ	; nc_FloatDataSafeClass::Get
	fcomp	DWORD PTR __real@00000000
	fnstsw	ax
	test	ah, 65					; 00000041H
	jnp	$LN20@Activate@4

; 854  : 		else if (gzData->GetWeaponPack()->m_list.Count() == 0)

	mov	eax, DWORD PTR [esi+60]
	cmp	DWORD PTR [eax+36], 0
	jne	SHORT $LN18@Activate@4

; 855  : 			PagePlayer(sender, "Your weapon bag is empty.");

	push	OFFSET ??_C@_0BK@EEEGPNL@Your?5weapon?5bag?5is?5empty?4?$AA@
	jmp	$LN137@Activate@4
$LN18@Activate@4:

; 856  : 		else if (gzData->GetPlayerData()->Owner.Reference->obj->As_SoldierGameObj()->Vehicle)

	mov	eax, DWORD PTR [esi+76]
	mov	ecx, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+68]
	call	eax
	cmp	DWORD PTR [eax+2444], 0
	je	SHORT $LN16@Activate@4

; 857  : 			PagePlayer(sender, "You can not start Weapon Drop while you're in vehicle.");

	push	OFFSET ??_C@_0DH@LGJEMKHN@You?5can?5not?5start?5Weapon?5Drop?5wh@
	jmp	$LN137@Activate@4
$LN16@Activate@4:

; 858  : 		else if (str.gettok(1, ' ').GetData() == "halt")

	push	OFFSET ??_C@_04BJJLCKLO@halt?$AA@
	lea	ecx, DWORD PTR $T73360[esp+132]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T73361[esp+136]
	push	ecx
	lea	ecx, DWORD PTR _str$[esp+140]
	mov	BYTE PTR __$EHRec$[esp+148], 3
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	lea	edx, DWORD PTR $T73360[esp+128]
	push	edx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+140], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	call	??8@YA_NABVaString@@0@Z			; operator==
	add	esp, 8
	lea	ecx, DWORD PTR $T73361[esp+128]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+136], 3
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T73360[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 859  : 		{
; 860  : 			gzWeaponDropClass *drop = gzWeaponDropMgr->Find(gzData->GetPlayerData());

	mov	eax, DWORD PTR [esi+76]
	mov	ecx, DWORD PTR ?gzWeaponDropMgr@@3PAVgzWeaponDropManager@@A ; gzWeaponDropMgr
	push	eax
	call	?Find@gzWeaponDropManager@@QAEPAVgzWeaponDropClass@@PAVnc_cPlayer@@@Z ; gzWeaponDropManager::Find
	test	bl, bl
	je	SHORT $LN14@Activate@4
	mov	ebx, eax

; 861  : 			if (!drop)

	test	ebx, ebx
	jne	SHORT $LN13@Activate@4

; 862  : 				PagePlayer(sender, "You don't have any Weapon Drop in progress.");

	push	OFFSET ??_C@_0CM@JBMOAOFJ@You?5don?8t?5have?5any?5Weapon?5Drop?5i@
	jmp	$LN137@Activate@4
$LN13@Activate@4:

; 863  : 			else if (drop->Halt())

	mov	ecx, ebx
	call	?Halt@gzWeaponDropClass@@QAE_NXZ	; gzWeaponDropClass::Halt
	test	al, al
	je	$LN1@Activate@4

; 864  : 			{
; 865  : 				drop->GetWeaponPack()->m_owner = gzData;

	mov	ebx, DWORD PTR [ebx+40]
	mov	DWORD PTR [ebx+40], esi

; 866  : 				PagePlayer(sender, "Your Weapon Drop has been halted.");

	push	OFFSET ??_C@_0CC@IGHGMKGA@Your?5Weapon?5Drop?5has?5been?5halted@

; 867  : 			}
; 868  : 		}
; 869  : 		else

	jmp	$LN137@Activate@4
$LN14@Activate@4:

; 870  : 		{
; 871  : 			gzWeaponDropClass *drop = gzWeaponDropMgr->Find(gzData->GetPlayerData());
; 872  : 			if (drop)

	test	eax, eax
	je	SHORT $LN9@Activate@4

; 873  : 				PagePlayer(sender, "You can only have one active Weapon Drop request in progress.");

	push	OFFSET ??_C@_0DO@PFAHIJE@You?5can?5only?5have?5one?5active?5Wea@
	jmp	$LN137@Activate@4
$LN9@Activate@4:

; 874  : 			else if (str.gettok(1, ' ').GetData() == "all")

	push	OFFSET ??_C@_03NFKEKGGK@all?$AA@
	lea	ecx, DWORD PTR $T73363[esp+132]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	32					; 00000020H
	push	1
	lea	eax, DWORD PTR $T73364[esp+136]
	push	eax
	lea	ecx, DWORD PTR _str$[esp+140]
	mov	BYTE PTR __$EHRec$[esp+148], 5
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	lea	ecx, DWORD PTR $T73363[esp+128]
	push	ecx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+140], 6
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	call	??8@YA_NABVaString@@0@Z			; operator==
	add	esp, 8
	lea	ecx, DWORD PTR $T73364[esp+128]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+136], 5
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T73363[esp+128]
	mov	BYTE PTR __$EHRec$[esp+136], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN7@Activate@4

; 875  : 			{
; 876  : 				gzWeaponDropClass *newDrop = new gzWeaponDropClass;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	876					; 0000036cH
	push	OFFSET ??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	88					; 00000058H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73366[esp+128], eax
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+136], 7
	je	SHORT $LN29@Activate@4
	mov	ecx, eax
	call	??0gzWeaponDropClass@@QAE@XZ		; gzWeaponDropClass::gzWeaponDropClass
	mov	edi, eax
	jmp	SHORT $LN30@Activate@4
$LN29@Activate@4:
	xor	edi, edi
$LN30@Activate@4:

; 877  : 				gzData->GetPlayerData()->Owner.Reference->obj->Get_Position(&newDrop->GetPosition());

	mov	eax, DWORD PTR [esi+76]
	mov	edx, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [edx+4]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+56]
	lea	edx, DWORD PTR [edi+68]
	push	edx
	mov	BYTE PTR __$EHRec$[esp+140], 2
	call	eax

; 878  : 				newDrop->m_soldierId = gzData->GetPlayerData()->Owner.Reference->obj->NetworkID;

	mov	eax, DWORD PTR [esi+76]
	mov	ecx, DWORD PTR [eax+20]
	mov	edx, DWORD PTR [ecx+4]
	mov	eax, DWORD PTR [edx+12]

; 879  : 				newDrop->SetWeaponPack(new gzWeaponPackClass);

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	879					; 0000036fH
	push	OFFSET ??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@
	mov	DWORD PTR [edi+84], eax
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	48					; 00000030H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73372[esp+128], eax
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+136], 8
	je	SHORT $LN33@Activate@4
	push	1
	mov	ecx, eax
	call	??0gzWeaponPackClass@@QAE@_N@Z		; gzWeaponPackClass::gzWeaponPackClass
	jmp	SHORT $LN34@Activate@4
$LN33@Activate@4:
	xor	eax, eax
$LN34@Activate@4:
	mov	DWORD PTR [edi+40], eax

; 880  : 				newDrop->GetWeaponPack()->Copy(gzData->GetWeaponPack());

	mov	ecx, DWORD PTR [esi+60]
	add	ecx, 24					; 00000018H
	push	ecx
	lea	ecx, DWORD PTR [eax+24]
	mov	BYTE PTR __$EHRec$[esp+140], 2
	call	??4?$aVector@UgzWeaponPackData@@@@QAEAAV0@ABV0@@Z ; aVector<gzWeaponPackData>::operator=

; 881  : 				newDrop->Init(gzData);

	mov	esi, DWORD PTR [esi+76]

; 882  : 				PagePlayer(sender, "Your Weapon Drop request(All) has been approved. The backpack will appear in %.0f seconds at where you entered this request. You can type \"!wdrop halt\" to halt this request.",
; 883  : 					gzWeaponMgr->m_settings->Weapons.DropDelay
; 884  : 				);

	mov	eax, DWORD PTR _sender$[ebp]
	mov	DWORD PTR [edi+44], esi
	mov	ecx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	edx, DWORD PTR [ecx+40]
	fld	DWORD PTR [edx+140]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	push	OFFSET ??_C@_0KO@PMGHOCNN@Your?5Weapon?5Drop?5request?$CIAll?$CJ?5ha@
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 16					; 00000010H

; 885  : 			}
; 886  : 			else

	jmp	$LN1@Activate@4
$LN7@Activate@4:

; 887  : 			{
; 888  : 				unsigned int id = str.gettok(1, ' ').ToLong() - 1;

	push	32					; 00000020H
	push	1
	lea	ecx, DWORD PTR $T73377[esp+136]
	push	ecx
	lea	ecx, DWORD PTR _str$[esp+140]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+136], 9
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	mov	edi, eax
	lea	ecx, DWORD PTR $T73377[esp+128]
	sub	edi, 1
	mov	BYTE PTR __$EHRec$[esp+136], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 889  : 				if (id < 0)
; 890  : 					PagePlayer(sender, "Error: Invalid weapon ID. For the list of weapons, type \"!wlist\".");
; 891  : 				else if (id >= gzData->GetWeaponPack()->m_list.Count() || gzData->GetWeaponPack()->m_list[id].weapon == NULL)

	mov	eax, DWORD PTR [esi+60]
	cmp	edi, DWORD PTR [eax+36]
	jae	$LN2@Activate@4
	mov	edx, DWORD PTR [eax+28]
	cmp	DWORD PTR [edx+edi*8+4], 0
	lea	ebx, DWORD PTR [edi*8]
	je	$LN2@Activate@4

; 894  : 				{
; 895  : 					gzWeaponDropClass *newDrop = new gzWeaponDropClass;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	895					; 0000037fH
	push	OFFSET ??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	88					; 00000058H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73379[esp+128], eax
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+136], 10		; 0000000aH
	je	SHORT $LN37@Activate@4
	mov	ecx, eax
	call	??0gzWeaponDropClass@@QAE@XZ		; gzWeaponDropClass::gzWeaponDropClass
	mov	edi, eax
	jmp	SHORT $LN38@Activate@4
$LN37@Activate@4:
	xor	edi, edi
$LN38@Activate@4:

; 896  : 					gzData->GetPlayerData()->Owner.Reference->obj->Get_Position(&newDrop->GetPosition());

	mov	eax, DWORD PTR [esi+76]
	mov	eax, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+56]
	lea	eax, DWORD PTR [edi+68]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+140], 2
	call	edx

; 897  : 					newDrop->m_soldierId = gzData->GetPlayerData()->Owner.Reference->obj->NetworkID;

	mov	eax, DWORD PTR [esi+76]
	mov	eax, DWORD PTR [eax+20]
	mov	ecx, DWORD PTR [eax+4]
	mov	edx, DWORD PTR [ecx+12]

; 898  : 					newDrop->SetWeaponPack(new gzWeaponPackClass);

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	898					; 00000382H
	push	OFFSET ??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@
	mov	DWORD PTR [edi+84], edx
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	48					; 00000030H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73385[esp+128], eax
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+136], 11		; 0000000bH
	je	SHORT $LN41@Activate@4
	push	1
	mov	ecx, eax
	call	??0gzWeaponPackClass@@QAE@_N@Z		; gzWeaponPackClass::gzWeaponPackClass
	jmp	SHORT $LN42@Activate@4
$LN41@Activate@4:
	xor	eax, eax
$LN42@Activate@4:
	mov	DWORD PTR [edi+40], eax

; 899  : 					newDrop->GetWeaponPack()->m_list.Add(gzData->GetWeaponPack()->m_list[id]);

	mov	edx, DWORD PTR [eax+24]
	mov	edx, DWORD PTR [edx+12]
	lea	ecx, DWORD PTR [eax+24]
	mov	eax, DWORD PTR [esi+60]
	mov	eax, DWORD PTR [eax+28]
	add	eax, ebx
	push	eax
	mov	BYTE PTR __$EHRec$[esp+140], 2
	call	edx

; 900  : 					newDrop->Init(gzData);

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

; 901  : 					PagePlayer(sender, "Your Weapon Drop request(%s) has been approved. The backpack will appear in %.0f seconds at where you entered this request. You can type \"!wdrop halt\" to halt this request.",
; 902  : 						gzTranslator->Get(gzData->GetWeaponPack()->m_list[id].weapon->Get_Name()),
; 903  : 						gzWeaponMgr->m_settings->Weapons.DropDelay
; 904  : 					);

	mov	esi, DWORD PTR [esi+60]
	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR [eax+ebx+4]
	mov	edx, DWORD PTR ?gzWeaponMgr@@3PAVgzWeaponManager@@A ; gzWeaponMgr
	mov	eax, DWORD PTR [edx+40]
	fld	DWORD PTR [eax+140]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	sub	esp, 8
	fstp	QWORD PTR [esp]
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	mov	ecx, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0KN@BNMGEMJF@Your?5Weapon?5Drop?5request?$CI?$CFs?$CJ?5has@
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 20					; 00000014H
	jmp	SHORT $LN1@Activate@4
$LN2@Activate@4:

; 892  : 					PagePlayer(sender, "Error: Weapon #%d does not exist in your weapon bag.", id + 1);

	mov	edx, DWORD PTR _sender$[ebp]
	add	edi, 1
	push	edi
	push	OFFSET ??_C@_0DF@EBEPNNE@Error?3?5Weapon?5?$CD?$CFd?5does?5not?5exist@
	push	edx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH

; 893  : 				else

	jmp	SHORT $LN1@Activate@4
$LN20@Activate@4:

; 853  : 			PagePlayer(sender, "You can not start Weapon Drop while you're dead.");

	push	OFFSET ??_C@_0DB@DBHBKKLJ@You?5can?5not?5start?5Weapon?5Drop?5wh@
$LN137@Activate@4:
	push	edi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
$LN1@Activate@4:

; 905  : 				}
; 906  : 			}
; 907  : 		}
; 908  : 	}

	lea	ecx, DWORD PTR _str$[esp+128]
	mov	DWORD PTR __$EHRec$[esp+136], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN27@Activate@4:
	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_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$0:
	lea	ecx, DWORD PTR $T73358[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$1:
	lea	ecx, DWORD PTR _str$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$2:
	lea	ecx, DWORD PTR $T73360[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$3:
	lea	ecx, DWORD PTR $T73361[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$4:
	lea	ecx, DWORD PTR $T73363[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$5:
	lea	ecx, DWORD PTR $T73364[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$6:
	mov	eax, DWORD PTR $T73366[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$7:
	mov	eax, DWORD PTR $T73372[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$8:
	lea	ecx, DWORD PTR $T73377[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$9:
	mov	eax, DWORD PTR $T73379[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z$10:
	mov	eax, DWORD PTR $T73385[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@gzChat_WeaponDrop@@EAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_WeaponDrop::Activate
PUBLIC	??_7gzChat_WeaponList@@6B@			; gzChat_WeaponList::`vftable'
PUBLIC	??0gzChat_WeaponList@@QAE@XZ			; gzChat_WeaponList::gzChat_WeaponList
PUBLIC	??_R4gzChat_WeaponList@@6B@			; gzChat_WeaponList::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzChat_WeaponList@@@8			; gzChat_WeaponList `RTTI Type Descriptor'
PUBLIC	??_R3gzChat_WeaponList@@8			; gzChat_WeaponList::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzChat_WeaponList@@8			; gzChat_WeaponList::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzChat_WeaponList@@8		; gzChat_WeaponList::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?Activate@gzChat_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z ; gzChat_WeaponList::Activate
;	COMDAT ??_R1A@?0A@EA@gzChat_WeaponList@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzChat_WeaponList@@8 DD FLAT:??_R0?AVgzChat_WeaponList@@@8 ; gzChat_WeaponList::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzChat_WeaponList@@8
rdata$r	ENDS
;	COMDAT ??_R2gzChat_WeaponList@@8
rdata$r	SEGMENT
??_R2gzChat_WeaponList@@8 DD FLAT:??_R1A@?0A@EA@gzChat_WeaponList@@8 ; gzChat_WeaponList::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@gzChatCommandBase@@8
rdata$r	ENDS
;	COMDAT ??_R3gzChat_WeaponList@@8
rdata$r	SEGMENT
??_R3gzChat_WeaponList@@8 DD 00H			; gzChat_WeaponList::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2gzChat_WeaponList@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzChat_WeaponList@@@8
_DATA	SEGMENT
??_R0?AVgzChat_WeaponList@@@8 DD FLAT:??_7type_info@@6B@ ; gzChat_WeaponList `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzChat_WeaponList@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzChat_WeaponList@@6B@
rdata$r	SEGMENT
??_R4gzChat_WeaponList@@6B@ DD 00H			; gzChat_WeaponList::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzChat_WeaponList@@@8
	DD	FLAT:??_R3gzChat_WeaponList@@8
rdata$r	ENDS
;	COMDAT ??_7gzChat_WeaponList@@6B@
CONST	SEGMENT
??_7gzChat_WeaponList@@6B@ DD FLAT:??_R4gzChat_WeaponList@@6B@ ; gzChat_WeaponList::`vftable'
	DD	FLAT:?Activate@gzChat_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0gzChat_WeaponList@@QAE@XZ
_TEXT	SEGMENT
??0gzChat_WeaponList@@QAE@XZ PROC			; gzChat_WeaponList::gzChat_WeaponList, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_WeaponList@@6B@
	mov	eax, esi
	pop	esi
	ret	0
??0gzChat_WeaponList@@QAE@XZ ENDP			; gzChat_WeaponList::gzChat_WeaponList
_TEXT	ENDS
PUBLIC	?Len@aStringBase@@QBEIXZ			; aStringBase::Len
; Function compile flags: /Ogtpy
; File d:\source code\alib\include\astring.h
;	COMDAT ?Len@aStringBase@@QBEIXZ
_TEXT	SEGMENT
?Len@aStringBase@@QBEIXZ PROC				; aStringBase::Len, COMDAT
; _this$ = ecx

; 59   : 	unsigned int Len() const { return this->GetLength(); };

	jmp	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
?Len@aStringBase@@QBEIXZ ENDP				; aStringBase::Len
_TEXT	ENDS
PUBLIC	??_C@_0BK@FOOIDCNL@Your?5Weapon?5Bag?5is?5empty?4?$AA@ ; `string'
PUBLIC	??_C@_06ECLMFMPI@?$CI?$CFd?$CJ?$CFs?$AA@	; `string'
PUBLIC	??_C@_03NLJIHOMM@?5?9?5?$AA@			; `string'
EXTRN	?Clear@aStringBase@@QAEXXZ:PROC			; aStringBase::Clear
;	COMDAT ??_C@_0BK@FOOIDCNL@Your?5Weapon?5Bag?5is?5empty?4?$AA@
CONST	SEGMENT
??_C@_0BK@FOOIDCNL@Your?5Weapon?5Bag?5is?5empty?4?$AA@ DB 'Your Weapon Ba'
	DB	'g is empty.', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_06ECLMFMPI@?$CI?$CFd?$CJ?$CFs?$AA@
CONST	SEGMENT
??_C@_06ECLMFMPI@?$CI?$CFd?$CJ?$CFs?$AA@ DB '(%d)%s', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_03NLJIHOMM@?5?9?5?$AA@
CONST	SEGMENT
??_C@_03NLJIHOMM@?5?9?5?$AA@ DB ' - ', 00H		; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Activate@gzChat_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Activate@gzChat_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z$1
	DD	00H
	DD	FLAT:__unwindfunclet$?Activate@gzChat_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z$2
__ehfuncinfo$?Activate@gzChat_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?Activate@gzChat_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
xdata$x	ENDS
;	COMDAT ?Activate@gzChat_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z
_TEXT	SEGMENT
_Msg$ = -40						; size = 8
$T73570 = -32						; size = 8
$T73571 = -24						; 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_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z PROC ; gzChat_WeaponList::Activate, COMDAT
; _this$ = ecx

; 918  : 	{

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	mov	eax, DWORD PTR fs:0
	push	-1
	push	__ehhandler$?Activate@gzChat_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z
	push	eax
	mov	DWORD PTR fs:0, esp

; 919  : 		// Game mode check
; 920  : 		switch (gzGameMgr->m_settings->m_GameMode)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	eax, DWORD PTR [ecx+72]
	mov	eax, DWORD PTR [eax+24]
	sub	esp, 32					; 00000020H
	push	ebx
	add	eax, -4					; fffffffcH
	cmp	eax, 1
	push	esi
	push	edi
	ja	SHORT $LN66@Activate@5

; 921  : 		{
; 922  : 			case GAMEMODE_SNIPER:
; 923  : 			case GAMEMODE_500SNIP:
; 924  : 				PagePlayer(sender, "Weapon commands are not available in %s game mode.", gzGameMgr->GetGame()->ModeName());

	mov	ecx, DWORD PTR [ecx+40]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+136]
	call	eax
	mov	esi, DWORD PTR _sender$[ebp]
	push	eax
	push	OFFSET ??_C@_0DD@POEOFIPD@Weapon?5commands?5are?5not?5availabl@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
	jmp	SHORT $LN12@Activate@5
$LN66@Activate@5:
	mov	esi, DWORD PTR _sender$[ebp]
$LN12@Activate@5:

; 925  : 		}
; 926  : 
; 927  : 		gzPlayer *gzData = gzPlayerManager::Find(sender);

	push	esi
	call	?Find@gzPlayerManager@@SAPAVgzPlayer@@H@Z ; gzPlayerManager::Find
	mov	edi, eax

; 928  : 		if (!gzData)

	xor	ebx, ebx
	add	esp, 4
	cmp	edi, ebx
	je	$LN14@Activate@5

; 929  : 			return;
; 930  : 
; 931  : 		if (!gzData->GetWeaponPack() || gzData->GetWeaponPack()->m_list.Count() == 0)

	mov	eax, DWORD PTR [edi+60]
	cmp	eax, ebx
	je	$LN8@Activate@5
	cmp	DWORD PTR [eax+36], ebx
	je	$LN8@Activate@5

; 934  : 			return;
; 935  : 		}
; 936  : 
; 937  : 		aString Msg;

	lea	ecx, DWORD PTR _Msg$[esp+56]
	call	??0aString@@QAE@XZ			; aString::aString

; 938  : 		for (unsigned int i = 0; i < gzData->GetWeaponPack()->m_list.Count(); i++)

	mov	eax, DWORD PTR [edi+60]
	xor	esi, esi
	cmp	DWORD PTR [eax+36], ebx
	mov	DWORD PTR __$EHRec$[esp+64], ebx
	jbe	$LN5@Activate@5
	npad	3
$LL7@Activate@5:

; 939  : 		{
; 940  : 			if (gzData->GetWeaponPack()->m_list[i].weapon)

	mov	ecx, DWORD PTR [eax+28]
	cmp	DWORD PTR [ecx+esi*8+4], ebx
	je	$LN6@Activate@5

; 941  : 			{
; 942  : 				if (Msg.Len() > 0)

	lea	ecx, DWORD PTR _Msg$[esp+56]
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	test	eax, eax
	jbe	SHORT $LN3@Activate@5

; 943  : 					Msg += " - ";

	push	OFFSET ??_C@_03NLJIHOMM@?5?9?5?$AA@
	lea	ecx, DWORD PTR $T73570[esp+60]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	edx, DWORD PTR $T73570[esp+56]
	push	edx
	lea	ecx, DWORD PTR _Msg$[esp+60]
	mov	BYTE PTR __$EHRec$[esp+68], 1
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T73570[esp+56]
	mov	BYTE PTR __$EHRec$[esp+64], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN3@Activate@5:

; 944  : 				Msg += aString::Format("(%d)%s", i + 1, gzTranslator->Get(gzData->GetWeaponPack()->m_list[i].weapon->Get_Name()));

	mov	eax, DWORD PTR [edi+60]
	mov	eax, DWORD PTR [eax+28]
	mov	ecx, DWORD PTR [eax+esi*8+4]
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+48]
	call	eax
	mov	ecx, DWORD PTR ?gzTranslator@@3PAVgzTranslateManager@@A ; gzTranslator
	push	eax
	call	?Get@gzTranslateManager@@QAEPBDPBD@Z	; gzTranslateManager::Get
	push	eax
	lea	ecx, DWORD PTR [esi+1]
	push	ecx
	lea	edx, DWORD PTR $T73571[esp+64]
	push	OFFSET ??_C@_06ECLMFMPI@?$CI?$CFd?$CJ?$CFs?$AA@
	push	edx
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 16					; 00000010H
	push	eax
	lea	ecx, DWORD PTR _Msg$[esp+60]
	mov	BYTE PTR __$EHRec$[esp+68], 2
	call	??YaString@@QAEAAV0@ABV0@@Z		; aString::operator+=
	lea	ecx, DWORD PTR $T73571[esp+56]
	mov	BYTE PTR __$EHRec$[esp+64], bl
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 945  : 				if (Msg.Len() > 200)

	lea	ecx, DWORD PTR _Msg$[esp+56]
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	cmp	eax, 200				; 000000c8H
	jbe	SHORT $LN6@Activate@5

; 946  : 				{
; 947  : 					PagePlayer(sender, Msg.GetString());

	mov	eax, DWORD PTR _Msg$[esp+60]
	cmp	eax, ebx
	je	SHORT $LN51@Activate@5
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN52@Activate@5
$LN51@Activate@5:
	xor	eax, eax
$LN52@Activate@5:
	push	eax
	mov	eax, DWORD PTR _sender$[ebp]
	push	eax
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8

; 948  : 					Msg.Clear();

	lea	ecx, DWORD PTR _Msg$[esp+56]
	call	?Clear@aStringBase@@QAEXXZ		; aStringBase::Clear
$LN6@Activate@5:
	mov	eax, DWORD PTR [edi+60]
	add	esi, 1
	cmp	esi, DWORD PTR [eax+36]
	jb	$LL7@Activate@5
$LN5@Activate@5:

; 949  : 				}
; 950  : 			}
; 951  : 		}
; 952  : 		if (Msg.GetLength() > 0)

	lea	ecx, DWORD PTR _Msg$[esp+56]
	call	?GetLength@aStringBase@@QBEIXZ		; aStringBase::GetLength
	test	eax, eax
	jbe	SHORT $LN1@Activate@5

; 953  : 			PagePlayer(sender, Msg.GetString());

	mov	eax, DWORD PTR _Msg$[esp+60]
	cmp	eax, ebx
	je	SHORT $LN57@Activate@5
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN58@Activate@5
$LN57@Activate@5:
	xor	eax, eax
$LN58@Activate@5:
	mov	ecx, DWORD PTR _sender$[ebp]
	push	eax
	push	ecx
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 8
$LN1@Activate@5:

; 954  : 	}

	lea	ecx, DWORD PTR _Msg$[esp+56]
	mov	DWORD PTR __$EHRec$[esp+64], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, DWORD PTR __$EHRec$[esp+56]
	mov	DWORD PTR fs:0, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	20					; 00000014H
$LN8@Activate@5:

; 932  : 		{
; 933  : 			PagePlayer(sender, "Your Weapon Bag is empty.", sender);

	push	esi
	push	OFFSET ??_C@_0BK@FOOIDCNL@Your?5Weapon?5Bag?5is?5empty?4?$AA@
	push	esi
	call	?PagePlayer@@YAXHPBDZZ			; PagePlayer
	add	esp, 12					; 0000000cH
$LN14@Activate@5:

; 954  : 	}

	mov	ecx, DWORD PTR __$EHRec$[esp+56]
	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_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z$0:
	lea	ecx, DWORD PTR _Msg$[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z$1:
	lea	ecx, DWORD PTR $T73570[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Activate@gzChat_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z$2:
	lea	ecx, DWORD PTR $T73571[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Activate@gzChat_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z:
	mov	eax, OFFSET __ehfuncinfo$?Activate@gzChat_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?Activate@gzChat_WeaponList@@UAEXPB_WHHHAAVaWideString@@@Z ENDP ; gzChat_WeaponList::Activate
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Delete@gzSettingsWeaponClass@@UAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Delete@gzSettingsWeaponClass@@UAEXXZ$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Delete@gzSettingsWeaponClass@@UAEXXZ$4
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Delete@gzSettingsWeaponClass@@UAEXXZ$8
__ehfuncinfo$?Delete@gzSettingsWeaponClass@@UAEXXZ DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?Delete@gzSettingsWeaponClass@@UAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?Delete@gzSettingsWeaponClass@@UAEXXZ
_TEXT	SEGMENT
$T73682 = -16						; size = 4
$T73676 = -16						; size = 4
$T73670 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Delete@gzSettingsWeaponClass@@UAEXXZ PROC		; gzSettingsWeaponClass::Delete, COMDAT
; _this$ = ecx

; 22   : {

	push	-1
	push	__ehhandler$?Delete@gzSettingsWeaponClass@@UAEXXZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	ebx
	push	esi
	mov	esi, ecx

; 23   : 	for (unsigned int i = 0; i < this->Weapons.Level.Count(); i++)

	mov	eax, DWORD PTR [esi+132]
	xor	ebx, ebx
	test	eax, eax
	push	edi
	jbe	SHORT $LN103@Delete@17
	npad	9
$LL12@Delete@17:

; 24   : 		delete this->Weapons.Level[i];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	24					; 00000018H
	push	OFFSET ??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+124]
	mov	edi, DWORD PTR [eax+ebx*4]
	add	esp, 12					; 0000000cH
	test	edi, edi
	mov	DWORD PTR $T73670[esp+28], edi
	je	SHORT $LN11@Delete@17
	lea	ecx, DWORD PTR [edi+8]
	mov	DWORD PTR __$EHRec$[esp+36], 0
	call	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
	mov	ecx, edi
	mov	DWORD PTR __$EHRec$[esp+36], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	edi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN11@Delete@17:
	add	ebx, 1
	cmp	ebx, DWORD PTR [esi+132]
	jb	SHORT $LL12@Delete@17
$LN103@Delete@17:

; 25   : 	this->Weapons.Level.Clear();

	mov	edx, DWORD PTR [esi+120]
	mov	eax, DWORD PTR [edx+4]
	lea	ecx, DWORD PTR [esi+120]
	call	eax

; 26   : 
; 27   : 	for (unsigned int i = 0; i < this->Weapons.Ban.Count(); i++)

	xor	ebx, ebx
	cmp	DWORD PTR [esi+116], ebx
	jbe	SHORT $LN7@Delete@17
	npad	9
$LL9@Delete@17:

; 28   : 		delete this->Weapons.Ban[i];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	28					; 0000001cH
	push	OFFSET ??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	ecx, DWORD PTR [esi+108]
	mov	edi, DWORD PTR [ecx+ebx*4]
	add	esp, 12					; 0000000cH
	test	edi, edi
	mov	DWORD PTR $T73676[esp+28], edi
	je	SHORT $LN8@Delete@17
	lea	ecx, DWORD PTR [edi+8]
	mov	DWORD PTR __$EHRec$[esp+36], 1
	call	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
	mov	ecx, edi
	mov	DWORD PTR __$EHRec$[esp+36], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	edi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN8@Delete@17:
	add	ebx, 1
	cmp	ebx, DWORD PTR [esi+116]
	jb	SHORT $LL9@Delete@17
$LN7@Delete@17:

; 29   : 	this->Weapons.Ban.Clear();

	mov	edx, DWORD PTR [esi+104]
	mov	eax, DWORD PTR [edx+4]
	lea	ecx, DWORD PTR [esi+104]
	call	eax

; 30   : 	
; 31   : 	for (unsigned int i = 0; i < this->Backpack.DropData.Count(); i++)

	xor	ebx, ebx
	cmp	DWORD PTR [esi+100], ebx
	jbe	$LN4@Delete@17
	push	ebp
	npad	7
$LL6@Delete@17:

; 32   : 	{
; 33   : 		for (unsigned int j = 0; j < this->Backpack.DropData[i]->m_weapons.Count(); j++)

	mov	ecx, DWORD PTR [esi+92]
	mov	edx, DWORD PTR [ecx+ebx*4]
	xor	ebp, ebp
	cmp	DWORD PTR [edx+20], ebp
	jbe	SHORT $LN1@Delete@17
	npad	3
$LL105@Delete@17:

; 34   : 			delete this->Backpack.DropData[i]->m_weapons[j];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	34					; 00000022H
	push	OFFSET ??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+92]
	mov	ecx, DWORD PTR [eax+ebx*4]
	mov	edx, DWORD PTR [ecx+12]
	mov	edi, DWORD PTR [edx+ebp*4]
	add	esp, 12					; 0000000cH
	test	edi, edi
	mov	DWORD PTR $T73682[esp+32], edi
	je	SHORT $LN2@Delete@17
	lea	ecx, DWORD PTR [edi+12]
	mov	DWORD PTR __$EHRec$[esp+40], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, edi
	mov	DWORD PTR __$EHRec$[esp+40], -1
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	edi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN2@Delete@17:
	mov	eax, DWORD PTR [esi+92]
	mov	ecx, DWORD PTR [eax+ebx*4]
	add	ebp, 1
	cmp	ebp, DWORD PTR [ecx+20]
	jb	SHORT $LL105@Delete@17
$LN1@Delete@17:

; 35   : 		this->Backpack.DropData[i]->m_weapons.Clear();

	mov	edx, DWORD PTR [esi+92]
	mov	eax, DWORD PTR [edx+ebx*4]
	lea	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	call	edx

; 36   : 		delete this->Backpack.DropData[i];

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	36					; 00000024H
	push	OFFSET ??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+92]
	mov	edi, DWORD PTR [eax+ebx*4]
	add	esp, 12					; 0000000cH
	test	edi, edi
	je	SHORT $LN5@Delete@17
	mov	ecx, edi
	call	??1gzBackpackSoldierData@@QAE@XZ
	push	edi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN5@Delete@17:
	add	ebx, 1
	cmp	ebx, DWORD PTR [esi+100]
	jb	$LL6@Delete@17
	pop	ebp
$LN4@Delete@17:

; 37   : 	}
; 38   : 	this->Backpack.DropData.Clear();

	mov	edx, DWORD PTR [esi+88]
	mov	eax, DWORD PTR [edx+4]
	lea	ecx, DWORD PTR [esi+88]
	call	eax

; 39   : }

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	pop	edi
	pop	esi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Delete@gzSettingsWeaponClass@@UAEXXZ$0:
	mov	ecx, DWORD PTR $T73670[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Delete@gzSettingsWeaponClass@@UAEXXZ$4:
	mov	ecx, DWORD PTR $T73676[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Delete@gzSettingsWeaponClass@@UAEXXZ$8:
	mov	ecx, DWORD PTR $T73682[ebp]
	jmp	??1aString@@UAE@XZ
__ehhandler$?Delete@gzSettingsWeaponClass@@UAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?Delete@gzSettingsWeaponClass@@UAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Delete@gzSettingsWeaponClass@@UAEXXZ ENDP		; gzSettingsWeaponClass::Delete
PUBLIC	??_C@_0EL@OBJCIAEE@?$FLWeapon?$FN?5Error?5?9?5Weapon?5Drop?5on?5@ ; `string'
PUBLIC	??_C@_0BD@PKFLMKOH@PedWinMinScoreDiff?$AA@	; `string'
PUBLIC	??_C@_0BF@CBIBKPIK@SoldierBackpack?4?$FL?$CFd?$FN?$AA@ ; `string'
PUBLIC	??_C@_0BA@GIFNEMDB@SoldierBackpack?$AA@		; `string'
PUBLIC	??_C@_07DKOFMFNP@Weapon_?$AA@			; `string'
PUBLIC	??_C@_0P@FMAJBLAP@WeaponBan?4?$FL?$CFd?$FN?$AA@	; `string'
PUBLIC	??_C@_09PNLGLNHG@WeaponBan?$AA@			; `string'
PUBLIC	??_C@_0BB@PPLNLAFK@WeaponLevel?4?$FL?$CFd?$FN?$AA@ ; `string'
PUBLIC	??_C@_0M@BBMGHJFH@WeaponLevel?$AA@		; `string'
PUBLIC	??_C@_0BA@LLLJGKO@WeaponDropDelay?$AA@		; `string'
PUBLIC	??_C@_0CD@DNICEMBP@WeaponCarryOverOnCharacterPurcha@ ; `string'
PUBLIC	??_C@_0BC@BDFFGAMF@DropWeaponOnDeath?$AA@	; `string'
PUBLIC	??_C@_0DE@EBNEKHOO@?$FLPowerupWeapon?$FN?3?5Error?5?9?5?$CFs?5is?5n@ ; `string'
PUBLIC	??_C@_0BD@MHDDIAAK@PowerupWeapon?4?$FL?$CFd?$FN?$AA@ ; `string'
PUBLIC	??_C@_0O@HMJGCPOF@PowerupWeapon?$AA@		; `string'
PUBLIC	??_C@_0N@HMBNAEPP@AllowFlaming?$AA@		; `string'
PUBLIC	??_C@_0P@LOBGMNEG@Team_Proximity?$AA@		; `string'
PUBLIC	??_C@_0L@DLEGEBDJ@Team_Timed?$AA@		; `string'
PUBLIC	??_C@_0M@CADNOHPO@Team_Remote?$AA@		; `string'
PUBLIC	??_C@_0O@MALEDPID@Own_Proximity?$AA@		; `string'
PUBLIC	??_C@_09HCAGJJAE@Own_Timed?$AA@			; `string'
PUBLIC	??_C@_0L@HIBMOLDH@Own_Remote?$AA@		; `string'
PUBLIC	??_C@_09CIODFCAG@Output_PE?$AA@			; `string'
PUBLIC	??_C@_09DBPIGDEH@Output_PD?$AA@			; `string'
PUBLIC	??_C@_09HOLJPFIA@Output_PC?$AA@			; `string'
PUBLIC	??_C@_09CPOKPKNK@Output_TE?$AA@			; `string'
PUBLIC	??_C@_09DGPBMLJL@Output_TD?$AA@			; `string'
PUBLIC	??_C@_09HJLAFNFM@Output_TC?$AA@			; `string'
PUBLIC	??_C@_09CLGHIGGI@Output_RE?$AA@			; `string'
PUBLIC	??_C@_09DCHMLHCJ@Output_RD?$AA@			; `string'
PUBLIC	??_C@_02MJEIOGID@C4?$AA@			; `string'
PUBLIC	??_C@_09HNDNCBOO@Output_RC?$AA@			; `string'
PUBLIC	??_C@_07KCGJGGEL@OwnTime?$AA@			; `string'
PUBLIC	??_C@_0N@NJMIPOJE@BackpackLive?$AA@		; `string'
PUBLIC	__real@41700000
PUBLIC	??_C@_07ECEMPDJM@General?$AA@			; `string'
PUBLIC	??_C@_0M@NJNJMBKN@BeaconLimit?$AA@		; `string'
PUBLIC	??_C@_0DF@OEHPANDG@?$FLError?$FN?5Weapons?4ini?5can?5not?5be?5l@ ; `string'
PUBLIC	??_C@_0M@LCJBPJBK@Weapons?4ini?$AA@		; `string'
EXTRN	?Close@stSettingsBase@@QAEXXZ:PROC		; stSettingsBase::Close
EXTRN	?Contain@aString@@QBE_NABV1@H_N@Z:PROC		; aString::Contain
EXTRN	??4aString@@QAEAAV0@ABV0@@Z:PROC		; aString::operator=
EXTRN	??8aString@@QAE_NABV0@@Z:PROC			; aString::operator==
EXTRN	?Get_Next@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PAV2@KH@Z:PROC ; nc_DefinitionMgrClass::Get_Next
EXTRN	?Get_First@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@KH@Z:PROC ; nc_DefinitionMgrClass::Get_First
EXTRN	?Find_Typed_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PBDK_N@Z:PROC ; nc_DefinitionMgrClass::Find_Typed_Definition
EXTRN	?Open@stSettingsBase@@QAE_NABVaString@@@Z:PROC	; stSettingsBase::Open
;	COMDAT ??_C@_0EL@OBJCIAEE@?$FLWeapon?$FN?5Error?5?9?5Weapon?5Drop?5on?5@
; File d:\source code\stgm\stgame.h
CONST	SEGMENT
??_C@_0EL@OBJCIAEE@?$FLWeapon?$FN?5Error?5?9?5Weapon?5Drop?5on?5@ DB '[We'
	DB	'apon] Error - Weapon Drop on death can not be enabled in %s g'
	DB	'ame mode.', 0aH, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@PKFLMKOH@PedWinMinScoreDiff?$AA@
CONST	SEGMENT
??_C@_0BD@PKFLMKOH@PedWinMinScoreDiff?$AA@ DB 'PedWinMinScoreDiff', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BF@CBIBKPIK@SoldierBackpack?4?$FL?$CFd?$FN?$AA@
CONST	SEGMENT
??_C@_0BF@CBIBKPIK@SoldierBackpack?4?$FL?$CFd?$FN?$AA@ DB 'SoldierBackpac'
	DB	'k.[%d]', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@GIFNEMDB@SoldierBackpack?$AA@
CONST	SEGMENT
??_C@_0BA@GIFNEMDB@SoldierBackpack?$AA@ DB 'SoldierBackpack', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_07DKOFMFNP@Weapon_?$AA@
CONST	SEGMENT
??_C@_07DKOFMFNP@Weapon_?$AA@ DB 'Weapon_', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@FMAJBLAP@WeaponBan?4?$FL?$CFd?$FN?$AA@
CONST	SEGMENT
??_C@_0P@FMAJBLAP@WeaponBan?4?$FL?$CFd?$FN?$AA@ DB 'WeaponBan.[%d]', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_09PNLGLNHG@WeaponBan?$AA@
CONST	SEGMENT
??_C@_09PNLGLNHG@WeaponBan?$AA@ DB 'WeaponBan', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@PPLNLAFK@WeaponLevel?4?$FL?$CFd?$FN?$AA@
CONST	SEGMENT
??_C@_0BB@PPLNLAFK@WeaponLevel?4?$FL?$CFd?$FN?$AA@ DB 'WeaponLevel.[%d]', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@BBMGHJFH@WeaponLevel?$AA@
CONST	SEGMENT
??_C@_0M@BBMGHJFH@WeaponLevel?$AA@ DB 'WeaponLevel', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@LLLJGKO@WeaponDropDelay?$AA@
CONST	SEGMENT
??_C@_0BA@LLLJGKO@WeaponDropDelay?$AA@ DB 'WeaponDropDelay', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CD@DNICEMBP@WeaponCarryOverOnCharacterPurcha@
CONST	SEGMENT
??_C@_0CD@DNICEMBP@WeaponCarryOverOnCharacterPurcha@ DB 'WeaponCarryOverO'
	DB	'nCharacterPurchase', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@BDFFGAMF@DropWeaponOnDeath?$AA@
CONST	SEGMENT
??_C@_0BC@BDFFGAMF@DropWeaponOnDeath?$AA@ DB 'DropWeaponOnDeath', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DE@EBNEKHOO@?$FLPowerupWeapon?$FN?3?5Error?5?9?5?$CFs?5is?5n@
CONST	SEGMENT
??_C@_0DE@EBNEKHOO@?$FLPowerupWeapon?$FN?3?5Error?5?9?5?$CFs?5is?5n@ DB '['
	DB	'PowerupWeapon]: Error - %s is not a valid weapon.', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@MHDDIAAK@PowerupWeapon?4?$FL?$CFd?$FN?$AA@
CONST	SEGMENT
??_C@_0BD@MHDDIAAK@PowerupWeapon?4?$FL?$CFd?$FN?$AA@ DB 'PowerupWeapon.[%'
	DB	'd]', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@HMJGCPOF@PowerupWeapon?$AA@
CONST	SEGMENT
??_C@_0O@HMJGCPOF@PowerupWeapon?$AA@ DB 'PowerupWeapon', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@HMBNAEPP@AllowFlaming?$AA@
CONST	SEGMENT
??_C@_0N@HMBNAEPP@AllowFlaming?$AA@ DB 'AllowFlaming', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@LOBGMNEG@Team_Proximity?$AA@
CONST	SEGMENT
??_C@_0P@LOBGMNEG@Team_Proximity?$AA@ DB 'Team_Proximity', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@DLEGEBDJ@Team_Timed?$AA@
CONST	SEGMENT
??_C@_0L@DLEGEBDJ@Team_Timed?$AA@ DB 'Team_Timed', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@CADNOHPO@Team_Remote?$AA@
CONST	SEGMENT
??_C@_0M@CADNOHPO@Team_Remote?$AA@ DB 'Team_Remote', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@MALEDPID@Own_Proximity?$AA@
CONST	SEGMENT
??_C@_0O@MALEDPID@Own_Proximity?$AA@ DB 'Own_Proximity', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_09HCAGJJAE@Own_Timed?$AA@
CONST	SEGMENT
??_C@_09HCAGJJAE@Own_Timed?$AA@ DB 'Own_Timed', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@HIBMOLDH@Own_Remote?$AA@
CONST	SEGMENT
??_C@_0L@HIBMOLDH@Own_Remote?$AA@ DB 'Own_Remote', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_09CIODFCAG@Output_PE?$AA@
CONST	SEGMENT
??_C@_09CIODFCAG@Output_PE?$AA@ DB 'Output_PE', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_09DBPIGDEH@Output_PD?$AA@
CONST	SEGMENT
??_C@_09DBPIGDEH@Output_PD?$AA@ DB 'Output_PD', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_09HOLJPFIA@Output_PC?$AA@
CONST	SEGMENT
??_C@_09HOLJPFIA@Output_PC?$AA@ DB 'Output_PC', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_09CPOKPKNK@Output_TE?$AA@
CONST	SEGMENT
??_C@_09CPOKPKNK@Output_TE?$AA@ DB 'Output_TE', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_09DGPBMLJL@Output_TD?$AA@
CONST	SEGMENT
??_C@_09DGPBMLJL@Output_TD?$AA@ DB 'Output_TD', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_09HJLAFNFM@Output_TC?$AA@
CONST	SEGMENT
??_C@_09HJLAFNFM@Output_TC?$AA@ DB 'Output_TC', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_09CLGHIGGI@Output_RE?$AA@
CONST	SEGMENT
??_C@_09CLGHIGGI@Output_RE?$AA@ DB 'Output_RE', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_09DCHMLHCJ@Output_RD?$AA@
CONST	SEGMENT
??_C@_09DCHMLHCJ@Output_RD?$AA@ DB 'Output_RD', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_02MJEIOGID@C4?$AA@
CONST	SEGMENT
??_C@_02MJEIOGID@C4?$AA@ DB 'C4', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_09HNDNCBOO@Output_RC?$AA@
CONST	SEGMENT
??_C@_09HNDNCBOO@Output_RC?$AA@ DB 'Output_RC', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_07KCGJGGEL@OwnTime?$AA@
CONST	SEGMENT
??_C@_07KCGJGGEL@OwnTime?$AA@ DB 'OwnTime', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@NJMIPOJE@BackpackLive?$AA@
CONST	SEGMENT
??_C@_0N@NJMIPOJE@BackpackLive?$AA@ DB 'BackpackLive', 00H ; `string'
CONST	ENDS
;	COMDAT __real@41700000
CONST	SEGMENT
__real@41700000 DD 041700000r			; 15
CONST	ENDS
;	COMDAT ??_C@_07ECEMPDJM@General?$AA@
CONST	SEGMENT
??_C@_07ECEMPDJM@General?$AA@ DB 'General', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@NJNJMBKN@BeaconLimit?$AA@
CONST	SEGMENT
??_C@_0M@NJNJMBKN@BeaconLimit?$AA@ DB 'BeaconLimit', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DF@OEHPANDG@?$FLError?$FN?5Weapons?4ini?5can?5not?5be?5l@
CONST	SEGMENT
??_C@_0DF@OEHPANDG@?$FLError?$FN?5Weapons?4ini?5can?5not?5be?5l@ DB '[Err'
	DB	'or] Weapons.ini can not be loaded or not found.', 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@LCJBPJBK@Weapons?4ini?$AA@
CONST	SEGMENT
??_C@_0M@LCJBPJBK@Weapons?4ini?$AA@ DB 'Weapons.ini', 00H ; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Load@gzSettingsWeaponClass@@UAEXXZ DD 019930522H
	DD	036H
	DD	FLAT:__unwindtable$?Load@gzSettingsWeaponClass@@UAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?Load@gzSettingsWeaponClass@@UAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$3
	DD	03H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$4
	DD	02H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$4
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$4
	DD	06H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$5
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$6
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$7
	DD	09H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$8
	DD	0aH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$9
	DD	09H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$9
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$9
	DD	0dH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$10
	DD	0eH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$12
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$14
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$15
	DD	011H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$16
	DD	012H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$17
	DD	011H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$17
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$17
	DD	015H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$18
	DD	016H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$19
	DD	017H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$20
	DD	016H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$20
	DD	019H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$21
	DD	019H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$22
	DD	01bH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$23
	DD	019H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$24
	DD	019H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$25
	DD	01eH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$66
	DD	019H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$27
	DD	019H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$68
	DD	019H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$70
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$29
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$30
	DD	024H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$31
	DD	025H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$32
	DD	024H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$32
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$32
	DD	028H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$33
	DD	029H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$34
	DD	029H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$35
	DD	02bH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$36
	DD	029H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$36
	DD	02dH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$37
	DD	02eH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$38
	DD	02dH
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$38
	DD	030H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$39
	DD	031H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$82
	DD	030H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$40
	DD	030H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$41
	DD	030H
	DD	FLAT:__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$42
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
xdata$x	ENDS
;	COMDAT ?Load@gzSettingsWeaponClass@@UAEXXZ
_TEXT	SEGMENT
$T74342 = -160						; size = 4
_data$59607 = -160					; size = 4
$T73878 = -160						; size = 4
$T73863 = -160						; size = 4
$T73856 = -160						; size = 4
$T73851 = -160						; size = 4
$T73849 = -160						; size = 4
_weaponData$59620 = -156				; size = 4
_j$59560 = -156						; size = 4
$T73885 = -152						; size = 8
$T73858 = -152						; size = 8
_weaponLvl$59522 = -152					; size = 8
_powerup$59486 = -152					; size = 8
_i$59592 = -144						; size = 4
_i$59539 = -144						; size = 4
_wls$59533 = -144					; size = 4
_wClass$59553 = -140					; size = 8
_weapon$59516 = -140					; size = 8
$T73842 = -140						; size = 8
$T73884 = -129						; size = 1
$T73897 = -128						; size = 4
$T73889 = -128						; size = 4
_wb$59555 = -128					; size = 4
$T73846 = -128						; size = 8
_preset$59546 = -120					; size = 8
$T73847 = -120						; size = 8
$T73843 = -120						; size = 8
$T73840 = -120						; size = 8
$T74352 = -112						; size = 8
_weaponTok$59612 = -112					; size = 8
_weapon$59492 = -112					; size = 8
$T73886 = -104						; size = 8
_weapons$59551 = -104					; size = 8
$T73848 = -104						; size = 8
$T73844 = -104						; size = 8
$T74300 = -96						; size = 8
_weaponDataTok$59618 = -96				; size = 8
_weapons$59604 = -88					; size = 8
$T73870 = -88						; size = 8
_preset$59599 = -80					; size = 8
$T73861 = -80						; size = 8
$T73894 = -72						; size = 8
$T73859 = -72						; size = 8
$T73903 = -64						; size = 8
$T73869 = -64						; size = 8
$T73902 = -56						; size = 8
$T73872 = -56						; size = 8
$T73887 = -48						; size = 8
$T73876 = -48						; size = 8
$T73895 = -40						; size = 8
$T73874 = -40						; size = 8
$T73860 = -32						; size = 8
$T73904 = -24						; size = 8
__$EHRec$ = -12						; size = 12
?Load@gzSettingsWeaponClass@@UAEXXZ PROC		; gzSettingsWeaponClass::Load, COMDAT
; _this$ = ecx

; 41   : {

	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$?Load@gzSettingsWeaponClass@@UAEXXZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 148				; 00000094H
	push	ebx
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 42   : 	if (!this->Open("Weapons.ini"))

	push	OFFSET ??_C@_0M@LCJBPJBK@Weapons?4ini?$AA@
	lea	ecx, DWORD PTR $T73840[esp+180]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T73840[esp+176]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+188], 0
	call	?Open@stSettingsBase@@QAE_NABVaString@@@Z ; stSettingsBase::Open
	test	al, al
	sete	bl
	or	edi, -1
	lea	ecx, DWORD PTR $T73840[esp+176]
	mov	DWORD PTR __$EHRec$[esp+184], edi
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	SHORT $LN50@Load

; 43   : 		stConsole::Out("[Error] Weapons.ini can not be loaded or not found.\n");

	push	OFFSET ??_C@_0DF@OEHPANDG@?$FLError?$FN?5Weapons?4ini?5can?5not?5be?5l@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 4
$LN50@Load:

; 44   : 
; 45   : 	this->Delete();

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

; 46   : 
; 47   : 	this->m_BeaconLimit = this->Load_Int("General", "BeaconLimit", 1);

	mov	ebp, 1
	push	ebp
	push	OFFSET ??_C@_0M@NJNJMBKN@BeaconLimit?$AA@
	push	OFFSET ??_C@_07ECEMPDJM@General?$AA@
	mov	ecx, esi
	call	?Load_Int@stSettingsBase@@IAEHPBD0H@Z	; stSettingsBase::Load_Int

; 48   : 	this->Backpack.Live = this->Load_Float("General", "BackpackLive", 15.0f);

	fld	DWORD PTR __real@41700000
	push	ecx
	fstp	DWORD PTR [esp]
	push	OFFSET ??_C@_0N@NJMIPOJE@BackpackLive?$AA@
	push	OFFSET ??_C@_07ECEMPDJM@General?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+24], eax
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	fstp	DWORD PTR [esi+84]

; 49   : 	this->Backpack.OwnTime = this->Load_Float("General", "OwnTime", 5.0f);

	fld	DWORD PTR __real@40a00000
	push	ecx
	fstp	DWORD PTR [esp]
	push	OFFSET ??_C@_07KCGJGGEL@OwnTime?$AA@
	push	OFFSET ??_C@_07ECEMPDJM@General?$AA@
	mov	ecx, esi
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	fstp	DWORD PTR [esi+80]

; 50   : 
; 51   : 	// Remote C4
; 52   : 	this->C4.Output[0][0] = this->Load_Bool("C4", "Output_RC", false);

	push	0
	push	OFFSET ??_C@_09HNDNCBOO@Output_RC?$AA@
	push	OFFSET ??_C@_02MJEIOGID@C4?$AA@
	mov	ecx, esi
	call	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ; stSettingsBase::Load_Bool

; 53   : 	this->C4.Output[0][1] = this->Load_Bool("C4", "Output_RD", false);

	push	0
	push	OFFSET ??_C@_09DCHMLHCJ@Output_RD?$AA@
	push	OFFSET ??_C@_02MJEIOGID@C4?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+28], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ; stSettingsBase::Load_Bool

; 54   : 	this->C4.Output[0][2] = this->Load_Bool("C4", "Output_RE", false);

	push	0
	push	OFFSET ??_C@_09CLGHIGGI@Output_RE?$AA@
	push	OFFSET ??_C@_02MJEIOGID@C4?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+29], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ; stSettingsBase::Load_Bool

; 55   : 
; 56   : 	// Timed C4
; 57   : 	this->C4.Output[1][0] = this->Load_Bool("C4", "Output_TC", false);

	push	0
	push	OFFSET ??_C@_09HJLAFNFM@Output_TC?$AA@
	push	OFFSET ??_C@_02MJEIOGID@C4?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+30], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ; stSettingsBase::Load_Bool

; 58   : 	this->C4.Output[1][1] = this->Load_Bool("C4", "Output_TD", false);

	push	0
	push	OFFSET ??_C@_09DGPBMLJL@Output_TD?$AA@
	push	OFFSET ??_C@_02MJEIOGID@C4?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+31], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ; stSettingsBase::Load_Bool

; 59   : 	this->C4.Output[1][2] = this->Load_Bool("C4", "Output_TE", false);

	push	0
	push	OFFSET ??_C@_09CPOKPKNK@Output_TE?$AA@
	push	OFFSET ??_C@_02MJEIOGID@C4?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+32], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ; stSettingsBase::Load_Bool

; 60   : 
; 61   : 	// Proximity C4
; 62   : 	this->C4.Output[2][0] = this->Load_Bool("C4", "Output_PC", false);

	push	0
	push	OFFSET ??_C@_09HOLJPFIA@Output_PC?$AA@
	push	OFFSET ??_C@_02MJEIOGID@C4?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+33], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ; stSettingsBase::Load_Bool

; 63   : 	this->C4.Output[2][1] = this->Load_Bool("C4", "Output_PD", false);

	push	0
	push	OFFSET ??_C@_09DBPIGDEH@Output_PD?$AA@
	push	OFFSET ??_C@_02MJEIOGID@C4?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+34], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ; stSettingsBase::Load_Bool

; 64   : 	this->C4.Output[2][2] = this->Load_Bool("C4", "Output_PE", false);

	push	0
	push	OFFSET ??_C@_09CIODFCAG@Output_PE?$AA@
	push	OFFSET ??_C@_02MJEIOGID@C4?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+35], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ; stSettingsBase::Load_Bool
	mov	BYTE PTR [esi+36], al

; 65   : 
; 66   : 	// C4 limit
; 67   : 	this->C4.Limit[0] = this->Load_Int("C4", "Own_Remote", -1);

	push	edi
	push	OFFSET ??_C@_0L@HIBMOLDH@Own_Remote?$AA@
	push	OFFSET ??_C@_02MJEIOGID@C4?$AA@
	mov	ecx, esi
	call	?Load_Int@stSettingsBase@@IAEHPBD0H@Z	; stSettingsBase::Load_Int

; 68   : 	this->C4.Limit[1] = this->Load_Int("C4", "Own_Timed", 5);

	push	5
	push	OFFSET ??_C@_09HCAGJJAE@Own_Timed?$AA@
	push	OFFSET ??_C@_02MJEIOGID@C4?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+40], eax
	call	?Load_Int@stSettingsBase@@IAEHPBD0H@Z	; stSettingsBase::Load_Int

; 69   : 	this->C4.Limit[2] = this->Load_Int("C4", "Own_Proximity", -1);

	push	edi
	push	OFFSET ??_C@_0O@MALEDPID@Own_Proximity?$AA@
	push	OFFSET ??_C@_02MJEIOGID@C4?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+44], eax
	call	?Load_Int@stSettingsBase@@IAEHPBD0H@Z	; stSettingsBase::Load_Int

; 70   : 	this->C4.TeamLimit[0][0] = this->Load_Int("C4", "Team_Remote", 20);

	push	20					; 00000014H
	push	OFFSET ??_C@_0M@CADNOHPO@Team_Remote?$AA@
	push	OFFSET ??_C@_02MJEIOGID@C4?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+48], eax
	call	?Load_Int@stSettingsBase@@IAEHPBD0H@Z	; stSettingsBase::Load_Int

; 71   : 	this->C4.TeamLimit[0][1] = this->Load_Int("C4", "Team_Timed", -1);

	push	edi
	push	OFFSET ??_C@_0L@DLEGEBDJ@Team_Timed?$AA@
	push	OFFSET ??_C@_02MJEIOGID@C4?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+52], eax
	call	?Load_Int@stSettingsBase@@IAEHPBD0H@Z	; stSettingsBase::Load_Int

; 72   : 	this->C4.TeamLimit[0][2] = this->Load_Int("C4", "Team_Proximity", 30);

	push	30					; 0000001eH
	push	OFFSET ??_C@_0P@LOBGMNEG@Team_Proximity?$AA@
	push	OFFSET ??_C@_02MJEIOGID@C4?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+56], eax
	call	?Load_Int@stSettingsBase@@IAEHPBD0H@Z	; stSettingsBase::Load_Int

; 73   : 	this->C4.TeamLimit[1][0] = this->C4.TeamLimit[0][0];

	mov	ecx, DWORD PTR [esi+52]

; 74   : 	this->C4.TeamLimit[1][1] = this->C4.TeamLimit[0][1];

	mov	edx, DWORD PTR [esi+56]

; 75   : 	this->C4.TeamLimit[1][2] = this->C4.TeamLimit[0][2];
; 76   : 
; 77   : 	this->C4.CanFlaming = this->Load_Bool("C4", "AllowFlaming", false);

	push	0
	push	OFFSET ??_C@_0N@HMBNAEPP@AllowFlaming?$AA@
	mov	DWORD PTR [esi+64], ecx
	push	OFFSET ??_C@_02MJEIOGID@C4?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+60], eax
	mov	DWORD PTR [esi+68], edx
	mov	DWORD PTR [esi+72], eax
	call	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ; stSettingsBase::Load_Bool

; 78   : 
; 79   : 	// Powerup weapon
; 80   : 	for (int i = 1; i <= this->m_cfg->GetSubCount("PowerupWeapon"); i++)

	push	OFFSET ??_C@_0O@HMJGCPOF@PowerupWeapon?$AA@
	lea	ecx, DWORD PTR $T73842[esp+180]
	mov	BYTE PTR [esi+76], al
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+32]
	lea	edx, DWORD PTR $T73842[esp+176]
	push	edx
	mov	DWORD PTR __$EHRec$[esp+188], ebp
	call	eax
	cmp	eax, ebp
	lea	ecx, DWORD PTR $T73842[esp+176]
	setge	bl
	mov	DWORD PTR __$EHRec$[esp+184], edi
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN47@Load
$LL49@Load:

; 81   : 	{
; 82   : 		aString powerup = this->m_cfg->GetItem(aString::Format("PowerupWeapon.[%d]", i), "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	lea	ecx, DWORD PTR $T73843[esp+180]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	ebp
	lea	ecx, DWORD PTR $T73844[esp+180]
	push	OFFSET ??_C@_0BD@MHDDIAAK@PowerupWeapon?4?$FL?$CFd?$FN?$AA@
	push	ecx
	mov	DWORD PTR __$EHRec$[esp+196], 2
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+20]
	lea	ebx, DWORD PTR $T73843[esp+176]
	push	ebx
	push	eax
	lea	eax, DWORD PTR _powerup$59486[esp+184]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+196], 3
	call	edx
	lea	ecx, DWORD PTR $T73844[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 5
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, ebx
	mov	BYTE PTR __$EHRec$[esp+184], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 83   : 		if (*powerup.GetString() != '\n' && this->Load_Int("PowerupWeapon", powerup.GetString(), -1) != -1)

	mov	eax, DWORD PTR _powerup$59486[esp+180]
	test	eax, eax
	je	SHORT $LN130@Load
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN131@Load
$LN130@Load:
	xor	ecx, ecx
$LN131@Load:
	cmp	BYTE PTR [ecx], 10			; 0000000aH
	je	$LN46@Load
	test	eax, eax
	je	SHORT $LN136@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN137@Load
$LN136@Load:
	xor	eax, eax
$LN137@Load:
	push	edi
	push	eax
	push	OFFSET ??_C@_0O@HMJGCPOF@PowerupWeapon?$AA@
	mov	ecx, esi
	call	?Load_Int@stSettingsBase@@IAEHPBD0H@Z	; stSettingsBase::Load_Int
	cmp	eax, edi
	je	$LN46@Load

; 84   : 		{
; 85   : 			aString weapon = this->Load_String("PowerupWeapon", powerup.GetString(), "");

	mov	eax, DWORD PTR _powerup$59486[esp+180]
	test	eax, eax
	je	SHORT $LN142@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN143@Load
$LN142@Load:
	xor	eax, eax
$LN143@Load:
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	eax
	push	OFFSET ??_C@_0O@HMJGCPOF@PowerupWeapon?$AA@
	lea	eax, DWORD PTR _weapon$59492[esp+188]
	push	eax
	mov	ecx, esi
	call	?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z ; stSettingsBase::Load_String

; 86   : 			nc_WeaponDefinitionClass *weaponDef = gzStatic_Cast(nc_WeaponDefinitionClass, nc_DefinitionMgrClass::Find_Typed_Definition(weapon.GetString(), 0xB001, true));

	mov	eax, DWORD PTR _weapon$59492[esp+180]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+184], 7
	je	SHORT $LN148@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN149@Load
$LN148@Load:
	xor	eax, eax
$LN149@Load:
	push	1
	push	45057					; 0000b001H
	push	eax
	call	?Find_Typed_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PBDK_N@Z ; nc_DefinitionMgrClass::Find_Typed_Definition
	mov	ebx, eax
	add	esp, 12					; 0000000cH

; 87   : 			if (weaponDef)

	test	ebx, ebx
	je	SHORT $LN45@Load

; 88   : 			{
; 89   : 				for (nc_DefinitionClass *Definition = nc_DefinitionMgrClass::Get_First(0x3003, true); Definition != NULL; Definition = nc_DefinitionMgrClass::Get_Next(Definition, 0x3003, true))

	push	1
	push	12291					; 00003003H
	call	?Get_First@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@KH@Z ; nc_DefinitionMgrClass::Get_First
	mov	edi, eax
	add	esp, 8
	test	edi, edi
	je	SHORT $LN40@Load
$LL44@Load:

; 90   : 				{
; 91   : 					if (powerup == Definition->Get_Name())

	mov	edx, DWORD PTR [edi]
	mov	eax, DWORD PTR [edx+48]
	mov	ecx, edi
	call	eax
	push	eax
	lea	ecx, DWORD PTR _powerup$59486[esp+180]
	call	??8aString@@QAE_NPBD@Z			; aString::operator==
	test	al, al
	jne	SHORT $LN388@Load
	push	1
	push	12291					; 00003003H
	push	edi
	call	?Get_Next@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PAV2@KH@Z ; nc_DefinitionMgrClass::Get_Next
	mov	edi, eax
	add	esp, 12					; 0000000cH
	test	edi, edi
	jne	SHORT $LL44@Load

; 160  : 				{
; 161  : 					if (this->Weapons.Level[k]->Name == wClass.gettok(j,' ').GetData())

	jmp	SHORT $LN40@Load
$LN388@Load:

; 92   : 					{
; 93   : 						nc_PowerUpGameObjDef *pDef = gzStatic_Cast(nc_PowerUpGameObjDef, Definition);
; 94   : 						pDef->GrantWeapon = true;

	mov	BYTE PTR [edi+200], 1

; 95   : 						pDef->GrantWeaponID = weaponDef->Get_ID();

	mov	edx, DWORD PTR [ebx]
	mov	eax, DWORD PTR [edx+36]
	mov	ecx, ebx
	call	eax
	mov	DWORD PTR [edi+196], eax

; 96   : 						break;
; 97   : 					}
; 98   : 				}
; 99   : 			}
; 100  : 			else

	jmp	SHORT $LN40@Load
$LN45@Load:

; 101  : 				stConsole::Out("[PowerupWeapon]: Error - %s is not a valid weapon.\n", weapon.GetString());

	mov	eax, DWORD PTR _weapon$59492[esp+180]
	test	eax, eax
	je	SHORT $LN154@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN155@Load
$LN154@Load:
	xor	eax, eax
$LN155@Load:
	push	eax
	push	OFFSET ??_C@_0DE@EBNEKHOO@?$FLPowerupWeapon?$FN?3?5Error?5?9?5?$CFs?5is?5n@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 8
$LN40@Load:

; 102  : 		}

	lea	ecx, DWORD PTR _weapon$59492[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 6
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	or	edi, -1
$LN46@Load:

; 103  : 	}

	lea	ecx, DWORD PTR _powerup$59486[esp+176]
	mov	DWORD PTR __$EHRec$[esp+184], edi
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	OFFSET ??_C@_0O@HMJGCPOF@PowerupWeapon?$AA@
	lea	ecx, DWORD PTR $T73842[esp+180]
	add	ebp, 1
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+32]
	lea	eax, DWORD PTR $T73842[esp+176]
	push	eax
	mov	DWORD PTR __$EHRec$[esp+188], 1
	call	edx
	cmp	ebp, eax
	lea	ecx, DWORD PTR $T73842[esp+176]
	setle	bl
	mov	DWORD PTR __$EHRec$[esp+184], edi
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	$LL49@Load
$LN47@Load:

; 104  : 
; 105  : 	// Weapon settings
; 106  : 	this->Weapons.DropOnDeath					= this->Load_Bool("General", "DropWeaponOnDeath", true);

	push	1
	push	OFFSET ??_C@_0BC@BDFFGAMF@DropWeaponOnDeath?$AA@
	push	OFFSET ??_C@_07ECEMPDJM@General?$AA@
	mov	ecx, esi
	call	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ; stSettingsBase::Load_Bool

; 107  : 	this->Weapons.CarryOverOnCharacterPurchase	= this->Load_Bool("General", "WeaponCarryOverOnCharacterPurchase", true);

	push	1
	push	OFFSET ??_C@_0CD@DNICEMBP@WeaponCarryOverOnCharacterPurcha@
	push	OFFSET ??_C@_07ECEMPDJM@General?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+137], al
	call	?Load_Bool@stSettingsBase@@IAE_NPBD0_N@Z ; stSettingsBase::Load_Bool

; 108  : 	this->Weapons.DropDelay						= this->Load_Float("General", "WeaponDropDelay", 5.0f);

	fld	DWORD PTR __real@40a00000
	push	ecx
	fstp	DWORD PTR [esp]
	push	OFFSET ??_C@_0BA@LLLJGKO@WeaponDropDelay?$AA@
	push	OFFSET ??_C@_07ECEMPDJM@General?$AA@
	mov	ecx, esi
	mov	BYTE PTR [esi+136], al
	call	?Load_Float@stSettingsBase@@IAEMPBD0M@Z	; stSettingsBase::Load_Float
	fstp	DWORD PTR [esi+140]

; 109  : 
; 110  : 	// Weapon levels
; 111  : 	for (int i = 1; i <= this->m_cfg->GetSubCount("WeaponLevel"); i++)

	push	OFFSET ??_C@_0M@BBMGHJFH@WeaponLevel?$AA@
	lea	ecx, DWORD PTR $T73846[esp+180]
	mov	ebp, 1
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+32]
	lea	edx, DWORD PTR $T73846[esp+176]
	push	edx
	mov	DWORD PTR __$EHRec$[esp+188], 8
	call	eax
	cmp	eax, ebp
	lea	ecx, DWORD PTR $T73846[esp+176]
	setge	bl
	mov	DWORD PTR __$EHRec$[esp+184], edi
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN37@Load
$LN39@Load:

; 112  : 	{
; 113  : 		aString weapon = this->m_cfg->GetItem(aString::Format("WeaponLevel.[%d]", i), "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	lea	ecx, DWORD PTR $T73847[esp+180]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	ebp
	lea	ecx, DWORD PTR $T73848[esp+180]
	push	OFFSET ??_C@_0BB@PPLNLAFK@WeaponLevel?4?$FL?$CFd?$FN?$AA@
	push	ecx
	mov	DWORD PTR __$EHRec$[esp+196], 9
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+20]
	lea	ebx, DWORD PTR $T73847[esp+176]
	push	ebx
	push	eax
	lea	eax, DWORD PTR _weapon$59516[esp+184]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+196], 10		; 0000000aH
	call	edx
	lea	ecx, DWORD PTR $T73848[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 12		; 0000000cH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, ebx
	mov	BYTE PTR __$EHRec$[esp+184], 13		; 0000000dH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 114  : 		if (*weapon.GetString() != '\n' && this->Load_Int("WeaponLevel", weapon.GetString(), -1) != -1)

	mov	eax, DWORD PTR _weapon$59516[esp+180]
	test	eax, eax
	je	SHORT $LN175@Load
	mov	ecx, DWORD PTR [eax]
	jmp	SHORT $LN176@Load
$LN175@Load:
	xor	ecx, ecx
$LN176@Load:
	cmp	BYTE PTR [ecx], 10			; 0000000aH
	je	$LN36@Load
	test	eax, eax
	je	SHORT $LN181@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN182@Load
$LN181@Load:
	xor	eax, eax
$LN182@Load:
	push	edi
	push	eax
	push	OFFSET ??_C@_0M@BBMGHJFH@WeaponLevel?$AA@
	mov	ecx, esi
	call	?Load_Int@stSettingsBase@@IAEHPBD0H@Z	; stSettingsBase::Load_Int
	cmp	eax, edi
	je	$LN36@Load

; 115  : 		{
; 116  : 			aString weaponLvl = this->Load_String("WeaponLevel", weapon.GetString(), "");

	mov	eax, DWORD PTR _weapon$59516[esp+180]
	test	eax, eax
	je	SHORT $LN187@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN188@Load
$LN187@Load:
	xor	eax, eax
$LN188@Load:
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	eax
	push	OFFSET ??_C@_0M@BBMGHJFH@WeaponLevel?$AA@
	lea	eax, DWORD PTR _weaponLvl$59522[esp+188]
	push	eax
	mov	ecx, esi
	call	?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z ; stSettingsBase::Load_String

; 117  : 			if (!weaponLvl.IsEmpty())

	mov	eax, DWORD PTR _weaponLvl$59522[esp+180]
	test	eax, eax
	mov	BYTE PTR __$EHRec$[esp+184], 14		; 0000000eH
	je	$LN30@Load
	cmp	DWORD PTR [eax+4], 0
	je	$LN30@Load
	cmp	DWORD PTR [eax], 0
	je	$LN30@Load

; 118  : 			{
; 119  : 				bool Found = false;
; 120  : 				for (unsigned int j = 0; j < this->Weapons.Level.Count(); j++)

	xor	ebx, ebx
	xor	edi, edi
	cmp	DWORD PTR [esi+132], ebx
	jbe	SHORT $LN402@Load
	npad	6
$LL34@Load:
	mov	ecx, DWORD PTR [esi+124]
	lea	eax, DWORD PTR [ecx+edi*4]

; 121  : 				{
; 122  : 					if (this->Weapons.Level[j]->Name == weaponLvl)

	mov	ecx, DWORD PTR [eax]
	lea	edx, DWORD PTR _weaponLvl$59522[esp+176]
	push	edx
	call	??8aString@@QAE_NABV0@@Z		; aString::operator==
	test	al, al
	jne	SHORT $LN389@Load
	add	edi, 1
	cmp	edi, DWORD PTR [esi+132]
	jb	SHORT $LL34@Load
$LN402@Load:

; 130  : 				{
; 131  : 					gzWeaponLevelStruct *wls = new gzWeaponLevelStruct;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	131					; 00000083H
	push	OFFSET ??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	24					; 00000018H
	call	??2@YAPAXI@Z				; operator new
	mov	edi, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73851[esp+176], edi
	cmp	edi, ebx
	mov	BYTE PTR __$EHRec$[esp+184], 15		; 0000000fH
	je	SHORT $LN53@Load
	mov	ecx, edi
	call	??0aString@@QAE@XZ			; aString::aString
	mov	DWORD PTR [edi+12], ebx
	mov	DWORD PTR [edi+16], ebx
	mov	DWORD PTR [edi+20], ebx
	mov	DWORD PTR [edi+8], OFFSET ??_7aStringArray@@6B@
	mov	ecx, edi
	jmp	SHORT $LN54@Load
$LN389@Load:

; 123  : 					{
; 124  : 						this->Weapons.Level[j]->Weapons.Add(weapon);

	sub	esp, 8
	mov	ebx, esp
	lea	eax, DWORD PTR _weapon$59516[esp+184]
	mov	DWORD PTR $T73849[esp+184], esp
	push	eax
	mov	ecx, ebx
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	DWORD PTR [ebx], OFFSET ??_7aString@@6B@
	mov	ecx, DWORD PTR [esi+124]
	lea	eax, DWORD PTR [ecx+edi*4]
	mov	ecx, DWORD PTR [eax]
	add	ecx, 8
	call	?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z ; aStringArrayBase<aString>::Add

; 125  : 						Found = true;
; 126  : 						break;
; 127  : 					}
; 128  : 				}
; 129  : 				if (!Found)

	jmp	SHORT $LN30@Load
$LN53@Load:

; 130  : 				{
; 131  : 					gzWeaponLevelStruct *wls = new gzWeaponLevelStruct;

	xor	ecx, ecx
$LN54@Load:

; 132  : 					wls->Name = weaponLvl;

	lea	edx, DWORD PTR _weaponLvl$59522[esp+176]
	push	edx
	mov	BYTE PTR __$EHRec$[esp+188], 14		; 0000000eH
	mov	DWORD PTR _wls$59533[esp+180], ecx
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=

; 133  : 					wls->Weapons.Add(weapon);

	sub	esp, 8
	mov	edi, esp
	lea	eax, DWORD PTR _weapon$59516[esp+184]
	mov	DWORD PTR $T73856[esp+184], esp
	push	eax
	mov	ecx, edi
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	DWORD PTR [edi], OFFSET ??_7aString@@6B@
	mov	ecx, DWORD PTR _wls$59533[esp+184]
	add	ecx, 8
	call	?Add@?$aStringArrayBase@VaString@@@@QAEXVaString@@@Z ; aStringArrayBase<aString>::Add

; 134  : 					this->Weapons.Level.Add(wls);

	mov	edx, DWORD PTR [esi+120]
	mov	edx, DWORD PTR [edx+12]
	lea	ecx, DWORD PTR [esi+120]
	lea	eax, DWORD PTR _wls$59533[esp+176]
	push	eax
	call	edx
$LN30@Load:

; 135  : 				}
; 136  : 			}
; 137  : 		}

	lea	ecx, DWORD PTR _weaponLvl$59522[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 13		; 0000000dH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	or	edi, -1
$LN36@Load:

; 138  : 	}

	lea	ecx, DWORD PTR _weapon$59516[esp+176]
	mov	DWORD PTR __$EHRec$[esp+184], edi
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	OFFSET ??_C@_0M@BBMGHJFH@WeaponLevel?$AA@
	lea	ecx, DWORD PTR $T73846[esp+180]
	add	ebp, 1
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+32]
	lea	edx, DWORD PTR $T73846[esp+176]
	push	edx
	mov	DWORD PTR __$EHRec$[esp+188], 8
	call	eax
	cmp	ebp, eax
	lea	ecx, DWORD PTR $T73846[esp+176]
	setle	bl
	mov	DWORD PTR __$EHRec$[esp+184], edi
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	$LN39@Load
$LN37@Load:

; 139  : 
; 140  : 	// Weapon bans
; 141  : 	for (int i = 1; i <= this->m_cfg->GetSubCount("WeaponBan"); i++)

	push	OFFSET ??_C@_09PNLGLNHG@WeaponBan?$AA@
	lea	ecx, DWORD PTR $T73858[esp+180]
	mov	DWORD PTR _i$59539[esp+180], 1
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+32]
	lea	eax, DWORD PTR $T73858[esp+176]
	push	eax
	mov	DWORD PTR __$EHRec$[esp+188], 16	; 00000010H
	call	edx
	cmp	eax, 1
	lea	ecx, DWORD PTR $T73858[esp+176]
	setge	bl
	mov	DWORD PTR __$EHRec$[esp+184], edi
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN27@Load
$LL29@Load:

; 142  : 	{
; 143  : 		aString preset = this->m_cfg->GetItem(aString::Format("WeaponBan.[%d]", i), "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	lea	ecx, DWORD PTR $T73859[esp+180]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	eax, DWORD PTR _i$59539[esp+176]
	push	eax
	lea	ecx, DWORD PTR $T73860[esp+180]
	push	OFFSET ??_C@_0P@FMAJBLAP@WeaponBan?4?$FL?$CFd?$FN?$AA@
	push	ecx
	mov	DWORD PTR __$EHRec$[esp+196], 17	; 00000011H
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+20]
	lea	edi, DWORD PTR $T73859[esp+176]
	push	edi
	push	eax
	lea	eax, DWORD PTR _preset$59546[esp+184]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+196], 18		; 00000012H
	call	edx
	lea	ecx, DWORD PTR $T73860[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 20		; 00000014H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, edi
	mov	BYTE PTR __$EHRec$[esp+184], 21		; 00000015H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 144  : 		aString weapons = this->Load_String("WeaponBan", preset.GetString(), "");

	mov	eax, DWORD PTR _preset$59546[esp+180]
	xor	ebx, ebx
	cmp	eax, ebx
	je	SHORT $LN238@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN239@Load
$LN238@Load:
	xor	eax, eax
$LN239@Load:
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	eax
	push	OFFSET ??_C@_09PNLGLNHG@WeaponBan?$AA@
	lea	eax, DWORD PTR _weapons$59551[esp+188]
	push	eax
	mov	ecx, esi
	call	?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z ; stSettingsBase::Load_String

; 145  : 		aToken wClass(weapons.GetString());

	mov	eax, DWORD PTR _weapons$59551[esp+180]
	cmp	eax, ebx
	mov	BYTE PTR __$EHRec$[esp+184], 22		; 00000016H
	je	SHORT $LN244@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN245@Load
$LN244@Load:
	xor	eax, eax
$LN245@Load:
	push	eax
	lea	ecx, DWORD PTR $T73861[esp+180]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	ecx, DWORD PTR $T73861[esp+176]
	push	ecx
	lea	ecx, DWORD PTR _wClass$59553[esp+180]
	mov	BYTE PTR __$EHRec$[esp+188], 23		; 00000017H
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T73861[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 25		; 00000019H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 146  : 
; 147  : 		gzWeaponBan *wb = new gzWeaponBan;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	147					; 00000093H
	push	OFFSET ??_C@_0P@ECFCMLJ@?4?2stweapon?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 $T73863[esp+176], edi
	cmp	edi, ebx
	mov	BYTE PTR __$EHRec$[esp+184], 26		; 0000001aH
	je	SHORT $LN57@Load
	mov	ecx, edi
	call	??0aString@@QAE@XZ			; aString::aString
	mov	DWORD PTR [edi+12], ebx
	mov	DWORD PTR [edi+16], ebx
	mov	DWORD PTR [edi+20], ebx
	mov	DWORD PTR [edi+8], OFFSET ??_7aStringArray@@6B@
	jmp	SHORT $LN58@Load
$LN57@Load:
	xor	edi, edi
$LN58@Load:

; 148  : 		wb->WeaponList.Clear();

	lea	ecx, DWORD PTR [edi+8]
	mov	DWORD PTR _wb$59555[esp+176], edi
	mov	edx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [edx+4]
	mov	BYTE PTR __$EHRec$[esp+184], 25		; 00000019H
	call	eax

; 149  : 		wb->Preset = preset;

	lea	ecx, DWORD PTR _preset$59546[esp+176]
	push	ecx
	mov	ecx, DWORD PTR _wb$59555[esp+180]
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=

; 150  : 		for (int j = 1; j <= wClass.numtok(' '); j++)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _wClass$59553[esp+180]
	mov	DWORD PTR _j$59560[esp+180], 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, 1
	jl	$LN24@Load
	npad	2
$LL26@Load:

; 151  : 		{
; 152  : 			if (wClass.gettok(j,' ').GetData().Contain("Weapon_"))

	push	OFFSET ??_C@_07DKOFMFNP@Weapon_?$AA@
	lea	ecx, DWORD PTR $T73870[esp+180]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	edi, DWORD PTR _j$59560[esp+176]
	push	32					; 00000020H
	push	edi
	lea	edx, DWORD PTR $T73869[esp+184]
	push	edx
	lea	ecx, DWORD PTR _wClass$59553[esp+188]
	mov	BYTE PTR __$EHRec$[esp+196], 27		; 0000001bH
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	push	0
	push	-1
	lea	ecx, DWORD PTR $T73870[esp+184]
	push	ecx
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+196], 28		; 0000001cH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	ecx, eax
	call	?Contain@aString@@QBE_NABV1@H_N@Z	; aString::Contain
	lea	ecx, DWORD PTR $T73869[esp+176]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+184], 27		; 0000001bH
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR $T73870[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 25		; 00000019H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN23@Load

; 153  : 			{
; 154  : 				if (nc_DefinitionMgrClass::Find_Named_Definition(wClass.gettok(j,' ').GetData().GetString(), true))

	push	32					; 00000020H
	push	edi
	lea	edx, DWORD PTR $T73872[esp+184]
	push	edx
	lea	ecx, DWORD PTR _wClass$59553[esp+188]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+184], 29		; 0000001dH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	eax, DWORD PTR [eax+4]
	test	eax, eax
	je	SHORT $LN266@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN267@Load
$LN266@Load:
	xor	eax, eax
$LN267@Load:
	push	1
	push	eax
	call	?Find_Named_Definition@nc_DefinitionMgrClass@@SAPAVnc_DefinitionClass@@PBD_N@Z ; nc_DefinitionMgrClass::Find_Named_Definition
	add	esp, 8
	lea	ecx, DWORD PTR $T73872[esp+176]
	mov	edi, eax
	mov	BYTE PTR __$EHRec$[esp+184], 25		; 00000019H
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	test	edi, edi
	je	$LN25@Load

; 155  : 					wb->WeaponList.Add(wClass.gettok(j,' ').GetData());

	mov	eax, DWORD PTR _j$59560[esp+176]
	push	32					; 00000020H
	push	eax
	lea	ecx, DWORD PTR $T73874[esp+184]
	push	ecx
	lea	ecx, DWORD PTR _wClass$59553[esp+188]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+184], 30		; 0000001eH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	lea	ecx, DWORD PTR $T74300[esp+180]
	call	??0aStringBase@@QAE@ABV0@@Z		; aStringBase::aStringBase
	mov	edi, DWORD PTR _wb$59555[esp+176]
	mov	DWORD PTR $T74300[esp+176], OFFSET ??_7aString@@6B@
	add	edi, 8
	mov	ecx, DWORD PTR $T74300[esp+180]
	mov	BYTE PTR __$EHRec$[esp+184], 31		; 0000001fH
	call	?IncRef@aStringData@@QAEXXZ		; aStringData::IncRef
	mov	eax, DWORD PTR [edi+12]
	mov	edx, DWORD PTR [edi]
	mov	edx, DWORD PTR [edx+8]
	mov	ebx, DWORD PTR $T74300[esp+180]
	add	eax, 1
	push	eax
	mov	ecx, edi
	call	edx
	test	al, al
	je	SHORT $LN280@Load
	mov	eax, DWORD PTR [edi+12]
	mov	ecx, DWORD PTR [edi+4]
	mov	DWORD PTR [ecx+eax*4], ebx
	add	DWORD PTR [edi+12], 1
$LN280@Load:
	lea	ecx, DWORD PTR $T74300[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 30		; 0000001eH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	lea	ecx, DWORD PTR $T73874[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 25		; 00000019H
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 156  : 			}
; 157  : 			else

	jmp	$LN25@Load
$LN23@Load:

; 158  : 			{
; 159  : 				for (unsigned int k = 0; k < this->Weapons.Level.Count(); k++)

	xor	edi, edi
	cmp	DWORD PTR [esi+132], edi
	jbe	$LN25@Load
	mov	ebp, DWORD PTR _j$59560[esp+176]
	npad	2
$LL20@Load:

; 160  : 				{
; 161  : 					if (this->Weapons.Level[k]->Name == wClass.gettok(j,' ').GetData())

	push	32					; 00000020H
	push	ebp
	lea	edx, DWORD PTR $T73876[esp+184]
	push	edx
	lea	ecx, DWORD PTR _wClass$59553[esp+188]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, DWORD PTR [esi+124]
	lea	ebx, DWORD PTR [ecx+edi*4]
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+184], 32		; 00000020H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	ecx, DWORD PTR [ebx]
	push	eax
	call	??8aString@@QAE_NABV0@@Z		; aString::operator==
	lea	ecx, DWORD PTR $T73876[esp+176]
	mov	bl, al
	mov	BYTE PTR __$EHRec$[esp+184], 25		; 00000019H
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	test	bl, bl
	jne	SHORT $LN390@Load
	add	edi, 1
	cmp	edi, DWORD PTR [esi+132]
	jb	SHORT $LL20@Load
	jmp	$LN25@Load
$LN390@Load:

; 162  : 					{
; 163  : 						for (unsigned int m = 0; m < this->Weapons.Level[k]->Weapons.Count(); m++)

	mov	edx, DWORD PTR [esi+124]
	lea	ebx, DWORD PTR [edi*4]
	mov	eax, DWORD PTR [ebx+edx]
	xor	ebp, ebp
	cmp	DWORD PTR [eax+20], ebp
	jbe	$LN25@Load
$LL16@Load:

; 164  : 							wb->WeaponList.Add(this->Weapons.Level[k]->Weapons[m]);

	mov	eax, DWORD PTR [esi+124]
	push	ebp
	lea	ecx, DWORD PTR $T74352[esp+180]
	add	eax, ebx
	push	ecx
	mov	ecx, DWORD PTR [eax]
	add	ecx, 8
	call	??A?$aStringArrayBase@VaString@@@@QAE?AVaString@@I@Z ; aStringArrayBase<aString>::operator[]
	mov	edi, DWORD PTR _wb$59555[esp+176]
	add	edi, 8
	mov	ecx, DWORD PTR $T74352[esp+180]
	mov	BYTE PTR __$EHRec$[esp+184], 33		; 00000021H
	call	?IncRef@aStringData@@QAEXXZ		; aStringData::IncRef
	mov	ecx, DWORD PTR [edi+12]
	mov	edx, DWORD PTR $T74352[esp+180]
	mov	eax, DWORD PTR [edi]
	add	ecx, 1
	mov	DWORD PTR $T74342[esp+176], edx
	mov	edx, DWORD PTR [eax+8]
	push	ecx
	mov	ecx, edi
	call	edx
	test	al, al
	je	SHORT $LN303@Load
	mov	eax, DWORD PTR [edi+12]
	mov	ecx, DWORD PTR [edi+4]
	mov	edx, DWORD PTR $T74342[esp+176]
	mov	DWORD PTR [ecx+eax*4], edx
	add	DWORD PTR [edi+12], 1
$LN303@Load:
	lea	ecx, DWORD PTR $T74352[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 25		; 00000019H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	eax, DWORD PTR [esi+124]
	mov	ecx, DWORD PTR [ebx+eax]
	add	ebp, 1
	cmp	ebp, DWORD PTR [ecx+20]
	jb	SHORT $LL16@Load
$LN25@Load:

; 150  : 		for (int j = 1; j <= wClass.numtok(' '); j++)

	mov	edi, DWORD PTR _j$59560[esp+176]
	add	edi, 1
	push	32					; 00000020H
	lea	ecx, DWORD PTR _wClass$59553[esp+180]
	mov	DWORD PTR _j$59560[esp+180], edi
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	edi, eax
	jle	$LL26@Load
$LN24@Load:

; 165  : 						break;
; 166  : 					}
; 167  : 				}
; 168  : 			}
; 169  : 		}
; 170  : 		if (wb->WeaponList.Count() > 0)

	mov	edx, DWORD PTR _wb$59555[esp+176]
	cmp	DWORD PTR [edx+20], 0
	jbe	SHORT $LN13@Load

; 171  : 			this->Weapons.Ban.Add(wb);

	mov	eax, DWORD PTR [esi+104]
	mov	eax, DWORD PTR [eax+12]
	lea	ecx, DWORD PTR [esi+104]
	lea	edx, DWORD PTR _wb$59555[esp+176]
	push	edx
	call	eax

; 172  : 		else

	jmp	SHORT $LN61@Load
$LN13@Load:

; 173  : 			delete wb;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	173					; 000000adH
	push	OFFSET ??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR _wb$59555[esp+188]
	add	esp, 12					; 0000000cH
	test	eax, eax
	mov	edi, eax
	mov	DWORD PTR $T73878[esp+176], edi
	je	SHORT $LN61@Load
	lea	ecx, DWORD PTR [eax+8]
	mov	BYTE PTR __$EHRec$[esp+184], 34		; 00000022H
	call	??1?$aStringArrayBase@VaString@@@@UAE@XZ ; aStringArrayBase<aString>::~aStringArrayBase<aString>
	mov	ecx, edi
	mov	BYTE PTR __$EHRec$[esp+184], 25		; 00000019H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	push	edi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN61@Load:

; 174  : 	}

	lea	ecx, DWORD PTR _wClass$59553[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 22		; 00000016H
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	lea	ecx, DWORD PTR _weapons$59551[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 21		; 00000015H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	or	ebp, -1
	lea	ecx, DWORD PTR _preset$59546[esp+176]
	mov	DWORD PTR __$EHRec$[esp+184], ebp
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	edi, DWORD PTR _i$59539[esp+176]
	add	edi, 1
	push	OFFSET ??_C@_09PNLGLNHG@WeaponBan?$AA@
	lea	ecx, DWORD PTR $T73858[esp+180]
	mov	DWORD PTR _i$59539[esp+180], edi
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+32]
	lea	eax, DWORD PTR $T73858[esp+176]
	push	eax
	mov	DWORD PTR __$EHRec$[esp+188], 16	; 00000010H
	call	edx
	cmp	edi, eax
	lea	ecx, DWORD PTR $T73858[esp+176]
	setle	bl
	mov	DWORD PTR __$EHRec$[esp+184], ebp
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	jne	$LL29@Load
$LN27@Load:

; 175  : 
; 176  : 	// Dropped backpack from death soldiers
; 177  : 	for (int i = 1; i <= this->m_cfg->GetSubCount("SoldierBackpack"); i++)

	mov	edi, 1
	push	OFFSET ??_C@_0BA@GIFNEMDB@SoldierBackpack?$AA@
	lea	ecx, DWORD PTR $T73885[esp+180]
	mov	DWORD PTR _i$59592[esp+180], edi
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+32]
	lea	edx, DWORD PTR $T73885[esp+176]
	push	edx
	mov	DWORD PTR __$EHRec$[esp+188], 35	; 00000023H
	call	eax
	cmp	eax, edi
	setge	bl
	or	ebp, -1
	lea	ecx, DWORD PTR $T73885[esp+176]
	mov	DWORD PTR __$EHRec$[esp+184], ebp
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	test	bl, bl
	je	$LN9@Load
	mov	bl, 48					; 00000030H
	npad	5
$LL11@Load:

; 178  : 	{
; 179  : 		aString preset = this->m_cfg->GetItem(aString::Format("SoldierBackpack.[%d]", i), "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	lea	ecx, DWORD PTR $T73886[esp+180]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	push	edi
	lea	ecx, DWORD PTR $T73887[esp+180]
	push	OFFSET ??_C@_0BF@CBIBKPIK@SoldierBackpack?4?$FL?$CFd?$FN?$AA@
	push	ecx
	mov	DWORD PTR __$EHRec$[esp+196], 36	; 00000024H
	call	?Format@aString@@SA?AV1@PBDZZ		; aString::Format
	add	esp, 12					; 0000000cH
	mov	ecx, DWORD PTR [esi+12]
	mov	edx, DWORD PTR [ecx]
	mov	edx, DWORD PTR [edx+20]
	lea	ebp, DWORD PTR $T73886[esp+176]
	push	ebp
	push	eax
	lea	eax, DWORD PTR _preset$59599[esp+184]
	push	eax
	mov	BYTE PTR __$EHRec$[esp+196], 37		; 00000025H
	call	edx
	lea	ecx, DWORD PTR $T73887[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 39		; 00000027H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	mov	ecx, ebp
	mov	BYTE PTR __$EHRec$[esp+184], 40		; 00000028H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 180  : 		aString weapons = this->Load_String("SoldierBackpack", preset.GetString(), "");

	mov	eax, DWORD PTR _preset$59599[esp+180]
	xor	ebp, ebp
	cmp	eax, ebp
	je	SHORT $LN341@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN342@Load
$LN341@Load:
	xor	eax, eax
$LN342@Load:
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	eax
	push	OFFSET ??_C@_0BA@GIFNEMDB@SoldierBackpack?$AA@
	lea	eax, DWORD PTR _weapons$59604[esp+188]
	push	eax
	mov	ecx, esi
	call	?Load_String@stSettingsBase@@IAE?AVaString@@PBD00@Z ; stSettingsBase::Load_String

; 181  : 		if (*weapons.GetString() != '\n')

	mov	eax, DWORD PTR _weapons$59604[esp+180]
	cmp	eax, ebp
	mov	BYTE PTR __$EHRec$[esp+184], 41		; 00000029H
	je	SHORT $LN347@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN348@Load
$LN347@Load:
	xor	eax, eax
$LN348@Load:
	cmp	BYTE PTR [eax], 10			; 0000000aH
	je	$LN8@Load

; 182  : 		{
; 183  : 			gzBackpackSoldierData *data = new gzBackpackSoldierData;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	183					; 000000b7H
	push	OFFSET ??_C@_0P@ECFCMLJ@?4?2stweapon?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 $T73889[esp+176], edi
	cmp	edi, ebp
	mov	BYTE PTR __$EHRec$[esp+184], 42		; 0000002aH
	je	SHORT $LN65@Load
	mov	ecx, edi
	call	??0aString@@QAE@XZ			; aString::aString
	mov	DWORD PTR [edi+8], OFFSET ??_7?$aVector@PAUgzBackpackSoldierPercentData@@@@6B@
	mov	DWORD PTR [edi+12], ebp
	mov	DWORD PTR [edi+16], ebp
	mov	DWORD PTR [edi+20], ebp
	jmp	SHORT $LN66@Load
$LN65@Load:
	xor	edi, edi
$LN66@Load:

; 184  : 			data->preset = preset;

	lea	ecx, DWORD PTR _preset$59599[esp+176]
	push	ecx
	mov	ecx, edi
	mov	BYTE PTR __$EHRec$[esp+188], 41		; 00000029H
	mov	DWORD PTR _data$59607[esp+180], edi
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=

; 185  : 			data->totalpercent = 0;

	mov	edx, DWORD PTR _data$59607[esp+176]
	mov	DWORD PTR [edx+24], ebp

; 186  : 
; 187  : 			aToken weaponTok = weapons.GetString();

	mov	eax, DWORD PTR _weapons$59604[esp+180]
	cmp	eax, ebp
	je	SHORT $LN359@Load
	mov	eax, DWORD PTR [eax]
	jmp	SHORT $LN360@Load
$LN359@Load:
	xor	eax, eax
$LN360@Load:
	push	eax
	lea	ecx, DWORD PTR $T73894[esp+180]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T73894[esp+176]
	push	eax
	lea	ecx, DWORD PTR _weaponTok$59612[esp+180]
	mov	BYTE PTR __$EHRec$[esp+188], 43		; 0000002bH
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T73894[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 45		; 0000002dH
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 188  : 			for (int j = 1; j <= weaponTok.numtok(' '); j++)

	push	32					; 00000020H
	lea	ecx, DWORD PTR _weaponTok$59612[esp+180]
	mov	edi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, edi
	jl	$LN5@Load
$LL7@Load:

; 189  : 			{
; 190  : 				aToken weaponDataTok = weaponTok.gettok(j, ' ').GetData();

	push	32					; 00000020H
	push	edi
	lea	ecx, DWORD PTR $T73895[esp+184]
	push	ecx
	lea	ecx, DWORD PTR _weaponTok$59612[esp+188]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+184], 46		; 0000002eH
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	push	eax
	lea	ecx, DWORD PTR _weaponDataTok$59618[esp+180]
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T73895[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], bl
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 191  : 
; 192  : 				gzBackpackSoldierPercentData* weaponData = new gzBackpackSoldierPercentData;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	192					; 000000c0H
	push	OFFSET ??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	20					; 00000014H
	call	??2@YAPAXI@Z				; operator new
	mov	ebp, eax
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T73897[esp+176], ebp
	test	ebp, ebp
	mov	BYTE PTR __$EHRec$[esp+184], 49		; 00000031H
	je	SHORT $LN69@Load
	mov	ecx, ebp
	call	??0aString@@QAE@XZ			; aString::aString
	lea	ecx, DWORD PTR [ebp+12]
	mov	BYTE PTR __$EHRec$[esp+184], 50		; 00000032H
	call	??0aString@@QAE@XZ			; aString::aString
	jmp	SHORT $LN70@Load
$LN69@Load:
	xor	ebp, ebp
$LN70@Load:

; 193  : 				weaponData->powerup = weaponDataTok.gettok(1, ':').GetData();

	push	58					; 0000003aH
	push	1
	lea	edx, DWORD PTR $T73902[esp+184]
	push	edx
	lea	ecx, DWORD PTR _weaponDataTok$59618[esp+188]
	mov	BYTE PTR __$EHRec$[esp+196], bl
	mov	DWORD PTR _weaponData$59620[esp+188], ebp
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+184], 51		; 00000033H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	ecx, DWORD PTR _weaponData$59620[esp+176]
	push	eax
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T73902[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], bl
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 194  : 				data->totalpercent += (weaponData->percent = weaponDataTok.gettok(2, ':').ToLong());

	push	58					; 0000003aH
	push	2
	lea	eax, DWORD PTR $T73903[esp+184]
	push	eax
	lea	ecx, DWORD PTR _weaponDataTok$59618[esp+188]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+184], 52		; 00000034H
	call	?ToLong@aToken@@QAEJXZ			; aToken::ToLong
	mov	ecx, DWORD PTR _weaponData$59620[esp+176]
	mov	DWORD PTR [ecx+8], eax
	mov	edx, DWORD PTR _weaponData$59620[esp+176]
	mov	ecx, DWORD PTR [edx+8]
	mov	eax, DWORD PTR _data$59607[esp+176]
	add	DWORD PTR [eax+24], ecx
	lea	ecx, DWORD PTR $T73903[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], bl
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 195  : 				weaponData->sound = weaponDataTok.gettok(3, ':').GetData();

	push	58					; 0000003aH
	push	3
	lea	edx, DWORD PTR $T73904[esp+184]
	push	edx
	lea	ecx, DWORD PTR _weaponDataTok$59618[esp+188]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+184], 53		; 00000035H
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	mov	ecx, DWORD PTR _weaponData$59620[esp+176]
	push	eax
	add	ecx, 12					; 0000000cH
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T73904[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], bl
	call	??1aToken@@UAE@XZ			; aToken::~aToken

; 196  : 				data->m_weapons.Add(weaponData);

	mov	ecx, DWORD PTR _data$59607[esp+176]
	mov	eax, DWORD PTR [ecx+8]
	mov	eax, DWORD PTR [eax+12]
	add	ecx, 8
	lea	edx, DWORD PTR _weaponData$59620[esp+176]
	push	edx
	call	eax

; 197  : 			}

	lea	ecx, DWORD PTR _weaponDataTok$59618[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 45		; 0000002dH
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	32					; 00000020H
	lea	ecx, DWORD PTR _weaponTok$59612[esp+180]
	add	edi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	edi, eax
	jle	$LL7@Load
$LN5@Load:

; 198  : 			this->Backpack.DropData.Add(data);

	mov	edx, DWORD PTR [esi+88]
	mov	edx, DWORD PTR [edx+12]
	lea	ecx, DWORD PTR [esi+88]
	lea	eax, DWORD PTR _data$59607[esp+176]
	push	eax
	call	edx

; 199  : 		}

	lea	ecx, DWORD PTR _weaponTok$59612[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 41		; 00000029H
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	mov	edi, DWORD PTR _i$59592[esp+176]
$LN8@Load:

; 200  : 	}

	lea	ecx, DWORD PTR _weapons$59604[esp+176]
	mov	BYTE PTR __$EHRec$[esp+184], 40		; 00000028H
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	or	ebp, -1
	lea	ecx, DWORD PTR _preset$59599[esp+176]
	mov	DWORD PTR __$EHRec$[esp+184], ebp
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	add	edi, 1
	push	OFFSET ??_C@_0BA@GIFNEMDB@SoldierBackpack?$AA@
	lea	ecx, DWORD PTR $T73885[esp+180]
	mov	DWORD PTR _i$59592[esp+180], edi
	call	??0aString@@QAE@PBD@Z			; aString::aString
	mov	ecx, DWORD PTR [esi+12]
	mov	eax, DWORD PTR [ecx]
	mov	eax, DWORD PTR [eax+32]
	lea	edx, DWORD PTR $T73885[esp+176]
	push	edx
	mov	DWORD PTR __$EHRec$[esp+188], 35	; 00000023H
	call	eax
	cmp	edi, eax
	lea	ecx, DWORD PTR $T73885[esp+176]
	setle	BYTE PTR $T73884[esp+176]
	mov	DWORD PTR __$EHRec$[esp+184], ebp
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
	cmp	BYTE PTR $T73884[esp+176], 0
	jne	$LL11@Load
$LN9@Load:

; 201  : 
; 202  : 	this->m_pedWinMinScoreDiff = this->Load_Int("PedWinMinScoreDiff", -1);

	push	1
	push	1
	push	ebp
	push	OFFSET ??_C@_0BD@PKFLMKOH@PedWinMinScoreDiff?$AA@
	mov	ecx, esi
	call	?Load_Int@stSettingsBase@@IAEHPBDH_N1@Z	; stSettingsBase::Load_Int

; 203  : 	this->Close();

	mov	ecx, esi
	mov	DWORD PTR [esi+144], eax
	call	?Close@stSettingsBase@@QAEXXZ		; stSettingsBase::Close

; 204  : 
; 205  : 	// Sniper mode doesn't need weapon drops
; 206  : 	switch (gzGameMgr->m_settings->m_GameMode)

	mov	ecx, DWORD PTR ?gzGameMgr@@3PAVgzGameManager@@A ; gzGameMgr
	mov	edx, DWORD PTR [ecx+72]
	mov	eax, DWORD PTR [edx+24]
	add	eax, -4					; fffffffcH
	cmp	eax, 1
	ja	SHORT $LN1@Load

; 207  : 	{
; 208  : 		case GAMEMODE_SNIPER:
; 209  : 		case GAMEMODE_500SNIP:
; 210  : 		{
; 211  : 			if (this->Weapons.DropOnDeath)

	cmp	BYTE PTR [esi+137], 0
	je	SHORT $LN1@Load

; 212  : 			{
; 213  : 				stConsole::Out("[Weapon] Error - Weapon Drop on death can not be enabled in %s game mode.\n", gzGameMgr->GetGame()->ModeName());

	mov	ecx, DWORD PTR [ecx+40]
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+136]
	call	edx
	push	eax
	push	OFFSET ??_C@_0EL@OBJCIAEE@?$FLWeapon?$FN?5Error?5?9?5Weapon?5Drop?5on?5@
	call	?Out@stConsole@@SAXPBDZZ		; stConsole::Out
	add	esp, 8

; 214  : 				this->Weapons.DropOnDeath = false;

	mov	BYTE PTR [esi+137], 0
$LN1@Load:

; 215  : 			}
; 216  : 		}
; 217  : 	}
; 218  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+176]
	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@gzSettingsWeaponClass@@UAEXXZ$0:
	lea	ecx, DWORD PTR $T73840[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$1:
	lea	ecx, DWORD PTR $T73842[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$2:
	lea	ecx, DWORD PTR $T73843[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$3:
	lea	ecx, DWORD PTR $T73844[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$4:
	lea	ecx, DWORD PTR _powerup$59486[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$5:
	lea	ecx, DWORD PTR _weapon$59492[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$6:
	lea	ecx, DWORD PTR $T73846[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$7:
	lea	ecx, DWORD PTR $T73847[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$8:
	lea	ecx, DWORD PTR $T73848[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$9:
	lea	ecx, DWORD PTR _weapon$59516[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$10:
	lea	ecx, DWORD PTR _weaponLvl$59522[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$12:
	mov	eax, DWORD PTR $T73851[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$14:
	lea	ecx, DWORD PTR $T73858[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$15:
	lea	ecx, DWORD PTR $T73859[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$16:
	lea	ecx, DWORD PTR $T73860[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$17:
	lea	ecx, DWORD PTR _preset$59546[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$18:
	lea	ecx, DWORD PTR _weapons$59551[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$19:
	lea	ecx, DWORD PTR $T73861[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$20:
	lea	ecx, DWORD PTR _wClass$59553[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$21:
	mov	eax, DWORD PTR $T73863[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$22:
	lea	ecx, DWORD PTR $T73870[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$23:
	lea	ecx, DWORD PTR $T73869[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$24:
	lea	ecx, DWORD PTR $T73872[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$25:
	lea	ecx, DWORD PTR $T73874[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$66:
	lea	ecx, DWORD PTR $T74300[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$27:
	lea	ecx, DWORD PTR $T73876[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$68:
	lea	ecx, DWORD PTR $T74352[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$70:
	mov	ecx, DWORD PTR $T73878[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$29:
	lea	ecx, DWORD PTR $T73885[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$30:
	lea	ecx, DWORD PTR $T73886[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$31:
	lea	ecx, DWORD PTR $T73887[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$32:
	lea	ecx, DWORD PTR _preset$59599[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$33:
	lea	ecx, DWORD PTR _weapons$59604[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$34:
	mov	eax, DWORD PTR $T73889[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$35:
	lea	ecx, DWORD PTR $T73894[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$36:
	lea	ecx, DWORD PTR _weaponTok$59612[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$37:
	lea	ecx, DWORD PTR $T73895[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$38:
	lea	ecx, DWORD PTR _weaponDataTok$59618[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$39:
	mov	eax, DWORD PTR $T73897[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$82:
	mov	ecx, DWORD PTR $T73897[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$40:
	lea	ecx, DWORD PTR $T73902[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$41:
	lea	ecx, DWORD PTR $T73903[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$?Load@gzSettingsWeaponClass@@UAEXXZ$42:
	lea	ecx, DWORD PTR $T73904[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__ehhandler$?Load@gzSettingsWeaponClass@@UAEXXZ:
	mov	eax, OFFSET __ehfuncinfo$?Load@gzSettingsWeaponClass@@UAEXXZ
	jmp	___CxxFrameHandler3
text$x	ENDS
?Load@gzSettingsWeaponClass@@UAEXXZ ENDP		; gzSettingsWeaponClass::Load
PUBLIC	??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@ ; `string'
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_C4>::gzChatCommand_Reg<gzChat_C4>
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	??0aWideString@@QAE@ABVaString@@@Z:PROC		; aWideString::aWideString
;	COMDAT ??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@
; File d:\source code\alib\include\avector.h
CONST	SEGMENT
??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?4h?$AA@ DB 'd:\source '
	DB	'code\stgm\stchat.h', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -52						; size = 4
$T74527 = -48						; size = 8
$T74526 = -48						; size = 8
$T74524 = -48						; size = 4
$T74519 = -48						; size = 4
_cmdTok$ = -40						; size = 8
$T74517 = -32						; size = 8
$T74525 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_commands$ = 8						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_C4>::gzChatCommand_Reg<gzChat_C4>, 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	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 40					; 00000028H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[ebp]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+64], edi
	je	$LN37@gzChatComm

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

	push	eax
	lea	ecx, DWORD PTR $T74517[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T74517[esp+64]
	xor	ebx, ebx
	push	eax
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	DWORD PTR __$EHRec$[esp+76], ebx
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T74517[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?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 $T74519[esp+64], esi
	cmp	esi, ebx
	mov	BYTE PTR __$EHRec$[esp+72], 3
	je	SHORT $LN9@gzChatComm
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_C4@@6B@
	mov	ebx, esi
$LN9@gzChatComm:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[ebp]
	mov	DWORD PTR [ebx+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	BYTE PTR __$EHRec$[esp+76], 2
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm
	lea	edi, DWORD PTR [ebx+4]
	npad	3
$LL5@gzChatComm:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T74525[esp+72]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T74524[esp+72], 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 $T74525[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	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+64]
$LN3@gzChatComm:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T74526[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T74526[esp+64]
	push	eax
	lea	ecx, DWORD PTR [ebx+24]
	mov	BYTE PTR __$EHRec$[esp+76], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T74526[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T74527[esp+68]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T74527[esp+64]
	push	ecx
	lea	ecx, DWORD PTR [ebx+32]
	mov	BYTE PTR __$EHRec$[esp+76], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T74527[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	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+12
	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+12
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4], ebx
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+64]
	mov	DWORD PTR __$EHRec$[esp+72], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN37@gzChatComm:
	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	mov	eax, edi
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T74517[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T74519[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T74525[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T74526[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T74527[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_C4>::gzChatCommand_Reg<gzChat_C4>
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_WeaponDrop>::gzChatCommand_Reg<gzChat_WeaponDrop>
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -52						; size = 4
$T74576 = -48						; size = 8
$T74575 = -48						; size = 8
$T74573 = -48						; size = 4
$T74568 = -48						; size = 4
_cmdTok$ = -40						; size = 8
$T74566 = -32						; size = 8
$T74574 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_commands$ = 8						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_WeaponDrop>::gzChatCommand_Reg<gzChat_WeaponDrop>, 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	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 40					; 00000028H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[ebp]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+64], edi
	je	$LN37@gzChatComm@2

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

	push	eax
	lea	ecx, DWORD PTR $T74566[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T74566[esp+64]
	xor	ebx, ebx
	push	eax
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	DWORD PTR __$EHRec$[esp+76], ebx
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T74566[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?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 $T74568[esp+64], esi
	cmp	esi, ebx
	mov	BYTE PTR __$EHRec$[esp+72], 3
	je	SHORT $LN9@gzChatComm@2
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_WeaponDrop@@6B@
	mov	ebx, esi
$LN9@gzChatComm@2:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[ebp]
	mov	DWORD PTR [ebx+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	BYTE PTR __$EHRec$[esp+76], 2
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm@2
	lea	edi, DWORD PTR [ebx+4]
	npad	3
$LL5@gzChatComm@2:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T74574[esp+72]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T74573[esp+72], 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 $T74574[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm@2

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+64]
$LN3@gzChatComm@2:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@2

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T74575[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T74575[esp+64]
	push	eax
	lea	ecx, DWORD PTR [ebx+24]
	mov	BYTE PTR __$EHRec$[esp+76], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T74575[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@2

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T74576[esp+68]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T74576[esp+64]
	push	ecx
	lea	ecx, DWORD PTR [ebx+32]
	mov	BYTE PTR __$EHRec$[esp+76], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T74576[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm@2:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	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@2
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4], ebx
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm@2:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+64]
	mov	DWORD PTR __$EHRec$[esp+72], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN37@gzChatComm@2:
	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	mov	eax, edi
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T74566[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T74568[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T74574[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T74575[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T74576[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_WeaponDrop>::gzChatCommand_Reg<gzChat_WeaponDrop>
PUBLIC	??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_WeaponList>::gzChatCommand_Reg<gzChat_WeaponList>
;	COMDAT xdata$x
; File d:\source code\alib\include\avector.h
xdata$x	SEGMENT
__ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z$5
	DD	02H
	DD	FLAT:__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z$6
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stchat.h
xdata$x	ENDS
;	COMDAT ??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z
_TEXT	SEGMENT
_this$ = -52						; size = 4
$T74625 = -48						; size = 8
$T74624 = -48						; size = 8
$T74622 = -48						; size = 4
$T74617 = -48						; size = 4
_cmdTok$ = -40						; size = 8
$T74615 = -32						; size = 8
$T74623 = -24						; size = 8
__$EHRec$ = -12						; size = 12
_commands$ = 8						; size = 4
_type$ = 12						; size = 4
_keyhook_key$ = 16					; size = 4
_keyhook_param$ = 20					; size = 4
??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z PROC ; gzChatCommand_Reg<gzChat_WeaponList>::gzChatCommand_Reg<gzChat_WeaponList>, 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	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	push	-1
	push	__ehhandler$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 40					; 00000028H

; 124  : 	{
; 125  : 		if (!*commands)

	mov	eax, DWORD PTR _commands$[ebp]
	cmp	BYTE PTR [eax], 0
	push	ebx
	push	esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR _this$[esp+64], edi
	je	$LN37@gzChatComm@3

; 126  : 			return;
; 127  : 		aToken cmdTok(commands);

	push	eax
	lea	ecx, DWORD PTR $T74615[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T74615[esp+64]
	xor	ebx, ebx
	push	eax
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	DWORD PTR __$EHRec$[esp+76], ebx
	call	??0aToken@@QAE@ABVaString@@@Z		; aToken::aToken
	lea	ecx, DWORD PTR $T74615[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 128  : 		gzChatCommandBase *newCmd = new T;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	128					; 00000080H
	push	OFFSET ??_C@_0BN@BHADOCMK@d?3?2source?5code?2stgm?2stchat?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 $T74617[esp+64], esi
	cmp	esi, ebx
	mov	BYTE PTR __$EHRec$[esp+72], 3
	je	SHORT $LN9@gzChatComm@3
	mov	ecx, esi
	call	??0gzChatCommandBase@@QAE@XZ
	mov	DWORD PTR [esi], OFFSET ??_7gzChat_WeaponList@@6B@
	mov	ebx, esi
$LN9@gzChatComm@3:

; 129  : 		newCmd->m_type = type;

	mov	ecx, DWORD PTR _type$[ebp]
	mov	DWORD PTR [ebx+20], ecx

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	mov	BYTE PTR __$EHRec$[esp+76], 2
	mov	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	eax, esi
	jl	SHORT $LN3@gzChatComm@3
	lea	edi, DWORD PTR [ebx+4]
	npad	3
$LL5@gzChatComm@3:

; 131  : 			newCmd->m_commandList.Add(cmdTok.gettok(i, ',').GetData());

	push	44					; 0000002cH
	push	esi
	lea	edx, DWORD PTR $T74623[esp+72]
	push	edx
	lea	ecx, DWORD PTR _cmdTok$[esp+76]
	call	?gettok@aToken@@QAE?AV1@HE@Z		; aToken::gettok
	mov	ecx, eax
	mov	BYTE PTR __$EHRec$[esp+72], 4
	call	?GetData@aToken@@QAEABVaString@@XZ	; aToken::GetData
	sub	esp, 8
	mov	ecx, esp
	mov	DWORD PTR $T74622[esp+72], 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 $T74623[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aToken@@UAE@XZ			; aToken::~aToken
	push	44					; 0000002cH
	lea	ecx, DWORD PTR _cmdTok$[esp+68]
	add	esi, 1
	call	?numtok@aToken@@QAEHE@Z			; aToken::numtok
	cmp	esi, eax
	jle	SHORT $LL5@gzChatComm@3

; 130  : 		for (int i = 1; i <= cmdTok.numtok(','); i++)

	mov	edi, DWORD PTR _this$[esp+64]
$LN3@gzChatComm@3:

; 132  : 		if (keyhook_key)

	mov	eax, DWORD PTR _keyhook_key$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@3

; 133  : 		{
; 134  : 			newCmd->m_keyhook_Key = keyhook_key;

	push	eax
	lea	ecx, DWORD PTR $T74624[esp+68]
	call	??0aString@@QAE@PBD@Z			; aString::aString
	lea	eax, DWORD PTR $T74624[esp+64]
	push	eax
	lea	ecx, DWORD PTR [ebx+24]
	mov	BYTE PTR __$EHRec$[esp+76], 5
	call	??4aString@@QAEAAV0@ABV0@@Z		; aString::operator=
	lea	ecx, DWORD PTR $T74624[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase

; 135  : 			if (keyhook_param)

	mov	eax, DWORD PTR _keyhook_param$[ebp]
	test	eax, eax
	je	SHORT $LN1@gzChatComm@3

; 136  : 				newCmd->m_keyhook_Param = keyhook_param;

	push	eax
	lea	ecx, DWORD PTR $T74625[esp+68]
	call	??0aWideString@@QAE@PB_W@Z		; aWideString::aWideString
	lea	ecx, DWORD PTR $T74625[esp+64]
	push	ecx
	lea	ecx, DWORD PTR [ebx+32]
	mov	BYTE PTR __$EHRec$[esp+76], 6
	call	??4aWideString@@QAEAAV0@ABV0@@Z		; aWideString::operator=
	lea	ecx, DWORD PTR $T74625[esp+64]
	mov	BYTE PTR __$EHRec$[esp+72], 2
	call	??1aStringBase@@UAE@XZ			; aStringBase::~aStringBase
$LN1@gzChatComm@3:

; 137  : 		}
; 138  : 		gzChatManagerClass::m_chatCommandList.Add(newCmd);

	mov	edx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	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@3
	mov	eax, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12
	mov	ecx, DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+4
	mov	DWORD PTR [ecx+eax*4], ebx
	add	DWORD PTR ?m_chatCommandList@gzChatManagerClass@@2V?$aVector@PAVgzChatCommandBase@@@@A+12, 1
$LN32@gzChatComm@3:

; 139  : 	};

	lea	ecx, DWORD PTR _cmdTok$[esp+64]
	mov	DWORD PTR __$EHRec$[esp+72], -1
	call	??1aToken@@UAE@XZ			; aToken::~aToken
$LN37@gzChatComm@3:
	mov	ecx, DWORD PTR __$EHRec$[esp+64]
	mov	eax, edi
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z$0:
	lea	ecx, DWORD PTR $T74615[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z$1:
	lea	ecx, DWORD PTR _cmdTok$[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z$2:
	mov	eax, DWORD PTR $T74617[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z$3:
	lea	ecx, DWORD PTR $T74623[ebp]
	jmp	??1aToken@@UAE@XZ			; aToken::~aToken
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z$5:
	lea	ecx, DWORD PTR $T74624[ebp]
	jmp	??1aString@@UAE@XZ
__unwindfunclet$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z$6:
	lea	ecx, DWORD PTR $T74625[ebp]
	jmp	??1aWideString@@UAE@XZ
__ehhandler$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z:
	mov	eax, OFFSET __ehfuncinfo$??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z ENDP ; gzChatCommand_Reg<gzChat_WeaponList>::gzChatCommand_Reg<gzChat_WeaponList>
PUBLIC	??_C@_06BKHGGHOO@?$CBwlist?$AA@			; `string'
PUBLIC	??_7gzWeaponPackManager@@6BgzManagerEvent@@@	; gzWeaponPackManager::`vftable'
PUBLIC	??_7gzWeaponPackManager@@6BEventHandler@@@	; gzWeaponPackManager::`vftable'
PUBLIC	??0gzWeaponPackManager@@QAE@XZ			; gzWeaponPackManager::gzWeaponPackManager
PUBLIC	??_R4gzWeaponPackManager@@6BEventHandler@@@	; gzWeaponPackManager::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzWeaponPackManager@@@8			; gzWeaponPackManager `RTTI Type Descriptor'
PUBLIC	??_R3gzWeaponPackManager@@8			; gzWeaponPackManager::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzWeaponPackManager@@8			; gzWeaponPackManager::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzWeaponPackManager@@8		; gzWeaponPackManager::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?GetName@gzWeaponPackManager@@UAEPBDXZ		; gzWeaponPackManager::GetName
PUBLIC	??_R4gzWeaponPackManager@@6BgzManagerEvent@@@	; gzWeaponPackManager::`RTTI Complete Object Locator'
PUBLIC	?GetName@gzWeaponPackManager@@WCE@AEPBDXZ	; [thunk]:gzWeaponPackManager::GetName`adjustor{36}'
EXTRN	??_EgzWeaponPackManager@@UAEPAXI@Z:PROC		; gzWeaponPackManager::`vector deleting destructor'
;	COMDAT ??_R4gzWeaponPackManager@@6BgzManagerEvent@@@
; File d:\source code\alib\include\avector.h
rdata$r	SEGMENT
??_R4gzWeaponPackManager@@6BgzManagerEvent@@@ DD 00H	; gzWeaponPackManager::`RTTI Complete Object Locator'
	DD	024H
	DD	00H
	DD	FLAT:??_R0?AVgzWeaponPackManager@@@8
	DD	FLAT:??_R3gzWeaponPackManager@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@gzWeaponPackManager@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzWeaponPackManager@@8 DD FLAT:??_R0?AVgzWeaponPackManager@@@8 ; gzWeaponPackManager::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzWeaponPackManager@@8
rdata$r	ENDS
;	COMDAT ??_R2gzWeaponPackManager@@8
rdata$r	SEGMENT
??_R2gzWeaponPackManager@@8 DD FLAT:??_R1A@?0A@EA@gzWeaponPackManager@@8 ; gzWeaponPackManager::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@EventHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
	DD	FLAT:??_R1CE@?0A@EA@gzManagerEvent@@8
rdata$r	ENDS
;	COMDAT ??_R3gzWeaponPackManager@@8
rdata$r	SEGMENT
??_R3gzWeaponPackManager@@8 DD 00H			; gzWeaponPackManager::`RTTI Class Hierarchy Descriptor'
	DD	01H
	DD	04H
	DD	FLAT:??_R2gzWeaponPackManager@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzWeaponPackManager@@@8
_DATA	SEGMENT
??_R0?AVgzWeaponPackManager@@@8 DD FLAT:??_7type_info@@6B@ ; gzWeaponPackManager `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzWeaponPackManager@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzWeaponPackManager@@6BEventHandler@@@
rdata$r	SEGMENT
??_R4gzWeaponPackManager@@6BEventHandler@@@ DD 00H	; gzWeaponPackManager::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzWeaponPackManager@@@8
	DD	FLAT:??_R3gzWeaponPackManager@@8
rdata$r	ENDS
;	COMDAT ??_C@_06BKHGGHOO@?$CBwlist?$AA@
CONST	SEGMENT
??_C@_06BKHGGHOO@?$CBwlist?$AA@ DB '!wlist', 00H	; `string'
CONST	ENDS
;	COMDAT ??_7gzWeaponPackManager@@6BgzManagerEvent@@@
CONST	SEGMENT
??_7gzWeaponPackManager@@6BgzManagerEvent@@@ DD FLAT:??_R4gzWeaponPackManager@@6BgzManagerEvent@@@ ; gzWeaponPackManager::`vftable'
	DD	FLAT:?GetName@gzWeaponPackManager@@WCE@AEPBDXZ
	DD	FLAT:?ChildObjCreation@gzManagerEvent@@UAEXPAVgzBase@@@Z
	DD	FLAT:?ChildObjDeletion@gzWeaponPackManager@@UAEXPAVgzBase@@@Z
CONST	ENDS
;	COMDAT ??_7gzWeaponPackManager@@6BEventHandler@@@
CONST	SEGMENT
??_7gzWeaponPackManager@@6BEventHandler@@@ DD FLAT:??_R4gzWeaponPackManager@@6BEventHandler@@@ ; gzWeaponPackManager::`vftable'
	DD	FLAT:??_EgzWeaponPackManager@@UAEPAXI@Z
	DD	FLAT:?GetName@gzWeaponPackManager@@UAEPBDXZ
	DD	FLAT:?Delete@gzWeaponPackManager@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@EventHandler@@UAEXXZ
	DD	FLAT:?Level_Ended@gzWeaponPackManager@@UAEXXZ
	DD	FLAT:?Think@EventHandler@@UAEXXZ
	DD	FLAT:?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@EventHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@EventHandler@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@EventHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzWeaponPackManager@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzWeaponPackManager@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzWeaponPackManager@@QAE@XZ$1
__ehfuncinfo$??0gzWeaponPackManager@@QAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0gzWeaponPackManager@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
xdata$x	ENDS
;	COMDAT ??0gzWeaponPackManager@@QAE@XZ
_TEXT	SEGMENT
_gzChat_WeaponList_Reg$ = -17				; size = 1
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzWeaponPackManager@@QAE@XZ PROC			; gzWeaponPackManager::gzWeaponPackManager, COMDAT
; _this$ = ecx

; 640  : {

	push	-1
	push	__ehhandler$??0gzWeaponPackManager@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 8
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+28], esi
	call	??0EventHandler@@QAE@XZ			; EventHandler::EventHandler
	mov	DWORD PTR [esi+36], OFFSET ??_7gzManagerEvent@@6B@
	xor	edi, edi
	mov	DWORD PTR [esi], OFFSET ??_7gzWeaponPackManager@@6BEventHandler@@@
	mov	DWORD PTR [esi+36], OFFSET ??_7gzWeaponPackManager@@6BgzManagerEvent@@@
	mov	DWORD PTR __$EHRec$[esp+36], edi
	mov	DWORD PTR [esi+40], OFFSET ??_7?$aVector@PAVgzWeaponPackClass@@@@6B@
	mov	DWORD PTR [esi+44], edi
	mov	DWORD PTR [esi+48], edi
	mov	DWORD PTR [esi+52], edi

; 641  : 	this->RegisterEvent(EVT_GAME_LEVEL_ENDED);

	push	edi
	push	4097					; 00001001H
	mov	ecx, esi
	mov	BYTE PTR __$EHRec$[esp+44], 1
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 642  : 
; 643  : 	gzChatCommand_Reg<gzChat_WeaponList> gzChat_WeaponList_Reg("!wlist", MSG_ALL | MSG_TEAM);

	push	edi
	push	edi
	push	3
	push	OFFSET ??_C@_06BKHGGHOO@?$CBwlist?$AA@
	lea	ecx, DWORD PTR _gzChat_WeaponList_Reg$[esp+44]
	call	??0?$gzChatCommand_Reg@VgzChat_WeaponList@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_WeaponList>::gzChatCommand_Reg<gzChat_WeaponList>

; 644  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+28]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 20					; 00000014H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzWeaponPackManager@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
__unwindfunclet$??0gzWeaponPackManager@@QAE@XZ$1:
	mov	ecx, DWORD PTR _this$[ebp]
	add	ecx, 40					; 00000028H
	jmp	??1?$aVector@PAVgzWeaponPackClass@@@@UAE@XZ ; aVector<gzWeaponPackClass *>::~aVector<gzWeaponPackClass *>
__ehhandler$??0gzWeaponPackManager@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzWeaponPackManager@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzWeaponPackManager@@QAE@XZ ENDP			; gzWeaponPackManager::gzWeaponPackManager
PUBLIC	??_C@_0BD@JGHKBLAI@gzWeaonPackManager?$AA@	; `string'
;	COMDAT ??_C@_0BD@JGHKBLAI@gzWeaonPackManager?$AA@
; File d:\source code\stgm\stweapon.h
CONST	SEGMENT
??_C@_0BD@JGHKBLAI@gzWeaonPackManager?$AA@ DB 'gzWeaonPackManager', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzWeaponPackManager@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzWeaponPackManager@@UAEPBDXZ PROC		; gzWeaponPackManager::GetName, COMDAT
; _this$ = ecx

; 186  : 		return "gzWeaonPackManager";

	mov	eax, OFFSET ??_C@_0BD@JGHKBLAI@gzWeaonPackManager?$AA@

; 187  : 	}

	ret	0
?GetName@gzWeaponPackManager@@UAEPBDXZ ENDP		; gzWeaponPackManager::GetName
; Function compile flags: /Odtpy
_TEXT	ENDS
;	COMDAT ?GetName@gzWeaponPackManager@@WCE@AEPBDXZ
_TEXT	SEGMENT
?GetName@gzWeaponPackManager@@WCE@AEPBDXZ PROC		; [thunk]:gzWeaponPackManager::GetName`adjustor{36}', COMDAT
	sub	ecx, 36					; 00000024H
	jmp	?GetName@gzWeaponPackManager@@UAEPBDXZ	; gzWeaponPackManager::GetName
?GetName@gzWeaponPackManager@@WCE@AEPBDXZ ENDP		; [thunk]:gzWeaponPackManager::GetName`adjustor{36}'
_TEXT	ENDS
PUBLIC	??1gzWeaponPackManager@@UAE@XZ			; gzWeaponPackManager::~gzWeaponPackManager
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1gzWeaponPackManager@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1gzWeaponPackManager@@UAE@XZ$0
__ehfuncinfo$??1gzWeaponPackManager@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1gzWeaponPackManager@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??1gzWeaponPackManager@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1gzWeaponPackManager@@UAE@XZ PROC			; gzWeaponPackManager::~gzWeaponPackManager, COMDAT
; _this$ = ecx
	push	-1
	push	__ehhandler$??1gzWeaponPackManager@@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
	xor	edi, edi
	cmp	DWORD PTR [esi+44], edi
	mov	DWORD PTR __$EHRec$[esp+32], edi
	mov	DWORD PTR [esi+40], OFFSET ??_7?$aVector@PAVgzWeaponPackClass@@@@6B@
	je	SHORT $LN7@gzWeaponPa@3
	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	73					; 00000049H
	push	OFFSET ??_C@_0CG@EILDPJHO@D?3?2Source?5Code?2aLib?2include?2aVec@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	mov	eax, DWORD PTR [esi+44]
	push	eax
	call	??_V@YAXPAX@Z				; operator delete[]
	add	esp, 16					; 00000010H
	mov	DWORD PTR [esi+44], edi
$LN7@gzWeaponPa@3:
	mov	ecx, esi
	mov	DWORD PTR [esi+48], edi
	mov	DWORD PTR [esi+52], edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	call	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	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$??1gzWeaponPackManager@@UAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
__ehhandler$??1gzWeaponPackManager@@UAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??1gzWeaponPackManager@@UAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??1gzWeaponPackManager@@UAE@XZ ENDP			; gzWeaponPackManager::~gzWeaponPackManager
; Function compile flags: /Ogtpy
;	COMDAT ??_GgzWeaponPackManager@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzWeaponPackManager@@UAEPAXI@Z PROC			; gzWeaponPackManager::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1gzWeaponPackManager@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN4@scalar@29
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@scalar@29:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzWeaponPackManager@@UAEPAXI@Z ENDP			; gzWeaponPackManager::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_C@_06NMEOGDKB@?$CBwdrop?$AA@			; `string'
PUBLIC	??_C@_03DHIOGODG@?$CBc4?$AA@			; `string'
PUBLIC	??_C@_07KGLGPGPB@C4Count?$AA@			; `string'
PUBLIC	??_7gzWeaponManager@@6BgzSettingsEvent@@@	; gzWeaponManager::`vftable'
PUBLIC	??_7gzWeaponManager@@6BEventHandler@@@		; gzWeaponManager::`vftable'
PUBLIC	??0gzWeaponManager@@QAE@XZ			; gzWeaponManager::gzWeaponManager
PUBLIC	??_R4gzWeaponManager@@6BEventHandler@@@		; gzWeaponManager::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVgzWeaponManager@@@8			; gzWeaponManager `RTTI Type Descriptor'
PUBLIC	??_R3gzWeaponManager@@8				; gzWeaponManager::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2gzWeaponManager@@8				; gzWeaponManager::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@gzWeaponManager@@8		; gzWeaponManager::`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@gzWeaponManager@@UAEPBDXZ		; gzWeaponManager::GetName
PUBLIC	?Delete@gzWeaponManager@@UAEXXZ			; gzWeaponManager::Delete
PUBLIC	??_R4gzWeaponManager@@6BgzSettingsEvent@@@	; gzWeaponManager::`RTTI Complete Object Locator'
PUBLIC	?Settings_Loaded@gzWeaponManager@@UAEXXZ	; gzWeaponManager::Settings_Loaded
EXTRN	??_EgzWeaponManager@@UAEPAXI@Z:PROC		; gzWeaponManager::`vector deleting destructor'
;	COMDAT ??_R4gzWeaponManager@@6BgzSettingsEvent@@@
; File d:\source code\stgm\stsetting.h
rdata$r	SEGMENT
??_R4gzWeaponManager@@6BgzSettingsEvent@@@ DD 00H	; gzWeaponManager::`RTTI Complete Object Locator'
	DD	024H
	DD	00H
	DD	FLAT:??_R0?AVgzWeaponManager@@@8
	DD	FLAT:??_R3gzWeaponManager@@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@gzWeaponManager@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@gzWeaponManager@@8 DD FLAT:??_R0?AVgzWeaponManager@@@8 ; gzWeaponManager::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3gzWeaponManager@@8
rdata$r	ENDS
;	COMDAT ??_R2gzWeaponManager@@8
rdata$r	SEGMENT
??_R2gzWeaponManager@@8 DD FLAT:??_R1A@?0A@EA@gzWeaponManager@@8 ; gzWeaponManager::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@EventHandler@@8
	DD	FLAT:??_R1A@?0A@EA@gzBase@@8
	DD	FLAT:??_R1CE@?0A@EA@gzSettingsEvent@@8
rdata$r	ENDS
;	COMDAT ??_R3gzWeaponManager@@8
rdata$r	SEGMENT
??_R3gzWeaponManager@@8 DD 00H				; gzWeaponManager::`RTTI Class Hierarchy Descriptor'
	DD	01H
	DD	04H
	DD	FLAT:??_R2gzWeaponManager@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVgzWeaponManager@@@8
_DATA	SEGMENT
??_R0?AVgzWeaponManager@@@8 DD FLAT:??_7type_info@@6B@	; gzWeaponManager `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVgzWeaponManager@@', 00H
_DATA	ENDS
;	COMDAT ??_R4gzWeaponManager@@6BEventHandler@@@
rdata$r	SEGMENT
??_R4gzWeaponManager@@6BEventHandler@@@ DD 00H		; gzWeaponManager::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVgzWeaponManager@@@8
	DD	FLAT:??_R3gzWeaponManager@@8
rdata$r	ENDS
;	COMDAT ??_C@_06NMEOGDKB@?$CBwdrop?$AA@
CONST	SEGMENT
??_C@_06NMEOGDKB@?$CBwdrop?$AA@ DB '!wdrop', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_03DHIOGODG@?$CBc4?$AA@
CONST	SEGMENT
??_C@_03DHIOGODG@?$CBc4?$AA@ DB '!c4', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07KGLGPGPB@C4Count?$AA@
CONST	SEGMENT
??_C@_07KGLGPGPB@C4Count?$AA@ DB 'C4Count', 00H		; `string'
CONST	ENDS
;	COMDAT ??_7gzWeaponManager@@6BgzSettingsEvent@@@
CONST	SEGMENT
??_7gzWeaponManager@@6BgzSettingsEvent@@@ DD FLAT:??_R4gzWeaponManager@@6BgzSettingsEvent@@@ ; gzWeaponManager::`vftable'
	DD	FLAT:?Settings_Loaded@gzWeaponManager@@UAEXXZ
CONST	ENDS
;	COMDAT ??_7gzWeaponManager@@6BEventHandler@@@
CONST	SEGMENT
??_7gzWeaponManager@@6BEventHandler@@@ DD FLAT:??_R4gzWeaponManager@@6BEventHandler@@@ ; gzWeaponManager::`vftable'
	DD	FLAT:??_EgzWeaponManager@@UAEPAXI@Z
	DD	FLAT:?GetName@gzWeaponManager@@UAEPBDXZ
	DD	FLAT:?Delete@gzWeaponManager@@UAEXXZ
	DD	FLAT:?SetDeletePending@gzBase@@UAEXXZ
	DD	FLAT:?Level_Loaded@EventHandler@@UAEXXZ
	DD	FLAT:?Level_Ended@EventHandler@@UAEXXZ
	DD	FLAT:?Think@EventHandler@@UAEXXZ
	DD	FLAT:?Player_Joined@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Left@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Purchase@EventHandler@@UAEXAAVgzEventPlayerPurchase@@@Z
	DD	FLAT:?Player_BandwidthChange@EventHandler@@UAEXAAVgzEventPlayerBandwidth@@@Z
	DD	FLAT:?Player_Suicide@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_TeamChange@EventHandler@@UAEXAAVgzEventPlayerBase@@@Z
	DD	FLAT:?Player_Chat@EventHandler@@UAEXAAVgzEventPlayerChat@@@Z
	DD	FLAT:?Player_Radio@EventHandler@@UAEXAAVgzEventPlayerRadio@@@Z
	DD	FLAT:?Player_SerialHash@EventHandler@@UAEXAAVgzEventPlayerSerialHash@@@Z
	DD	FLAT:?Player_RawDamage@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Created@EventHandler@@UAEXAAVgzEventObjectCreate@@@Z
	DD	FLAT:?Object_Init@EventHandler@@UAEXAAVgzEventObjectInit@@@Z
	DD	FLAT:?Object_Damaged@EventHandler@@UAEXAAVgzEventObjectDamage@@@Z
	DD	FLAT:?Object_Killed@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_Transition@EventHandler@@UAEXAAVgzEventObjectTransition@@@Z
	DD	FLAT:?Object_JumpStart@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_JumpComplete@EventHandler@@UAEXAAVgzEventObjectJump@@@Z
	DD	FLAT:?Object_SoldierSquished@EventHandler@@UAEXAAVgzEventObjectKill@@@Z
	DD	FLAT:?Object_C4Creation@EventHandler@@UAEXAAVgzEventObjectC4Creation@@@Z
	DD	FLAT:?Object_C4Detonate@gzWeaponManager@@UAEXAAVgzEventObjectC4Detonation@@@Z
	DD	FLAT:?Object_PowerupGrant@EventHandler@@UAEXAAVgzEventObjectPowerupGrant@@@Z
	DD	FLAT:?Object_Fire@EventHandler@@UAEXAAVgzEventObjectFire@@@Z
	DD	FLAT:?Object_FlipKill@EventHandler@@UAEXAAVgzEventObjectFlipKill@@@Z
	DD	FLAT:?Net_WolPage@EventHandler@@UAEXAAVgzEventNetWolPage@@@Z
	DD	FLAT:?Net_SerialAuth@EventHandler@@UAEXAAVgzEventNetSerialAuth@@@Z
	DD	FLAT:?Bhs_Poke@EventHandler@@UAEXAAVgzEventBhsPoke@@@Z
	DD	FLAT:?Bhs_Version@EventHandler@@UAEXAAVgzEventBhsVersion@@@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0gzWeaponManager@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0gzWeaponManager@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzWeaponManager@@QAE@XZ$1
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzWeaponManager@@QAE@XZ$2
	DD	00H
	DD	FLAT:__unwindfunclet$??0gzWeaponManager@@QAE@XZ$3
__ehfuncinfo$??0gzWeaponManager@@QAE@XZ DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$??0gzWeaponManager@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
xdata$x	ENDS
;	COMDAT ??0gzWeaponManager@@QAE@XZ
_TEXT	SEGMENT
_gzChat_WeaponDrop_Reg$ = -21				; size = 1
_gzChat_C4_Reg$ = -21					; size = 1
_this$ = -20						; size = 4
$T74736 = -16						; size = 4
$T74730 = -16						; size = 4
$T74724 = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0gzWeaponManager@@QAE@XZ PROC				; gzWeaponManager::gzWeaponManager, COMDAT
; _this$ = ecx

; 226  : {

	push	-1
	push	__ehhandler$??0gzWeaponManager@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 12					; 0000000cH
	push	ebx
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+36], esi
	call	??0EventHandler@@QAE@XZ			; EventHandler::EventHandler
	lea	edi, DWORD PTR [esi+36]

; 227  : 	this->RegisterEvent(EVT_OBJECT_C4_DETONATE, EVT_PRIORITY_LOWEST);

	push	-2147483648				; 80000000H
	mov	DWORD PTR [edi], OFFSET ??_7gzSettingsEvent@@6B@
	xor	ebx, ebx
	push	12297					; 00003009H
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+52], ebx
	mov	DWORD PTR [esi], OFFSET ??_7gzWeaponManager@@6BEventHandler@@@
	mov	DWORD PTR [edi], OFFSET ??_7gzWeaponManager@@6BgzSettingsEvent@@@
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 228  : 	this->RegisterEvent(EVT_OBJECT_POWERUP_GRANT);

	push	ebx
	push	12304					; 00003010H
	mov	ecx, esi
	call	?RegisterEvent@EventHandler@@QAEXHH@Z	; EventHandler::RegisterEvent

; 229  : 
; 230  : 	gzWeaponPack = new gzWeaponPackManager;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	230					; 000000e6H
	push	OFFSET ??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	60					; 0000003cH
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74724[esp+36], eax
	cmp	eax, ebx
	mov	BYTE PTR __$EHRec$[esp+44], 1
	je	SHORT $LN3@gzWeaponMa
	mov	ecx, eax
	call	??0gzWeaponPackManager@@QAE@XZ		; gzWeaponPackManager::gzWeaponPackManager
	jmp	SHORT $LN4@gzWeaponMa
$LN3@gzWeaponMa:
	xor	eax, eax
$LN4@gzWeaponMa:

; 231  : 	gzBackpackMgr = new gzBackpackManager;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	231					; 000000e7H
	push	OFFSET ??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@
	mov	BYTE PTR __$EHRec$[esp+56], bl
	mov	DWORD PTR ?gzWeaponPack@@3PAVgzWeaponPackManager@@A, eax ; gzWeaponPack
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	56					; 00000038H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74730[esp+36], eax
	cmp	eax, ebx
	mov	BYTE PTR __$EHRec$[esp+44], 2
	je	SHORT $LN7@gzWeaponMa
	mov	ecx, eax
	call	??0gzBackpackManager@@QAE@XZ		; gzBackpackManager::gzBackpackManager
	jmp	SHORT $LN8@gzWeaponMa
$LN7@gzWeaponMa:
	xor	eax, eax
$LN8@gzWeaponMa:

; 232  : 
; 233  : 	this->m_settings = new gzSettingsWeaponClass;

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	233					; 000000e9H
	push	OFFSET ??_C@_0P@ECFCMLJ@?4?2stweapon?4cpp?$AA@
	mov	BYTE PTR __$EHRec$[esp+56], bl
	mov	DWORD PTR ?gzBackpackMgr@@3PAVgzBackpackManager@@A, eax ; gzBackpackMgr
	call	?m_setOwner@@YAXPBDI0@Z			; m_setOwner
	push	152					; 00000098H
	call	??2@YAPAXI@Z				; operator new
	add	esp, 16					; 00000010H
	mov	DWORD PTR $T74736[esp+36], eax
	cmp	eax, ebx
	mov	BYTE PTR __$EHRec$[esp+44], 3
	je	SHORT $LN11@gzWeaponMa
	mov	ecx, eax
	call	??0gzSettingsWeaponClass@@QAE@XZ
	jmp	SHORT $LN12@gzWeaponMa
$LN11@gzWeaponMa:
	xor	eax, eax
$LN12@gzWeaponMa:

; 234  : 	this->m_settings->SetOwner(this);
; 235  : 
; 236  : 	gzChatCommand_Reg<gzChat_C4> gzChat_C4_Reg("!c4", MSG_ALL | MSG_TEAM, "C4Count");

	push	ebx
	push	OFFSET ??_C@_07KGLGPGPB@C4Count?$AA@
	push	3
	mov	DWORD PTR [esi+40], eax
	push	OFFSET ??_C@_03DHIOGODG@?$CBc4?$AA@
	lea	ecx, DWORD PTR _gzChat_C4_Reg$[esp+52]
	mov	BYTE PTR __$EHRec$[esp+60], bl
	mov	DWORD PTR [eax+8], edi
	call	??0?$gzChatCommand_Reg@VgzChat_C4@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_C4>::gzChatCommand_Reg<gzChat_C4>

; 237  : 
; 238  : #if ISDEV()
; 239  : 	gzChatCommand_Reg<gzChat_WeaponDrop> gzChat_WeaponDrop_Reg("!wdrop");

	push	ebx
	push	ebx
	push	3
	push	OFFSET ??_C@_06NMEOGDKB@?$CBwdrop?$AA@
	lea	ecx, DWORD PTR _gzChat_WeaponDrop_Reg$[esp+52]
	call	??0?$gzChatCommand_Reg@VgzChat_WeaponDrop@@@@QAE@PBDH0PB_W@Z ; gzChatCommand_Reg<gzChat_WeaponDrop>::gzChatCommand_Reg<gzChat_WeaponDrop>

; 240  : #endif
; 241  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	DWORD PTR fs:0, ecx
	add	esp, 24					; 00000018H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0gzWeaponManager@@QAE@XZ$0:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
__unwindfunclet$??0gzWeaponManager@@QAE@XZ$1:
	mov	eax, DWORD PTR $T74724[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0gzWeaponManager@@QAE@XZ$2:
	mov	eax, DWORD PTR $T74730[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__unwindfunclet$??0gzWeaponManager@@QAE@XZ$3:
	mov	eax, DWORD PTR $T74736[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$??0gzWeaponManager@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0gzWeaponManager@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0gzWeaponManager@@QAE@XZ ENDP				; gzWeaponManager::gzWeaponManager
PUBLIC	??_C@_0BA@OCDMGEBC@gzWeaponManager?$AA@		; `string'
;	COMDAT ??_C@_0BA@OCDMGEBC@gzWeaponManager?$AA@
; File d:\source code\stgm\stweapon.h
CONST	SEGMENT
??_C@_0BA@OCDMGEBC@gzWeaponManager?$AA@ DB 'gzWeaponManager', 00H ; `string'
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?GetName@gzWeaponManager@@UAEPBDXZ
_TEXT	SEGMENT
?GetName@gzWeaponManager@@UAEPBDXZ PROC			; gzWeaponManager::GetName, COMDAT
; _this$ = ecx

; 63   : 		return "gzWeaponManager";

	mov	eax, OFFSET ??_C@_0BA@OCDMGEBC@gzWeaponManager?$AA@

; 64   : 	};

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

; 66   : 	void Delete() { };

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

; 67   : 	void Settings_Loaded() { };

	ret	0
?Settings_Loaded@gzWeaponManager@@UAEXXZ ENDP		; gzWeaponManager::Settings_Loaded
_TEXT	ENDS
PUBLIC	??1gzWeaponManager@@UAE@XZ			; gzWeaponManager::~gzWeaponManager
; Function compile flags: /Ogtpy
;	COMDAT ??1gzWeaponManager@@UAE@XZ
_TEXT	SEGMENT
??1gzWeaponManager@@UAE@XZ PROC				; gzWeaponManager::~gzWeaponManager, COMDAT
; _this$ = ecx
	jmp	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
??1gzWeaponManager@@UAE@XZ ENDP				; gzWeaponManager::~gzWeaponManager
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GgzWeaponManager@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GgzWeaponManager@@UAEPAXI@Z PROC			; gzWeaponManager::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1EventHandler@@UAE@XZ			; EventHandler::~EventHandler
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar@30
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar@30:
	mov	eax, esi
	pop	esi
	ret	4
??_GgzWeaponManager@@UAEPAXI@Z ENDP			; gzWeaponManager::`scalar deleting destructor'
_TEXT	ENDS
EXTRN	_atexit:PROC
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stinc.h
;	COMDAT ??__EgzCritical@@YAXXZ
text$yc	SEGMENT
??__EgzCritical@@YAXXZ PROC				; `dynamic initializer for 'gzCritical'', COMDAT

; 67   : 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''
text$yc	ENDS
PUBLIC	??_C@_0BB@BBLMKOHC@gzObserverBeacon?$AA@	; `string'
;	COMDAT ??_C@_0BB@BBLMKOHC@gzObserverBeacon?$AA@
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
??_C@_0BB@BBLMKOHC@gzObserverBeacon?$AA@ DB 'gzObserverBeacon', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
CONST	ENDS
;	COMDAT ??__EgzObserverBeacon_Registrant@@YAXXZ
text$yc	SEGMENT
??__EgzObserverBeacon_Registrant@@YAXXZ PROC		; `dynamic initializer for 'gzObserverBeacon_Registrant'', COMDAT

; 1199 : nc_ScriptRegistrant<gzObserverBeacon> gzObserverBeacon_Registrant("gzObserverBeacon", "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0BB@BBLMKOHC@gzObserverBeacon?$AA@
	mov	ecx, OFFSET ?gzObserverBeacon_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverBeacon@@@@A ; gzObserverBeacon_Registrant
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzObserverBeacon_Registrant@@YAXXZ ; `dynamic atexit destructor for 'gzObserverBeacon_Registrant''
	mov	DWORD PTR ?gzObserverBeacon_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverBeacon@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverBeacon@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzObserverBeacon_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'gzObserverBeacon_Registrant''
text$yc	ENDS
PUBLIC	??_C@_0N@HDGPBLNP@gzObserverC4?$AA@		; `string'
;	COMDAT ??_C@_0N@HDGPBLNP@gzObserverC4?$AA@
; File d:\source code\fds lib\new\fds_scripts.h
CONST	SEGMENT
??_C@_0N@HDGPBLNP@gzObserverC4?$AA@ DB 'gzObserverC4', 00H ; `string'
; Function compile flags: /Ogtpy
; File d:\source code\stgm\stweapon.cpp
CONST	ENDS
;	COMDAT ??__EgzObserverC4_Registrant@@YAXXZ
text$yc	SEGMENT
??__EgzObserverC4_Registrant@@YAXXZ PROC		; `dynamic initializer for 'gzObserverC4_Registrant'', COMDAT

; 1387 : nc_ScriptRegistrant<gzObserverC4> gzObserverC4_Registrant("gzObserverC4", "");

	push	OFFSET ??_C@_00CNPNBAHC@?$AA@
	push	OFFSET ??_C@_0N@HDGPBLNP@gzObserverC4?$AA@
	mov	ecx, OFFSET ?gzObserverC4_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverC4@@@@A ; gzObserverC4_Registrant
	call	??0nc_ScriptFactory@@QAE@PAD0@Z		; nc_ScriptFactory::nc_ScriptFactory
	push	OFFSET ??__FgzObserverC4_Registrant@@YAXXZ ; `dynamic atexit destructor for 'gzObserverC4_Registrant''
	mov	DWORD PTR ?gzObserverC4_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverC4@@@@A, OFFSET ??_7?$nc_ScriptRegistrant@VgzObserverC4@@@@6B@
	call	_atexit
	pop	ecx
	ret	0
??__EgzObserverC4_Registrant@@YAXXZ ENDP		; `dynamic initializer for 'gzObserverC4_Registrant''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Eclearweapon@@YAXXZ
text$yc	SEGMENT
??__Eclearweapon@@YAXXZ PROC				; `dynamic initializer for 'clearweapon'', COMDAT

; 1528 : ClearWeaponConsoleFunction clearweapon;

	mov	ecx, OFFSET ?clearweapon@@3VClearWeaponConsoleFunction@@A ; clearweapon
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?clearweapon@@3VClearWeaponConsoleFunction@@A, OFFSET ??_7ClearWeaponConsoleFunction@@6B@ ; clearweapon
	ret	0
??__Eclearweapon@@YAXXZ ENDP				; `dynamic initializer for 'clearweapon''
; Function compile flags: /Ogtpy
text$yc	ENDS
;	COMDAT ??__Egivewep@@YAXXZ
text$yc	SEGMENT
??__Egivewep@@YAXXZ PROC				; `dynamic initializer for 'givewep'', COMDAT

; 1576 : GiveWeaponConsoleFunction givewep;

	mov	ecx, OFFSET ?givewep@@3VGiveWeaponConsoleFunction@@A ; givewep
	call	??0gzConsoleCommand@@QAE@XZ		; gzConsoleCommand::gzConsoleCommand
	mov	DWORD PTR ?givewep@@3VGiveWeaponConsoleFunction@@A, OFFSET ??_7GiveWeaponConsoleFunction@@6B@ ; givewep
	ret	0
??__Egivewep@@YAXXZ ENDP				; `dynamic initializer for 'givewep''
; 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 ??__FgzObserverBeacon_Registrant@@YAXXZ
text$yd	SEGMENT
??__FgzObserverBeacon_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'gzObserverBeacon_Registrant'', COMDAT
	mov	ecx, OFFSET ?gzObserverBeacon_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverBeacon@@@@A ; gzObserverBeacon_Registrant
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzObserverBeacon_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'gzObserverBeacon_Registrant''
; Function compile flags: /Ogtpy
text$yd	ENDS
;	COMDAT ??__FgzObserverC4_Registrant@@YAXXZ
text$yd	SEGMENT
??__FgzObserverC4_Registrant@@YAXXZ PROC		; `dynamic atexit destructor for 'gzObserverC4_Registrant'', COMDAT
	mov	ecx, OFFSET ?gzObserverC4_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverC4@@@@A ; gzObserverC4_Registrant
	jmp	??1nc_ScriptFactory@@UAE@XZ		; nc_ScriptFactory::~nc_ScriptFactory
??__FgzObserverC4_Registrant@@YAXXZ ENDP		; `dynamic atexit destructor for 'gzObserverC4_Registrant''
text$yd	ENDS
PUBLIC	?gzObserverC4_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverC4@@@@A ; gzObserverC4_Registrant
PUBLIC	?clearweapon@@3VClearWeaponConsoleFunction@@A	; clearweapon
PUBLIC	?gzObserverBeacon_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverBeacon@@@@A ; gzObserverBeacon_Registrant
PUBLIC	?givewep@@3VGiveWeaponConsoleFunction@@A	; givewep
_BSS	SEGMENT
?gzObserverC4_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverC4@@@@A DB 010H DUP (?) ; gzObserverC4_Registrant
?clearweapon@@3VClearWeaponConsoleFunction@@A DD 01H DUP (?) ; clearweapon
?gzObserverBeacon_Registrant@@3V?$nc_ScriptRegistrant@VgzObserverBeacon@@@@A DB 010H DUP (?) ; gzObserverBeacon_Registrant
?givewep@@3VGiveWeaponConsoleFunction@@A DD 01H DUP (?)	; givewep
_gzCritical DB	018H DUP (?)
_BSS	ENDS
CRT$XCU	SEGMENT
_gzCritical$initializer$ DD FLAT:??__EgzCritical@@YAXXZ
_gzObserverBeacon_Registrant$initializer$ DD FLAT:??__EgzObserverBeacon_Registrant@@YAXXZ
_gzObserverC4_Registrant$initializer$ DD FLAT:??__EgzObserverC4_Registrant@@YAXXZ
_clearweapon$initializer$ DD FLAT:??__Eclearweapon@@YAXXZ
_givewep$initializer$ DD FLAT:??__Egivewep@@YAXXZ
CRT$XCU	ENDS
END
