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

	TITLE	d:\# METIN2\work in progress\source client\Client\EterBase\poly\Poly.cpp
	.686P
	.XMM
	include listing.inc
	.model	flat

INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES

PUBLIC	??_C@_0P@GHFPNOJB@bad?5allocation?$AA@		; `string'
PUBLIC	?_Value@?$_Is_swap_move@U_Swap_move_tag@std@@@std@@2_NB ; std::_Is_swap_move<std::_Swap_move_tag>::_Value
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	?hexfloat@?$_Iosb@H@std@@2W4_Fmtflags@12@B	; std::_Iosb<int>::hexfloat
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	?value@?$integral_constant@_N$0A@@tr1@std@@2_NB	; std::tr1::integral_constant<bool,0>::value
PUBLIC	?value@?$integral_constant@_N$00@tr1@std@@2_NB	; std::tr1::integral_constant<bool,1>::value
;	COMDAT ?value@?$integral_constant@_N$00@tr1@std@@2_NB
CONST	SEGMENT
?value@?$integral_constant@_N$00@tr1@std@@2_NB DB 01H	; std::tr1::integral_constant<bool,1>::value
CONST	ENDS
;	COMDAT ?value@?$integral_constant@_N$0A@@tr1@std@@2_NB
CONST	SEGMENT
?value@?$integral_constant@_N$0A@@tr1@std@@2_NB DB 00H	; std::tr1::integral_constant<bool,0>::value
CONST	ENDS
;	COMDAT ?end@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?end@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 02H		; std::_Iosb<int>::end
CONST	ENDS
;	COMDAT ?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 01H		; std::_Iosb<int>::cur
CONST	ENDS
;	COMDAT ?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B
CONST	SEGMENT
?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 00H		; std::_Iosb<int>::beg
CONST	ENDS
;	COMDAT ?binary@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?binary@?$_Iosb@H@std@@2W4_Openmode@12@B DD 020H	; std::_Iosb<int>::binary
CONST	ENDS
;	COMDAT ?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B DD 080H	; std::_Iosb<int>::_Noreplace
CONST	ENDS
;	COMDAT ?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 040H	; std::_Iosb<int>::_Nocreate
CONST	ENDS
;	COMDAT ?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B DD 010H		; std::_Iosb<int>::trunc
CONST	ENDS
;	COMDAT ?app@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?app@?$_Iosb@H@std@@2W4_Openmode@12@B DD 08H		; std::_Iosb<int>::app
CONST	ENDS
;	COMDAT ?ate@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?ate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 04H		; std::_Iosb<int>::ate
CONST	ENDS
;	COMDAT ?out@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?out@?$_Iosb@H@std@@2W4_Openmode@12@B DD 02H		; std::_Iosb<int>::out
CONST	ENDS
;	COMDAT ?in@?$_Iosb@H@std@@2W4_Openmode@12@B
CONST	SEGMENT
?in@?$_Iosb@H@std@@2W4_Openmode@12@B DD 01H		; std::_Iosb<int>::in
CONST	ENDS
;	COMDAT ?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B DD 010H	; std::_Iosb<int>::_Hardfail
CONST	ENDS
;	COMDAT ?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 04H		; std::_Iosb<int>::badbit
CONST	ENDS
;	COMDAT ?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 02H		; std::_Iosb<int>::failbit
CONST	ENDS
;	COMDAT ?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 01H		; std::_Iosb<int>::eofbit
CONST	ENDS
;	COMDAT ?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B
CONST	SEGMENT
?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 00H		; std::_Iosb<int>::goodbit
CONST	ENDS
;	COMDAT ?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 03000H	; std::_Iosb<int>::floatfield
CONST	ENDS
;	COMDAT ?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0e00H	; std::_Iosb<int>::basefield
CONST	ENDS
;	COMDAT ?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01c0H	; std::_Iosb<int>::adjustfield
CONST	ENDS
;	COMDAT ?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08000H	; std::_Iosb<int>::_Stdio
CONST	ENDS
;	COMDAT ?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04000H	; std::_Iosb<int>::boolalpha
CONST	ENDS
;	COMDAT ?hexfloat@?$_Iosb@H@std@@2W4_Fmtflags@12@B
CONST	SEGMENT
?hexfloat@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 03000H	; std::_Iosb<int>::hexfloat
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
;	COMDAT ?_Value@?$_Is_swap_move@U_Swap_move_tag@std@@@std@@2_NB
CONST	SEGMENT
?_Value@?$_Is_swap_move@U_Swap_move_tag@std@@@std@@2_NB DB 01H ; std::_Is_swap_move<std::_Swap_move_tag>::_Value
CONST	ENDS
PUBLIC	?assign@?$char_traits@D@std@@SAXAADABD@Z	; std::char_traits<char>::assign
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd
;	COMDAT ?assign@?$char_traits@D@std@@SAXAADABD@Z
_TEXT	SEGMENT
__Left$ = 8						; size = 4
__Right$ = 12						; size = 4
?assign@?$char_traits@D@std@@SAXAADABD@Z PROC		; std::char_traits<char>::assign, COMDAT

; 425  : 		_Left = _Right;

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Right$[esp-4]
  00004	8a 08		 mov	 cl, BYTE PTR [eax]
  00006	8b 54 24 04	 mov	 edx, DWORD PTR __Left$[esp-4]
  0000a	88 0a		 mov	 BYTE PTR [edx], cl

; 426  : 		}

  0000c	c3		 ret	 0
?assign@?$char_traits@D@std@@SAXAADABD@Z ENDP		; std::char_traits<char>::assign
_TEXT	ENDS
PUBLIC	?compare@?$char_traits@D@std@@SAHPBD0I@Z	; std::char_traits<char>::compare
; Function compile flags: /Ogtpy
;	COMDAT ?compare@?$char_traits@D@std@@SAHPBD0I@Z
_TEXT	SEGMENT
__First1$ = 8						; size = 4
__First2$ = 12						; size = 4
__Count$ = 16						; size = 4
?compare@?$char_traits@D@std@@SAHPBD0I@Z PROC		; std::char_traits<char>::compare, COMDAT

; 441  : //		_DEBUG_POINTER(_First1);
; 442  : //		_DEBUG_POINTER(_First2);
; 443  : 		return (::memcmp(_First1, _First2, _Count));

  00000	8b 4c 24 08	 mov	 ecx, DWORD PTR __First2$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First1$[esp-4]
  00008	56		 push	 esi
  00009	8b 74 24 10	 mov	 esi, DWORD PTR __Count$[esp]
  0000d	57		 push	 edi
  0000e	83 fe 04	 cmp	 esi, 4
  00011	72 14		 jb	 SHORT $LN11@compare
$LL4@compare:
  00013	8b 02		 mov	 eax, DWORD PTR [edx]
  00015	3b 01		 cmp	 eax, DWORD PTR [ecx]
  00017	75 12		 jne	 SHORT $LN5@compare
  00019	83 ee 04	 sub	 esi, 4
  0001c	83 c1 04	 add	 ecx, 4
  0001f	83 c2 04	 add	 edx, 4
  00022	83 fe 04	 cmp	 esi, 4
  00025	73 ec		 jae	 SHORT $LL4@compare
$LN11@compare:
  00027	85 f6		 test	 esi, esi
  00029	74 44		 je	 SHORT $LN6@compare
$LN5@compare:
  0002b	0f b6 02	 movzx	 eax, BYTE PTR [edx]
  0002e	0f b6 39	 movzx	 edi, BYTE PTR [ecx]
  00031	2b c7		 sub	 eax, edi
  00033	75 31		 jne	 SHORT $LN7@compare
  00035	83 fe 01	 cmp	 esi, 1
  00038	76 35		 jbe	 SHORT $LN6@compare
  0003a	0f b6 42 01	 movzx	 eax, BYTE PTR [edx+1]
  0003e	0f b6 79 01	 movzx	 edi, BYTE PTR [ecx+1]
  00042	2b c7		 sub	 eax, edi
  00044	75 20		 jne	 SHORT $LN7@compare
  00046	83 fe 02	 cmp	 esi, 2
  00049	76 24		 jbe	 SHORT $LN6@compare
  0004b	0f b6 42 02	 movzx	 eax, BYTE PTR [edx+2]
  0004f	0f b6 79 02	 movzx	 edi, BYTE PTR [ecx+2]
  00053	2b c7		 sub	 eax, edi
  00055	75 0f		 jne	 SHORT $LN7@compare
  00057	83 fe 03	 cmp	 esi, 3
  0005a	76 13		 jbe	 SHORT $LN6@compare
  0005c	0f b6 42 03	 movzx	 eax, BYTE PTR [edx+3]
  00060	0f b6 49 03	 movzx	 ecx, BYTE PTR [ecx+3]
  00064	2b c1		 sub	 eax, ecx
$LN7@compare:
  00066	c1 f8 1f	 sar	 eax, 31			; 0000001fH
  00069	5f		 pop	 edi
  0006a	83 c8 01	 or	 eax, 1
  0006d	5e		 pop	 esi

; 444  : 		}

  0006e	c3		 ret	 0
$LN6@compare:
  0006f	5f		 pop	 edi

; 441  : //		_DEBUG_POINTER(_First1);
; 442  : //		_DEBUG_POINTER(_First2);
; 443  : 		return (::memcmp(_First1, _First2, _Count));

  00070	33 c0		 xor	 eax, eax
  00072	5e		 pop	 esi

; 444  : 		}

  00073	c3		 ret	 0
?compare@?$char_traits@D@std@@SAHPBD0I@Z ENDP		; std::char_traits<char>::compare
_TEXT	ENDS
PUBLIC	?length@?$char_traits@D@std@@SAIPBD@Z		; std::char_traits<char>::length
; Function compile flags: /Ogtpy
;	COMDAT ?length@?$char_traits@D@std@@SAIPBD@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
?length@?$char_traits@D@std@@SAIPBD@Z PROC		; std::char_traits<char>::length, COMDAT

; 448  : //		_DEBUG_POINTER(_First);
; 449  : 		return (::strlen(_First));

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __First$[esp-4]
  00004	8d 50 01	 lea	 edx, DWORD PTR [eax+1]
$LL3@length:
  00007	8a 08		 mov	 cl, BYTE PTR [eax]
  00009	40		 inc	 eax
  0000a	84 c9		 test	 cl, cl
  0000c	75 f9		 jne	 SHORT $LL3@length
  0000e	2b c2		 sub	 eax, edx

; 450  : 		}

  00010	c3		 ret	 0
?length@?$char_traits@D@std@@SAIPBD@Z ENDP		; std::char_traits<char>::length
_TEXT	ENDS
PUBLIC	?_Copy_s@?$char_traits@D@std@@SAPADPADIPBDI@Z	; std::char_traits<char>::_Copy_s
EXTRN	_memcpy_s:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?_Copy_s@?$char_traits@D@std@@SAPADPADIPBDI@Z
_TEXT	SEGMENT
__First1$ = 8						; size = 4
__Size_in_bytes$ = 12					; size = 4
__First2$ = 16						; size = 4
__Count$ = 20						; size = 4
?_Copy_s@?$char_traits@D@std@@SAPADPADIPBDI@Z PROC	; std::char_traits<char>::_Copy_s, COMDAT

; 463  : //		_DEBUG_POINTER(_First1);
; 464  : //		_DEBUG_POINTER(_First2);
; 465  : 		_CRT_SECURE_MEMCPY(_First1, _Size_in_bytes, _First2, _Count);

  00000	8b 44 24 10	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 0c	 mov	 ecx, DWORD PTR __First2$[esp-4]
  00008	8b 54 24 08	 mov	 edx, DWORD PTR __Size_in_bytes$[esp-4]
  0000c	56		 push	 esi
  0000d	8b 74 24 08	 mov	 esi, DWORD PTR __First1$[esp]
  00011	50		 push	 eax
  00012	51		 push	 ecx
  00013	52		 push	 edx
  00014	56		 push	 esi
  00015	e8 00 00 00 00	 call	 _memcpy_s
  0001a	83 c4 10	 add	 esp, 16			; 00000010H

; 466  : 		return _First1;

  0001d	8b c6		 mov	 eax, esi
  0001f	5e		 pop	 esi

; 467  : 		}

  00020	c3		 ret	 0
?_Copy_s@?$char_traits@D@std@@SAPADPADIPBDI@Z ENDP	; std::char_traits<char>::_Copy_s
_TEXT	ENDS
PUBLIC	?_Move_s@?$char_traits@D@std@@SAPADPADIPBDI@Z	; std::char_traits<char>::_Move_s
EXTRN	_memmove_s:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?_Move_s@?$char_traits@D@std@@SAPADPADIPBDI@Z
_TEXT	SEGMENT
__First1$ = 8						; size = 4
__Size_in_bytes$ = 12					; size = 4
__First2$ = 16						; size = 4
__Count$ = 20						; size = 4
?_Move_s@?$char_traits@D@std@@SAPADPADIPBDI@Z PROC	; std::char_traits<char>::_Move_s, COMDAT

; 487  : //		_DEBUG_POINTER(_First1);
; 488  : //		_DEBUG_POINTER(_First2);
; 489  : 		_CRT_SECURE_MEMMOVE(_First1, _Size_in_bytes, _First2, _Count);

  00000	8b 44 24 10	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 0c	 mov	 ecx, DWORD PTR __First2$[esp-4]
  00008	8b 54 24 08	 mov	 edx, DWORD PTR __Size_in_bytes$[esp-4]
  0000c	56		 push	 esi
  0000d	8b 74 24 08	 mov	 esi, DWORD PTR __First1$[esp]
  00011	50		 push	 eax
  00012	51		 push	 ecx
  00013	52		 push	 edx
  00014	56		 push	 esi
  00015	e8 00 00 00 00	 call	 _memmove_s
  0001a	83 c4 10	 add	 esp, 16			; 00000010H

; 490  : 		return _First1;

  0001d	8b c6		 mov	 eax, esi
  0001f	5e		 pop	 esi

; 491  : 		}

  00020	c3		 ret	 0
?_Move_s@?$char_traits@D@std@@SAPADPADIPBDI@Z ENDP	; std::char_traits<char>::_Move_s
_TEXT	ENDS
PUBLIC	?assign@?$char_traits@D@std@@SAPADPADID@Z	; std::char_traits<char>::assign
EXTRN	_memset:PROC
; Function compile flags: /Ogtpy
;	COMDAT ?assign@?$char_traits@D@std@@SAPADPADID@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Ch$ = 16						; size = 1
?assign@?$char_traits@D@std@@SAPADPADID@Z PROC		; std::char_traits<char>::assign, COMDAT

; 495  : //		_DEBUG_POINTER(_First);
; 496  : 		return ((_Elem *)::memset(_First, _Ch, _Count));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	0f be 4c 24 0c	 movsx	 ecx, BYTE PTR __Ch$[esp-4]
  00009	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  0000d	50		 push	 eax
  0000e	51		 push	 ecx
  0000f	52		 push	 edx
  00010	e8 00 00 00 00	 call	 _memset
  00015	83 c4 0c	 add	 esp, 12			; 0000000cH

; 497  : 		}

  00018	c3		 ret	 0
?assign@?$char_traits@D@std@@SAPADPADID@Z ENDP		; std::char_traits<char>::assign
_TEXT	ENDS
PUBLIC	??0_Aux_cont@std@@QAE@QBV_Container_base_aux@1@@Z ; std::_Aux_cont::_Aux_cont
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??0_Aux_cont@std@@QAE@QBV_Container_base_aux@1@@Z
_TEXT	SEGMENT
__Pcont$ = 8						; size = 4
??0_Aux_cont@std@@QAE@QBV_Container_base_aux@1@@Z PROC	; std::_Aux_cont::_Aux_cont, COMDAT
; _this$ = ecx

; 364  : 	explicit _Aux_cont(const _Container_base_aux * const _Pcont)

  00000	8b c1		 mov	 eax, ecx
  00002	8b 4c 24 04	 mov	 ecx, DWORD PTR __Pcont$[esp-4]
  00006	89 08		 mov	 DWORD PTR [eax], ecx
  00008	c2 04 00	 ret	 4
??0_Aux_cont@std@@QAE@QBV_Container_base_aux@1@@Z ENDP	; std::_Aux_cont::_Aux_cont
_TEXT	ENDS
PUBLIC	?_Getcont@_Aux_cont@std@@QBEPBV_Container_base_aux@2@XZ ; std::_Aux_cont::_Getcont
; Function compile flags: /Ogtpy
;	COMDAT ?_Getcont@_Aux_cont@std@@QBEPBV_Container_base_aux@2@XZ
_TEXT	SEGMENT
?_Getcont@_Aux_cont@std@@QBEPBV_Container_base_aux@2@XZ PROC ; std::_Aux_cont::_Getcont, COMDAT
; _this$ = ecx

; 369  : 		return _Mycontainer;

  00000	8b 01		 mov	 eax, DWORD PTR [ecx]

; 370  : 		}

  00002	c3		 ret	 0
?_Getcont@_Aux_cont@std@@QBEPBV_Container_base_aux@2@XZ ENDP ; std::_Aux_cont::_Getcont
_TEXT	ENDS
PUBLIC	??0_Container_base_aux@std@@QAE@XZ		; std::_Container_base_aux::_Container_base_aux
; Function compile flags: /Ogtpy
;	COMDAT ??0_Container_base_aux@std@@QAE@XZ
_TEXT	SEGMENT
??0_Container_base_aux@std@@QAE@XZ PROC			; std::_Container_base_aux::_Container_base_aux, COMDAT
; _this$ = ecx

; 379  : 	_Container_base_aux()

  00000	8b c1		 mov	 eax, ecx

; 380  : 		{
; 381  : 		// Do nothing: _Container_base_aux_alloc_real() will construct the aux object.
; 382  : 		}

  00002	c3		 ret	 0
??0_Container_base_aux@std@@QAE@XZ ENDP			; std::_Container_base_aux::_Container_base_aux
_TEXT	ENDS
PUBLIC	??1_Container_base_aux@std@@QAE@XZ		; std::_Container_base_aux::~_Container_base_aux
; Function compile flags: /Ogtpy
;	COMDAT ??1_Container_base_aux@std@@QAE@XZ
_TEXT	SEGMENT
??1_Container_base_aux@std@@QAE@XZ PROC			; std::_Container_base_aux::~_Container_base_aux, COMDAT
; _this$ = ecx

; 403  : 		// Do nothing: ~_Container_base_aux_alloc_real() previously destroyed the aux object.
; 404  : 		}

  00000	c3		 ret	 0
??1_Container_base_aux@std@@QAE@XZ ENDP			; std::_Container_base_aux::~_Container_base_aux
_TEXT	ENDS
PUBLIC	??0_Iterator_base_aux@std@@QAE@XZ		; std::_Iterator_base_aux::_Iterator_base_aux
; Function compile flags: /Ogtpy
;	COMDAT ??0_Iterator_base_aux@std@@QAE@XZ
_TEXT	SEGMENT
??0_Iterator_base_aux@std@@QAE@XZ PROC			; std::_Iterator_base_aux::_Iterator_base_aux, COMDAT
; _this$ = ecx

; 448  : 	_Iterator_base_aux()

  00000	8b c1		 mov	 eax, ecx
  00002	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0
  00008	c3		 ret	 0
??0_Iterator_base_aux@std@@QAE@XZ ENDP			; std::_Iterator_base_aux::_Iterator_base_aux
_TEXT	ENDS
PUBLIC	?_Set_container@_Iterator_base_aux@std@@QAEXQBV_Container_base_aux@2@@Z ; std::_Iterator_base_aux::_Set_container
; Function compile flags: /Ogtpy
;	COMDAT ?_Set_container@_Iterator_base_aux@std@@QAEXQBV_Container_base_aux@2@@Z
_TEXT	SEGMENT
__Pcont$ = 8						; size = 4
?_Set_container@_Iterator_base_aux@std@@QAEXQBV_Container_base_aux@2@@Z PROC ; std::_Iterator_base_aux::_Set_container, COMDAT
; _this$ = ecx

; 453  : 		_Myaux = _Pcont->_Myownedaux;

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __Pcont$[esp-4]
  00004	8b 10		 mov	 edx, DWORD PTR [eax]
  00006	89 11		 mov	 DWORD PTR [ecx], edx

; 454  : 		}

  00008	c2 04 00	 ret	 4
?_Set_container@_Iterator_base_aux@std@@QAEXQBV_Container_base_aux@2@@Z ENDP ; std::_Iterator_base_aux::_Set_container
_TEXT	ENDS
PUBLIC	?_Getmycont@_Iterator_base_aux@std@@QBEPBV_Container_base_aux@2@XZ ; std::_Iterator_base_aux::_Getmycont
; Function compile flags: /Ogtpy
;	COMDAT ?_Getmycont@_Iterator_base_aux@std@@QBEPBV_Container_base_aux@2@XZ
_TEXT	SEGMENT
?_Getmycont@_Iterator_base_aux@std@@QBEPBV_Container_base_aux@2@XZ PROC ; std::_Iterator_base_aux::_Getmycont, COMDAT
; _this$ = ecx

; 458  : 		return _Myaux ? _Myaux->_Getcont() : 0;

  00000	8b 01		 mov	 eax, DWORD PTR [ecx]
  00002	85 c0		 test	 eax, eax
  00004	74 03		 je	 SHORT $LN3@Getmycont
  00006	8b 00		 mov	 eax, DWORD PTR [eax]

; 459  : 		}

  00008	c3		 ret	 0
$LN3@Getmycont:

; 458  : 		return _Myaux ? _Myaux->_Getcont() : 0;

  00009	33 c0		 xor	 eax, eax

; 459  : 		}

  0000b	c3		 ret	 0
?_Getmycont@_Iterator_base_aux@std@@QBEPBV_Container_base_aux@2@XZ ENDP ; std::_Iterator_base_aux::_Getmycont
_TEXT	ENDS
PUBLIC	?_Same_container@_Iterator_base_aux@std@@QBE_NABV12@@Z ; std::_Iterator_base_aux::_Same_container
; Function compile flags: /Ogtpy
;	COMDAT ?_Same_container@_Iterator_base_aux@std@@QBE_NABV12@@Z
_TEXT	SEGMENT
__Other$ = 8						; size = 4
?_Same_container@_Iterator_base_aux@std@@QBE_NABV12@@Z PROC ; std::_Iterator_base_aux::_Same_container, COMDAT
; _this$ = ecx

; 463  : 		return _Myaux == _Other._Myaux;

  00000	8b 01		 mov	 eax, DWORD PTR [ecx]
  00002	8b 54 24 04	 mov	 edx, DWORD PTR __Other$[esp-4]
  00006	33 c9		 xor	 ecx, ecx
  00008	3b 02		 cmp	 eax, DWORD PTR [edx]
  0000a	0f 94 c1	 sete	 cl
  0000d	8a c1		 mov	 al, cl

; 464  : 		}

  0000f	c2 04 00	 ret	 4
?_Same_container@_Iterator_base_aux@std@@QBE_NABV12@@Z ENDP ; std::_Iterator_base_aux::_Same_container
_TEXT	ENDS
PUBLIC	?_Has_container@_Iterator_base_aux@std@@QBE_NXZ	; std::_Iterator_base_aux::_Has_container
; Function compile flags: /Ogtpy
;	COMDAT ?_Has_container@_Iterator_base_aux@std@@QBE_NXZ
_TEXT	SEGMENT
?_Has_container@_Iterator_base_aux@std@@QBE_NXZ PROC	; std::_Iterator_base_aux::_Has_container, COMDAT
; _this$ = ecx

; 468  : 		return _Myaux != 0;

  00000	33 c0		 xor	 eax, eax
  00002	39 01		 cmp	 DWORD PTR [ecx], eax
  00004	0f 95 c0	 setne	 al

; 469  : 		}

  00007	c3		 ret	 0
?_Has_container@_Iterator_base_aux@std@@QBE_NXZ ENDP	; std::_Iterator_base_aux::_Has_container
_TEXT	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 9.0\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

  00000	56		 push	 esi
  00001	8d 44 24 08	 lea	 eax, DWORD PTR __Message$[esp]
  00005	50		 push	 eax
  00006	8b f1		 mov	 esi, ecx
  00008	e8 00 00 00 00	 call	 ??0exception@std@@QAE@ABQBD@Z ; std::exception::exception
  0000d	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@

; 372  : 		}

  00013	8b c6		 mov	 eax, esi
  00015	5e		 pop	 esi
  00016	c2 04 00	 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

  00000	c7 01 00 00 00
	00		 mov	 DWORD PTR [ecx], OFFSET ??_7bad_alloc@std@@6B@

; 381  : 		}

  00006	e9 00 00 00 00	 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
  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx
  00003	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@
  00009	e8 00 00 00 00	 call	 ??1exception@std@@UAE@XZ ; std::exception::~exception
  0000e	f6 44 24 08 01	 test	 BYTE PTR ___flags$[esp], 1
  00013	74 09		 je	 SHORT $LN6@scalar
  00015	56		 push	 esi
  00016	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0001b	83 c4 04	 add	 esp, 4
$LN6@scalar:
  0001e	8b c6		 mov	 eax, esi
  00020	5e		 pop	 esi
  00021	c2 04 00	 ret	 4
??_Gbad_alloc@std@@UAEPAXI@Z ENDP			; std::bad_alloc::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??2@YAPAXIPAX@Z					; operator new
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\new
;	COMDAT ??2@YAPAXIPAX@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
__Where$ = 12						; size = 4
??2@YAPAXIPAX@Z PROC					; operator new, COMDAT

; 59   : 	return (_Where);

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Where$[esp-4]

; 60   : 	}

  00004	c3		 ret	 0
??2@YAPAXIPAX@Z ENDP					; operator new
_TEXT	ENDS
PUBLIC	??3@YAXPAX0@Z					; operator delete
; Function compile flags: /Ogtpy
;	COMDAT ??3@YAXPAX0@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
??3@YAXPAX0@Z PROC					; operator delete, COMDAT

; 64   : 	}

  00000	c3		 ret	 0
??3@YAXPAX0@Z ENDP					; operator delete
_TEXT	ENDS
PUBLIC	__real@3f00000000000000
PUBLIC	?_random@@YANXZ					; _random
EXTRN	_rand:PROC
EXTRN	__fltused:DWORD
;	COMDAT __real@3f00000000000000
; File d:\# metin2\work in progress\source client\client\eterbase\poly\poly.cpp
CONST	SEGMENT
__real@3f00000000000000 DQ 03f00000000000000r	; 3.05176e-005
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?_random@@YANXZ
_TEXT	SEGMENT
tv68 = -4						; size = 4
?_random@@YANXZ PROC					; _random, COMDAT

; 13   : {

  00000	51		 push	 ecx

; 14   :     return rand() / (RAND_MAX + 1.0);

  00001	e8 00 00 00 00	 call	 _rand
  00006	89 04 24	 mov	 DWORD PTR tv68[esp+4], eax
  00009	db 04 24	 fild	 DWORD PTR tv68[esp+4]
  0000c	dc 0d 00 00 00
	00		 fmul	 QWORD PTR __real@3f00000000000000

; 15   : }

  00012	59		 pop	 ecx
  00013	c3		 ret	 0
?_random@@YANXZ ENDP					; _random
_TEXT	ENDS
PUBLIC	?SetRandom@CPoly@@QAEXH@Z			; CPoly::SetRandom
; Function compile flags: /Ogtpy
;	COMDAT ?SetRandom@CPoly@@QAEXH@Z
_TEXT	SEGMENT
_iRandomType$ = 8					; size = 4
?SetRandom@CPoly@@QAEXH@Z PROC				; CPoly::SetRandom, COMDAT
; _this$ = ecx

; 19   : 	m_iRandomType = iRandomType;

  00000	8b 44 24 04	 mov	 eax, DWORD PTR _iRandomType$[esp-4]
  00004	89 81 ac 00 00
	00		 mov	 DWORD PTR [ecx+172], eax

; 20   : }

  0000a	c2 04 00	 ret	 4
?SetRandom@CPoly@@QAEXH@Z ENDP				; CPoly::SetRandom
_TEXT	ENDS
PUBLIC	__real@3fe0000000000000
PUBLIC	?my_irandom@CPoly@@IAEHNN@Z			; CPoly::my_irandom
EXTRN	__ftol2_sse:PROC
;	COMDAT __real@3fe0000000000000
CONST	SEGMENT
__real@3fe0000000000000 DQ 03fe0000000000000r	; 0.5
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ?my_irandom@CPoly@@IAEHNN@Z
_TEXT	SEGMENT
_start$ = 8						; size = 8
tv130 = 16						; size = 4
tv82 = 16						; size = 4
_end$ = 16						; size = 8
?my_irandom@CPoly@@IAEHNN@Z PROC			; CPoly::my_irandom, COMDAT
; _this$ = ecx

; 24   : 	switch (m_iRandomType)

  00000	8b 81 ac 00 00
	00		 mov	 eax, DWORD PTR [ecx+172]
  00006	83 e8 01	 sub	 eax, 1
  00009	74 53		 je	 SHORT $LN2@my_irandom
  0000b	83 e8 01	 sub	 eax, 1
  0000e	74 42		 je	 SHORT $LN1@my_irandom

; 31   : 			break;
; 32   : 	}
; 33   : 
; 34   :     // Make range as inclusive-exclusive
; 35   :     int is = int(start + 0.5);
; 36   :     int ie = int(end - start + 0.5) + 1;
; 37   : 
; 38   :     return int(_random() * ie + is);

  00010	e8 00 00 00 00	 call	 ?_random@@YANXZ		; _random
  00015	dd 44 24 0c	 fld	 QWORD PTR _end$[esp-4]
  00019	dd 44 24 04	 fld	 QWORD PTR _start$[esp-4]
  0001d	dc e9		 fsub	 ST(1), ST(0)
  0001f	dd 05 00 00 00
	00		 fld	 QWORD PTR __real@3fe0000000000000
  00025	dc c2		 fadd	 ST(2), ST(0)
  00027	d9 ca		 fxch	 ST(2)
  00029	e8 00 00 00 00	 call	 __ftol2_sse
  0002e	40		 inc	 eax
  0002f	89 44 24 0c	 mov	 DWORD PTR tv130[esp-4], eax
  00033	db 44 24 0c	 fild	 DWORD PTR tv130[esp-4]
  00037	de cb		 fmulp	 ST(3), ST(0)
  00039	de c1		 faddp	 ST(1), ST(0)
  0003b	e8 00 00 00 00	 call	 __ftol2_sse
  00040	89 44 24 0c	 mov	 DWORD PTR tv82[esp-4], eax
  00044	db 44 24 0c	 fild	 DWORD PTR tv82[esp-4]
  00048	de c1		 faddp	 ST(1), ST(0)
  0004a	e8 00 00 00 00	 call	 __ftol2_sse

; 39   : }

  0004f	c2 10 00	 ret	 16			; 00000010H
$LN1@my_irandom:

; 28   : 			break;
; 29   : 		case RANDOM_TYPE_FORCE_MAX:
; 30   : 			return int(end);

  00052	dd 44 24 0c	 fld	 QWORD PTR _end$[esp-4]

; 25   : 	{
; 26   : 		case RANDOM_TYPE_FORCE_MIN:
; 27   : 			return int(start);

  00056	e8 00 00 00 00	 call	 __ftol2_sse

; 39   : }

  0005b	c2 10 00	 ret	 16			; 00000010H
$LN2@my_irandom:

; 25   : 	{
; 26   : 		case RANDOM_TYPE_FORCE_MIN:
; 27   : 			return int(start);

  0005e	dd 44 24 04	 fld	 QWORD PTR _start$[esp-4]
  00062	e8 00 00 00 00	 call	 __ftol2_sse

; 39   : }

  00067	c2 10 00	 ret	 16			; 00000010H
?my_irandom@CPoly@@IAEHNN@Z ENDP			; CPoly::my_irandom
_TEXT	ENDS
PUBLIC	?my_frandom@CPoly@@IAENNN@Z			; CPoly::my_frandom
; Function compile flags: /Ogtpy
;	COMDAT ?my_frandom@CPoly@@IAENNN@Z
_TEXT	SEGMENT
_start$ = 8						; size = 8
_end$ = 16						; size = 8
?my_frandom@CPoly@@IAENNN@Z PROC			; CPoly::my_frandom, COMDAT
; _this$ = ecx

; 43   :     return _random() * (end - start) + start;

  00000	e8 00 00 00 00	 call	 ?_random@@YANXZ		; _random
  00005	dd 44 24 0c	 fld	 QWORD PTR _end$[esp-4]
  00009	dd 44 24 04	 fld	 QWORD PTR _start$[esp-4]
  0000d	dc e9		 fsub	 ST(1), ST(0)
  0000f	d9 ca		 fxch	 ST(2)
  00011	de c9		 fmulp	 ST(1), ST(0)
  00013	de c1		 faddp	 ST(1), ST(0)

; 44   : }

  00015	c2 10 00	 ret	 16			; 00000010H
?my_frandom@CPoly@@IAENNN@Z ENDP			; CPoly::my_frandom
_TEXT	ENDS
PUBLIC	?error@CPoly@@IAEXXZ				; CPoly::error
; Function compile flags: /Ogtpy
;	COMDAT ?error@CPoly@@IAEXXZ
_TEXT	SEGMENT
?error@CPoly@@IAEXXZ PROC				; CPoly::error, COMDAT
; _this$ = ecx

; 316  :     iErrorPos=uiLookPos;

  00000	8b 41 24	 mov	 eax, DWORD PTR [ecx+36]
  00003	89 41 1c	 mov	 DWORD PTR [ecx+28], eax

; 317  :     ErrorOccur=true;

  00006	c6 41 20 01	 mov	 BYTE PTR [ecx+32], 1

; 318  : }

  0000a	c3		 ret	 0
?error@CPoly@@IAEXXZ ENDP				; CPoly::error
_TEXT	ENDS
PUBLIC	?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::length
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
_TEXT	SEGMENT
?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::length, COMDAT
; _this$ = ecx

; 1661 : 		return (_Mysize);

  00000	8b 41 14	 mov	 eax, DWORD PTR [ecx+20]

; 1662 : 		}

  00003	c3		 ret	 0
?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::length
_TEXT	ENDS
PUBLIC	?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size
; Function compile flags: /Ogtpy
;	COMDAT ?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
_TEXT	SEGMENT
?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size, COMDAT
; _this$ = ecx

; 1666 : 		return (_Mysize);

  00000	8b 41 14	 mov	 eax, DWORD PTR [ecx+20]

; 1667 : 		}

  00003	c3		 ret	 0
?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size
_TEXT	ENDS
PUBLIC	?size@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEIXZ ; std::vector<CSymTable *,std::allocator<CSymTable *> >::size
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?size@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
?size@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEIXZ PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::size, COMDAT
; _this$ = ecx

; 726  : 		return (_Mylast - _Myfirst);

  00000	8b 41 10	 mov	 eax, DWORD PTR [ecx+16]
  00003	2b 41 0c	 sub	 eax, DWORD PTR [ecx+12]
  00006	c1 f8 02	 sar	 eax, 2

; 727  : 		}

  00009	c3		 ret	 0
?size@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEIXZ ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::size
_TEXT	ENDS
PUBLIC	??A?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEAAPAVCSymTable@@I@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::operator[]
EXTRN	__invalid_parameter_noinfo:PROC
; Function compile flags: /Ogtpy
;	COMDAT ??A?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEAAPAVCSymTable@@I@Z
_TEXT	SEGMENT
__Pos$ = 8						; size = 4
??A?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEAAPAVCSymTable@@I@Z PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::operator[], COMDAT
; _this$ = ecx

; 774  : 		{	// subscript mutable sequence

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 775  : 
; 776  :  #if _HAS_ITERATOR_DEBUGGING
; 777  : 		if (size() <= _Pos)
; 778  : 			{
; 779  : 			_DEBUG_ERROR("vector subscript out of range");
; 780  : 			_SCL_SECURE_OUT_OF_RANGE;
; 781  : 			}
; 782  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 783  : 		_SCL_SECURE_VALIDATE_RANGE(_Pos < size());

  00003	8b 46 10	 mov	 eax, DWORD PTR [esi+16]
  00006	2b 46 0c	 sub	 eax, DWORD PTR [esi+12]
  00009	57		 push	 edi
  0000a	8b 7c 24 0c	 mov	 edi, DWORD PTR __Pos$[esp+4]
  0000e	c1 f8 02	 sar	 eax, 2
  00011	3b f8		 cmp	 edi, eax
  00013	72 05		 jb	 SHORT $LN3@operator
  00015	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN3@operator:

; 784  : 
; 785  : 		return (*(_Myfirst + _Pos));

  0001a	8b 4e 0c	 mov	 ecx, DWORD PTR [esi+12]
  0001d	8d 04 b9	 lea	 eax, DWORD PTR [ecx+edi*4]
  00020	5f		 pop	 edi
  00021	5e		 pop	 esi

; 786  : 		}

  00022	c2 04 00	 ret	 4
??A?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEAAPAVCSymTable@@I@Z ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::operator[]
_TEXT	ENDS
PUBLIC	?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEPADXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Myptr
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEPADXZ
_TEXT	SEGMENT
?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEPADXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Myptr, COMDAT
; _this$ = ecx

; 2170 : 		return (_BUF_SIZE <= _Myres ? _Bx._Ptr : _Bx._Buf);

  00000	83 79 18 10	 cmp	 DWORD PTR [ecx+24], 16	; 00000010H
  00004	72 04		 jb	 SHORT $LN3@Myptr
  00006	8b 41 04	 mov	 eax, DWORD PTR [ecx+4]

; 2171 : 		}

  00009	c3		 ret	 0
$LN3@Myptr:

; 2170 : 		return (_BUF_SIZE <= _Myres ? _Bx._Ptr : _Bx._Buf);

  0000a	8d 41 04	 lea	 eax, DWORD PTR [ecx+4]

; 2171 : 		}

  0000d	c3		 ret	 0
?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEPADXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Myptr
_TEXT	ENDS
PUBLIC	?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IBEPBDXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Myptr
; Function compile flags: /Ogtpy
;	COMDAT ?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IBEPBDXZ
_TEXT	SEGMENT
?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IBEPBDXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Myptr, COMDAT
; _this$ = ecx

; 2175 : 		return (_BUF_SIZE <= _Myres ? _Bx._Ptr : _Bx._Buf);

  00000	83 79 18 10	 cmp	 DWORD PTR [ecx+24], 16	; 00000010H
  00004	72 04		 jb	 SHORT $LN3@Myptr@2
  00006	8b 41 04	 mov	 eax, DWORD PTR [ecx+4]

; 2176 : 		}

  00009	c3		 ret	 0
$LN3@Myptr@2:

; 2175 : 		return (_BUF_SIZE <= _Myres ? _Bx._Ptr : _Bx._Buf);

  0000a	8d 41 04	 lea	 eax, DWORD PTR [ecx+4]

; 2176 : 		}

  0000d	c3		 ret	 0
?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IBEPBDXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Myptr
_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 9.0\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

; 119  : 	allocator() _THROW0()

  00000	8b c1		 mov	 eax, ecx

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

  00002	c3		 ret	 0
??0?$allocator@D@std@@QAE@XZ ENDP			; std::allocator<char>::allocator<char>
_TEXT	ENDS
PUBLIC	?capacity@?$vector@HV?$allocator@H@std@@@std@@QBEIXZ ; std::vector<int,std::allocator<int> >::capacity
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?capacity@?$vector@HV?$allocator@H@std@@@std@@QBEIXZ
_TEXT	SEGMENT
?capacity@?$vector@HV?$allocator@H@std@@@std@@QBEIXZ PROC ; std::vector<int,std::allocator<int> >::capacity, COMDAT
; _this$ = ecx

; 635  : 		return (_Myfirst == 0 ? 0 : _Myend - _Myfirst);

  00000	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00003	85 d2		 test	 edx, edx
  00005	75 03		 jne	 SHORT $LN3@capacity
  00007	33 c0		 xor	 eax, eax

; 636  : 		}

  00009	c3		 ret	 0
$LN3@capacity:

; 635  : 		return (_Myfirst == 0 ? 0 : _Myend - _Myfirst);

  0000a	8b 41 14	 mov	 eax, DWORD PTR [ecx+20]
  0000d	2b c2		 sub	 eax, edx
  0000f	c1 f8 02	 sar	 eax, 2

; 636  : 		}

  00012	c3		 ret	 0
?capacity@?$vector@HV?$allocator@H@std@@@std@@QBEIXZ ENDP ; std::vector<int,std::allocator<int> >::capacity
_TEXT	ENDS
PUBLIC	?size@?$vector@HV?$allocator@H@std@@@std@@QBEIXZ ; std::vector<int,std::allocator<int> >::size
; Function compile flags: /Ogtpy
;	COMDAT ?size@?$vector@HV?$allocator@H@std@@@std@@QBEIXZ
_TEXT	SEGMENT
?size@?$vector@HV?$allocator@H@std@@@std@@QBEIXZ PROC	; std::vector<int,std::allocator<int> >::size, COMDAT
; _this$ = ecx

; 726  : 		return (_Mylast - _Myfirst);

  00000	8b 41 10	 mov	 eax, DWORD PTR [ecx+16]
  00003	2b 41 0c	 sub	 eax, DWORD PTR [ecx+12]
  00006	c1 f8 02	 sar	 eax, 2

; 727  : 		}

  00009	c3		 ret	 0
?size@?$vector@HV?$allocator@H@std@@@std@@QBEIXZ ENDP	; std::vector<int,std::allocator<int> >::size
_TEXT	ENDS
PUBLIC	??0?$allocator@H@std@@QAE@XZ			; std::allocator<int>::allocator<int>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ??0?$allocator@H@std@@QAE@XZ
_TEXT	SEGMENT
??0?$allocator@H@std@@QAE@XZ PROC			; std::allocator<int>::allocator<int>, COMDAT
; _this$ = ecx

; 119  : 	allocator() _THROW0()

  00000	8b c1		 mov	 eax, ecx

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

  00002	c3		 ret	 0
??0?$allocator@H@std@@QAE@XZ ENDP			; std::allocator<int>::allocator<int>
_TEXT	ENDS
PUBLIC	?capacity@?$vector@NV?$allocator@N@std@@@std@@QBEIXZ ; std::vector<double,std::allocator<double> >::capacity
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?capacity@?$vector@NV?$allocator@N@std@@@std@@QBEIXZ
_TEXT	SEGMENT
?capacity@?$vector@NV?$allocator@N@std@@@std@@QBEIXZ PROC ; std::vector<double,std::allocator<double> >::capacity, COMDAT
; _this$ = ecx

; 635  : 		return (_Myfirst == 0 ? 0 : _Myend - _Myfirst);

  00000	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00003	85 d2		 test	 edx, edx
  00005	75 03		 jne	 SHORT $LN3@capacity@2
  00007	33 c0		 xor	 eax, eax

; 636  : 		}

  00009	c3		 ret	 0
$LN3@capacity@2:

; 635  : 		return (_Myfirst == 0 ? 0 : _Myend - _Myfirst);

  0000a	8b 41 14	 mov	 eax, DWORD PTR [ecx+20]
  0000d	2b c2		 sub	 eax, edx
  0000f	c1 f8 03	 sar	 eax, 3

; 636  : 		}

  00012	c3		 ret	 0
?capacity@?$vector@NV?$allocator@N@std@@@std@@QBEIXZ ENDP ; std::vector<double,std::allocator<double> >::capacity
_TEXT	ENDS
PUBLIC	?size@?$vector@NV?$allocator@N@std@@@std@@QBEIXZ ; std::vector<double,std::allocator<double> >::size
; Function compile flags: /Ogtpy
;	COMDAT ?size@?$vector@NV?$allocator@N@std@@@std@@QBEIXZ
_TEXT	SEGMENT
?size@?$vector@NV?$allocator@N@std@@@std@@QBEIXZ PROC	; std::vector<double,std::allocator<double> >::size, COMDAT
; _this$ = ecx

; 726  : 		return (_Mylast - _Myfirst);

  00000	8b 41 10	 mov	 eax, DWORD PTR [ecx+16]
  00003	2b 41 0c	 sub	 eax, DWORD PTR [ecx+12]
  00006	c1 f8 03	 sar	 eax, 3

; 727  : 		}

  00009	c3		 ret	 0
?size@?$vector@NV?$allocator@N@std@@@std@@QBEIXZ ENDP	; std::vector<double,std::allocator<double> >::size
_TEXT	ENDS
PUBLIC	??0?$allocator@N@std@@QAE@XZ			; std::allocator<double>::allocator<double>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ??0?$allocator@N@std@@QAE@XZ
_TEXT	SEGMENT
??0?$allocator@N@std@@QAE@XZ PROC			; std::allocator<double>::allocator<double>, COMDAT
; _this$ = ecx

; 119  : 	allocator() _THROW0()

  00000	8b c1		 mov	 eax, ecx

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

  00002	c3		 ret	 0
??0?$allocator@N@std@@QAE@XZ ENDP			; std::allocator<double>::allocator<double>
_TEXT	ENDS
PUBLIC	?capacity@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEIXZ ; std::vector<CSymTable *,std::allocator<CSymTable *> >::capacity
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?capacity@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
?capacity@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEIXZ PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::capacity, COMDAT
; _this$ = ecx

; 635  : 		return (_Myfirst == 0 ? 0 : _Myend - _Myfirst);

  00000	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00003	85 d2		 test	 edx, edx
  00005	75 03		 jne	 SHORT $LN3@capacity@3
  00007	33 c0		 xor	 eax, eax

; 636  : 		}

  00009	c3		 ret	 0
$LN3@capacity@3:

; 635  : 		return (_Myfirst == 0 ? 0 : _Myend - _Myfirst);

  0000a	8b 41 14	 mov	 eax, DWORD PTR [ecx+20]
  0000d	2b c2		 sub	 eax, edx
  0000f	c1 f8 02	 sar	 eax, 2

; 636  : 		}

  00012	c3		 ret	 0
?capacity@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEIXZ ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::capacity
_TEXT	ENDS
PUBLIC	??0?$allocator@PAVCSymTable@@@std@@QAE@XZ	; std::allocator<CSymTable *>::allocator<CSymTable *>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ??0?$allocator@PAVCSymTable@@@std@@QAE@XZ
_TEXT	SEGMENT
??0?$allocator@PAVCSymTable@@@std@@QAE@XZ PROC		; std::allocator<CSymTable *>::allocator<CSymTable *>, COMDAT
; _this$ = ecx

; 119  : 	allocator() _THROW0()

  00000	8b c1		 mov	 eax, ecx

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

  00002	c3		 ret	 0
??0?$allocator@PAVCSymTable@@@std@@QAE@XZ ENDP		; std::allocator<CSymTable *>::allocator<CSymTable *>
_TEXT	ENDS
PUBLIC	?deallocate@?$allocator@PAVCSymTable@@@std@@QAEXPAPAVCSymTable@@I@Z ; std::allocator<CSymTable *>::deallocate
; Function compile flags: /Ogtpy
;	COMDAT ?deallocate@?$allocator@PAVCSymTable@@@std@@QAEXPAPAVCSymTable@@I@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$allocator@PAVCSymTable@@@std@@QAEXPAPAVCSymTable@@I@Z PROC ; std::allocator<CSymTable *>::deallocate, COMDAT
; _this$ = ecx

; 140  : 		::operator delete(_Ptr);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __Ptr$[esp-4]
  00004	50		 push	 eax
  00005	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0000a	59		 pop	 ecx

; 141  : 		}

  0000b	c2 08 00	 ret	 8
?deallocate@?$allocator@PAVCSymTable@@@std@@QAEXPAPAVCSymTable@@I@Z ENDP ; std::allocator<CSymTable *>::deallocate
_TEXT	ENDS
PUBLIC	??D?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QBEABHXZ ; std::_Vector_const_iterator<int,std::allocator<int> >::operator*
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??D?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QBEABHXZ
_TEXT	SEGMENT
??D?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QBEABHXZ PROC ; std::_Vector_const_iterator<int,std::allocator<int> >::operator*, COMDAT
; _this$ = ecx

; 91   : 		{	// return designated object

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 92   : 
; 93   :  #if _HAS_ITERATOR_DEBUGGING
; 94   : 		if (this->_Mycont == 0
; 95   : 			|| _Myptr < ((_Myvec *)this->_Mycont)->_Myfirst
; 96   : 			|| ((_Myvec *)this->_Mycont)->_Mylast <= _Myptr)
; 97   : 			{
; 98   : 			_DEBUG_ERROR("vector iterator not dereferencable");
; 99   : 			_SCL_SECURE_OUT_OF_RANGE;
; 100  : 			}
; 101  :  #else
; 102  :  		_SCL_SECURE_VALIDATE(this->_Has_container());

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	85 c0		 test	 eax, eax
  00007	75 0b		 jne	 SHORT $LN19@operator@2
  00009	e8 00 00 00 00	 call	 __invalid_parameter_noinfo

; 103  : 		_SCL_SECURE_VALIDATE_RANGE(_Myptr < ((_Myvec *)(this->_Getmycont()))->_Mylast);

  0000e	8b 06		 mov	 eax, DWORD PTR [esi]
  00010	85 c0		 test	 eax, eax
  00012	74 04		 je	 SHORT $LN15@operator@2
$LN19@operator@2:
  00014	8b 00		 mov	 eax, DWORD PTR [eax]
  00016	eb 02		 jmp	 SHORT $LN16@operator@2
$LN15@operator@2:
  00018	33 c0		 xor	 eax, eax
$LN16@operator@2:
  0001a	8b 4e 04	 mov	 ecx, DWORD PTR [esi+4]
  0001d	3b 48 10	 cmp	 ecx, DWORD PTR [eax+16]
  00020	72 0a		 jb	 SHORT $LN20@operator@2
  00022	e8 00 00 00 00	 call	 __invalid_parameter_noinfo

; 104  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 105  : 
; 106  : 		return (*_Myptr);

  00027	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  0002a	5e		 pop	 esi

; 107  : 		}

  0002b	c3		 ret	 0
$LN20@operator@2:

; 104  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 105  : 
; 106  : 		return (*_Myptr);

  0002c	8b c1		 mov	 eax, ecx
  0002e	5e		 pop	 esi

; 107  : 		}

  0002f	c3		 ret	 0
??D?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QBEABHXZ ENDP ; std::_Vector_const_iterator<int,std::allocator<int> >::operator*
_TEXT	ENDS
PUBLIC	??E?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QAEAAV01@XZ ; std::_Vector_const_iterator<int,std::allocator<int> >::operator++
; Function compile flags: /Ogtpy
;	COMDAT ??E?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QAEAAV01@XZ
_TEXT	SEGMENT
??E?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QAEAAV01@XZ PROC ; std::_Vector_const_iterator<int,std::allocator<int> >::operator++, COMDAT
; _this$ = ecx

; 115  : 		{	// preincrement

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 116  : 		_SCL_SECURE_VALIDATE(this->_Has_container());

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	85 c0		 test	 eax, eax
  00007	75 0b		 jne	 SHORT $LN19@operator@3
  00009	e8 00 00 00 00	 call	 __invalid_parameter_noinfo

; 117  : 		_SCL_SECURE_VALIDATE_RANGE(_Myptr < ((_Myvec *)(this->_Getmycont()))->_Mylast);

  0000e	8b 06		 mov	 eax, DWORD PTR [esi]
  00010	85 c0		 test	 eax, eax
  00012	74 04		 je	 SHORT $LN15@operator@3
$LN19@operator@3:
  00014	8b 00		 mov	 eax, DWORD PTR [eax]
  00016	eb 02		 jmp	 SHORT $LN16@operator@3
$LN15@operator@3:
  00018	33 c0		 xor	 eax, eax
$LN16@operator@3:
  0001a	8b 4e 04	 mov	 ecx, DWORD PTR [esi+4]
  0001d	3b 48 10	 cmp	 ecx, DWORD PTR [eax+16]
  00020	72 05		 jb	 SHORT $LN20@operator@3
  00022	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN20@operator@3:

; 118  : 
; 119  :  #if _HAS_ITERATOR_DEBUGGING
; 120  : 		if (this->_Mycont == 0
; 121  : 			|| ((_Myvec *)this->_Mycont)->_Mylast <= _Myptr)
; 122  : 			_DEBUG_ERROR("vector iterator not incrementable");
; 123  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 124  : 
; 125  : 		++_Myptr;

  00027	83 46 04 04	 add	 DWORD PTR [esi+4], 4

; 126  : 		return (*this);

  0002b	8b c6		 mov	 eax, esi
  0002d	5e		 pop	 esi

; 127  : 		}

  0002e	c3		 ret	 0
??E?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QAEAAV01@XZ ENDP ; std::_Vector_const_iterator<int,std::allocator<int> >::operator++
_TEXT	ENDS
PUBLIC	??G?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<int,std::allocator<int> >::operator-
; Function compile flags: /Ogtpy
;	COMDAT ??G?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QBEHABV01@@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
??G?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QBEHABV01@@Z PROC ; std::_Vector_const_iterator<int,std::allocator<int> >::operator-, COMDAT
; _this$ = ecx

; 186  : 		{	// return difference of iterators

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 187  : 
; 188  :  #if _HAS_ITERATOR_DEBUGGING
; 189  : 		_Compat(_Right);
; 190  :  #else
; 191  : 		_SCL_SECURE_VALIDATE(this->_Has_container() && this->_Same_container(_Right));

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	57		 push	 edi
  00006	8b 7c 24 0c	 mov	 edi, DWORD PTR __Right$[esp+4]
  0000a	85 c0		 test	 eax, eax
  0000c	74 04		 je	 SHORT $LN4@operator@4
  0000e	3b 07		 cmp	 eax, DWORD PTR [edi]
  00010	74 05		 je	 SHORT $LN3@operator@4
$LN4@operator@4:
  00012	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN3@operator@4:

; 192  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 193  : 
; 194  : 		return (_Myptr - _Right._Myptr);

  00017	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  0001a	2b 47 04	 sub	 eax, DWORD PTR [edi+4]
  0001d	5f		 pop	 edi
  0001e	c1 f8 02	 sar	 eax, 2
  00021	5e		 pop	 esi

; 195  : 		}

  00022	c2 04 00	 ret	 4
??G?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QBEHABV01@@Z ENDP ; std::_Vector_const_iterator<int,std::allocator<int> >::operator-
_TEXT	ENDS
PUBLIC	??8?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<int,std::allocator<int> >::operator==
; Function compile flags: /Ogtpy
;	COMDAT ??8?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QBE_NABV01@@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
??8?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<int,std::allocator<int> >::operator==, COMDAT
; _this$ = ecx

; 203  : 		{	// test for iterator equality

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 204  : 
; 205  :  #if _HAS_ITERATOR_DEBUGGING
; 206  : 		_Compat(_Right);
; 207  :  #else
; 208  : 		_SCL_SECURE_VALIDATE(this->_Has_container() && this->_Same_container(_Right));

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	57		 push	 edi
  00006	8b 7c 24 0c	 mov	 edi, DWORD PTR __Right$[esp+4]
  0000a	85 c0		 test	 eax, eax
  0000c	74 04		 je	 SHORT $LN4@operator@5
  0000e	3b 07		 cmp	 eax, DWORD PTR [edi]
  00010	74 05		 je	 SHORT $LN3@operator@5
$LN4@operator@5:
  00012	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN3@operator@5:

; 209  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 210  : 
; 211  : 		return (_Myptr == _Right._Myptr);

  00017	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  0001a	33 c9		 xor	 ecx, ecx
  0001c	3b 47 04	 cmp	 eax, DWORD PTR [edi+4]
  0001f	5f		 pop	 edi
  00020	0f 94 c1	 sete	 cl
  00023	8a c1		 mov	 al, cl
  00025	5e		 pop	 esi

; 212  : 		}

  00026	c2 04 00	 ret	 4
??8?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<int,std::allocator<int> >::operator==
_TEXT	ENDS
PUBLIC	??D?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QBEABNXZ ; std::_Vector_const_iterator<double,std::allocator<double> >::operator*
; Function compile flags: /Ogtpy
;	COMDAT ??D?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QBEABNXZ
_TEXT	SEGMENT
??D?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QBEABNXZ PROC ; std::_Vector_const_iterator<double,std::allocator<double> >::operator*, COMDAT
; _this$ = ecx

; 91   : 		{	// return designated object

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 92   : 
; 93   :  #if _HAS_ITERATOR_DEBUGGING
; 94   : 		if (this->_Mycont == 0
; 95   : 			|| _Myptr < ((_Myvec *)this->_Mycont)->_Myfirst
; 96   : 			|| ((_Myvec *)this->_Mycont)->_Mylast <= _Myptr)
; 97   : 			{
; 98   : 			_DEBUG_ERROR("vector iterator not dereferencable");
; 99   : 			_SCL_SECURE_OUT_OF_RANGE;
; 100  : 			}
; 101  :  #else
; 102  :  		_SCL_SECURE_VALIDATE(this->_Has_container());

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	85 c0		 test	 eax, eax
  00007	75 0b		 jne	 SHORT $LN19@operator@6
  00009	e8 00 00 00 00	 call	 __invalid_parameter_noinfo

; 103  : 		_SCL_SECURE_VALIDATE_RANGE(_Myptr < ((_Myvec *)(this->_Getmycont()))->_Mylast);

  0000e	8b 06		 mov	 eax, DWORD PTR [esi]
  00010	85 c0		 test	 eax, eax
  00012	74 04		 je	 SHORT $LN15@operator@6
$LN19@operator@6:
  00014	8b 00		 mov	 eax, DWORD PTR [eax]
  00016	eb 02		 jmp	 SHORT $LN16@operator@6
$LN15@operator@6:
  00018	33 c0		 xor	 eax, eax
$LN16@operator@6:
  0001a	8b 4e 04	 mov	 ecx, DWORD PTR [esi+4]
  0001d	3b 48 10	 cmp	 ecx, DWORD PTR [eax+16]
  00020	72 0a		 jb	 SHORT $LN20@operator@6
  00022	e8 00 00 00 00	 call	 __invalid_parameter_noinfo

; 104  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 105  : 
; 106  : 		return (*_Myptr);

  00027	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  0002a	5e		 pop	 esi

; 107  : 		}

  0002b	c3		 ret	 0
$LN20@operator@6:

; 104  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 105  : 
; 106  : 		return (*_Myptr);

  0002c	8b c1		 mov	 eax, ecx
  0002e	5e		 pop	 esi

; 107  : 		}

  0002f	c3		 ret	 0
??D?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QBEABNXZ ENDP ; std::_Vector_const_iterator<double,std::allocator<double> >::operator*
_TEXT	ENDS
PUBLIC	?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXIID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Chassign
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXIID@Z
_TEXT	SEGMENT
__Off$ = 8						; size = 4
__Count$ = 12						; size = 4
__Ch$ = 16						; size = 1
?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXIID@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Chassign, COMDAT
; _this$ = ecx

; 2076 : 		if (_Count == 1)

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	83 f8 01	 cmp	 eax, 1
  00007	75 28		 jne	 SHORT $LN2@Chassign

; 2077 : 			_Traits::assign(*(_Myptr() + _Off), _Ch);

  00009	83 79 18 10	 cmp	 DWORD PTR [ecx+24], 16	; 00000010H
  0000d	72 11		 jb	 SHORT $LN7@Chassign
  0000f	8b 49 04	 mov	 ecx, DWORD PTR [ecx+4]
  00012	8a 44 24 0c	 mov	 al, BYTE PTR __Ch$[esp-4]
  00016	8b 54 24 04	 mov	 edx, DWORD PTR __Off$[esp-4]
  0001a	88 04 11	 mov	 BYTE PTR [ecx+edx], al

; 2080 : 		}

  0001d	c2 0c 00	 ret	 12			; 0000000cH

; 2077 : 			_Traits::assign(*(_Myptr() + _Off), _Ch);

$LN7@Chassign:
  00020	8a 44 24 0c	 mov	 al, BYTE PTR __Ch$[esp-4]
  00024	8b 54 24 04	 mov	 edx, DWORD PTR __Off$[esp-4]
  00028	83 c1 04	 add	 ecx, 4
  0002b	88 04 11	 mov	 BYTE PTR [ecx+edx], al

; 2080 : 		}

  0002e	c2 0c 00	 ret	 12			; 0000000cH
$LN2@Chassign:

; 2078 : 		else
; 2079 : 			_Traits::assign(_Myptr() + _Off, _Count, _Ch);

  00031	83 79 18 10	 cmp	 DWORD PTR [ecx+24], 16	; 00000010H
  00035	72 05		 jb	 SHORT $LN13@Chassign
  00037	8b 49 04	 mov	 ecx, DWORD PTR [ecx+4]
  0003a	eb 03		 jmp	 SHORT $LN14@Chassign
$LN13@Chassign:
  0003c	83 c1 04	 add	 ecx, 4
$LN14@Chassign:
  0003f	8b 54 24 04	 mov	 edx, DWORD PTR __Off$[esp-4]
  00043	50		 push	 eax
  00044	0f be 44 24 10	 movsx	 eax, BYTE PTR __Ch$[esp]
  00049	50		 push	 eax
  0004a	03 ca		 add	 ecx, edx
  0004c	51		 push	 ecx
  0004d	e8 00 00 00 00	 call	 _memset
  00052	83 c4 0c	 add	 esp, 12			; 0000000cH

; 2080 : 		}

  00055	c2 0c 00	 ret	 12			; 0000000cH
?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXIID@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Chassign
_TEXT	ENDS
PUBLIC	?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos
; Function compile flags: /Ogtpy
;	COMDAT ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXI@Z
_TEXT	SEGMENT
__Newsize$ = 8						; size = 4
?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXI@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos, COMDAT
; _this$ = ecx

; 2114 : 		_Traits::assign(_Myptr()[_Mysize = _Newsize], _Elem());

  00000	83 79 18 10	 cmp	 DWORD PTR [ecx+24], 16	; 00000010H
  00004	8b 44 24 04	 mov	 eax, DWORD PTR __Newsize$[esp-4]
  00008	89 41 14	 mov	 DWORD PTR [ecx+20], eax
  0000b	72 0a		 jb	 SHORT $LN5@Eos
  0000d	8b 49 04	 mov	 ecx, DWORD PTR [ecx+4]
  00010	c6 04 01 00	 mov	 BYTE PTR [ecx+eax], 0

; 2115 : 		}

  00014	c2 04 00	 ret	 4

; 2114 : 		_Traits::assign(_Myptr()[_Mysize = _Newsize], _Elem());

$LN5@Eos:
  00017	c6 44 01 04 00	 mov	 BYTE PTR [ecx+eax+4], 0

; 2115 : 		}

  0001c	c2 04 00	 ret	 4
?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXI@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos
_TEXT	ENDS
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 9.0\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

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

  00000	8b c1		 mov	 eax, ecx

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

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

; 140  : 		::operator delete(_Ptr);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __Ptr$[esp-4]
  00004	50		 push	 eax
  00005	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0000a	59		 pop	 ecx

; 141  : 		}

  0000b	c2 08 00	 ret	 8
?deallocate@?$allocator@D@std@@QAEXPADI@Z ENDP		; std::allocator<char>::deallocate
_TEXT	ENDS
PUBLIC	??0?$allocator@H@std@@QAE@ABV01@@Z		; std::allocator<int>::allocator<int>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$allocator@H@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
??0?$allocator@H@std@@QAE@ABV01@@Z PROC			; std::allocator<int>::allocator<int>, COMDAT
; _this$ = ecx

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

  00000	8b c1		 mov	 eax, ecx

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

  00002	c2 04 00	 ret	 4
??0?$allocator@H@std@@QAE@ABV01@@Z ENDP			; std::allocator<int>::allocator<int>
_TEXT	ENDS
PUBLIC	?deallocate@?$allocator@H@std@@QAEXPAHI@Z	; std::allocator<int>::deallocate
; Function compile flags: /Ogtpy
;	COMDAT ?deallocate@?$allocator@H@std@@QAEXPAHI@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$allocator@H@std@@QAEXPAHI@Z PROC		; std::allocator<int>::deallocate, COMDAT
; _this$ = ecx

; 140  : 		::operator delete(_Ptr);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __Ptr$[esp-4]
  00004	50		 push	 eax
  00005	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0000a	59		 pop	 ecx

; 141  : 		}

  0000b	c2 08 00	 ret	 8
?deallocate@?$allocator@H@std@@QAEXPAHI@Z ENDP		; std::allocator<int>::deallocate
_TEXT	ENDS
PUBLIC	?deallocate@?$allocator@V_Aux_cont@std@@@std@@QAEXPAV_Aux_cont@2@I@Z ; std::allocator<std::_Aux_cont>::deallocate
; Function compile flags: /Ogtpy
;	COMDAT ?deallocate@?$allocator@V_Aux_cont@std@@@std@@QAEXPAV_Aux_cont@2@I@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$allocator@V_Aux_cont@std@@@std@@QAEXPAV_Aux_cont@2@I@Z PROC ; std::allocator<std::_Aux_cont>::deallocate, COMDAT
; _this$ = ecx

; 140  : 		::operator delete(_Ptr);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __Ptr$[esp-4]
  00004	50		 push	 eax
  00005	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0000a	59		 pop	 ecx

; 141  : 		}

  0000b	c2 08 00	 ret	 8
?deallocate@?$allocator@V_Aux_cont@std@@@std@@QAEXPAV_Aux_cont@2@I@Z ENDP ; std::allocator<std::_Aux_cont>::deallocate
_TEXT	ENDS
PUBLIC	??0?$allocator@N@std@@QAE@ABV01@@Z		; std::allocator<double>::allocator<double>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$allocator@N@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
??0?$allocator@N@std@@QAE@ABV01@@Z PROC			; std::allocator<double>::allocator<double>, COMDAT
; _this$ = ecx

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

  00000	8b c1		 mov	 eax, ecx

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

  00002	c2 04 00	 ret	 4
??0?$allocator@N@std@@QAE@ABV01@@Z ENDP			; std::allocator<double>::allocator<double>
_TEXT	ENDS
PUBLIC	?deallocate@?$allocator@N@std@@QAEXPANI@Z	; std::allocator<double>::deallocate
; Function compile flags: /Ogtpy
;	COMDAT ?deallocate@?$allocator@N@std@@QAEXPANI@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$allocator@N@std@@QAEXPANI@Z PROC		; std::allocator<double>::deallocate, COMDAT
; _this$ = ecx

; 140  : 		::operator delete(_Ptr);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __Ptr$[esp-4]
  00004	50		 push	 eax
  00005	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0000a	59		 pop	 ecx

; 141  : 		}

  0000b	c2 08 00	 ret	 8
?deallocate@?$allocator@N@std@@QAEXPANI@Z ENDP		; std::allocator<double>::deallocate
_TEXT	ENDS
PUBLIC	??0?$allocator@PAVCSymTable@@@std@@QAE@ABV01@@Z	; std::allocator<CSymTable *>::allocator<CSymTable *>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$allocator@PAVCSymTable@@@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
??0?$allocator@PAVCSymTable@@@std@@QAE@ABV01@@Z PROC	; std::allocator<CSymTable *>::allocator<CSymTable *>, COMDAT
; _this$ = ecx

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

  00000	8b c1		 mov	 eax, ecx

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

  00002	c2 04 00	 ret	 4
??0?$allocator@PAVCSymTable@@@std@@QAE@ABV01@@Z ENDP	; std::allocator<CSymTable *>::allocator<CSymTable *>
_TEXT	ENDS
PUBLIC	?max_size@?$allocator@PAVCSymTable@@@std@@QBEIXZ ; std::allocator<CSymTable *>::max_size
; Function compile flags: /Ogtpy
;	COMDAT ?max_size@?$allocator@PAVCSymTable@@@std@@QBEIXZ
_TEXT	SEGMENT
?max_size@?$allocator@PAVCSymTable@@@std@@QBEIXZ PROC	; std::allocator<CSymTable *>::max_size, COMDAT
; _this$ = ecx

; 165  : 		_SIZT _Count = (_SIZT)(-1) / sizeof (_Ty);
; 166  : 		return (0 < _Count ? _Count : 1);

  00000	b8 ff ff ff 3f	 mov	 eax, 1073741823		; 3fffffffH

; 167  : 		}

  00005	c3		 ret	 0
?max_size@?$allocator@PAVCSymTable@@@std@@QBEIXZ ENDP	; std::allocator<CSymTable *>::max_size
_TEXT	ENDS
PUBLIC	??Y?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<int,std::allocator<int> >::operator+=
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??Y?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
__Off$ = 8						; size = 4
??Y?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_const_iterator<int,std::allocator<int> >::operator+=, COMDAT
; _this$ = ecx

; 159  : 		{	// increment by integer

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 160  : 		_SCL_SECURE_VALIDATE(this->_Has_container());

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	57		 push	 edi
  00006	85 c0		 test	 eax, eax
  00008	75 0b		 jne	 SHORT $LN26@operator@7
  0000a	e8 00 00 00 00	 call	 __invalid_parameter_noinfo

; 161  : 		_SCL_SECURE_VALIDATE_RANGE(

  0000f	8b 06		 mov	 eax, DWORD PTR [esi]
  00011	85 c0		 test	 eax, eax
  00013	74 04		 je	 SHORT $LN16@operator@7
$LN26@operator@7:
  00015	8b 10		 mov	 edx, DWORD PTR [eax]
  00017	eb 02		 jmp	 SHORT $LN17@operator@7
$LN16@operator@7:
  00019	33 d2		 xor	 edx, edx
$LN17@operator@7:
  0001b	8b 7c 24 0c	 mov	 edi, DWORD PTR __Off$[esp+4]
  0001f	8b 4e 04	 mov	 ecx, DWORD PTR [esi+4]
  00022	03 ff		 add	 edi, edi
  00024	03 ff		 add	 edi, edi
  00026	03 cf		 add	 ecx, edi
  00028	3b 4a 10	 cmp	 ecx, DWORD PTR [edx+16]
  0002b	77 0f		 ja	 SHORT $LN4@operator@7
  0002d	85 c0		 test	 eax, eax
  0002f	74 04		 je	 SHORT $LN22@operator@7
  00031	8b 00		 mov	 eax, DWORD PTR [eax]
  00033	eb 02		 jmp	 SHORT $LN23@operator@7
$LN22@operator@7:
  00035	33 c0		 xor	 eax, eax
$LN23@operator@7:
  00037	3b 48 0c	 cmp	 ecx, DWORD PTR [eax+12]
  0003a	73 05		 jae	 SHORT $LN27@operator@7
$LN4@operator@7:

; 162  : 			_Myptr + _Off <= ((_Myvec *)(this->_Getmycont()))->_Mylast &&
; 163  : 			_Myptr + _Off >= ((_Myvec *)(this->_Getmycont()))->_Myfirst);

  0003c	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN27@operator@7:

; 164  : 		_Myptr += _Off;

  00041	01 7e 04	 add	 DWORD PTR [esi+4], edi
  00044	5f		 pop	 edi

; 165  : 		return (*this);

  00045	8b c6		 mov	 eax, esi
  00047	5e		 pop	 esi

; 166  : 		}

  00048	c2 04 00	 ret	 4
??Y?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_const_iterator<int,std::allocator<int> >::operator+=
_TEXT	ENDS
PUBLIC	??E?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QAEAAV01@XZ ; std::_Vector_const_iterator<double,std::allocator<double> >::operator++
; Function compile flags: /Ogtpy
;	COMDAT ??E?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QAEAAV01@XZ
_TEXT	SEGMENT
??E?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QAEAAV01@XZ PROC ; std::_Vector_const_iterator<double,std::allocator<double> >::operator++, COMDAT
; _this$ = ecx

; 115  : 		{	// preincrement

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 116  : 		_SCL_SECURE_VALIDATE(this->_Has_container());

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	85 c0		 test	 eax, eax
  00007	75 0b		 jne	 SHORT $LN19@operator@8
  00009	e8 00 00 00 00	 call	 __invalid_parameter_noinfo

; 117  : 		_SCL_SECURE_VALIDATE_RANGE(_Myptr < ((_Myvec *)(this->_Getmycont()))->_Mylast);

  0000e	8b 06		 mov	 eax, DWORD PTR [esi]
  00010	85 c0		 test	 eax, eax
  00012	74 04		 je	 SHORT $LN15@operator@8
$LN19@operator@8:
  00014	8b 00		 mov	 eax, DWORD PTR [eax]
  00016	eb 02		 jmp	 SHORT $LN16@operator@8
$LN15@operator@8:
  00018	33 c0		 xor	 eax, eax
$LN16@operator@8:
  0001a	8b 4e 04	 mov	 ecx, DWORD PTR [esi+4]
  0001d	3b 48 10	 cmp	 ecx, DWORD PTR [eax+16]
  00020	72 05		 jb	 SHORT $LN20@operator@8
  00022	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN20@operator@8:

; 118  : 
; 119  :  #if _HAS_ITERATOR_DEBUGGING
; 120  : 		if (this->_Mycont == 0
; 121  : 			|| ((_Myvec *)this->_Mycont)->_Mylast <= _Myptr)
; 122  : 			_DEBUG_ERROR("vector iterator not incrementable");
; 123  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 124  : 
; 125  : 		++_Myptr;

  00027	83 46 04 08	 add	 DWORD PTR [esi+4], 8

; 126  : 		return (*this);

  0002b	8b c6		 mov	 eax, esi
  0002d	5e		 pop	 esi

; 127  : 		}

  0002e	c3		 ret	 0
??E?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QAEAAV01@XZ ENDP ; std::_Vector_const_iterator<double,std::allocator<double> >::operator++
_TEXT	ENDS
PUBLIC	??G?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<double,std::allocator<double> >::operator-
; Function compile flags: /Ogtpy
;	COMDAT ??G?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QBEHABV01@@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
??G?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QBEHABV01@@Z PROC ; std::_Vector_const_iterator<double,std::allocator<double> >::operator-, COMDAT
; _this$ = ecx

; 186  : 		{	// return difference of iterators

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 187  : 
; 188  :  #if _HAS_ITERATOR_DEBUGGING
; 189  : 		_Compat(_Right);
; 190  :  #else
; 191  : 		_SCL_SECURE_VALIDATE(this->_Has_container() && this->_Same_container(_Right));

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	57		 push	 edi
  00006	8b 7c 24 0c	 mov	 edi, DWORD PTR __Right$[esp+4]
  0000a	85 c0		 test	 eax, eax
  0000c	74 04		 je	 SHORT $LN4@operator@9
  0000e	3b 07		 cmp	 eax, DWORD PTR [edi]
  00010	74 05		 je	 SHORT $LN3@operator@9
$LN4@operator@9:
  00012	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN3@operator@9:

; 192  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 193  : 
; 194  : 		return (_Myptr - _Right._Myptr);

  00017	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  0001a	2b 47 04	 sub	 eax, DWORD PTR [edi+4]
  0001d	5f		 pop	 edi
  0001e	c1 f8 03	 sar	 eax, 3
  00021	5e		 pop	 esi

; 195  : 		}

  00022	c2 04 00	 ret	 4
??G?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QBEHABV01@@Z ENDP ; std::_Vector_const_iterator<double,std::allocator<double> >::operator-
_TEXT	ENDS
PUBLIC	??G?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >::operator-
; Function compile flags: /Ogtpy
;	COMDAT ??G?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEHABV01@@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
??G?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEHABV01@@Z PROC ; std::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >::operator-, COMDAT
; _this$ = ecx

; 186  : 		{	// return difference of iterators

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 187  : 
; 188  :  #if _HAS_ITERATOR_DEBUGGING
; 189  : 		_Compat(_Right);
; 190  :  #else
; 191  : 		_SCL_SECURE_VALIDATE(this->_Has_container() && this->_Same_container(_Right));

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	57		 push	 edi
  00006	8b 7c 24 0c	 mov	 edi, DWORD PTR __Right$[esp+4]
  0000a	85 c0		 test	 eax, eax
  0000c	74 04		 je	 SHORT $LN4@operator@10
  0000e	3b 07		 cmp	 eax, DWORD PTR [edi]
  00010	74 05		 je	 SHORT $LN3@operator@10
$LN4@operator@10:
  00012	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN3@operator@10:

; 192  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 193  : 
; 194  : 		return (_Myptr - _Right._Myptr);

  00017	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  0001a	2b 47 04	 sub	 eax, DWORD PTR [edi+4]
  0001d	5f		 pop	 edi
  0001e	c1 f8 02	 sar	 eax, 2
  00021	5e		 pop	 esi

; 195  : 		}

  00022	c2 04 00	 ret	 4
??G?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEHABV01@@Z ENDP ; std::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >::operator-
_TEXT	ENDS
PUBLIC	??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@HHPBHABHV_Iterator_base_aux@2@@std@@QAE@XZ ; std::_Iterator_with_base<std::random_access_iterator_tag,int,int,int const *,int const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,int,int,int const *,int const &,std::_Iterator_base_aux>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@HHPBHABHV_Iterator_base_aux@2@@std@@QAE@XZ
_TEXT	SEGMENT
??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@HHPBHABHV_Iterator_base_aux@2@@std@@QAE@XZ PROC ; std::_Iterator_with_base<std::random_access_iterator_tag,int,int,int const *,int const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,int,int,int const *,int const &,std::_Iterator_base_aux>, COMDAT
; _this$ = ecx
  00000	8b c1		 mov	 eax, ecx
  00002	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0
  00008	c3		 ret	 0
??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@HHPBHABHV_Iterator_base_aux@2@@std@@QAE@XZ ENDP ; std::_Iterator_with_base<std::random_access_iterator_tag,int,int,int const *,int const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,int,int,int const *,int const &,std::_Iterator_base_aux>
_TEXT	ENDS
PUBLIC	??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@NHPBNABNV_Iterator_base_aux@2@@std@@QAE@XZ ; std::_Iterator_with_base<std::random_access_iterator_tag,double,int,double const *,double const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,double,int,double const *,double const &,std::_Iterator_base_aux>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@NHPBNABNV_Iterator_base_aux@2@@std@@QAE@XZ
_TEXT	SEGMENT
??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@NHPBNABNV_Iterator_base_aux@2@@std@@QAE@XZ PROC ; std::_Iterator_with_base<std::random_access_iterator_tag,double,int,double const *,double const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,double,int,double const *,double const &,std::_Iterator_base_aux>, COMDAT
; _this$ = ecx
  00000	8b c1		 mov	 eax, ecx
  00002	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0
  00008	c3		 ret	 0
??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@NHPBNABNV_Iterator_base_aux@2@@std@@QAE@XZ ENDP ; std::_Iterator_with_base<std::random_access_iterator_tag,double,int,double const *,double const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,double,int,double const *,double const &,std::_Iterator_base_aux>
_TEXT	ENDS
PUBLIC	?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NPBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Inside
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NPBD@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NPBD@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Inside, COMDAT
; _this$ = ecx

; 2133 : 		{	// test if _Ptr points inside string

  00000	56		 push	 esi
  00001	57		 push	 edi

; 2134 : 		if (_Ptr == 0 || _Ptr < _Myptr() || _Myptr() + _Mysize <= _Ptr)

  00002	8b 7c 24 0c	 mov	 edi, DWORD PTR __Ptr$[esp+4]
  00006	85 ff		 test	 edi, edi
  00008	74 2c		 je	 SHORT $LN2@Inside
  0000a	8b 71 18	 mov	 esi, DWORD PTR [ecx+24]
  0000d	8d 41 04	 lea	 eax, DWORD PTR [ecx+4]
  00010	83 fe 10	 cmp	 esi, 16			; 00000010H
  00013	72 04		 jb	 SHORT $LN8@Inside
  00015	8b 10		 mov	 edx, DWORD PTR [eax]
  00017	eb 02		 jmp	 SHORT $LN9@Inside
$LN8@Inside:
  00019	8b d0		 mov	 edx, eax
$LN9@Inside:
  0001b	3b fa		 cmp	 edi, edx
  0001d	72 17		 jb	 SHORT $LN2@Inside
  0001f	83 fe 10	 cmp	 esi, 16			; 00000010H
  00022	72 02		 jb	 SHORT $LN12@Inside
  00024	8b 00		 mov	 eax, DWORD PTR [eax]
$LN12@Inside:
  00026	8b 49 14	 mov	 ecx, DWORD PTR [ecx+20]
  00029	03 c8		 add	 ecx, eax
  0002b	3b cf		 cmp	 ecx, edi
  0002d	76 07		 jbe	 SHORT $LN2@Inside
  0002f	5f		 pop	 edi

; 2136 : 		else
; 2137 : 			return (true);

  00030	b0 01		 mov	 al, 1
  00032	5e		 pop	 esi

; 2138 : 		}

  00033	c2 04 00	 ret	 4
$LN2@Inside:
  00036	5f		 pop	 edi

; 2135 : 			return (false);	// don't ask

  00037	32 c0		 xor	 al, al
  00039	5e		 pop	 esi

; 2138 : 		}

  0003a	c2 04 00	 ret	 4
?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NPBD@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Inside
_TEXT	ENDS
PUBLIC	?max_size@?$allocator@H@std@@QBEIXZ		; std::allocator<int>::max_size
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ?max_size@?$allocator@H@std@@QBEIXZ
_TEXT	SEGMENT
?max_size@?$allocator@H@std@@QBEIXZ PROC		; std::allocator<int>::max_size, COMDAT
; _this$ = ecx

; 165  : 		_SIZT _Count = (_SIZT)(-1) / sizeof (_Ty);
; 166  : 		return (0 < _Count ? _Count : 1);

  00000	b8 ff ff ff 3f	 mov	 eax, 1073741823		; 3fffffffH

; 167  : 		}

  00005	c3		 ret	 0
?max_size@?$allocator@H@std@@QBEIXZ ENDP		; std::allocator<int>::max_size
_TEXT	ENDS
PUBLIC	?max_size@?$allocator@N@std@@QBEIXZ		; std::allocator<double>::max_size
; Function compile flags: /Ogtpy
;	COMDAT ?max_size@?$allocator@N@std@@QBEIXZ
_TEXT	SEGMENT
?max_size@?$allocator@N@std@@QBEIXZ PROC		; std::allocator<double>::max_size, COMDAT
; _this$ = ecx

; 165  : 		_SIZT _Count = (_SIZT)(-1) / sizeof (_Ty);
; 166  : 		return (0 < _Count ? _Count : 1);

  00000	b8 ff ff ff 1f	 mov	 eax, 536870911		; 1fffffffH

; 167  : 		}

  00005	c3		 ret	 0
?max_size@?$allocator@N@std@@QBEIXZ ENDP		; std::allocator<double>::max_size
_TEXT	ENDS
PUBLIC	??8?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<double,std::allocator<double> >::operator==
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??8?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QBE_NABV01@@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
??8?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<double,std::allocator<double> >::operator==, COMDAT
; _this$ = ecx

; 203  : 		{	// test for iterator equality

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 204  : 
; 205  :  #if _HAS_ITERATOR_DEBUGGING
; 206  : 		_Compat(_Right);
; 207  :  #else
; 208  : 		_SCL_SECURE_VALIDATE(this->_Has_container() && this->_Same_container(_Right));

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	57		 push	 edi
  00006	8b 7c 24 0c	 mov	 edi, DWORD PTR __Right$[esp+4]
  0000a	85 c0		 test	 eax, eax
  0000c	74 04		 je	 SHORT $LN4@operator@11
  0000e	3b 07		 cmp	 eax, DWORD PTR [edi]
  00010	74 05		 je	 SHORT $LN3@operator@11
$LN4@operator@11:
  00012	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN3@operator@11:

; 209  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 210  : 
; 211  : 		return (_Myptr == _Right._Myptr);

  00017	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  0001a	33 c9		 xor	 ecx, ecx
  0001c	3b 47 04	 cmp	 eax, DWORD PTR [edi+4]
  0001f	5f		 pop	 edi
  00020	0f 94 c1	 sete	 cl
  00023	8a c1		 mov	 al, cl
  00025	5e		 pop	 esi

; 212  : 		}

  00026	c2 04 00	 ret	 4
??8?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<double,std::allocator<double> >::operator==
_TEXT	ENDS
PUBLIC	??8?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >::operator==
; Function compile flags: /Ogtpy
;	COMDAT ??8?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBE_NABV01@@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
??8?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >::operator==, COMDAT
; _this$ = ecx

; 203  : 		{	// test for iterator equality

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 204  : 
; 205  :  #if _HAS_ITERATOR_DEBUGGING
; 206  : 		_Compat(_Right);
; 207  :  #else
; 208  : 		_SCL_SECURE_VALIDATE(this->_Has_container() && this->_Same_container(_Right));

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	57		 push	 edi
  00006	8b 7c 24 0c	 mov	 edi, DWORD PTR __Right$[esp+4]
  0000a	85 c0		 test	 eax, eax
  0000c	74 04		 je	 SHORT $LN4@operator@12
  0000e	3b 07		 cmp	 eax, DWORD PTR [edi]
  00010	74 05		 je	 SHORT $LN3@operator@12
$LN4@operator@12:
  00012	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN3@operator@12:

; 209  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 210  : 
; 211  : 		return (_Myptr == _Right._Myptr);

  00017	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  0001a	33 c9		 xor	 ecx, ecx
  0001c	3b 47 04	 cmp	 eax, DWORD PTR [edi+4]
  0001f	5f		 pop	 edi
  00020	0f 94 c1	 sete	 cl
  00023	8a c1		 mov	 al, cl
  00025	5e		 pop	 esi

; 212  : 		}

  00026	c2 04 00	 ret	 4
??8?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >::operator==
_TEXT	ENDS
PUBLIC	??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@PAVCSymTable@@HPBQAV3@ABQAV3@V_Iterator_base_aux@2@@std@@QAE@XZ ; std::_Iterator_with_base<std::random_access_iterator_tag,CSymTable *,int,CSymTable * const *,CSymTable * const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,CSymTable *,int,CSymTable * const *,CSymTable * const &,std::_Iterator_base_aux>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@PAVCSymTable@@HPBQAV3@ABQAV3@V_Iterator_base_aux@2@@std@@QAE@XZ
_TEXT	SEGMENT
??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@PAVCSymTable@@HPBQAV3@ABQAV3@V_Iterator_base_aux@2@@std@@QAE@XZ PROC ; std::_Iterator_with_base<std::random_access_iterator_tag,CSymTable *,int,CSymTable * const *,CSymTable * const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,CSymTable *,int,CSymTable * const *,CSymTable * const &,std::_Iterator_base_aux>, COMDAT
; _this$ = ecx
  00000	8b c1		 mov	 eax, ecx
  00002	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0
  00008	c3		 ret	 0
??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@PAVCSymTable@@HPBQAV3@ABQAV3@V_Iterator_base_aux@2@@std@@QAE@XZ ENDP ; std::_Iterator_with_base<std::random_access_iterator_tag,CSymTable *,int,CSymTable * const *,CSymTable * const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,CSymTable *,int,CSymTable * const *,CSymTable * const &,std::_Iterator_base_aux>
_TEXT	ENDS
PUBLIC	?max_size@?$allocator@D@std@@QBEIXZ		; std::allocator<char>::max_size
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ?max_size@?$allocator@D@std@@QBEIXZ
_TEXT	SEGMENT
?max_size@?$allocator@D@std@@QBEIXZ PROC		; std::allocator<char>::max_size, COMDAT
; _this$ = ecx

; 165  : 		_SIZT _Count = (_SIZT)(-1) / sizeof (_Ty);
; 166  : 		return (0 < _Count ? _Count : 1);

  00000	83 c8 ff	 or	 eax, -1

; 167  : 		}

  00003	c3		 ret	 0
?max_size@?$allocator@D@std@@QBEIXZ ENDP		; std::allocator<char>::max_size
_TEXT	ENDS
PUBLIC	??Y?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<double,std::allocator<double> >::operator+=
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??Y?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
__Off$ = 8						; size = 4
??Y?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_const_iterator<double,std::allocator<double> >::operator+=, COMDAT
; _this$ = ecx

; 159  : 		{	// increment by integer

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 160  : 		_SCL_SECURE_VALIDATE(this->_Has_container());

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	57		 push	 edi
  00006	85 c0		 test	 eax, eax
  00008	75 0b		 jne	 SHORT $LN26@operator@13
  0000a	e8 00 00 00 00	 call	 __invalid_parameter_noinfo

; 161  : 		_SCL_SECURE_VALIDATE_RANGE(

  0000f	8b 06		 mov	 eax, DWORD PTR [esi]
  00011	85 c0		 test	 eax, eax
  00013	74 04		 je	 SHORT $LN16@operator@13
$LN26@operator@13:
  00015	8b 10		 mov	 edx, DWORD PTR [eax]
  00017	eb 02		 jmp	 SHORT $LN17@operator@13
$LN16@operator@13:
  00019	33 d2		 xor	 edx, edx
$LN17@operator@13:
  0001b	8b 7c 24 0c	 mov	 edi, DWORD PTR __Off$[esp+4]
  0001f	8b 4e 04	 mov	 ecx, DWORD PTR [esi+4]
  00022	03 ff		 add	 edi, edi
  00024	03 ff		 add	 edi, edi
  00026	03 ff		 add	 edi, edi
  00028	03 cf		 add	 ecx, edi
  0002a	3b 4a 10	 cmp	 ecx, DWORD PTR [edx+16]
  0002d	77 0f		 ja	 SHORT $LN4@operator@13
  0002f	85 c0		 test	 eax, eax
  00031	74 04		 je	 SHORT $LN22@operator@13
  00033	8b 00		 mov	 eax, DWORD PTR [eax]
  00035	eb 02		 jmp	 SHORT $LN23@operator@13
$LN22@operator@13:
  00037	33 c0		 xor	 eax, eax
$LN23@operator@13:
  00039	3b 48 0c	 cmp	 ecx, DWORD PTR [eax+12]
  0003c	73 05		 jae	 SHORT $LN27@operator@13
$LN4@operator@13:

; 162  : 			_Myptr + _Off <= ((_Myvec *)(this->_Getmycont()))->_Mylast &&
; 163  : 			_Myptr + _Off >= ((_Myvec *)(this->_Getmycont()))->_Myfirst);

  0003e	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN27@operator@13:

; 164  : 		_Myptr += _Off;

  00043	01 7e 04	 add	 DWORD PTR [esi+4], edi
  00046	5f		 pop	 edi

; 165  : 		return (*this);

  00047	8b c6		 mov	 eax, esi
  00049	5e		 pop	 esi

; 166  : 		}

  0004a	c2 04 00	 ret	 4
??Y?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_const_iterator<double,std::allocator<double> >::operator+=
_TEXT	ENDS
PUBLIC	??Y?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >::operator+=
; Function compile flags: /Ogtpy
;	COMDAT ??Y?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
__Off$ = 8						; size = 4
??Y?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >::operator+=, COMDAT
; _this$ = ecx

; 159  : 		{	// increment by integer

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 160  : 		_SCL_SECURE_VALIDATE(this->_Has_container());

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	57		 push	 edi
  00006	85 c0		 test	 eax, eax
  00008	75 0b		 jne	 SHORT $LN26@operator@14
  0000a	e8 00 00 00 00	 call	 __invalid_parameter_noinfo

; 161  : 		_SCL_SECURE_VALIDATE_RANGE(

  0000f	8b 06		 mov	 eax, DWORD PTR [esi]
  00011	85 c0		 test	 eax, eax
  00013	74 04		 je	 SHORT $LN16@operator@14
$LN26@operator@14:
  00015	8b 10		 mov	 edx, DWORD PTR [eax]
  00017	eb 02		 jmp	 SHORT $LN17@operator@14
$LN16@operator@14:
  00019	33 d2		 xor	 edx, edx
$LN17@operator@14:
  0001b	8b 7c 24 0c	 mov	 edi, DWORD PTR __Off$[esp+4]
  0001f	8b 4e 04	 mov	 ecx, DWORD PTR [esi+4]
  00022	03 ff		 add	 edi, edi
  00024	03 ff		 add	 edi, edi
  00026	03 cf		 add	 ecx, edi
  00028	3b 4a 10	 cmp	 ecx, DWORD PTR [edx+16]
  0002b	77 0f		 ja	 SHORT $LN4@operator@14
  0002d	85 c0		 test	 eax, eax
  0002f	74 04		 je	 SHORT $LN22@operator@14
  00031	8b 00		 mov	 eax, DWORD PTR [eax]
  00033	eb 02		 jmp	 SHORT $LN23@operator@14
$LN22@operator@14:
  00035	33 c0		 xor	 eax, eax
$LN23@operator@14:
  00037	3b 48 0c	 cmp	 ecx, DWORD PTR [eax+12]
  0003a	73 05		 jae	 SHORT $LN27@operator@14
$LN4@operator@14:

; 162  : 			_Myptr + _Off <= ((_Myvec *)(this->_Getmycont()))->_Mylast &&
; 163  : 			_Myptr + _Off >= ((_Myvec *)(this->_Getmycont()))->_Myfirst);

  0003c	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN27@operator@14:

; 164  : 		_Myptr += _Off;

  00041	01 7e 04	 add	 DWORD PTR [esi+4], edi
  00044	5f		 pop	 edi

; 165  : 		return (*this);

  00045	8b c6		 mov	 eax, esi
  00047	5e		 pop	 esi

; 166  : 		}

  00048	c2 04 00	 ret	 4
??Y?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >::operator+=
_TEXT	ENDS
PUBLIC	__TI2?AVbad_alloc@std@@
PUBLIC	??$_Allocate@PAVCSymTable@@@std@@YAPAPAVCSymTable@@IPAPAV1@@Z ; std::_Allocate<CSymTable *>
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	??2@YAPAXI@Z:PROC				; operator new
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 9.0\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@@
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
xdata$x	ENDS
;	COMDAT ??$_Allocate@PAVCSymTable@@@std@@YAPAPAVCSymTable@@IPAPAV1@@Z
_TEXT	SEGMENT
$T100762 = -12						; size = 12
$T100767 = 8						; size = 4
__Count$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Allocate@PAVCSymTable@@@std@@YAPAPAVCSymTable@@IPAPAV1@@Z PROC ; std::_Allocate<CSymTable *>, COMDAT

; 37   : 	if (_Count <= 0)

  00000	8b 4c 24 04	 mov	 ecx, DWORD PTR __Count$[esp-4]
  00004	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00007	85 c9		 test	 ecx, ecx
  00009	77 16		 ja	 SHORT $LN3@Allocate

; 38   : 		_Count = 0;

  0000b	33 c9		 xor	 ecx, ecx
$LN1@Allocate:

; 41   : 
; 42   : 		// allocate storage for _Count elements of type _Ty
; 43   : 	return ((_Ty _FARQ *)::operator new(_Count * sizeof (_Ty)));

  0000d	8d 14 8d 00 00
	00 00		 lea	 edx, DWORD PTR [ecx*4]
  00014	52		 push	 edx
  00015	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0001a	83 c4 04	 add	 esp, 4

; 44   : 	}

  0001d	83 c4 0c	 add	 esp, 12			; 0000000cH
  00020	c3		 ret	 0
$LN3@Allocate:

; 39   : 	else if (((_SIZT)(-1) / _Count) < sizeof (_Ty))

  00021	83 c8 ff	 or	 eax, -1
  00024	33 d2		 xor	 edx, edx
  00026	f7 f1		 div	 ecx
  00028	83 f8 04	 cmp	 eax, 4
  0002b	73 e0		 jae	 SHORT $LN1@Allocate

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

  0002d	8d 44 24 10	 lea	 eax, DWORD PTR $T100767[esp+8]
  00031	50		 push	 eax
  00032	8d 4c 24 04	 lea	 ecx, DWORD PTR $T100762[esp+16]
  00036	c7 44 24 14 00
	00 00 00	 mov	 DWORD PTR $T100767[esp+12], 0
  0003e	e8 00 00 00 00	 call	 ??0exception@std@@QAE@ABQBD@Z ; std::exception::exception
  00043	68 00 00 00 00	 push	 OFFSET __TI2?AVbad_alloc@std@@
  00048	8d 4c 24 04	 lea	 ecx, DWORD PTR $T100762[esp+16]
  0004c	51		 push	 ecx
  0004d	c7 44 24 08 00
	00 00 00	 mov	 DWORD PTR $T100762[esp+20], OFFSET ??_7bad_alloc@std@@6B@
  00055	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN9@Allocate:
$LN8@Allocate:
  0005a	cc		 int	 3
??$_Allocate@PAVCSymTable@@@std@@YAPAPAVCSymTable@@IPAPAV1@@Z ENDP ; std::_Allocate<CSymTable *>
_TEXT	ENDS
PUBLIC	??$?0H@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@H@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><int>
; Function compile flags: /Ogtpy
;	COMDAT ??$?0H@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@H@1@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
??$?0H@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@H@1@@Z PROC ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><int>, COMDAT
; _this$ = ecx

; 128  : 		allocator(const allocator<_Other>&) _THROW0()

  00000	8b c1		 mov	 eax, ecx

; 129  : 		{	// construct from a related allocator (do nothing)
; 130  : 		}

  00002	c2 04 00	 ret	 4
??$?0H@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@H@1@@Z ENDP ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><int>
_TEXT	ENDS
PUBLIC	??$_Allocate@H@std@@YAPAHIPAH@Z			; std::_Allocate<int>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Allocate@H@std@@YAPAHIPAH@Z
_TEXT	SEGMENT
$T100776 = -12						; size = 12
$T100780 = 8						; size = 4
__Count$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Allocate@H@std@@YAPAHIPAH@Z PROC			; std::_Allocate<int>, COMDAT

; 37   : 	if (_Count <= 0)

  00000	8b 4c 24 04	 mov	 ecx, DWORD PTR __Count$[esp-4]
  00004	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00007	85 c9		 test	 ecx, ecx
  00009	77 16		 ja	 SHORT $LN3@Allocate@2

; 38   : 		_Count = 0;

  0000b	33 c9		 xor	 ecx, ecx
$LN1@Allocate@2:

; 41   : 
; 42   : 		// allocate storage for _Count elements of type _Ty
; 43   : 	return ((_Ty _FARQ *)::operator new(_Count * sizeof (_Ty)));

  0000d	8d 14 8d 00 00
	00 00		 lea	 edx, DWORD PTR [ecx*4]
  00014	52		 push	 edx
  00015	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0001a	83 c4 04	 add	 esp, 4

; 44   : 	}

  0001d	83 c4 0c	 add	 esp, 12			; 0000000cH
  00020	c3		 ret	 0
$LN3@Allocate@2:

; 39   : 	else if (((_SIZT)(-1) / _Count) < sizeof (_Ty))

  00021	83 c8 ff	 or	 eax, -1
  00024	33 d2		 xor	 edx, edx
  00026	f7 f1		 div	 ecx
  00028	83 f8 04	 cmp	 eax, 4
  0002b	73 e0		 jae	 SHORT $LN1@Allocate@2

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

  0002d	8d 44 24 10	 lea	 eax, DWORD PTR $T100780[esp+8]
  00031	50		 push	 eax
  00032	8d 4c 24 04	 lea	 ecx, DWORD PTR $T100776[esp+16]
  00036	c7 44 24 14 00
	00 00 00	 mov	 DWORD PTR $T100780[esp+12], 0
  0003e	e8 00 00 00 00	 call	 ??0exception@std@@QAE@ABQBD@Z ; std::exception::exception
  00043	68 00 00 00 00	 push	 OFFSET __TI2?AVbad_alloc@std@@
  00048	8d 4c 24 04	 lea	 ecx, DWORD PTR $T100776[esp+16]
  0004c	51		 push	 ecx
  0004d	c7 44 24 08 00
	00 00 00	 mov	 DWORD PTR $T100776[esp+20], OFFSET ??_7bad_alloc@std@@6B@
  00055	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN9@Allocate@2:
$LN8@Allocate@2:
  0005a	cc		 int	 3
??$_Allocate@H@std@@YAPAHIPAH@Z ENDP			; std::_Allocate<int>
_TEXT	ENDS
PUBLIC	??$?0N@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@N@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><double>
; Function compile flags: /Ogtpy
;	COMDAT ??$?0N@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@N@1@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
??$?0N@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@N@1@@Z PROC ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><double>, COMDAT
; _this$ = ecx

; 128  : 		allocator(const allocator<_Other>&) _THROW0()

  00000	8b c1		 mov	 eax, ecx

; 129  : 		{	// construct from a related allocator (do nothing)
; 130  : 		}

  00002	c2 04 00	 ret	 4
??$?0N@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@N@1@@Z ENDP ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><double>
_TEXT	ENDS
PUBLIC	??$_Allocate@N@std@@YAPANIPAN@Z			; std::_Allocate<double>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Allocate@N@std@@YAPANIPAN@Z
_TEXT	SEGMENT
$T100789 = -12						; size = 12
$T100793 = 8						; size = 4
__Count$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Allocate@N@std@@YAPANIPAN@Z PROC			; std::_Allocate<double>, COMDAT

; 37   : 	if (_Count <= 0)

  00000	8b 4c 24 04	 mov	 ecx, DWORD PTR __Count$[esp-4]
  00004	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00007	85 c9		 test	 ecx, ecx
  00009	77 16		 ja	 SHORT $LN3@Allocate@3

; 38   : 		_Count = 0;

  0000b	33 c9		 xor	 ecx, ecx
$LN1@Allocate@3:

; 41   : 
; 42   : 		// allocate storage for _Count elements of type _Ty
; 43   : 	return ((_Ty _FARQ *)::operator new(_Count * sizeof (_Ty)));

  0000d	8d 14 cd 00 00
	00 00		 lea	 edx, DWORD PTR [ecx*8]
  00014	52		 push	 edx
  00015	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0001a	83 c4 04	 add	 esp, 4

; 44   : 	}

  0001d	83 c4 0c	 add	 esp, 12			; 0000000cH
  00020	c3		 ret	 0
$LN3@Allocate@3:

; 39   : 	else if (((_SIZT)(-1) / _Count) < sizeof (_Ty))

  00021	83 c8 ff	 or	 eax, -1
  00024	33 d2		 xor	 edx, edx
  00026	f7 f1		 div	 ecx
  00028	83 f8 08	 cmp	 eax, 8
  0002b	73 e0		 jae	 SHORT $LN1@Allocate@3

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

  0002d	8d 44 24 10	 lea	 eax, DWORD PTR $T100793[esp+8]
  00031	50		 push	 eax
  00032	8d 4c 24 04	 lea	 ecx, DWORD PTR $T100789[esp+16]
  00036	c7 44 24 14 00
	00 00 00	 mov	 DWORD PTR $T100793[esp+12], 0
  0003e	e8 00 00 00 00	 call	 ??0exception@std@@QAE@ABQBD@Z ; std::exception::exception
  00043	68 00 00 00 00	 push	 OFFSET __TI2?AVbad_alloc@std@@
  00048	8d 4c 24 04	 lea	 ecx, DWORD PTR $T100789[esp+16]
  0004c	51		 push	 ecx
  0004d	c7 44 24 08 00
	00 00 00	 mov	 DWORD PTR $T100789[esp+20], OFFSET ??_7bad_alloc@std@@6B@
  00055	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN9@Allocate@3:
$LN8@Allocate@3:
  0005a	cc		 int	 3
??$_Allocate@N@std@@YAPANIPAN@Z ENDP			; std::_Allocate<double>
_TEXT	ENDS
PUBLIC	??$?0PAVCSymTable@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCSymTable@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><CSymTable *>
; Function compile flags: /Ogtpy
;	COMDAT ??$?0PAVCSymTable@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCSymTable@@@1@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
??$?0PAVCSymTable@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCSymTable@@@1@@Z PROC ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><CSymTable *>, COMDAT
; _this$ = ecx

; 128  : 		allocator(const allocator<_Other>&) _THROW0()

  00000	8b c1		 mov	 eax, ecx

; 129  : 		{	// construct from a related allocator (do nothing)
; 130  : 		}

  00002	c2 04 00	 ret	 4
??$?0PAVCSymTable@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCSymTable@@@1@@Z ENDP ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><CSymTable *>
_TEXT	ENDS
PUBLIC	??$_Allocate@V_Aux_cont@std@@@std@@YAPAV_Aux_cont@0@IPAV10@@Z ; std::_Allocate<std::_Aux_cont>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Allocate@V_Aux_cont@std@@@std@@YAPAV_Aux_cont@0@IPAV10@@Z
_TEXT	SEGMENT
$T100802 = -12						; size = 12
$T100806 = 8						; size = 4
__Count$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Allocate@V_Aux_cont@std@@@std@@YAPAV_Aux_cont@0@IPAV10@@Z PROC ; std::_Allocate<std::_Aux_cont>, COMDAT

; 37   : 	if (_Count <= 0)

  00000	8b 4c 24 04	 mov	 ecx, DWORD PTR __Count$[esp-4]
  00004	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00007	85 c9		 test	 ecx, ecx
  00009	77 16		 ja	 SHORT $LN3@Allocate@4

; 38   : 		_Count = 0;

  0000b	33 c9		 xor	 ecx, ecx
$LN1@Allocate@4:

; 41   : 
; 42   : 		// allocate storage for _Count elements of type _Ty
; 43   : 	return ((_Ty _FARQ *)::operator new(_Count * sizeof (_Ty)));

  0000d	8d 14 8d 00 00
	00 00		 lea	 edx, DWORD PTR [ecx*4]
  00014	52		 push	 edx
  00015	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0001a	83 c4 04	 add	 esp, 4

; 44   : 	}

  0001d	83 c4 0c	 add	 esp, 12			; 0000000cH
  00020	c3		 ret	 0
$LN3@Allocate@4:

; 39   : 	else if (((_SIZT)(-1) / _Count) < sizeof (_Ty))

  00021	83 c8 ff	 or	 eax, -1
  00024	33 d2		 xor	 edx, edx
  00026	f7 f1		 div	 ecx
  00028	83 f8 04	 cmp	 eax, 4
  0002b	73 e0		 jae	 SHORT $LN1@Allocate@4

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

  0002d	8d 44 24 10	 lea	 eax, DWORD PTR $T100806[esp+8]
  00031	50		 push	 eax
  00032	8d 4c 24 04	 lea	 ecx, DWORD PTR $T100802[esp+16]
  00036	c7 44 24 14 00
	00 00 00	 mov	 DWORD PTR $T100806[esp+12], 0
  0003e	e8 00 00 00 00	 call	 ??0exception@std@@QAE@ABQBD@Z ; std::exception::exception
  00043	68 00 00 00 00	 push	 OFFSET __TI2?AVbad_alloc@std@@
  00048	8d 4c 24 04	 lea	 ecx, DWORD PTR $T100802[esp+16]
  0004c	51		 push	 ecx
  0004d	c7 44 24 08 00
	00 00 00	 mov	 DWORD PTR $T100802[esp+20], OFFSET ??_7bad_alloc@std@@6B@
  00055	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN9@Allocate@4:
$LN8@Allocate@4:
  0005a	cc		 int	 3
??$_Allocate@V_Aux_cont@std@@@std@@YAPAV_Aux_cont@0@IPAV10@@Z ENDP ; std::_Allocate<std::_Aux_cont>
_TEXT	ENDS
PUBLIC	??$_Allocate@D@std@@YAPADIPAD@Z			; std::_Allocate<char>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Allocate@D@std@@YAPADIPAD@Z
_TEXT	SEGMENT
$T100812 = -12						; size = 12
$T100816 = 8						; size = 4
__Count$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Allocate@D@std@@YAPADIPAD@Z PROC			; std::_Allocate<char>, COMDAT

; 37   : 	if (_Count <= 0)

  00000	8b 4c 24 04	 mov	 ecx, DWORD PTR __Count$[esp-4]
  00004	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00007	85 c9		 test	 ecx, ecx
  00009	77 0f		 ja	 SHORT $LN3@Allocate@5

; 38   : 		_Count = 0;

  0000b	33 c9		 xor	 ecx, ecx
$LN1@Allocate@5:

; 41   : 
; 42   : 		// allocate storage for _Count elements of type _Ty
; 43   : 	return ((_Ty _FARQ *)::operator new(_Count * sizeof (_Ty)));

  0000d	51		 push	 ecx
  0000e	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00013	83 c4 04	 add	 esp, 4

; 44   : 	}

  00016	83 c4 0c	 add	 esp, 12			; 0000000cH
  00019	c3		 ret	 0
$LN3@Allocate@5:

; 39   : 	else if (((_SIZT)(-1) / _Count) < sizeof (_Ty))

  0001a	83 c8 ff	 or	 eax, -1
  0001d	33 d2		 xor	 edx, edx
  0001f	f7 f1		 div	 ecx
  00021	83 f8 01	 cmp	 eax, 1
  00024	73 e7		 jae	 SHORT $LN1@Allocate@5

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

  00026	8d 44 24 10	 lea	 eax, DWORD PTR $T100816[esp+8]
  0002a	50		 push	 eax
  0002b	8d 4c 24 04	 lea	 ecx, DWORD PTR $T100812[esp+16]
  0002f	c7 44 24 14 00
	00 00 00	 mov	 DWORD PTR $T100816[esp+12], 0
  00037	e8 00 00 00 00	 call	 ??0exception@std@@QAE@ABQBD@Z ; std::exception::exception
  0003c	68 00 00 00 00	 push	 OFFSET __TI2?AVbad_alloc@std@@
  00041	8d 4c 24 04	 lea	 ecx, DWORD PTR $T100812[esp+16]
  00045	51		 push	 ecx
  00046	c7 44 24 08 00
	00 00 00	 mov	 DWORD PTR $T100812[esp+20], OFFSET ??_7bad_alloc@std@@6B@
  0004e	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN9@Allocate@5:
$LN8@Allocate@5:
  00053	cc		 int	 3
??$_Allocate@D@std@@YAPADIPAD@Z ENDP			; std::_Allocate<char>
; 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
  00000	8b 44 24 04	 mov	 eax, DWORD PTR ___that$[esp-4]
  00004	56		 push	 esi
  00005	50		 push	 eax
  00006	8b f1		 mov	 esi, ecx
  00008	e8 00 00 00 00	 call	 ??0exception@std@@QAE@ABV01@@Z ; std::exception::exception
  0000d	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], OFFSET ??_7bad_alloc@std@@6B@
  00013	8b c6		 mov	 eax, esi
  00015	5e		 pop	 esi
  00016	c2 04 00	 ret	 4
??0bad_alloc@std@@QAE@ABV01@@Z ENDP			; std::bad_alloc::bad_alloc
_TEXT	ENDS
PUBLIC	??$_Char_traits_cat@U?$char_traits@D@std@@@std@@YA?AU_Secure_char_traits_tag@0@XZ ; std::_Char_traits_cat<std::char_traits<char> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd
;	COMDAT ??$_Char_traits_cat@U?$char_traits@D@std@@@std@@YA?AU_Secure_char_traits_tag@0@XZ
_TEXT	SEGMENT
__Secure$ = -1						; size = 1
??$_Char_traits_cat@U?$char_traits@D@std@@@std@@YA?AU_Secure_char_traits_tag@0@XZ PROC ; std::_Char_traits_cat<std::char_traits<char> >, COMDAT

; 575  : 	{

  00000	51		 push	 ecx

; 576  : 		typename _Char_traits_category<_Traits>::_Secure_char_traits _Secure;
; 577  : 		return (_Secure);

  00001	8a 44 24 03	 mov	 al, BYTE PTR __Secure$[esp+4]

; 578  : 	}

  00005	59		 pop	 ecx
  00006	c3		 ret	 0
??$_Char_traits_cat@U?$char_traits@D@std@@@std@@YA?AU_Secure_char_traits_tag@0@XZ ENDP ; std::_Char_traits_cat<std::char_traits<char> >
_TEXT	ENDS
PUBLIC	??$copy_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDIU_Secure_char_traits_tag@1@@Z ; std::_Traits_helper::copy_s<std::char_traits<char> >
; Function compile flags: /Ogtpy
;	COMDAT ??$copy_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDIU_Secure_char_traits_tag@1@@Z
_TEXT	SEGMENT
__First1$ = 8						; size = 4
__Size$ = 12						; size = 4
__First2$ = 16						; size = 4
__Count$ = 20						; size = 4
___formal$ = 24						; size = 1
??$copy_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDIU_Secure_char_traits_tag@1@@Z PROC ; std::_Traits_helper::copy_s<std::char_traits<char> >, COMDAT

; 597  : 		return _Traits::_Copy_s(_First1, _Size, _First2, _Count);

  00000	8b 44 24 10	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 0c	 mov	 ecx, DWORD PTR __First2$[esp-4]
  00008	8b 54 24 08	 mov	 edx, DWORD PTR __Size$[esp-4]
  0000c	56		 push	 esi
  0000d	8b 74 24 08	 mov	 esi, DWORD PTR __First1$[esp]
  00011	50		 push	 eax
  00012	51		 push	 ecx
  00013	52		 push	 edx
  00014	56		 push	 esi
  00015	e8 00 00 00 00	 call	 _memcpy_s
  0001a	83 c4 10	 add	 esp, 16			; 00000010H
  0001d	8b c6		 mov	 eax, esi
  0001f	5e		 pop	 esi

; 598  : 	}

  00020	c3		 ret	 0
??$copy_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDIU_Secure_char_traits_tag@1@@Z ENDP ; std::_Traits_helper::copy_s<std::char_traits<char> >
_TEXT	ENDS
PUBLIC	??$_Iter_random@PAHPAH@std@@YA?AUrandom_access_iterator_tag@0@ABQAH0@Z ; std::_Iter_random<int *,int *>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$_Iter_random@PAHPAH@std@@YA?AUrandom_access_iterator_tag@0@ABQAH0@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
??$_Iter_random@PAHPAH@std@@YA?AUrandom_access_iterator_tag@0@ABQAH0@Z PROC ; std::_Iter_random<int *,int *>, COMDAT

; 994  : 	typename _Iter_random_helper<
; 995  : 		iterator_traits<_Iter1>::iterator_category, 
; 996  : 		iterator_traits<_Iter2>::iterator_category>::_Iter_random_cat _Cat;
; 997  : 	return (_Cat);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR ___$ReturnUdt$[esp-4]

; 998  : 	}

  00004	c3		 ret	 0
??$_Iter_random@PAHPAH@std@@YA?AUrandom_access_iterator_tag@0@ABQAH0@Z ENDP ; std::_Iter_random<int *,int *>
_TEXT	ENDS
PUBLIC	??$_Ptr_cat@PAHPAH@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAH0@Z ; std::_Ptr_cat<int *,int *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Ptr_cat@PAHPAH@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAH0@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Ptr_cat@PAHPAH@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAH0@Z PROC ; std::_Ptr_cat<int *,int *>, COMDAT

; 1509 : 	{

  00000	51		 push	 ecx

; 1510 : 	typename _Ptr_cat_helper<_T1, _T2>::_Ptr_cat _Cat;
; 1511 : 	return (_Cat);

  00001	8a 44 24 03	 mov	 al, BYTE PTR __Cat$[esp+4]

; 1512 : 	}

  00005	59		 pop	 ecx
  00006	c3		 ret	 0
??$_Ptr_cat@PAHPAH@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAH0@Z ENDP ; std::_Ptr_cat<int *,int *>
_TEXT	ENDS
PUBLIC	??$_Copy_opt@PAHPAHUrandom_access_iterator_tag@std@@@std@@YAPAHPAH00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<int *,int *,std::random_access_iterator_tag>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Copy_opt@PAHPAHUrandom_access_iterator_tag@std@@@std@@YAPAHPAH00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
___formal$ = 20						; size = 1
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Copy_opt@PAHPAHUrandom_access_iterator_tag@std@@@std@@YAPAHPAH00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_opt<int *,int *,std::random_access_iterator_tag>, COMDAT

; 2495 : 
; 2496 :  #if _HAS_ITERATOR_DEBUGGING
; 2497 : 	_DEBUG_RANGE(_First, _Last);
; 2498 : 	if (_First != _Last)
; 2499 : 		_DEBUG_POINTER(_Dest);
; 2500 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 2501 : 
; 2502 : 	ptrdiff_t _Off = _Last - _First;	// NB: non-overlapping move

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 02	 sar	 eax, 2
  0000e	57		 push	 edi

; 2503 : 	// if _OutIt is range checked, this will make sure there is enough space for the memmove
; 2504 : 	_OutIt _Result = _Dest + _Off;

  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]

; 2505 : 	if (_Off > 0)

  0001d	85 c0		 test	 eax, eax
  0001f	7e 0c		 jle	 SHORT $LN4@Copy_opt

; 2506 : 		_CRT_SECURE_MEMMOVE(&*_Dest, _Off * sizeof (*_First), &*_First, _Off * sizeof (*_First));

  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN4@Copy_opt:
  0002d	5f		 pop	 edi

; 2507 : 	return _Result;

  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 2508 : 	}

  00031	c3		 ret	 0
??$_Copy_opt@PAHPAHUrandom_access_iterator_tag@std@@@std@@YAPAHPAH00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_opt<int *,int *,std::random_access_iterator_tag>
_TEXT	ENDS
PUBLIC	??$_Fill@PAHH@std@@YAXPAH0ABH@Z			; std::_Fill<int *,int>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Fill@PAHH@std@@YAXPAH0ABH@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$_Fill@PAHH@std@@YAXPAH0ABH@Z PROC			; std::_Fill<int *,int>, COMDAT

; 3157 : 	_DEBUG_RANGE(_First, _Last);
; 3158 : 	for (; _First != _Last; ++_First)

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __First$[esp-4]
  00004	8b 4c 24 08	 mov	 ecx, DWORD PTR __Last$[esp-4]
  00008	3b c1		 cmp	 eax, ecx
  0000a	74 11		 je	 SHORT $LN1@Fill
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
  00010	56		 push	 esi
$LL3@Fill:

; 3159 : 		*_First = _Val;

  00011	8b 32		 mov	 esi, DWORD PTR [edx]
  00013	89 30		 mov	 DWORD PTR [eax], esi
  00015	83 c0 04	 add	 eax, 4
  00018	3b c1		 cmp	 eax, ecx
  0001a	75 f5		 jne	 SHORT $LL3@Fill
  0001c	5e		 pop	 esi
$LN1@Fill:

; 3160 : 	}

  0001d	c3		 ret	 0
??$_Fill@PAHH@std@@YAXPAH0ABH@Z ENDP			; std::_Fill<int *,int>
_TEXT	ENDS
PUBLIC	??$_Move_cat@PAH@std@@YA?AU_Undefined_move_tag@0@ABQAH@Z ; std::_Move_cat<int *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Move_cat@PAH@std@@YA?AU_Undefined_move_tag@0@ABQAH@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
??$_Move_cat@PAH@std@@YA?AU_Undefined_move_tag@0@ABQAH@Z PROC ; std::_Move_cat<int *>, COMDAT

; 1200 : 	{

  00000	51		 push	 ecx

; 1201 : 		typename _Move_operation_category<typename iterator_traits<_Iter>::value_type>::_Move_cat _Cat;
; 1202 : 		return (_Cat);

  00001	8a 44 24 03	 mov	 al, BYTE PTR __Cat$[esp+4]

; 1203 : 	}

  00005	59		 pop	 ecx
  00006	c3		 ret	 0
??$_Move_cat@PAH@std@@YA?AU_Undefined_move_tag@0@ABQAH@Z ENDP ; std::_Move_cat<int *>
_TEXT	ENDS
PUBLIC	??$_Iter_random@PANPAN@std@@YA?AUrandom_access_iterator_tag@0@ABQAN0@Z ; std::_Iter_random<double *,double *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Iter_random@PANPAN@std@@YA?AUrandom_access_iterator_tag@0@ABQAN0@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
??$_Iter_random@PANPAN@std@@YA?AUrandom_access_iterator_tag@0@ABQAN0@Z PROC ; std::_Iter_random<double *,double *>, COMDAT

; 994  : 	typename _Iter_random_helper<
; 995  : 		iterator_traits<_Iter1>::iterator_category, 
; 996  : 		iterator_traits<_Iter2>::iterator_category>::_Iter_random_cat _Cat;
; 997  : 	return (_Cat);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR ___$ReturnUdt$[esp-4]

; 998  : 	}

  00004	c3		 ret	 0
??$_Iter_random@PANPAN@std@@YA?AUrandom_access_iterator_tag@0@ABQAN0@Z ENDP ; std::_Iter_random<double *,double *>
_TEXT	ENDS
PUBLIC	??$_Ptr_cat@PANPAN@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAN0@Z ; std::_Ptr_cat<double *,double *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Ptr_cat@PANPAN@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAN0@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Ptr_cat@PANPAN@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAN0@Z PROC ; std::_Ptr_cat<double *,double *>, COMDAT

; 1509 : 	{

  00000	51		 push	 ecx

; 1510 : 	typename _Ptr_cat_helper<_T1, _T2>::_Ptr_cat _Cat;
; 1511 : 	return (_Cat);

  00001	8a 44 24 03	 mov	 al, BYTE PTR __Cat$[esp+4]

; 1512 : 	}

  00005	59		 pop	 ecx
  00006	c3		 ret	 0
??$_Ptr_cat@PANPAN@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAN0@Z ENDP ; std::_Ptr_cat<double *,double *>
_TEXT	ENDS
PUBLIC	??$_Copy_opt@PANPANUrandom_access_iterator_tag@std@@@std@@YAPANPAN00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<double *,double *,std::random_access_iterator_tag>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Copy_opt@PANPANUrandom_access_iterator_tag@std@@@std@@YAPANPAN00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
___formal$ = 20						; size = 1
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Copy_opt@PANPANUrandom_access_iterator_tag@std@@@std@@YAPANPAN00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_opt<double *,double *,std::random_access_iterator_tag>, COMDAT

; 2495 : 
; 2496 :  #if _HAS_ITERATOR_DEBUGGING
; 2497 : 	_DEBUG_RANGE(_First, _Last);
; 2498 : 	if (_First != _Last)
; 2499 : 		_DEBUG_POINTER(_Dest);
; 2500 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 2501 : 
; 2502 : 	ptrdiff_t _Off = _Last - _First;	// NB: non-overlapping move

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 03	 sar	 eax, 3
  0000e	57		 push	 edi

; 2503 : 	// if _OutIt is range checked, this will make sure there is enough space for the memmove
; 2504 : 	_OutIt _Result = _Dest + _Off;

  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c c5 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*8]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]

; 2505 : 	if (_Off > 0)

  0001d	85 c0		 test	 eax, eax
  0001f	7e 0c		 jle	 SHORT $LN4@Copy_opt@2

; 2506 : 		_CRT_SECURE_MEMMOVE(&*_Dest, _Off * sizeof (*_First), &*_First, _Off * sizeof (*_First));

  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN4@Copy_opt@2:
  0002d	5f		 pop	 edi

; 2507 : 	return _Result;

  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 2508 : 	}

  00031	c3		 ret	 0
??$_Copy_opt@PANPANUrandom_access_iterator_tag@std@@@std@@YAPANPAN00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_opt<double *,double *,std::random_access_iterator_tag>
_TEXT	ENDS
PUBLIC	??$_Iter_random@PAPAVCSymTable@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSymTable@@0@Z ; std::_Iter_random<CSymTable * *,CSymTable * *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Iter_random@PAPAVCSymTable@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSymTable@@0@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
??$_Iter_random@PAPAVCSymTable@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSymTable@@0@Z PROC ; std::_Iter_random<CSymTable * *,CSymTable * *>, COMDAT

; 994  : 	typename _Iter_random_helper<
; 995  : 		iterator_traits<_Iter1>::iterator_category, 
; 996  : 		iterator_traits<_Iter2>::iterator_category>::_Iter_random_cat _Cat;
; 997  : 	return (_Cat);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR ___$ReturnUdt$[esp-4]

; 998  : 	}

  00004	c3		 ret	 0
??$_Iter_random@PAPAVCSymTable@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSymTable@@0@Z ENDP ; std::_Iter_random<CSymTable * *,CSymTable * *>
_TEXT	ENDS
PUBLIC	??$_Ptr_cat@PAPAVCSymTable@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCSymTable@@0@Z ; std::_Ptr_cat<CSymTable * *,CSymTable * *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Ptr_cat@PAPAVCSymTable@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCSymTable@@0@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Ptr_cat@PAPAVCSymTable@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCSymTable@@0@Z PROC ; std::_Ptr_cat<CSymTable * *,CSymTable * *>, COMDAT

; 1509 : 	{

  00000	51		 push	 ecx

; 1510 : 	typename _Ptr_cat_helper<_T1, _T2>::_Ptr_cat _Cat;
; 1511 : 	return (_Cat);

  00001	8a 44 24 03	 mov	 al, BYTE PTR __Cat$[esp+4]

; 1512 : 	}

  00005	59		 pop	 ecx
  00006	c3		 ret	 0
??$_Ptr_cat@PAPAVCSymTable@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCSymTable@@0@Z ENDP ; std::_Ptr_cat<CSymTable * *,CSymTable * *>
_TEXT	ENDS
PUBLIC	??$_Copy_opt@PAPAVCSymTable@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSymTable@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<CSymTable * *,CSymTable * *,std::random_access_iterator_tag>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Copy_opt@PAPAVCSymTable@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSymTable@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
___formal$ = 20						; size = 1
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Copy_opt@PAPAVCSymTable@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSymTable@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_opt<CSymTable * *,CSymTable * *,std::random_access_iterator_tag>, COMDAT

; 2495 : 
; 2496 :  #if _HAS_ITERATOR_DEBUGGING
; 2497 : 	_DEBUG_RANGE(_First, _Last);
; 2498 : 	if (_First != _Last)
; 2499 : 		_DEBUG_POINTER(_Dest);
; 2500 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 2501 : 
; 2502 : 	ptrdiff_t _Off = _Last - _First;	// NB: non-overlapping move

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 02	 sar	 eax, 2
  0000e	57		 push	 edi

; 2503 : 	// if _OutIt is range checked, this will make sure there is enough space for the memmove
; 2504 : 	_OutIt _Result = _Dest + _Off;

  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]

; 2505 : 	if (_Off > 0)

  0001d	85 c0		 test	 eax, eax
  0001f	7e 0c		 jle	 SHORT $LN4@Copy_opt@3

; 2506 : 		_CRT_SECURE_MEMMOVE(&*_Dest, _Off * sizeof (*_First), &*_First, _Off * sizeof (*_First));

  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN4@Copy_opt@3:
  0002d	5f		 pop	 edi

; 2507 : 	return _Result;

  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 2508 : 	}

  00031	c3		 ret	 0
??$_Copy_opt@PAPAVCSymTable@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSymTable@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_opt<CSymTable * *,CSymTable * *,std::random_access_iterator_tag>
_TEXT	ENDS
PUBLIC	??$_Destroy_range@V?$allocator@PAVCSymTable@@@std@@@std@@YAXPAPAVCSymTable@@0AAV?$allocator@PAVCSymTable@@@0@U_Scalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<CSymTable *> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ??$_Destroy_range@V?$allocator@PAVCSymTable@@@std@@@std@@YAXPAPAVCSymTable@@0AAV?$allocator@PAVCSymTable@@@0@U_Scalar_ptr_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Al$ = 16						; size = 4
___formal$ = 20						; size = 1
??$_Destroy_range@V?$allocator@PAVCSymTable@@@std@@@std@@YAXPAPAVCSymTable@@0AAV?$allocator@PAVCSymTable@@@0@U_Scalar_ptr_iterator_tag@0@@Z PROC ; std::_Destroy_range<std::allocator<CSymTable *> >, COMDAT

; 242  : 	}

  00000	c3		 ret	 0
??$_Destroy_range@V?$allocator@PAVCSymTable@@@std@@@std@@YAXPAPAVCSymTable@@0AAV?$allocator@PAVCSymTable@@@0@U_Scalar_ptr_iterator_tag@0@@Z ENDP ; std::_Destroy_range<std::allocator<CSymTable *> >
_TEXT	ENDS
PUBLIC	??$move_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDIU_Secure_char_traits_tag@1@@Z ; std::_Traits_helper::move_s<std::char_traits<char> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd
;	COMDAT ??$move_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDIU_Secure_char_traits_tag@1@@Z
_TEXT	SEGMENT
__First1$ = 8						; size = 4
__Size$ = 12						; size = 4
__First2$ = 16						; size = 4
__Count$ = 20						; size = 4
___formal$ = 24						; size = 1
??$move_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDIU_Secure_char_traits_tag@1@@Z PROC ; std::_Traits_helper::move_s<std::char_traits<char> >, COMDAT

; 624  : 		return _Traits::_Move_s(_First1, _Size, _First2, _Count);

  00000	8b 44 24 10	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 0c	 mov	 ecx, DWORD PTR __First2$[esp-4]
  00008	8b 54 24 08	 mov	 edx, DWORD PTR __Size$[esp-4]
  0000c	56		 push	 esi
  0000d	8b 74 24 08	 mov	 esi, DWORD PTR __First1$[esp]
  00011	50		 push	 eax
  00012	51		 push	 ecx
  00013	52		 push	 edx
  00014	56		 push	 esi
  00015	e8 00 00 00 00	 call	 _memmove_s
  0001a	83 c4 10	 add	 esp, 16			; 00000010H
  0001d	8b c6		 mov	 eax, esi
  0001f	5e		 pop	 esi

; 625  : 	}

  00020	c3		 ret	 0
??$move_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDIU_Secure_char_traits_tag@1@@Z ENDP ; std::_Traits_helper::move_s<std::char_traits<char> >
_TEXT	ENDS
PUBLIC	??$_Destroy_range@V?$allocator@H@std@@@std@@YAXPAH0AAV?$allocator@H@0@U_Scalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<int> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ??$_Destroy_range@V?$allocator@H@std@@@std@@YAXPAH0AAV?$allocator@H@0@U_Scalar_ptr_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Al$ = 16						; size = 4
___formal$ = 20						; size = 1
??$_Destroy_range@V?$allocator@H@std@@@std@@YAXPAH0AAV?$allocator@H@0@U_Scalar_ptr_iterator_tag@0@@Z PROC ; std::_Destroy_range<std::allocator<int> >, COMDAT

; 242  : 	}

  00000	c3		 ret	 0
??$_Destroy_range@V?$allocator@H@std@@@std@@YAXPAH0AAV?$allocator@H@0@U_Scalar_ptr_iterator_tag@0@@Z ENDP ; std::_Destroy_range<std::allocator<int> >
_TEXT	ENDS
PUBLIC	??$_Destroy_range@V?$allocator@N@std@@@std@@YAXPAN0AAV?$allocator@N@0@U_Scalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<double> >
; Function compile flags: /Ogtpy
;	COMDAT ??$_Destroy_range@V?$allocator@N@std@@@std@@YAXPAN0AAV?$allocator@N@0@U_Scalar_ptr_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Al$ = 16						; size = 4
___formal$ = 20						; size = 1
??$_Destroy_range@V?$allocator@N@std@@@std@@YAXPAN0AAV?$allocator@N@0@U_Scalar_ptr_iterator_tag@0@@Z PROC ; std::_Destroy_range<std::allocator<double> >, COMDAT

; 242  : 	}

  00000	c3		 ret	 0
??$_Destroy_range@V?$allocator@N@std@@@std@@YAXPAN0AAV?$allocator@N@0@U_Scalar_ptr_iterator_tag@0@@Z ENDP ; std::_Destroy_range<std::allocator<double> >
_TEXT	ENDS
PUBLIC	??$_Fill@PANN@std@@YAXPAN0ABN@Z			; std::_Fill<double *,double>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$_Fill@PANN@std@@YAXPAN0ABN@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$_Fill@PANN@std@@YAXPAN0ABN@Z PROC			; std::_Fill<double *,double>, COMDAT

; 3157 : 	_DEBUG_RANGE(_First, _Last);
; 3158 : 	for (; _First != _Last; ++_First)

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __First$[esp-4]
  00004	8b 4c 24 08	 mov	 ecx, DWORD PTR __Last$[esp-4]
  00008	3b c1		 cmp	 eax, ecx
  0000a	74 10		 je	 SHORT $LN1@Fill@2
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
$LL3@Fill@2:

; 3159 : 		*_First = _Val;

  00010	dd 02		 fld	 QWORD PTR [edx]
  00012	83 c0 08	 add	 eax, 8
  00015	dd 58 f8	 fstp	 QWORD PTR [eax-8]
  00018	3b c1		 cmp	 eax, ecx
  0001a	75 f4		 jne	 SHORT $LL3@Fill@2
$LN1@Fill@2:

; 3160 : 	}

  0001c	c3		 ret	 0
??$_Fill@PANN@std@@YAXPAN0ABN@Z ENDP			; std::_Fill<double *,double>
_TEXT	ENDS
PUBLIC	??$_Move_cat@PAN@std@@YA?AU_Undefined_move_tag@0@ABQAN@Z ; std::_Move_cat<double *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Move_cat@PAN@std@@YA?AU_Undefined_move_tag@0@ABQAN@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
??$_Move_cat@PAN@std@@YA?AU_Undefined_move_tag@0@ABQAN@Z PROC ; std::_Move_cat<double *>, COMDAT

; 1200 : 	{

  00000	51		 push	 ecx

; 1201 : 		typename _Move_operation_category<typename iterator_traits<_Iter>::value_type>::_Move_cat _Cat;
; 1202 : 		return (_Cat);

  00001	8a 44 24 03	 mov	 al, BYTE PTR __Cat$[esp+4]

; 1203 : 	}

  00005	59		 pop	 ecx
  00006	c3		 ret	 0
??$_Move_cat@PAN@std@@YA?AU_Undefined_move_tag@0@ABQAN@Z ENDP ; std::_Move_cat<double *>
_TEXT	ENDS
PUBLIC	??$_Fill@PAPAVCSymTable@@PAV1@@std@@YAXPAPAVCSymTable@@0ABQAV1@@Z ; std::_Fill<CSymTable * *,CSymTable *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Fill@PAPAVCSymTable@@PAV1@@std@@YAXPAPAVCSymTable@@0ABQAV1@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$_Fill@PAPAVCSymTable@@PAV1@@std@@YAXPAPAVCSymTable@@0ABQAV1@@Z PROC ; std::_Fill<CSymTable * *,CSymTable *>, COMDAT

; 3157 : 	_DEBUG_RANGE(_First, _Last);
; 3158 : 	for (; _First != _Last; ++_First)

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __First$[esp-4]
  00004	8b 4c 24 08	 mov	 ecx, DWORD PTR __Last$[esp-4]
  00008	3b c1		 cmp	 eax, ecx
  0000a	74 11		 je	 SHORT $LN1@Fill@3
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
  00010	56		 push	 esi
$LL3@Fill@3:

; 3159 : 		*_First = _Val;

  00011	8b 32		 mov	 esi, DWORD PTR [edx]
  00013	89 30		 mov	 DWORD PTR [eax], esi
  00015	83 c0 04	 add	 eax, 4
  00018	3b c1		 cmp	 eax, ecx
  0001a	75 f5		 jne	 SHORT $LL3@Fill@3
  0001c	5e		 pop	 esi
$LN1@Fill@3:

; 3160 : 	}

  0001d	c3		 ret	 0
??$_Fill@PAPAVCSymTable@@PAV1@@std@@YAXPAPAVCSymTable@@0ABQAV1@@Z ENDP ; std::_Fill<CSymTable * *,CSymTable *>
_TEXT	ENDS
PUBLIC	??$_Move_cat@PAPAVCSymTable@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCSymTable@@@Z ; std::_Move_cat<CSymTable * *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Move_cat@PAPAVCSymTable@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCSymTable@@@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
??$_Move_cat@PAPAVCSymTable@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCSymTable@@@Z PROC ; std::_Move_cat<CSymTable * *>, COMDAT

; 1200 : 	{

  00000	51		 push	 ecx

; 1201 : 		typename _Move_operation_category<typename iterator_traits<_Iter>::value_type>::_Move_cat _Cat;
; 1202 : 		return (_Cat);

  00001	8a 44 24 03	 mov	 al, BYTE PTR __Cat$[esp+4]

; 1203 : 	}

  00005	59		 pop	 ecx
  00006	c3		 ret	 0
??$_Move_cat@PAPAVCSymTable@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCSymTable@@@Z ENDP ; std::_Move_cat<CSymTable * *>
_TEXT	ENDS
PUBLIC	??$_Checked_base@PAH@std@@YAPAHAAPAHU_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<int *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Checked_base@PAH@std@@YAPAHAAPAHU_Unchanged_checked_iterator_base_type_tag@0@@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
___formal$ = 12						; size = 1
??$_Checked_base@PAH@std@@YAPAHAAPAHU_Unchanged_checked_iterator_base_type_tag@0@@Z PROC ; std::_Checked_base<int *>, COMDAT

; 1147 : 		return _It;

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __It$[esp-4]
  00004	8b 00		 mov	 eax, DWORD PTR [eax]

; 1148 : 	}

  00006	c3		 ret	 0
??$_Checked_base@PAH@std@@YAPAHAAPAHU_Unchanged_checked_iterator_base_type_tag@0@@Z ENDP ; std::_Checked_base<int *>
_TEXT	ENDS
PUBLIC	??$_Copy_backward_opt@PAHPAHUrandom_access_iterator_tag@std@@@std@@YAPAHPAH00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<int *,int *,std::random_access_iterator_tag>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Copy_backward_opt@PAHPAHUrandom_access_iterator_tag@std@@@std@@YAPAHPAH00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
___formal$ = 20						; size = 1
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Copy_backward_opt@PAHPAHUrandom_access_iterator_tag@std@@@std@@YAPAHPAH00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_backward_opt<int *,int *,std::random_access_iterator_tag>, COMDAT

; 2699 : 
; 2700 :  #if _HAS_ITERATOR_DEBUGGING
; 2701 : 	_DEBUG_RANGE(_First, _Last);
; 2702 : 	if (_First != _Last)
; 2703 : 		_DEBUG_POINTER(_Dest);
; 2704 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 2705 : 
; 2706 : 	ptrdiff_t _Off = _Last - _First;	// NB: non-overlapping move

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	c1 f8 02	 sar	 eax, 2
  0000d	56		 push	 esi

; 2707 : 	/* if _OutIt is range checked, this will make sure there is enough space for 
; 2708 : 	 * the memmove
; 2709 : 	 */
; 2710 : 	_OutIt _Result = _Dest - _Off;

  0000e	8b 74 24 10	 mov	 esi, DWORD PTR __Dest$[esp]
  00012	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  00019	2b f1		 sub	 esi, ecx

; 2711 : 	if (_Off > 0)

  0001b	85 c0		 test	 eax, eax
  0001d	7e 0c		 jle	 SHORT $LN4@Copy_backw

; 2712 : 		_CRT_SECURE_MEMMOVE(&*_Result, _Off * sizeof (*_First), &*_First, _Off * sizeof (*_First));

  0001f	51		 push	 ecx
  00020	52		 push	 edx
  00021	51		 push	 ecx
  00022	56		 push	 esi
  00023	e8 00 00 00 00	 call	 _memmove_s
  00028	83 c4 10	 add	 esp, 16			; 00000010H
$LN4@Copy_backw:

; 2713 : 	return _Result;

  0002b	8b c6		 mov	 eax, esi
  0002d	5e		 pop	 esi

; 2714 : 	}

  0002e	c3		 ret	 0
??$_Copy_backward_opt@PAHPAHUrandom_access_iterator_tag@std@@@std@@YAPAHPAH00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_backward_opt<int *,int *,std::random_access_iterator_tag>
_TEXT	ENDS
PUBLIC	??$_Checked_base@PAN@std@@YAPANAAPANU_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<double *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Checked_base@PAN@std@@YAPANAAPANU_Unchanged_checked_iterator_base_type_tag@0@@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
___formal$ = 12						; size = 1
??$_Checked_base@PAN@std@@YAPANAAPANU_Unchanged_checked_iterator_base_type_tag@0@@Z PROC ; std::_Checked_base<double *>, COMDAT

; 1147 : 		return _It;

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __It$[esp-4]
  00004	8b 00		 mov	 eax, DWORD PTR [eax]

; 1148 : 	}

  00006	c3		 ret	 0
??$_Checked_base@PAN@std@@YAPANAAPANU_Unchanged_checked_iterator_base_type_tag@0@@Z ENDP ; std::_Checked_base<double *>
_TEXT	ENDS
PUBLIC	??$_Checked_base@PAPAVCSymTable@@@std@@YAPAPAVCSymTable@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<CSymTable * *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Checked_base@PAPAVCSymTable@@@std@@YAPAPAVCSymTable@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
___formal$ = 12						; size = 1
??$_Checked_base@PAPAVCSymTable@@@std@@YAPAPAVCSymTable@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z PROC ; std::_Checked_base<CSymTable * *>, COMDAT

; 1147 : 		return _It;

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __It$[esp-4]
  00004	8b 00		 mov	 eax, DWORD PTR [eax]

; 1148 : 	}

  00006	c3		 ret	 0
??$_Checked_base@PAPAVCSymTable@@@std@@YAPAPAVCSymTable@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ENDP ; std::_Checked_base<CSymTable * *>
_TEXT	ENDS
PUBLIC	??$_Copy_backward_opt@PANPANUrandom_access_iterator_tag@std@@@std@@YAPANPAN00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<double *,double *,std::random_access_iterator_tag>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Copy_backward_opt@PANPANUrandom_access_iterator_tag@std@@@std@@YAPANPAN00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
___formal$ = 20						; size = 1
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Copy_backward_opt@PANPANUrandom_access_iterator_tag@std@@@std@@YAPANPAN00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_backward_opt<double *,double *,std::random_access_iterator_tag>, COMDAT

; 2699 : 
; 2700 :  #if _HAS_ITERATOR_DEBUGGING
; 2701 : 	_DEBUG_RANGE(_First, _Last);
; 2702 : 	if (_First != _Last)
; 2703 : 		_DEBUG_POINTER(_Dest);
; 2704 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 2705 : 
; 2706 : 	ptrdiff_t _Off = _Last - _First;	// NB: non-overlapping move

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	c1 f8 03	 sar	 eax, 3
  0000d	56		 push	 esi

; 2707 : 	/* if _OutIt is range checked, this will make sure there is enough space for 
; 2708 : 	 * the memmove
; 2709 : 	 */
; 2710 : 	_OutIt _Result = _Dest - _Off;

  0000e	8b 74 24 10	 mov	 esi, DWORD PTR __Dest$[esp]
  00012	8d 0c c5 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*8]
  00019	2b f1		 sub	 esi, ecx

; 2711 : 	if (_Off > 0)

  0001b	85 c0		 test	 eax, eax
  0001d	7e 0c		 jle	 SHORT $LN4@Copy_backw@2

; 2712 : 		_CRT_SECURE_MEMMOVE(&*_Result, _Off * sizeof (*_First), &*_First, _Off * sizeof (*_First));

  0001f	51		 push	 ecx
  00020	52		 push	 edx
  00021	51		 push	 ecx
  00022	56		 push	 esi
  00023	e8 00 00 00 00	 call	 _memmove_s
  00028	83 c4 10	 add	 esp, 16			; 00000010H
$LN4@Copy_backw@2:

; 2713 : 	return _Result;

  0002b	8b c6		 mov	 eax, esi
  0002d	5e		 pop	 esi

; 2714 : 	}

  0002e	c3		 ret	 0
??$_Copy_backward_opt@PANPANUrandom_access_iterator_tag@std@@@std@@YAPANPAN00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_backward_opt<double *,double *,std::random_access_iterator_tag>
_TEXT	ENDS
PUBLIC	??$_Copy_backward_opt@PAPAVCSymTable@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSymTable@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<CSymTable * *,CSymTable * *,std::random_access_iterator_tag>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Copy_backward_opt@PAPAVCSymTable@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSymTable@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
___formal$ = 20						; size = 1
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Copy_backward_opt@PAPAVCSymTable@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSymTable@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_backward_opt<CSymTable * *,CSymTable * *,std::random_access_iterator_tag>, COMDAT

; 2699 : 
; 2700 :  #if _HAS_ITERATOR_DEBUGGING
; 2701 : 	_DEBUG_RANGE(_First, _Last);
; 2702 : 	if (_First != _Last)
; 2703 : 		_DEBUG_POINTER(_Dest);
; 2704 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 2705 : 
; 2706 : 	ptrdiff_t _Off = _Last - _First;	// NB: non-overlapping move

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	c1 f8 02	 sar	 eax, 2
  0000d	56		 push	 esi

; 2707 : 	/* if _OutIt is range checked, this will make sure there is enough space for 
; 2708 : 	 * the memmove
; 2709 : 	 */
; 2710 : 	_OutIt _Result = _Dest - _Off;

  0000e	8b 74 24 10	 mov	 esi, DWORD PTR __Dest$[esp]
  00012	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  00019	2b f1		 sub	 esi, ecx

; 2711 : 	if (_Off > 0)

  0001b	85 c0		 test	 eax, eax
  0001d	7e 0c		 jle	 SHORT $LN4@Copy_backw@3

; 2712 : 		_CRT_SECURE_MEMMOVE(&*_Result, _Off * sizeof (*_First), &*_First, _Off * sizeof (*_First));

  0001f	51		 push	 ecx
  00020	52		 push	 edx
  00021	51		 push	 ecx
  00022	56		 push	 esi
  00023	e8 00 00 00 00	 call	 _memmove_s
  00028	83 c4 10	 add	 esp, 16			; 00000010H
$LN4@Copy_backw@3:

; 2713 : 	return _Result;

  0002b	8b c6		 mov	 eax, esi
  0002d	5e		 pop	 esi

; 2714 : 	}

  0002e	c3		 ret	 0
??$_Copy_backward_opt@PAPAVCSymTable@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSymTable@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_backward_opt<CSymTable * *,CSymTable * *,std::random_access_iterator_tag>
_TEXT	ENDS
PUBLIC	??$_Iter_cat@PAH@std@@YA?AUrandom_access_iterator_tag@0@ABQAH@Z ; std::_Iter_cat<int *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Iter_cat@PAH@std@@YA?AUrandom_access_iterator_tag@0@ABQAH@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
??$_Iter_cat@PAH@std@@YA?AUrandom_access_iterator_tag@0@ABQAH@Z PROC ; std::_Iter_cat<int *>, COMDAT

; 953  : 	typename iterator_traits<_Iter>::iterator_category _Cat;
; 954  : 	return (_Cat);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR ___$ReturnUdt$[esp-4]

; 955  : 	}

  00004	c3		 ret	 0
??$_Iter_cat@PAH@std@@YA?AUrandom_access_iterator_tag@0@ABQAH@Z ENDP ; std::_Iter_cat<int *>
_TEXT	ENDS
PUBLIC	??$_Iter_cat@PAN@std@@YA?AUrandom_access_iterator_tag@0@ABQAN@Z ; std::_Iter_cat<double *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Iter_cat@PAN@std@@YA?AUrandom_access_iterator_tag@0@ABQAN@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
??$_Iter_cat@PAN@std@@YA?AUrandom_access_iterator_tag@0@ABQAN@Z PROC ; std::_Iter_cat<double *>, COMDAT

; 953  : 	typename iterator_traits<_Iter>::iterator_category _Cat;
; 954  : 	return (_Cat);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR ___$ReturnUdt$[esp-4]

; 955  : 	}

  00004	c3		 ret	 0
??$_Iter_cat@PAN@std@@YA?AUrandom_access_iterator_tag@0@ABQAN@Z ENDP ; std::_Iter_cat<double *>
_TEXT	ENDS
PUBLIC	??$_Iter_cat@PAPAVCSymTable@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSymTable@@@Z ; std::_Iter_cat<CSymTable * *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Iter_cat@PAPAVCSymTable@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSymTable@@@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
??$_Iter_cat@PAPAVCSymTable@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSymTable@@@Z PROC ; std::_Iter_cat<CSymTable * *>, COMDAT

; 953  : 	typename iterator_traits<_Iter>::iterator_category _Cat;
; 954  : 	return (_Cat);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR ___$ReturnUdt$[esp-4]

; 955  : 	}

  00004	c3		 ret	 0
??$_Iter_cat@PAPAVCSymTable@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSymTable@@@Z ENDP ; std::_Iter_cat<CSymTable * *>
_TEXT	ENDS
PUBLIC	?_Checked_iterator_base@?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEPAPAVCSymTable@@XZ ; std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >::_Checked_iterator_base
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?_Checked_iterator_base@?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEPAPAVCSymTable@@XZ
_TEXT	SEGMENT
?_Checked_iterator_base@?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEPAPAVCSymTable@@XZ PROC ; std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >::_Checked_iterator_base, COMDAT
; _this$ = ecx

; 305  : 		return (this->_Myptr);

  00000	8b 41 04	 mov	 eax, DWORD PTR [ecx+4]

; 306  : 		}

  00003	c3		 ret	 0
?_Checked_iterator_base@?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEPAPAVCSymTable@@XZ ENDP ; std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >::_Checked_iterator_base
_TEXT	ENDS
PUBLIC	??$_Uninit_copy@PAPAVCSymTable@@PAPAV1@V?$allocator@PAVCSymTable@@@std@@@std@@YAPAPAVCSymTable@@PAPAV1@00AAV?$allocator@PAVCSymTable@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<CSymTable * *,CSymTable * *,std::allocator<CSymTable *> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
;	COMDAT ??$_Uninit_copy@PAPAVCSymTable@@PAPAV1@V?$allocator@PAVCSymTable@@@std@@@std@@YAPAPAVCSymTable@@PAPAV1@00AAV?$allocator@PAVCSymTable@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
___formal$ = 20						; size = 4
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Uninit_copy@PAPAVCSymTable@@PAPAV1@V?$allocator@PAVCSymTable@@@std@@@std@@YAPAPAVCSymTable@@PAPAV1@00AAV?$allocator@PAVCSymTable@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_copy<CSymTable * *,CSymTable * *,std::allocator<CSymTable *> >, COMDAT

; 146  : 	_DEBUG_RANGE(_First, _Last);
; 147  : 	_DEBUG_POINTER(_Dest);
; 148  : 	size_t _Count = (size_t)(_Last - _First);

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 02	 sar	 eax, 2
  0000e	57		 push	 edi

; 149  : 	_FwdIt _Result = _Dest + _Count;

  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]

; 150  : 	if (_Count > 0)

  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN4@Uninit_cop

; 151  : 		_CRT_SECURE_MEMMOVE(&*_Dest, _Count * sizeof (*_First), &*_First, _Count * sizeof (*_First));	// NB: non-overlapping move

  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN4@Uninit_cop:
  0002d	5f		 pop	 edi

; 152  : 	return (_Result);

  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 153  : 	}

  00031	c3		 ret	 0
??$_Uninit_copy@PAPAVCSymTable@@PAPAV1@V?$allocator@PAVCSymTable@@@std@@@std@@YAPAPAVCSymTable@@PAPAV1@00AAV?$allocator@PAVCSymTable@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_copy<CSymTable * *,CSymTable * *,std::allocator<CSymTable *> >
_TEXT	ENDS
PUBLIC	??$_Uninit_copy@PAHPAHV?$allocator@H@std@@@std@@YAPAHPAH00AAV?$allocator@H@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<int *,int *,std::allocator<int> >
; Function compile flags: /Ogtpy
;	COMDAT ??$_Uninit_copy@PAHPAHV?$allocator@H@std@@@std@@YAPAHPAH00AAV?$allocator@H@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
___formal$ = 20						; size = 4
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Uninit_copy@PAHPAHV?$allocator@H@std@@@std@@YAPAHPAH00AAV?$allocator@H@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_copy<int *,int *,std::allocator<int> >, COMDAT

; 146  : 	_DEBUG_RANGE(_First, _Last);
; 147  : 	_DEBUG_POINTER(_Dest);
; 148  : 	size_t _Count = (size_t)(_Last - _First);

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 02	 sar	 eax, 2
  0000e	57		 push	 edi

; 149  : 	_FwdIt _Result = _Dest + _Count;

  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]

; 150  : 	if (_Count > 0)

  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN4@Uninit_cop@2

; 151  : 		_CRT_SECURE_MEMMOVE(&*_Dest, _Count * sizeof (*_First), &*_First, _Count * sizeof (*_First));	// NB: non-overlapping move

  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN4@Uninit_cop@2:
  0002d	5f		 pop	 edi

; 152  : 	return (_Result);

  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 153  : 	}

  00031	c3		 ret	 0
??$_Uninit_copy@PAHPAHV?$allocator@H@std@@@std@@YAPAHPAH00AAV?$allocator@H@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_copy<int *,int *,std::allocator<int> >
_TEXT	ENDS
PUBLIC	??$_Fill_n@PAHIH@std@@YAXPAHIABHU_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<int *,unsigned int,int>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$_Fill_n@PAHIH@std@@YAXPAHIABHU_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
___formal$ = 20						; size = 1
??$_Fill_n@PAHIH@std@@YAXPAHIABHU_Range_checked_iterator_tag@0@@Z PROC ; std::_Fill_n<int *,unsigned int,int>, COMDAT

; 3197 : 	for (; 0 < _Count; --_Count, ++_First)

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	85 c0		 test	 eax, eax
  00006	76 16		 jbe	 SHORT $LN1@Fill_n
  00008	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
  0000c	8b 4c 24 04	 mov	 ecx, DWORD PTR __First$[esp-4]
  00010	56		 push	 esi
$LL3@Fill_n:

; 3198 : 		*_First = _Val;

  00011	8b 32		 mov	 esi, DWORD PTR [edx]
  00013	89 31		 mov	 DWORD PTR [ecx], esi
  00015	48		 dec	 eax
  00016	83 c1 04	 add	 ecx, 4
  00019	85 c0		 test	 eax, eax
  0001b	77 f4		 ja	 SHORT $LL3@Fill_n
  0001d	5e		 pop	 esi
$LN1@Fill_n:

; 3199 : 	}

  0001e	c3		 ret	 0
??$_Fill_n@PAHIH@std@@YAXPAHIABHU_Range_checked_iterator_tag@0@@Z ENDP ; std::_Fill_n<int *,unsigned int,int>
_TEXT	ENDS
PUBLIC	??$_Fill_n@PANIN@std@@YAXPANIABNU_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<double *,unsigned int,double>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Fill_n@PANIN@std@@YAXPANIABNU_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
___formal$ = 20						; size = 1
??$_Fill_n@PANIN@std@@YAXPANIABNU_Range_checked_iterator_tag@0@@Z PROC ; std::_Fill_n<double *,unsigned int,double>, COMDAT

; 3197 : 	for (; 0 < _Count; --_Count, ++_First)

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	85 c0		 test	 eax, eax
  00006	76 14		 jbe	 SHORT $LN1@Fill_n@2
  00008	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
  0000c	8b 4c 24 04	 mov	 ecx, DWORD PTR __First$[esp-4]
$LL3@Fill_n@2:

; 3198 : 		*_First = _Val;

  00010	dd 02		 fld	 QWORD PTR [edx]
  00012	48		 dec	 eax
  00013	dd 19		 fstp	 QWORD PTR [ecx]
  00015	83 c1 08	 add	 ecx, 8
  00018	85 c0		 test	 eax, eax
  0001a	77 f4		 ja	 SHORT $LL3@Fill_n@2
$LN1@Fill_n@2:

; 3199 : 	}

  0001c	c3		 ret	 0
??$_Fill_n@PANIN@std@@YAXPANIABNU_Range_checked_iterator_tag@0@@Z ENDP ; std::_Fill_n<double *,unsigned int,double>
_TEXT	ENDS
PUBLIC	??$_Fill_n@PAPAVCSymTable@@IPAV1@@std@@YAXPAPAVCSymTable@@IABQAV1@U_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<CSymTable * *,unsigned int,CSymTable *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Fill_n@PAPAVCSymTable@@IPAV1@@std@@YAXPAPAVCSymTable@@IABQAV1@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
___formal$ = 20						; size = 1
??$_Fill_n@PAPAVCSymTable@@IPAV1@@std@@YAXPAPAVCSymTable@@IABQAV1@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Fill_n<CSymTable * *,unsigned int,CSymTable *>, COMDAT

; 3197 : 	for (; 0 < _Count; --_Count, ++_First)

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	85 c0		 test	 eax, eax
  00006	76 16		 jbe	 SHORT $LN1@Fill_n@3
  00008	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
  0000c	8b 4c 24 04	 mov	 ecx, DWORD PTR __First$[esp-4]
  00010	56		 push	 esi
$LL3@Fill_n@3:

; 3198 : 		*_First = _Val;

  00011	8b 32		 mov	 esi, DWORD PTR [edx]
  00013	89 31		 mov	 DWORD PTR [ecx], esi
  00015	48		 dec	 eax
  00016	83 c1 04	 add	 ecx, 4
  00019	85 c0		 test	 eax, eax
  0001b	77 f4		 ja	 SHORT $LL3@Fill_n@3
  0001d	5e		 pop	 esi
$LN1@Fill_n@3:

; 3199 : 	}

  0001e	c3		 ret	 0
??$_Fill_n@PAPAVCSymTable@@IPAV1@@std@@YAXPAPAVCSymTable@@IABQAV1@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Fill_n<CSymTable * *,unsigned int,CSymTable *>
_TEXT	ENDS
PUBLIC	??$_Uninit_copy@PANPANV?$allocator@N@std@@@std@@YAPANPAN00AAV?$allocator@N@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<double *,double *,std::allocator<double> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
;	COMDAT ??$_Uninit_copy@PANPANV?$allocator@N@std@@@std@@YAPANPAN00AAV?$allocator@N@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
___formal$ = 20						; size = 4
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Uninit_copy@PANPANV?$allocator@N@std@@@std@@YAPANPAN00AAV?$allocator@N@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_copy<double *,double *,std::allocator<double> >, COMDAT

; 146  : 	_DEBUG_RANGE(_First, _Last);
; 147  : 	_DEBUG_POINTER(_Dest);
; 148  : 	size_t _Count = (size_t)(_Last - _First);

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 03	 sar	 eax, 3
  0000e	57		 push	 edi

; 149  : 	_FwdIt _Result = _Dest + _Count;

  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c c5 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*8]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]

; 150  : 	if (_Count > 0)

  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN4@Uninit_cop@3

; 151  : 		_CRT_SECURE_MEMMOVE(&*_Dest, _Count * sizeof (*_First), &*_First, _Count * sizeof (*_First));	// NB: non-overlapping move

  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN4@Uninit_cop@3:
  0002d	5f		 pop	 edi

; 152  : 	return (_Result);

  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 153  : 	}

  00031	c3		 ret	 0
??$_Uninit_copy@PANPANV?$allocator@N@std@@@std@@YAPANPAN00AAV?$allocator@N@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_copy<double *,double *,std::allocator<double> >
_TEXT	ENDS
PUBLIC	?GetVarCount@CPoly@@QAEHXZ			; CPoly::GetVarCount
; Function compile flags: /Ogtpy
; File d:\# metin2\work in progress\source client\client\eterbase\poly\poly.cpp
;	COMDAT ?GetVarCount@CPoly@@QAEHXZ
_TEXT	SEGMENT
?GetVarCount@CPoly@@QAEHXZ PROC				; CPoly::GetVarCount, COMDAT
; _this$ = ecx

; 584  : 	return lSymbol.size() - MathSymbolCount;

  00000	8b 41 68	 mov	 eax, DWORD PTR [ecx+104]
  00003	2b 41 64	 sub	 eax, DWORD PTR [ecx+100]
  00006	c1 f8 02	 sar	 eax, 2
  00009	2b 81 8c 00 00
	00		 sub	 eax, DWORD PTR [ecx+140]

; 585  : }

  0000f	c3		 ret	 0
?GetVarCount@CPoly@@QAEHXZ ENDP				; CPoly::GetVarCount
_TEXT	ENDS
PUBLIC	??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator[]
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z
_TEXT	SEGMENT
__Off$ = 8						; size = 4
??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator[], COMDAT
; _this$ = ecx

; 1557 : 		{	// subscript mutable sequence

  00000	56		 push	 esi
  00001	57		 push	 edi

; 1558 : 
; 1559 :  #if _HAS_ITERATOR_DEBUGGING
; 1560 : 		// skip debug checks if the container is initizialed with _IGNORE_MYITERLIST
; 1561 : 		if (this->_Myfirstiter != _IGNORE_MYITERLIST)
; 1562 : 			{
; 1563 : 			if (_Mysize < _Off)
; 1564 : 				{
; 1565 : 				_DEBUG_ERROR("string subscript out of range");
; 1566 : 				_SCL_SECURE_OUT_OF_RANGE;
; 1567 : 				}
; 1568 : 			}
; 1569 :  #else
; 1570 : 		_SCL_SECURE_VALIDATE_RANGE(_Off <= _Mysize);

  00002	8b 7c 24 0c	 mov	 edi, DWORD PTR __Off$[esp+4]
  00006	8b f1		 mov	 esi, ecx
  00008	3b 7e 14	 cmp	 edi, DWORD PTR [esi+20]
  0000b	76 05		 jbe	 SHORT $LN3@operator@15
  0000d	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN3@operator@15:

; 1571 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1572 : 
; 1573 : 		return (_Myptr()[_Off]);

  00012	83 7e 18 10	 cmp	 DWORD PTR [esi+24], 16	; 00000010H
  00016	72 0b		 jb	 SHORT $LN9@operator@15
  00018	8b 76 04	 mov	 esi, DWORD PTR [esi+4]
  0001b	8d 04 3e	 lea	 eax, DWORD PTR [esi+edi]
  0001e	5f		 pop	 edi
  0001f	5e		 pop	 esi

; 1574 : 		}

  00020	c2 04 00	 ret	 4

; 1571 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1572 : 
; 1573 : 		return (_Myptr()[_Off]);

$LN9@operator@15:
  00023	8d 44 3e 04	 lea	 eax, DWORD PTR [esi+edi+4]
  00027	5f		 pop	 edi
  00028	5e		 pop	 esi

; 1574 : 		}

  00029	c2 04 00	 ret	 4
??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator[]
_TEXT	ENDS
PUBLIC	?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str
; Function compile flags: /Ogtpy
;	COMDAT ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
_TEXT	SEGMENT
?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str, COMDAT
; _this$ = ecx

; 1651 : 		return (_Myptr());

  00000	83 79 18 10	 cmp	 DWORD PTR [ecx+24], 16	; 00000010H
  00004	72 04		 jb	 SHORT $LN5@c_str
  00006	8b 41 04	 mov	 eax, DWORD PTR [ecx+4]

; 1652 : 		}

  00009	c3		 ret	 0

; 1651 : 		return (_Myptr());

$LN5@c_str:
  0000a	8d 41 04	 lea	 eax, DWORD PTR [ecx+4]

; 1652 : 		}

  0000d	c3		 ret	 0
?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str
_TEXT	ENDS
PUBLIC	?empty@?$vector@HV?$allocator@H@std@@@std@@QBE_NXZ ; std::vector<int,std::allocator<int> >::empty
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?empty@?$vector@HV?$allocator@H@std@@@std@@QBE_NXZ
_TEXT	SEGMENT
?empty@?$vector@HV?$allocator@H@std@@@std@@QBE_NXZ PROC	; std::vector<int,std::allocator<int> >::empty, COMDAT
; _this$ = ecx

; 736  : 		return (size() == 0);

  00000	8b 41 10	 mov	 eax, DWORD PTR [ecx+16]
  00003	2b 41 0c	 sub	 eax, DWORD PTR [ecx+12]
  00006	83 e0 fc	 and	 eax, -4			; fffffffcH
  00009	f7 d8		 neg	 eax
  0000b	1b c0		 sbb	 eax, eax
  0000d	40		 inc	 eax

; 737  : 		}

  0000e	c3		 ret	 0
?empty@?$vector@HV?$allocator@H@std@@@std@@QBE_NXZ ENDP	; std::vector<int,std::allocator<int> >::empty
_TEXT	ENDS
PUBLIC	??A?$vector@HV?$allocator@H@std@@@std@@QAEAAHI@Z ; std::vector<int,std::allocator<int> >::operator[]
; Function compile flags: /Ogtpy
;	COMDAT ??A?$vector@HV?$allocator@H@std@@@std@@QAEAAHI@Z
_TEXT	SEGMENT
__Pos$ = 8						; size = 4
??A?$vector@HV?$allocator@H@std@@@std@@QAEAAHI@Z PROC	; std::vector<int,std::allocator<int> >::operator[], COMDAT
; _this$ = ecx

; 774  : 		{	// subscript mutable sequence

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 775  : 
; 776  :  #if _HAS_ITERATOR_DEBUGGING
; 777  : 		if (size() <= _Pos)
; 778  : 			{
; 779  : 			_DEBUG_ERROR("vector subscript out of range");
; 780  : 			_SCL_SECURE_OUT_OF_RANGE;
; 781  : 			}
; 782  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 783  : 		_SCL_SECURE_VALIDATE_RANGE(_Pos < size());

  00003	8b 46 10	 mov	 eax, DWORD PTR [esi+16]
  00006	2b 46 0c	 sub	 eax, DWORD PTR [esi+12]
  00009	57		 push	 edi
  0000a	8b 7c 24 0c	 mov	 edi, DWORD PTR __Pos$[esp+4]
  0000e	c1 f8 02	 sar	 eax, 2
  00011	3b f8		 cmp	 edi, eax
  00013	72 05		 jb	 SHORT $LN3@operator@16
  00015	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN3@operator@16:

; 784  : 
; 785  : 		return (*(_Myfirst + _Pos));

  0001a	8b 4e 0c	 mov	 ecx, DWORD PTR [esi+12]
  0001d	8d 04 b9	 lea	 eax, DWORD PTR [ecx+edi*4]
  00020	5f		 pop	 edi
  00021	5e		 pop	 esi

; 786  : 		}

  00022	c2 04 00	 ret	 4
??A?$vector@HV?$allocator@H@std@@@std@@QAEAAHI@Z ENDP	; std::vector<int,std::allocator<int> >::operator[]
_TEXT	ENDS
PUBLIC	??D?$_Vector_iterator@HV?$allocator@H@std@@@std@@QBEAAHXZ ; std::_Vector_iterator<int,std::allocator<int> >::operator*
; Function compile flags: /Ogtpy
;	COMDAT ??D?$_Vector_iterator@HV?$allocator@H@std@@@std@@QBEAAHXZ
_TEXT	SEGMENT
??D?$_Vector_iterator@HV?$allocator@H@std@@@std@@QBEAAHXZ PROC ; std::_Vector_iterator<int,std::allocator<int> >::operator*, COMDAT
; _this$ = ecx

; 338  : 		{	// return designated object

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 339  : 		return ((reference)**(_Mybase *)this);

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	85 c0		 test	 eax, eax
  00007	75 0b		 jne	 SHORT $LN21@operator@17
  00009	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  0000e	8b 06		 mov	 eax, DWORD PTR [esi]
  00010	85 c0		 test	 eax, eax
  00012	74 04		 je	 SHORT $LN17@operator@17
$LN21@operator@17:
  00014	8b 00		 mov	 eax, DWORD PTR [eax]
  00016	eb 02		 jmp	 SHORT $LN18@operator@17
$LN17@operator@17:
  00018	33 c0		 xor	 eax, eax
$LN18@operator@17:
  0001a	8b 4e 04	 mov	 ecx, DWORD PTR [esi+4]
  0001d	3b 48 10	 cmp	 ecx, DWORD PTR [eax+16]
  00020	72 0a		 jb	 SHORT $LN22@operator@17
  00022	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00027	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  0002a	5e		 pop	 esi

; 340  : 		}

  0002b	c3		 ret	 0
$LN22@operator@17:

; 339  : 		return ((reference)**(_Mybase *)this);

  0002c	8b c1		 mov	 eax, ecx
  0002e	5e		 pop	 esi

; 340  : 		}

  0002f	c3		 ret	 0
??D?$_Vector_iterator@HV?$allocator@H@std@@@std@@QBEAAHXZ ENDP ; std::_Vector_iterator<int,std::allocator<int> >::operator*
_TEXT	ENDS
PUBLIC	??E?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<int,std::allocator<int> >::operator++
; Function compile flags: /Ogtpy
;	COMDAT ??E?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAEAAV01@XZ
_TEXT	SEGMENT
??E?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAEAAV01@XZ PROC ; std::_Vector_iterator<int,std::allocator<int> >::operator++, COMDAT
; _this$ = ecx

; 348  : 		{	// preincrement

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 349  : 		++(*(_Mybase *)this);

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	85 c0		 test	 eax, eax
  00007	75 0b		 jne	 SHORT $LN21@operator@18
  00009	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  0000e	8b 06		 mov	 eax, DWORD PTR [esi]
  00010	85 c0		 test	 eax, eax
  00012	74 04		 je	 SHORT $LN17@operator@18
$LN21@operator@18:
  00014	8b 00		 mov	 eax, DWORD PTR [eax]
  00016	eb 02		 jmp	 SHORT $LN18@operator@18
$LN17@operator@18:
  00018	33 c0		 xor	 eax, eax
$LN18@operator@18:
  0001a	8b 4e 04	 mov	 ecx, DWORD PTR [esi+4]
  0001d	3b 48 10	 cmp	 ecx, DWORD PTR [eax+16]
  00020	72 05		 jb	 SHORT $LN22@operator@18
  00022	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN22@operator@18:
  00027	83 46 04 04	 add	 DWORD PTR [esi+4], 4

; 350  : 		return (*this);

  0002b	8b c6		 mov	 eax, esi
  0002d	5e		 pop	 esi

; 351  : 		}

  0002e	c3		 ret	 0
??E?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAEAAV01@XZ ENDP ; std::_Vector_iterator<int,std::allocator<int> >::operator++
_TEXT	ENDS
PUBLIC	??E?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAE?AV01@H@Z ; std::_Vector_iterator<int,std::allocator<int> >::operator++
; Function compile flags: /Ogtpy
;	COMDAT ??E?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAE?AV01@H@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
??E?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAE?AV01@H@Z PROC ; std::_Vector_iterator<int,std::allocator<int> >::operator++, COMDAT
; _this$ = ecx

; 354  : 		{	// postincrement

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 355  : 		_Myt _Tmp = *this;

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	8b 4e 04	 mov	 ecx, DWORD PTR [esi+4]
  00008	57		 push	 edi
  00009	8b 7c 24 0c	 mov	 edi, DWORD PTR ___$ReturnUdt$[esp+4]
  0000d	89 07		 mov	 DWORD PTR [edi], eax
  0000f	89 4f 04	 mov	 DWORD PTR [edi+4], ecx

; 356  : 		++*this;

  00012	85 c0		 test	 eax, eax
  00014	75 0b		 jne	 SHORT $LN23@operator@19
  00016	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  0001b	8b 06		 mov	 eax, DWORD PTR [esi]
  0001d	85 c0		 test	 eax, eax
  0001f	74 04		 je	 SHORT $LN19@operator@19
$LN23@operator@19:
  00021	8b 00		 mov	 eax, DWORD PTR [eax]
  00023	eb 02		 jmp	 SHORT $LN20@operator@19
$LN19@operator@19:
  00025	33 c0		 xor	 eax, eax
$LN20@operator@19:
  00027	8b 56 04	 mov	 edx, DWORD PTR [esi+4]
  0002a	3b 50 10	 cmp	 edx, DWORD PTR [eax+16]
  0002d	72 05		 jb	 SHORT $LN24@operator@19
  0002f	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN24@operator@19:
  00034	83 46 04 04	 add	 DWORD PTR [esi+4], 4

; 357  : 		return (_Tmp);

  00038	8b c7		 mov	 eax, edi
  0003a	5f		 pop	 edi
  0003b	5e		 pop	 esi

; 358  : 		}

  0003c	c2 08 00	 ret	 8
??E?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAE?AV01@H@Z ENDP ; std::_Vector_iterator<int,std::allocator<int> >::operator++
_TEXT	ENDS
PUBLIC	??9?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<int,std::allocator<int> >::operator!=
; Function compile flags: /Ogtpy
;	COMDAT ??9?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QBE_NABV01@@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
??9?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<int,std::allocator<int> >::operator!=, COMDAT
; _this$ = ecx

; 215  : 		{	// test for iterator inequality

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 216  : 		return (!(*this == _Right));

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	57		 push	 edi
  00006	8b 7c 24 0c	 mov	 edi, DWORD PTR __Right$[esp+4]
  0000a	85 c0		 test	 eax, eax
  0000c	74 04		 je	 SHORT $LN6@operator@20
  0000e	3b 07		 cmp	 eax, DWORD PTR [edi]
  00010	74 05		 je	 SHORT $LN5@operator@20
$LN6@operator@20:
  00012	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN5@operator@20:
  00017	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  0001a	33 c9		 xor	 ecx, ecx
  0001c	3b 47 04	 cmp	 eax, DWORD PTR [edi+4]
  0001f	5f		 pop	 edi
  00020	0f 95 c1	 setne	 cl
  00023	8a c1		 mov	 al, cl
  00025	5e		 pop	 esi

; 217  : 		}

  00026	c2 04 00	 ret	 4
??9?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<int,std::allocator<int> >::operator!=
_TEXT	ENDS
PUBLIC	??D?$_Vector_iterator@NV?$allocator@N@std@@@std@@QBEAANXZ ; std::_Vector_iterator<double,std::allocator<double> >::operator*
; Function compile flags: /Ogtpy
;	COMDAT ??D?$_Vector_iterator@NV?$allocator@N@std@@@std@@QBEAANXZ
_TEXT	SEGMENT
??D?$_Vector_iterator@NV?$allocator@N@std@@@std@@QBEAANXZ PROC ; std::_Vector_iterator<double,std::allocator<double> >::operator*, COMDAT
; _this$ = ecx

; 338  : 		{	// return designated object

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 339  : 		return ((reference)**(_Mybase *)this);

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	85 c0		 test	 eax, eax
  00007	75 0b		 jne	 SHORT $LN21@operator@21
  00009	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  0000e	8b 06		 mov	 eax, DWORD PTR [esi]
  00010	85 c0		 test	 eax, eax
  00012	74 04		 je	 SHORT $LN17@operator@21
$LN21@operator@21:
  00014	8b 00		 mov	 eax, DWORD PTR [eax]
  00016	eb 02		 jmp	 SHORT $LN18@operator@21
$LN17@operator@21:
  00018	33 c0		 xor	 eax, eax
$LN18@operator@21:
  0001a	8b 4e 04	 mov	 ecx, DWORD PTR [esi+4]
  0001d	3b 48 10	 cmp	 ecx, DWORD PTR [eax+16]
  00020	72 0a		 jb	 SHORT $LN22@operator@21
  00022	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00027	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  0002a	5e		 pop	 esi

; 340  : 		}

  0002b	c3		 ret	 0
$LN22@operator@21:

; 339  : 		return ((reference)**(_Mybase *)this);

  0002c	8b c1		 mov	 eax, ecx
  0002e	5e		 pop	 esi

; 340  : 		}

  0002f	c3		 ret	 0
??D?$_Vector_iterator@NV?$allocator@N@std@@@std@@QBEAANXZ ENDP ; std::_Vector_iterator<double,std::allocator<double> >::operator*
_TEXT	ENDS
PUBLIC	?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::compare
EXTRN	?_Xran@_String_base@std@@SAXXZ:PROC		; std::_String_base::_Xran
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBDI@Z
_TEXT	SEGMENT
__Off$ = 8						; size = 4
__N0$ = 12						; size = 4
__Ptr$ = 16						; size = 4
__Count$ = 20						; size = 4
?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBDI@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::compare, COMDAT
; _this$ = ecx

; 2038 : 		{	// compare [_Off, _Off + _N0) with [_Ptr, _Ptr + _Count)

  00000	53		 push	 ebx
  00001	55		 push	 ebp

; 2039 : 
; 2040 :  #if _HAS_ITERATOR_DEBUGGING
; 2041 : 		if (_Count != 0)
; 2042 : 			_DEBUG_POINTER(_Ptr);
; 2043 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 2044 : 
; 2045 : 		if (_Mysize < _Off)

  00002	8b 6c 24 0c	 mov	 ebp, DWORD PTR __Off$[esp+4]
  00006	56		 push	 esi
  00007	57		 push	 edi
  00008	8b f9		 mov	 edi, ecx
  0000a	39 6f 14	 cmp	 DWORD PTR [edi+20], ebp
  0000d	73 05		 jae	 SHORT $LN2@compare@2

; 2046 : 			_String_base::_Xran();	// _Off off end

  0000f	e8 00 00 00 00	 call	 ?_Xran@_String_base@std@@SAXXZ ; std::_String_base::_Xran
$LN2@compare@2:

; 2047 : 		if (_Mysize - _Off < _N0)

  00014	8b 47 14	 mov	 eax, DWORD PTR [edi+20]
  00017	8b 74 24 18	 mov	 esi, DWORD PTR __N0$[esp+12]
  0001b	2b c5		 sub	 eax, ebp
  0001d	3b c6		 cmp	 eax, esi
  0001f	73 02		 jae	 SHORT $LN1@compare@2

; 2048 : 			_N0 = _Mysize - _Off;	// trim _N0 to size

  00021	8b f0		 mov	 esi, eax
$LN1@compare@2:

; 2049 : 
; 2050 : 		size_type _Ans = _Traits::compare(_Myptr() + _Off, _Ptr,
; 2051 : 			_N0 < _Count ? _N0 : _Count);

  00023	8b 5c 24 20	 mov	 ebx, DWORD PTR __Count$[esp+12]
  00027	8b c6		 mov	 eax, esi
  00029	3b f3		 cmp	 esi, ebx
  0002b	72 02		 jb	 SHORT $LN6@compare@2
  0002d	8b c3		 mov	 eax, ebx
$LN6@compare@2:
  0002f	83 7f 18 10	 cmp	 DWORD PTR [edi+24], 16	; 00000010H
  00033	72 05		 jb	 SHORT $LN13@compare@2
  00035	8b 7f 04	 mov	 edi, DWORD PTR [edi+4]
  00038	eb 03		 jmp	 SHORT $LN14@compare@2
$LN13@compare@2:
  0003a	83 c7 04	 add	 edi, 4
$LN14@compare@2:
  0003d	50		 push	 eax
  0003e	8b 44 24 20	 mov	 eax, DWORD PTR __Ptr$[esp+16]
  00042	50		 push	 eax
  00043	03 fd		 add	 edi, ebp
  00045	57		 push	 edi
  00046	e8 00 00 00 00	 call	 ?compare@?$char_traits@D@std@@SAHPBD0I@Z ; std::char_traits<char>::compare
  0004b	83 c4 0c	 add	 esp, 12			; 0000000cH

; 2052 : 		return (_Ans != 0 ? (int)_Ans : _N0 < _Count ? -1
; 2053 : 			: _N0 == _Count ? 0 : +1);

  0004e	85 c0		 test	 eax, eax
  00050	75 15		 jne	 SHORT $LN8@compare@2
  00052	3b f3		 cmp	 esi, ebx
  00054	73 0a		 jae	 SHORT $LN7@compare@2
  00056	5f		 pop	 edi
  00057	5e		 pop	 esi
  00058	5d		 pop	 ebp
  00059	83 c8 ff	 or	 eax, -1
  0005c	5b		 pop	 ebx

; 2054 : 		}

  0005d	c2 10 00	 ret	 16			; 00000010H
$LN7@compare@2:

; 2052 : 		return (_Ans != 0 ? (int)_Ans : _N0 < _Count ? -1
; 2053 : 			: _N0 == _Count ? 0 : +1);

  00060	33 c0		 xor	 eax, eax
  00062	3b f3		 cmp	 esi, ebx
  00064	0f 95 c0	 setne	 al
$LN8@compare@2:
  00067	5f		 pop	 edi
  00068	5e		 pop	 esi
  00069	5d		 pop	 ebp
  0006a	5b		 pop	 ebx

; 2054 : 		}

  0006b	c2 10 00	 ret	 16			; 00000010H
?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBDI@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::compare
_TEXT	ENDS
PUBLIC	??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z ; std::_String_val<char,std::allocator<char> >::_String_val<char,std::allocator<char> >
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z
_TEXT	SEGMENT
__Al$ = 8						; size = 1
??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z PROC ; std::_String_val<char,std::allocator<char> >::_String_val<char,std::allocator<char> >, COMDAT
; _this$ = ecx

; 472  : 		{	// construct allocator from _Al

  00000	8b c1		 mov	 eax, ecx

; 473  : 		}

  00002	c2 04 00	 ret	 4
??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z ENDP ; std::_String_val<char,std::allocator<char> >::_String_val<char,std::allocator<char> >
_TEXT	ENDS
PUBLIC	??0?$_String_val@DV?$allocator@D@std@@@std@@QAE@ABV01@@Z ; std::_String_val<char,std::allocator<char> >::_String_val<char,std::allocator<char> >
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_String_val@DV?$allocator@D@std@@@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
??0?$_String_val@DV?$allocator@D@std@@@std@@QAE@ABV01@@Z PROC ; std::_String_val<char,std::allocator<char> >::_String_val<char,std::allocator<char> >, COMDAT
; _this$ = ecx

; 478  : 		{	// copy constructor

  00000	8b c1		 mov	 eax, ecx

; 479  : #if defined(_DEBUG)
; 480  : 		if (_Right._Myfirstiter == _IGNORE_MYITERLIST)
; 481  : 			{
; 482  : 			this->_Myfirstiter = _IGNORE_MYITERLIST;
; 483  : 			}
; 484  : #endif
; 485  : 		}

  00002	c2 04 00	 ret	 4
??0?$_String_val@DV?$allocator@D@std@@@std@@QAE@ABV01@@Z ENDP ; std::_String_val<char,std::allocator<char> >::_String_val<char,std::allocator<char> >
_TEXT	ENDS
PUBLIC	??1?$_Container_base_aux_alloc_real@V?$allocator@H@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<int> >::~_Container_base_aux_alloc_real<std::allocator<int> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??1?$_Container_base_aux_alloc_real@V?$allocator@H@std@@@std@@IAE@XZ
_TEXT	SEGMENT
??1?$_Container_base_aux_alloc_real@V?$allocator@H@std@@@std@@IAE@XZ PROC ; std::_Container_base_aux_alloc_real<std::allocator<int> >::~_Container_base_aux_alloc_real<std::allocator<int> >, COMDAT
; _this$ = ecx

; 437  : 		_Myownedaux->~_Aux_cont();
; 438  : 
; 439  : 		_Alaux.deallocate(_Myownedaux, 1);

  00000	8b 01		 mov	 eax, DWORD PTR [ecx]
  00002	50		 push	 eax
  00003	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00008	59		 pop	 ecx

; 440  : 		}

  00009	c3		 ret	 0
??1?$_Container_base_aux_alloc_real@V?$allocator@H@std@@@std@@IAE@XZ ENDP ; std::_Container_base_aux_alloc_real<std::allocator<int> >::~_Container_base_aux_alloc_real<std::allocator<int> >
_TEXT	ENDS
PUBLIC	??1?$_Container_base_aux_alloc_real@V?$allocator@N@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<double> >::~_Container_base_aux_alloc_real<std::allocator<double> >
; Function compile flags: /Ogtpy
;	COMDAT ??1?$_Container_base_aux_alloc_real@V?$allocator@N@std@@@std@@IAE@XZ
_TEXT	SEGMENT
??1?$_Container_base_aux_alloc_real@V?$allocator@N@std@@@std@@IAE@XZ PROC ; std::_Container_base_aux_alloc_real<std::allocator<double> >::~_Container_base_aux_alloc_real<std::allocator<double> >, COMDAT
; _this$ = ecx

; 437  : 		_Myownedaux->~_Aux_cont();
; 438  : 
; 439  : 		_Alaux.deallocate(_Myownedaux, 1);

  00000	8b 01		 mov	 eax, DWORD PTR [ecx]
  00002	50		 push	 eax
  00003	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00008	59		 pop	 ecx

; 440  : 		}

  00009	c3		 ret	 0
??1?$_Container_base_aux_alloc_real@V?$allocator@N@std@@@std@@IAE@XZ ENDP ; std::_Container_base_aux_alloc_real<std::allocator<double> >::~_Container_base_aux_alloc_real<std::allocator<double> >
_TEXT	ENDS
PUBLIC	?max_size@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEIXZ ; std::vector<CSymTable *,std::allocator<CSymTable *> >::max_size
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?max_size@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
?max_size@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEIXZ PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::max_size, COMDAT
; _this$ = ecx

; 731  : 		return (this->_Alval.max_size());

  00000	b8 ff ff ff 3f	 mov	 eax, 1073741823		; 3fffffffH

; 732  : 		}

  00005	c3		 ret	 0
?max_size@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBEIXZ ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::max_size
_TEXT	ENDS
PUBLIC	??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSymTable@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<CSymTable *> >::~_Container_base_aux_alloc_real<std::allocator<CSymTable *> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSymTable@@@std@@@std@@IAE@XZ
_TEXT	SEGMENT
??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSymTable@@@std@@@std@@IAE@XZ PROC ; std::_Container_base_aux_alloc_real<std::allocator<CSymTable *> >::~_Container_base_aux_alloc_real<std::allocator<CSymTable *> >, COMDAT
; _this$ = ecx

; 437  : 		_Myownedaux->~_Aux_cont();
; 438  : 
; 439  : 		_Alaux.deallocate(_Myownedaux, 1);

  00000	8b 01		 mov	 eax, DWORD PTR [ecx]
  00002	50		 push	 eax
  00003	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00008	59		 pop	 ecx

; 440  : 		}

  00009	c3		 ret	 0
??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSymTable@@@std@@@std@@IAE@XZ ENDP ; std::_Container_base_aux_alloc_real<std::allocator<CSymTable *> >::~_Container_base_aux_alloc_real<std::allocator<CSymTable *> >
_TEXT	ENDS
PUBLIC	?allocate@?$allocator@PAVCSymTable@@@std@@QAEPAPAVCSymTable@@I@Z ; std::allocator<CSymTable *>::allocate
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ?allocate@?$allocator@PAVCSymTable@@@std@@QAEPAPAVCSymTable@@I@Z
_TEXT	SEGMENT
__Count$ = 8						; size = 4
?allocate@?$allocator@PAVCSymTable@@@std@@QAEPAPAVCSymTable@@I@Z PROC ; std::allocator<CSymTable *>::allocate, COMDAT
; _this$ = ecx

; 145  : 		return (_Allocate(_Count, (pointer)0));

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	6a 00		 push	 0
  00006	50		 push	 eax
  00007	e8 00 00 00 00	 call	 ??$_Allocate@PAVCSymTable@@@std@@YAPAPAVCSymTable@@IPAPAV1@@Z ; std::_Allocate<CSymTable *>
  0000c	83 c4 08	 add	 esp, 8

; 146  : 		}

  0000f	c2 04 00	 ret	 4
?allocate@?$allocator@PAVCSymTable@@@std@@QAEPAPAVCSymTable@@I@Z ENDP ; std::allocator<CSymTable *>::allocate
_TEXT	ENDS
PUBLIC	??Y?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<int,std::allocator<int> >::operator+=
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??Y?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
__Off$ = 8						; size = 4
??Y?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_iterator<int,std::allocator<int> >::operator+=, COMDAT
; _this$ = ecx

; 374  : 		{	// increment by integer

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 375  : 		(*(_Mybase *)this) += _Off;

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	57		 push	 edi
  00006	85 c0		 test	 eax, eax
  00008	75 0b		 jne	 SHORT $LN28@operator@22
  0000a	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  0000f	8b 06		 mov	 eax, DWORD PTR [esi]
  00011	85 c0		 test	 eax, eax
  00013	74 04		 je	 SHORT $LN18@operator@22
$LN28@operator@22:
  00015	8b 10		 mov	 edx, DWORD PTR [eax]
  00017	eb 02		 jmp	 SHORT $LN19@operator@22
$LN18@operator@22:
  00019	33 d2		 xor	 edx, edx
$LN19@operator@22:
  0001b	8b 7c 24 0c	 mov	 edi, DWORD PTR __Off$[esp+4]
  0001f	8b 4e 04	 mov	 ecx, DWORD PTR [esi+4]
  00022	03 ff		 add	 edi, edi
  00024	03 ff		 add	 edi, edi
  00026	03 cf		 add	 ecx, edi
  00028	3b 4a 10	 cmp	 ecx, DWORD PTR [edx+16]
  0002b	77 0f		 ja	 SHORT $LN6@operator@22
  0002d	85 c0		 test	 eax, eax
  0002f	74 04		 je	 SHORT $LN24@operator@22
  00031	8b 00		 mov	 eax, DWORD PTR [eax]
  00033	eb 02		 jmp	 SHORT $LN25@operator@22
$LN24@operator@22:
  00035	33 c0		 xor	 eax, eax
$LN25@operator@22:
  00037	3b 48 0c	 cmp	 ecx, DWORD PTR [eax+12]
  0003a	73 05		 jae	 SHORT $LN29@operator@22
$LN6@operator@22:
  0003c	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN29@operator@22:
  00041	01 7e 04	 add	 DWORD PTR [esi+4], edi
  00044	5f		 pop	 edi

; 376  : 		return (*this);

  00045	8b c6		 mov	 eax, esi
  00047	5e		 pop	 esi

; 377  : 		}

  00048	c2 04 00	 ret	 4
??Y?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_iterator<int,std::allocator<int> >::operator+=
_TEXT	ENDS
PUBLIC	??E?$_Vector_iterator@NV?$allocator@N@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<double,std::allocator<double> >::operator++
; Function compile flags: /Ogtpy
;	COMDAT ??E?$_Vector_iterator@NV?$allocator@N@std@@@std@@QAEAAV01@XZ
_TEXT	SEGMENT
??E?$_Vector_iterator@NV?$allocator@N@std@@@std@@QAEAAV01@XZ PROC ; std::_Vector_iterator<double,std::allocator<double> >::operator++, COMDAT
; _this$ = ecx

; 348  : 		{	// preincrement

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 349  : 		++(*(_Mybase *)this);

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	85 c0		 test	 eax, eax
  00007	75 0b		 jne	 SHORT $LN21@operator@23
  00009	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  0000e	8b 06		 mov	 eax, DWORD PTR [esi]
  00010	85 c0		 test	 eax, eax
  00012	74 04		 je	 SHORT $LN17@operator@23
$LN21@operator@23:
  00014	8b 00		 mov	 eax, DWORD PTR [eax]
  00016	eb 02		 jmp	 SHORT $LN18@operator@23
$LN17@operator@23:
  00018	33 c0		 xor	 eax, eax
$LN18@operator@23:
  0001a	8b 4e 04	 mov	 ecx, DWORD PTR [esi+4]
  0001d	3b 48 10	 cmp	 ecx, DWORD PTR [eax+16]
  00020	72 05		 jb	 SHORT $LN22@operator@23
  00022	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN22@operator@23:
  00027	83 46 04 08	 add	 DWORD PTR [esi+4], 8

; 350  : 		return (*this);

  0002b	8b c6		 mov	 eax, esi
  0002d	5e		 pop	 esi

; 351  : 		}

  0002e	c3		 ret	 0
??E?$_Vector_iterator@NV?$allocator@N@std@@@std@@QAEAAV01@XZ ENDP ; std::_Vector_iterator<double,std::allocator<double> >::operator++
_TEXT	ENDS
PUBLIC	?max_size@?$vector@HV?$allocator@H@std@@@std@@QBEIXZ ; std::vector<int,std::allocator<int> >::max_size
; Function compile flags: /Ogtpy
;	COMDAT ?max_size@?$vector@HV?$allocator@H@std@@@std@@QBEIXZ
_TEXT	SEGMENT
?max_size@?$vector@HV?$allocator@H@std@@@std@@QBEIXZ PROC ; std::vector<int,std::allocator<int> >::max_size, COMDAT
; _this$ = ecx

; 731  : 		return (this->_Alval.max_size());

  00000	b8 ff ff ff 3f	 mov	 eax, 1073741823		; 3fffffffH

; 732  : 		}

  00005	c3		 ret	 0
?max_size@?$vector@HV?$allocator@H@std@@@std@@QBEIXZ ENDP ; std::vector<int,std::allocator<int> >::max_size
_TEXT	ENDS
PUBLIC	?allocate@?$allocator@H@std@@QAEPAHI@Z		; std::allocator<int>::allocate
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ?allocate@?$allocator@H@std@@QAEPAHI@Z
_TEXT	SEGMENT
__Count$ = 8						; size = 4
?allocate@?$allocator@H@std@@QAEPAHI@Z PROC		; std::allocator<int>::allocate, COMDAT
; _this$ = ecx

; 145  : 		return (_Allocate(_Count, (pointer)0));

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	6a 00		 push	 0
  00006	50		 push	 eax
  00007	e8 00 00 00 00	 call	 ??$_Allocate@H@std@@YAPAHIPAH@Z ; std::_Allocate<int>
  0000c	83 c4 08	 add	 esp, 8

; 146  : 		}

  0000f	c2 04 00	 ret	 4
?allocate@?$allocator@H@std@@QAEPAHI@Z ENDP		; std::allocator<int>::allocate
_TEXT	ENDS
PUBLIC	?max_size@?$vector@NV?$allocator@N@std@@@std@@QBEIXZ ; std::vector<double,std::allocator<double> >::max_size
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?max_size@?$vector@NV?$allocator@N@std@@@std@@QBEIXZ
_TEXT	SEGMENT
?max_size@?$vector@NV?$allocator@N@std@@@std@@QBEIXZ PROC ; std::vector<double,std::allocator<double> >::max_size, COMDAT
; _this$ = ecx

; 731  : 		return (this->_Alval.max_size());

  00000	b8 ff ff ff 1f	 mov	 eax, 536870911		; 1fffffffH

; 732  : 		}

  00005	c3		 ret	 0
?max_size@?$vector@NV?$allocator@N@std@@@std@@QBEIXZ ENDP ; std::vector<double,std::allocator<double> >::max_size
_TEXT	ENDS
PUBLIC	?allocate@?$allocator@N@std@@QAEPANI@Z		; std::allocator<double>::allocate
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ?allocate@?$allocator@N@std@@QAEPANI@Z
_TEXT	SEGMENT
__Count$ = 8						; size = 4
?allocate@?$allocator@N@std@@QAEPANI@Z PROC		; std::allocator<double>::allocate, COMDAT
; _this$ = ecx

; 145  : 		return (_Allocate(_Count, (pointer)0));

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	6a 00		 push	 0
  00006	50		 push	 eax
  00007	e8 00 00 00 00	 call	 ??$_Allocate@N@std@@YAPANIPAN@Z ; std::_Allocate<double>
  0000c	83 c4 08	 add	 esp, 8

; 146  : 		}

  0000f	c2 04 00	 ret	 4
?allocate@?$allocator@N@std@@QAEPANI@Z ENDP		; std::allocator<double>::allocate
_TEXT	ENDS
PUBLIC	??9?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<double,std::allocator<double> >::operator!=
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??9?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QBE_NABV01@@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
??9?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<double,std::allocator<double> >::operator!=, COMDAT
; _this$ = ecx

; 215  : 		{	// test for iterator inequality

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 216  : 		return (!(*this == _Right));

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	57		 push	 edi
  00006	8b 7c 24 0c	 mov	 edi, DWORD PTR __Right$[esp+4]
  0000a	85 c0		 test	 eax, eax
  0000c	74 04		 je	 SHORT $LN6@operator@24
  0000e	3b 07		 cmp	 eax, DWORD PTR [edi]
  00010	74 05		 je	 SHORT $LN5@operator@24
$LN6@operator@24:
  00012	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN5@operator@24:
  00017	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  0001a	33 c9		 xor	 ecx, ecx
  0001c	3b 47 04	 cmp	 eax, DWORD PTR [edi+4]
  0001f	5f		 pop	 edi
  00020	0f 95 c1	 setne	 cl
  00023	8a c1		 mov	 al, cl
  00025	5e		 pop	 esi

; 217  : 		}

  00026	c2 04 00	 ret	 4
??9?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<double,std::allocator<double> >::operator!=
_TEXT	ENDS
PUBLIC	??9?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >::operator!=
; Function compile flags: /Ogtpy
;	COMDAT ??9?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBE_NABV01@@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
??9?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >::operator!=, COMDAT
; _this$ = ecx

; 215  : 		{	// test for iterator inequality

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 216  : 		return (!(*this == _Right));

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	57		 push	 edi
  00006	8b 7c 24 0c	 mov	 edi, DWORD PTR __Right$[esp+4]
  0000a	85 c0		 test	 eax, eax
  0000c	74 04		 je	 SHORT $LN6@operator@25
  0000e	3b 07		 cmp	 eax, DWORD PTR [edi]
  00010	74 05		 je	 SHORT $LN5@operator@25
$LN6@operator@25:
  00012	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN5@operator@25:
  00017	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  0001a	33 c9		 xor	 ecx, ecx
  0001c	3b 47 04	 cmp	 eax, DWORD PTR [edi+4]
  0001f	5f		 pop	 edi
  00020	0f 95 c1	 setne	 cl
  00023	8a c1		 mov	 al, cl
  00025	5e		 pop	 esi

; 217  : 		}

  00026	c2 04 00	 ret	 4
??9?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >::operator!=
_TEXT	ENDS
PUBLIC	??0?$_Ranit@HHPBHABH@std@@QAE@XZ		; std::_Ranit<int,int,int const *,int const &>::_Ranit<int,int,int const *,int const &>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_Ranit@HHPBHABH@std@@QAE@XZ
_TEXT	SEGMENT
??0?$_Ranit@HHPBHABH@std@@QAE@XZ PROC			; std::_Ranit<int,int,int const *,int const &>::_Ranit<int,int,int const *,int const &>, COMDAT
; _this$ = ecx
  00000	8b c1		 mov	 eax, ecx
  00002	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0
  00008	c3		 ret	 0
??0?$_Ranit@HHPBHABH@std@@QAE@XZ ENDP			; std::_Ranit<int,int,int const *,int const &>::_Ranit<int,int,int const *,int const &>
_TEXT	ENDS
PUBLIC	??0?$_Ranit@NHPBNABN@std@@QAE@XZ		; std::_Ranit<double,int,double const *,double const &>::_Ranit<double,int,double const *,double const &>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_Ranit@NHPBNABN@std@@QAE@XZ
_TEXT	SEGMENT
??0?$_Ranit@NHPBNABN@std@@QAE@XZ PROC			; std::_Ranit<double,int,double const *,double const &>::_Ranit<double,int,double const *,double const &>, COMDAT
; _this$ = ecx
  00000	8b c1		 mov	 eax, ecx
  00002	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0
  00008	c3		 ret	 0
??0?$_Ranit@NHPBNABN@std@@QAE@XZ ENDP			; std::_Ranit<double,int,double const *,double const &>::_Ranit<double,int,double const *,double const &>
_TEXT	ENDS
PUBLIC	?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ
_TEXT	SEGMENT
?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size, COMDAT
; _this$ = ecx

; 1671 : 		size_type _Num = _Mybase::_Alval.max_size();
; 1672 : 		return (_Num <= 1 ? 1 : _Num - 1);

  00000	b8 fe ff ff ff	 mov	 eax, -2			; fffffffeH

; 1673 : 		}

  00005	c3		 ret	 0
?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size
_TEXT	ENDS
PUBLIC	?allocate@?$allocator@V_Aux_cont@std@@@std@@QAEPAV_Aux_cont@2@I@Z ; std::allocator<std::_Aux_cont>::allocate
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ?allocate@?$allocator@V_Aux_cont@std@@@std@@QAEPAV_Aux_cont@2@I@Z
_TEXT	SEGMENT
__Count$ = 8						; size = 4
?allocate@?$allocator@V_Aux_cont@std@@@std@@QAEPAV_Aux_cont@2@I@Z PROC ; std::allocator<std::_Aux_cont>::allocate, COMDAT
; _this$ = ecx

; 145  : 		return (_Allocate(_Count, (pointer)0));

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	6a 00		 push	 0
  00006	50		 push	 eax
  00007	e8 00 00 00 00	 call	 ??$_Allocate@V_Aux_cont@std@@@std@@YAPAV_Aux_cont@0@IPAV10@@Z ; std::_Allocate<std::_Aux_cont>
  0000c	83 c4 08	 add	 esp, 8

; 146  : 		}

  0000f	c2 04 00	 ret	 4
?allocate@?$allocator@V_Aux_cont@std@@@std@@QAEPAV_Aux_cont@2@I@Z ENDP ; std::allocator<std::_Aux_cont>::allocate
_TEXT	ENDS
PUBLIC	??Y?$_Vector_iterator@NV?$allocator@N@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<double,std::allocator<double> >::operator+=
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??Y?$_Vector_iterator@NV?$allocator@N@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
__Off$ = 8						; size = 4
??Y?$_Vector_iterator@NV?$allocator@N@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_iterator<double,std::allocator<double> >::operator+=, COMDAT
; _this$ = ecx

; 374  : 		{	// increment by integer

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 375  : 		(*(_Mybase *)this) += _Off;

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	57		 push	 edi
  00006	85 c0		 test	 eax, eax
  00008	75 0b		 jne	 SHORT $LN28@operator@26
  0000a	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  0000f	8b 06		 mov	 eax, DWORD PTR [esi]
  00011	85 c0		 test	 eax, eax
  00013	74 04		 je	 SHORT $LN18@operator@26
$LN28@operator@26:
  00015	8b 10		 mov	 edx, DWORD PTR [eax]
  00017	eb 02		 jmp	 SHORT $LN19@operator@26
$LN18@operator@26:
  00019	33 d2		 xor	 edx, edx
$LN19@operator@26:
  0001b	8b 7c 24 0c	 mov	 edi, DWORD PTR __Off$[esp+4]
  0001f	8b 4e 04	 mov	 ecx, DWORD PTR [esi+4]
  00022	03 ff		 add	 edi, edi
  00024	03 ff		 add	 edi, edi
  00026	03 ff		 add	 edi, edi
  00028	03 cf		 add	 ecx, edi
  0002a	3b 4a 10	 cmp	 ecx, DWORD PTR [edx+16]
  0002d	77 0f		 ja	 SHORT $LN6@operator@26
  0002f	85 c0		 test	 eax, eax
  00031	74 04		 je	 SHORT $LN24@operator@26
  00033	8b 00		 mov	 eax, DWORD PTR [eax]
  00035	eb 02		 jmp	 SHORT $LN25@operator@26
$LN24@operator@26:
  00037	33 c0		 xor	 eax, eax
$LN25@operator@26:
  00039	3b 48 0c	 cmp	 ecx, DWORD PTR [eax+12]
  0003c	73 05		 jae	 SHORT $LN29@operator@26
$LN6@operator@26:
  0003e	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN29@operator@26:
  00043	01 7e 04	 add	 DWORD PTR [esi+4], edi
  00046	5f		 pop	 edi

; 376  : 		return (*this);

  00047	8b c6		 mov	 eax, esi
  00049	5e		 pop	 esi

; 377  : 		}

  0004a	c2 04 00	 ret	 4
??Y?$_Vector_iterator@NV?$allocator@N@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_iterator<double,std::allocator<double> >::operator+=
_TEXT	ENDS
PUBLIC	??Y?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >::operator+=
; Function compile flags: /Ogtpy
;	COMDAT ??Y?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
__Off$ = 8						; size = 4
??Y?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >::operator+=, COMDAT
; _this$ = ecx

; 374  : 		{	// increment by integer

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 375  : 		(*(_Mybase *)this) += _Off;

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	57		 push	 edi
  00006	85 c0		 test	 eax, eax
  00008	75 0b		 jne	 SHORT $LN28@operator@27
  0000a	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  0000f	8b 06		 mov	 eax, DWORD PTR [esi]
  00011	85 c0		 test	 eax, eax
  00013	74 04		 je	 SHORT $LN18@operator@27
$LN28@operator@27:
  00015	8b 10		 mov	 edx, DWORD PTR [eax]
  00017	eb 02		 jmp	 SHORT $LN19@operator@27
$LN18@operator@27:
  00019	33 d2		 xor	 edx, edx
$LN19@operator@27:
  0001b	8b 7c 24 0c	 mov	 edi, DWORD PTR __Off$[esp+4]
  0001f	8b 4e 04	 mov	 ecx, DWORD PTR [esi+4]
  00022	03 ff		 add	 edi, edi
  00024	03 ff		 add	 edi, edi
  00026	03 cf		 add	 ecx, edi
  00028	3b 4a 10	 cmp	 ecx, DWORD PTR [edx+16]
  0002b	77 0f		 ja	 SHORT $LN6@operator@27
  0002d	85 c0		 test	 eax, eax
  0002f	74 04		 je	 SHORT $LN24@operator@27
  00031	8b 00		 mov	 eax, DWORD PTR [eax]
  00033	eb 02		 jmp	 SHORT $LN25@operator@27
$LN24@operator@27:
  00035	33 c0		 xor	 eax, eax
$LN25@operator@27:
  00037	3b 48 0c	 cmp	 ecx, DWORD PTR [eax+12]
  0003a	73 05		 jae	 SHORT $LN29@operator@27
$LN6@operator@27:
  0003c	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN29@operator@27:
  00041	01 7e 04	 add	 DWORD PTR [esi+4], edi
  00044	5f		 pop	 edi

; 376  : 		return (*this);

  00045	8b c6		 mov	 eax, esi
  00047	5e		 pop	 esi

; 377  : 		}

  00048	c2 04 00	 ret	 4
??Y?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >::operator+=
_TEXT	ENDS
PUBLIC	??0?$_Ranit@PAVCSymTable@@HPBQAV1@ABQAV1@@std@@QAE@XZ ; std::_Ranit<CSymTable *,int,CSymTable * const *,CSymTable * const &>::_Ranit<CSymTable *,int,CSymTable * const *,CSymTable * const &>
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_Ranit@PAVCSymTable@@HPBQAV1@ABQAV1@@std@@QAE@XZ
_TEXT	SEGMENT
??0?$_Ranit@PAVCSymTable@@HPBQAV1@ABQAV1@@std@@QAE@XZ PROC ; std::_Ranit<CSymTable *,int,CSymTable * const *,CSymTable * const &>::_Ranit<CSymTable *,int,CSymTable * const *,CSymTable * const &>, COMDAT
; _this$ = ecx
  00000	8b c1		 mov	 eax, ecx
  00002	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0
  00008	c3		 ret	 0
??0?$_Ranit@PAVCSymTable@@HPBQAV1@ABQAV1@@std@@QAE@XZ ENDP ; std::_Ranit<CSymTable *,int,CSymTable * const *,CSymTable * const &>::_Ranit<CSymTable *,int,CSymTable * const *,CSymTable * const &>
_TEXT	ENDS
PUBLIC	?allocate@?$allocator@D@std@@QAEPADI@Z		; std::allocator<char>::allocate
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ?allocate@?$allocator@D@std@@QAEPADI@Z
_TEXT	SEGMENT
__Count$ = 8						; size = 4
?allocate@?$allocator@D@std@@QAEPADI@Z PROC		; std::allocator<char>::allocate, COMDAT
; _this$ = ecx

; 145  : 		return (_Allocate(_Count, (pointer)0));

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	6a 00		 push	 0
  00006	50		 push	 eax
  00007	e8 00 00 00 00	 call	 ??$_Allocate@D@std@@YAPADIPAD@Z ; std::_Allocate<char>
  0000c	83 c4 08	 add	 esp, 8

; 146  : 		}

  0000f	c2 04 00	 ret	 4
?allocate@?$allocator@D@std@@QAEPADI@Z ENDP		; std::allocator<char>::allocate
_TEXT	ENDS
PUBLIC	??$copy_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDI@Z ; std::_Traits_helper::copy_s<std::char_traits<char> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd
;	COMDAT ??$copy_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDI@Z
_TEXT	SEGMENT
__First1$ = 8						; size = 4
__Size$ = 12						; size = 4
__First2$ = 16						; size = 4
__Count$ = 20						; size = 4
??$copy_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDI@Z PROC ; std::_Traits_helper::copy_s<std::char_traits<char> >, COMDAT

; 589  : 		return copy_s<_Traits>(_First1, _Size, _First2, _Count, _Char_traits_cat<_Traits>());

  00000	8b 44 24 10	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 0c	 mov	 ecx, DWORD PTR __First2$[esp-4]
  00008	8b 54 24 08	 mov	 edx, DWORD PTR __Size$[esp-4]
  0000c	56		 push	 esi
  0000d	8b 74 24 08	 mov	 esi, DWORD PTR __First1$[esp]
  00011	50		 push	 eax
  00012	51		 push	 ecx
  00013	52		 push	 edx
  00014	56		 push	 esi
  00015	e8 00 00 00 00	 call	 _memcpy_s
  0001a	83 c4 10	 add	 esp, 16			; 00000010H
  0001d	8b c6		 mov	 eax, esi
  0001f	5e		 pop	 esi

; 590  : 	}

  00020	c3		 ret	 0
??$copy_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDI@Z ENDP ; std::_Traits_helper::copy_s<std::char_traits<char> >
_TEXT	ENDS
PUBLIC	??$_Destroy_range@V?$allocator@PAVCSymTable@@@std@@@std@@YAXPAPAVCSymTable@@0AAV?$allocator@PAVCSymTable@@@0@@Z ; std::_Destroy_range<std::allocator<CSymTable *> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ??$_Destroy_range@V?$allocator@PAVCSymTable@@@std@@@std@@YAXPAPAVCSymTable@@0AAV?$allocator@PAVCSymTable@@@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Al$ = 16						; size = 4
??$_Destroy_range@V?$allocator@PAVCSymTable@@@std@@@std@@YAXPAPAVCSymTable@@0AAV?$allocator@PAVCSymTable@@@0@@Z PROC ; std::_Destroy_range<std::allocator<CSymTable *> >, COMDAT

; 225  : 	_Destroy_range(_First, _Last, _Al, _Ptr_cat(_First, _Last));
; 226  : 	}

  00000	c3		 ret	 0
??$_Destroy_range@V?$allocator@PAVCSymTable@@@std@@@std@@YAXPAPAVCSymTable@@0AAV?$allocator@PAVCSymTable@@@0@@Z ENDP ; std::_Destroy_range<std::allocator<CSymTable *> >
_TEXT	ENDS
PUBLIC	??$move_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDI@Z ; std::_Traits_helper::move_s<std::char_traits<char> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd
;	COMDAT ??$move_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDI@Z
_TEXT	SEGMENT
__First1$ = 8						; size = 4
__Size$ = 12						; size = 4
__First2$ = 16						; size = 4
__Count$ = 20						; size = 4
??$move_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDI@Z PROC ; std::_Traits_helper::move_s<std::char_traits<char> >, COMDAT

; 616  : 		return move_s<_Traits>(_First1, _Size, _First2, _Count, _Char_traits_cat<_Traits>());

  00000	8b 44 24 10	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 0c	 mov	 ecx, DWORD PTR __First2$[esp-4]
  00008	8b 54 24 08	 mov	 edx, DWORD PTR __Size$[esp-4]
  0000c	56		 push	 esi
  0000d	8b 74 24 08	 mov	 esi, DWORD PTR __First1$[esp]
  00011	50		 push	 eax
  00012	51		 push	 ecx
  00013	52		 push	 edx
  00014	56		 push	 esi
  00015	e8 00 00 00 00	 call	 _memmove_s
  0001a	83 c4 10	 add	 esp, 16			; 00000010H
  0001d	8b c6		 mov	 eax, esi
  0001f	5e		 pop	 esi

; 617  : 	}

  00020	c3		 ret	 0
??$move_s@U?$char_traits@D@std@@@_Traits_helper@std@@YAPADPADIPBDI@Z ENDP ; std::_Traits_helper::move_s<std::char_traits<char> >
_TEXT	ENDS
PUBLIC	??$_Destroy_range@V?$allocator@H@std@@@std@@YAXPAH0AAV?$allocator@H@0@@Z ; std::_Destroy_range<std::allocator<int> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ??$_Destroy_range@V?$allocator@H@std@@@std@@YAXPAH0AAV?$allocator@H@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Al$ = 16						; size = 4
??$_Destroy_range@V?$allocator@H@std@@@std@@YAXPAH0AAV?$allocator@H@0@@Z PROC ; std::_Destroy_range<std::allocator<int> >, COMDAT

; 225  : 	_Destroy_range(_First, _Last, _Al, _Ptr_cat(_First, _Last));
; 226  : 	}

  00000	c3		 ret	 0
??$_Destroy_range@V?$allocator@H@std@@@std@@YAXPAH0AAV?$allocator@H@0@@Z ENDP ; std::_Destroy_range<std::allocator<int> >
_TEXT	ENDS
PUBLIC	??$_Destroy_range@V?$allocator@N@std@@@std@@YAXPAN0AAV?$allocator@N@0@@Z ; std::_Destroy_range<std::allocator<double> >
; Function compile flags: /Ogtpy
;	COMDAT ??$_Destroy_range@V?$allocator@N@std@@@std@@YAXPAN0AAV?$allocator@N@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Al$ = 16						; size = 4
??$_Destroy_range@V?$allocator@N@std@@@std@@YAXPAN0AAV?$allocator@N@0@@Z PROC ; std::_Destroy_range<std::allocator<double> >, COMDAT

; 225  : 	_Destroy_range(_First, _Last, _Al, _Ptr_cat(_First, _Last));
; 226  : 	}

  00000	c3		 ret	 0
??$_Destroy_range@V?$allocator@N@std@@@std@@YAXPAN0AAV?$allocator@N@0@@Z ENDP ; std::_Destroy_range<std::allocator<double> >
_TEXT	ENDS
PUBLIC	??$_Checked_base@PAH@std@@YAPAHAAPAH@Z		; std::_Checked_base<int *>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$_Checked_base@PAH@std@@YAPAHAAPAH@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
??$_Checked_base@PAH@std@@YAPAHAAPAH@Z PROC		; std::_Checked_base<int *>, COMDAT

; 1164 : 		typename _Checked_iterator_base_helper<_Iter>::_Checked_iterator_base_type_tag _Base_tag;
; 1165 : 		return _Checked_base(_It, _Base_tag);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __It$[esp-4]
  00004	8b 00		 mov	 eax, DWORD PTR [eax]

; 1166 : 	}

  00006	c3		 ret	 0
??$_Checked_base@PAH@std@@YAPAHAAPAH@Z ENDP		; std::_Checked_base<int *>
_TEXT	ENDS
PUBLIC	??$_Move_backward_opt@PAHPAHUrandom_access_iterator_tag@std@@U_Undefined_move_tag@2@@std@@YAPAHPAH00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<int *,int *,std::random_access_iterator_tag,std::_Undefined_move_tag>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Move_backward_opt@PAHPAHUrandom_access_iterator_tag@std@@U_Undefined_move_tag@2@@std@@YAPAHPAH00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__First_dest_cat$ = 20					; size = 1
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Move_backward_opt@PAHPAHUrandom_access_iterator_tag@std@@U_Undefined_move_tag@2@@std@@YAPAHPAH00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Move_backward_opt<int *,int *,std::random_access_iterator_tag,std::_Undefined_move_tag>, COMDAT

; 2753 : 	return _Copy_backward_opt(_First, _Last, _Dest,
; 2754 : 		_First_dest_cat, _Ptr_cat(_First, _Dest), _Range_checked_iterator_tag());

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	c1 f8 02	 sar	 eax, 2
  0000d	56		 push	 esi
  0000e	8b 74 24 10	 mov	 esi, DWORD PTR __Dest$[esp]
  00012	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  00019	2b f1		 sub	 esi, ecx
  0001b	85 c0		 test	 eax, eax
  0001d	7e 0c		 jle	 SHORT $LN8@Move_backw
  0001f	51		 push	 ecx
  00020	52		 push	 edx
  00021	51		 push	 ecx
  00022	56		 push	 esi
  00023	e8 00 00 00 00	 call	 _memmove_s
  00028	83 c4 10	 add	 esp, 16			; 00000010H
$LN8@Move_backw:
  0002b	8b c6		 mov	 eax, esi
  0002d	5e		 pop	 esi

; 2755 : 	}

  0002e	c3		 ret	 0
??$_Move_backward_opt@PAHPAHUrandom_access_iterator_tag@std@@U_Undefined_move_tag@2@@std@@YAPAHPAH00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Move_backward_opt<int *,int *,std::random_access_iterator_tag,std::_Undefined_move_tag>
_TEXT	ENDS
PUBLIC	??$_Checked_base@PAN@std@@YAPANAAPAN@Z		; std::_Checked_base<double *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Checked_base@PAN@std@@YAPANAAPAN@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
??$_Checked_base@PAN@std@@YAPANAAPAN@Z PROC		; std::_Checked_base<double *>, COMDAT

; 1164 : 		typename _Checked_iterator_base_helper<_Iter>::_Checked_iterator_base_type_tag _Base_tag;
; 1165 : 		return _Checked_base(_It, _Base_tag);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __It$[esp-4]
  00004	8b 00		 mov	 eax, DWORD PTR [eax]

; 1166 : 	}

  00006	c3		 ret	 0
??$_Checked_base@PAN@std@@YAPANAAPAN@Z ENDP		; std::_Checked_base<double *>
_TEXT	ENDS
PUBLIC	??$_Checked_base@PAPAVCSymTable@@@std@@YAPAPAVCSymTable@@AAPAPAV1@@Z ; std::_Checked_base<CSymTable * *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Checked_base@PAPAVCSymTable@@@std@@YAPAPAVCSymTable@@AAPAPAV1@@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
??$_Checked_base@PAPAVCSymTable@@@std@@YAPAPAVCSymTable@@AAPAPAV1@@Z PROC ; std::_Checked_base<CSymTable * *>, COMDAT

; 1164 : 		typename _Checked_iterator_base_helper<_Iter>::_Checked_iterator_base_type_tag _Base_tag;
; 1165 : 		return _Checked_base(_It, _Base_tag);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __It$[esp-4]
  00004	8b 00		 mov	 eax, DWORD PTR [eax]

; 1166 : 	}

  00006	c3		 ret	 0
??$_Checked_base@PAPAVCSymTable@@@std@@YAPAPAVCSymTable@@AAPAPAV1@@Z ENDP ; std::_Checked_base<CSymTable * *>
_TEXT	ENDS
PUBLIC	??$_Move_backward_opt@PANPANUrandom_access_iterator_tag@std@@U_Undefined_move_tag@2@@std@@YAPANPAN00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<double *,double *,std::random_access_iterator_tag,std::_Undefined_move_tag>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Move_backward_opt@PANPANUrandom_access_iterator_tag@std@@U_Undefined_move_tag@2@@std@@YAPANPAN00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__First_dest_cat$ = 20					; size = 1
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Move_backward_opt@PANPANUrandom_access_iterator_tag@std@@U_Undefined_move_tag@2@@std@@YAPANPAN00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Move_backward_opt<double *,double *,std::random_access_iterator_tag,std::_Undefined_move_tag>, COMDAT

; 2753 : 	return _Copy_backward_opt(_First, _Last, _Dest,
; 2754 : 		_First_dest_cat, _Ptr_cat(_First, _Dest), _Range_checked_iterator_tag());

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	c1 f8 03	 sar	 eax, 3
  0000d	56		 push	 esi
  0000e	8b 74 24 10	 mov	 esi, DWORD PTR __Dest$[esp]
  00012	8d 0c c5 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*8]
  00019	2b f1		 sub	 esi, ecx
  0001b	85 c0		 test	 eax, eax
  0001d	7e 0c		 jle	 SHORT $LN8@Move_backw@2
  0001f	51		 push	 ecx
  00020	52		 push	 edx
  00021	51		 push	 ecx
  00022	56		 push	 esi
  00023	e8 00 00 00 00	 call	 _memmove_s
  00028	83 c4 10	 add	 esp, 16			; 00000010H
$LN8@Move_backw@2:
  0002b	8b c6		 mov	 eax, esi
  0002d	5e		 pop	 esi

; 2755 : 	}

  0002e	c3		 ret	 0
??$_Move_backward_opt@PANPANUrandom_access_iterator_tag@std@@U_Undefined_move_tag@2@@std@@YAPANPAN00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Move_backward_opt<double *,double *,std::random_access_iterator_tag,std::_Undefined_move_tag>
_TEXT	ENDS
PUBLIC	??$_Move_backward_opt@PAPAVCSymTable@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSymTable@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<CSymTable * *,CSymTable * *,std::random_access_iterator_tag,std::_Undefined_move_tag>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Move_backward_opt@PAPAVCSymTable@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSymTable@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__First_dest_cat$ = 20					; size = 1
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Move_backward_opt@PAPAVCSymTable@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSymTable@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Move_backward_opt<CSymTable * *,CSymTable * *,std::random_access_iterator_tag,std::_Undefined_move_tag>, COMDAT

; 2753 : 	return _Copy_backward_opt(_First, _Last, _Dest,
; 2754 : 		_First_dest_cat, _Ptr_cat(_First, _Dest), _Range_checked_iterator_tag());

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	c1 f8 02	 sar	 eax, 2
  0000d	56		 push	 esi
  0000e	8b 74 24 10	 mov	 esi, DWORD PTR __Dest$[esp]
  00012	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  00019	2b f1		 sub	 esi, ecx
  0001b	85 c0		 test	 eax, eax
  0001d	7e 0c		 jle	 SHORT $LN8@Move_backw@3
  0001f	51		 push	 ecx
  00020	52		 push	 edx
  00021	51		 push	 ecx
  00022	56		 push	 esi
  00023	e8 00 00 00 00	 call	 _memmove_s
  00028	83 c4 10	 add	 esp, 16			; 00000010H
$LN8@Move_backw@3:
  0002b	8b c6		 mov	 eax, esi
  0002d	5e		 pop	 esi

; 2755 : 	}

  0002e	c3		 ret	 0
??$_Move_backward_opt@PAPAVCSymTable@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSymTable@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Move_backward_opt<CSymTable * *,CSymTable * *,std::random_access_iterator_tag,std::_Undefined_move_tag>
_TEXT	ENDS
PUBLIC	??$_Checked_base@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@U_Different_checked_iterator_base_type_tag@2@@std@@YAPAPAVCSymTable@@AAV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@0@U_Different_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >,std::_Different_checked_iterator_base_type_tag>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Checked_base@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@U_Different_checked_iterator_base_type_tag@2@@std@@YAPAPAVCSymTable@@AAV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@0@U_Different_checked_iterator_base_type_tag@0@@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
___formal$ = 12						; size = 1
??$_Checked_base@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@U_Different_checked_iterator_base_type_tag@2@@std@@YAPAPAVCSymTable@@AAV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@0@U_Different_checked_iterator_base_type_tag@0@@Z PROC ; std::_Checked_base<std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >,std::_Different_checked_iterator_base_type_tag>, COMDAT

; 1139 : 		return _It._Checked_iterator_base();

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __It$[esp-4]
  00004	8b 40 04	 mov	 eax, DWORD PTR [eax+4]

; 1140 : 	}

  00007	c3		 ret	 0
??$_Checked_base@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@U_Different_checked_iterator_base_type_tag@2@@std@@YAPAPAVCSymTable@@AAV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@0@U_Different_checked_iterator_base_type_tag@0@@Z ENDP ; std::_Checked_base<std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >,std::_Different_checked_iterator_base_type_tag>
_TEXT	ENDS
PUBLIC	??$unchecked_uninitialized_copy@PAPAVCSymTable@@PAPAV1@V?$allocator@PAVCSymTable@@@std@@@stdext@@YAPAPAVCSymTable@@PAPAV1@00AAV?$allocator@PAVCSymTable@@@std@@@Z ; stdext::unchecked_uninitialized_copy<CSymTable * *,CSymTable * *,std::allocator<CSymTable *> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
;	COMDAT ??$unchecked_uninitialized_copy@PAPAVCSymTable@@PAPAV1@V?$allocator@PAVCSymTable@@@std@@@stdext@@YAPAPAVCSymTable@@PAPAV1@00AAV?$allocator@PAVCSymTable@@@std@@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_copy@PAPAVCSymTable@@PAPAV1@V?$allocator@PAVCSymTable@@@std@@@stdext@@YAPAPAVCSymTable@@PAPAV1@00AAV?$allocator@PAVCSymTable@@@std@@@Z PROC ; stdext::unchecked_uninitialized_copy<CSymTable * *,CSymTable * *,std::allocator<CSymTable *> >, COMDAT

; 820  : 	return (_STD _Uninit_copy(_CHECKED_BASE(_First),
; 821  : 		_CHECKED_BASE(_Last), _Dest, _Al,
; 822  : 		_STD _Ptr_cat(_First, _Dest), _STD _Range_checked_iterator_tag()));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 02	 sar	 eax, 2
  0000e	57		 push	 edi
  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN16@unchecked_
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN16@unchecked_:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 823  : 	}

  00031	c3		 ret	 0
??$unchecked_uninitialized_copy@PAPAVCSymTable@@PAPAV1@V?$allocator@PAVCSymTable@@@std@@@stdext@@YAPAPAVCSymTable@@PAPAV1@00AAV?$allocator@PAVCSymTable@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_copy<CSymTable * *,CSymTable * *,std::allocator<CSymTable *> >
_TEXT	ENDS
PUBLIC	??$unchecked_uninitialized_copy@PAHPAHV?$allocator@H@std@@@stdext@@YAPAHPAH00AAV?$allocator@H@std@@@Z ; stdext::unchecked_uninitialized_copy<int *,int *,std::allocator<int> >
; Function compile flags: /Ogtpy
;	COMDAT ??$unchecked_uninitialized_copy@PAHPAHV?$allocator@H@std@@@stdext@@YAPAHPAH00AAV?$allocator@H@std@@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_copy@PAHPAHV?$allocator@H@std@@@stdext@@YAPAHPAH00AAV?$allocator@H@std@@@Z PROC ; stdext::unchecked_uninitialized_copy<int *,int *,std::allocator<int> >, COMDAT

; 820  : 	return (_STD _Uninit_copy(_CHECKED_BASE(_First),
; 821  : 		_CHECKED_BASE(_Last), _Dest, _Al,
; 822  : 		_STD _Ptr_cat(_First, _Dest), _STD _Range_checked_iterator_tag()));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 02	 sar	 eax, 2
  0000e	57		 push	 edi
  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN16@unchecked_@2
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN16@unchecked_@2:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 823  : 	}

  00031	c3		 ret	 0
??$unchecked_uninitialized_copy@PAHPAHV?$allocator@H@std@@@stdext@@YAPAHPAH00AAV?$allocator@H@std@@@Z ENDP ; stdext::unchecked_uninitialized_copy<int *,int *,std::allocator<int> >
_TEXT	ENDS
PUBLIC	??$_Fill_n@PAHIH@std@@YAXPAHIABHUrandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<int *,unsigned int,int>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$_Fill_n@PAHIH@std@@YAXPAHIABHUrandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
___formal$ = 20						; size = 1
___formal$ = 24						; size = 1
??$_Fill_n@PAHIH@std@@YAXPAHIABHUrandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Fill_n<int *,unsigned int,int>, COMDAT

; 3251 : 		// if _OutIt is checked, this will ensure we have enough space
; 3252 : 		_OutIt _Last = _First + _Count; (_Last);
; 3253 : 		_Fill_n(_CHECKED_BASE(_First), _Count, _Val,
; 3254 : 			_Range_checked_iterator_tag());

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 04	 mov	 ecx, DWORD PTR __First$[esp-4]
  00008	85 c0		 test	 eax, eax
  0000a	76 12		 jbe	 SHORT $LN7@Fill_n@4
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
  00010	56		 push	 esi
$LL9@Fill_n@4:
  00011	8b 32		 mov	 esi, DWORD PTR [edx]
  00013	89 31		 mov	 DWORD PTR [ecx], esi
  00015	48		 dec	 eax
  00016	83 c1 04	 add	 ecx, 4
  00019	85 c0		 test	 eax, eax
  0001b	77 f4		 ja	 SHORT $LL9@Fill_n@4
  0001d	5e		 pop	 esi
$LN7@Fill_n@4:

; 3255 : 	}

  0001e	c3		 ret	 0
??$_Fill_n@PAHIH@std@@YAXPAHIABHUrandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Fill_n<int *,unsigned int,int>
_TEXT	ENDS
PUBLIC	??$_Fill_n@PANIN@std@@YAXPANIABNUrandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<double *,unsigned int,double>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Fill_n@PANIN@std@@YAXPANIABNUrandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
___formal$ = 20						; size = 1
___formal$ = 24						; size = 1
??$_Fill_n@PANIN@std@@YAXPANIABNUrandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Fill_n<double *,unsigned int,double>, COMDAT

; 3251 : 		// if _OutIt is checked, this will ensure we have enough space
; 3252 : 		_OutIt _Last = _First + _Count; (_Last);
; 3253 : 		_Fill_n(_CHECKED_BASE(_First), _Count, _Val,
; 3254 : 			_Range_checked_iterator_tag());

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 04	 mov	 ecx, DWORD PTR __First$[esp-4]
  00008	85 c0		 test	 eax, eax
  0000a	76 10		 jbe	 SHORT $LN7@Fill_n@5
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
$LL9@Fill_n@5:
  00010	dd 02		 fld	 QWORD PTR [edx]
  00012	48		 dec	 eax
  00013	dd 19		 fstp	 QWORD PTR [ecx]
  00015	83 c1 08	 add	 ecx, 8
  00018	85 c0		 test	 eax, eax
  0001a	77 f4		 ja	 SHORT $LL9@Fill_n@5
$LN7@Fill_n@5:

; 3255 : 	}

  0001c	c3		 ret	 0
??$_Fill_n@PANIN@std@@YAXPANIABNUrandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Fill_n<double *,unsigned int,double>
_TEXT	ENDS
PUBLIC	??$_Fill_n@PAPAVCSymTable@@IPAV1@@std@@YAXPAPAVCSymTable@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<CSymTable * *,unsigned int,CSymTable *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Fill_n@PAPAVCSymTable@@IPAV1@@std@@YAXPAPAVCSymTable@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
___formal$ = 20						; size = 1
___formal$ = 24						; size = 1
??$_Fill_n@PAPAVCSymTable@@IPAV1@@std@@YAXPAPAVCSymTable@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Fill_n<CSymTable * *,unsigned int,CSymTable *>, COMDAT

; 3251 : 		// if _OutIt is checked, this will ensure we have enough space
; 3252 : 		_OutIt _Last = _First + _Count; (_Last);
; 3253 : 		_Fill_n(_CHECKED_BASE(_First), _Count, _Val,
; 3254 : 			_Range_checked_iterator_tag());

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 04	 mov	 ecx, DWORD PTR __First$[esp-4]
  00008	85 c0		 test	 eax, eax
  0000a	76 12		 jbe	 SHORT $LN7@Fill_n@6
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
  00010	56		 push	 esi
$LL9@Fill_n@6:
  00011	8b 32		 mov	 esi, DWORD PTR [edx]
  00013	89 31		 mov	 DWORD PTR [ecx], esi
  00015	48		 dec	 eax
  00016	83 c1 04	 add	 ecx, 4
  00019	85 c0		 test	 eax, eax
  0001b	77 f4		 ja	 SHORT $LL9@Fill_n@6
  0001d	5e		 pop	 esi
$LN7@Fill_n@6:

; 3255 : 	}

  0001e	c3		 ret	 0
??$_Fill_n@PAPAVCSymTable@@IPAV1@@std@@YAXPAPAVCSymTable@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Fill_n<CSymTable * *,unsigned int,CSymTable *>
_TEXT	ENDS
PUBLIC	??$unchecked_uninitialized_copy@PANPANV?$allocator@N@std@@@stdext@@YAPANPAN00AAV?$allocator@N@std@@@Z ; stdext::unchecked_uninitialized_copy<double *,double *,std::allocator<double> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
;	COMDAT ??$unchecked_uninitialized_copy@PANPANV?$allocator@N@std@@@stdext@@YAPANPAN00AAV?$allocator@N@std@@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_copy@PANPANV?$allocator@N@std@@@stdext@@YAPANPAN00AAV?$allocator@N@std@@@Z PROC ; stdext::unchecked_uninitialized_copy<double *,double *,std::allocator<double> >, COMDAT

; 820  : 	return (_STD _Uninit_copy(_CHECKED_BASE(_First),
; 821  : 		_CHECKED_BASE(_Last), _Dest, _Al,
; 822  : 		_STD _Ptr_cat(_First, _Dest), _STD _Range_checked_iterator_tag()));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 03	 sar	 eax, 3
  0000e	57		 push	 edi
  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c c5 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*8]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN16@unchecked_@3
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN16@unchecked_@3:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 823  : 	}

  00031	c3		 ret	 0
??$unchecked_uninitialized_copy@PANPANV?$allocator@N@std@@@stdext@@YAPANPAN00AAV?$allocator@N@std@@@Z ENDP ; stdext::unchecked_uninitialized_copy<double *,double *,std::allocator<double> >
_TEXT	ENDS
PUBLIC	?GetVarName@CPoly@@QAEPBDI@Z			; CPoly::GetVarName
; Function compile flags: /Ogtpy
; File d:\# metin2\work in progress\source client\client\eterbase\poly\poly.cpp
;	COMDAT ?GetVarName@CPoly@@QAEPBDI@Z
_TEXT	SEGMENT
_dwIndex$ = 8						; size = 4
?GetVarName@CPoly@@QAEPBDI@Z PROC			; CPoly::GetVarName, COMDAT
; _this$ = ecx

; 588  : {

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 589  : 	assert(dwIndex + MathSymbolCount < lSymbol.size());
; 590  : 	return lSymbol[dwIndex + MathSymbolCount]->strlex.c_str();

  00003	8b 46 68	 mov	 eax, DWORD PTR [esi+104]
  00006	2b 46 64	 sub	 eax, DWORD PTR [esi+100]
  00009	57		 push	 edi
  0000a	8b be 8c 00 00
	00		 mov	 edi, DWORD PTR [esi+140]
  00010	03 7c 24 0c	 add	 edi, DWORD PTR _dwIndex$[esp+4]
  00014	c1 f8 02	 sar	 eax, 2
  00017	3b f8		 cmp	 edi, eax
  00019	72 05		 jb	 SHORT $LN5@GetVarName
  0001b	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN5@GetVarName:
  00020	8b 4e 64	 mov	 ecx, DWORD PTR [esi+100]
  00023	8b 04 b9	 mov	 eax, DWORD PTR [ecx+edi*4]
  00026	83 c0 14	 add	 eax, 20			; 00000014H
  00029	83 78 18 10	 cmp	 DWORD PTR [eax+24], 16	; 00000010H
  0002d	5f		 pop	 edi
  0002e	5e		 pop	 esi
  0002f	72 06		 jb	 SHORT $LN15@GetVarName
  00031	8b 40 04	 mov	 eax, DWORD PTR [eax+4]

; 591  : }

  00034	c2 04 00	 ret	 4

; 589  : 	assert(dwIndex + MathSymbolCount < lSymbol.size());
; 590  : 	return lSymbol[dwIndex + MathSymbolCount]->strlex.c_str();

$LN15@GetVarName:
  00037	83 c0 04	 add	 eax, 4

; 591  : }

  0003a	c2 04 00	 ret	 4
?GetVarName@CPoly@@QAEPBDI@Z ENDP			; CPoly::GetVarName
_TEXT	ENDS
PUBLIC	?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::compare
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::compare, COMDAT
; _this$ = ecx

; 2004 : 		return (compare(0, _Mysize, _Right._Myptr(), _Right.size()));

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __Right$[esp-4]
  00004	83 78 18 10	 cmp	 DWORD PTR [eax+24], 16	; 00000010H
  00008	8b 50 14	 mov	 edx, DWORD PTR [eax+20]
  0000b	72 13		 jb	 SHORT $LN7@compare@3
  0000d	8b 40 04	 mov	 eax, DWORD PTR [eax+4]
  00010	52		 push	 edx
  00011	50		 push	 eax
  00012	8b 41 14	 mov	 eax, DWORD PTR [ecx+20]
  00015	50		 push	 eax
  00016	6a 00		 push	 0
  00018	e8 00 00 00 00	 call	 ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::compare

; 2005 : 		}

  0001d	c2 04 00	 ret	 4

; 2004 : 		return (compare(0, _Mysize, _Right._Myptr(), _Right.size()));

$LN7@compare@3:
  00020	52		 push	 edx
  00021	83 c0 04	 add	 eax, 4
  00024	50		 push	 eax
  00025	8b 41 14	 mov	 eax, DWORD PTR [ecx+20]
  00028	50		 push	 eax
  00029	6a 00		 push	 0
  0002b	e8 00 00 00 00	 call	 ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::compare

; 2005 : 		}

  00030	c2 04 00	 ret	 4
?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::compare
_TEXT	ENDS
PUBLIC	??H?$_Vector_iterator@HV?$allocator@H@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<int,std::allocator<int> >::operator+
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??H?$_Vector_iterator@HV?$allocator@H@std@@@std@@QBE?AV01@H@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
__Off$ = 12						; size = 4
??H?$_Vector_iterator@HV?$allocator@H@std@@@std@@QBE?AV01@H@Z PROC ; std::_Vector_iterator<int,std::allocator<int> >::operator+, COMDAT
; _this$ = ecx

; 380  : 		{	// return this + integer

  00000	56		 push	 esi

; 381  : 		_Myt _Tmp = *this;

  00001	8b 31		 mov	 esi, DWORD PTR [ecx]
  00003	57		 push	 edi
  00004	8b 79 04	 mov	 edi, DWORD PTR [ecx+4]

; 382  : 		return (_Tmp += _Off);

  00007	85 f6		 test	 esi, esi
  00009	75 1b		 jne	 SHORT $LN30@operator@28
  0000b	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00010	33 c0		 xor	 eax, eax
$LN21@operator@28:
  00012	8b 4c 24 10	 mov	 ecx, DWORD PTR __Off$[esp+4]
  00016	8d 3c 8f	 lea	 edi, DWORD PTR [edi+ecx*4]
  00019	3b 78 10	 cmp	 edi, DWORD PTR [eax+16]
  0001c	77 13		 ja	 SHORT $LN8@operator@28
  0001e	85 f6		 test	 esi, esi
  00020	74 08		 je	 SHORT $LN26@operator@28
  00022	8b 06		 mov	 eax, DWORD PTR [esi]
  00024	eb 06		 jmp	 SHORT $LN27@operator@28
$LN30@operator@28:
  00026	8b 06		 mov	 eax, DWORD PTR [esi]
  00028	eb e8		 jmp	 SHORT $LN21@operator@28
$LN26@operator@28:
  0002a	33 c0		 xor	 eax, eax
$LN27@operator@28:
  0002c	3b 78 0c	 cmp	 edi, DWORD PTR [eax+12]
  0002f	73 05		 jae	 SHORT $LN7@operator@28
$LN8@operator@28:
  00031	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@operator@28:
  00036	8b 44 24 0c	 mov	 eax, DWORD PTR ___$ReturnUdt$[esp+4]
  0003a	89 78 04	 mov	 DWORD PTR [eax+4], edi
  0003d	5f		 pop	 edi
  0003e	89 30		 mov	 DWORD PTR [eax], esi
  00040	5e		 pop	 esi

; 383  : 		}

  00041	c2 08 00	 ret	 8
??H?$_Vector_iterator@HV?$allocator@H@std@@@std@@QBE?AV01@H@Z ENDP ; std::_Vector_iterator<int,std::allocator<int> >::operator+
_TEXT	ENDS
PUBLIC	??E?$_Vector_iterator@NV?$allocator@N@std@@@std@@QAE?AV01@H@Z ; std::_Vector_iterator<double,std::allocator<double> >::operator++
; Function compile flags: /Ogtpy
;	COMDAT ??E?$_Vector_iterator@NV?$allocator@N@std@@@std@@QAE?AV01@H@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
??E?$_Vector_iterator@NV?$allocator@N@std@@@std@@QAE?AV01@H@Z PROC ; std::_Vector_iterator<double,std::allocator<double> >::operator++, COMDAT
; _this$ = ecx

; 354  : 		{	// postincrement

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 355  : 		_Myt _Tmp = *this;

  00003	8b 06		 mov	 eax, DWORD PTR [esi]
  00005	8b 4e 04	 mov	 ecx, DWORD PTR [esi+4]
  00008	57		 push	 edi
  00009	8b 7c 24 0c	 mov	 edi, DWORD PTR ___$ReturnUdt$[esp+4]
  0000d	89 07		 mov	 DWORD PTR [edi], eax
  0000f	89 4f 04	 mov	 DWORD PTR [edi+4], ecx

; 356  : 		++*this;

  00012	85 c0		 test	 eax, eax
  00014	75 0b		 jne	 SHORT $LN23@operator@29
  00016	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  0001b	8b 06		 mov	 eax, DWORD PTR [esi]
  0001d	85 c0		 test	 eax, eax
  0001f	74 04		 je	 SHORT $LN19@operator@29
$LN23@operator@29:
  00021	8b 00		 mov	 eax, DWORD PTR [eax]
  00023	eb 02		 jmp	 SHORT $LN20@operator@29
$LN19@operator@29:
  00025	33 c0		 xor	 eax, eax
$LN20@operator@29:
  00027	8b 56 04	 mov	 edx, DWORD PTR [esi+4]
  0002a	3b 50 10	 cmp	 edx, DWORD PTR [eax+16]
  0002d	72 05		 jb	 SHORT $LN24@operator@29
  0002f	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN24@operator@29:
  00034	83 46 04 08	 add	 DWORD PTR [esi+4], 8

; 357  : 		return (_Tmp);

  00038	8b c7		 mov	 eax, edi
  0003a	5f		 pop	 edi
  0003b	5e		 pop	 esi

; 358  : 		}

  0003c	c2 08 00	 ret	 8
??E?$_Vector_iterator@NV?$allocator@N@std@@@std@@QAE?AV01@H@Z ENDP ; std::_Vector_iterator<double,std::allocator<double> >::operator++
_TEXT	ENDS
PUBLIC	??1?$_Vector_val@HV?$allocator@H@std@@@std@@QAE@XZ ; std::_Vector_val<int,std::allocator<int> >::~_Vector_val<int,std::allocator<int> >
; Function compile flags: /Ogtpy
;	COMDAT ??1?$_Vector_val@HV?$allocator@H@std@@@std@@QAE@XZ
_TEXT	SEGMENT
??1?$_Vector_val@HV?$allocator@H@std@@@std@@QAE@XZ PROC	; std::_Vector_val<int,std::allocator<int> >::~_Vector_val<int,std::allocator<int> >, COMDAT
; _this$ = ecx
  00000	8b 01		 mov	 eax, DWORD PTR [ecx]
  00002	50		 push	 eax
  00003	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00008	59		 pop	 ecx
  00009	c3		 ret	 0
??1?$_Vector_val@HV?$allocator@H@std@@@std@@QAE@XZ ENDP	; std::_Vector_val<int,std::allocator<int> >::~_Vector_val<int,std::allocator<int> >
_TEXT	ENDS
PUBLIC	??1?$_Vector_val@NV?$allocator@N@std@@@std@@QAE@XZ ; std::_Vector_val<double,std::allocator<double> >::~_Vector_val<double,std::allocator<double> >
; Function compile flags: /Ogtpy
;	COMDAT ??1?$_Vector_val@NV?$allocator@N@std@@@std@@QAE@XZ
_TEXT	SEGMENT
??1?$_Vector_val@NV?$allocator@N@std@@@std@@QAE@XZ PROC	; std::_Vector_val<double,std::allocator<double> >::~_Vector_val<double,std::allocator<double> >, COMDAT
; _this$ = ecx
  00000	8b 01		 mov	 eax, DWORD PTR [ecx]
  00002	50		 push	 eax
  00003	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00008	59		 pop	 ecx
  00009	c3		 ret	 0
??1?$_Vector_val@NV?$allocator@N@std@@@std@@QAE@XZ ENDP	; std::_Vector_val<double,std::allocator<double> >::~_Vector_val<double,std::allocator<double> >
_TEXT	ENDS
PUBLIC	??1?$_Vector_val@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ ; std::_Vector_val<CSymTable *,std::allocator<CSymTable *> >::~_Vector_val<CSymTable *,std::allocator<CSymTable *> >
; Function compile flags: /Ogtpy
;	COMDAT ??1?$_Vector_val@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
??1?$_Vector_val@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ PROC ; std::_Vector_val<CSymTable *,std::allocator<CSymTable *> >::~_Vector_val<CSymTable *,std::allocator<CSymTable *> >, COMDAT
; _this$ = ecx
  00000	8b 01		 mov	 eax, DWORD PTR [ecx]
  00002	50		 push	 eax
  00003	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00008	59		 pop	 ecx
  00009	c3		 ret	 0
??1?$_Vector_val@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ ENDP ; std::_Vector_val<CSymTable *,std::allocator<CSymTable *> >::~_Vector_val<CSymTable *,std::allocator<CSymTable *> >
_TEXT	ENDS
PUBLIC	?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z
_TEXT	SEGMENT
__Built$ = 8						; size = 1
__Newsize$ = 12						; size = 4
?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy, COMDAT
; _this$ = ecx

; 2149 : 		if (!_Built)

  00000	80 7c 24 04 00	 cmp	 BYTE PTR __Built$[esp-4], 0
  00005	56		 push	 esi
  00006	57		 push	 edi
  00007	8b 7c 24 10	 mov	 edi, DWORD PTR __Newsize$[esp+4]
  0000b	8b f1		 mov	 esi, ecx
  0000d	74 27		 je	 SHORT $LN15@Tidy

; 2150 : 			;
; 2151 : 		else if (_BUF_SIZE <= _Myres)

  0000f	83 7e 18 10	 cmp	 DWORD PTR [esi+24], 16	; 00000010H
  00013	72 21		 jb	 SHORT $LN15@Tidy

; 2152 : 			{	// copy any leftovers to small buffer and deallocate
; 2153 : 			_Elem *_Ptr = _Bx._Ptr;

  00015	8d 46 04	 lea	 eax, DWORD PTR [esi+4]
  00018	53		 push	 ebx
  00019	8b 18		 mov	 ebx, DWORD PTR [eax]

; 2154 : 			if (0 < _Newsize)

  0001b	85 ff		 test	 edi, edi
  0001d	76 0d		 jbe	 SHORT $LN13@Tidy

; 2155 : 				_Traits_helper::copy_s<_Traits>(_Bx._Buf, _BUF_SIZE, _Ptr, _Newsize);

  0001f	57		 push	 edi
  00020	53		 push	 ebx
  00021	6a 10		 push	 16			; 00000010H
  00023	50		 push	 eax
  00024	e8 00 00 00 00	 call	 _memcpy_s
  00029	83 c4 10	 add	 esp, 16			; 00000010H
$LN13@Tidy:

; 2156 : 			_Mybase::_Alval.deallocate(_Ptr, _Myres + 1);

  0002c	53		 push	 ebx
  0002d	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00032	83 c4 04	 add	 esp, 4
  00035	5b		 pop	 ebx
$LN15@Tidy:

; 2157 : 			}
; 2158 : 		_Myres = _BUF_SIZE - 1;
; 2159 : 		_Eos(_Newsize);

  00036	89 7e 14	 mov	 DWORD PTR [esi+20], edi
  00039	c7 46 18 0f 00
	00 00		 mov	 DWORD PTR [esi+24], 15	; 0000000fH
  00040	c6 44 3e 04 00	 mov	 BYTE PTR [esi+edi+4], 0
  00045	5f		 pop	 edi
  00046	5e		 pop	 esi

; 2160 : 		}

  00047	c2 08 00	 ret	 8
?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy
_TEXT	ENDS
PUBLIC	?_Destroy@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEXPAPAVCSymTable@@0@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Destroy
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?_Destroy@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEXPAPAVCSymTable@@0@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
?_Destroy@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEXPAPAVCSymTable@@0@Z PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Destroy, COMDAT
; _this$ = ecx

; 1119 : 		_Destroy_range(_First, _Last, this->_Alval);
; 1120 : 		}

  00000	c2 08 00	 ret	 8
?_Destroy@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEXPAPAVCSymTable@@0@Z ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Destroy
_TEXT	ENDS
PUBLIC	?_Tidy@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEXXZ ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Tidy
; Function compile flags: /Ogtpy
;	COMDAT ?_Tidy@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEXXZ
_TEXT	SEGMENT
?_Tidy@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEXXZ PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Tidy, COMDAT
; _this$ = ecx

; 1123 : 		{	// free all storage

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 1124 : 		if (_Myfirst != 0)

  00003	8b 46 0c	 mov	 eax, DWORD PTR [esi+12]
  00006	85 c0		 test	 eax, eax
  00008	74 09		 je	 SHORT $LN4@Tidy@2

; 1125 : 			{	// something to free, destroy and deallocate it
; 1126 : 
; 1127 :  #if _HAS_ITERATOR_DEBUGGING
; 1128 : 			this->_Orphan_all();
; 1129 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1130 : 
; 1131 : 			_Destroy(_Myfirst, _Mylast);
; 1132 : 			this->_Alval.deallocate(_Myfirst, _Myend - _Myfirst);

  0000a	50		 push	 eax
  0000b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00010	83 c4 04	 add	 esp, 4
$LN4@Tidy@2:

; 1133 : 			}
; 1134 : 		_Myfirst = 0, _Mylast = 0, _Myend = 0;

  00013	c7 46 0c 00 00
	00 00		 mov	 DWORD PTR [esi+12], 0
  0001a	c7 46 10 00 00
	00 00		 mov	 DWORD PTR [esi+16], 0
  00021	c7 46 14 00 00
	00 00		 mov	 DWORD PTR [esi+20], 0
  00028	5e		 pop	 esi

; 1135 : 		}

  00029	c3		 ret	 0
?_Tidy@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEXXZ ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Tidy
_TEXT	ENDS
PUBLIC	?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z
_TEXT	SEGMENT
tv130 = 8						; size = 4
__Off$ = 8						; size = 4
__Count$ = 12						; size = 4
?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase, COMDAT
; _this$ = ecx

; 1262 : 		{	// erase elements [_Off, _Off + _Count)

  00000	53		 push	 ebx

; 1263 : 		if (_Mysize < _Off)

  00001	8b 5c 24 08	 mov	 ebx, DWORD PTR __Off$[esp]
  00005	56		 push	 esi
  00006	8b f1		 mov	 esi, ecx
  00008	57		 push	 edi
  00009	39 5e 14	 cmp	 DWORD PTR [esi+20], ebx
  0000c	73 05		 jae	 SHORT $LN3@erase

; 1264 : 			_String_base::_Xran();	// _Off off end

  0000e	e8 00 00 00 00	 call	 ?_Xran@_String_base@std@@SAXXZ ; std::_String_base::_Xran
$LN3@erase:

; 1265 : 		if (_Mysize - _Off < _Count)

  00013	8b 46 14	 mov	 eax, DWORD PTR [esi+20]
  00016	8b 7c 24 14	 mov	 edi, DWORD PTR __Count$[esp+8]
  0001a	2b c3		 sub	 eax, ebx
  0001c	3b c7		 cmp	 eax, edi
  0001e	73 02		 jae	 SHORT $LN2@erase

; 1266 : 			_Count = _Mysize - _Off;	// trim _Count

  00020	8b f8		 mov	 edi, eax
$LN2@erase:

; 1267 : 		if (0 < _Count)

  00022	85 ff		 test	 edi, edi
  00024	76 55		 jbe	 SHORT $LN30@erase

; 1268 : 			{	// move elements down
; 1269 : 			_Traits_helper::move_s<_Traits>(_Myptr() + _Off, _Myres - _Off, _Myptr() + _Off + _Count,
; 1270 : 				_Mysize - _Off - _Count);

  00026	8b 4e 18	 mov	 ecx, DWORD PTR [esi+24]
  00029	55		 push	 ebp
  0002a	8d 6e 04	 lea	 ebp, DWORD PTR [esi+4]
  0002d	83 f9 10	 cmp	 ecx, 16			; 00000010H
  00030	72 09		 jb	 SHORT $LN8@erase
  00032	8b 55 00	 mov	 edx, DWORD PTR [ebp]
  00035	89 54 24 14	 mov	 DWORD PTR tv130[esp+12], edx
  00039	eb 04		 jmp	 SHORT $LN9@erase
$LN8@erase:
  0003b	89 6c 24 14	 mov	 DWORD PTR tv130[esp+12], ebp
$LN9@erase:
  0003f	83 f9 10	 cmp	 ecx, 16			; 00000010H
  00042	72 05		 jb	 SHORT $LN12@erase
  00044	8b 55 00	 mov	 edx, DWORD PTR [ebp]
  00047	eb 02		 jmp	 SHORT $LN13@erase
$LN12@erase:
  00049	8b d5		 mov	 edx, ebp
$LN13@erase:
  0004b	2b c7		 sub	 eax, edi
  0004d	50		 push	 eax
  0004e	8b 44 24 18	 mov	 eax, DWORD PTR tv130[esp+16]
  00052	03 c3		 add	 eax, ebx
  00054	03 c7		 add	 eax, edi
  00056	50		 push	 eax
  00057	2b cb		 sub	 ecx, ebx
  00059	51		 push	 ecx
  0005a	03 d3		 add	 edx, ebx
  0005c	52		 push	 edx
  0005d	e8 00 00 00 00	 call	 _memmove_s

; 1271 : 			size_type _Newsize = _Mysize - _Count;

  00062	8b 46 14	 mov	 eax, DWORD PTR [esi+20]
  00065	2b c7		 sub	 eax, edi
  00067	83 c4 10	 add	 esp, 16			; 00000010H

; 1272 : 			_Eos(_Newsize);

  0006a	83 7e 18 10	 cmp	 DWORD PTR [esi+24], 16	; 00000010H
  0006e	89 46 14	 mov	 DWORD PTR [esi+20], eax
  00071	72 03		 jb	 SHORT $LN26@erase
  00073	8b 6d 00	 mov	 ebp, DWORD PTR [ebp]
$LN26@erase:
  00076	c6 04 28 00	 mov	 BYTE PTR [eax+ebp], 0
  0007a	5d		 pop	 ebp
$LN30@erase:
  0007b	5f		 pop	 edi

; 1273 : 			}
; 1274 : 		return (*this);

  0007c	8b c6		 mov	 eax, esi
  0007e	5e		 pop	 esi
  0007f	5b		 pop	 ebx

; 1275 : 		}

  00080	c2 08 00	 ret	 8
?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase
_TEXT	ENDS
PUBLIC	?_Destroy@?$vector@HV?$allocator@H@std@@@std@@IAEXPAH0@Z ; std::vector<int,std::allocator<int> >::_Destroy
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?_Destroy@?$vector@HV?$allocator@H@std@@@std@@IAEXPAH0@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
?_Destroy@?$vector@HV?$allocator@H@std@@@std@@IAEXPAH0@Z PROC ; std::vector<int,std::allocator<int> >::_Destroy, COMDAT
; _this$ = ecx

; 1119 : 		_Destroy_range(_First, _Last, this->_Alval);
; 1120 : 		}

  00000	c2 08 00	 ret	 8
?_Destroy@?$vector@HV?$allocator@H@std@@@std@@IAEXPAH0@Z ENDP ; std::vector<int,std::allocator<int> >::_Destroy
_TEXT	ENDS
PUBLIC	??0?$_Container_base_aux_alloc_real@V?$allocator@H@std@@@std@@IAE@V?$allocator@H@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<int> >::_Container_base_aux_alloc_real<std::allocator<int> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??0?$_Container_base_aux_alloc_real@V?$allocator@H@std@@@std@@IAE@V?$allocator@H@1@@Z
_TEXT	SEGMENT
__Al$ = 8						; size = 1
??0?$_Container_base_aux_alloc_real@V?$allocator@H@std@@@std@@IAE@V?$allocator@H@1@@Z PROC ; std::_Container_base_aux_alloc_real<std::allocator<int> >::_Container_base_aux_alloc_real<std::allocator<int> >, COMDAT
; _this$ = ecx

; 419  : 		{

  00000	56		 push	 esi

; 420  : 		_Myownedaux = new (_Alaux.allocate(1)) _Aux_cont(this);

  00001	6a 04		 push	 4
  00003	8b f1		 mov	 esi, ecx
  00005	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0000a	83 c4 04	 add	 esp, 4
  0000d	85 c0		 test	 eax, eax
  0000f	74 0a		 je	 SHORT $LN3@Container_
  00011	89 30		 mov	 DWORD PTR [eax], esi
  00013	89 06		 mov	 DWORD PTR [esi], eax

; 421  : 		}

  00015	8b c6		 mov	 eax, esi
  00017	5e		 pop	 esi
  00018	c2 04 00	 ret	 4
$LN3@Container_:

; 420  : 		_Myownedaux = new (_Alaux.allocate(1)) _Aux_cont(this);

  0001b	33 c0		 xor	 eax, eax
  0001d	89 06		 mov	 DWORD PTR [esi], eax

; 421  : 		}

  0001f	8b c6		 mov	 eax, esi
  00021	5e		 pop	 esi
  00022	c2 04 00	 ret	 4
??0?$_Container_base_aux_alloc_real@V?$allocator@H@std@@@std@@IAE@V?$allocator@H@1@@Z ENDP ; std::_Container_base_aux_alloc_real<std::allocator<int> >::_Container_base_aux_alloc_real<std::allocator<int> >
_TEXT	ENDS
PUBLIC	?_Destroy@?$vector@NV?$allocator@N@std@@@std@@IAEXPAN0@Z ; std::vector<double,std::allocator<double> >::_Destroy
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?_Destroy@?$vector@NV?$allocator@N@std@@@std@@IAEXPAN0@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
?_Destroy@?$vector@NV?$allocator@N@std@@@std@@IAEXPAN0@Z PROC ; std::vector<double,std::allocator<double> >::_Destroy, COMDAT
; _this$ = ecx

; 1119 : 		_Destroy_range(_First, _Last, this->_Alval);
; 1120 : 		}

  00000	c2 08 00	 ret	 8
?_Destroy@?$vector@NV?$allocator@N@std@@@std@@IAEXPAN0@Z ENDP ; std::vector<double,std::allocator<double> >::_Destroy
_TEXT	ENDS
PUBLIC	??0?$_Container_base_aux_alloc_real@V?$allocator@N@std@@@std@@IAE@V?$allocator@N@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<double> >::_Container_base_aux_alloc_real<std::allocator<double> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??0?$_Container_base_aux_alloc_real@V?$allocator@N@std@@@std@@IAE@V?$allocator@N@1@@Z
_TEXT	SEGMENT
__Al$ = 8						; size = 1
??0?$_Container_base_aux_alloc_real@V?$allocator@N@std@@@std@@IAE@V?$allocator@N@1@@Z PROC ; std::_Container_base_aux_alloc_real<std::allocator<double> >::_Container_base_aux_alloc_real<std::allocator<double> >, COMDAT
; _this$ = ecx

; 419  : 		{

  00000	56		 push	 esi

; 420  : 		_Myownedaux = new (_Alaux.allocate(1)) _Aux_cont(this);

  00001	6a 04		 push	 4
  00003	8b f1		 mov	 esi, ecx
  00005	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0000a	83 c4 04	 add	 esp, 4
  0000d	85 c0		 test	 eax, eax
  0000f	74 0a		 je	 SHORT $LN3@Container_@2
  00011	89 30		 mov	 DWORD PTR [eax], esi
  00013	89 06		 mov	 DWORD PTR [esi], eax

; 421  : 		}

  00015	8b c6		 mov	 eax, esi
  00017	5e		 pop	 esi
  00018	c2 04 00	 ret	 4
$LN3@Container_@2:

; 420  : 		_Myownedaux = new (_Alaux.allocate(1)) _Aux_cont(this);

  0001b	33 c0		 xor	 eax, eax
  0001d	89 06		 mov	 DWORD PTR [esi], eax

; 421  : 		}

  0001f	8b c6		 mov	 eax, esi
  00021	5e		 pop	 esi
  00022	c2 04 00	 ret	 4
??0?$_Container_base_aux_alloc_real@V?$allocator@N@std@@@std@@IAE@V?$allocator@N@1@@Z ENDP ; std::_Container_base_aux_alloc_real<std::allocator<double> >::_Container_base_aux_alloc_real<std::allocator<double> >
_TEXT	ENDS
PUBLIC	??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSymTable@@@std@@@std@@IAE@V?$allocator@PAVCSymTable@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<CSymTable *> >::_Container_base_aux_alloc_real<std::allocator<CSymTable *> >
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSymTable@@@std@@@std@@IAE@V?$allocator@PAVCSymTable@@@1@@Z
_TEXT	SEGMENT
__Al$ = 8						; size = 1
??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSymTable@@@std@@@std@@IAE@V?$allocator@PAVCSymTable@@@1@@Z PROC ; std::_Container_base_aux_alloc_real<std::allocator<CSymTable *> >::_Container_base_aux_alloc_real<std::allocator<CSymTable *> >, COMDAT
; _this$ = ecx

; 419  : 		{

  00000	56		 push	 esi

; 420  : 		_Myownedaux = new (_Alaux.allocate(1)) _Aux_cont(this);

  00001	6a 04		 push	 4
  00003	8b f1		 mov	 esi, ecx
  00005	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0000a	83 c4 04	 add	 esp, 4
  0000d	85 c0		 test	 eax, eax
  0000f	74 0a		 je	 SHORT $LN3@Container_@3
  00011	89 30		 mov	 DWORD PTR [eax], esi
  00013	89 06		 mov	 DWORD PTR [esi], eax

; 421  : 		}

  00015	8b c6		 mov	 eax, esi
  00017	5e		 pop	 esi
  00018	c2 04 00	 ret	 4
$LN3@Container_@3:

; 420  : 		_Myownedaux = new (_Alaux.allocate(1)) _Aux_cont(this);

  0001b	33 c0		 xor	 eax, eax
  0001d	89 06		 mov	 DWORD PTR [esi], eax

; 421  : 		}

  0001f	8b c6		 mov	 eax, esi
  00021	5e		 pop	 esi
  00022	c2 04 00	 ret	 4
??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSymTable@@@std@@@std@@IAE@V?$allocator@PAVCSymTable@@@1@@Z ENDP ; std::_Container_base_aux_alloc_real<std::allocator<CSymTable *> >::_Container_base_aux_alloc_real<std::allocator<CSymTable *> >
_TEXT	ENDS
PUBLIC	??0?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QAE@PAHPBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<int,std::allocator<int> >::_Vector_const_iterator<int,std::allocator<int> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??0?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QAE@PAHPBV_Container_base_aux@1@@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
__Pvector$ = 12						; size = 4
??0?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QAE@PAHPBV_Container_base_aux@1@@Z PROC ; std::_Vector_const_iterator<int,std::allocator<int> >::_Vector_const_iterator<int,std::allocator<int> >, COMDAT
; _this$ = ecx

; 76   : 	_Vector_const_iterator(_Tptr _Ptr, const _Container_base *_Pvector)

  00000	53		 push	 ebx

; 77   : 		{	// construct with pointer _Ptr
; 78   : 		_SCL_SECURE_VALIDATE(_Pvector != NULL && ((_Myvec *)_Pvector)->_Myfirst <= _Ptr && _Ptr <= ((_Myvec *)_Pvector)->_Mylast);

  00001	8b 5c 24 08	 mov	 ebx, DWORD PTR __Ptr$[esp]
  00005	56		 push	 esi
  00006	57		 push	 edi
  00007	8b 7c 24 14	 mov	 edi, DWORD PTR __Pvector$[esp+8]
  0000b	8b f1		 mov	 esi, ecx
  0000d	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], 0
  00013	85 ff		 test	 edi, edi
  00015	74 0a		 je	 SHORT $LN4@Vector_con
  00017	39 5f 0c	 cmp	 DWORD PTR [edi+12], ebx
  0001a	77 05		 ja	 SHORT $LN4@Vector_con
  0001c	3b 5f 10	 cmp	 ebx, DWORD PTR [edi+16]
  0001f	76 05		 jbe	 SHORT $LN3@Vector_con
$LN4@Vector_con:
  00021	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN3@Vector_con:

; 79   : 		this->_Set_container(_Pvector);

  00026	8b 07		 mov	 eax, DWORD PTR [edi]
  00028	89 06		 mov	 DWORD PTR [esi], eax
  0002a	5f		 pop	 edi

; 80   : 		_Myptr = _Ptr;

  0002b	89 5e 04	 mov	 DWORD PTR [esi+4], ebx

; 81   : 		}

  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi
  00031	5b		 pop	 ebx
  00032	c2 08 00	 ret	 8
??0?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QAE@PAHPBV_Container_base_aux@1@@Z ENDP ; std::_Vector_const_iterator<int,std::allocator<int> >::_Vector_const_iterator<int,std::allocator<int> >
_TEXT	ENDS
PUBLIC	??H?$_Vector_iterator@NV?$allocator@N@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<double,std::allocator<double> >::operator+
; Function compile flags: /Ogtpy
;	COMDAT ??H?$_Vector_iterator@NV?$allocator@N@std@@@std@@QBE?AV01@H@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
__Off$ = 12						; size = 4
??H?$_Vector_iterator@NV?$allocator@N@std@@@std@@QBE?AV01@H@Z PROC ; std::_Vector_iterator<double,std::allocator<double> >::operator+, COMDAT
; _this$ = ecx

; 380  : 		{	// return this + integer

  00000	56		 push	 esi

; 381  : 		_Myt _Tmp = *this;

  00001	8b 31		 mov	 esi, DWORD PTR [ecx]
  00003	57		 push	 edi
  00004	8b 79 04	 mov	 edi, DWORD PTR [ecx+4]

; 382  : 		return (_Tmp += _Off);

  00007	85 f6		 test	 esi, esi
  00009	75 1b		 jne	 SHORT $LN30@operator@30
  0000b	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00010	33 c0		 xor	 eax, eax
$LN21@operator@30:
  00012	8b 4c 24 10	 mov	 ecx, DWORD PTR __Off$[esp+4]
  00016	8d 3c cf	 lea	 edi, DWORD PTR [edi+ecx*8]
  00019	3b 78 10	 cmp	 edi, DWORD PTR [eax+16]
  0001c	77 13		 ja	 SHORT $LN8@operator@30
  0001e	85 f6		 test	 esi, esi
  00020	74 08		 je	 SHORT $LN26@operator@30
  00022	8b 06		 mov	 eax, DWORD PTR [esi]
  00024	eb 06		 jmp	 SHORT $LN27@operator@30
$LN30@operator@30:
  00026	8b 06		 mov	 eax, DWORD PTR [esi]
  00028	eb e8		 jmp	 SHORT $LN21@operator@30
$LN26@operator@30:
  0002a	33 c0		 xor	 eax, eax
$LN27@operator@30:
  0002c	3b 78 0c	 cmp	 edi, DWORD PTR [eax+12]
  0002f	73 05		 jae	 SHORT $LN7@operator@30
$LN8@operator@30:
  00031	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@operator@30:
  00036	8b 44 24 0c	 mov	 eax, DWORD PTR ___$ReturnUdt$[esp+4]
  0003a	89 78 04	 mov	 DWORD PTR [eax+4], edi
  0003d	5f		 pop	 edi
  0003e	89 30		 mov	 DWORD PTR [eax], esi
  00040	5e		 pop	 esi

; 383  : 		}

  00041	c2 08 00	 ret	 8
??H?$_Vector_iterator@NV?$allocator@N@std@@@std@@QBE?AV01@H@Z ENDP ; std::_Vector_iterator<double,std::allocator<double> >::operator+
_TEXT	ENDS
PUBLIC	??0?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QAE@PANPBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<double,std::allocator<double> >::_Vector_const_iterator<double,std::allocator<double> >
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QAE@PANPBV_Container_base_aux@1@@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
__Pvector$ = 12						; size = 4
??0?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QAE@PANPBV_Container_base_aux@1@@Z PROC ; std::_Vector_const_iterator<double,std::allocator<double> >::_Vector_const_iterator<double,std::allocator<double> >, COMDAT
; _this$ = ecx

; 76   : 	_Vector_const_iterator(_Tptr _Ptr, const _Container_base *_Pvector)

  00000	53		 push	 ebx

; 77   : 		{	// construct with pointer _Ptr
; 78   : 		_SCL_SECURE_VALIDATE(_Pvector != NULL && ((_Myvec *)_Pvector)->_Myfirst <= _Ptr && _Ptr <= ((_Myvec *)_Pvector)->_Mylast);

  00001	8b 5c 24 08	 mov	 ebx, DWORD PTR __Ptr$[esp]
  00005	56		 push	 esi
  00006	57		 push	 edi
  00007	8b 7c 24 14	 mov	 edi, DWORD PTR __Pvector$[esp+8]
  0000b	8b f1		 mov	 esi, ecx
  0000d	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], 0
  00013	85 ff		 test	 edi, edi
  00015	74 0a		 je	 SHORT $LN4@Vector_con@2
  00017	39 5f 0c	 cmp	 DWORD PTR [edi+12], ebx
  0001a	77 05		 ja	 SHORT $LN4@Vector_con@2
  0001c	3b 5f 10	 cmp	 ebx, DWORD PTR [edi+16]
  0001f	76 05		 jbe	 SHORT $LN3@Vector_con@2
$LN4@Vector_con@2:
  00021	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN3@Vector_con@2:

; 79   : 		this->_Set_container(_Pvector);

  00026	8b 07		 mov	 eax, DWORD PTR [edi]
  00028	89 06		 mov	 DWORD PTR [esi], eax
  0002a	5f		 pop	 edi

; 80   : 		_Myptr = _Ptr;

  0002b	89 5e 04	 mov	 DWORD PTR [esi+4], ebx

; 81   : 		}

  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi
  00031	5b		 pop	 ebx
  00032	c2 08 00	 ret	 8
??0?$_Vector_const_iterator@NV?$allocator@N@std@@@std@@QAE@PANPBV_Container_base_aux@1@@Z ENDP ; std::_Vector_const_iterator<double,std::allocator<double> >::_Vector_const_iterator<double,std::allocator<double> >
_TEXT	ENDS
PUBLIC	??H?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >::operator+
; Function compile flags: /Ogtpy
;	COMDAT ??H?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBE?AV01@H@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
__Off$ = 12						; size = 4
??H?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBE?AV01@H@Z PROC ; std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >::operator+, COMDAT
; _this$ = ecx

; 380  : 		{	// return this + integer

  00000	56		 push	 esi

; 381  : 		_Myt _Tmp = *this;

  00001	8b 31		 mov	 esi, DWORD PTR [ecx]
  00003	57		 push	 edi
  00004	8b 79 04	 mov	 edi, DWORD PTR [ecx+4]

; 382  : 		return (_Tmp += _Off);

  00007	85 f6		 test	 esi, esi
  00009	75 1b		 jne	 SHORT $LN30@operator@31
  0000b	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00010	33 c0		 xor	 eax, eax
$LN21@operator@31:
  00012	8b 4c 24 10	 mov	 ecx, DWORD PTR __Off$[esp+4]
  00016	8d 3c 8f	 lea	 edi, DWORD PTR [edi+ecx*4]
  00019	3b 78 10	 cmp	 edi, DWORD PTR [eax+16]
  0001c	77 13		 ja	 SHORT $LN8@operator@31
  0001e	85 f6		 test	 esi, esi
  00020	74 08		 je	 SHORT $LN26@operator@31
  00022	8b 06		 mov	 eax, DWORD PTR [esi]
  00024	eb 06		 jmp	 SHORT $LN27@operator@31
$LN30@operator@31:
  00026	8b 06		 mov	 eax, DWORD PTR [esi]
  00028	eb e8		 jmp	 SHORT $LN21@operator@31
$LN26@operator@31:
  0002a	33 c0		 xor	 eax, eax
$LN27@operator@31:
  0002c	3b 78 0c	 cmp	 edi, DWORD PTR [eax+12]
  0002f	73 05		 jae	 SHORT $LN7@operator@31
$LN8@operator@31:
  00031	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@operator@31:
  00036	8b 44 24 0c	 mov	 eax, DWORD PTR ___$ReturnUdt$[esp+4]
  0003a	89 78 04	 mov	 DWORD PTR [eax+4], edi
  0003d	5f		 pop	 edi
  0003e	89 30		 mov	 DWORD PTR [eax], esi
  00040	5e		 pop	 esi

; 383  : 		}

  00041	c2 08 00	 ret	 8
??H?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBE?AV01@H@Z ENDP ; std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >::operator+
_TEXT	ENDS
PUBLIC	?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy
EXTRN	___security_cookie:DWORD
EXTRN	___CxxFrameHandler3:PROC
EXTRN	@__security_check_cookie@4:PROC
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd
xdata$x	SEGMENT
__catchsym$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z$5 DD 040H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z$0
__catchsym$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z$4 DD 040H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z$1
__unwindtable$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	01H
	DD	00H
	DD	01H
	DD	00H
__ehfuncinfo$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z
	DD	02H
	DD	FLAT:__tryblocktable$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__tryblocktable$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z DD 02H
	DD	02H
	DD	03H
	DD	01H
	DD	FLAT:__catchsym$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z$4
	DD	00H
	DD	00H
	DD	03H
	DD	01H
	DD	FLAT:__catchsym$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z$5
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
xdata$x	ENDS
;	COMDAT ?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z
_TEXT	SEGMENT
__Newres$ = -24						; size = 4
_this$ = -20						; size = 4
__$EHRec$ = -16						; size = 16
__Ptr$ = 8						; size = 4
__Newsize$ = 8						; size = 4
__Oldlen$ = 12						; size = 4
?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy, COMDAT
; _this$ = ecx

; 2083 : 		{	// copy _Oldlen elements to newly allocated buffer

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp+4]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	89 65 f0	 mov	 DWORD PTR __$EHRec$[ebp], esp
  0002b	8b f9		 mov	 edi, ecx
  0002d	89 7d ec	 mov	 DWORD PTR _this$[ebp], edi

; 2084 : 		size_type _Newres = _Newsize | _ALLOC_MASK;

  00030	8b 45 08	 mov	 eax, DWORD PTR __Newsize$[ebp]
  00033	8b f0		 mov	 esi, eax
  00035	83 ce 0f	 or	 esi, 15			; 0000000fH

; 2085 : 		if (max_size() < _Newres)

  00038	83 fe fe	 cmp	 esi, -2			; fffffffeH
  0003b	76 04		 jbe	 SHORT $LN6@Copy

; 2086 : 			_Newres = _Newsize;	// undo roundup if too big

  0003d	8b f0		 mov	 esi, eax

; 2087 : 		else if (_Newres / 3 < _Myres / 2

  0003f	eb 22		 jmp	 SHORT $LN4@Copy
$LN6@Copy:

; 2088 : 			&& _Myres <= max_size() - _Myres / 2)

  00041	8b 5f 18	 mov	 ebx, DWORD PTR [edi+24]
  00044	b8 ab aa aa aa	 mov	 eax, -1431655765	; aaaaaaabH
  00049	f7 e6		 mul	 esi
  0004b	8b cb		 mov	 ecx, ebx
  0004d	d1 e9		 shr	 ecx, 1
  0004f	d1 ea		 shr	 edx, 1
  00051	3b d1		 cmp	 edx, ecx
  00053	73 0e		 jae	 SHORT $LN4@Copy
  00055	b8 fe ff ff ff	 mov	 eax, -2			; fffffffeH
  0005a	2b c1		 sub	 eax, ecx
  0005c	3b d8		 cmp	 ebx, eax
  0005e	77 03		 ja	 SHORT $LN4@Copy

; 2089 : 			_Newres = _Myres + _Myres / 2;	// grow exponentially if possible

  00060	8d 34 19	 lea	 esi, DWORD PTR [ecx+ebx]
$LN4@Copy:

; 2090 : 		_Elem *_Ptr = 0;
; 2091 : 
; 2092 : 		_TRY_BEGIN
; 2093 : 			_Ptr = _Mybase::_Alval.allocate(_Newres + 1);

  00063	8d 4e 01	 lea	 ecx, DWORD PTR [esi+1]
  00066	6a 00		 push	 0
  00068	51		 push	 ecx
  00069	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0
  00070	e8 00 00 00 00	 call	 ??$_Allocate@D@std@@YAPADIPAD@Z ; std::_Allocate<char>
  00075	83 c4 08	 add	 esp, 8
  00078	89 45 08	 mov	 DWORD PTR __Ptr$[ebp], eax
  0007b	eb 28		 jmp	 SHORT $LN16@Copy
__catch$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z$0:

; 2094 : 		_CATCH_ALL
; 2095 : 			_Newres = _Newsize;	// allocation failed, undo roundup and retry

  0007d	8b 45 08	 mov	 eax, DWORD PTR __Newsize$[ebp]
  00080	89 65 f0	 mov	 DWORD PTR __$EHRec$[ebp], esp
  00083	89 45 e8	 mov	 DWORD PTR __Newres$[ebp], eax

; 2096 : 			_TRY_BEGIN
; 2097 : 				_Ptr = _Mybase::_Alval.allocate(_Newres + 1);

  00086	40		 inc	 eax
  00087	6a 00		 push	 0
  00089	50		 push	 eax
  0008a	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+12], 2
  0008e	e8 00 00 00 00	 call	 ??$_Allocate@D@std@@YAPADIPAD@Z ; std::_Allocate<char>
  00093	89 45 08	 mov	 DWORD PTR __Ptr$[ebp], eax
  00096	83 c4 08	 add	 esp, 8

; 2101 : 			_CATCH_END
; 2102 : 		_CATCH_END

  00099	b8 00 00 00 00	 mov	 eax, $LN106@Copy
  0009e	c3		 ret	 0
$LN106@Copy:
  0009f	8b 7d ec	 mov	 edi, DWORD PTR _this$[ebp]
  000a2	8b 75 e8	 mov	 esi, DWORD PTR __Newres$[ebp]
$LN16@Copy:

; 2103 : 
; 2104 : 		if (0 < _Oldlen)

  000a5	8b 5d 0c	 mov	 ebx, DWORD PTR __Oldlen$[ebp]
  000a8	85 db		 test	 ebx, ebx
  000aa	76 20		 jbe	 SHORT $LN71@Copy

; 2105 : 			_Traits_helper::copy_s<_Traits>(_Ptr, _Newres + 1, _Myptr(), _Oldlen);	// copy existing elements

  000ac	83 7f 18 10	 cmp	 DWORD PTR [edi+24], 16	; 00000010H
  000b0	72 05		 jb	 SHORT $LN63@Copy
  000b2	8b 47 04	 mov	 eax, DWORD PTR [edi+4]
  000b5	eb 03		 jmp	 SHORT $LN64@Copy
$LN63@Copy:
  000b7	8d 47 04	 lea	 eax, DWORD PTR [edi+4]
$LN64@Copy:
  000ba	53		 push	 ebx
  000bb	50		 push	 eax
  000bc	8b 45 08	 mov	 eax, DWORD PTR __Ptr$[ebp]
  000bf	8d 56 01	 lea	 edx, DWORD PTR [esi+1]
  000c2	52		 push	 edx
  000c3	50		 push	 eax
  000c4	e8 00 00 00 00	 call	 _memcpy_s
  000c9	83 c4 10	 add	 esp, 16			; 00000010H
$LN71@Copy:

; 2106 : 		_Tidy(true);

  000cc	83 7f 18 10	 cmp	 DWORD PTR [edi+24], 16	; 00000010H
  000d0	72 0c		 jb	 SHORT $LN87@Copy
  000d2	8b 4f 04	 mov	 ecx, DWORD PTR [edi+4]
  000d5	51		 push	 ecx
  000d6	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  000db	83 c4 04	 add	 esp, 4
$LN87@Copy:

; 2107 : 		_Bx._Ptr = _Ptr;

  000de	8b 4d 08	 mov	 ecx, DWORD PTR __Ptr$[ebp]
  000e1	8d 47 04	 lea	 eax, DWORD PTR [edi+4]
  000e4	c6 00 00	 mov	 BYTE PTR [eax], 0
  000e7	89 08		 mov	 DWORD PTR [eax], ecx

; 2108 : 		_Myres = _Newres;

  000e9	89 77 18	 mov	 DWORD PTR [edi+24], esi

; 2109 : 		_Eos(_Oldlen);

  000ec	89 5f 14	 mov	 DWORD PTR [edi+20], ebx
  000ef	83 fe 10	 cmp	 esi, 16			; 00000010H
  000f2	72 02		 jb	 SHORT $LN101@Copy
  000f4	8b c1		 mov	 eax, ecx
$LN101@Copy:
  000f6	c6 04 18 00	 mov	 BYTE PTR [eax+ebx], 0

; 2110 : 		}

  000fa	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  000fd	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00104	59		 pop	 ecx
  00105	5f		 pop	 edi
  00106	5e		 pop	 esi
  00107	5b		 pop	 ebx
  00108	8b e5		 mov	 esp, ebp
  0010a	5d		 pop	 ebp
  0010b	c2 08 00	 ret	 8
__catch$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z$1:

; 2098 : 			_CATCH_ALL
; 2099 : 			_Tidy(true);	// failed again, discard storage and reraise

  0010e	8b 75 ec	 mov	 esi, DWORD PTR _this$[ebp]
  00111	83 7e 18 10	 cmp	 DWORD PTR [esi+24], 16	; 00000010H
  00115	72 0c		 jb	 SHORT $LN51@Copy
  00117	8b 56 04	 mov	 edx, DWORD PTR [esi+4]
  0011a	52		 push	 edx
  0011b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00120	83 c4 04	 add	 esp, 4
$LN51@Copy:

; 2100 : 			_RERAISE;

  00123	6a 00		 push	 0
  00125	c7 46 18 0f 00
	00 00		 mov	 DWORD PTR [esi+24], 15	; 0000000fH
  0012c	c7 46 14 00 00
	00 00		 mov	 DWORD PTR [esi+20], 0
  00133	6a 00		 push	 0
  00135	c6 46 04 00	 mov	 BYTE PTR [esi+4], 0
  00139	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN110@Copy:
$LN109@Copy:
  0013e	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z:
  00000	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00004	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00007	8b 4a e4	 mov	 ecx, DWORD PTR [edx-28]
  0000a	33 c8		 xor	 ecx, eax
  0000c	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00011	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z
  00016	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy
PUBLIC	??0?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@PAPAVCSymTable@@PBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??0?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@PAPAVCSymTable@@PBV_Container_base_aux@1@@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
__Pvector$ = 12						; size = 4
??0?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@PAPAVCSymTable@@PBV_Container_base_aux@1@@Z PROC ; std::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >, COMDAT
; _this$ = ecx

; 76   : 	_Vector_const_iterator(_Tptr _Ptr, const _Container_base *_Pvector)

  00000	53		 push	 ebx

; 77   : 		{	// construct with pointer _Ptr
; 78   : 		_SCL_SECURE_VALIDATE(_Pvector != NULL && ((_Myvec *)_Pvector)->_Myfirst <= _Ptr && _Ptr <= ((_Myvec *)_Pvector)->_Mylast);

  00001	8b 5c 24 08	 mov	 ebx, DWORD PTR __Ptr$[esp]
  00005	56		 push	 esi
  00006	57		 push	 edi
  00007	8b 7c 24 14	 mov	 edi, DWORD PTR __Pvector$[esp+8]
  0000b	8b f1		 mov	 esi, ecx
  0000d	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], 0
  00013	85 ff		 test	 edi, edi
  00015	74 0a		 je	 SHORT $LN4@Vector_con@3
  00017	39 5f 0c	 cmp	 DWORD PTR [edi+12], ebx
  0001a	77 05		 ja	 SHORT $LN4@Vector_con@3
  0001c	3b 5f 10	 cmp	 ebx, DWORD PTR [edi+16]
  0001f	76 05		 jbe	 SHORT $LN3@Vector_con@3
$LN4@Vector_con@3:
  00021	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN3@Vector_con@3:

; 79   : 		this->_Set_container(_Pvector);

  00026	8b 07		 mov	 eax, DWORD PTR [edi]
  00028	89 06		 mov	 DWORD PTR [esi], eax
  0002a	5f		 pop	 edi

; 80   : 		_Myptr = _Ptr;

  0002b	89 5e 04	 mov	 DWORD PTR [esi+4], ebx

; 81   : 		}

  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi
  00031	5b		 pop	 ebx
  00032	c2 08 00	 ret	 8
??0?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@PAPAVCSymTable@@PBV_Container_base_aux@1@@Z ENDP ; std::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >::_Vector_const_iterator<CSymTable *,std::allocator<CSymTable *> >
_TEXT	ENDS
PUBLIC	??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z ; std::operator==<char,std::char_traits<char>,std::allocator<char> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\string
;	COMDAT ??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
_TEXT	SEGMENT
__Left$ = 8						; size = 4
__Right$ = 12						; size = 4
??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z PROC ; std::operator==<char,std::char_traits<char>,std::allocator<char> >, COMDAT

; 74   : 	return (_Left.compare(_Right) == 0);

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Right$[esp-4]
  00004	83 78 18 10	 cmp	 DWORD PTR [eax+24], 16	; 00000010H
  00008	8b 48 14	 mov	 ecx, DWORD PTR [eax+20]
  0000b	72 05		 jb	 SHORT $LN9@operator@32
  0000d	8b 40 04	 mov	 eax, DWORD PTR [eax+4]
  00010	eb 03		 jmp	 SHORT $LN10@operator@32
$LN9@operator@32:
  00012	83 c0 04	 add	 eax, 4
$LN10@operator@32:
  00015	51		 push	 ecx
  00016	8b 4c 24 08	 mov	 ecx, DWORD PTR __Left$[esp]
  0001a	50		 push	 eax
  0001b	8b 41 14	 mov	 eax, DWORD PTR [ecx+20]
  0001e	50		 push	 eax
  0001f	6a 00		 push	 0
  00021	e8 00 00 00 00	 call	 ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::compare
  00026	f7 d8		 neg	 eax
  00028	1b c0		 sbb	 eax, eax
  0002a	40		 inc	 eax

; 75   : 	}

  0002b	c3		 ret	 0
??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z ENDP ; std::operator==<char,std::char_traits<char>,std::allocator<char> >
_TEXT	ENDS
PUBLIC	??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z ; std::operator<<char,std::char_traits<char>,std::allocator<char> >
; Function compile flags: /Ogtpy
;	COMDAT ??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z
_TEXT	SEGMENT
__Left$ = 8						; size = 4
__Right$ = 12						; size = 4
??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z PROC ; std::operator<<char,std::char_traits<char>,std::allocator<char> >, COMDAT

; 134  : 	return (_Left.compare(_Right) < 0);

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Right$[esp-4]
  00004	83 78 18 10	 cmp	 DWORD PTR [eax+24], 16	; 00000010H
  00008	8b 48 14	 mov	 ecx, DWORD PTR [eax+20]
  0000b	72 05		 jb	 SHORT $LN9@operator@33
  0000d	8b 40 04	 mov	 eax, DWORD PTR [eax+4]
  00010	eb 03		 jmp	 SHORT $LN10@operator@33
$LN9@operator@33:
  00012	83 c0 04	 add	 eax, 4
$LN10@operator@33:
  00015	51		 push	 ecx
  00016	8b 4c 24 08	 mov	 ecx, DWORD PTR __Left$[esp]
  0001a	50		 push	 eax
  0001b	8b 41 14	 mov	 eax, DWORD PTR [ecx+20]
  0001e	50		 push	 eax
  0001f	6a 00		 push	 0
  00021	e8 00 00 00 00	 call	 ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHIIPBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::compare
  00026	33 c9		 xor	 ecx, ecx
  00028	85 c0		 test	 eax, eax
  0002a	0f 9c c1	 setl	 cl
  0002d	8a c1		 mov	 al, cl

; 135  : 	}

  0002f	c3		 ret	 0
??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z ENDP ; std::operator<<char,std::char_traits<char>,std::allocator<char> >
_TEXT	ENDS
PUBLIC	??$unchecked_copy@PAHPAH@stdext@@YAPAHPAH00@Z	; stdext::unchecked_copy<int *,int *>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$unchecked_copy@PAHPAH@stdext@@YAPAHPAH00@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$unchecked_copy@PAHPAH@stdext@@YAPAHPAH00@Z PROC	; stdext::unchecked_copy<int *,int *>, COMDAT

; 3605 : 		return (_STD _Copy_opt(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Dest,
; 3606 : 			_STD _Iter_random(_First, _Dest), _STD _Ptr_cat(_First, _Dest), _STD _Range_checked_iterator_tag()));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 02	 sar	 eax, 2
  0000e	57		 push	 edi
  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	7e 0c		 jle	 SHORT $LN18@unchecked_@4
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN18@unchecked_@4:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 3607 : 	}

  00031	c3		 ret	 0
??$unchecked_copy@PAHPAH@stdext@@YAPAHPAH00@Z ENDP	; stdext::unchecked_copy<int *,int *>
_TEXT	ENDS
PUBLIC	??$fill@PAHH@std@@YAXPAH0ABH@Z			; std::fill<int *,int>
; Function compile flags: /Ogtpy
;	COMDAT ??$fill@PAHH@std@@YAXPAH0ABH@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$fill@PAHH@std@@YAXPAH0ABH@Z PROC			; std::fill<int *,int>, COMDAT

; 3187 : 	_Fill(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Val);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __First$[esp-4]
  00004	8b 4c 24 08	 mov	 ecx, DWORD PTR __Last$[esp-4]
  00008	3b c1		 cmp	 eax, ecx
  0000a	74 11		 je	 SHORT $LN11@fill
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
  00010	56		 push	 esi
$LL13@fill:
  00011	8b 32		 mov	 esi, DWORD PTR [edx]
  00013	89 30		 mov	 DWORD PTR [eax], esi
  00015	83 c0 04	 add	 eax, 4
  00018	3b c1		 cmp	 eax, ecx
  0001a	75 f5		 jne	 SHORT $LL13@fill
  0001c	5e		 pop	 esi
$LN11@fill:

; 3188 : 	}

  0001d	c3		 ret	 0
??$fill@PAHH@std@@YAXPAH0ABH@Z ENDP			; std::fill<int *,int>
_TEXT	ENDS
PUBLIC	??$_Unchecked_move_backward@PAHPAH@stdext@@YAPAHPAH00@Z ; stdext::_Unchecked_move_backward<int *,int *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Unchecked_move_backward@PAHPAH@stdext@@YAPAHPAH00@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$_Unchecked_move_backward@PAHPAH@stdext@@YAPAHPAH00@Z PROC ; stdext::_Unchecked_move_backward<int *,int *>, COMDAT

; 3695 : 		return (_STD _Move_backward_opt(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Dest,
; 3696 : 			_STD _Iter_random(_First, _Dest), _STD _Move_cat(_Dest), _STD _Range_checked_iterator_tag()));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	c1 f8 02	 sar	 eax, 2
  0000d	56		 push	 esi
  0000e	8b 74 24 10	 mov	 esi, DWORD PTR __Dest$[esp]
  00012	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  00019	2b f1		 sub	 esi, ecx
  0001b	85 c0		 test	 eax, eax
  0001d	7e 0c		 jle	 SHORT $LN22@Unchecked_
  0001f	51		 push	 ecx
  00020	52		 push	 edx
  00021	51		 push	 ecx
  00022	56		 push	 esi
  00023	e8 00 00 00 00	 call	 _memmove_s
  00028	83 c4 10	 add	 esp, 16			; 00000010H
$LN22@Unchecked_:
  0002b	8b c6		 mov	 eax, esi
  0002d	5e		 pop	 esi

; 3697 : 	}

  0002e	c3		 ret	 0
??$_Unchecked_move_backward@PAHPAH@stdext@@YAPAHPAH00@Z ENDP ; stdext::_Unchecked_move_backward<int *,int *>
_TEXT	ENDS
PUBLIC	??$unchecked_copy@PANPAN@stdext@@YAPANPAN00@Z	; stdext::unchecked_copy<double *,double *>
; Function compile flags: /Ogtpy
;	COMDAT ??$unchecked_copy@PANPAN@stdext@@YAPANPAN00@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$unchecked_copy@PANPAN@stdext@@YAPANPAN00@Z PROC	; stdext::unchecked_copy<double *,double *>, COMDAT

; 3605 : 		return (_STD _Copy_opt(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Dest,
; 3606 : 			_STD _Iter_random(_First, _Dest), _STD _Ptr_cat(_First, _Dest), _STD _Range_checked_iterator_tag()));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 03	 sar	 eax, 3
  0000e	57		 push	 edi
  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c c5 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*8]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	7e 0c		 jle	 SHORT $LN18@unchecked_@5
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN18@unchecked_@5:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 3607 : 	}

  00031	c3		 ret	 0
??$unchecked_copy@PANPAN@stdext@@YAPANPAN00@Z ENDP	; stdext::unchecked_copy<double *,double *>
_TEXT	ENDS
PUBLIC	??$unchecked_copy@PAPAVCSymTable@@PAPAV1@@stdext@@YAPAPAVCSymTable@@PAPAV1@00@Z ; stdext::unchecked_copy<CSymTable * *,CSymTable * *>
; Function compile flags: /Ogtpy
;	COMDAT ??$unchecked_copy@PAPAVCSymTable@@PAPAV1@@stdext@@YAPAPAVCSymTable@@PAPAV1@00@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$unchecked_copy@PAPAVCSymTable@@PAPAV1@@stdext@@YAPAPAVCSymTable@@PAPAV1@00@Z PROC ; stdext::unchecked_copy<CSymTable * *,CSymTable * *>, COMDAT

; 3605 : 		return (_STD _Copy_opt(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Dest,
; 3606 : 			_STD _Iter_random(_First, _Dest), _STD _Ptr_cat(_First, _Dest), _STD _Range_checked_iterator_tag()));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 02	 sar	 eax, 2
  0000e	57		 push	 edi
  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	7e 0c		 jle	 SHORT $LN18@unchecked_@6
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN18@unchecked_@6:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 3607 : 	}

  00031	c3		 ret	 0
??$unchecked_copy@PAPAVCSymTable@@PAPAV1@@stdext@@YAPAPAVCSymTable@@PAPAV1@00@Z ENDP ; stdext::unchecked_copy<CSymTable * *,CSymTable * *>
_TEXT	ENDS
PUBLIC	??$fill@PANN@std@@YAXPAN0ABN@Z			; std::fill<double *,double>
; Function compile flags: /Ogtpy
;	COMDAT ??$fill@PANN@std@@YAXPAN0ABN@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$fill@PANN@std@@YAXPAN0ABN@Z PROC			; std::fill<double *,double>, COMDAT

; 3187 : 	_Fill(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Val);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __First$[esp-4]
  00004	8b 4c 24 08	 mov	 ecx, DWORD PTR __Last$[esp-4]
  00008	3b c1		 cmp	 eax, ecx
  0000a	74 10		 je	 SHORT $LN11@fill@2
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
$LL13@fill@2:
  00010	dd 02		 fld	 QWORD PTR [edx]
  00012	83 c0 08	 add	 eax, 8
  00015	dd 58 f8	 fstp	 QWORD PTR [eax-8]
  00018	3b c1		 cmp	 eax, ecx
  0001a	75 f4		 jne	 SHORT $LL13@fill@2
$LN11@fill@2:

; 3188 : 	}

  0001c	c3		 ret	 0
??$fill@PANN@std@@YAXPAN0ABN@Z ENDP			; std::fill<double *,double>
_TEXT	ENDS
PUBLIC	??$_Unchecked_move_backward@PANPAN@stdext@@YAPANPAN00@Z ; stdext::_Unchecked_move_backward<double *,double *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Unchecked_move_backward@PANPAN@stdext@@YAPANPAN00@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$_Unchecked_move_backward@PANPAN@stdext@@YAPANPAN00@Z PROC ; stdext::_Unchecked_move_backward<double *,double *>, COMDAT

; 3695 : 		return (_STD _Move_backward_opt(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Dest,
; 3696 : 			_STD _Iter_random(_First, _Dest), _STD _Move_cat(_Dest), _STD _Range_checked_iterator_tag()));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	c1 f8 03	 sar	 eax, 3
  0000d	56		 push	 esi
  0000e	8b 74 24 10	 mov	 esi, DWORD PTR __Dest$[esp]
  00012	8d 0c c5 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*8]
  00019	2b f1		 sub	 esi, ecx
  0001b	85 c0		 test	 eax, eax
  0001d	7e 0c		 jle	 SHORT $LN22@Unchecked_@2
  0001f	51		 push	 ecx
  00020	52		 push	 edx
  00021	51		 push	 ecx
  00022	56		 push	 esi
  00023	e8 00 00 00 00	 call	 _memmove_s
  00028	83 c4 10	 add	 esp, 16			; 00000010H
$LN22@Unchecked_@2:
  0002b	8b c6		 mov	 eax, esi
  0002d	5e		 pop	 esi

; 3697 : 	}

  0002e	c3		 ret	 0
??$_Unchecked_move_backward@PANPAN@stdext@@YAPANPAN00@Z ENDP ; stdext::_Unchecked_move_backward<double *,double *>
_TEXT	ENDS
PUBLIC	??$fill@PAPAVCSymTable@@PAV1@@std@@YAXPAPAVCSymTable@@0ABQAV1@@Z ; std::fill<CSymTable * *,CSymTable *>
; Function compile flags: /Ogtpy
;	COMDAT ??$fill@PAPAVCSymTable@@PAV1@@std@@YAXPAPAVCSymTable@@0ABQAV1@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$fill@PAPAVCSymTable@@PAV1@@std@@YAXPAPAVCSymTable@@0ABQAV1@@Z PROC ; std::fill<CSymTable * *,CSymTable *>, COMDAT

; 3187 : 	_Fill(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Val);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __First$[esp-4]
  00004	8b 4c 24 08	 mov	 ecx, DWORD PTR __Last$[esp-4]
  00008	3b c1		 cmp	 eax, ecx
  0000a	74 11		 je	 SHORT $LN11@fill@3
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
  00010	56		 push	 esi
$LL13@fill@3:
  00011	8b 32		 mov	 esi, DWORD PTR [edx]
  00013	89 30		 mov	 DWORD PTR [eax], esi
  00015	83 c0 04	 add	 eax, 4
  00018	3b c1		 cmp	 eax, ecx
  0001a	75 f5		 jne	 SHORT $LL13@fill@3
  0001c	5e		 pop	 esi
$LN11@fill@3:

; 3188 : 	}

  0001d	c3		 ret	 0
??$fill@PAPAVCSymTable@@PAV1@@std@@YAXPAPAVCSymTable@@0ABQAV1@@Z ENDP ; std::fill<CSymTable * *,CSymTable *>
_TEXT	ENDS
PUBLIC	??$_Unchecked_move_backward@PAPAVCSymTable@@PAPAV1@@stdext@@YAPAPAVCSymTable@@PAPAV1@00@Z ; stdext::_Unchecked_move_backward<CSymTable * *,CSymTable * *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Unchecked_move_backward@PAPAVCSymTable@@PAPAV1@@stdext@@YAPAPAVCSymTable@@PAPAV1@00@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$_Unchecked_move_backward@PAPAVCSymTable@@PAPAV1@@stdext@@YAPAPAVCSymTable@@PAPAV1@00@Z PROC ; stdext::_Unchecked_move_backward<CSymTable * *,CSymTable * *>, COMDAT

; 3695 : 		return (_STD _Move_backward_opt(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Dest,
; 3696 : 			_STD _Iter_random(_First, _Dest), _STD _Move_cat(_Dest), _STD _Range_checked_iterator_tag()));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	c1 f8 02	 sar	 eax, 2
  0000d	56		 push	 esi
  0000e	8b 74 24 10	 mov	 esi, DWORD PTR __Dest$[esp]
  00012	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  00019	2b f1		 sub	 esi, ecx
  0001b	85 c0		 test	 eax, eax
  0001d	7e 0c		 jle	 SHORT $LN22@Unchecked_@3
  0001f	51		 push	 ecx
  00020	52		 push	 edx
  00021	51		 push	 ecx
  00022	56		 push	 esi
  00023	e8 00 00 00 00	 call	 _memmove_s
  00028	83 c4 10	 add	 esp, 16			; 00000010H
$LN22@Unchecked_@3:
  0002b	8b c6		 mov	 eax, esi
  0002d	5e		 pop	 esi

; 3697 : 	}

  0002e	c3		 ret	 0
??$_Unchecked_move_backward@PAPAVCSymTable@@PAPAV1@@stdext@@YAPAPAVCSymTable@@PAPAV1@00@Z ENDP ; stdext::_Unchecked_move_backward<CSymTable * *,CSymTable * *>
_TEXT	ENDS
PUBLIC	??$_Checked_base@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@@std@@YAPAPAVCSymTable@@AAV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@0@@Z ; std::_Checked_base<std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> > >
; Function compile flags: /Ogtpy
;	COMDAT ??$_Checked_base@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@@std@@YAPAPAVCSymTable@@AAV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@0@@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
??$_Checked_base@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@@std@@YAPAPAVCSymTable@@AAV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@0@@Z PROC ; std::_Checked_base<std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> > >, COMDAT

; 1164 : 		typename _Checked_iterator_base_helper<_Iter>::_Checked_iterator_base_type_tag _Base_tag;
; 1165 : 		return _Checked_base(_It, _Base_tag);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __It$[esp-4]
  00004	8b 40 04	 mov	 eax, DWORD PTR [eax+4]

; 1166 : 	}

  00007	c3		 ret	 0
??$_Checked_base@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@@std@@YAPAPAVCSymTable@@AAV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@0@@Z ENDP ; std::_Checked_base<std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> > >
_TEXT	ENDS
PUBLIC	??$_Uninit_move@PAPAVCSymTable@@PAPAV1@V?$allocator@PAVCSymTable@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSymTable@@PAPAV1@00AAV?$allocator@PAVCSymTable@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<CSymTable * *,CSymTable * *,std::allocator<CSymTable *>,std::_Undefined_move_tag>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
;	COMDAT ??$_Uninit_move@PAPAVCSymTable@@PAPAV1@V?$allocator@PAVCSymTable@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSymTable@@PAPAV1@00AAV?$allocator@PAVCSymTable@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Uninit_move@PAPAVCSymTable@@PAPAV1@V?$allocator@PAVCSymTable@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSymTable@@PAPAV1@00AAV?$allocator@PAVCSymTable@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_move<CSymTable * *,CSymTable * *,std::allocator<CSymTable *>,std::_Undefined_move_tag>, COMDAT

; 207  : 	return (_STDEXT unchecked_uninitialized_copy(_First, _Last, _Dest, _Al));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 02	 sar	 eax, 2
  0000e	57		 push	 edi
  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN18@Uninit_mov
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN18@Uninit_mov:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 208  : 	}

  00031	c3		 ret	 0
??$_Uninit_move@PAPAVCSymTable@@PAPAV1@V?$allocator@PAVCSymTable@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSymTable@@PAPAV1@00AAV?$allocator@PAVCSymTable@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_move<CSymTable * *,CSymTable * *,std::allocator<CSymTable *>,std::_Undefined_move_tag>
_TEXT	ENDS
PUBLIC	??$_Uninit_move@PAHPAHV?$allocator@H@std@@U_Undefined_move_tag@2@@std@@YAPAHPAH00AAV?$allocator@H@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<int *,int *,std::allocator<int>,std::_Undefined_move_tag>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Uninit_move@PAHPAHV?$allocator@H@std@@U_Undefined_move_tag@2@@std@@YAPAHPAH00AAV?$allocator@H@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Uninit_move@PAHPAHV?$allocator@H@std@@U_Undefined_move_tag@2@@std@@YAPAHPAH00AAV?$allocator@H@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_move<int *,int *,std::allocator<int>,std::_Undefined_move_tag>, COMDAT

; 207  : 	return (_STDEXT unchecked_uninitialized_copy(_First, _Last, _Dest, _Al));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 02	 sar	 eax, 2
  0000e	57		 push	 edi
  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN18@Uninit_mov@2
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN18@Uninit_mov@2:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 208  : 	}

  00031	c3		 ret	 0
??$_Uninit_move@PAHPAHV?$allocator@H@std@@U_Undefined_move_tag@2@@std@@YAPAHPAH00AAV?$allocator@H@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_move<int *,int *,std::allocator<int>,std::_Undefined_move_tag>
_TEXT	ENDS
PUBLIC	??$unchecked_fill_n@PAHIH@stdext@@YAXPAHIABH@Z	; stdext::unchecked_fill_n<int *,unsigned int,int>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$unchecked_fill_n@PAHIH@stdext@@YAXPAHIABH@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
??$unchecked_fill_n@PAHIH@stdext@@YAXPAHIABH@Z PROC	; stdext::unchecked_fill_n<int *,unsigned int,int>, COMDAT

; 3721 : 		_STD _Fill_n(_First, _Count, _Val, _STD _Iter_cat(_First), _STD _Range_checked_iterator_tag());

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 04	 mov	 ecx, DWORD PTR __First$[esp-4]
  00008	85 c0		 test	 eax, eax
  0000a	76 12		 jbe	 SHORT $LN11@unchecked_@7
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
  00010	56		 push	 esi
$LL13@unchecked_@7:
  00011	8b 32		 mov	 esi, DWORD PTR [edx]
  00013	89 31		 mov	 DWORD PTR [ecx], esi
  00015	48		 dec	 eax
  00016	83 c1 04	 add	 ecx, 4
  00019	85 c0		 test	 eax, eax
  0001b	77 f4		 ja	 SHORT $LL13@unchecked_@7
  0001d	5e		 pop	 esi
$LN11@unchecked_@7:

; 3722 : 	}

  0001e	c3		 ret	 0
??$unchecked_fill_n@PAHIH@stdext@@YAXPAHIABH@Z ENDP	; stdext::unchecked_fill_n<int *,unsigned int,int>
_TEXT	ENDS
PUBLIC	??$unchecked_fill_n@PANIN@stdext@@YAXPANIABN@Z	; stdext::unchecked_fill_n<double *,unsigned int,double>
; Function compile flags: /Ogtpy
;	COMDAT ??$unchecked_fill_n@PANIN@stdext@@YAXPANIABN@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
??$unchecked_fill_n@PANIN@stdext@@YAXPANIABN@Z PROC	; stdext::unchecked_fill_n<double *,unsigned int,double>, COMDAT

; 3721 : 		_STD _Fill_n(_First, _Count, _Val, _STD _Iter_cat(_First), _STD _Range_checked_iterator_tag());

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 04	 mov	 ecx, DWORD PTR __First$[esp-4]
  00008	85 c0		 test	 eax, eax
  0000a	76 10		 jbe	 SHORT $LN11@unchecked_@8
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
$LL13@unchecked_@8:
  00010	dd 02		 fld	 QWORD PTR [edx]
  00012	48		 dec	 eax
  00013	dd 19		 fstp	 QWORD PTR [ecx]
  00015	83 c1 08	 add	 ecx, 8
  00018	85 c0		 test	 eax, eax
  0001a	77 f4		 ja	 SHORT $LL13@unchecked_@8
$LN11@unchecked_@8:

; 3722 : 	}

  0001c	c3		 ret	 0
??$unchecked_fill_n@PANIN@stdext@@YAXPANIABN@Z ENDP	; stdext::unchecked_fill_n<double *,unsigned int,double>
_TEXT	ENDS
PUBLIC	??$unchecked_fill_n@PAPAVCSymTable@@IPAV1@@stdext@@YAXPAPAVCSymTable@@IABQAV1@@Z ; stdext::unchecked_fill_n<CSymTable * *,unsigned int,CSymTable *>
; Function compile flags: /Ogtpy
;	COMDAT ??$unchecked_fill_n@PAPAVCSymTable@@IPAV1@@stdext@@YAXPAPAVCSymTable@@IABQAV1@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
??$unchecked_fill_n@PAPAVCSymTable@@IPAV1@@stdext@@YAXPAPAVCSymTable@@IABQAV1@@Z PROC ; stdext::unchecked_fill_n<CSymTable * *,unsigned int,CSymTable *>, COMDAT

; 3721 : 		_STD _Fill_n(_First, _Count, _Val, _STD _Iter_cat(_First), _STD _Range_checked_iterator_tag());

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 04	 mov	 ecx, DWORD PTR __First$[esp-4]
  00008	85 c0		 test	 eax, eax
  0000a	76 12		 jbe	 SHORT $LN11@unchecked_@9
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
  00010	56		 push	 esi
$LL13@unchecked_@9:
  00011	8b 32		 mov	 esi, DWORD PTR [edx]
  00013	89 31		 mov	 DWORD PTR [ecx], esi
  00015	48		 dec	 eax
  00016	83 c1 04	 add	 ecx, 4
  00019	85 c0		 test	 eax, eax
  0001b	77 f4		 ja	 SHORT $LL13@unchecked_@9
  0001d	5e		 pop	 esi
$LN11@unchecked_@9:

; 3722 : 	}

  0001e	c3		 ret	 0
??$unchecked_fill_n@PAPAVCSymTable@@IPAV1@@stdext@@YAXPAPAVCSymTable@@IABQAV1@@Z ENDP ; stdext::unchecked_fill_n<CSymTable * *,unsigned int,CSymTable *>
_TEXT	ENDS
PUBLIC	??$_Uninit_move@PANPANV?$allocator@N@std@@U_Undefined_move_tag@2@@std@@YAPANPAN00AAV?$allocator@N@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<double *,double *,std::allocator<double>,std::_Undefined_move_tag>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
;	COMDAT ??$_Uninit_move@PANPANV?$allocator@N@std@@U_Undefined_move_tag@2@@std@@YAPANPAN00AAV?$allocator@N@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Uninit_move@PANPANV?$allocator@N@std@@U_Undefined_move_tag@2@@std@@YAPANPAN00AAV?$allocator@N@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_move<double *,double *,std::allocator<double>,std::_Undefined_move_tag>, COMDAT

; 207  : 	return (_STDEXT unchecked_uninitialized_copy(_First, _Last, _Dest, _Al));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 03	 sar	 eax, 3
  0000e	57		 push	 edi
  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c c5 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*8]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN18@Uninit_mov@3
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN18@Uninit_mov@3:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 208  : 	}

  00031	c3		 ret	 0
??$_Uninit_move@PANPANV?$allocator@N@std@@U_Undefined_move_tag@2@@std@@YAPANPAN00AAV?$allocator@N@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_move<double *,double *,std::allocator<double>,std::_Undefined_move_tag>
_TEXT	ENDS
PUBLIC	?find@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z ; CPoly::find
; Function compile flags: /Ogtpy
; File d:\# metin2\work in progress\source client\client\eterbase\poly\poly.cpp
;	COMDAT ?find@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z
_TEXT	SEGMENT
_m$ = -12						; size = 4
_r$ = -8						; size = 4
_l$ = -4						; size = 4
_s$ = 8							; size = 4
?find@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z PROC ; CPoly::find, COMDAT
; _this$ = ecx

; 527  : {

  00000	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00003	53		 push	 ebx
  00004	55		 push	 ebp
  00005	56		 push	 esi
  00006	57		 push	 edi
  00007	8b f9		 mov	 edi, ecx

; 528  :     int l, m, r;
; 529  : 
; 530  :     l = 0;
; 531  :     r = STSize - 1;

  00009	8b 87 88 00 00
	00		 mov	 eax, DWORD PTR [edi+136]
  0000f	83 e8 01	 sub	 eax, 1
  00012	c7 44 24 18 00
	00 00 00	 mov	 DWORD PTR _l$[esp+28], 0
  0001a	89 44 24 14	 mov	 DWORD PTR _r$[esp+28], eax

; 532  : 
; 533  :     while (l <= r)

  0001e	79 14		 jns	 SHORT $LN6@find
  00020	5f		 pop	 edi
  00021	5e		 pop	 esi
  00022	5d		 pop	 ebp

; 543  :     }
; 544  :     return -1;

  00023	83 c8 ff	 or	 eax, -1
  00026	5b		 pop	 ebx

; 545  : }

  00027	83 c4 0c	 add	 esp, 12			; 0000000cH
  0002a	c2 04 00	 ret	 4
  0002d	8d 49 00	 npad	 3
$LL101@find:

; 532  : 
; 533  :     while (l <= r)

  00030	8b 44 24 14	 mov	 eax, DWORD PTR _r$[esp+28]
$LN6@find:

; 534  :     {
; 535  : 	m = (l + r) >> 1;
; 536  : 
; 537  : 	if (lSymbol[SymbolIndex[m]]->strlex == s)

  00034	8b 97 80 00 00
	00		 mov	 edx, DWORD PTR [edi+128]
  0003a	8b 4c 24 18	 mov	 ecx, DWORD PTR _l$[esp+28]
  0003e	2b 57 7c	 sub	 edx, DWORD PTR [edi+124]
  00041	8d 34 08	 lea	 esi, DWORD PTR [eax+ecx]
  00044	d1 fe		 sar	 esi, 1
  00046	c1 fa 02	 sar	 edx, 2
  00049	89 74 24 10	 mov	 DWORD PTR _m$[esp+28], esi
  0004d	3b f2		 cmp	 esi, edx
  0004f	72 05		 jb	 SHORT $LN11@find
  00051	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN11@find:
  00056	8b 4f 68	 mov	 ecx, DWORD PTR [edi+104]
  00059	2b 4f 64	 sub	 ecx, DWORD PTR [edi+100]
  0005c	8b 47 7c	 mov	 eax, DWORD PTR [edi+124]
  0005f	8b 34 b0	 mov	 esi, DWORD PTR [eax+esi*4]
  00062	c1 f9 02	 sar	 ecx, 2
  00065	3b f1		 cmp	 esi, ecx
  00067	72 05		 jb	 SHORT $LN19@find
  00069	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN19@find:
  0006e	8b 57 64	 mov	 edx, DWORD PTR [edi+100]
  00071	8b 04 b2	 mov	 eax, DWORD PTR [edx+esi*4]
  00074	8b 6c 24 20	 mov	 ebp, DWORD PTR _s$[esp+24]
  00078	8b 5d 14	 mov	 ebx, DWORD PTR [ebp+20]
  0007b	83 c0 14	 add	 eax, 20			; 00000014H
  0007e	83 7d 18 10	 cmp	 DWORD PTR [ebp+24], 16	; 00000010H
  00082	72 08		 jb	 SHORT $LN33@find
  00084	8b 55 04	 mov	 edx, DWORD PTR [ebp+4]
  00087	83 c5 04	 add	 ebp, 4
  0008a	eb 05		 jmp	 SHORT $LN34@find
$LN33@find:
  0008c	83 c5 04	 add	 ebp, 4
  0008f	8b d5		 mov	 edx, ebp
$LN34@find:
  00091	8b 70 14	 mov	 esi, DWORD PTR [eax+20]
  00094	8b ce		 mov	 ecx, esi
  00096	3b ce		 cmp	 ecx, esi
  00098	73 00		 jae	 SHORT $LN35@find
$LN35@find:
  0009a	8b ce		 mov	 ecx, esi
  0009c	3b f3		 cmp	 esi, ebx
  0009e	72 02		 jb	 SHORT $LN40@find
  000a0	8b cb		 mov	 ecx, ebx
$LN40@find:
  000a2	83 78 18 10	 cmp	 DWORD PTR [eax+24], 16	; 00000010H
  000a6	72 05		 jb	 SHORT $LN47@find
  000a8	8b 40 04	 mov	 eax, DWORD PTR [eax+4]
  000ab	eb 03		 jmp	 SHORT $LN48@find
$LN47@find:
  000ad	83 c0 04	 add	 eax, 4
$LN48@find:
  000b0	51		 push	 ecx
  000b1	52		 push	 edx
  000b2	50		 push	 eax
  000b3	e8 00 00 00 00	 call	 ?compare@?$char_traits@D@std@@SAHPBD0I@Z ; std::char_traits<char>::compare
  000b8	83 c4 0c	 add	 esp, 12			; 0000000cH
  000bb	85 c0		 test	 eax, eax
  000bd	75 11		 jne	 SHORT $LN99@find
  000bf	3b f3		 cmp	 esi, ebx
  000c1	72 0d		 jb	 SHORT $LN99@find
  000c3	3b f3		 cmp	 esi, ebx
  000c5	0f 95 c0	 setne	 al
  000c8	85 c0		 test	 eax, eax
  000ca	0f 84 b8 00 00
	00		 je	 $LN98@find
$LN99@find:

; 539  : 	else if (lSymbol[SymbolIndex[m]]->strlex < s)

  000d0	8b 87 80 00 00
	00		 mov	 eax, DWORD PTR [edi+128]
  000d6	2b 47 7c	 sub	 eax, DWORD PTR [edi+124]
  000d9	8b 74 24 10	 mov	 esi, DWORD PTR _m$[esp+28]
  000dd	c1 f8 02	 sar	 eax, 2
  000e0	3b f0		 cmp	 esi, eax
  000e2	72 05		 jb	 SHORT $LN59@find
  000e4	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN59@find:
  000e9	8b 57 68	 mov	 edx, DWORD PTR [edi+104]
  000ec	2b 57 64	 sub	 edx, DWORD PTR [edi+100]
  000ef	8b 4f 7c	 mov	 ecx, DWORD PTR [edi+124]
  000f2	8b 34 b1	 mov	 esi, DWORD PTR [ecx+esi*4]
  000f5	c1 fa 02	 sar	 edx, 2
  000f8	3b f2		 cmp	 esi, edx
  000fa	72 05		 jb	 SHORT $LN67@find
  000fc	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN67@find:
  00101	8b 47 64	 mov	 eax, DWORD PTR [edi+100]
  00104	8b 04 b0	 mov	 eax, DWORD PTR [eax+esi*4]
  00107	8b 4c 24 20	 mov	 ecx, DWORD PTR _s$[esp+24]
  0010b	8b 59 14	 mov	 ebx, DWORD PTR [ecx+20]
  0010e	83 c0 14	 add	 eax, 20			; 00000014H
  00111	83 79 18 10	 cmp	 DWORD PTR [ecx+24], 16	; 00000010H
  00115	72 05		 jb	 SHORT $LN81@find
  00117	8b 55 00	 mov	 edx, DWORD PTR [ebp]
  0011a	eb 02		 jmp	 SHORT $LN82@find
$LN81@find:
  0011c	8b d5		 mov	 edx, ebp
$LN82@find:
  0011e	8b 70 14	 mov	 esi, DWORD PTR [eax+20]
  00121	8b ce		 mov	 ecx, esi
  00123	3b ce		 cmp	 ecx, esi
  00125	73 00		 jae	 SHORT $LN83@find
$LN83@find:
  00127	8b ce		 mov	 ecx, esi
  00129	3b f3		 cmp	 esi, ebx
  0012b	72 02		 jb	 SHORT $LN88@find
  0012d	8b cb		 mov	 ecx, ebx
$LN88@find:
  0012f	83 78 18 10	 cmp	 DWORD PTR [eax+24], 16	; 00000010H
  00133	72 05		 jb	 SHORT $LN95@find
  00135	8b 40 04	 mov	 eax, DWORD PTR [eax+4]
  00138	eb 03		 jmp	 SHORT $LN96@find
$LN95@find:
  0013a	83 c0 04	 add	 eax, 4
$LN96@find:
  0013d	51		 push	 ecx
  0013e	52		 push	 edx
  0013f	50		 push	 eax
  00140	e8 00 00 00 00	 call	 ?compare@?$char_traits@D@std@@SAHPBD0I@Z ; std::char_traits<char>::compare
  00145	83 c4 0c	 add	 esp, 12			; 0000000cH
  00148	85 c0		 test	 eax, eax
  0014a	75 0b		 jne	 SHORT $LN103@find
  0014c	3b f3		 cmp	 esi, ebx
  0014e	72 09		 jb	 SHORT $LN100@find
  00150	3b f3		 cmp	 esi, ebx
  00152	0f 95 c0	 setne	 al
  00155	85 c0		 test	 eax, eax
$LN103@find:
  00157	7d 0b		 jge	 SHORT $LN2@find
$LN100@find:

; 540  : 	    l = m + 1;

  00159	8b 4c 24 10	 mov	 ecx, DWORD PTR _m$[esp+28]
  0015d	41		 inc	 ecx
  0015e	89 4c 24 18	 mov	 DWORD PTR _l$[esp+28], ecx

; 541  : 	else

  00162	eb 09		 jmp	 SHORT $LN1@find
$LN2@find:

; 542  : 	    r = m - 1;

  00164	8b 54 24 10	 mov	 edx, DWORD PTR _m$[esp+28]
  00168	4a		 dec	 edx
  00169	89 54 24 14	 mov	 DWORD PTR _r$[esp+28], edx
$LN1@find:
  0016d	8b 44 24 14	 mov	 eax, DWORD PTR _r$[esp+28]
  00171	39 44 24 18	 cmp	 DWORD PTR _l$[esp+28], eax
  00175	0f 8e b5 fe ff
	ff		 jle	 $LL101@find
  0017b	5f		 pop	 edi
  0017c	5e		 pop	 esi
  0017d	5d		 pop	 ebp

; 543  :     }
; 544  :     return -1;

  0017e	83 c8 ff	 or	 eax, -1
  00181	5b		 pop	 ebx

; 545  : }

  00182	83 c4 0c	 add	 esp, 12			; 0000000cH
  00185	c2 04 00	 ret	 4
$LN98@find:

; 538  : 	    return SymbolIndex[m];

  00188	8b 8f 80 00 00
	00		 mov	 ecx, DWORD PTR [edi+128]
  0018e	2b 4f 7c	 sub	 ecx, DWORD PTR [edi+124]
  00191	8b 74 24 10	 mov	 esi, DWORD PTR _m$[esp+28]
  00195	c1 f9 02	 sar	 ecx, 2
  00198	3b f1		 cmp	 esi, ecx
  0019a	72 05		 jb	 SHORT $LN51@find
  0019c	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN51@find:
  001a1	8b 57 7c	 mov	 edx, DWORD PTR [edi+124]
  001a4	8b 04 b2	 mov	 eax, DWORD PTR [edx+esi*4]
  001a7	5f		 pop	 edi
  001a8	5e		 pop	 esi
  001a9	5d		 pop	 ebp
  001aa	5b		 pop	 ebx

; 545  : }

  001ab	83 c4 0c	 add	 esp, 12			; 0000000cH
  001ae	c2 04 00	 ret	 4
?find@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z ENDP ; CPoly::find
_TEXT	ENDS
PUBLIC	?SetVar@CPoly@@QAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@N@Z ; CPoly::SetVar
; Function compile flags: /Ogtpy
;	COMDAT ?SetVar@CPoly@@QAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@N@Z
_TEXT	SEGMENT
_strName$ = 8						; size = 4
_dVar$ = 12						; size = 8
?SetVar@CPoly@@QAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@N@Z PROC ; CPoly::SetVar, COMDAT
; _this$ = ecx

; 572  : {

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 573  : 
; 574  :     if (ErrorOccur) return false;

  00003	80 7e 20 00	 cmp	 BYTE PTR [esi+32], 0
  00007	74 06		 je	 SHORT $LN2@SetVar
  00009	33 c0		 xor	 eax, eax
  0000b	5e		 pop	 esi

; 580  : }

  0000c	c2 0c 00	 ret	 12			; 0000000cH
$LN2@SetVar:

; 575  :     int index=find(strName);

  0000f	8b 44 24 08	 mov	 eax, DWORD PTR _strName$[esp]
  00013	57		 push	 edi
  00014	50		 push	 eax
  00015	e8 00 00 00 00	 call	 ?find@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z ; CPoly::find
  0001a	8b f8		 mov	 edi, eax

; 576  :     if (index==-1) return false;

  0001c	83 ff ff	 cmp	 edi, -1
  0001f	75 07		 jne	 SHORT $LN1@SetVar
  00021	5f		 pop	 edi
  00022	33 c0		 xor	 eax, eax
  00024	5e		 pop	 esi

; 580  : }

  00025	c2 0c 00	 ret	 12			; 0000000cH
$LN1@SetVar:

; 577  :     CSymTable* stVar = lSymbol[(/*FindIndex*/(index))];

  00028	8b 4e 68	 mov	 ecx, DWORD PTR [esi+104]
  0002b	2b 4e 64	 sub	 ecx, DWORD PTR [esi+100]
  0002e	c1 f9 02	 sar	 ecx, 2
  00031	3b f9		 cmp	 edi, ecx
  00033	72 05		 jb	 SHORT $LN7@SetVar
  00035	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@SetVar:

; 578  :     stVar->dVal=dVar;

  0003a	8b 56 64	 mov	 edx, DWORD PTR [esi+100]
  0003d	dd 44 24 10	 fld	 QWORD PTR _dVar$[esp+4]
  00041	8b 04 ba	 mov	 eax, DWORD PTR [edx+edi*4]
  00044	5f		 pop	 edi
  00045	dd 58 08	 fstp	 QWORD PTR [eax+8]

; 579  :     return true;

  00048	b8 01 00 00 00	 mov	 eax, 1
  0004d	5e		 pop	 esi

; 580  : }

  0004e	c2 0c 00	 ret	 12			; 0000000cH
?SetVar@CPoly@@QAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@N@Z ENDP ; CPoly::SetVar
_TEXT	ENDS
PUBLIC	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
_TEXT	SEGMENT
??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT
; _this$ = ecx

; 565  : 		{	// construct empty string

  00000	8b c1		 mov	 eax, ecx

; 566  : 		_Tidy();

  00002	33 c9		 xor	 ecx, ecx
  00004	c7 40 18 0f 00
	00 00		 mov	 DWORD PTR [eax+24], 15	; 0000000fH
  0000b	89 48 14	 mov	 DWORD PTR [eax+20], ecx
  0000e	88 48 04	 mov	 BYTE PTR [eax+4], cl

; 567  : 		}

  00011	c3		 ret	 0
??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
_TEXT	ENDS
PUBLIC	??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
; Function compile flags: /Ogtpy
;	COMDAT ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
_TEXT	SEGMENT
??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT
; _this$ = ecx

; 905  : 		{	// destroy the string

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 906  : 		_Tidy(true);

  00003	83 7e 18 10	 cmp	 DWORD PTR [esi+24], 16	; 00000010H
  00007	72 0c		 jb	 SHORT $LN17@basic_stri
  00009	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  0000c	50		 push	 eax
  0000d	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00012	83 c4 04	 add	 esp, 4
$LN17@basic_stri:
  00015	33 c0		 xor	 eax, eax
  00017	c7 46 18 0f 00
	00 00		 mov	 DWORD PTR [esi+24], 15	; 0000000fH
  0001e	89 46 14	 mov	 DWORD PTR [esi+20], eax
  00021	88 46 04	 mov	 BYTE PTR [esi+4], al
  00024	5e		 pop	 esi

; 907  : 		}

  00025	c3		 ret	 0
??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
_TEXT	ENDS
PUBLIC	??1?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ ; std::vector<CSymTable *,std::allocator<CSymTable *> >::~vector<CSymTable *,std::allocator<CSymTable *> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??1?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
??1?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::~vector<CSymTable *,std::allocator<CSymTable *> >, COMDAT
; _this$ = ecx

; 558  : 		{	// destroy the object

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 559  : 		_Tidy();

  00003	8b 46 0c	 mov	 eax, DWORD PTR [esi+12]
  00006	85 c0		 test	 eax, eax
  00008	74 09		 je	 SHORT $LN7@vector
  0000a	50		 push	 eax
  0000b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00010	83 c4 04	 add	 esp, 4
$LN7@vector:

; 560  : 		}

  00013	8b 06		 mov	 eax, DWORD PTR [esi]
  00015	50		 push	 eax
  00016	c7 46 0c 00 00
	00 00		 mov	 DWORD PTR [esi+12], 0
  0001d	c7 46 10 00 00
	00 00		 mov	 DWORD PTR [esi+16], 0
  00024	c7 46 14 00 00
	00 00		 mov	 DWORD PTR [esi+20], 0
  0002b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00030	83 c4 04	 add	 esp, 4
  00033	5e		 pop	 esi
  00034	c3		 ret	 0
??1?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::~vector<CSymTable *,std::allocator<CSymTable *> >
_TEXT	ENDS
PUBLIC	?_Tidy@?$vector@HV?$allocator@H@std@@@std@@IAEXXZ ; std::vector<int,std::allocator<int> >::_Tidy
; Function compile flags: /Ogtpy
;	COMDAT ?_Tidy@?$vector@HV?$allocator@H@std@@@std@@IAEXXZ
_TEXT	SEGMENT
?_Tidy@?$vector@HV?$allocator@H@std@@@std@@IAEXXZ PROC	; std::vector<int,std::allocator<int> >::_Tidy, COMDAT
; _this$ = ecx

; 1123 : 		{	// free all storage

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 1124 : 		if (_Myfirst != 0)

  00003	8b 46 0c	 mov	 eax, DWORD PTR [esi+12]
  00006	85 c0		 test	 eax, eax
  00008	74 09		 je	 SHORT $LN4@Tidy@3

; 1125 : 			{	// something to free, destroy and deallocate it
; 1126 : 
; 1127 :  #if _HAS_ITERATOR_DEBUGGING
; 1128 : 			this->_Orphan_all();
; 1129 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1130 : 
; 1131 : 			_Destroy(_Myfirst, _Mylast);
; 1132 : 			this->_Alval.deallocate(_Myfirst, _Myend - _Myfirst);

  0000a	50		 push	 eax
  0000b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00010	83 c4 04	 add	 esp, 4
$LN4@Tidy@3:

; 1133 : 			}
; 1134 : 		_Myfirst = 0, _Mylast = 0, _Myend = 0;

  00013	c7 46 0c 00 00
	00 00		 mov	 DWORD PTR [esi+12], 0
  0001a	c7 46 10 00 00
	00 00		 mov	 DWORD PTR [esi+16], 0
  00021	c7 46 14 00 00
	00 00		 mov	 DWORD PTR [esi+20], 0
  00028	5e		 pop	 esi

; 1135 : 		}

  00029	c3		 ret	 0
?_Tidy@?$vector@HV?$allocator@H@std@@@std@@IAEXXZ ENDP	; std::vector<int,std::allocator<int> >::_Tidy
_TEXT	ENDS
PUBLIC	??0?$_Vector_val@HV?$allocator@H@std@@@std@@IAE@V?$allocator@H@1@@Z ; std::_Vector_val<int,std::allocator<int> >::_Vector_val<int,std::allocator<int> >
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_Vector_val@HV?$allocator@H@std@@@std@@IAE@V?$allocator@H@1@@Z
_TEXT	SEGMENT
__Al$ = 8						; size = 1
??0?$_Vector_val@HV?$allocator@H@std@@@std@@IAE@V?$allocator@H@1@@Z PROC ; std::_Vector_val<int,std::allocator<int> >::_Vector_val<int,std::allocator<int> >, COMDAT
; _this$ = ecx

; 425  : 		{	// construct allocator from _Al

  00000	56		 push	 esi
  00001	6a 04		 push	 4
  00003	8b f1		 mov	 esi, ecx
  00005	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0000a	83 c4 04	 add	 esp, 4
  0000d	85 c0		 test	 eax, eax
  0000f	74 0a		 je	 SHORT $LN8@Vector_val
  00011	89 30		 mov	 DWORD PTR [eax], esi
  00013	89 06		 mov	 DWORD PTR [esi], eax

; 426  : 		}

  00015	8b c6		 mov	 eax, esi
  00017	5e		 pop	 esi
  00018	c2 04 00	 ret	 4

; 425  : 		{	// construct allocator from _Al

$LN8@Vector_val:
  0001b	33 c0		 xor	 eax, eax
  0001d	89 06		 mov	 DWORD PTR [esi], eax

; 426  : 		}

  0001f	8b c6		 mov	 eax, esi
  00021	5e		 pop	 esi
  00022	c2 04 00	 ret	 4
??0?$_Vector_val@HV?$allocator@H@std@@@std@@IAE@V?$allocator@H@1@@Z ENDP ; std::_Vector_val<int,std::allocator<int> >::_Vector_val<int,std::allocator<int> >
_TEXT	ENDS
PUBLIC	?_Tidy@?$vector@NV?$allocator@N@std@@@std@@IAEXXZ ; std::vector<double,std::allocator<double> >::_Tidy
; Function compile flags: /Ogtpy
;	COMDAT ?_Tidy@?$vector@NV?$allocator@N@std@@@std@@IAEXXZ
_TEXT	SEGMENT
?_Tidy@?$vector@NV?$allocator@N@std@@@std@@IAEXXZ PROC	; std::vector<double,std::allocator<double> >::_Tidy, COMDAT
; _this$ = ecx

; 1123 : 		{	// free all storage

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 1124 : 		if (_Myfirst != 0)

  00003	8b 46 0c	 mov	 eax, DWORD PTR [esi+12]
  00006	85 c0		 test	 eax, eax
  00008	74 09		 je	 SHORT $LN4@Tidy@4

; 1125 : 			{	// something to free, destroy and deallocate it
; 1126 : 
; 1127 :  #if _HAS_ITERATOR_DEBUGGING
; 1128 : 			this->_Orphan_all();
; 1129 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1130 : 
; 1131 : 			_Destroy(_Myfirst, _Mylast);
; 1132 : 			this->_Alval.deallocate(_Myfirst, _Myend - _Myfirst);

  0000a	50		 push	 eax
  0000b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00010	83 c4 04	 add	 esp, 4
$LN4@Tidy@4:

; 1133 : 			}
; 1134 : 		_Myfirst = 0, _Mylast = 0, _Myend = 0;

  00013	c7 46 0c 00 00
	00 00		 mov	 DWORD PTR [esi+12], 0
  0001a	c7 46 10 00 00
	00 00		 mov	 DWORD PTR [esi+16], 0
  00021	c7 46 14 00 00
	00 00		 mov	 DWORD PTR [esi+20], 0
  00028	5e		 pop	 esi

; 1135 : 		}

  00029	c3		 ret	 0
?_Tidy@?$vector@NV?$allocator@N@std@@@std@@IAEXXZ ENDP	; std::vector<double,std::allocator<double> >::_Tidy
_TEXT	ENDS
PUBLIC	??0?$_Vector_val@NV?$allocator@N@std@@@std@@IAE@V?$allocator@N@1@@Z ; std::_Vector_val<double,std::allocator<double> >::_Vector_val<double,std::allocator<double> >
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_Vector_val@NV?$allocator@N@std@@@std@@IAE@V?$allocator@N@1@@Z
_TEXT	SEGMENT
__Al$ = 8						; size = 1
??0?$_Vector_val@NV?$allocator@N@std@@@std@@IAE@V?$allocator@N@1@@Z PROC ; std::_Vector_val<double,std::allocator<double> >::_Vector_val<double,std::allocator<double> >, COMDAT
; _this$ = ecx

; 425  : 		{	// construct allocator from _Al

  00000	56		 push	 esi
  00001	6a 04		 push	 4
  00003	8b f1		 mov	 esi, ecx
  00005	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0000a	83 c4 04	 add	 esp, 4
  0000d	85 c0		 test	 eax, eax
  0000f	74 0a		 je	 SHORT $LN8@Vector_val@2
  00011	89 30		 mov	 DWORD PTR [eax], esi
  00013	89 06		 mov	 DWORD PTR [esi], eax

; 426  : 		}

  00015	8b c6		 mov	 eax, esi
  00017	5e		 pop	 esi
  00018	c2 04 00	 ret	 4

; 425  : 		{	// construct allocator from _Al

$LN8@Vector_val@2:
  0001b	33 c0		 xor	 eax, eax
  0001d	89 06		 mov	 DWORD PTR [esi], eax

; 426  : 		}

  0001f	8b c6		 mov	 eax, esi
  00021	5e		 pop	 esi
  00022	c2 04 00	 ret	 4
??0?$_Vector_val@NV?$allocator@N@std@@@std@@IAE@V?$allocator@N@1@@Z ENDP ; std::_Vector_val<double,std::allocator<double> >::_Vector_val<double,std::allocator<double> >
_TEXT	ENDS
PUBLIC	??0?$_Vector_val@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAE@V?$allocator@PAVCSymTable@@@1@@Z ; std::_Vector_val<CSymTable *,std::allocator<CSymTable *> >::_Vector_val<CSymTable *,std::allocator<CSymTable *> >
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_Vector_val@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAE@V?$allocator@PAVCSymTable@@@1@@Z
_TEXT	SEGMENT
__Al$ = 8						; size = 1
??0?$_Vector_val@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAE@V?$allocator@PAVCSymTable@@@1@@Z PROC ; std::_Vector_val<CSymTable *,std::allocator<CSymTable *> >::_Vector_val<CSymTable *,std::allocator<CSymTable *> >, COMDAT
; _this$ = ecx

; 425  : 		{	// construct allocator from _Al

  00000	56		 push	 esi
  00001	6a 04		 push	 4
  00003	8b f1		 mov	 esi, ecx
  00005	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0000a	83 c4 04	 add	 esp, 4
  0000d	85 c0		 test	 eax, eax
  0000f	74 0a		 je	 SHORT $LN8@Vector_val@3
  00011	89 30		 mov	 DWORD PTR [eax], esi
  00013	89 06		 mov	 DWORD PTR [esi], eax

; 426  : 		}

  00015	8b c6		 mov	 eax, esi
  00017	5e		 pop	 esi
  00018	c2 04 00	 ret	 4

; 425  : 		{	// construct allocator from _Al

$LN8@Vector_val@3:
  0001b	33 c0		 xor	 eax, eax
  0001d	89 06		 mov	 DWORD PTR [esi], eax

; 426  : 		}

  0001f	8b c6		 mov	 eax, esi
  00021	5e		 pop	 esi
  00022	c2 04 00	 ret	 4
??0?$_Vector_val@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAE@V?$allocator@PAVCSymTable@@@1@@Z ENDP ; std::_Vector_val<CSymTable *,std::allocator<CSymTable *> >::_Vector_val<CSymTable *,std::allocator<CSymTable *> >
_TEXT	ENDS
PUBLIC	??0?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAE@PAHPBV_Container_base_aux@1@@Z ; std::_Vector_iterator<int,std::allocator<int> >::_Vector_iterator<int,std::allocator<int> >
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAE@PAHPBV_Container_base_aux@1@@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
__Pvector$ = 12						; size = 4
??0?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAE@PAHPBV_Container_base_aux@1@@Z PROC ; std::_Vector_iterator<int,std::allocator<int> >::_Vector_iterator<int,std::allocator<int> >, COMDAT
; _this$ = ecx

; 327  : 		{	// construct with pointer _Ptr

  00000	53		 push	 ebx
  00001	8b 5c 24 08	 mov	 ebx, DWORD PTR __Ptr$[esp]
  00005	56		 push	 esi
  00006	57		 push	 edi
  00007	8b 7c 24 14	 mov	 edi, DWORD PTR __Pvector$[esp+8]
  0000b	8b f1		 mov	 esi, ecx
  0000d	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], 0
  00013	85 ff		 test	 edi, edi
  00015	74 0a		 je	 SHORT $LN6@Vector_ite
  00017	39 5f 0c	 cmp	 DWORD PTR [edi+12], ebx
  0001a	77 05		 ja	 SHORT $LN6@Vector_ite
  0001c	3b 5f 10	 cmp	 ebx, DWORD PTR [edi+16]
  0001f	76 05		 jbe	 SHORT $LN5@Vector_ite
$LN6@Vector_ite:
  00021	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN5@Vector_ite:
  00026	8b 07		 mov	 eax, DWORD PTR [edi]
  00028	89 06		 mov	 DWORD PTR [esi], eax
  0002a	5f		 pop	 edi
  0002b	89 5e 04	 mov	 DWORD PTR [esi+4], ebx

; 328  : 		}

  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi
  00031	5b		 pop	 ebx
  00032	c2 08 00	 ret	 8
??0?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAE@PAHPBV_Container_base_aux@1@@Z ENDP ; std::_Vector_iterator<int,std::allocator<int> >::_Vector_iterator<int,std::allocator<int> >
_TEXT	ENDS
PUBLIC	??0?$_Vector_iterator@NV?$allocator@N@std@@@std@@QAE@PANPBV_Container_base_aux@1@@Z ; std::_Vector_iterator<double,std::allocator<double> >::_Vector_iterator<double,std::allocator<double> >
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_Vector_iterator@NV?$allocator@N@std@@@std@@QAE@PANPBV_Container_base_aux@1@@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
__Pvector$ = 12						; size = 4
??0?$_Vector_iterator@NV?$allocator@N@std@@@std@@QAE@PANPBV_Container_base_aux@1@@Z PROC ; std::_Vector_iterator<double,std::allocator<double> >::_Vector_iterator<double,std::allocator<double> >, COMDAT
; _this$ = ecx

; 327  : 		{	// construct with pointer _Ptr

  00000	53		 push	 ebx
  00001	8b 5c 24 08	 mov	 ebx, DWORD PTR __Ptr$[esp]
  00005	56		 push	 esi
  00006	57		 push	 edi
  00007	8b 7c 24 14	 mov	 edi, DWORD PTR __Pvector$[esp+8]
  0000b	8b f1		 mov	 esi, ecx
  0000d	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], 0
  00013	85 ff		 test	 edi, edi
  00015	74 0a		 je	 SHORT $LN6@Vector_ite@2
  00017	39 5f 0c	 cmp	 DWORD PTR [edi+12], ebx
  0001a	77 05		 ja	 SHORT $LN6@Vector_ite@2
  0001c	3b 5f 10	 cmp	 ebx, DWORD PTR [edi+16]
  0001f	76 05		 jbe	 SHORT $LN5@Vector_ite@2
$LN6@Vector_ite@2:
  00021	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN5@Vector_ite@2:
  00026	8b 07		 mov	 eax, DWORD PTR [edi]
  00028	89 06		 mov	 DWORD PTR [esi], eax
  0002a	5f		 pop	 edi
  0002b	89 5e 04	 mov	 DWORD PTR [esi+4], ebx

; 328  : 		}

  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi
  00031	5b		 pop	 ebx
  00032	c2 08 00	 ret	 8
??0?$_Vector_iterator@NV?$allocator@N@std@@@std@@QAE@PANPBV_Container_base_aux@1@@Z ENDP ; std::_Vector_iterator<double,std::allocator<double> >::_Vector_iterator<double,std::allocator<double> >
_TEXT	ENDS
PUBLIC	?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow
EXTRN	?_Xlen@_String_base@std@@SAXXZ:PROC		; std::_String_base::_Xlen
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NI_N@Z
_TEXT	SEGMENT
__Newsize$ = 8						; size = 4
__Trim$ = 12						; size = 1
?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NI_N@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow, COMDAT
; _this$ = ecx

; 2119 : 		{	// ensure buffer is big enough, trim to size if _Trim is true

  00000	53		 push	 ebx

; 2120 : 			if (max_size() < _Newsize)

  00001	8b 5c 24 08	 mov	 ebx, DWORD PTR __Newsize$[esp]
  00005	56		 push	 esi
  00006	8b f1		 mov	 esi, ecx
  00008	83 fb fe	 cmp	 ebx, -2			; fffffffeH
  0000b	76 05		 jbe	 SHORT $LN6@Grow

; 2121 : 			_String_base::_Xlen();	// result too long

  0000d	e8 00 00 00 00	 call	 ?_Xlen@_String_base@std@@SAXXZ ; std::_String_base::_Xlen
$LN6@Grow:

; 2122 : 		if (_Myres < _Newsize)

  00012	8b 46 18	 mov	 eax, DWORD PTR [esi+24]
  00015	3b c3		 cmp	 eax, ebx
  00017	73 19		 jae	 SHORT $LN5@Grow

; 2123 : 			_Copy(_Newsize, _Mysize);	// reallocate to grow

  00019	8b 46 14	 mov	 eax, DWORD PTR [esi+20]
  0001c	50		 push	 eax
  0001d	53		 push	 ebx
  0001e	8b ce		 mov	 ecx, esi
  00020	e8 00 00 00 00	 call	 ?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy

; 2129 : 		return (0 < _Newsize);	// return true only if more work to do

  00025	33 c9		 xor	 ecx, ecx
  00027	3b cb		 cmp	 ecx, ebx
  00029	1b c0		 sbb	 eax, eax
  0002b	5e		 pop	 esi
  0002c	f7 d8		 neg	 eax
  0002e	5b		 pop	 ebx

; 2130 : 		}

  0002f	c2 08 00	 ret	 8
$LN5@Grow:

; 2124 : 		else if (_Trim && _Newsize < _BUF_SIZE)

  00032	80 7c 24 10 00	 cmp	 BYTE PTR __Trim$[esp+4], 0
  00037	74 52		 je	 SHORT $LN3@Grow
  00039	83 fb 10	 cmp	 ebx, 16			; 00000010H
  0003c	73 4d		 jae	 SHORT $LN3@Grow
  0003e	57		 push	 edi

; 2125 : 			_Tidy(true,	// copy and deallocate if trimming to small string
; 2126 : 				_Newsize < _Mysize ? _Newsize : _Mysize);

  0003f	8b 7e 14	 mov	 edi, DWORD PTR [esi+20]
  00042	3b df		 cmp	 ebx, edi
  00044	73 02		 jae	 SHORT $LN9@Grow
  00046	8b fb		 mov	 edi, ebx
$LN9@Grow:
  00048	83 f8 10	 cmp	 eax, 16			; 00000010H
  0004b	72 21		 jb	 SHORT $LN33@Grow
  0004d	8d 46 04	 lea	 eax, DWORD PTR [esi+4]
  00050	55		 push	 ebp
  00051	8b 28		 mov	 ebp, DWORD PTR [eax]
  00053	85 ff		 test	 edi, edi
  00055	76 0d		 jbe	 SHORT $LN31@Grow
  00057	57		 push	 edi
  00058	55		 push	 ebp
  00059	6a 10		 push	 16			; 00000010H
  0005b	50		 push	 eax
  0005c	e8 00 00 00 00	 call	 _memcpy_s
  00061	83 c4 10	 add	 esp, 16			; 00000010H
$LN31@Grow:
  00064	55		 push	 ebp
  00065	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0006a	83 c4 04	 add	 esp, 4
  0006d	5d		 pop	 ebp
$LN33@Grow:
  0006e	89 7e 14	 mov	 DWORD PTR [esi+20], edi
  00071	c7 46 18 0f 00
	00 00		 mov	 DWORD PTR [esi+24], 15	; 0000000fH

; 2129 : 		return (0 < _Newsize);	// return true only if more work to do

  00078	33 c9		 xor	 ecx, ecx
  0007a	c6 44 3e 04 00	 mov	 BYTE PTR [esi+edi+4], 0
  0007f	3b cb		 cmp	 ecx, ebx
  00081	5f		 pop	 edi
  00082	1b c0		 sbb	 eax, eax
  00084	5e		 pop	 esi
  00085	f7 d8		 neg	 eax
  00087	5b		 pop	 ebx

; 2130 : 		}

  00088	c2 08 00	 ret	 8
$LN3@Grow:

; 2127 : 		else if (_Newsize == 0)

  0008b	85 db		 test	 ebx, ebx
  0008d	75 20		 jne	 SHORT $LN49@Grow

; 2128 : 			_Eos(0);	// new size is zero, just null terminate

  0008f	89 5e 14	 mov	 DWORD PTR [esi+20], ebx
  00092	83 f8 10	 cmp	 eax, 16			; 00000010H
  00095	72 12		 jb	 SHORT $LN47@Grow
  00097	8b 76 04	 mov	 esi, DWORD PTR [esi+4]

; 2129 : 		return (0 < _Newsize);	// return true only if more work to do

  0009a	33 c9		 xor	 ecx, ecx
  0009c	3b cb		 cmp	 ecx, ebx
  0009e	88 1e		 mov	 BYTE PTR [esi], bl
  000a0	1b c0		 sbb	 eax, eax
  000a2	5e		 pop	 esi
  000a3	f7 d8		 neg	 eax
  000a5	5b		 pop	 ebx

; 2130 : 		}

  000a6	c2 08 00	 ret	 8

; 2128 : 			_Eos(0);	// new size is zero, just null terminate

$LN47@Grow:
  000a9	83 c6 04	 add	 esi, 4
  000ac	c6 06 00	 mov	 BYTE PTR [esi], 0
$LN49@Grow:

; 2129 : 		return (0 < _Newsize);	// return true only if more work to do

  000af	33 c9		 xor	 ecx, ecx
  000b1	3b cb		 cmp	 ecx, ebx
  000b3	1b c0		 sbb	 eax, eax
  000b5	5e		 pop	 esi
  000b6	f7 d8		 neg	 eax
  000b8	5b		 pop	 ebx

; 2130 : 		}

  000b9	c2 08 00	 ret	 8
?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NI_N@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow
_TEXT	ENDS
PUBLIC	?_Make_iter@?$vector@HV?$allocator@H@std@@@std@@QBE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@@Z ; std::vector<int,std::allocator<int> >::_Make_iter
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?_Make_iter@?$vector@HV?$allocator@H@std@@@std@@QBE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
__Where$ = 12						; size = 8
?_Make_iter@?$vector@HV?$allocator@H@std@@@std@@QBE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@@Z PROC ; std::vector<int,std::allocator<int> >::_Make_iter, COMDAT
; _this$ = ecx

; 660  : 		{	// make iterator from const_iterator

  00000	56		 push	 esi
  00001	57		 push	 edi

; 661  : 		return (iterator(_Where._Myptr, this));

  00002	8b 7c 24 0c	 mov	 edi, DWORD PTR ___$ReturnUdt$[esp+4]
  00006	8b f1		 mov	 esi, ecx
  00008	c7 07 00 00 00
	00		 mov	 DWORD PTR [edi], 0
  0000e	85 f6		 test	 esi, esi
  00010	74 0e		 je	 SHORT $LN8@Make_iter
  00012	8b 44 24 14	 mov	 eax, DWORD PTR __Where$[esp+8]
  00016	39 46 0c	 cmp	 DWORD PTR [esi+12], eax
  00019	77 05		 ja	 SHORT $LN8@Make_iter
  0001b	3b 46 10	 cmp	 eax, DWORD PTR [esi+16]
  0001e	76 09		 jbe	 SHORT $LN7@Make_iter
$LN8@Make_iter:
  00020	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00025	8b 44 24 14	 mov	 eax, DWORD PTR __Where$[esp+8]
$LN7@Make_iter:
  00029	8b 0e		 mov	 ecx, DWORD PTR [esi]
  0002b	89 47 04	 mov	 DWORD PTR [edi+4], eax
  0002e	89 0f		 mov	 DWORD PTR [edi], ecx
  00030	8b c7		 mov	 eax, edi
  00032	5f		 pop	 edi
  00033	5e		 pop	 esi

; 662  : 		}

  00034	c2 0c 00	 ret	 12			; 0000000cH
?_Make_iter@?$vector@HV?$allocator@H@std@@@std@@QBE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@@Z ENDP ; std::vector<int,std::allocator<int> >::_Make_iter
_TEXT	ENDS
PUBLIC	?_Make_iter@?$vector@NV?$allocator@N@std@@@std@@QBE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@V?$_Vector_const_iterator@NV?$allocator@N@std@@@2@@Z ; std::vector<double,std::allocator<double> >::_Make_iter
; Function compile flags: /Ogtpy
;	COMDAT ?_Make_iter@?$vector@NV?$allocator@N@std@@@std@@QBE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@V?$_Vector_const_iterator@NV?$allocator@N@std@@@2@@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
__Where$ = 12						; size = 8
?_Make_iter@?$vector@NV?$allocator@N@std@@@std@@QBE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@V?$_Vector_const_iterator@NV?$allocator@N@std@@@2@@Z PROC ; std::vector<double,std::allocator<double> >::_Make_iter, COMDAT
; _this$ = ecx

; 660  : 		{	// make iterator from const_iterator

  00000	56		 push	 esi
  00001	57		 push	 edi

; 661  : 		return (iterator(_Where._Myptr, this));

  00002	8b 7c 24 0c	 mov	 edi, DWORD PTR ___$ReturnUdt$[esp+4]
  00006	8b f1		 mov	 esi, ecx
  00008	c7 07 00 00 00
	00		 mov	 DWORD PTR [edi], 0
  0000e	85 f6		 test	 esi, esi
  00010	74 0e		 je	 SHORT $LN8@Make_iter@2
  00012	8b 44 24 14	 mov	 eax, DWORD PTR __Where$[esp+8]
  00016	39 46 0c	 cmp	 DWORD PTR [esi+12], eax
  00019	77 05		 ja	 SHORT $LN8@Make_iter@2
  0001b	3b 46 10	 cmp	 eax, DWORD PTR [esi+16]
  0001e	76 09		 jbe	 SHORT $LN7@Make_iter@2
$LN8@Make_iter@2:
  00020	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00025	8b 44 24 14	 mov	 eax, DWORD PTR __Where$[esp+8]
$LN7@Make_iter@2:
  00029	8b 0e		 mov	 ecx, DWORD PTR [esi]
  0002b	89 47 04	 mov	 DWORD PTR [edi+4], eax
  0002e	89 0f		 mov	 DWORD PTR [edi], ecx
  00030	8b c7		 mov	 eax, edi
  00032	5f		 pop	 edi
  00033	5e		 pop	 esi

; 662  : 		}

  00034	c2 0c 00	 ret	 12			; 0000000cH
?_Make_iter@?$vector@NV?$allocator@N@std@@@std@@QBE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@V?$_Vector_const_iterator@NV?$allocator@N@std@@@2@@Z ENDP ; std::vector<double,std::allocator<double> >::_Make_iter
_TEXT	ENDS
PUBLIC	??0?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@PAPAVCSymTable@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >
; Function compile flags: /Ogtpy
;	COMDAT ??0?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@PAPAVCSymTable@@PBV_Container_base_aux@1@@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
__Pvector$ = 12						; size = 4
??0?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@PAPAVCSymTable@@PBV_Container_base_aux@1@@Z PROC ; std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >, COMDAT
; _this$ = ecx

; 327  : 		{	// construct with pointer _Ptr

  00000	53		 push	 ebx
  00001	8b 5c 24 08	 mov	 ebx, DWORD PTR __Ptr$[esp]
  00005	56		 push	 esi
  00006	57		 push	 edi
  00007	8b 7c 24 14	 mov	 edi, DWORD PTR __Pvector$[esp+8]
  0000b	8b f1		 mov	 esi, ecx
  0000d	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], 0
  00013	85 ff		 test	 edi, edi
  00015	74 0a		 je	 SHORT $LN6@Vector_ite@3
  00017	39 5f 0c	 cmp	 DWORD PTR [edi+12], ebx
  0001a	77 05		 ja	 SHORT $LN6@Vector_ite@3
  0001c	3b 5f 10	 cmp	 ebx, DWORD PTR [edi+16]
  0001f	76 05		 jbe	 SHORT $LN5@Vector_ite@3
$LN6@Vector_ite@3:
  00021	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN5@Vector_ite@3:
  00026	8b 07		 mov	 eax, DWORD PTR [edi]
  00028	89 06		 mov	 DWORD PTR [esi], eax
  0002a	5f		 pop	 edi
  0002b	89 5e 04	 mov	 DWORD PTR [esi+4], ebx

; 328  : 		}

  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi
  00031	5b		 pop	 ebx
  00032	c2 08 00	 ret	 8
??0?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@PAPAVCSymTable@@PBV_Container_base_aux@1@@Z ENDP ; std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >
_TEXT	ENDS
PUBLIC	??$_Unchecked_uninitialized_move@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@PAPAVCSymTable@@V?$allocator@PAVCSymTable@@@2@@stdext@@YAPAPAVCSymTable@@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@0PAPAV1@AAV?$allocator@PAVCSymTable@@@3@@Z ; stdext::_Unchecked_uninitialized_move<std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >,CSymTable * *,std::allocator<CSymTable *> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
;	COMDAT ??$_Unchecked_uninitialized_move@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@PAPAVCSymTable@@V?$allocator@PAVCSymTable@@@2@@stdext@@YAPAPAVCSymTable@@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@0PAPAV1@AAV?$allocator@PAVCSymTable@@@3@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 8
__Last$ = 16						; size = 8
__Dest$ = 24						; size = 4
__Al$ = 28						; size = 4
??$_Unchecked_uninitialized_move@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@PAPAVCSymTable@@V?$allocator@PAVCSymTable@@@2@@stdext@@YAPAPAVCSymTable@@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@0PAPAV1@AAV?$allocator@PAVCSymTable@@@3@@Z PROC ; stdext::_Unchecked_uninitialized_move<std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >,CSymTable * *,std::allocator<CSymTable *> >, COMDAT

; 862  : 	return (_STD _Uninit_move(_CHECKED_BASE(_First),
; 863  : 		_CHECKED_BASE(_Last), _Dest, _Al,
; 864  : 		_STD _Move_cat(_Dest), _STD _Range_checked_iterator_tag()));

  00000	8b 44 24 10	 mov	 eax, DWORD PTR __Last$[esp]
  00004	8b 54 24 08	 mov	 edx, DWORD PTR __First$[esp]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 02	 sar	 eax, 2
  0000e	57		 push	 edi
  0000f	8b 7c 24 1c	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN34@Unchecked_@4
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN34@Unchecked_@4:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 865  : 	}

  00031	c3		 ret	 0
??$_Unchecked_uninitialized_move@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@PAPAVCSymTable@@V?$allocator@PAVCSymTable@@@2@@stdext@@YAPAPAVCSymTable@@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@0PAPAV1@AAV?$allocator@PAVCSymTable@@@3@@Z ENDP ; stdext::_Unchecked_uninitialized_move<std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> >,CSymTable * *,std::allocator<CSymTable *> >
_TEXT	ENDS
PUBLIC	??$_Unchecked_uninitialized_move@PAHPAHV?$allocator@H@std@@@stdext@@YAPAHPAH00AAV?$allocator@H@std@@@Z ; stdext::_Unchecked_uninitialized_move<int *,int *,std::allocator<int> >
; Function compile flags: /Ogtpy
;	COMDAT ??$_Unchecked_uninitialized_move@PAHPAHV?$allocator@H@std@@@stdext@@YAPAHPAH00AAV?$allocator@H@std@@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$_Unchecked_uninitialized_move@PAHPAHV?$allocator@H@std@@@stdext@@YAPAHPAH00AAV?$allocator@H@std@@@Z PROC ; stdext::_Unchecked_uninitialized_move<int *,int *,std::allocator<int> >, COMDAT

; 862  : 	return (_STD _Uninit_move(_CHECKED_BASE(_First),
; 863  : 		_CHECKED_BASE(_Last), _Dest, _Al,
; 864  : 		_STD _Move_cat(_Dest), _STD _Range_checked_iterator_tag()));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 02	 sar	 eax, 2
  0000e	57		 push	 edi
  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN30@Unchecked_@5
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN30@Unchecked_@5:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 865  : 	}

  00031	c3		 ret	 0
??$_Unchecked_uninitialized_move@PAHPAHV?$allocator@H@std@@@stdext@@YAPAHPAH00AAV?$allocator@H@std@@@Z ENDP ; stdext::_Unchecked_uninitialized_move<int *,int *,std::allocator<int> >
_TEXT	ENDS
PUBLIC	??$_Uninit_fill_n@PAHIHV?$allocator@H@std@@@std@@YAXPAHIABHAAV?$allocator@H@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<int *,unsigned int,int,std::allocator<int> >
; Function compile flags: /Ogtpy
;	COMDAT ??$_Uninit_fill_n@PAHIHV?$allocator@H@std@@@std@@YAXPAHIABHAAV?$allocator@H@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
___formal$ = 20						; size = 4
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Uninit_fill_n@PAHIHV?$allocator@H@std@@@std@@YAXPAHIABHAAV?$allocator@H@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_fill_n<int *,unsigned int,int,std::allocator<int> >, COMDAT

; 419  : 		_STDEXT unchecked_fill_n(_First, _Count, _Val);

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 04	 mov	 ecx, DWORD PTR __First$[esp-4]
  00008	85 c0		 test	 eax, eax
  0000a	76 12		 jbe	 SHORT $LN13@Uninit_fil
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
  00010	56		 push	 esi
$LL15@Uninit_fil:
  00011	8b 32		 mov	 esi, DWORD PTR [edx]
  00013	89 31		 mov	 DWORD PTR [ecx], esi
  00015	48		 dec	 eax
  00016	83 c1 04	 add	 ecx, 4
  00019	85 c0		 test	 eax, eax
  0001b	77 f4		 ja	 SHORT $LL15@Uninit_fil
  0001d	5e		 pop	 esi
$LN13@Uninit_fil:

; 420  : 	}

  0001e	c3		 ret	 0
??$_Uninit_fill_n@PAHIHV?$allocator@H@std@@@std@@YAXPAHIABHAAV?$allocator@H@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_fill_n<int *,unsigned int,int,std::allocator<int> >
_TEXT	ENDS
PUBLIC	??$_Uninit_fill_n@PANINV?$allocator@N@std@@@std@@YAXPANIABNAAV?$allocator@N@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<double *,unsigned int,double,std::allocator<double> >
; Function compile flags: /Ogtpy
;	COMDAT ??$_Uninit_fill_n@PANINV?$allocator@N@std@@@std@@YAXPANIABNAAV?$allocator@N@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
___formal$ = 20						; size = 4
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Uninit_fill_n@PANINV?$allocator@N@std@@@std@@YAXPANIABNAAV?$allocator@N@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_fill_n<double *,unsigned int,double,std::allocator<double> >, COMDAT

; 419  : 		_STDEXT unchecked_fill_n(_First, _Count, _Val);

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 04	 mov	 ecx, DWORD PTR __First$[esp-4]
  00008	85 c0		 test	 eax, eax
  0000a	76 10		 jbe	 SHORT $LN13@Uninit_fil@2
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
$LL15@Uninit_fil@2:
  00010	dd 02		 fld	 QWORD PTR [edx]
  00012	48		 dec	 eax
  00013	dd 19		 fstp	 QWORD PTR [ecx]
  00015	83 c1 08	 add	 ecx, 8
  00018	85 c0		 test	 eax, eax
  0001a	77 f4		 ja	 SHORT $LL15@Uninit_fil@2
$LN13@Uninit_fil@2:

; 420  : 	}

  0001c	c3		 ret	 0
??$_Uninit_fill_n@PANINV?$allocator@N@std@@@std@@YAXPANIABNAAV?$allocator@N@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_fill_n<double *,unsigned int,double,std::allocator<double> >
_TEXT	ENDS
PUBLIC	??$_Uninit_fill_n@PAPAVCSymTable@@IPAV1@V?$allocator@PAVCSymTable@@@std@@@std@@YAXPAPAVCSymTable@@IABQAV1@AAV?$allocator@PAVCSymTable@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<CSymTable * *,unsigned int,CSymTable *,std::allocator<CSymTable *> >
; Function compile flags: /Ogtpy
;	COMDAT ??$_Uninit_fill_n@PAPAVCSymTable@@IPAV1@V?$allocator@PAVCSymTable@@@std@@@std@@YAXPAPAVCSymTable@@IABQAV1@AAV?$allocator@PAVCSymTable@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
___formal$ = 20						; size = 4
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Uninit_fill_n@PAPAVCSymTable@@IPAV1@V?$allocator@PAVCSymTable@@@std@@@std@@YAXPAPAVCSymTable@@IABQAV1@AAV?$allocator@PAVCSymTable@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_fill_n<CSymTable * *,unsigned int,CSymTable *,std::allocator<CSymTable *> >, COMDAT

; 419  : 		_STDEXT unchecked_fill_n(_First, _Count, _Val);

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 04	 mov	 ecx, DWORD PTR __First$[esp-4]
  00008	85 c0		 test	 eax, eax
  0000a	76 12		 jbe	 SHORT $LN13@Uninit_fil@3
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
  00010	56		 push	 esi
$LL15@Uninit_fil@3:
  00011	8b 32		 mov	 esi, DWORD PTR [edx]
  00013	89 31		 mov	 DWORD PTR [ecx], esi
  00015	48		 dec	 eax
  00016	83 c1 04	 add	 ecx, 4
  00019	85 c0		 test	 eax, eax
  0001b	77 f4		 ja	 SHORT $LL15@Uninit_fil@3
  0001d	5e		 pop	 esi
$LN13@Uninit_fil@3:

; 420  : 	}

  0001e	c3		 ret	 0
??$_Uninit_fill_n@PAPAVCSymTable@@IPAV1@V?$allocator@PAVCSymTable@@@std@@@std@@YAXPAPAVCSymTable@@IABQAV1@AAV?$allocator@PAVCSymTable@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_fill_n<CSymTable * *,unsigned int,CSymTable *,std::allocator<CSymTable *> >
_TEXT	ENDS
PUBLIC	??$_Unchecked_uninitialized_move@PANPANV?$allocator@N@std@@@stdext@@YAPANPAN00AAV?$allocator@N@std@@@Z ; stdext::_Unchecked_uninitialized_move<double *,double *,std::allocator<double> >
; Function compile flags: /Ogtpy
;	COMDAT ??$_Unchecked_uninitialized_move@PANPANV?$allocator@N@std@@@stdext@@YAPANPAN00AAV?$allocator@N@std@@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$_Unchecked_uninitialized_move@PANPANV?$allocator@N@std@@@stdext@@YAPANPAN00AAV?$allocator@N@std@@@Z PROC ; stdext::_Unchecked_uninitialized_move<double *,double *,std::allocator<double> >, COMDAT

; 862  : 	return (_STD _Uninit_move(_CHECKED_BASE(_First),
; 863  : 		_CHECKED_BASE(_Last), _Dest, _Al,
; 864  : 		_STD _Move_cat(_Dest), _STD _Range_checked_iterator_tag()));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 03	 sar	 eax, 3
  0000e	57		 push	 edi
  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c c5 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*8]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN30@Unchecked_@6
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN30@Unchecked_@6:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 865  : 	}

  00031	c3		 ret	 0
??$_Unchecked_uninitialized_move@PANPANV?$allocator@N@std@@@stdext@@YAPANPAN00AAV?$allocator@N@std@@@Z ENDP ; stdext::_Unchecked_uninitialized_move<double *,double *,std::allocator<double> >
_TEXT	ENDS
PUBLIC	??$_Unchecked_uninitialized_move@PAPAVCSymTable@@PAPAV1@V?$allocator@PAVCSymTable@@@std@@@stdext@@YAPAPAVCSymTable@@PAPAV1@00AAV?$allocator@PAVCSymTable@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<CSymTable * *,CSymTable * *,std::allocator<CSymTable *> >
; Function compile flags: /Ogtpy
;	COMDAT ??$_Unchecked_uninitialized_move@PAPAVCSymTable@@PAPAV1@V?$allocator@PAVCSymTable@@@std@@@stdext@@YAPAPAVCSymTable@@PAPAV1@00AAV?$allocator@PAVCSymTable@@@std@@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$_Unchecked_uninitialized_move@PAPAVCSymTable@@PAPAV1@V?$allocator@PAVCSymTable@@@std@@@stdext@@YAPAPAVCSymTable@@PAPAV1@00AAV?$allocator@PAVCSymTable@@@std@@@Z PROC ; stdext::_Unchecked_uninitialized_move<CSymTable * *,CSymTable * *,std::allocator<CSymTable *> >, COMDAT

; 862  : 	return (_STD _Uninit_move(_CHECKED_BASE(_First),
; 863  : 		_CHECKED_BASE(_Last), _Dest, _Al,
; 864  : 		_STD _Move_cat(_Dest), _STD _Range_checked_iterator_tag()));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 02	 sar	 eax, 2
  0000e	57		 push	 edi
  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Dest$[esp+4]
  00013	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN30@Unchecked_@7
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN30@Unchecked_@7:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 865  : 	}

  00031	c3		 ret	 0
??$_Unchecked_uninitialized_move@PAPAVCSymTable@@PAPAV1@V?$allocator@PAVCSymTable@@@std@@@stdext@@YAPAPAVCSymTable@@PAPAV1@00AAV?$allocator@PAVCSymTable@@@std@@@Z ENDP ; stdext::_Unchecked_uninitialized_move<CSymTable * *,CSymTable * *,std::allocator<CSymTable *> >
_TEXT	ENDS
PUBLIC	??_7logic_error@std@@6B@			; std::logic_error::`vftable'
PUBLIC	??1logic_error@std@@UAE@XZ			; std::logic_error::~logic_error
PUBLIC	??_R4logic_error@std@@6B@			; std::logic_error::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVlogic_error@std@@@8			; std::logic_error `RTTI Type Descriptor'
PUBLIC	??_R3logic_error@std@@8				; std::logic_error::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2logic_error@std@@8				; std::logic_error::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@logic_error@std@@8		; std::logic_error::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?what@logic_error@std@@UBEPBDXZ			; std::logic_error::what
EXTRN	??_Elogic_error@std@@UAEPAXI@Z:PROC		; std::logic_error::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@logic_error@std@@8
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd
rdata$r	SEGMENT
??_R1A@?0A@EA@logic_error@std@@8 DD FLAT:??_R0?AVlogic_error@std@@@8 ; std::logic_error::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3logic_error@std@@8
rdata$r	ENDS
;	COMDAT ??_R2logic_error@std@@8
rdata$r	SEGMENT
??_R2logic_error@std@@8 DD FLAT:??_R1A@?0A@EA@logic_error@std@@8 ; std::logic_error::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R3logic_error@std@@8
rdata$r	SEGMENT
??_R3logic_error@std@@8 DD 00H				; std::logic_error::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2logic_error@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVlogic_error@std@@@8
_DATA	SEGMENT
??_R0?AVlogic_error@std@@@8 DD FLAT:??_7type_info@@6B@	; std::logic_error `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVlogic_error@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4logic_error@std@@6B@
rdata$r	SEGMENT
??_R4logic_error@std@@6B@ DD 00H			; std::logic_error::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVlogic_error@std@@@8
	DD	FLAT:??_R3logic_error@std@@8
rdata$r	ENDS
;	COMDAT ??_7logic_error@std@@6B@
CONST	SEGMENT
??_7logic_error@std@@6B@ DD FLAT:??_R4logic_error@std@@6B@ ; std::logic_error::`vftable'
	DD	FLAT:??_Elogic_error@std@@UAEPAXI@Z
	DD	FLAT:?what@logic_error@std@@UBEPBDXZ
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdexcept
CONST	ENDS
;	COMDAT ??1logic_error@std@@UAE@XZ
_TEXT	SEGMENT
??1logic_error@std@@UAE@XZ PROC				; std::logic_error::~logic_error, COMDAT
; _this$ = ecx

; 30   : 		{	// destroy the object

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx
  00003	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], OFFSET ??_7logic_error@std@@6B@

; 31   : 		}

  00009	83 7e 24 10	 cmp	 DWORD PTR [esi+36], 16	; 00000010H
  0000d	72 0c		 jb	 SHORT $LN19@logic_erro
  0000f	8b 46 10	 mov	 eax, DWORD PTR [esi+16]
  00012	50		 push	 eax
  00013	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00018	83 c4 04	 add	 esp, 4
$LN19@logic_erro:
  0001b	33 c0		 xor	 eax, eax
  0001d	c7 46 24 0f 00
	00 00		 mov	 DWORD PTR [esi+36], 15	; 0000000fH
  00024	89 46 20	 mov	 DWORD PTR [esi+32], eax
  00027	88 46 10	 mov	 BYTE PTR [esi+16], al
  0002a	8b ce		 mov	 ecx, esi
  0002c	5e		 pop	 esi
  0002d	e9 00 00 00 00	 jmp	 ??1exception@std@@UAE@XZ ; std::exception::~exception
??1logic_error@std@@UAE@XZ ENDP				; std::logic_error::~logic_error
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?what@logic_error@std@@UBEPBDXZ
_TEXT	SEGMENT
?what@logic_error@std@@UBEPBDXZ PROC			; std::logic_error::what, COMDAT
; _this$ = ecx

; 35   : 		return (_Str.c_str());

  00000	83 79 24 10	 cmp	 DWORD PTR [ecx+36], 16	; 00000010H
  00004	72 04		 jb	 SHORT $LN7@what
  00006	8b 41 10	 mov	 eax, DWORD PTR [ecx+16]

; 36   : 		}

  00009	c3		 ret	 0

; 35   : 		return (_Str.c_str());

$LN7@what:
  0000a	8d 41 10	 lea	 eax, DWORD PTR [ecx+16]

; 36   : 		}

  0000d	c3		 ret	 0
?what@logic_error@std@@UBEPBDXZ ENDP			; std::logic_error::what
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_Glogic_error@std@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_Glogic_error@std@@UAEPAXI@Z PROC			; std::logic_error::`scalar deleting destructor', COMDAT
; _this$ = ecx
  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx
  00003	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], OFFSET ??_7logic_error@std@@6B@
  00009	83 7e 24 10	 cmp	 DWORD PTR [esi+36], 16	; 00000010H
  0000d	72 0c		 jb	 SHORT $LN22@scalar@2
  0000f	8b 46 10	 mov	 eax, DWORD PTR [esi+16]
  00012	50		 push	 eax
  00013	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00018	83 c4 04	 add	 esp, 4
$LN22@scalar@2:
  0001b	33 c0		 xor	 eax, eax
  0001d	c7 46 24 0f 00
	00 00		 mov	 DWORD PTR [esi+36], 15	; 0000000fH
  00024	89 46 20	 mov	 DWORD PTR [esi+32], eax
  00027	8b ce		 mov	 ecx, esi
  00029	88 46 10	 mov	 BYTE PTR [esi+16], al
  0002c	e8 00 00 00 00	 call	 ??1exception@std@@UAE@XZ ; std::exception::~exception
  00031	f6 44 24 08 01	 test	 BYTE PTR ___flags$[esp], 1
  00036	74 09		 je	 SHORT $LN32@scalar@2
  00038	56		 push	 esi
  00039	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0003e	83 c4 04	 add	 esp, 4
$LN32@scalar@2:
  00041	8b c6		 mov	 eax, esi
  00043	5e		 pop	 esi
  00044	c2 04 00	 ret	 4
??_Glogic_error@std@@UAEPAXI@Z ENDP			; std::logic_error::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??1?$vector@HV?$allocator@H@std@@@std@@QAE@XZ	; std::vector<int,std::allocator<int> >::~vector<int,std::allocator<int> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??1?$vector@HV?$allocator@H@std@@@std@@QAE@XZ
_TEXT	SEGMENT
??1?$vector@HV?$allocator@H@std@@@std@@QAE@XZ PROC	; std::vector<int,std::allocator<int> >::~vector<int,std::allocator<int> >, COMDAT
; _this$ = ecx

; 558  : 		{	// destroy the object

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 559  : 		_Tidy();

  00003	8b 46 0c	 mov	 eax, DWORD PTR [esi+12]
  00006	85 c0		 test	 eax, eax
  00008	74 09		 je	 SHORT $LN7@vector@2
  0000a	50		 push	 eax
  0000b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00010	83 c4 04	 add	 esp, 4
$LN7@vector@2:

; 560  : 		}

  00013	8b 06		 mov	 eax, DWORD PTR [esi]
  00015	50		 push	 eax
  00016	c7 46 0c 00 00
	00 00		 mov	 DWORD PTR [esi+12], 0
  0001d	c7 46 10 00 00
	00 00		 mov	 DWORD PTR [esi+16], 0
  00024	c7 46 14 00 00
	00 00		 mov	 DWORD PTR [esi+20], 0
  0002b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00030	83 c4 04	 add	 esp, 4
  00033	5e		 pop	 esi
  00034	c3		 ret	 0
??1?$vector@HV?$allocator@H@std@@@std@@QAE@XZ ENDP	; std::vector<int,std::allocator<int> >::~vector<int,std::allocator<int> >
_TEXT	ENDS
PUBLIC	?begin@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@XZ ; std::vector<int,std::allocator<int> >::begin
; Function compile flags: /Ogtpy
;	COMDAT ?begin@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@XZ
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
?begin@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@XZ PROC ; std::vector<int,std::allocator<int> >::begin, COMDAT
; _this$ = ecx

; 640  : 		{	// return iterator for beginning of mutable sequence

  00000	53		 push	 ebx
  00001	56		 push	 esi
  00002	8b f1		 mov	 esi, ecx

; 641  : 		return (iterator(_Myfirst, this));

  00004	8b 5e 0c	 mov	 ebx, DWORD PTR [esi+12]
  00007	57		 push	 edi
  00008	8b 7c 24 10	 mov	 edi, DWORD PTR ___$ReturnUdt$[esp+8]
  0000c	c7 07 00 00 00
	00		 mov	 DWORD PTR [edi], 0
  00012	3b 5e 10	 cmp	 ebx, DWORD PTR [esi+16]
  00015	76 05		 jbe	 SHORT $LN7@begin
  00017	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@begin:
  0001c	8b 06		 mov	 eax, DWORD PTR [esi]
  0001e	89 07		 mov	 DWORD PTR [edi], eax
  00020	89 5f 04	 mov	 DWORD PTR [edi+4], ebx
  00023	8b c7		 mov	 eax, edi
  00025	5f		 pop	 edi
  00026	5e		 pop	 esi
  00027	5b		 pop	 ebx

; 642  : 		}

  00028	c2 04 00	 ret	 4
?begin@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@XZ ENDP ; std::vector<int,std::allocator<int> >::begin
_TEXT	ENDS
PUBLIC	?end@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@XZ ; std::vector<int,std::allocator<int> >::end
; Function compile flags: /Ogtpy
;	COMDAT ?end@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@XZ
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
?end@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@XZ PROC ; std::vector<int,std::allocator<int> >::end, COMDAT
; _this$ = ecx

; 650  : 		{	// return iterator for end of mutable sequence

  00000	53		 push	 ebx
  00001	56		 push	 esi
  00002	8b f1		 mov	 esi, ecx

; 651  : 		return (iterator(_Mylast, this));

  00004	8b 5e 10	 mov	 ebx, DWORD PTR [esi+16]
  00007	57		 push	 edi
  00008	8b 7c 24 10	 mov	 edi, DWORD PTR ___$ReturnUdt$[esp+8]
  0000c	c7 07 00 00 00
	00		 mov	 DWORD PTR [edi], 0
  00012	39 5e 0c	 cmp	 DWORD PTR [esi+12], ebx
  00015	76 05		 jbe	 SHORT $LN7@end
  00017	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@end:
  0001c	8b 06		 mov	 eax, DWORD PTR [esi]
  0001e	89 07		 mov	 DWORD PTR [edi], eax
  00020	89 5f 04	 mov	 DWORD PTR [edi+4], ebx
  00023	8b c7		 mov	 eax, edi
  00025	5f		 pop	 edi
  00026	5e		 pop	 esi
  00027	5b		 pop	 ebx

; 652  : 		}

  00028	c2 04 00	 ret	 4
?end@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@XZ ENDP ; std::vector<int,std::allocator<int> >::end
_TEXT	ENDS
PUBLIC	??1?$vector@NV?$allocator@N@std@@@std@@QAE@XZ	; std::vector<double,std::allocator<double> >::~vector<double,std::allocator<double> >
; Function compile flags: /Ogtpy
;	COMDAT ??1?$vector@NV?$allocator@N@std@@@std@@QAE@XZ
_TEXT	SEGMENT
??1?$vector@NV?$allocator@N@std@@@std@@QAE@XZ PROC	; std::vector<double,std::allocator<double> >::~vector<double,std::allocator<double> >, COMDAT
; _this$ = ecx

; 558  : 		{	// destroy the object

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 559  : 		_Tidy();

  00003	8b 46 0c	 mov	 eax, DWORD PTR [esi+12]
  00006	85 c0		 test	 eax, eax
  00008	74 09		 je	 SHORT $LN7@vector@3
  0000a	50		 push	 eax
  0000b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00010	83 c4 04	 add	 esp, 4
$LN7@vector@3:

; 560  : 		}

  00013	8b 06		 mov	 eax, DWORD PTR [esi]
  00015	50		 push	 eax
  00016	c7 46 0c 00 00
	00 00		 mov	 DWORD PTR [esi+12], 0
  0001d	c7 46 10 00 00
	00 00		 mov	 DWORD PTR [esi+16], 0
  00024	c7 46 14 00 00
	00 00		 mov	 DWORD PTR [esi+20], 0
  0002b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00030	83 c4 04	 add	 esp, 4
  00033	5e		 pop	 esi
  00034	c3		 ret	 0
??1?$vector@NV?$allocator@N@std@@@std@@QAE@XZ ENDP	; std::vector<double,std::allocator<double> >::~vector<double,std::allocator<double> >
_TEXT	ENDS
PUBLIC	?begin@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@XZ ; std::vector<double,std::allocator<double> >::begin
; Function compile flags: /Ogtpy
;	COMDAT ?begin@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@XZ
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
?begin@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@XZ PROC ; std::vector<double,std::allocator<double> >::begin, COMDAT
; _this$ = ecx

; 640  : 		{	// return iterator for beginning of mutable sequence

  00000	53		 push	 ebx
  00001	56		 push	 esi
  00002	8b f1		 mov	 esi, ecx

; 641  : 		return (iterator(_Myfirst, this));

  00004	8b 5e 0c	 mov	 ebx, DWORD PTR [esi+12]
  00007	57		 push	 edi
  00008	8b 7c 24 10	 mov	 edi, DWORD PTR ___$ReturnUdt$[esp+8]
  0000c	c7 07 00 00 00
	00		 mov	 DWORD PTR [edi], 0
  00012	3b 5e 10	 cmp	 ebx, DWORD PTR [esi+16]
  00015	76 05		 jbe	 SHORT $LN7@begin@2
  00017	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@begin@2:
  0001c	8b 06		 mov	 eax, DWORD PTR [esi]
  0001e	89 07		 mov	 DWORD PTR [edi], eax
  00020	89 5f 04	 mov	 DWORD PTR [edi+4], ebx
  00023	8b c7		 mov	 eax, edi
  00025	5f		 pop	 edi
  00026	5e		 pop	 esi
  00027	5b		 pop	 ebx

; 642  : 		}

  00028	c2 04 00	 ret	 4
?begin@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@XZ ENDP ; std::vector<double,std::allocator<double> >::begin
_TEXT	ENDS
PUBLIC	?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z
_TEXT	SEGMENT
__Count$ = 8						; size = 4
__Ch$ = 12						; size = 1
?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append, COMDAT
; _this$ = ecx

; 998  : 		{	// append _Count * _Ch

  00000	53		 push	 ebx

; 999  : 			if (npos - _Mysize <= _Count)

  00001	8b 5c 24 08	 mov	 ebx, DWORD PTR __Count$[esp]
  00005	56		 push	 esi
  00006	83 c8 ff	 or	 eax, -1
  00009	8b f1		 mov	 esi, ecx
  0000b	2b 46 14	 sub	 eax, DWORD PTR [esi+20]
  0000e	3b c3		 cmp	 eax, ebx
  00010	77 05		 ja	 SHORT $LN2@append

; 1000 : 			_String_base::_Xlen();	// result too long

  00012	e8 00 00 00 00	 call	 ?_Xlen@_String_base@std@@SAXXZ ; std::_String_base::_Xlen
$LN2@append:

; 1001 : 
; 1002 : 		size_type _Num;
; 1003 : 		if (0 < _Count && _Grow(_Num = _Mysize + _Count))

  00017	85 db		 test	 ebx, ebx
  00019	0f 86 80 00 00
	00		 jbe	 $LN63@append
  0001f	57		 push	 edi
  00020	8b 7e 14	 mov	 edi, DWORD PTR [esi+20]
  00023	03 fb		 add	 edi, ebx
  00025	83 ff fe	 cmp	 edi, -2			; fffffffeH
  00028	76 05		 jbe	 SHORT $LN10@append
  0002a	e8 00 00 00 00	 call	 ?_Xlen@_String_base@std@@SAXXZ ; std::_String_base::_Xlen
$LN10@append:
  0002f	8b 46 18	 mov	 eax, DWORD PTR [esi+24]
  00032	3b c7		 cmp	 eax, edi
  00034	73 39		 jae	 SHORT $LN9@append
  00036	8b 4e 14	 mov	 ecx, DWORD PTR [esi+20]
  00039	51		 push	 ecx
  0003a	57		 push	 edi
  0003b	8b ce		 mov	 ecx, esi
  0003d	e8 00 00 00 00	 call	 ?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy
  00042	85 ff		 test	 edi, edi
$LN66@append:
  00044	76 58		 jbe	 SHORT $LN64@append

; 1004 : 			{	// make room and append new stuff using assign
; 1005 : 			_Chassign(_Mysize, _Count, _Ch);

  00046	8b 54 24 14	 mov	 edx, DWORD PTR __Ch$[esp+8]
  0004a	8b 46 14	 mov	 eax, DWORD PTR [esi+20]
  0004d	52		 push	 edx
  0004e	53		 push	 ebx
  0004f	50		 push	 eax
  00050	8b ce		 mov	 ecx, esi
  00052	e8 00 00 00 00	 call	 ?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXIID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Chassign

; 1006 : 			_Eos(_Num);

  00057	83 7e 18 10	 cmp	 DWORD PTR [esi+24], 16	; 00000010H
  0005b	89 7e 14	 mov	 DWORD PTR [esi+20], edi
  0005e	72 37		 jb	 SHORT $LN59@append
  00060	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  00063	c6 04 38 00	 mov	 BYTE PTR [eax+edi], 0
  00067	5f		 pop	 edi

; 1007 : 			}
; 1008 : 		return (*this);

  00068	8b c6		 mov	 eax, esi
  0006a	5e		 pop	 esi
  0006b	5b		 pop	 ebx

; 1009 : 		}

  0006c	c2 08 00	 ret	 8

; 1001 : 
; 1002 : 		size_type _Num;
; 1003 : 		if (0 < _Count && _Grow(_Num = _Mysize + _Count))

$LN9@append:
  0006f	85 ff		 test	 edi, edi
  00071	75 d1		 jne	 SHORT $LN66@append
  00073	89 7e 14	 mov	 DWORD PTR [esi+20], edi
  00076	83 f8 10	 cmp	 eax, 16			; 00000010H
  00079	72 0e		 jb	 SHORT $LN51@append
  0007b	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  0007e	5f		 pop	 edi
  0007f	c6 00 00	 mov	 BYTE PTR [eax], 0

; 1007 : 			}
; 1008 : 		return (*this);

  00082	8b c6		 mov	 eax, esi
  00084	5e		 pop	 esi
  00085	5b		 pop	 ebx

; 1009 : 		}

  00086	c2 08 00	 ret	 8

; 1001 : 
; 1002 : 		size_type _Num;
; 1003 : 		if (0 < _Count && _Grow(_Num = _Mysize + _Count))

$LN51@append:
  00089	8d 46 04	 lea	 eax, DWORD PTR [esi+4]
  0008c	5f		 pop	 edi
  0008d	c6 00 00	 mov	 BYTE PTR [eax], 0

; 1007 : 			}
; 1008 : 		return (*this);

  00090	8b c6		 mov	 eax, esi
  00092	5e		 pop	 esi
  00093	5b		 pop	 ebx

; 1009 : 		}

  00094	c2 08 00	 ret	 8

; 1006 : 			_Eos(_Num);

$LN59@append:
  00097	8d 46 04	 lea	 eax, DWORD PTR [esi+4]
  0009a	c6 04 38 00	 mov	 BYTE PTR [eax+edi], 0
$LN64@append:
  0009e	5f		 pop	 edi
$LN63@append:

; 1007 : 			}
; 1008 : 		return (*this);

  0009f	8b c6		 mov	 eax, esi
  000a1	5e		 pop	 esi
  000a2	5b		 pop	 ebx

; 1009 : 		}

  000a3	c2 08 00	 ret	 8
?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append
_TEXT	ENDS
PUBLIC	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
; Function compile flags: /Ogtpy
;	COMDAT ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
__Roff$ = 12						; size = 4
__Count$ = 16						; size = 4
?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign, COMDAT
; _this$ = ecx

; 1046 : 		{	// assign _Right [_Roff, _Roff + _Count)

  00000	53		 push	 ebx

; 1047 : 		if (_Right.size() < _Roff)

  00001	8b 5c 24 08	 mov	 ebx, DWORD PTR __Right$[esp]
  00005	55		 push	 ebp
  00006	8b 6c 24 10	 mov	 ebp, DWORD PTR __Roff$[esp+4]
  0000a	56		 push	 esi
  0000b	57		 push	 edi
  0000c	8b f1		 mov	 esi, ecx
  0000e	39 6b 14	 cmp	 DWORD PTR [ebx+20], ebp
  00011	73 05		 jae	 SHORT $LN5@assign

; 1048 : 			_String_base::_Xran();	// _Roff off end

  00013	e8 00 00 00 00	 call	 ?_Xran@_String_base@std@@SAXXZ ; std::_String_base::_Xran
$LN5@assign:

; 1049 : 		size_type _Num = _Right.size() - _Roff;

  00018	8b 7b 14	 mov	 edi, DWORD PTR [ebx+20]

; 1050 : 		if (_Count < _Num)

  0001b	8b 44 24 1c	 mov	 eax, DWORD PTR __Count$[esp+12]
  0001f	2b fd		 sub	 edi, ebp
  00021	3b c7		 cmp	 eax, edi
  00023	73 02		 jae	 SHORT $LN4@assign

; 1051 : 			_Num = _Count;	// trim _Num to size

  00025	8b f8		 mov	 edi, eax
$LN4@assign:

; 1052 : 
; 1053 : 		if (this == &_Right)

  00027	3b f3		 cmp	 esi, ebx
  00029	75 1f		 jne	 SHORT $LN3@assign

; 1054 : 			erase((size_type)(_Roff + _Num)), erase(0, _Roff);	// substring

  0002b	6a ff		 push	 -1
  0002d	03 fd		 add	 edi, ebp
  0002f	57		 push	 edi
  00030	8b ce		 mov	 ecx, esi
  00032	e8 00 00 00 00	 call	 ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase
  00037	55		 push	 ebp
  00038	6a 00		 push	 0
  0003a	8b ce		 mov	 ecx, esi
  0003c	e8 00 00 00 00	 call	 ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase
  00041	5f		 pop	 edi

; 1059 : 			}
; 1060 : 		return (*this);

  00042	8b c6		 mov	 eax, esi
  00044	5e		 pop	 esi
  00045	5d		 pop	 ebp
  00046	5b		 pop	 ebx

; 1061 : 		}

  00047	c2 0c 00	 ret	 12			; 0000000cH
$LN3@assign:

; 1055 : 		else if (_Grow(_Num))

  0004a	83 ff fe	 cmp	 edi, -2			; fffffffeH
  0004d	76 05		 jbe	 SHORT $LN17@assign
  0004f	e8 00 00 00 00	 call	 ?_Xlen@_String_base@std@@SAXXZ ; std::_String_base::_Xlen
$LN17@assign:
  00054	8b 46 18	 mov	 eax, DWORD PTR [esi+24]
  00057	3b c7		 cmp	 eax, edi
  00059	73 1b		 jae	 SHORT $LN16@assign
  0005b	8b 46 14	 mov	 eax, DWORD PTR [esi+20]
  0005e	50		 push	 eax
  0005f	57		 push	 edi
  00060	8b ce		 mov	 ecx, esi
  00062	e8 00 00 00 00	 call	 ?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy
  00067	85 ff		 test	 edi, edi
$LN87@assign:
  00069	76 66		 jbe	 SHORT $LN86@assign

; 1056 : 			{	// make room and assign new stuff
; 1057 : 			_Traits_helper::copy_s<_Traits>(_Myptr(), _Myres, _Right._Myptr() + _Roff, _Num);

  0006b	83 7b 18 10	 cmp	 DWORD PTR [ebx+24], 16	; 00000010H
  0006f	72 2f		 jb	 SHORT $LN64@assign
  00071	8b 53 04	 mov	 edx, DWORD PTR [ebx+4]
  00074	eb 2d		 jmp	 SHORT $LN65@assign

; 1055 : 		else if (_Grow(_Num))

$LN16@assign:
  00076	85 ff		 test	 edi, edi
  00078	75 ef		 jne	 SHORT $LN87@assign
  0007a	89 7e 14	 mov	 DWORD PTR [esi+20], edi
  0007d	83 f8 10	 cmp	 eax, 16			; 00000010H
  00080	72 0f		 jb	 SHORT $LN58@assign
  00082	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  00085	5f		 pop	 edi
  00086	c6 00 00	 mov	 BYTE PTR [eax], 0

; 1059 : 			}
; 1060 : 		return (*this);

  00089	8b c6		 mov	 eax, esi
  0008b	5e		 pop	 esi
  0008c	5d		 pop	 ebp
  0008d	5b		 pop	 ebx

; 1061 : 		}

  0008e	c2 0c 00	 ret	 12			; 0000000cH

; 1055 : 		else if (_Grow(_Num))

$LN58@assign:
  00091	8d 46 04	 lea	 eax, DWORD PTR [esi+4]
  00094	5f		 pop	 edi
  00095	c6 00 00	 mov	 BYTE PTR [eax], 0

; 1059 : 			}
; 1060 : 		return (*this);

  00098	8b c6		 mov	 eax, esi
  0009a	5e		 pop	 esi
  0009b	5d		 pop	 ebp
  0009c	5b		 pop	 ebx

; 1061 : 		}

  0009d	c2 0c 00	 ret	 12			; 0000000cH

; 1056 : 			{	// make room and assign new stuff
; 1057 : 			_Traits_helper::copy_s<_Traits>(_Myptr(), _Myres, _Right._Myptr() + _Roff, _Num);

$LN64@assign:
  000a0	8d 53 04	 lea	 edx, DWORD PTR [ebx+4]
$LN65@assign:
  000a3	8b 4e 18	 mov	 ecx, DWORD PTR [esi+24]
  000a6	8d 5e 04	 lea	 ebx, DWORD PTR [esi+4]
  000a9	83 f9 10	 cmp	 ecx, 16			; 00000010H
  000ac	72 04		 jb	 SHORT $LN68@assign
  000ae	8b 03		 mov	 eax, DWORD PTR [ebx]
  000b0	eb 02		 jmp	 SHORT $LN69@assign
$LN68@assign:
  000b2	8b c3		 mov	 eax, ebx
$LN69@assign:
  000b4	57		 push	 edi
  000b5	03 d5		 add	 edx, ebp
  000b7	52		 push	 edx
  000b8	51		 push	 ecx
  000b9	50		 push	 eax
  000ba	e8 00 00 00 00	 call	 _memcpy_s
  000bf	83 c4 10	 add	 esp, 16			; 00000010H

; 1058 : 			_Eos(_Num);

  000c2	83 7e 18 10	 cmp	 DWORD PTR [esi+24], 16	; 00000010H
  000c6	89 7e 14	 mov	 DWORD PTR [esi+20], edi
  000c9	72 02		 jb	 SHORT $LN82@assign
  000cb	8b 1b		 mov	 ebx, DWORD PTR [ebx]
$LN82@assign:
  000cd	c6 04 3b 00	 mov	 BYTE PTR [ebx+edi], 0
$LN86@assign:
  000d1	5f		 pop	 edi

; 1059 : 			}
; 1060 : 		return (*this);

  000d2	8b c6		 mov	 eax, esi
  000d4	5e		 pop	 esi
  000d5	5d		 pop	 ebp
  000d6	5b		 pop	 ebx

; 1061 : 		}

  000d7	c2 0c 00	 ret	 12			; 0000000cH
?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
_TEXT	ENDS
PUBLIC	?erase@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@0@Z ; std::vector<int,std::allocator<int> >::erase
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?erase@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@0@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
__First_arg$ = 12					; size = 8
__Last_arg$ = 20					; size = 8
?erase@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@0@Z PROC ; std::vector<int,std::allocator<int> >::erase, COMDAT
; _this$ = ecx

; 1028 : 		{	// erase [_First, _Last)

  00000	53		 push	 ebx

; 1029 : 		iterator _First = _Make_iter(_First_arg);

  00001	8b 5c 24 08	 mov	 ebx, DWORD PTR ___$ReturnUdt$[esp]
  00005	56		 push	 esi
  00006	8b f1		 mov	 esi, ecx
  00008	57		 push	 edi
  00009	c7 03 00 00 00
	00		 mov	 DWORD PTR [ebx], 0
  0000f	85 f6		 test	 esi, esi
  00011	74 0e		 je	 SHORT $LN11@erase@2
  00013	8b 44 24 18	 mov	 eax, DWORD PTR __First_arg$[esp+12]
  00017	39 46 0c	 cmp	 DWORD PTR [esi+12], eax
  0001a	77 05		 ja	 SHORT $LN11@erase@2
  0001c	3b 46 10	 cmp	 eax, DWORD PTR [esi+16]
  0001f	76 09		 jbe	 SHORT $LN10@erase@2
$LN11@erase@2:
  00021	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00026	8b 44 24 18	 mov	 eax, DWORD PTR __First_arg$[esp+12]
$LN10@erase@2:

; 1030 : 		iterator _Last = _Make_iter(_Last_arg);

  0002a	8b 7c 24 20	 mov	 edi, DWORD PTR __Last_arg$[esp+12]
  0002e	8b 0e		 mov	 ecx, DWORD PTR [esi]
  00030	89 0b		 mov	 DWORD PTR [ebx], ecx
  00032	89 43 04	 mov	 DWORD PTR [ebx+4], eax
  00035	39 7e 0c	 cmp	 DWORD PTR [esi+12], edi
  00038	77 05		 ja	 SHORT $LN30@erase@2
  0003a	3b 7e 10	 cmp	 edi, DWORD PTR [esi+16]
  0003d	76 09		 jbe	 SHORT $LN29@erase@2
$LN30@erase@2:
  0003f	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00044	8b 7c 24 20	 mov	 edi, DWORD PTR __Last_arg$[esp+12]
$LN29@erase@2:

; 1031 : 
; 1032 : 		if (_First != _Last)

  00048	8b 03		 mov	 eax, DWORD PTR [ebx]
  0004a	8b 0e		 mov	 ecx, DWORD PTR [esi]
  0004c	85 c0		 test	 eax, eax
  0004e	74 04		 je	 SHORT $LN47@erase@2
  00050	3b c1		 cmp	 eax, ecx
  00052	74 05		 je	 SHORT $LN46@erase@2
$LN47@erase@2:
  00054	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN46@erase@2:
  00059	8b 53 04	 mov	 edx, DWORD PTR [ebx+4]
  0005c	3b d7		 cmp	 edx, edi
  0005e	74 27		 je	 SHORT $LN72@erase@2

; 1033 : 			{	// worth doing, copy down over hole
; 1034 : 
; 1035 :  #if _HAS_ITERATOR_DEBUGGING
; 1036 : 			if (_Last < _First || _First._Mycont != this
; 1037 : 				|| _First._Myptr < _Myfirst || _Mylast < _Last._Myptr)
; 1038 : 				_DEBUG_ERROR("vector erase iterator outside range");
; 1039 : 			pointer _Ptr = _STDEXT unchecked_copy(_VEC_ITER_BASE(_Last), _Mylast,
; 1040 : 				_VEC_ITER_BASE(_First));
; 1041 : 			_Orphan_range(_First._Myptr, _Mylast);
; 1042 : 
; 1043 :  #else /* _HAS_ITERATOR_DEBUGGING */
; 1044 : 			pointer _Ptr = _STDEXT unchecked_copy(_VEC_ITER_BASE(_Last), _Mylast,
; 1045 : 				_VEC_ITER_BASE(_First));

  00060	8b 46 10	 mov	 eax, DWORD PTR [esi+16]
  00063	2b c7		 sub	 eax, edi
  00065	c1 f8 02	 sar	 eax, 2
  00068	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0006f	55		 push	 ebp
  00070	8d 2c 11	 lea	 ebp, DWORD PTR [ecx+edx]
  00073	85 c0		 test	 eax, eax
  00075	7e 0c		 jle	 SHORT $LN69@erase@2
  00077	51		 push	 ecx
  00078	57		 push	 edi
  00079	51		 push	 ecx
  0007a	52		 push	 edx
  0007b	e8 00 00 00 00	 call	 _memmove_s
  00080	83 c4 10	 add	 esp, 16			; 00000010H
$LN69@erase@2:

; 1046 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1047 : 
; 1048 : 			_Destroy(_Ptr, _Mylast);
; 1049 : 			_Mylast = _Ptr;

  00083	89 6e 10	 mov	 DWORD PTR [esi+16], ebp
  00086	5d		 pop	 ebp
$LN72@erase@2:
  00087	5f		 pop	 edi
  00088	5e		 pop	 esi

; 1050 : 			}
; 1051 : #if _HAS_ITERATOR_DEBUGGING
; 1052 :         return (iterator(_First._Myptr, this));
; 1053 : #else
; 1054 : 		return (_First);

  00089	8b c3		 mov	 eax, ebx
  0008b	5b		 pop	 ebx

; 1055 : #endif
; 1056 : 		}

  0008c	c2 14 00	 ret	 20			; 00000014H
?erase@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@0@Z ENDP ; std::vector<int,std::allocator<int> >::erase
_TEXT	ENDS
PUBLIC	?end@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@XZ ; std::vector<double,std::allocator<double> >::end
; Function compile flags: /Ogtpy
;	COMDAT ?end@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@XZ
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
?end@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@XZ PROC ; std::vector<double,std::allocator<double> >::end, COMDAT
; _this$ = ecx

; 650  : 		{	// return iterator for end of mutable sequence

  00000	53		 push	 ebx
  00001	56		 push	 esi
  00002	8b f1		 mov	 esi, ecx

; 651  : 		return (iterator(_Mylast, this));

  00004	8b 5e 10	 mov	 ebx, DWORD PTR [esi+16]
  00007	57		 push	 edi
  00008	8b 7c 24 10	 mov	 edi, DWORD PTR ___$ReturnUdt$[esp+8]
  0000c	c7 07 00 00 00
	00		 mov	 DWORD PTR [edi], 0
  00012	39 5e 0c	 cmp	 DWORD PTR [esi+12], ebx
  00015	76 05		 jbe	 SHORT $LN7@end@2
  00017	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@end@2:
  0001c	8b 06		 mov	 eax, DWORD PTR [esi]
  0001e	89 07		 mov	 DWORD PTR [edi], eax
  00020	89 5f 04	 mov	 DWORD PTR [edi+4], ebx
  00023	8b c7		 mov	 eax, edi
  00025	5f		 pop	 edi
  00026	5e		 pop	 esi
  00027	5b		 pop	 ebx

; 652  : 		}

  00028	c2 04 00	 ret	 4
?end@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@XZ ENDP ; std::vector<double,std::allocator<double> >::end
_TEXT	ENDS
PUBLIC	?erase@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@V?$_Vector_const_iterator@NV?$allocator@N@std@@@2@0@Z ; std::vector<double,std::allocator<double> >::erase
; Function compile flags: /Ogtpy
;	COMDAT ?erase@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@V?$_Vector_const_iterator@NV?$allocator@N@std@@@2@0@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
__First_arg$ = 12					; size = 8
__Last_arg$ = 20					; size = 8
?erase@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@V?$_Vector_const_iterator@NV?$allocator@N@std@@@2@0@Z PROC ; std::vector<double,std::allocator<double> >::erase, COMDAT
; _this$ = ecx

; 1028 : 		{	// erase [_First, _Last)

  00000	53		 push	 ebx

; 1029 : 		iterator _First = _Make_iter(_First_arg);

  00001	8b 5c 24 08	 mov	 ebx, DWORD PTR ___$ReturnUdt$[esp]
  00005	56		 push	 esi
  00006	8b f1		 mov	 esi, ecx
  00008	57		 push	 edi
  00009	c7 03 00 00 00
	00		 mov	 DWORD PTR [ebx], 0
  0000f	85 f6		 test	 esi, esi
  00011	74 0e		 je	 SHORT $LN11@erase@3
  00013	8b 44 24 18	 mov	 eax, DWORD PTR __First_arg$[esp+12]
  00017	39 46 0c	 cmp	 DWORD PTR [esi+12], eax
  0001a	77 05		 ja	 SHORT $LN11@erase@3
  0001c	3b 46 10	 cmp	 eax, DWORD PTR [esi+16]
  0001f	76 09		 jbe	 SHORT $LN10@erase@3
$LN11@erase@3:
  00021	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00026	8b 44 24 18	 mov	 eax, DWORD PTR __First_arg$[esp+12]
$LN10@erase@3:

; 1030 : 		iterator _Last = _Make_iter(_Last_arg);

  0002a	8b 7c 24 20	 mov	 edi, DWORD PTR __Last_arg$[esp+12]
  0002e	8b 0e		 mov	 ecx, DWORD PTR [esi]
  00030	89 0b		 mov	 DWORD PTR [ebx], ecx
  00032	89 43 04	 mov	 DWORD PTR [ebx+4], eax
  00035	39 7e 0c	 cmp	 DWORD PTR [esi+12], edi
  00038	77 05		 ja	 SHORT $LN30@erase@3
  0003a	3b 7e 10	 cmp	 edi, DWORD PTR [esi+16]
  0003d	76 09		 jbe	 SHORT $LN29@erase@3
$LN30@erase@3:
  0003f	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00044	8b 7c 24 20	 mov	 edi, DWORD PTR __Last_arg$[esp+12]
$LN29@erase@3:

; 1031 : 
; 1032 : 		if (_First != _Last)

  00048	8b 03		 mov	 eax, DWORD PTR [ebx]
  0004a	8b 0e		 mov	 ecx, DWORD PTR [esi]
  0004c	85 c0		 test	 eax, eax
  0004e	74 04		 je	 SHORT $LN47@erase@3
  00050	3b c1		 cmp	 eax, ecx
  00052	74 05		 je	 SHORT $LN46@erase@3
$LN47@erase@3:
  00054	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN46@erase@3:
  00059	8b 53 04	 mov	 edx, DWORD PTR [ebx+4]
  0005c	3b d7		 cmp	 edx, edi
  0005e	74 27		 je	 SHORT $LN72@erase@3

; 1033 : 			{	// worth doing, copy down over hole
; 1034 : 
; 1035 :  #if _HAS_ITERATOR_DEBUGGING
; 1036 : 			if (_Last < _First || _First._Mycont != this
; 1037 : 				|| _First._Myptr < _Myfirst || _Mylast < _Last._Myptr)
; 1038 : 				_DEBUG_ERROR("vector erase iterator outside range");
; 1039 : 			pointer _Ptr = _STDEXT unchecked_copy(_VEC_ITER_BASE(_Last), _Mylast,
; 1040 : 				_VEC_ITER_BASE(_First));
; 1041 : 			_Orphan_range(_First._Myptr, _Mylast);
; 1042 : 
; 1043 :  #else /* _HAS_ITERATOR_DEBUGGING */
; 1044 : 			pointer _Ptr = _STDEXT unchecked_copy(_VEC_ITER_BASE(_Last), _Mylast,
; 1045 : 				_VEC_ITER_BASE(_First));

  00060	8b 46 10	 mov	 eax, DWORD PTR [esi+16]
  00063	2b c7		 sub	 eax, edi
  00065	c1 f8 03	 sar	 eax, 3
  00068	8d 0c c5 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*8]
  0006f	55		 push	 ebp
  00070	8d 2c 11	 lea	 ebp, DWORD PTR [ecx+edx]
  00073	85 c0		 test	 eax, eax
  00075	7e 0c		 jle	 SHORT $LN69@erase@3
  00077	51		 push	 ecx
  00078	57		 push	 edi
  00079	51		 push	 ecx
  0007a	52		 push	 edx
  0007b	e8 00 00 00 00	 call	 _memmove_s
  00080	83 c4 10	 add	 esp, 16			; 00000010H
$LN69@erase@3:

; 1046 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1047 : 
; 1048 : 			_Destroy(_Ptr, _Mylast);
; 1049 : 			_Mylast = _Ptr;

  00083	89 6e 10	 mov	 DWORD PTR [esi+16], ebp
  00086	5d		 pop	 ebp
$LN72@erase@3:
  00087	5f		 pop	 edi
  00088	5e		 pop	 esi

; 1050 : 			}
; 1051 : #if _HAS_ITERATOR_DEBUGGING
; 1052 :         return (iterator(_First._Myptr, this));
; 1053 : #else
; 1054 : 		return (_First);

  00089	8b c3		 mov	 eax, ebx
  0008b	5b		 pop	 ebx

; 1055 : #endif
; 1056 : 		}

  0008c	c2 14 00	 ret	 20			; 00000014H
?erase@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@V?$_Vector_const_iterator@NV?$allocator@N@std@@@2@0@Z ENDP ; std::vector<double,std::allocator<double> >::erase
_TEXT	ENDS
PUBLIC	?begin@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@XZ ; std::vector<CSymTable *,std::allocator<CSymTable *> >::begin
; Function compile flags: /Ogtpy
;	COMDAT ?begin@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@XZ
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
?begin@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@XZ PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::begin, COMDAT
; _this$ = ecx

; 640  : 		{	// return iterator for beginning of mutable sequence

  00000	53		 push	 ebx
  00001	56		 push	 esi
  00002	8b f1		 mov	 esi, ecx

; 641  : 		return (iterator(_Myfirst, this));

  00004	8b 5e 0c	 mov	 ebx, DWORD PTR [esi+12]
  00007	57		 push	 edi
  00008	8b 7c 24 10	 mov	 edi, DWORD PTR ___$ReturnUdt$[esp+8]
  0000c	c7 07 00 00 00
	00		 mov	 DWORD PTR [edi], 0
  00012	3b 5e 10	 cmp	 ebx, DWORD PTR [esi+16]
  00015	76 05		 jbe	 SHORT $LN7@begin@3
  00017	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@begin@3:
  0001c	8b 06		 mov	 eax, DWORD PTR [esi]
  0001e	89 07		 mov	 DWORD PTR [edi], eax
  00020	89 5f 04	 mov	 DWORD PTR [edi+4], ebx
  00023	8b c7		 mov	 eax, edi
  00025	5f		 pop	 edi
  00026	5e		 pop	 esi
  00027	5b		 pop	 ebx

; 642  : 		}

  00028	c2 04 00	 ret	 4
?begin@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@XZ ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::begin
_TEXT	ENDS
PUBLIC	?end@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@XZ ; std::vector<CSymTable *,std::allocator<CSymTable *> >::end
; Function compile flags: /Ogtpy
;	COMDAT ?end@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@XZ
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
?end@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@XZ PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::end, COMDAT
; _this$ = ecx

; 650  : 		{	// return iterator for end of mutable sequence

  00000	53		 push	 ebx
  00001	56		 push	 esi
  00002	8b f1		 mov	 esi, ecx

; 651  : 		return (iterator(_Mylast, this));

  00004	8b 5e 10	 mov	 ebx, DWORD PTR [esi+16]
  00007	57		 push	 edi
  00008	8b 7c 24 10	 mov	 edi, DWORD PTR ___$ReturnUdt$[esp+8]
  0000c	c7 07 00 00 00
	00		 mov	 DWORD PTR [edi], 0
  00012	39 5e 0c	 cmp	 DWORD PTR [esi+12], ebx
  00015	76 05		 jbe	 SHORT $LN7@end@3
  00017	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@end@3:
  0001c	8b 06		 mov	 eax, DWORD PTR [esi]
  0001e	89 07		 mov	 DWORD PTR [edi], eax
  00020	89 5f 04	 mov	 DWORD PTR [edi+4], ebx
  00023	8b c7		 mov	 eax, edi
  00025	5f		 pop	 edi
  00026	5e		 pop	 esi
  00027	5b		 pop	 ebx

; 652  : 		}

  00028	c2 04 00	 ret	 4
?end@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@XZ ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::end
_TEXT	ENDS
PUBLIC	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
__Count$ = 12						; size = 4
?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign, COMDAT
; _this$ = ecx

; 1064 : 		{	// assign [_Ptr, _Ptr + _Count)

  00000	55		 push	 ebp

; 1065 : 
; 1066 :  #if _HAS_ITERATOR_DEBUGGING
; 1067 : 		if (_Count != 0)
; 1068 : 			_DEBUG_POINTER(_Ptr);
; 1069 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1070 : 
; 1071 : 		if (_Inside(_Ptr))

  00001	8b 6c 24 08	 mov	 ebp, DWORD PTR __Ptr$[esp]
  00005	56		 push	 esi
  00006	57		 push	 edi
  00007	8b f1		 mov	 esi, ecx
  00009	85 ed		 test	 ebp, ebp
  0000b	74 46		 je	 SHORT $LN93@assign@2
  0000d	8b 56 18	 mov	 edx, DWORD PTR [esi+24]
  00010	8d 46 04	 lea	 eax, DWORD PTR [esi+4]
  00013	83 fa 10	 cmp	 edx, 16			; 00000010H
  00016	72 04		 jb	 SHORT $LN12@assign@2
  00018	8b 08		 mov	 ecx, DWORD PTR [eax]
  0001a	eb 02		 jmp	 SHORT $LN13@assign@2
$LN12@assign@2:
  0001c	8b c8		 mov	 ecx, eax
$LN13@assign@2:
  0001e	3b e9		 cmp	 ebp, ecx
  00020	72 31		 jb	 SHORT $LN93@assign@2
  00022	83 fa 10	 cmp	 edx, 16			; 00000010H
  00025	72 04		 jb	 SHORT $LN16@assign@2
  00027	8b 08		 mov	 ecx, DWORD PTR [eax]
  00029	eb 02		 jmp	 SHORT $LN17@assign@2
$LN16@assign@2:
  0002b	8b c8		 mov	 ecx, eax
$LN17@assign@2:
  0002d	8b 7e 14	 mov	 edi, DWORD PTR [esi+20]
  00030	03 f9		 add	 edi, ecx
  00032	3b fd		 cmp	 edi, ebp
  00034	76 1d		 jbe	 SHORT $LN93@assign@2

; 1072 : 			return (assign(*this, _Ptr - _Myptr(), _Count));	// substring

  00036	83 fa 10	 cmp	 edx, 16			; 00000010H
  00039	72 02		 jb	 SHORT $LN20@assign@2
  0003b	8b 00		 mov	 eax, DWORD PTR [eax]
$LN20@assign@2:
  0003d	8b 4c 24 14	 mov	 ecx, DWORD PTR __Count$[esp+8]
  00041	51		 push	 ecx
  00042	2b e8		 sub	 ebp, eax
  00044	55		 push	 ebp
  00045	56		 push	 esi
  00046	8b ce		 mov	 ecx, esi
  00048	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  0004d	5f		 pop	 edi
  0004e	5e		 pop	 esi
  0004f	5d		 pop	 ebp

; 1080 : 		}

  00050	c2 08 00	 ret	 8
$LN93@assign@2:

; 1073 : 
; 1074 : 		if (_Grow(_Count))

  00053	8b 7c 24 14	 mov	 edi, DWORD PTR __Count$[esp+8]
  00057	83 ff fe	 cmp	 edi, -2			; fffffffeH
  0005a	76 05		 jbe	 SHORT $LN27@assign@2
  0005c	e8 00 00 00 00	 call	 ?_Xlen@_String_base@std@@SAXXZ ; std::_String_base::_Xlen
$LN27@assign@2:
  00061	8b 46 18	 mov	 eax, DWORD PTR [esi+24]
  00064	3b c7		 cmp	 eax, edi
  00066	73 20		 jae	 SHORT $LN26@assign@2
  00068	8b 56 14	 mov	 edx, DWORD PTR [esi+20]
  0006b	52		 push	 edx
  0006c	57		 push	 edi
  0006d	8b ce		 mov	 ecx, esi
  0006f	e8 00 00 00 00	 call	 ?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy
  00074	85 ff		 test	 edi, edi
$LN94@assign@2:
  00076	76 56		 jbe	 SHORT $LN90@assign@2

; 1075 : 			{	// make room and assign new stuff
; 1076 : 			_Traits_helper::copy_s<_Traits>(_Myptr(), _Myres, _Ptr, _Count);

  00078	8b 4e 18	 mov	 ecx, DWORD PTR [esi+24]
  0007b	53		 push	 ebx
  0007c	8d 5e 04	 lea	 ebx, DWORD PTR [esi+4]
  0007f	83 f9 10	 cmp	 ecx, 16			; 00000010H
  00082	72 2c		 jb	 SHORT $LN74@assign@2
  00084	8b 03		 mov	 eax, DWORD PTR [ebx]
  00086	eb 2a		 jmp	 SHORT $LN75@assign@2

; 1073 : 
; 1074 : 		if (_Grow(_Count))

$LN26@assign@2:
  00088	85 ff		 test	 edi, edi
  0008a	75 ea		 jne	 SHORT $LN94@assign@2
  0008c	89 7e 14	 mov	 DWORD PTR [esi+20], edi
  0008f	83 f8 10	 cmp	 eax, 16			; 00000010H
  00092	72 0e		 jb	 SHORT $LN68@assign@2
  00094	8b 46 04	 mov	 eax, DWORD PTR [esi+4]
  00097	5f		 pop	 edi
  00098	c6 00 00	 mov	 BYTE PTR [eax], 0

; 1078 : 			}
; 1079 : 		return (*this);

  0009b	8b c6		 mov	 eax, esi
  0009d	5e		 pop	 esi
  0009e	5d		 pop	 ebp

; 1080 : 		}

  0009f	c2 08 00	 ret	 8

; 1073 : 
; 1074 : 		if (_Grow(_Count))

$LN68@assign@2:
  000a2	8d 46 04	 lea	 eax, DWORD PTR [esi+4]
  000a5	5f		 pop	 edi
  000a6	c6 00 00	 mov	 BYTE PTR [eax], 0

; 1078 : 			}
; 1079 : 		return (*this);

  000a9	8b c6		 mov	 eax, esi
  000ab	5e		 pop	 esi
  000ac	5d		 pop	 ebp

; 1080 : 		}

  000ad	c2 08 00	 ret	 8

; 1075 : 			{	// make room and assign new stuff
; 1076 : 			_Traits_helper::copy_s<_Traits>(_Myptr(), _Myres, _Ptr, _Count);

$LN74@assign@2:
  000b0	8b c3		 mov	 eax, ebx
$LN75@assign@2:
  000b2	57		 push	 edi
  000b3	55		 push	 ebp
  000b4	51		 push	 ecx
  000b5	50		 push	 eax
  000b6	e8 00 00 00 00	 call	 _memcpy_s
  000bb	83 c4 10	 add	 esp, 16			; 00000010H

; 1077 : 			_Eos(_Count);

  000be	83 7e 18 10	 cmp	 DWORD PTR [esi+24], 16	; 00000010H
  000c2	89 7e 14	 mov	 DWORD PTR [esi+20], edi
  000c5	72 02		 jb	 SHORT $LN88@assign@2
  000c7	8b 1b		 mov	 ebx, DWORD PTR [ebx]
$LN88@assign@2:
  000c9	c6 04 3b 00	 mov	 BYTE PTR [ebx+edi], 0
  000cd	5b		 pop	 ebx
$LN90@assign@2:
  000ce	5f		 pop	 edi

; 1078 : 			}
; 1079 : 		return (*this);

  000cf	8b c6		 mov	 eax, esi
  000d1	5e		 pop	 esi
  000d2	5d		 pop	 ebp

; 1080 : 		}

  000d3	c2 08 00	 ret	 8
?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
_TEXT	ENDS
PUBLIC	?_Make_iter@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@V?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Make_iter
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?_Make_iter@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@V?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
__Where$ = 12						; size = 8
?_Make_iter@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@V?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@@Z PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Make_iter, COMDAT
; _this$ = ecx

; 660  : 		{	// make iterator from const_iterator

  00000	56		 push	 esi
  00001	57		 push	 edi

; 661  : 		return (iterator(_Where._Myptr, this));

  00002	8b 7c 24 0c	 mov	 edi, DWORD PTR ___$ReturnUdt$[esp+4]
  00006	8b f1		 mov	 esi, ecx
  00008	c7 07 00 00 00
	00		 mov	 DWORD PTR [edi], 0
  0000e	85 f6		 test	 esi, esi
  00010	74 0e		 je	 SHORT $LN8@Make_iter@3
  00012	8b 44 24 14	 mov	 eax, DWORD PTR __Where$[esp+8]
  00016	39 46 0c	 cmp	 DWORD PTR [esi+12], eax
  00019	77 05		 ja	 SHORT $LN8@Make_iter@3
  0001b	3b 46 10	 cmp	 eax, DWORD PTR [esi+16]
  0001e	76 09		 jbe	 SHORT $LN7@Make_iter@3
$LN8@Make_iter@3:
  00020	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00025	8b 44 24 14	 mov	 eax, DWORD PTR __Where$[esp+8]
$LN7@Make_iter@3:
  00029	8b 0e		 mov	 ecx, DWORD PTR [esi]
  0002b	89 47 04	 mov	 DWORD PTR [edi+4], eax
  0002e	89 0f		 mov	 DWORD PTR [edi], ecx
  00030	8b c7		 mov	 eax, edi
  00032	5f		 pop	 edi
  00033	5e		 pop	 esi

; 662  : 		}

  00034	c2 0c 00	 ret	 12			; 0000000cH
?_Make_iter@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@V?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@@Z ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Make_iter
_TEXT	ENDS
PUBLIC	??$_Umove@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@1@0PAPAV2@@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Umove<std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> > >
; Function compile flags: /Ogtpy
;	COMDAT ??$_Umove@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@1@0PAPAV2@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 8
__Last$ = 16						; size = 8
__Ptr$ = 24						; size = 4
??$_Umove@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@1@0PAPAV2@@Z PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Umove<std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> > >, COMDAT
; _this$ = ecx

; 1146 : 		{	// move initializing [_First, _Last), using allocator
; 1147 : 		return (_STDEXT _Unchecked_uninitialized_move(_First, _Last,
; 1148 : 			_Ptr, this->_Alval));

  00000	8b 44 24 10	 mov	 eax, DWORD PTR __Last$[esp]
  00004	8b 54 24 08	 mov	 edx, DWORD PTR __First$[esp]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 02	 sar	 eax, 2
  0000e	57		 push	 edi
  0000f	8b 7c 24 1c	 mov	 edi, DWORD PTR __Ptr$[esp+4]
  00013	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN36@Umove
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN36@Umove:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 1149 : 		}

  00031	c2 14 00	 ret	 20			; 00000014H
??$_Umove@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@V?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@1@0PAPAV2@@Z ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Umove<std::_Vector_iterator<CSymTable *,std::allocator<CSymTable *> > >
_TEXT	ENDS
PUBLIC	??$_Umove@PAH@?$vector@HV?$allocator@H@std@@@std@@IAEPAHPAH00@Z ; std::vector<int,std::allocator<int> >::_Umove<int *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Umove@PAH@?$vector@HV?$allocator@H@std@@@std@@IAEPAHPAH00@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Ptr$ = 16						; size = 4
??$_Umove@PAH@?$vector@HV?$allocator@H@std@@@std@@IAEPAHPAH00@Z PROC ; std::vector<int,std::allocator<int> >::_Umove<int *>, COMDAT
; _this$ = ecx

; 1146 : 		{	// move initializing [_First, _Last), using allocator
; 1147 : 		return (_STDEXT _Unchecked_uninitialized_move(_First, _Last,
; 1148 : 			_Ptr, this->_Alval));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 02	 sar	 eax, 2
  0000e	57		 push	 edi
  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Ptr$[esp+4]
  00013	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN32@Umove@2
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN32@Umove@2:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 1149 : 		}

  00031	c2 0c 00	 ret	 12			; 0000000cH
??$_Umove@PAH@?$vector@HV?$allocator@H@std@@@std@@IAEPAHPAH00@Z ENDP ; std::vector<int,std::allocator<int> >::_Umove<int *>
_TEXT	ENDS
PUBLIC	??$unchecked_uninitialized_fill_n@PAHIHV?$allocator@H@std@@@stdext@@YAXPAHIABHAAV?$allocator@H@std@@@Z ; stdext::unchecked_uninitialized_fill_n<int *,unsigned int,int,std::allocator<int> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
;	COMDAT ??$unchecked_uninitialized_fill_n@PAHIHV?$allocator@H@std@@@stdext@@YAXPAHIABHAAV?$allocator@H@std@@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_fill_n@PAHIHV?$allocator@H@std@@@stdext@@YAXPAHIABHAAV?$allocator@H@std@@@Z PROC ; stdext::unchecked_uninitialized_fill_n<int *,unsigned int,int,std::allocator<int> >, COMDAT

; 941  : 	_STD _Uninit_fill_n(_First, _Count, _Val, _Al,
; 942  : 		_STD _Ptr_cat(_First, _First), _STD _Range_checked_iterator_tag());

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 04	 mov	 ecx, DWORD PTR __First$[esp-4]
  00008	85 c0		 test	 eax, eax
  0000a	76 12		 jbe	 SHORT $LN17@unchecked_@10
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
  00010	56		 push	 esi
$LL19@unchecked_@10:
  00011	8b 32		 mov	 esi, DWORD PTR [edx]
  00013	89 31		 mov	 DWORD PTR [ecx], esi
  00015	48		 dec	 eax
  00016	83 c1 04	 add	 ecx, 4
  00019	85 c0		 test	 eax, eax
  0001b	77 f4		 ja	 SHORT $LL19@unchecked_@10
  0001d	5e		 pop	 esi
$LN17@unchecked_@10:

; 943  : 	}

  0001e	c3		 ret	 0
??$unchecked_uninitialized_fill_n@PAHIHV?$allocator@H@std@@@stdext@@YAXPAHIABHAAV?$allocator@H@std@@@Z ENDP ; stdext::unchecked_uninitialized_fill_n<int *,unsigned int,int,std::allocator<int> >
_TEXT	ENDS
PUBLIC	??$unchecked_uninitialized_fill_n@PANINV?$allocator@N@std@@@stdext@@YAXPANIABNAAV?$allocator@N@std@@@Z ; stdext::unchecked_uninitialized_fill_n<double *,unsigned int,double,std::allocator<double> >
; Function compile flags: /Ogtpy
;	COMDAT ??$unchecked_uninitialized_fill_n@PANINV?$allocator@N@std@@@stdext@@YAXPANIABNAAV?$allocator@N@std@@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_fill_n@PANINV?$allocator@N@std@@@stdext@@YAXPANIABNAAV?$allocator@N@std@@@Z PROC ; stdext::unchecked_uninitialized_fill_n<double *,unsigned int,double,std::allocator<double> >, COMDAT

; 941  : 	_STD _Uninit_fill_n(_First, _Count, _Val, _Al,
; 942  : 		_STD _Ptr_cat(_First, _First), _STD _Range_checked_iterator_tag());

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 04	 mov	 ecx, DWORD PTR __First$[esp-4]
  00008	85 c0		 test	 eax, eax
  0000a	76 10		 jbe	 SHORT $LN17@unchecked_@11
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
$LL19@unchecked_@11:
  00010	dd 02		 fld	 QWORD PTR [edx]
  00012	48		 dec	 eax
  00013	dd 19		 fstp	 QWORD PTR [ecx]
  00015	83 c1 08	 add	 ecx, 8
  00018	85 c0		 test	 eax, eax
  0001a	77 f4		 ja	 SHORT $LL19@unchecked_@11
$LN17@unchecked_@11:

; 943  : 	}

  0001c	c3		 ret	 0
??$unchecked_uninitialized_fill_n@PANINV?$allocator@N@std@@@stdext@@YAXPANIABNAAV?$allocator@N@std@@@Z ENDP ; stdext::unchecked_uninitialized_fill_n<double *,unsigned int,double,std::allocator<double> >
_TEXT	ENDS
PUBLIC	??$unchecked_uninitialized_fill_n@PAPAVCSymTable@@IPAV1@V?$allocator@PAVCSymTable@@@std@@@stdext@@YAXPAPAVCSymTable@@IABQAV1@AAV?$allocator@PAVCSymTable@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<CSymTable * *,unsigned int,CSymTable *,std::allocator<CSymTable *> >
; Function compile flags: /Ogtpy
;	COMDAT ??$unchecked_uninitialized_fill_n@PAPAVCSymTable@@IPAV1@V?$allocator@PAVCSymTable@@@std@@@stdext@@YAXPAPAVCSymTable@@IABQAV1@AAV?$allocator@PAVCSymTable@@@std@@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_fill_n@PAPAVCSymTable@@IPAV1@V?$allocator@PAVCSymTable@@@std@@@stdext@@YAXPAPAVCSymTable@@IABQAV1@AAV?$allocator@PAVCSymTable@@@std@@@Z PROC ; stdext::unchecked_uninitialized_fill_n<CSymTable * *,unsigned int,CSymTable *,std::allocator<CSymTable *> >, COMDAT

; 941  : 	_STD _Uninit_fill_n(_First, _Count, _Val, _Al,
; 942  : 		_STD _Ptr_cat(_First, _First), _STD _Range_checked_iterator_tag());

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Count$[esp-4]
  00004	8b 4c 24 04	 mov	 ecx, DWORD PTR __First$[esp-4]
  00008	85 c0		 test	 eax, eax
  0000a	76 12		 jbe	 SHORT $LN17@unchecked_@12
  0000c	8b 54 24 0c	 mov	 edx, DWORD PTR __Val$[esp-4]
  00010	56		 push	 esi
$LL19@unchecked_@12:
  00011	8b 32		 mov	 esi, DWORD PTR [edx]
  00013	89 31		 mov	 DWORD PTR [ecx], esi
  00015	48		 dec	 eax
  00016	83 c1 04	 add	 ecx, 4
  00019	85 c0		 test	 eax, eax
  0001b	77 f4		 ja	 SHORT $LL19@unchecked_@12
  0001d	5e		 pop	 esi
$LN17@unchecked_@12:

; 943  : 	}

  0001e	c3		 ret	 0
??$unchecked_uninitialized_fill_n@PAPAVCSymTable@@IPAV1@V?$allocator@PAVCSymTable@@@std@@@stdext@@YAXPAPAVCSymTable@@IABQAV1@AAV?$allocator@PAVCSymTable@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_fill_n<CSymTable * *,unsigned int,CSymTable *,std::allocator<CSymTable *> >
_TEXT	ENDS
PUBLIC	??$_Umove@PAN@?$vector@NV?$allocator@N@std@@@std@@IAEPANPAN00@Z ; std::vector<double,std::allocator<double> >::_Umove<double *>
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??$_Umove@PAN@?$vector@NV?$allocator@N@std@@@std@@IAEPANPAN00@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Ptr$ = 16						; size = 4
??$_Umove@PAN@?$vector@NV?$allocator@N@std@@@std@@IAEPANPAN00@Z PROC ; std::vector<double,std::allocator<double> >::_Umove<double *>, COMDAT
; _this$ = ecx

; 1146 : 		{	// move initializing [_First, _Last), using allocator
; 1147 : 		return (_STDEXT _Unchecked_uninitialized_move(_First, _Last,
; 1148 : 			_Ptr, this->_Alval));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 03	 sar	 eax, 3
  0000e	57		 push	 edi
  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Ptr$[esp+4]
  00013	8d 0c c5 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*8]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN32@Umove@3
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN32@Umove@3:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 1149 : 		}

  00031	c2 0c 00	 ret	 12			; 0000000cH
??$_Umove@PAN@?$vector@NV?$allocator@N@std@@@std@@IAEPANPAN00@Z ENDP ; std::vector<double,std::allocator<double> >::_Umove<double *>
_TEXT	ENDS
PUBLIC	??$_Umove@PAPAVCSymTable@@@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@PAPAV2@00@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Umove<CSymTable * *>
; Function compile flags: /Ogtpy
;	COMDAT ??$_Umove@PAPAVCSymTable@@@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@PAPAV2@00@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Ptr$ = 16						; size = 4
??$_Umove@PAPAVCSymTable@@@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@PAPAV2@00@Z PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Umove<CSymTable * *>, COMDAT
; _this$ = ecx

; 1146 : 		{	// move initializing [_First, _Last), using allocator
; 1147 : 		return (_STDEXT _Unchecked_uninitialized_move(_First, _Last,
; 1148 : 			_Ptr, this->_Alval));

  00000	8b 44 24 08	 mov	 eax, DWORD PTR __Last$[esp-4]
  00004	8b 54 24 04	 mov	 edx, DWORD PTR __First$[esp-4]
  00008	2b c2		 sub	 eax, edx
  0000a	56		 push	 esi
  0000b	c1 f8 02	 sar	 eax, 2
  0000e	57		 push	 edi
  0000f	8b 7c 24 14	 mov	 edi, DWORD PTR __Ptr$[esp+4]
  00013	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0001a	8d 34 39	 lea	 esi, DWORD PTR [ecx+edi]
  0001d	85 c0		 test	 eax, eax
  0001f	76 0c		 jbe	 SHORT $LN32@Umove@4
  00021	51		 push	 ecx
  00022	52		 push	 edx
  00023	51		 push	 ecx
  00024	57		 push	 edi
  00025	e8 00 00 00 00	 call	 _memmove_s
  0002a	83 c4 10	 add	 esp, 16			; 00000010H
$LN32@Umove@4:
  0002d	5f		 pop	 edi
  0002e	8b c6		 mov	 eax, esi
  00030	5e		 pop	 esi

; 1149 : 		}

  00031	c2 0c 00	 ret	 12			; 0000000cH
??$_Umove@PAPAVCSymTable@@@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@PAPAV2@00@Z ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Umove<CSymTable * *>
_TEXT	ENDS
PUBLIC	__real@00000000
PUBLIC	__real@3ff0000000000000
PUBLIC	__real@0000000000000000
PUBLIC	?Eval@CPoly@@QAEMXZ				; CPoly::Eval
EXTRN	_floor:PROC
EXTRN	__CIlog10:PROC
EXTRN	__CIlog:PROC
EXTRN	__CItan:PROC
EXTRN	__CIsin:PROC
EXTRN	__CIcos:PROC
EXTRN	__CIsqrt:PROC
EXTRN	__CIpow:PROC
EXTRN	__CIfmod:PROC
;	COMDAT __real@00000000
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
CONST	SEGMENT
__real@00000000 DD 000000000r			; 0
CONST	ENDS
;	COMDAT __real@3ff0000000000000
CONST	SEGMENT
__real@3ff0000000000000 DQ 03ff0000000000000r	; 1
CONST	ENDS
;	COMDAT __real@0000000000000000
CONST	SEGMENT
__real@0000000000000000 DQ 00000000000000000r	; 0
; Function compile flags: /Ogtpy
; File d:\# metin2\work in progress\source client\client\eterbase\poly\poly.cpp
CONST	ENDS
;	COMDAT ?Eval@CPoly@@QAEMXZ
_TEXT	SEGMENT
_pos$ = -832						; size = 8
tv1712 = -824						; size = 4
tv1678 = -824						; size = 4
tv1675 = -824						; size = 8
_t$ = -824						; size = 8
_posn$ = -812						; size = 8
_this$ = -804						; size = 4
_save$ = -800						; size = 800
?Eval@CPoly@@QAEMXZ PROC				; CPoly::Eval, COMDAT
; _this$ = ecx

; 69   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 e4 c0	 and	 esp, -64		; ffffffc0H
  00006	81 ec 70 03 00
	00		 sub	 esp, 880		; 00000370H
  0000c	53		 push	 ebx
  0000d	55		 push	 ebp
  0000e	56		 push	 esi
  0000f	57		 push	 edi
  00010	8b e9		 mov	 ebp, ecx

; 70   :     int stNow;
; 71   :     double save[POLY_MAXSTACK],t;
; 72   :     int iSp=0;

  00012	33 f6		 xor	 esi, esi

; 73   :     if (ErrorOccur) 

  00014	80 7d 20 00	 cmp	 BYTE PTR [ebp+32], 0
  00018	89 6c 24 5c	 mov	 DWORD PTR _this$[esp+896], ebp

; 74   :     {
; 75   : 	/*THROW(new CEvalException("Evaluate Error"));*/ 
; 76   : 	return 0;

  0001c	0f 85 65 04 00
	00		 jne	 $LN252@Eval

; 77   :     }
; 78   : 
; 79   :     //TEST
; 80   :     //list<int>::iterator pos = tokenBase.begin();
; 81   :     //list<double>::iterator posn = numBase.begin();
; 82   :     vector<int>::iterator pos = tokenBase.begin();

  00022	8b 7d 34	 mov	 edi, DWORD PTR [ebp+52]
  00025	3b 7d 38	 cmp	 edi, DWORD PTR [ebp+56]
  00028	76 05		 jbe	 SHORT $LN55@Eval
  0002a	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN55@Eval:
  0002f	8b 45 28	 mov	 eax, DWORD PTR [ebp+40]
  00032	89 7c 24 44	 mov	 DWORD PTR _pos$[esp+900], edi

; 83   :     vector<double>::iterator posn = numBase.begin();

  00036	8b 7d 4c	 mov	 edi, DWORD PTR [ebp+76]
  00039	89 44 24 40	 mov	 DWORD PTR _pos$[esp+896], eax
  0003d	3b 7d 50	 cmp	 edi, DWORD PTR [ebp+80]
  00040	76 05		 jbe	 SHORT $LN74@Eval
  00042	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN74@Eval:
  00047	8b 4d 40	 mov	 ecx, DWORD PTR [ebp+64]
  0004a	89 7c 24 58	 mov	 DWORD PTR _posn$[esp+900], edi
  0004e	8d 7c 24 60	 lea	 edi, DWORD PTR _save$[esp+896]
  00052	89 4c 24 54	 mov	 DWORD PTR _posn$[esp+896], ecx
  00056	83 ef 10	 sub	 edi, 16			; 00000010H
  00059	8d a4 24 00 00
	00 00		 npad	 7
$LL41@Eval:

; 84   :     while (pos != tokenBase.end())

  00060	8b 5d 38	 mov	 ebx, DWORD PTR [ebp+56]
  00063	39 5d 34	 cmp	 DWORD PTR [ebp+52], ebx
  00066	76 05		 jbe	 SHORT $LN93@Eval
  00068	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN93@Eval:
  0006d	8b 4c 24 40	 mov	 ecx, DWORD PTR _pos$[esp+896]
  00071	8b 45 28	 mov	 eax, DWORD PTR [ebp+40]
  00074	85 c9		 test	 ecx, ecx
  00076	74 04		 je	 SHORT $LN111@Eval
  00078	3b c8		 cmp	 ecx, eax
  0007a	74 05		 je	 SHORT $LN110@Eval
$LN111@Eval:
  0007c	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN110@Eval:
  00081	39 5c 24 44	 cmp	 DWORD PTR _pos$[esp+900], ebx
  00085	0f 84 06 04 00
	00		 je	 $LN40@Eval

; 85   :     {
; 86   : 
; 87   : 	stNow=*pos;

  0008b	8b 44 24 40	 mov	 eax, DWORD PTR _pos$[esp+896]
  0008f	85 c0		 test	 eax, eax
  00091	75 50		 jne	 SHORT $LN268@Eval
  00093	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00098	33 c0		 xor	 eax, eax
$LN136@Eval:
  0009a	8b 54 24 44	 mov	 edx, DWORD PTR _pos$[esp+900]
  0009e	3b 50 10	 cmp	 edx, DWORD PTR [eax+16]
  000a1	72 05		 jb	 SHORT $LN123@Eval
  000a3	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN123@Eval:
  000a8	8b 44 24 44	 mov	 eax, DWORD PTR _pos$[esp+900]
  000ac	8b 18		 mov	 ebx, DWORD PTR [eax]

; 88   : 	++pos;

  000ae	8b 44 24 40	 mov	 eax, DWORD PTR _pos$[esp+896]
  000b2	85 c0		 test	 eax, eax
  000b4	75 31		 jne	 SHORT $LN267@Eval
  000b6	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  000bb	33 c0		 xor	 eax, eax
$LN156@Eval:
  000bd	8b 4c 24 44	 mov	 ecx, DWORD PTR _pos$[esp+900]
  000c1	3b 48 10	 cmp	 ecx, DWORD PTR [eax+16]
  000c4	72 05		 jb	 SHORT $LN143@Eval
  000c6	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN143@Eval:
  000cb	83 44 24 44 04	 add	 DWORD PTR _pos$[esp+900], 4

; 89   : 	switch (stNow)

  000d0	8d 43 ff	 lea	 eax, DWORD PTR [ebx-1]
  000d3	83 f8 1a	 cmp	 eax, 26			; 0000001aH
  000d6	0f 87 ab 03 00
	00		 ja	 $LN252@Eval
  000dc	ff 24 85 00 00
	00 00		 jmp	 DWORD PTR $LN282@Eval[eax*4]
$LN268@Eval:

; 85   :     {
; 86   : 
; 87   : 	stNow=*pos;

  000e3	8b 00		 mov	 eax, DWORD PTR [eax]
  000e5	eb b3		 jmp	 SHORT $LN136@Eval
$LN267@Eval:

; 88   : 	++pos;

  000e7	8b 00		 mov	 eax, DWORD PTR [eax]
  000e9	eb d2		 jmp	 SHORT $LN156@Eval
$LN37@Eval:

; 90   : 	{
; 91   : 	    case POLY_NUM:
; 92   : 		save[iSp++]=*posn++; break;

  000eb	8b 5c 24 54	 mov	 ebx, DWORD PTR _posn$[esp+896]
  000ef	8b 6c 24 58	 mov	 ebp, DWORD PTR _posn$[esp+900]
  000f3	85 db		 test	 ebx, ebx
  000f5	75 41		 jne	 SHORT $LN266@Eval
  000f7	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  000fc	33 c0		 xor	 eax, eax
$LN178@Eval:
  000fe	8b 54 24 58	 mov	 edx, DWORD PTR _posn$[esp+900]
  00102	3b 50 10	 cmp	 edx, DWORD PTR [eax+16]
  00105	72 05		 jb	 SHORT $LN165@Eval
  00107	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN165@Eval:
  0010c	83 44 24 58 08	 add	 DWORD PTR _posn$[esp+900], 8
  00111	85 db		 test	 ebx, ebx
  00113	75 27		 jne	 SHORT $LN265@Eval
  00115	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN198@Eval:
  0011a	3b 6b 10	 cmp	 ebp, DWORD PTR [ebx+16]
  0011d	72 05		 jb	 SHORT $LN185@Eval
  0011f	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN185@Eval:
  00124	dd 45 00	 fld	 QWORD PTR [ebp]
  00127	8b 6c 24 5c	 mov	 ebp, DWORD PTR _this$[esp+896]
  0012b	dd 5c f4 60	 fstp	 QWORD PTR _save$[esp+esi*8+896]
  0012f	46		 inc	 esi
  00130	83 c7 08	 add	 edi, 8
  00133	e9 28 ff ff ff	 jmp	 $LL41@Eval
$LN266@Eval:
  00138	8b 03		 mov	 eax, DWORD PTR [ebx]
  0013a	eb c2		 jmp	 SHORT $LN178@Eval
$LN265@Eval:
  0013c	8b 1b		 mov	 ebx, DWORD PTR [ebx]
  0013e	eb da		 jmp	 SHORT $LN198@Eval
$LN36@Eval:

; 93   : 	    case POLY_ID:
; 94   : 		save[iSp++]=
; 95   : 		    lSymbol[ *pos ]->dVal; 

  00140	8b 44 24 40	 mov	 eax, DWORD PTR _pos$[esp+896]
  00144	85 c0		 test	 eax, eax
  00146	75 65		 jne	 SHORT $LN264@Eval
  00148	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  0014d	33 c0		 xor	 eax, eax
$LN218@Eval:
  0014f	8b 4c 24 44	 mov	 ecx, DWORD PTR _pos$[esp+900]
  00153	3b 48 10	 cmp	 ecx, DWORD PTR [eax+16]
  00156	72 05		 jb	 SHORT $LN205@Eval
  00158	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN205@Eval:
  0015d	8b 45 68	 mov	 eax, DWORD PTR [ebp+104]
  00160	2b 45 64	 sub	 eax, DWORD PTR [ebp+100]
  00163	8b 54 24 44	 mov	 edx, DWORD PTR _pos$[esp+900]
  00167	8b 1a		 mov	 ebx, DWORD PTR [edx]
  00169	c1 f8 02	 sar	 eax, 2
  0016c	3b d8		 cmp	 ebx, eax
  0016e	72 05		 jb	 SHORT $LN223@Eval
  00170	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN223@Eval:
  00175	8b 4d 64	 mov	 ecx, DWORD PTR [ebp+100]
  00178	8b 14 99	 mov	 edx, DWORD PTR [ecx+ebx*4]
  0017b	dd 42 08	 fld	 QWORD PTR [edx+8]

; 96   : 		pos++;

  0017e	8b 44 24 40	 mov	 eax, DWORD PTR _pos$[esp+896]
  00182	dd 5c f4 60	 fstp	 QWORD PTR _save$[esp+esi*8+896]
  00186	46		 inc	 esi
  00187	83 c7 08	 add	 edi, 8
  0018a	85 c0		 test	 eax, eax
  0018c	75 23		 jne	 SHORT $LN263@Eval
  0018e	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00193	33 c0		 xor	 eax, eax
$LN248@Eval:
  00195	8b 4c 24 44	 mov	 ecx, DWORD PTR _pos$[esp+900]
  00199	3b 48 10	 cmp	 ecx, DWORD PTR [eax+16]
  0019c	72 05		 jb	 SHORT $LN235@Eval
  0019e	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN235@Eval:
  001a3	83 44 24 44 04	 add	 DWORD PTR _pos$[esp+900], 4

; 97   : 		break;

  001a8	e9 b3 fe ff ff	 jmp	 $LL41@Eval
$LN264@Eval:

; 93   : 	    case POLY_ID:
; 94   : 		save[iSp++]=
; 95   : 		    lSymbol[ *pos ]->dVal; 

  001ad	8b 00		 mov	 eax, DWORD PTR [eax]
  001af	eb 9e		 jmp	 SHORT $LN218@Eval
$LN263@Eval:

; 96   : 		pos++;

  001b1	8b 00		 mov	 eax, DWORD PTR [eax]
  001b3	eb e0		 jmp	 SHORT $LN248@Eval
$LN35@Eval:

; 98   : 		//case '+':
; 99   : 	    case POLY_PLU:
; 100  : 		iSp--;
; 101  : 		save[iSp-1]+=save[iSp]; break;

  001b5	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  001b9	4e		 dec	 esi
  001ba	dc 44 f4 58	 fadd	 QWORD PTR _save$[esp+esi*8+888]
  001be	83 ef 08	 sub	 edi, 8
  001c1	dd 5c f4 58	 fstp	 QWORD PTR _save$[esp+esi*8+888]
  001c5	e9 96 fe ff ff	 jmp	 $LL41@Eval
$LN34@Eval:

; 102  : 		//case '-':
; 103  : 	    case POLY_MIN:
; 104  : 		iSp--;
; 105  : 		save[iSp-1]-=save[iSp]; break;

  001ca	dd 44 f4 50	 fld	 QWORD PTR _save$[esp+esi*8+880]
  001ce	4e		 dec	 esi
  001cf	dc 64 f4 60	 fsub	 QWORD PTR _save$[esp+esi*8+896]
  001d3	83 ef 08	 sub	 edi, 8
  001d6	dd 5c f4 58	 fstp	 QWORD PTR _save$[esp+esi*8+888]
  001da	e9 81 fe ff ff	 jmp	 $LL41@Eval
$LN33@Eval:

; 106  : 		//case '*':
; 107  : 	    case POLY_MUL:
; 108  : 		iSp--;
; 109  : 		save[iSp-1]*=save[iSp]; break;

  001df	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  001e3	4e		 dec	 esi
  001e4	dc 4c f4 58	 fmul	 QWORD PTR _save$[esp+esi*8+888]
  001e8	83 ef 08	 sub	 edi, 8
  001eb	dd 5c f4 58	 fstp	 QWORD PTR _save$[esp+esi*8+888]
  001ef	e9 6c fe ff ff	 jmp	 $LL41@Eval
$LN32@Eval:

; 110  : 		//case '%':
; 111  : 	    case POLY_MOD:
; 112  : 		iSp--;
; 113  : 		if (save[iSp]==0) 

  001f4	d9 ee		 fldz
  001f6	4e		 dec	 esi
  001f7	dc 5c f4 60	 fcomp	 QWORD PTR _save$[esp+esi*8+896]
  001fb	83 ef 08	 sub	 edi, 8
  001fe	df e0		 fnstsw	 ax
  00200	f6 c4 44	 test	 ah, 68			; 00000044H
  00203	0f 8b 7e 02 00
	00		 jnp	 $LN252@Eval

; 114  : 		{
; 115  : 		    //THROW(new CEvalException("Divide by 0"));
; 116  : 		    return 0;
; 117  : 		}
; 118  : 		save[iSp-1]=fmod(save[iSp-1],save[iSp]); break;

  00209	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  0020d	dd 44 f4 60	 fld	 QWORD PTR _save$[esp+esi*8+896]
  00211	e8 00 00 00 00	 call	 __CIfmod
  00216	dd 5c f4 58	 fstp	 QWORD PTR _save$[esp+esi*8+888]
  0021a	e9 41 fe ff ff	 jmp	 $LL41@Eval
$LN30@Eval:

; 119  : 		//case '/':
; 120  : 	    case POLY_DIV:
; 121  : 		iSp--;
; 122  : 		if (save[iSp]==0) 

  0021f	d9 ee		 fldz
  00221	4e		 dec	 esi
  00222	dc 5c f4 60	 fcomp	 QWORD PTR _save$[esp+esi*8+896]
  00226	83 ef 08	 sub	 edi, 8
  00229	df e0		 fnstsw	 ax
  0022b	f6 c4 44	 test	 ah, 68			; 00000044H
  0022e	0f 8b 53 02 00
	00		 jnp	 $LN252@Eval

; 123  : 		{
; 124  : 		    //THROW(new CEvalException("Divide by 0"));
; 125  : 		    return 0;
; 126  : 		}
; 127  : 		save[iSp-1]/=save[iSp]; break;

  00234	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  00238	dc 74 f4 60	 fdiv	 QWORD PTR _save$[esp+esi*8+896]
  0023c	dd 5c f4 58	 fstp	 QWORD PTR _save$[esp+esi*8+888]
  00240	e9 1b fe ff ff	 jmp	 $LL41@Eval
$LN28@Eval:

; 128  : 		//case '^':
; 129  : 	    case POLY_POW:
; 130  : 		iSp--;
; 131  : 		save[iSp-1]=pow(save[iSp-1],save[iSp]); break;

  00245	dd 44 f4 50	 fld	 QWORD PTR _save$[esp+esi*8+880]
  00249	4e		 dec	 esi
  0024a	dd 44 f4 60	 fld	 QWORD PTR _save$[esp+esi*8+896]
  0024e	83 ef 08	 sub	 edi, 8
  00251	e8 00 00 00 00	 call	 __CIpow
  00256	dd 5c f4 58	 fstp	 QWORD PTR _save$[esp+esi*8+888]
  0025a	e9 01 fe ff ff	 jmp	 $LL41@Eval
$LN27@Eval:

; 132  : 	    case POLY_ROOT:
; 133  : 		if (save[iSp-1]<0) 

  0025f	d9 ee		 fldz
  00261	dc 5c f4 58	 fcomp	 QWORD PTR _save$[esp+esi*8+888]
  00265	df e0		 fnstsw	 ax
  00267	f6 c4 41	 test	 ah, 65			; 00000041H
  0026a	0f 84 17 02 00
	00		 je	 $LN252@Eval

; 134  : 		{
; 135  : 		    //THROW(new CEvalException("Negative in root"));
; 136  : 		    return 0;
; 137  : 		}
; 138  : 		save[iSp-1]=sqrt(save[iSp-1]); break;

  00270	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  00274	e8 00 00 00 00	 call	 __CIsqrt
  00279	dd 5c f4 58	 fstp	 QWORD PTR _save$[esp+esi*8+888]
  0027d	e9 de fd ff ff	 jmp	 $LL41@Eval
$LN25@Eval:

; 139  : 	    case POLY_COS:
; 140  : 		save[iSp-1]=cos(save[iSp-1]); break;

  00282	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  00286	e8 00 00 00 00	 call	 __CIcos
  0028b	dd 5c f4 58	 fstp	 QWORD PTR _save$[esp+esi*8+888]
  0028f	e9 cc fd ff ff	 jmp	 $LL41@Eval
$LN24@Eval:

; 141  : 	    case POLY_SIN:
; 142  : 		save[iSp-1]=sin(save[iSp-1]); break;

  00294	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  00298	e8 00 00 00 00	 call	 __CIsin
  0029d	dd 5c f4 58	 fstp	 QWORD PTR _save$[esp+esi*8+888]
  002a1	e9 ba fd ff ff	 jmp	 $LL41@Eval
$LN23@Eval:

; 143  : 	    case POLY_TAN:
; 144  : 		if (!(t=cos(save[iSp-1]))) 

  002a6	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  002aa	e8 00 00 00 00	 call	 __CIcos
  002af	dc 1d 00 00 00
	00		 fcomp	 QWORD PTR __real@0000000000000000
  002b5	df e0		 fnstsw	 ax
  002b7	f6 c4 44	 test	 ah, 68			; 00000044H
  002ba	0f 8b c7 01 00
	00		 jnp	 $LN252@Eval

; 145  : 		{
; 146  : 		    //THROW (new CEvalException("Divide by 0"));
; 147  : 		    return 0;
; 148  : 		}
; 149  : 		save[iSp-1]=tan(save[iSp-1]); break;

  002c0	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  002c4	e8 00 00 00 00	 call	 __CItan
  002c9	dd 5c f4 58	 fstp	 QWORD PTR _save$[esp+esi*8+888]
  002cd	e9 8e fd ff ff	 jmp	 $LL41@Eval
$LN21@Eval:

; 150  : 	    case POLY_CSC:
; 151  : 		if (!(t=sin(save[iSp-1]))) 

  002d2	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  002d6	e8 00 00 00 00	 call	 __CIsin
$LN280@Eval:
  002db	d9 ee		 fldz
  002dd	dd e9		 fucomp	 ST(1)
  002df	df e0		 fnstsw	 ax
  002e1	f6 c4 44	 test	 ah, 68			; 00000044H
  002e4	0f 8b 9b 01 00
	00		 jnp	 $LN270@Eval

; 155  : 		}
; 156  : 		save[iSp-1]=1/t; break;

  002ea	d9 e8		 fld1
  002ec	de f1		 fdivrp	 ST(1), ST(0)
  002ee	dd 5c f4 58	 fstp	 QWORD PTR _save$[esp+esi*8+888]
  002f2	e9 69 fd ff ff	 jmp	 $LL41@Eval
$LN19@Eval:

; 157  : 	    case POLY_SEC:
; 158  : 		if (!(t=cos(save[iSp-1]))) 

  002f7	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  002fb	e8 00 00 00 00	 call	 __CIcos

; 159  : 		{
; 160  : 		    //THROW(new CEvalException("Divide by 0"));
; 161  : 		    return 0;
; 162  : 		}
; 163  : 		save[iSp-1]=1/t; break;

  00300	eb d9		 jmp	 SHORT $LN280@Eval
$LN17@Eval:

; 164  : 	    case POLY_COT:
; 165  : 		if (!(t=sin(save[iSp-1]))) 

  00302	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  00306	e8 00 00 00 00	 call	 __CIsin
  0030b	dd 54 24 48	 fst	 QWORD PTR _t$[esp+896]
  0030f	d9 ee		 fldz
  00311	da e9		 fucompp
  00313	df e0		 fnstsw	 ax
  00315	f6 c4 44	 test	 ah, 68			; 00000044H
  00318	0f 8b 69 01 00
	00		 jnp	 $LN252@Eval

; 166  : 		{
; 167  : 		    //THROW(new CEvalException("Divide by 0"));
; 168  : 		    return 0;
; 169  : 		}
; 170  : 		save[iSp-1]=cos(save[iSp-1])/t; break;

  0031e	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  00322	e8 00 00 00 00	 call	 __CIcos
  00327	dc 74 24 48	 fdiv	 QWORD PTR _t$[esp+896]
  0032b	dd 5c f4 58	 fstp	 QWORD PTR _save$[esp+esi*8+888]
  0032f	e9 2c fd ff ff	 jmp	 $LL41@Eval
$LN15@Eval:

; 171  : 	    case POLY_LN:
; 172  : 		if (save[iSp-1]<=0) 

  00334	d9 ee		 fldz
  00336	dc 5c f4 58	 fcomp	 QWORD PTR _save$[esp+esi*8+888]
  0033a	df e0		 fnstsw	 ax
  0033c	f6 c4 01	 test	 ah, 1
  0033f	0f 84 42 01 00
	00		 je	 $LN252@Eval

; 173  : 		{
; 174  : 		    //THROW( new CEvalException("Call Log with minus number"));
; 175  : 		    return 0;
; 176  : 		}
; 177  : 		save[iSp-1]=log(save[iSp-1]); break;

  00345	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  00349	e8 00 00 00 00	 call	 __CIlog
  0034e	dd 5c f4 58	 fstp	 QWORD PTR _save$[esp+esi*8+888]
  00352	e9 09 fd ff ff	 jmp	 $LL41@Eval
$LN13@Eval:

; 178  : 	    case POLY_LOG10:
; 179  : 		if (save[iSp-1]<=0) 

  00357	d9 ee		 fldz
  00359	dc 5c f4 58	 fcomp	 QWORD PTR _save$[esp+esi*8+888]
  0035d	df e0		 fnstsw	 ax
  0035f	f6 c4 01	 test	 ah, 1
  00362	0f 84 1f 01 00
	00		 je	 $LN252@Eval

; 180  : 		{
; 181  : 		    //THROW( new CEvalException("Call Log with minus number"));
; 182  : 		    return 0;
; 183  : 		}
; 184  : 		save[iSp-1]=log10(save[iSp-1]); break;

  00368	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  0036c	e8 00 00 00 00	 call	 __CIlog10
  00371	dd 5c f4 58	 fstp	 QWORD PTR _save$[esp+esi*8+888]
  00375	e9 e6 fc ff ff	 jmp	 $LL41@Eval
$LN11@Eval:

; 185  : 	    case POLY_LOG:
; 186  : 		if (save[iSp-1]<=0) 

  0037a	d9 ee		 fldz
  0037c	dc 54 f4 58	 fcom	 QWORD PTR _save$[esp+esi*8+888]
  00380	df e0		 fnstsw	 ax
  00382	f6 c4 01	 test	 ah, 1
  00385	0f 84 fa 00 00
	00		 je	 $LN270@Eval

; 187  : 		{
; 188  : 		    //THROW( new CEvalException("Call Log with minus number"));
; 189  : 		    return 0;
; 190  : 		}
; 191  : 		if (save[iSp-2]<=0 || save[iSp-2]==1) 

  0038b	dc 1f		 fcomp	 QWORD PTR [edi]
  0038d	df e0		 fnstsw	 ax
  0038f	f6 c4 01	 test	 ah, 1
  00392	0f 84 ef 00 00
	00		 je	 $LN252@Eval
  00398	d9 e8		 fld1
  0039a	dc 1f		 fcomp	 QWORD PTR [edi]
  0039c	df e0		 fnstsw	 ax
  0039e	f6 c4 44	 test	 ah, 68			; 00000044H
  003a1	0f 8b e0 00 00
	00		 jnp	 $LN252@Eval

; 192  : 		{
; 193  : 		    //THROW( new CEvalException("Call Log with minus number"));
; 194  : 		    return 0;
; 195  : 		}
; 196  : 
; 197  : 		save[iSp-2]=log(save[iSp-1])/log(save[iSp-2]);

  003a7	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  003ab	e8 00 00 00 00	 call	 __CIlog
  003b0	dd 5c 24 48	 fstp	 QWORD PTR tv1675[esp+896]
  003b4	dd 07		 fld	 QWORD PTR [edi]
  003b6	e8 00 00 00 00	 call	 __CIlog
  003bb	dc 7c 24 48	 fdivr	 QWORD PTR tv1675[esp+896]

; 198  : 		iSp--;

  003bf	4e		 dec	 esi
  003c0	83 ef 08	 sub	 edi, 8
  003c3	dd 5f 08	 fstp	 QWORD PTR [edi+8]

; 199  : 		break;

  003c6	e9 95 fc ff ff	 jmp	 $LL41@Eval
$LN7@Eval:

; 200  : 	    case POLY_ABS:
; 201  : 		save[iSp-1]=fabs(save[iSp-1]);

  003cb	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  003cf	d9 e1		 fabs
  003d1	dd 5c f4 58	 fstp	 QWORD PTR _save$[esp+esi*8+888]
  003d5	e9 86 fc ff ff	 jmp	 $LL41@Eval
$LN6@Eval:

; 202  : 		break;
; 203  : 		case POLY_FLOOR:
; 204  : 		save[iSp-1]=floor(save[iSp-1]);

  003da	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  003de	83 ec 08	 sub	 esp, 8
  003e1	dd 1c 24	 fstp	 QWORD PTR [esp]
  003e4	e8 00 00 00 00	 call	 _floor
  003e9	dd 5c f4 60	 fstp	 QWORD PTR _save$[esp+esi*8+896]
  003ed	83 c4 08	 add	 esp, 8
  003f0	e9 6b fc ff ff	 jmp	 $LL41@Eval
$LN5@Eval:

; 205  : 		break;
; 206  : 	    case POLY_IRAND:
; 207  : 		save[iSp-2]=my_irandom(save[iSp-2],save[iSp-1]);

  003f5	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  003f9	83 ec 10	 sub	 esp, 16			; 00000010H
  003fc	dd 5c 24 08	 fstp	 QWORD PTR [esp+8]
  00400	8b cd		 mov	 ecx, ebp
  00402	dd 07		 fld	 QWORD PTR [edi]
  00404	dd 1c 24	 fstp	 QWORD PTR [esp]
  00407	e8 00 00 00 00	 call	 ?my_irandom@CPoly@@IAEHNN@Z ; CPoly::my_irandom
  0040c	89 44 24 48	 mov	 DWORD PTR tv1712[esp+896], eax
  00410	db 44 24 48	 fild	 DWORD PTR tv1712[esp+896]

; 208  : 		iSp--;

  00414	4e		 dec	 esi
  00415	83 ef 08	 sub	 edi, 8
  00418	dd 5f 08	 fstp	 QWORD PTR [edi+8]

; 209  : 		break;

  0041b	e9 40 fc ff ff	 jmp	 $LL41@Eval
$LN4@Eval:

; 210  : 	    case POLY_FRAND:
; 211  : 		save[iSp-2]=my_frandom(save[iSp-2],save[iSp-1]);

  00420	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  00424	83 ec 10	 sub	 esp, 16			; 00000010H
  00427	dd 5c 24 08	 fstp	 QWORD PTR [esp+8]
  0042b	8b cd		 mov	 ecx, ebp
  0042d	dd 07		 fld	 QWORD PTR [edi]
  0042f	dd 1c 24	 fstp	 QWORD PTR [esp]
  00432	e8 00 00 00 00	 call	 ?my_frandom@CPoly@@IAENNN@Z ; CPoly::my_frandom
  00437	dd 1f		 fstp	 QWORD PTR [edi]

; 212  : 		iSp--;

  00439	4e		 dec	 esi
  0043a	83 ef 08	 sub	 edi, 8

; 213  : 		break;

  0043d	e9 1e fc ff ff	 jmp	 $LL41@Eval
$LN3@Eval:

; 214  : 	    case POLY_MINF:
; 215  : 		save[iSp-2]=(save[iSp-2]<save[iSp-1])?save[iSp-2]:save[iSp-1];

  00442	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  00446	dc 1f		 fcomp	 QWORD PTR [edi]
  00448	df e0		 fnstsw	 ax
  0044a	f6 c4 41	 test	 ah, 65			; 00000041H
  0044d	75 27		 jne	 SHORT $LN47@Eval
  0044f	dd 07		 fld	 QWORD PTR [edi]

; 220  : 		iSp--;

  00451	4e		 dec	 esi
  00452	dd 1f		 fstp	 QWORD PTR [edi]
  00454	83 ef 08	 sub	 edi, 8

; 221  : 		break;
; 222  : 		/*case POLY_MOD:
; 223  : 		  save[iSp-2]=fmod(save[iSp-2],save[iSp-1]);
; 224  : 		  iSp--;
; 225  : 		  break;*/
; 226  : 	    default:
; 227  : 		return 0;
; 228  : 		//THROW(new CEvalException("Token Error"));
; 229  : 	}
; 230  :     }

  00457	e9 04 fc ff ff	 jmp	 $LL41@Eval
$LN2@Eval:

; 216  : 		iSp--;
; 217  : 		break;
; 218  : 	    case POLY_MAXF:
; 219  : 		save[iSp-2]=(save[iSp-2]>save[iSp-1])?save[iSp-2]:save[iSp-1];

  0045c	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  00460	dc 1f		 fcomp	 QWORD PTR [edi]
  00462	df e0		 fnstsw	 ax
  00464	f6 c4 05	 test	 ah, 5
  00467	7a 0d		 jp	 SHORT $LN47@Eval
  00469	dd 07		 fld	 QWORD PTR [edi]

; 220  : 		iSp--;

  0046b	4e		 dec	 esi
  0046c	dd 1f		 fstp	 QWORD PTR [edi]
  0046e	83 ef 08	 sub	 edi, 8

; 221  : 		break;
; 222  : 		/*case POLY_MOD:
; 223  : 		  save[iSp-2]=fmod(save[iSp-2],save[iSp-1]);
; 224  : 		  iSp--;
; 225  : 		  break;*/
; 226  : 	    default:
; 227  : 		return 0;
; 228  : 		//THROW(new CEvalException("Token Error"));
; 229  : 	}
; 230  :     }

  00471	e9 ea fb ff ff	 jmp	 $LL41@Eval
$LN47@Eval:
  00476	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]
  0047a	4e		 dec	 esi
  0047b	dd 1f		 fstp	 QWORD PTR [edi]
  0047d	83 ef 08	 sub	 edi, 8
  00480	e9 db fb ff ff	 jmp	 $LL41@Eval
$LN270@Eval:

; 150  : 	    case POLY_CSC:
; 151  : 		if (!(t=sin(save[iSp-1]))) 

  00485	dd d8		 fstp	 ST(0)
$LN252@Eval:

; 152  : 		{
; 153  : 		    //THROW(new CEvalException("Divide by 0"));
; 154  : 		    return 0;

  00487	d9 ee		 fldz

; 232  : }

  00489	5f		 pop	 edi
  0048a	5e		 pop	 esi
  0048b	5d		 pop	 ebp
  0048c	5b		 pop	 ebx
  0048d	8b e5		 mov	 esp, ebp
  0048f	5d		 pop	 ebp
  00490	c3		 ret	 0
$LN40@Eval:

; 231  :     return float(save[iSp-1]);

  00491	dd 44 f4 58	 fld	 QWORD PTR _save$[esp+esi*8+888]

; 232  : }

  00495	5f		 pop	 edi
  00496	d9 5c 24 44	 fstp	 DWORD PTR tv1678[esp+892]
  0049a	5e		 pop	 esi
  0049b	d9 44 24 40	 fld	 DWORD PTR tv1678[esp+888]
  0049f	5d		 pop	 ebp
  004a0	5b		 pop	 ebx
  004a1	8b e5		 mov	 esp, ebp
  004a3	5d		 pop	 ebp
  004a4	c3		 ret	 0
  004a5	8d 49 00	 npad	 3
$LN282@Eval:
  004a8	00 00 00 00	 DD	 $LN27@Eval
  004ac	00 00 00 00	 DD	 $LN33@Eval
  004b0	00 00 00 00	 DD	 $LN35@Eval
  004b4	00 00 00 00	 DD	 $LN28@Eval
  004b8	00 00 00 00	 DD	 $LN34@Eval
  004bc	00 00 00 00	 DD	 $LN30@Eval
  004c0	00 00 00 00	 DD	 $LN252@Eval
  004c4	00 00 00 00	 DD	 $LN252@Eval
  004c8	00 00 00 00	 DD	 $LN37@Eval
  004cc	00 00 00 00	 DD	 $LN36@Eval
  004d0	00 00 00 00	 DD	 $LN252@Eval
  004d4	00 00 00 00	 DD	 $LN25@Eval
  004d8	00 00 00 00	 DD	 $LN24@Eval
  004dc	00 00 00 00	 DD	 $LN23@Eval
  004e0	00 00 00 00	 DD	 $LN21@Eval
  004e4	00 00 00 00	 DD	 $LN19@Eval
  004e8	00 00 00 00	 DD	 $LN17@Eval
  004ec	00 00 00 00	 DD	 $LN11@Eval
  004f0	00 00 00 00	 DD	 $LN15@Eval
  004f4	00 00 00 00	 DD	 $LN13@Eval
  004f8	00 00 00 00	 DD	 $LN7@Eval
  004fc	00 00 00 00	 DD	 $LN3@Eval
  00500	00 00 00 00	 DD	 $LN2@Eval
  00504	00 00 00 00	 DD	 $LN5@Eval
  00508	00 00 00 00	 DD	 $LN4@Eval
  0050c	00 00 00 00	 DD	 $LN32@Eval
  00510	00 00 00 00	 DD	 $LN6@Eval
?Eval@CPoly@@QAEMXZ ENDP				; CPoly::Eval
_TEXT	ENDS
PUBLIC	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT
; _this$ = ecx

; 721  : 		{	// construct by copying _Right

  00000	56		 push	 esi

; 722  : 		_Tidy();

  00001	33 c0		 xor	 eax, eax
  00003	8b f1		 mov	 esi, ecx

; 723  : 		assign(_Right, 0, npos);

  00005	6a ff		 push	 -1
  00007	89 46 14	 mov	 DWORD PTR [esi+20], eax
  0000a	c7 46 18 0f 00
	00 00		 mov	 DWORD PTR [esi+24], 15	; 0000000fH
  00011	50		 push	 eax
  00012	88 46 04	 mov	 BYTE PTR [esi+4], al
  00015	8b 44 24 10	 mov	 eax, DWORD PTR __Right$[esp+8]
  00019	50		 push	 eax
  0001a	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign

; 724  : 		}

  0001f	8b c6		 mov	 eax, esi
  00021	5e		 pop	 esi
  00022	c2 04 00	 ret	 4
??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
_TEXT	ENDS
PUBLIC	??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@D@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator+=
; Function compile flags: /Ogtpy
;	COMDAT ??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@D@Z
_TEXT	SEGMENT
__Ch$ = 8						; size = 1
??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@D@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator+=, COMDAT
; _this$ = ecx

; 941  : 		return (append((size_type)1, _Ch));

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __Ch$[esp-4]
  00004	50		 push	 eax
  00005	6a 01		 push	 1
  00007	e8 00 00 00 00	 call	 ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append

; 942  : 		}

  0000c	c2 04 00	 ret	 4
??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@D@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator+=
_TEXT	ENDS
PUBLIC	?clear@?$vector@HV?$allocator@H@std@@@std@@QAEXXZ ; std::vector<int,std::allocator<int> >::clear
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?clear@?$vector@HV?$allocator@H@std@@@std@@QAEXXZ
_TEXT	SEGMENT
$T109418 = -8						; size = 8
?clear@?$vector@HV?$allocator@H@std@@@std@@QAEXXZ PROC	; std::vector<int,std::allocator<int> >::clear, COMDAT
; _this$ = ecx

; 1059 : 		{	// erase all

  00000	83 ec 08	 sub	 esp, 8
  00003	53		 push	 ebx
  00004	55		 push	 ebp
  00005	56		 push	 esi
  00006	8b f1		 mov	 esi, ecx

; 1060 : 		erase(begin(), end());

  00008	8b 6e 10	 mov	 ebp, DWORD PTR [esi+16]
  0000b	57		 push	 edi
  0000c	39 6e 0c	 cmp	 DWORD PTR [esi+12], ebp
  0000f	76 05		 jbe	 SHORT $LN9@clear
  00011	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN9@clear:
  00016	8b 7e 0c	 mov	 edi, DWORD PTR [esi+12]
  00019	8b 1e		 mov	 ebx, DWORD PTR [esi]
  0001b	3b 7e 10	 cmp	 edi, DWORD PTR [esi+16]
  0001e	76 05		 jbe	 SHORT $LN28@clear
  00020	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN28@clear:
  00025	8b 06		 mov	 eax, DWORD PTR [esi]
  00027	55		 push	 ebp
  00028	53		 push	 ebx
  00029	57		 push	 edi
  0002a	50		 push	 eax
  0002b	8d 44 24 20	 lea	 eax, DWORD PTR $T109418[esp+40]
  0002f	50		 push	 eax
  00030	8b ce		 mov	 ecx, esi
  00032	e8 00 00 00 00	 call	 ?erase@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@0@Z ; std::vector<int,std::allocator<int> >::erase
  00037	5f		 pop	 edi
  00038	5e		 pop	 esi
  00039	5d		 pop	 ebp
  0003a	5b		 pop	 ebx

; 1061 : 		}

  0003b	83 c4 08	 add	 esp, 8
  0003e	c3		 ret	 0
?clear@?$vector@HV?$allocator@H@std@@@std@@QAEXXZ ENDP	; std::vector<int,std::allocator<int> >::clear
_TEXT	ENDS
PUBLIC	?clear@?$vector@NV?$allocator@N@std@@@std@@QAEXXZ ; std::vector<double,std::allocator<double> >::clear
; Function compile flags: /Ogtpy
;	COMDAT ?clear@?$vector@NV?$allocator@N@std@@@std@@QAEXXZ
_TEXT	SEGMENT
$T109572 = -8						; size = 8
?clear@?$vector@NV?$allocator@N@std@@@std@@QAEXXZ PROC	; std::vector<double,std::allocator<double> >::clear, COMDAT
; _this$ = ecx

; 1059 : 		{	// erase all

  00000	83 ec 08	 sub	 esp, 8
  00003	53		 push	 ebx
  00004	55		 push	 ebp
  00005	56		 push	 esi
  00006	8b f1		 mov	 esi, ecx

; 1060 : 		erase(begin(), end());

  00008	8b 6e 10	 mov	 ebp, DWORD PTR [esi+16]
  0000b	57		 push	 edi
  0000c	39 6e 0c	 cmp	 DWORD PTR [esi+12], ebp
  0000f	76 05		 jbe	 SHORT $LN9@clear@2
  00011	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN9@clear@2:
  00016	8b 7e 0c	 mov	 edi, DWORD PTR [esi+12]
  00019	8b 1e		 mov	 ebx, DWORD PTR [esi]
  0001b	3b 7e 10	 cmp	 edi, DWORD PTR [esi+16]
  0001e	76 05		 jbe	 SHORT $LN28@clear@2
  00020	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN28@clear@2:
  00025	8b 06		 mov	 eax, DWORD PTR [esi]
  00027	55		 push	 ebp
  00028	53		 push	 ebx
  00029	57		 push	 edi
  0002a	50		 push	 eax
  0002b	8d 44 24 20	 lea	 eax, DWORD PTR $T109572[esp+40]
  0002f	50		 push	 eax
  00030	8b ce		 mov	 ecx, esi
  00032	e8 00 00 00 00	 call	 ?erase@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@V?$_Vector_const_iterator@NV?$allocator@N@std@@@2@0@Z ; std::vector<double,std::allocator<double> >::erase
  00037	5f		 pop	 edi
  00038	5e		 pop	 esi
  00039	5d		 pop	 ebp
  0003a	5b		 pop	 ebx

; 1061 : 		}

  0003b	83 c4 08	 add	 esp, 8
  0003e	c3		 ret	 0
?clear@?$vector@NV?$allocator@N@std@@@std@@QAEXXZ ENDP	; std::vector<double,std::allocator<double> >::clear
_TEXT	ENDS
PUBLIC	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign, COMDAT
; _this$ = ecx

; 1041 : 		return (assign(_Right, 0, npos));

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __Right$[esp-4]
  00004	6a ff		 push	 -1
  00006	6a 00		 push	 0
  00008	50		 push	 eax
  00009	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign

; 1042 : 		}

  0000e	c2 04 00	 ret	 4
?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
_TEXT	ENDS
PUBLIC	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
; Function compile flags: /Ogtpy
;	COMDAT ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign, COMDAT
; _this$ = ecx

; 1083 : 		{	// assign [_Ptr, <null>)

  00000	56		 push	 esi

; 1084 : 		_DEBUG_POINTER(_Ptr);
; 1085 : 		return (assign(_Ptr, _Traits::length(_Ptr)));

  00001	8b 74 24 08	 mov	 esi, DWORD PTR __Ptr$[esp]
  00005	8b c6		 mov	 eax, esi
  00007	57		 push	 edi
  00008	8d 78 01	 lea	 edi, DWORD PTR [eax+1]
  0000b	eb 03 8d 49 00	 npad	 5
$LL5@assign@3:
  00010	8a 10		 mov	 dl, BYTE PTR [eax]
  00012	40		 inc	 eax
  00013	84 d2		 test	 dl, dl
  00015	75 f9		 jne	 SHORT $LL5@assign@3
  00017	2b c7		 sub	 eax, edi
  00019	50		 push	 eax
  0001a	56		 push	 esi
  0001b	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  00020	5f		 pop	 edi
  00021	5e		 pop	 esi

; 1086 : 		}

  00022	c2 04 00	 ret	 4
?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
_TEXT	ENDS
PUBLIC	?_Ufill@?$vector@HV?$allocator@H@std@@@std@@IAEPAHPAHIABH@Z ; std::vector<int,std::allocator<int> >::_Ufill
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?_Ufill@?$vector@HV?$allocator@H@std@@@std@@IAEPAHPAHIABH@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
?_Ufill@?$vector@HV?$allocator@H@std@@@std@@IAEPAHPAHIABH@Z PROC ; std::vector<int,std::allocator<int> >::_Ufill, COMDAT
; _this$ = ecx

; 1253 : 		{	// copy initializing _Count * _Val, using allocator

  00000	56		 push	 esi

; 1254 : 		_STDEXT unchecked_uninitialized_fill_n(_Ptr, _Count, _Val, this->_Alval);

  00001	8b 74 24 0c	 mov	 esi, DWORD PTR __Count$[esp]
  00005	57		 push	 edi
  00006	8b 7c 24 0c	 mov	 edi, DWORD PTR __Ptr$[esp+4]
  0000a	8b c6		 mov	 eax, esi
  0000c	8b cf		 mov	 ecx, edi
  0000e	85 f6		 test	 esi, esi
  00010	76 12		 jbe	 SHORT $LN26@Ufill
  00012	8b 54 24 14	 mov	 edx, DWORD PTR __Val$[esp+4]
  00016	53		 push	 ebx
$LL21@Ufill:
  00017	8b 1a		 mov	 ebx, DWORD PTR [edx]
  00019	89 19		 mov	 DWORD PTR [ecx], ebx
  0001b	48		 dec	 eax
  0001c	83 c1 04	 add	 ecx, 4
  0001f	85 c0		 test	 eax, eax
  00021	77 f4		 ja	 SHORT $LL21@Ufill
  00023	5b		 pop	 ebx
$LN26@Ufill:

; 1255 : 		return (_Ptr + _Count);

  00024	8d 04 b7	 lea	 eax, DWORD PTR [edi+esi*4]
  00027	5f		 pop	 edi
  00028	5e		 pop	 esi

; 1256 : 		}

  00029	c2 0c 00	 ret	 12			; 0000000cH
?_Ufill@?$vector@HV?$allocator@H@std@@@std@@IAEPAHPAHIABH@Z ENDP ; std::vector<int,std::allocator<int> >::_Ufill
_TEXT	ENDS
PUBLIC	?_Ufill@?$vector@NV?$allocator@N@std@@@std@@IAEPANPANIABN@Z ; std::vector<double,std::allocator<double> >::_Ufill
; Function compile flags: /Ogtpy
;	COMDAT ?_Ufill@?$vector@NV?$allocator@N@std@@@std@@IAEPANPANIABN@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
?_Ufill@?$vector@NV?$allocator@N@std@@@std@@IAEPANPANIABN@Z PROC ; std::vector<double,std::allocator<double> >::_Ufill, COMDAT
; _this$ = ecx

; 1253 : 		{	// copy initializing _Count * _Val, using allocator

  00000	56		 push	 esi

; 1254 : 		_STDEXT unchecked_uninitialized_fill_n(_Ptr, _Count, _Val, this->_Alval);

  00001	8b 74 24 0c	 mov	 esi, DWORD PTR __Count$[esp]
  00005	57		 push	 edi
  00006	8b 7c 24 0c	 mov	 edi, DWORD PTR __Ptr$[esp+4]
  0000a	8b c6		 mov	 eax, esi
  0000c	8b cf		 mov	 ecx, edi
  0000e	85 f6		 test	 esi, esi
  00010	76 10		 jbe	 SHORT $LN26@Ufill@2
  00012	8b 54 24 14	 mov	 edx, DWORD PTR __Val$[esp+4]
$LL21@Ufill@2:
  00016	dd 02		 fld	 QWORD PTR [edx]
  00018	48		 dec	 eax
  00019	dd 19		 fstp	 QWORD PTR [ecx]
  0001b	83 c1 08	 add	 ecx, 8
  0001e	85 c0		 test	 eax, eax
  00020	77 f4		 ja	 SHORT $LL21@Ufill@2
$LN26@Ufill@2:

; 1255 : 		return (_Ptr + _Count);

  00022	8d 04 f7	 lea	 eax, DWORD PTR [edi+esi*8]
  00025	5f		 pop	 edi
  00026	5e		 pop	 esi

; 1256 : 		}

  00027	c2 0c 00	 ret	 12			; 0000000cH
?_Ufill@?$vector@NV?$allocator@N@std@@@std@@IAEPANPANIABN@Z ENDP ; std::vector<double,std::allocator<double> >::_Ufill
_TEXT	ENDS
PUBLIC	?erase@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@V?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@0@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::erase
; Function compile flags: /Ogtpy
;	COMDAT ?erase@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@V?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@0@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
__First_arg$ = 12					; size = 8
__Last_arg$ = 20					; size = 8
?erase@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@V?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@0@Z PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::erase, COMDAT
; _this$ = ecx

; 1028 : 		{	// erase [_First, _Last)

  00000	53		 push	 ebx

; 1029 : 		iterator _First = _Make_iter(_First_arg);

  00001	8b 5c 24 08	 mov	 ebx, DWORD PTR ___$ReturnUdt$[esp]
  00005	56		 push	 esi
  00006	8b f1		 mov	 esi, ecx
  00008	57		 push	 edi
  00009	c7 03 00 00 00
	00		 mov	 DWORD PTR [ebx], 0
  0000f	85 f6		 test	 esi, esi
  00011	74 0e		 je	 SHORT $LN11@erase@4
  00013	8b 44 24 18	 mov	 eax, DWORD PTR __First_arg$[esp+12]
  00017	39 46 0c	 cmp	 DWORD PTR [esi+12], eax
  0001a	77 05		 ja	 SHORT $LN11@erase@4
  0001c	3b 46 10	 cmp	 eax, DWORD PTR [esi+16]
  0001f	76 09		 jbe	 SHORT $LN10@erase@4
$LN11@erase@4:
  00021	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00026	8b 44 24 18	 mov	 eax, DWORD PTR __First_arg$[esp+12]
$LN10@erase@4:

; 1030 : 		iterator _Last = _Make_iter(_Last_arg);

  0002a	8b 7c 24 20	 mov	 edi, DWORD PTR __Last_arg$[esp+12]
  0002e	8b 0e		 mov	 ecx, DWORD PTR [esi]
  00030	89 0b		 mov	 DWORD PTR [ebx], ecx
  00032	89 43 04	 mov	 DWORD PTR [ebx+4], eax
  00035	39 7e 0c	 cmp	 DWORD PTR [esi+12], edi
  00038	77 05		 ja	 SHORT $LN30@erase@4
  0003a	3b 7e 10	 cmp	 edi, DWORD PTR [esi+16]
  0003d	76 09		 jbe	 SHORT $LN29@erase@4
$LN30@erase@4:
  0003f	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00044	8b 7c 24 20	 mov	 edi, DWORD PTR __Last_arg$[esp+12]
$LN29@erase@4:

; 1031 : 
; 1032 : 		if (_First != _Last)

  00048	8b 03		 mov	 eax, DWORD PTR [ebx]
  0004a	8b 0e		 mov	 ecx, DWORD PTR [esi]
  0004c	85 c0		 test	 eax, eax
  0004e	74 04		 je	 SHORT $LN47@erase@4
  00050	3b c1		 cmp	 eax, ecx
  00052	74 05		 je	 SHORT $LN46@erase@4
$LN47@erase@4:
  00054	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN46@erase@4:
  00059	8b 53 04	 mov	 edx, DWORD PTR [ebx+4]
  0005c	3b d7		 cmp	 edx, edi
  0005e	74 27		 je	 SHORT $LN72@erase@4

; 1033 : 			{	// worth doing, copy down over hole
; 1034 : 
; 1035 :  #if _HAS_ITERATOR_DEBUGGING
; 1036 : 			if (_Last < _First || _First._Mycont != this
; 1037 : 				|| _First._Myptr < _Myfirst || _Mylast < _Last._Myptr)
; 1038 : 				_DEBUG_ERROR("vector erase iterator outside range");
; 1039 : 			pointer _Ptr = _STDEXT unchecked_copy(_VEC_ITER_BASE(_Last), _Mylast,
; 1040 : 				_VEC_ITER_BASE(_First));
; 1041 : 			_Orphan_range(_First._Myptr, _Mylast);
; 1042 : 
; 1043 :  #else /* _HAS_ITERATOR_DEBUGGING */
; 1044 : 			pointer _Ptr = _STDEXT unchecked_copy(_VEC_ITER_BASE(_Last), _Mylast,
; 1045 : 				_VEC_ITER_BASE(_First));

  00060	8b 46 10	 mov	 eax, DWORD PTR [esi+16]
  00063	2b c7		 sub	 eax, edi
  00065	c1 f8 02	 sar	 eax, 2
  00068	8d 0c 85 00 00
	00 00		 lea	 ecx, DWORD PTR [eax*4]
  0006f	55		 push	 ebp
  00070	8d 2c 11	 lea	 ebp, DWORD PTR [ecx+edx]
  00073	85 c0		 test	 eax, eax
  00075	7e 0c		 jle	 SHORT $LN69@erase@4
  00077	51		 push	 ecx
  00078	57		 push	 edi
  00079	51		 push	 ecx
  0007a	52		 push	 edx
  0007b	e8 00 00 00 00	 call	 _memmove_s
  00080	83 c4 10	 add	 esp, 16			; 00000010H
$LN69@erase@4:

; 1046 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1047 : 
; 1048 : 			_Destroy(_Ptr, _Mylast);
; 1049 : 			_Mylast = _Ptr;

  00083	89 6e 10	 mov	 DWORD PTR [esi+16], ebp
  00086	5d		 pop	 ebp
$LN72@erase@4:
  00087	5f		 pop	 edi
  00088	5e		 pop	 esi

; 1050 : 			}
; 1051 : #if _HAS_ITERATOR_DEBUGGING
; 1052 :         return (iterator(_First._Myptr, this));
; 1053 : #else
; 1054 : 		return (_First);

  00089	8b c3		 mov	 eax, ebx
  0008b	5b		 pop	 ebx

; 1055 : #endif
; 1056 : 		}

  0008c	c2 14 00	 ret	 20			; 00000014H
?erase@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@V?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@0@Z ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::erase
_TEXT	ENDS
PUBLIC	?_Ufill@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@PAPAV3@IABQAV3@@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Ufill
; Function compile flags: /Ogtpy
;	COMDAT ?_Ufill@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@PAPAV3@IABQAV3@@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
?_Ufill@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@PAPAV3@IABQAV3@@Z PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Ufill, COMDAT
; _this$ = ecx

; 1253 : 		{	// copy initializing _Count * _Val, using allocator

  00000	56		 push	 esi

; 1254 : 		_STDEXT unchecked_uninitialized_fill_n(_Ptr, _Count, _Val, this->_Alval);

  00001	8b 74 24 0c	 mov	 esi, DWORD PTR __Count$[esp]
  00005	57		 push	 edi
  00006	8b 7c 24 0c	 mov	 edi, DWORD PTR __Ptr$[esp+4]
  0000a	8b c6		 mov	 eax, esi
  0000c	8b cf		 mov	 ecx, edi
  0000e	85 f6		 test	 esi, esi
  00010	76 12		 jbe	 SHORT $LN26@Ufill@3
  00012	8b 54 24 14	 mov	 edx, DWORD PTR __Val$[esp+4]
  00016	53		 push	 ebx
$LL21@Ufill@3:
  00017	8b 1a		 mov	 ebx, DWORD PTR [edx]
  00019	89 19		 mov	 DWORD PTR [ecx], ebx
  0001b	48		 dec	 eax
  0001c	83 c1 04	 add	 ecx, 4
  0001f	85 c0		 test	 eax, eax
  00021	77 f4		 ja	 SHORT $LL21@Ufill@3
  00023	5b		 pop	 ebx
$LN26@Ufill@3:

; 1255 : 		return (_Ptr + _Count);

  00024	8d 04 b7	 lea	 eax, DWORD PTR [edi+esi*4]
  00027	5f		 pop	 edi
  00028	5e		 pop	 esi

; 1256 : 		}

  00029	c2 0c 00	 ret	 12			; 0000000cH
?_Ufill@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@PAPAV3@IABQAV3@@Z ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Ufill
_TEXT	ENDS
PUBLIC	??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::logic_error::logic_error
EXTRN	??0exception@std@@QAE@XZ:PROC			; std::exception::exception
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd
xdata$x	SEGMENT
__unwindtable$??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z$0
__ehfuncinfo$??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdexcept
xdata$x	ENDS
;	COMDAT ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Message$ = 8						; size = 4
??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z PROC ; std::logic_error::logic_error, COMDAT
; _this$ = ecx

; 26   : 		{	// construct from message string

  00000	6a ff		 push	 -1
  00002	68 00 00 00 00	 push	 __ehhandler$??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
  00007	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  0000d	50		 push	 eax
  0000e	51		 push	 ecx
  0000f	56		 push	 esi
  00010	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00015	33 c4		 xor	 eax, esp
  00017	50		 push	 eax
  00018	8d 44 24 0c	 lea	 eax, DWORD PTR __$EHRec$[esp+24]
  0001c	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00022	8b f1		 mov	 esi, ecx
  00024	89 74 24 08	 mov	 DWORD PTR _this$[esp+24], esi
  00028	e8 00 00 00 00	 call	 ??0exception@std@@QAE@XZ ; std::exception::exception
  0002d	33 c0		 xor	 eax, eax
  0002f	8d 4e 0c	 lea	 ecx, DWORD PTR [esi+12]
  00032	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], OFFSET ??_7logic_error@std@@6B@
  00038	6a ff		 push	 -1
  0003a	89 41 14	 mov	 DWORD PTR [ecx+20], eax
  0003d	c7 41 18 0f 00
	00 00		 mov	 DWORD PTR [ecx+24], 15	; 0000000fH
  00044	50		 push	 eax
  00045	89 44 24 1c	 mov	 DWORD PTR __$EHRec$[esp+40], eax
  00049	88 41 04	 mov	 BYTE PTR [ecx+4], al
  0004c	8b 44 24 24	 mov	 eax, DWORD PTR __Message$[esp+28]
  00050	50		 push	 eax
  00051	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign

; 27   : 		}

  00056	8b c6		 mov	 eax, esi
  00058	8b 4c 24 0c	 mov	 ecx, DWORD PTR __$EHRec$[esp+24]
  0005c	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00063	59		 pop	 ecx
  00064	5e		 pop	 esi
  00065	83 c4 10	 add	 esp, 16			; 00000010H
  00068	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1exception@std@@UAE@XZ ; std::exception::~exception
__ehhandler$??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 f8	 lea	 eax, DWORD PTR [edx-8]
  0000f	8b 4a f4	 mov	 ecx, DWORD PTR [edx-12]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ENDP ; std::logic_error::logic_error
PUBLIC	??_7length_error@std@@6B@			; std::length_error::`vftable'
PUBLIC	??0length_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::length_error::length_error
PUBLIC	??_R4length_error@std@@6B@			; std::length_error::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVlength_error@std@@@8			; std::length_error `RTTI Type Descriptor'
PUBLIC	??_R3length_error@std@@8			; std::length_error::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2length_error@std@@8			; std::length_error::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@length_error@std@@8		; std::length_error::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_Elength_error@std@@UAEPAXI@Z:PROC		; std::length_error::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@length_error@std@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@length_error@std@@8 DD FLAT:??_R0?AVlength_error@std@@@8 ; std::length_error::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3length_error@std@@8
rdata$r	ENDS
;	COMDAT ??_R2length_error@std@@8
rdata$r	SEGMENT
??_R2length_error@std@@8 DD FLAT:??_R1A@?0A@EA@length_error@std@@8 ; std::length_error::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@logic_error@std@@8
	DD	FLAT:??_R1A@?0A@EA@exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R3length_error@std@@8
rdata$r	SEGMENT
??_R3length_error@std@@8 DD 00H				; std::length_error::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2length_error@std@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVlength_error@std@@@8
_DATA	SEGMENT
??_R0?AVlength_error@std@@@8 DD FLAT:??_7type_info@@6B@	; std::length_error `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVlength_error@std@@', 00H
_DATA	ENDS
;	COMDAT ??_R4length_error@std@@6B@
rdata$r	SEGMENT
??_R4length_error@std@@6B@ DD 00H			; std::length_error::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVlength_error@std@@@8
	DD	FLAT:??_R3length_error@std@@8
rdata$r	ENDS
;	COMDAT ??_7length_error@std@@6B@
CONST	SEGMENT
??_7length_error@std@@6B@ DD FLAT:??_R4length_error@std@@6B@ ; std::length_error::`vftable'
	DD	FLAT:??_Elength_error@std@@UAEPAXI@Z
	DD	FLAT:?what@logic_error@std@@UBEPBDXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0length_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
_TEXT	SEGMENT
__Message$ = 8						; size = 4
??0length_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z PROC ; std::length_error::length_error, COMDAT
; _this$ = ecx

; 105  : 		{	// construct from message string

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __Message$[esp-4]
  00004	56		 push	 esi
  00005	50		 push	 eax
  00006	8b f1		 mov	 esi, ecx
  00008	e8 00 00 00 00	 call	 ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::logic_error::logic_error
  0000d	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], OFFSET ??_7length_error@std@@6B@

; 106  : 		}

  00013	8b c6		 mov	 eax, esi
  00015	5e		 pop	 esi
  00016	c2 04 00	 ret	 4
??0length_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ENDP ; std::length_error::length_error
_TEXT	ENDS
PUBLIC	??1length_error@std@@UAE@XZ			; std::length_error::~length_error
; Function compile flags: /Ogtpy
;	COMDAT ??1length_error@std@@UAE@XZ
_TEXT	SEGMENT
??1length_error@std@@UAE@XZ PROC			; std::length_error::~length_error, COMDAT
; _this$ = ecx

; 109  : 		{	// destroy the object

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 110  : 		}

  00003	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], OFFSET ??_7logic_error@std@@6B@
  00009	83 7e 24 10	 cmp	 DWORD PTR [esi+36], 16	; 00000010H
  0000d	72 0c		 jb	 SHORT $LN21@length_err
  0000f	8b 46 10	 mov	 eax, DWORD PTR [esi+16]
  00012	50		 push	 eax
  00013	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00018	83 c4 04	 add	 esp, 4
$LN21@length_err:
  0001b	33 c0		 xor	 eax, eax
  0001d	c7 46 24 0f 00
	00 00		 mov	 DWORD PTR [esi+36], 15	; 0000000fH
  00024	89 46 20	 mov	 DWORD PTR [esi+32], eax
  00027	88 46 10	 mov	 BYTE PTR [esi+16], al
  0002a	8b ce		 mov	 ecx, esi
  0002c	5e		 pop	 esi
  0002d	e9 00 00 00 00	 jmp	 ??1exception@std@@UAE@XZ ; std::exception::~exception
??1length_error@std@@UAE@XZ ENDP			; std::length_error::~length_error
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_Glength_error@std@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_Glength_error@std@@UAEPAXI@Z PROC			; std::length_error::`scalar deleting destructor', COMDAT
; _this$ = ecx
  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx
  00003	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], OFFSET ??_7logic_error@std@@6B@
  00009	83 7e 24 10	 cmp	 DWORD PTR [esi+36], 16	; 00000010H
  0000d	72 0c		 jb	 SHORT $LN24@scalar@3
  0000f	8b 46 10	 mov	 eax, DWORD PTR [esi+16]
  00012	50		 push	 eax
  00013	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00018	83 c4 04	 add	 esp, 4
$LN24@scalar@3:
  0001b	33 c0		 xor	 eax, eax
  0001d	c7 46 24 0f 00
	00 00		 mov	 DWORD PTR [esi+36], 15	; 0000000fH
  00024	89 46 20	 mov	 DWORD PTR [esi+32], eax
  00027	8b ce		 mov	 ecx, esi
  00029	88 46 10	 mov	 BYTE PTR [esi+16], al
  0002c	e8 00 00 00 00	 call	 ??1exception@std@@UAE@XZ ; std::exception::~exception
  00031	f6 44 24 08 01	 test	 BYTE PTR ___flags$[esp], 1
  00036	74 09		 je	 SHORT $LN34@scalar@3
  00038	56		 push	 esi
  00039	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0003e	83 c4 04	 add	 esp, 4
$LN34@scalar@3:
  00041	8b c6		 mov	 eax, esi
  00043	5e		 pop	 esi
  00044	c2 04 00	 ret	 4
??_Glength_error@std@@UAEPAXI@Z ENDP			; std::length_error::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
;	COMDAT ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT
; _this$ = ecx

; 652  : 		_Tidy();
; 653  : 		assign(_Ptr);

  00000	8b 54 24 04	 mov	 edx, DWORD PTR __Ptr$[esp-4]
  00004	56		 push	 esi
  00005	8b f1		 mov	 esi, ecx
  00007	8b c2		 mov	 eax, edx
  00009	57		 push	 edi
  0000a	c7 46 18 0f 00
	00 00		 mov	 DWORD PTR [esi+24], 15	; 0000000fH
  00011	c7 46 14 00 00
	00 00		 mov	 DWORD PTR [esi+20], 0
  00018	c6 46 04 00	 mov	 BYTE PTR [esi+4], 0
  0001c	8d 78 01	 lea	 edi, DWORD PTR [eax+1]
  0001f	90		 npad	 1
$LL37@basic_stri@2:
  00020	8a 08		 mov	 cl, BYTE PTR [eax]
  00022	40		 inc	 eax
  00023	84 c9		 test	 cl, cl
  00025	75 f9		 jne	 SHORT $LL37@basic_stri@2
  00027	2b c7		 sub	 eax, edi
  00029	50		 push	 eax
  0002a	52		 push	 edx
  0002b	8b ce		 mov	 ecx, esi
  0002d	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  00032	5f		 pop	 edi

; 654  : 		}

  00033	8b c6		 mov	 eax, esi
  00035	5e		 pop	 esi
  00036	c2 04 00	 ret	 4
??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
_TEXT	ENDS
PUBLIC	??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator=
; Function compile flags: /Ogtpy
;	COMDAT ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator=, COMDAT
; _this$ = ecx

; 916  : 		return (assign(_Right));

  00000	8b 44 24 04	 mov	 eax, DWORD PTR __Right$[esp-4]
  00004	6a ff		 push	 -1
  00006	6a 00		 push	 0
  00008	50		 push	 eax
  00009	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign

; 917  : 		}

  0000e	c2 04 00	 ret	 4
??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator=
_TEXT	ENDS
PUBLIC	?clear@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEXXZ ; std::vector<CSymTable *,std::allocator<CSymTable *> >::clear
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?clear@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEXXZ
_TEXT	SEGMENT
$T110963 = -8						; size = 8
?clear@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEXXZ PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::clear, COMDAT
; _this$ = ecx

; 1059 : 		{	// erase all

  00000	83 ec 08	 sub	 esp, 8
  00003	53		 push	 ebx
  00004	55		 push	 ebp
  00005	56		 push	 esi
  00006	8b f1		 mov	 esi, ecx

; 1060 : 		erase(begin(), end());

  00008	8b 6e 10	 mov	 ebp, DWORD PTR [esi+16]
  0000b	57		 push	 edi
  0000c	39 6e 0c	 cmp	 DWORD PTR [esi+12], ebp
  0000f	76 05		 jbe	 SHORT $LN9@clear@3
  00011	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN9@clear@3:
  00016	8b 7e 0c	 mov	 edi, DWORD PTR [esi+12]
  00019	8b 1e		 mov	 ebx, DWORD PTR [esi]
  0001b	3b 7e 10	 cmp	 edi, DWORD PTR [esi+16]
  0001e	76 05		 jbe	 SHORT $LN28@clear@3
  00020	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN28@clear@3:
  00025	8b 06		 mov	 eax, DWORD PTR [esi]
  00027	55		 push	 ebp
  00028	53		 push	 ebx
  00029	57		 push	 edi
  0002a	50		 push	 eax
  0002b	8d 44 24 20	 lea	 eax, DWORD PTR $T110963[esp+40]
  0002f	50		 push	 eax
  00030	8b ce		 mov	 ecx, esi
  00032	e8 00 00 00 00	 call	 ?erase@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@V?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@0@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::erase
  00037	5f		 pop	 edi
  00038	5e		 pop	 esi
  00039	5d		 pop	 ebp
  0003a	5b		 pop	 ebx

; 1061 : 		}

  0003b	83 c4 08	 add	 esp, 8
  0003e	c3		 ret	 0
?clear@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEXXZ ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::clear
_TEXT	ENDS
PUBLIC	__TI3?AVlength_error@std@@
PUBLIC	??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@ ; `string'
PUBLIC	?_Xlen@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@KAXXZ ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Xlen
PUBLIC	__CTA3?AVlength_error@std@@
PUBLIC	__CT??_R0?AVlength_error@std@@@8??0length_error@std@@QAE@ABV01@@Z40
PUBLIC	??0length_error@std@@QAE@ABV01@@Z		; std::length_error::length_error
PUBLIC	__CT??_R0?AVlogic_error@std@@@8??0logic_error@std@@QAE@ABV01@@Z40
PUBLIC	??0logic_error@std@@QAE@ABV01@@Z		; std::logic_error::logic_error
;	COMDAT __CT??_R0?AVlogic_error@std@@@8??0logic_error@std@@QAE@ABV01@@Z40
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdexcept
xdata$x	SEGMENT
__CT??_R0?AVlogic_error@std@@@8??0logic_error@std@@QAE@ABV01@@Z40 DD 00H
	DD	FLAT:??_R0?AVlogic_error@std@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	028H
	DD	FLAT:??0logic_error@std@@QAE@ABV01@@Z
xdata$x	ENDS
;	COMDAT __CT??_R0?AVlength_error@std@@@8??0length_error@std@@QAE@ABV01@@Z40
xdata$x	SEGMENT
__CT??_R0?AVlength_error@std@@@8??0length_error@std@@QAE@ABV01@@Z40 DD 00H
	DD	FLAT:??_R0?AVlength_error@std@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	028H
	DD	FLAT:??0length_error@std@@QAE@ABV01@@Z
xdata$x	ENDS
;	COMDAT __CTA3?AVlength_error@std@@
xdata$x	SEGMENT
__CTA3?AVlength_error@std@@ DD 03H
	DD	FLAT:__CT??_R0?AVlength_error@std@@@8??0length_error@std@@QAE@ABV01@@Z40
	DD	FLAT:__CT??_R0?AVlogic_error@std@@@8??0logic_error@std@@QAE@ABV01@@Z40
	DD	FLAT:__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
xdata$x	ENDS
;	COMDAT __TI3?AVlength_error@std@@
xdata$x	SEGMENT
__TI3?AVlength_error@std@@ DD 00H
	DD	FLAT:??1length_error@std@@UAE@XZ
	DD	00H
	DD	FLAT:__CTA3?AVlength_error@std@@
xdata$x	ENDS
;	COMDAT ??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@
CONST	SEGMENT
??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@ DB 'vector<T> too long'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_Xlen@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@KAXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Xlen@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@KAXXZ$0
__ehfuncinfo$?_Xlen@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@KAXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_Xlen@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@KAXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
xdata$x	ENDS
;	COMDAT ?_Xlen@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@KAXXZ
_TEXT	SEGMENT
$T111114 = -80						; size = 28
$T111113 = -52						; size = 40
__$EHRec$ = -12						; size = 12
?_Xlen@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@KAXXZ PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Xlen, COMDAT

; 1259 : 		{	// report a length_error

  00000	6a ff		 push	 -1
  00002	68 00 00 00 00	 push	 __ehhandler$?_Xlen@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@KAXXZ
  00007	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  0000d	50		 push	 eax
  0000e	83 ec 44	 sub	 esp, 68			; 00000044H
  00011	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00016	33 c4		 xor	 eax, esp
  00018	50		 push	 eax
  00019	8d 44 24 48	 lea	 eax, DWORD PTR __$EHRec$[esp+84]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 1260 : 		_THROW(length_error, "vector<T> too long");

  00023	6a 12		 push	 18			; 00000012H
  00025	68 00 00 00 00	 push	 OFFSET ??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@
  0002a	8d 4c 24 0c	 lea	 ecx, DWORD PTR $T111114[esp+92]
  0002e	c7 44 24 24 0f
	00 00 00	 mov	 DWORD PTR $T111114[esp+116], 15 ; 0000000fH
  00036	c7 44 24 20 00
	00 00 00	 mov	 DWORD PTR $T111114[esp+112], 0
  0003e	c6 44 24 10 00	 mov	 BYTE PTR $T111114[esp+96], 0
  00043	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  00048	8d 44 24 04	 lea	 eax, DWORD PTR $T111114[esp+84]
  0004c	50		 push	 eax
  0004d	8d 4c 24 24	 lea	 ecx, DWORD PTR $T111113[esp+88]
  00051	c7 44 24 54 00
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+96], 0
  00059	e8 00 00 00 00	 call	 ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::logic_error::logic_error
  0005e	68 00 00 00 00	 push	 OFFSET __TI3?AVlength_error@std@@
  00063	8d 4c 24 24	 lea	 ecx, DWORD PTR $T111113[esp+88]
  00067	51		 push	 ecx
  00068	c7 44 24 28 00
	00 00 00	 mov	 DWORD PTR $T111113[esp+92], OFFSET ??_7length_error@std@@6B@
  00070	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN45@Xlen:
$LN44@Xlen:
  00075	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?_Xlen@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@KAXXZ$0:
  00000	8d 4d b0	 lea	 ecx, DWORD PTR $T111114[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__ehhandler$?_Xlen@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@KAXXZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 bc	 lea	 eax, DWORD PTR [edx-68]
  0000f	8b 4a b8	 mov	 ecx, DWORD PTR [edx-72]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?_Xlen@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@KAXXZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Xlen@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@KAXXZ ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Xlen
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0logic_error@std@@QAE@ABV01@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0logic_error@std@@QAE@ABV01@@Z$0
__ehfuncinfo$??0logic_error@std@@QAE@ABV01@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0logic_error@std@@QAE@ABV01@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ??0logic_error@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___that$ = 8						; size = 4
??0logic_error@std@@QAE@ABV01@@Z PROC			; std::logic_error::logic_error, COMDAT
; _this$ = ecx
  00000	6a ff		 push	 -1
  00002	68 00 00 00 00	 push	 __ehhandler$??0logic_error@std@@QAE@ABV01@@Z
  00007	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  0000d	50		 push	 eax
  0000e	51		 push	 ecx
  0000f	56		 push	 esi
  00010	57		 push	 edi
  00011	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00016	33 c4		 xor	 eax, esp
  00018	50		 push	 eax
  00019	8d 44 24 10	 lea	 eax, DWORD PTR __$EHRec$[esp+28]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	8b f1		 mov	 esi, ecx
  00025	89 74 24 0c	 mov	 DWORD PTR _this$[esp+28], esi
  00029	8b 7c 24 20	 mov	 edi, DWORD PTR ___that$[esp+24]
  0002d	57		 push	 edi
  0002e	e8 00 00 00 00	 call	 ??0exception@std@@QAE@ABV01@@Z ; std::exception::exception
  00033	33 d2		 xor	 edx, edx
  00035	6a ff		 push	 -1
  00037	8d 4e 0c	 lea	 ecx, DWORD PTR [esi+12]
  0003a	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], OFFSET ??_7logic_error@std@@6B@
  00040	8d 47 0c	 lea	 eax, DWORD PTR [edi+12]
  00043	52		 push	 edx
  00044	c7 41 18 0f 00
	00 00		 mov	 DWORD PTR [ecx+24], 15	; 0000000fH
  0004b	89 51 14	 mov	 DWORD PTR [ecx+20], edx
  0004e	50		 push	 eax
  0004f	89 54 24 24	 mov	 DWORD PTR __$EHRec$[esp+48], edx
  00053	88 51 04	 mov	 BYTE PTR [ecx+4], dl
  00056	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  0005b	8b c6		 mov	 eax, esi
  0005d	8b 4c 24 10	 mov	 ecx, DWORD PTR __$EHRec$[esp+28]
  00061	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00068	59		 pop	 ecx
  00069	5f		 pop	 edi
  0006a	5e		 pop	 esi
  0006b	83 c4 10	 add	 esp, 16			; 00000010H
  0006e	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0logic_error@std@@QAE@ABV01@@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1exception@std@@UAE@XZ ; std::exception::~exception
__ehhandler$??0logic_error@std@@QAE@ABV01@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 f4	 lea	 eax, DWORD PTR [edx-12]
  0000f	8b 4a f0	 mov	 ecx, DWORD PTR [edx-16]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0logic_error@std@@QAE@ABV01@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0logic_error@std@@QAE@ABV01@@Z ENDP			; std::logic_error::logic_error
; Function compile flags: /Ogtpy
;	COMDAT ??0length_error@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0length_error@std@@QAE@ABV01@@Z PROC			; std::length_error::length_error, COMDAT
; _this$ = ecx
  00000	8b 44 24 04	 mov	 eax, DWORD PTR ___that$[esp-4]
  00004	56		 push	 esi
  00005	50		 push	 eax
  00006	8b f1		 mov	 esi, ecx
  00008	e8 00 00 00 00	 call	 ??0logic_error@std@@QAE@ABV01@@Z
  0000d	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], OFFSET ??_7length_error@std@@6B@
  00013	8b c6		 mov	 eax, esi
  00015	5e		 pop	 esi
  00016	c2 04 00	 ret	 4
??0length_error@std@@QAE@ABV01@@Z ENDP			; std::length_error::length_error
_TEXT	ENDS
PUBLIC	?_Xlen@?$vector@HV?$allocator@H@std@@@std@@KAXXZ ; std::vector<int,std::allocator<int> >::_Xlen
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdexcept
xdata$x	SEGMENT
__unwindtable$?_Xlen@?$vector@HV?$allocator@H@std@@@std@@KAXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Xlen@?$vector@HV?$allocator@H@std@@@std@@KAXXZ$0
__ehfuncinfo$?_Xlen@?$vector@HV?$allocator@H@std@@@std@@KAXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_Xlen@?$vector@HV?$allocator@H@std@@@std@@KAXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
xdata$x	ENDS
;	COMDAT ?_Xlen@?$vector@HV?$allocator@H@std@@@std@@KAXXZ
_TEXT	SEGMENT
$T111402 = -80						; size = 28
$T111401 = -52						; size = 40
__$EHRec$ = -12						; size = 12
?_Xlen@?$vector@HV?$allocator@H@std@@@std@@KAXXZ PROC	; std::vector<int,std::allocator<int> >::_Xlen, COMDAT

; 1259 : 		{	// report a length_error

  00000	6a ff		 push	 -1
  00002	68 00 00 00 00	 push	 __ehhandler$?_Xlen@?$vector@HV?$allocator@H@std@@@std@@KAXXZ
  00007	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  0000d	50		 push	 eax
  0000e	83 ec 44	 sub	 esp, 68			; 00000044H
  00011	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00016	33 c4		 xor	 eax, esp
  00018	50		 push	 eax
  00019	8d 44 24 48	 lea	 eax, DWORD PTR __$EHRec$[esp+84]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 1260 : 		_THROW(length_error, "vector<T> too long");

  00023	6a 12		 push	 18			; 00000012H
  00025	68 00 00 00 00	 push	 OFFSET ??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@
  0002a	8d 4c 24 0c	 lea	 ecx, DWORD PTR $T111402[esp+92]
  0002e	c7 44 24 24 0f
	00 00 00	 mov	 DWORD PTR $T111402[esp+116], 15 ; 0000000fH
  00036	c7 44 24 20 00
	00 00 00	 mov	 DWORD PTR $T111402[esp+112], 0
  0003e	c6 44 24 10 00	 mov	 BYTE PTR $T111402[esp+96], 0
  00043	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  00048	8d 44 24 04	 lea	 eax, DWORD PTR $T111402[esp+84]
  0004c	50		 push	 eax
  0004d	8d 4c 24 24	 lea	 ecx, DWORD PTR $T111401[esp+88]
  00051	c7 44 24 54 00
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+96], 0
  00059	e8 00 00 00 00	 call	 ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::logic_error::logic_error
  0005e	68 00 00 00 00	 push	 OFFSET __TI3?AVlength_error@std@@
  00063	8d 4c 24 24	 lea	 ecx, DWORD PTR $T111401[esp+88]
  00067	51		 push	 ecx
  00068	c7 44 24 28 00
	00 00 00	 mov	 DWORD PTR $T111401[esp+92], OFFSET ??_7length_error@std@@6B@
  00070	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN45@Xlen@2:
$LN44@Xlen@2:
  00075	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?_Xlen@?$vector@HV?$allocator@H@std@@@std@@KAXXZ$0:
  00000	8d 4d b0	 lea	 ecx, DWORD PTR $T111402[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__ehhandler$?_Xlen@?$vector@HV?$allocator@H@std@@@std@@KAXXZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 bc	 lea	 eax, DWORD PTR [edx-68]
  0000f	8b 4a b8	 mov	 ecx, DWORD PTR [edx-72]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?_Xlen@?$vector@HV?$allocator@H@std@@@std@@KAXXZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Xlen@?$vector@HV?$allocator@H@std@@@std@@KAXXZ ENDP	; std::vector<int,std::allocator<int> >::_Xlen
PUBLIC	?_Xlen@?$vector@NV?$allocator@N@std@@@std@@KAXXZ ; std::vector<double,std::allocator<double> >::_Xlen
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdexcept
xdata$x	SEGMENT
__unwindtable$?_Xlen@?$vector@NV?$allocator@N@std@@@std@@KAXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Xlen@?$vector@NV?$allocator@N@std@@@std@@KAXXZ$0
__ehfuncinfo$?_Xlen@?$vector@NV?$allocator@N@std@@@std@@KAXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_Xlen@?$vector@NV?$allocator@N@std@@@std@@KAXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
xdata$x	ENDS
;	COMDAT ?_Xlen@?$vector@NV?$allocator@N@std@@@std@@KAXXZ
_TEXT	SEGMENT
$T111563 = -80						; size = 28
$T111562 = -52						; size = 40
__$EHRec$ = -12						; size = 12
?_Xlen@?$vector@NV?$allocator@N@std@@@std@@KAXXZ PROC	; std::vector<double,std::allocator<double> >::_Xlen, COMDAT

; 1259 : 		{	// report a length_error

  00000	6a ff		 push	 -1
  00002	68 00 00 00 00	 push	 __ehhandler$?_Xlen@?$vector@NV?$allocator@N@std@@@std@@KAXXZ
  00007	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  0000d	50		 push	 eax
  0000e	83 ec 44	 sub	 esp, 68			; 00000044H
  00011	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00016	33 c4		 xor	 eax, esp
  00018	50		 push	 eax
  00019	8d 44 24 48	 lea	 eax, DWORD PTR __$EHRec$[esp+84]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 1260 : 		_THROW(length_error, "vector<T> too long");

  00023	6a 12		 push	 18			; 00000012H
  00025	68 00 00 00 00	 push	 OFFSET ??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@
  0002a	8d 4c 24 0c	 lea	 ecx, DWORD PTR $T111563[esp+92]
  0002e	c7 44 24 24 0f
	00 00 00	 mov	 DWORD PTR $T111563[esp+116], 15 ; 0000000fH
  00036	c7 44 24 20 00
	00 00 00	 mov	 DWORD PTR $T111563[esp+112], 0
  0003e	c6 44 24 10 00	 mov	 BYTE PTR $T111563[esp+96], 0
  00043	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  00048	8d 44 24 04	 lea	 eax, DWORD PTR $T111563[esp+84]
  0004c	50		 push	 eax
  0004d	8d 4c 24 24	 lea	 ecx, DWORD PTR $T111562[esp+88]
  00051	c7 44 24 54 00
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+96], 0
  00059	e8 00 00 00 00	 call	 ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::logic_error::logic_error
  0005e	68 00 00 00 00	 push	 OFFSET __TI3?AVlength_error@std@@
  00063	8d 4c 24 24	 lea	 ecx, DWORD PTR $T111562[esp+88]
  00067	51		 push	 ecx
  00068	c7 44 24 28 00
	00 00 00	 mov	 DWORD PTR $T111562[esp+92], OFFSET ??_7length_error@std@@6B@
  00070	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN45@Xlen@3:
$LN44@Xlen@3:
  00075	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?_Xlen@?$vector@NV?$allocator@N@std@@@std@@KAXXZ$0:
  00000	8d 4d b0	 lea	 ecx, DWORD PTR $T111563[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__ehhandler$?_Xlen@?$vector@NV?$allocator@N@std@@@std@@KAXXZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 bc	 lea	 eax, DWORD PTR [edx-68]
  0000f	8b 4a b8	 mov	 ecx, DWORD PTR [edx-72]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?_Xlen@?$vector@NV?$allocator@N@std@@@std@@KAXXZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Xlen@?$vector@NV?$allocator@N@std@@@std@@KAXXZ ENDP	; std::vector<double,std::allocator<double> >::_Xlen
PUBLIC	?_Insert_n@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@IABQAVCSymTable@@@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Insert_n
; Function compile flags: /Ogtpy
;	COMDAT ?_Insert_n@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@IABQAVCSymTable@@@Z
_TEXT	SEGMENT
__Capacity$ = -4					; size = 4
__Where$ = 8						; size = 8
__Count$ = 16						; size = 4
__Tmp$96958 = 20					; size = 4
__Tmp$96948 = 20					; size = 4
__Val$ = 20						; size = 4
?_Insert_n@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@IABQAVCSymTable@@@Z PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Insert_n, COMDAT
; _this$ = ecx

; 1153 : 		{	// insert _Count * _Val at _Where

  00000	51		 push	 ecx
  00001	56		 push	 esi
  00002	8b f1		 mov	 esi, ecx

; 1154 : 
; 1155 :  #if _HAS_ITERATOR_DEBUGGING
; 1156 : 		if (_Where._Mycont != this
; 1157 : 			|| _Where._Myptr < _Myfirst || _Mylast < _Where._Myptr)
; 1158 : 			_DEBUG_ERROR("vector insert iterator outside range");
; 1159 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1160 : 
; 1161 : 		size_type _Capacity = capacity();

  00004	8b 56 0c	 mov	 edx, DWORD PTR [esi+12]
  00007	57		 push	 edi
  00008	85 d2		 test	 edx, edx
  0000a	75 04		 jne	 SHORT $LN29@Insert_n
  0000c	33 c9		 xor	 ecx, ecx
  0000e	eb 0a		 jmp	 SHORT $LN30@Insert_n
$LN29@Insert_n:
  00010	8b 46 14	 mov	 eax, DWORD PTR [esi+20]
  00013	2b c2		 sub	 eax, edx
  00015	c1 f8 02	 sar	 eax, 2
  00018	8b c8		 mov	 ecx, eax
$LN30@Insert_n:

; 1162 : 
; 1163 : 		if (_Count == 0)

  0001a	8b 7c 24 18	 mov	 edi, DWORD PTR __Count$[esp+8]
  0001e	85 ff		 test	 edi, edi
  00020	0f 84 7c 01 00
	00		 je	 $LN1@Insert_n
  00026	53		 push	 ebx

; 1164 : 			;
; 1165 : 		else if (max_size() - size() < _Count)

  00027	8b 5e 10	 mov	 ebx, DWORD PTR [esi+16]
  0002a	8b c3		 mov	 eax, ebx
  0002c	2b c2		 sub	 eax, edx
  0002e	c1 f8 02	 sar	 eax, 2
  00031	ba ff ff ff 3f	 mov	 edx, 1073741823		; 3fffffffH
  00036	2b d0		 sub	 edx, eax
  00038	3b d7		 cmp	 edx, edi
  0003a	73 05		 jae	 SHORT $LN12@Insert_n

; 1166 : 			_Xlen();	// result too long

  0003c	e8 00 00 00 00	 call	 ?_Xlen@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@KAXXZ ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Xlen
$LN64@Insert_n:
$LN12@Insert_n:

; 1167 : 		else if (_Capacity < size() + _Count)

  00041	8d 14 38	 lea	 edx, DWORD PTR [eax+edi]
  00044	55		 push	 ebp
  00045	3b ca		 cmp	 ecx, edx
  00047	0f 83 b5 00 00
	00		 jae	 $LN10@Insert_n

; 1168 : 			{	// not enough room, reallocate
; 1169 : 			_Capacity = max_size() - _Capacity / 2 < _Capacity
; 1170 : 				? 0 : _Capacity + _Capacity / 2;	// try to grow by 50%

  0004d	8b c1		 mov	 eax, ecx
  0004f	d1 e8		 shr	 eax, 1
  00051	bb ff ff ff 3f	 mov	 ebx, 1073741823		; 3fffffffH
  00056	2b d8		 sub	 ebx, eax
  00058	3b d9		 cmp	 ebx, ecx
  0005a	73 0e		 jae	 SHORT $LN17@Insert_n
  0005c	c7 44 24 10 00
	00 00 00	 mov	 DWORD PTR __Capacity$[esp+20], 0
  00064	8b 4c 24 10	 mov	 ecx, DWORD PTR __Capacity$[esp+20]
  00068	eb 06		 jmp	 SHORT $LN18@Insert_n
$LN17@Insert_n:
  0006a	03 c8		 add	 ecx, eax
  0006c	89 4c 24 10	 mov	 DWORD PTR __Capacity$[esp+20], ecx
$LN18@Insert_n:

; 1171 : 			if (_Capacity < size() + _Count)

  00070	3b ca		 cmp	 ecx, edx
  00072	73 06		 jae	 SHORT $LN9@Insert_n

; 1172 : 				_Capacity = size() + _Count;

  00074	89 54 24 10	 mov	 DWORD PTR __Capacity$[esp+20], edx
  00078	8b ca		 mov	 ecx, edx
$LN9@Insert_n:

; 1173 : 			pointer _Newvec = this->_Alval.allocate(_Capacity);

  0007a	6a 00		 push	 0
  0007c	51		 push	 ecx
  0007d	e8 00 00 00 00	 call	 ??$_Allocate@PAVCSymTable@@@std@@YAPAPAVCSymTable@@IPAPAV1@@Z ; std::_Allocate<CSymTable *>

; 1174 : 			size_type _Whereoff = _VEC_ITER_BASE(_Where) - _Myfirst;

  00082	8b 5c 24 24	 mov	 ebx, DWORD PTR __Where$[esp+28]
  00086	2b 5e 0c	 sub	 ebx, DWORD PTR [esi+12]
  00089	83 c4 08	 add	 esp, 8
  0008c	8b e8		 mov	 ebp, eax

; 1175 : 			int _Ncopied = 0;
; 1176 : 
; 1177 : 			_TRY_BEGIN
; 1178 : 			_Ufill(_Newvec + _Whereoff, _Count, _Val);	// add new stuff

  0008e	8b 44 24 24	 mov	 eax, DWORD PTR __Val$[esp+16]
  00092	50		 push	 eax
  00093	c1 fb 02	 sar	 ebx, 2
  00096	57		 push	 edi
  00097	8d 4c 9d 00	 lea	 ecx, DWORD PTR [ebp+ebx*4]
  0009b	51		 push	 ecx
  0009c	8b ce		 mov	 ecx, esi
  0009e	e8 00 00 00 00	 call	 ?_Ufill@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@PAPAV3@IABQAV3@@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Ufill

; 1179 : 			++_Ncopied;
; 1180 : 			_Umove(this->_Myfirst, _VEC_ITER_BASE(_Where),
; 1181 : 				_Newvec);	// move prefix

  000a3	8b 54 24 1c	 mov	 edx, DWORD PTR __Where$[esp+20]
  000a7	8b 46 0c	 mov	 eax, DWORD PTR [esi+12]
  000aa	55		 push	 ebp
  000ab	52		 push	 edx
  000ac	50		 push	 eax
  000ad	8b ce		 mov	 ecx, esi
  000af	e8 00 00 00 00	 call	 ??$_Umove@PAPAVCSymTable@@@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@PAPAV2@00@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Umove<CSymTable * *>

; 1182 : 			++_Ncopied;
; 1183 : 			_Umove(_VEC_ITER_BASE(_Where), this->_Mylast,
; 1184 : 				_Newvec + (_Whereoff + _Count));	// move suffix

  000b4	8b 56 10	 mov	 edx, DWORD PTR [esi+16]
  000b7	8b 44 24 1c	 mov	 eax, DWORD PTR __Where$[esp+20]
  000bb	03 df		 add	 ebx, edi
  000bd	8d 4c 9d 00	 lea	 ecx, DWORD PTR [ebp+ebx*4]
  000c1	51		 push	 ecx
  000c2	52		 push	 edx
  000c3	50		 push	 eax
  000c4	8b ce		 mov	 ecx, esi
  000c6	e8 00 00 00 00	 call	 ??$_Umove@PAPAVCSymTable@@@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@PAPAV2@00@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Umove<CSymTable * *>

; 1185 : 			_CATCH_ALL
; 1186 : 			if (1 < _Ncopied)
; 1187 : 				_Destroy(_Newvec, _Newvec + _Whereoff);
; 1188 : 			if (0 < _Ncopied)
; 1189 : 				_Destroy(_Newvec + _Whereoff, _Newvec + _Whereoff + _Count);
; 1190 : 			this->_Alval.deallocate(_Newvec, _Capacity);
; 1191 : 			_RERAISE;
; 1192 : 			_CATCH_END
; 1193 : 
; 1194 : 			_Count += size();

  000cb	8b 46 0c	 mov	 eax, DWORD PTR [esi+12]
  000ce	8b 4e 10	 mov	 ecx, DWORD PTR [esi+16]
  000d1	2b c8		 sub	 ecx, eax
  000d3	c1 f9 02	 sar	 ecx, 2
  000d6	03 f9		 add	 edi, ecx

; 1195 : 			if (_Myfirst != 0)

  000d8	85 c0		 test	 eax, eax
  000da	74 09		 je	 SHORT $LN57@Insert_n

; 1196 : 				{	// destroy and deallocate old array
; 1197 : 				_Destroy(_Myfirst, _Mylast);
; 1198 : 				this->_Alval.deallocate(_Myfirst, _Myend - _Myfirst);

  000dc	50		 push	 eax
  000dd	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  000e2	83 c4 04	 add	 esp, 4
$LN57@Insert_n:

; 1199 : 				}
; 1200 : 
; 1201 :  #if _HAS_ITERATOR_DEBUGGING
; 1202 : 			this->_Orphan_all();
; 1203 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1204 : 
; 1205 : 			_Myend = _Newvec + _Capacity;

  000e5	8b 54 24 10	 mov	 edx, DWORD PTR __Capacity$[esp+20]

; 1206 : 			_Mylast = _Newvec + _Count;

  000e9	8d 4c bd 00	 lea	 ecx, DWORD PTR [ebp+edi*4]
  000ed	8d 44 95 00	 lea	 eax, DWORD PTR [ebp+edx*4]

; 1207 : 			_Myfirst = _Newvec;

  000f1	89 6e 0c	 mov	 DWORD PTR [esi+12], ebp
  000f4	5d		 pop	 ebp
  000f5	5b		 pop	 ebx
  000f6	5f		 pop	 edi
  000f7	89 46 14	 mov	 DWORD PTR [esi+20], eax
  000fa	89 4e 10	 mov	 DWORD PTR [esi+16], ecx
  000fd	5e		 pop	 esi

; 1249 : 			}
; 1250 : 		}

  000fe	59		 pop	 ecx
  000ff	c2 10 00	 ret	 16			; 00000010H
$LN10@Insert_n:

; 1208 : 			}
; 1209 : 		else if ((size_type)(_Mylast - _VEC_ITER_BASE(_Where)) < _Count)

  00102	8b 44 24 1c	 mov	 eax, DWORD PTR __Where$[esp+20]

; 1210 : 			{	// new stuff spills off end
; 1211 : 			_Ty _Tmp = _Val;	// in case _Val is in sequence

  00106	8b 4c 24 24	 mov	 ecx, DWORD PTR __Val$[esp+16]
  0010a	8b d3		 mov	 edx, ebx
  0010c	2b d0		 sub	 edx, eax
  0010e	c1 fa 02	 sar	 edx, 2
  00111	3b d7		 cmp	 edx, edi
  00113	8b 11		 mov	 edx, DWORD PTR [ecx]

; 1212 : 
; 1213 : 			_Umove(_VEC_ITER_BASE(_Where), _Mylast,
; 1214 : 				_VEC_ITER_BASE(_Where) + _Count);	// copy suffix

  00115	8d 2c bd 00 00
	00 00		 lea	 ebp, DWORD PTR [edi*4]
  0011c	89 54 24 24	 mov	 DWORD PTR __Tmp$96948[esp+16], edx
  00120	73 4c		 jae	 SHORT $LN3@Insert_n
  00122	8d 0c 28	 lea	 ecx, DWORD PTR [eax+ebp]
  00125	51		 push	 ecx
  00126	53		 push	 ebx
  00127	50		 push	 eax
  00128	8b ce		 mov	 ecx, esi
  0012a	e8 00 00 00 00	 call	 ??$_Umove@PAPAVCSymTable@@@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@PAPAV2@00@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Umove<CSymTable * *>

; 1215 : 
; 1216 : 			_TRY_BEGIN
; 1217 : 			_Ufill(_Mylast, _Count - (_Mylast - _VEC_ITER_BASE(_Where)),
; 1218 : 				_Tmp);	// insert new stuff off end

  0012f	8b 46 10	 mov	 eax, DWORD PTR [esi+16]
  00132	8b c8		 mov	 ecx, eax
  00134	2b 4c 24 1c	 sub	 ecx, DWORD PTR __Where$[esp+20]
  00138	8d 54 24 24	 lea	 edx, DWORD PTR __Tmp$96948[esp+16]
  0013c	c1 f9 02	 sar	 ecx, 2
  0013f	52		 push	 edx
  00140	2b f9		 sub	 edi, ecx
  00142	57		 push	 edi
  00143	50		 push	 eax
  00144	8b ce		 mov	 ecx, esi
  00146	e8 00 00 00 00	 call	 ?_Ufill@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@PAPAV3@IABQAV3@@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Ufill

; 1219 : 			_CATCH_ALL
; 1220 : 			_Destroy(_VEC_ITER_BASE(_Where) + _Count, _Mylast + _Count);
; 1221 : 			_RERAISE;
; 1222 : 			_CATCH_END
; 1223 : 
; 1224 : 			_Mylast += _Count;

  0014b	01 6e 10	 add	 DWORD PTR [esi+16], ebp
  0014e	8b 76 10	 mov	 esi, DWORD PTR [esi+16]

; 1225 : 
; 1226 :  #if _HAS_ITERATOR_DEBUGGING
; 1227 : 			_Orphan_range(_Where._Myptr, _Mylast);
; 1228 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1229 : 
; 1230 : 			std::fill(_VEC_ITER_BASE(_Where), _Mylast - _Count,
; 1231 : 				_Tmp);	// insert up to old end

  00151	8b 44 24 1c	 mov	 eax, DWORD PTR __Where$[esp+20]
  00155	8d 54 24 24	 lea	 edx, DWORD PTR __Tmp$96948[esp+16]
  00159	52		 push	 edx
  0015a	2b f5		 sub	 esi, ebp
  0015c	56		 push	 esi
  0015d	50		 push	 eax
  0015e	e8 00 00 00 00	 call	 ??$fill@PAPAVCSymTable@@PAV1@@std@@YAXPAPAVCSymTable@@0ABQAV1@@Z ; std::fill<CSymTable * *,CSymTable *>
  00163	83 c4 0c	 add	 esp, 12			; 0000000cH
  00166	5d		 pop	 ebp
  00167	5b		 pop	 ebx
  00168	5f		 pop	 edi
  00169	5e		 pop	 esi

; 1249 : 			}
; 1250 : 		}

  0016a	59		 pop	 ecx
  0016b	c2 10 00	 ret	 16			; 00000010H
$LN3@Insert_n:

; 1232 : 			}
; 1233 : 		else
; 1234 : 			{	// new stuff can all be assigned
; 1235 : 			_Ty _Tmp = _Val;	// in case _Val is in sequence
; 1236 : 
; 1237 : 			pointer _Oldend = _Mylast;
; 1238 : 			_Mylast = _Umove(_Oldend - _Count, _Oldend,
; 1239 : 				_Mylast);	// copy suffix

  0016e	53		 push	 ebx
  0016f	8b fb		 mov	 edi, ebx
  00171	53		 push	 ebx
  00172	2b fd		 sub	 edi, ebp
  00174	57		 push	 edi
  00175	8b ce		 mov	 ecx, esi
  00177	e8 00 00 00 00	 call	 ??$_Umove@PAPAVCSymTable@@@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEPAPAVCSymTable@@PAPAV2@00@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Umove<CSymTable * *>

; 1240 : 
; 1241 :  #if _HAS_ITERATOR_DEBUGGING
; 1242 : 			_Orphan_range(_Where._Myptr, _Mylast);
; 1243 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1244 : 
; 1245 : 			_STDEXT _Unchecked_move_backward(_VEC_ITER_BASE(_Where), _Oldend - _Count,
; 1246 : 				_Oldend);	// copy hole

  0017c	53		 push	 ebx
  0017d	89 46 10	 mov	 DWORD PTR [esi+16], eax
  00180	8b 44 24 20	 mov	 eax, DWORD PTR __Where$[esp+24]
  00184	57		 push	 edi
  00185	50		 push	 eax
  00186	e8 00 00 00 00	 call	 ??$_Unchecked_move_backward@PAPAVCSymTable@@PAPAV1@@stdext@@YAPAPAVCSymTable@@PAPAV1@00@Z ; stdext::_Unchecked_move_backward<CSymTable * *,CSymTable * *>

; 1247 : 			std::fill(_VEC_ITER_BASE(_Where), _VEC_ITER_BASE(_Where) + _Count,
; 1248 : 				_Tmp);	// insert into hole

  0018b	8b 44 24 28	 mov	 eax, DWORD PTR __Where$[esp+32]
  0018f	8d 4c 24 30	 lea	 ecx, DWORD PTR __Tmp$96958[esp+28]
  00193	51		 push	 ecx
  00194	03 e8		 add	 ebp, eax
  00196	55		 push	 ebp
  00197	50		 push	 eax
  00198	e8 00 00 00 00	 call	 ??$fill@PAPAVCSymTable@@PAV1@@std@@YAXPAPAVCSymTable@@0ABQAV1@@Z ; std::fill<CSymTable * *,CSymTable *>
  0019d	83 c4 18	 add	 esp, 24			; 00000018H
  001a0	5d		 pop	 ebp
  001a1	5b		 pop	 ebx
$LN1@Insert_n:
  001a2	5f		 pop	 edi
  001a3	5e		 pop	 esi

; 1249 : 			}
; 1250 : 		}

  001a4	59		 pop	 ecx
  001a5	c2 10 00	 ret	 16			; 00000010H
$LN63@Insert_n:
?_Insert_n@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@IABQAVCSymTable@@@Z ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Insert_n
_TEXT	ENDS
PUBLIC	?SetStr@CPoly@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z ; CPoly::SetStr
; Function compile flags: /Ogtpy
; File d:\# metin2\work in progress\source client\client\eterbase\poly\poly.cpp
;	COMDAT ?SetStr@CPoly@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z
_TEXT	SEGMENT
_str$ = 8						; size = 4
?SetStr@CPoly@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z PROC ; CPoly::SetStr, COMDAT
; _this$ = ecx

; 65   :     strData = str;

  00000	8b 44 24 04	 mov	 eax, DWORD PTR _str$[esp-4]
  00004	6a ff		 push	 -1
  00006	6a 00		 push	 0
  00008	50		 push	 eax
  00009	81 c1 90 00 00
	00		 add	 ecx, 144		; 00000090H
  0000f	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign

; 66   : }

  00014	c2 04 00	 ret	 4
?SetStr@CPoly@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z ENDP ; CPoly::SetStr
_TEXT	ENDS
PUBLIC	?Clear@CPoly@@QAEXXZ				; CPoly::Clear
; Function compile flags: /Ogtpy
;	COMDAT ?Clear@CPoly@@QAEXXZ
_TEXT	SEGMENT
$T112615 = -8						; size = 8
$T112612 = -8						; size = 8
$T112413 = -8						; size = 8
$T112416 = -8						; size = 8
$T112179 = -8						; size = 8
$T112176 = -8						; size = 8
$T111981 = -8						; size = 8
$T111978 = -8						; size = 8
?Clear@CPoly@@QAEXXZ PROC				; CPoly::Clear, COMDAT
; _this$ = ecx

; 259  : {

  00000	83 ec 08	 sub	 esp, 8
  00003	53		 push	 ebx
  00004	55		 push	 ebp
  00005	56		 push	 esi
  00006	8b f1		 mov	 esi, ecx

; 260  :     int i;
; 261  :     //while (!tokenBase.IsEmpty()) listBase.RemoveTail();
; 262  :     //while (!numBase.IsEmpty()) numBase.RemoveTail();
; 263  :     tokenBase.clear();

  00008	8b 6e 38	 mov	 ebp, DWORD PTR [esi+56]
  0000b	39 6e 34	 cmp	 DWORD PTR [esi+52], ebp
  0000e	57		 push	 edi
  0000f	8d 7e 28	 lea	 edi, DWORD PTR [esi+40]
  00012	76 05		 jbe	 SHORT $LN17@Clear
  00014	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN17@Clear:
  00019	8b 5f 0c	 mov	 ebx, DWORD PTR [edi+12]
  0001c	8b 07		 mov	 eax, DWORD PTR [edi]
  0001e	89 44 24 10	 mov	 DWORD PTR $T111978[esp+24], eax
  00022	3b 5f 10	 cmp	 ebx, DWORD PTR [edi+16]
  00025	76 05		 jbe	 SHORT $LN36@Clear
  00027	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN36@Clear:
  0002c	8b 4c 24 10	 mov	 ecx, DWORD PTR $T111978[esp+24]
  00030	8b 07		 mov	 eax, DWORD PTR [edi]
  00032	55		 push	 ebp
  00033	51		 push	 ecx
  00034	53		 push	 ebx
  00035	50		 push	 eax
  00036	8d 54 24 20	 lea	 edx, DWORD PTR $T111981[esp+40]
  0003a	52		 push	 edx
  0003b	8b cf		 mov	 ecx, edi
  0003d	e8 00 00 00 00	 call	 ?erase@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@0@Z ; std::vector<int,std::allocator<int> >::erase

; 264  :     numBase.clear();

  00042	8b 5e 50	 mov	 ebx, DWORD PTR [esi+80]
  00045	39 5e 4c	 cmp	 DWORD PTR [esi+76], ebx
  00048	8d 7e 40	 lea	 edi, DWORD PTR [esi+64]
  0004b	76 05		 jbe	 SHORT $LN57@Clear
  0004d	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN57@Clear:
  00052	8b 6f 0c	 mov	 ebp, DWORD PTR [edi+12]
  00055	8b 07		 mov	 eax, DWORD PTR [edi]
  00057	89 44 24 10	 mov	 DWORD PTR $T112176[esp+24], eax
  0005b	3b 6f 10	 cmp	 ebp, DWORD PTR [edi+16]
  0005e	76 05		 jbe	 SHORT $LN76@Clear
  00060	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN76@Clear:
  00065	8b 4c 24 10	 mov	 ecx, DWORD PTR $T112176[esp+24]
  00069	8b 07		 mov	 eax, DWORD PTR [edi]
  0006b	53		 push	 ebx
  0006c	51		 push	 ecx
  0006d	55		 push	 ebp
  0006e	50		 push	 eax
  0006f	8d 54 24 20	 lea	 edx, DWORD PTR $T112179[esp+40]
  00073	52		 push	 edx
  00074	8b cf		 mov	 ecx, edi
  00076	e8 00 00 00 00	 call	 ?erase@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@V?$_Vector_const_iterator@NV?$allocator@N@std@@@2@0@Z ; std::vector<double,std::allocator<double> >::erase

; 265  : 
; 266  :     for (i = 0;i < STSize; ++i)

  0007b	33 ff		 xor	 edi, edi
  0007d	39 be 88 00 00
	00		 cmp	 DWORD PTR [esi+136], edi
  00083	7e 63		 jle	 SHORT $LN2@Clear
$LL4@Clear:

; 267  :     {
; 268  : 	if (lSymbol[i]) delete lSymbol[i];

  00085	8b 46 68	 mov	 eax, DWORD PTR [esi+104]
  00088	2b 46 64	 sub	 eax, DWORD PTR [esi+100]
  0008b	c1 f8 02	 sar	 eax, 2
  0008e	3b f8		 cmp	 edi, eax
  00090	72 05		 jb	 SHORT $LN91@Clear
  00092	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN91@Clear:
  00097	8b 4e 64	 mov	 ecx, DWORD PTR [esi+100]
  0009a	83 3c b9 00	 cmp	 DWORD PTR [ecx+edi*4], 0
  0009e	74 23		 je	 SHORT $LN7@Clear
  000a0	8b 56 68	 mov	 edx, DWORD PTR [esi+104]
  000a3	2b d1		 sub	 edx, ecx
  000a5	c1 fa 02	 sar	 edx, 2
  000a8	3b fa		 cmp	 edi, edx
  000aa	72 05		 jb	 SHORT $LN99@Clear
  000ac	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN99@Clear:
  000b1	8b 46 64	 mov	 eax, DWORD PTR [esi+100]
  000b4	8b 0c b8	 mov	 ecx, DWORD PTR [eax+edi*4]
  000b7	85 c9		 test	 ecx, ecx
  000b9	74 08		 je	 SHORT $LN7@Clear
  000bb	8b 11		 mov	 edx, DWORD PTR [ecx]
  000bd	8b 02		 mov	 eax, DWORD PTR [edx]
  000bf	6a 01		 push	 1
  000c1	ff d0		 call	 eax
$LN7@Clear:

; 269  : 	lSymbol[i]=NULL;

  000c3	8b 4e 68	 mov	 ecx, DWORD PTR [esi+104]
  000c6	2b 4e 64	 sub	 ecx, DWORD PTR [esi+100]
  000c9	c1 f9 02	 sar	 ecx, 2
  000cc	3b f9		 cmp	 edi, ecx
  000ce	72 05		 jb	 SHORT $LN107@Clear
  000d0	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN107@Clear:
  000d5	8b 56 64	 mov	 edx, DWORD PTR [esi+100]
  000d8	c7 04 ba 00 00
	00 00		 mov	 DWORD PTR [edx+edi*4], 0
  000df	47		 inc	 edi
  000e0	3b be 88 00 00
	00		 cmp	 edi, DWORD PTR [esi+136]
  000e6	7c 9d		 jl	 SHORT $LL4@Clear
$LN2@Clear:

; 270  :     }
; 271  :     //lSymbol.FreeExtra();
; 272  :     lSymbol.clear();

  000e8	8b 6e 68	 mov	 ebp, DWORD PTR [esi+104]
  000eb	39 6e 64	 cmp	 DWORD PTR [esi+100], ebp
  000ee	8d 7e 58	 lea	 edi, DWORD PTR [esi+88]
  000f1	76 05		 jbe	 SHORT $LN121@Clear
  000f3	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN121@Clear:
  000f8	8b 5f 0c	 mov	 ebx, DWORD PTR [edi+12]
  000fb	8b 07		 mov	 eax, DWORD PTR [edi]
  000fd	89 44 24 10	 mov	 DWORD PTR $T112413[esp+24], eax
  00101	3b 5f 10	 cmp	 ebx, DWORD PTR [edi+16]
  00104	76 05		 jbe	 SHORT $LN140@Clear
  00106	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN140@Clear:
  0010b	8b 4c 24 10	 mov	 ecx, DWORD PTR $T112413[esp+24]
  0010f	8b 07		 mov	 eax, DWORD PTR [edi]
  00111	55		 push	 ebp
  00112	51		 push	 ecx
  00113	53		 push	 ebx
  00114	50		 push	 eax
  00115	8d 54 24 20	 lea	 edx, DWORD PTR $T112416[esp+40]
  00119	52		 push	 edx
  0011a	8b cf		 mov	 ecx, edi
  0011c	e8 00 00 00 00	 call	 ?erase@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@V?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@0@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::erase

; 273  :     SymbolIndex.clear();

  00121	8b 9e 80 00 00
	00		 mov	 ebx, DWORD PTR [esi+128]
  00127	39 5e 7c	 cmp	 DWORD PTR [esi+124], ebx
  0012a	8d 7e 70	 lea	 edi, DWORD PTR [esi+112]
  0012d	76 05		 jbe	 SHORT $LN161@Clear
  0012f	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN161@Clear:
  00134	8b 6f 0c	 mov	 ebp, DWORD PTR [edi+12]
  00137	8b 07		 mov	 eax, DWORD PTR [edi]
  00139	89 44 24 10	 mov	 DWORD PTR $T112612[esp+24], eax
  0013d	3b 6f 10	 cmp	 ebp, DWORD PTR [edi+16]
  00140	76 05		 jbe	 SHORT $LN180@Clear
  00142	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN180@Clear:
  00147	8b 4c 24 10	 mov	 ecx, DWORD PTR $T112612[esp+24]
  0014b	8b 07		 mov	 eax, DWORD PTR [edi]
  0014d	53		 push	 ebx
  0014e	51		 push	 ecx
  0014f	55		 push	 ebp
  00150	50		 push	 eax
  00151	8d 54 24 20	 lea	 edx, DWORD PTR $T112615[esp+40]
  00155	52		 push	 edx
  00156	8b cf		 mov	 ecx, edi
  00158	e8 00 00 00 00	 call	 ?erase@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@0@Z ; std::vector<int,std::allocator<int> >::erase

; 274  :     STSize=0;

  0015d	33 c0		 xor	 eax, eax
  0015f	5f		 pop	 edi
  00160	89 86 88 00 00
	00		 mov	 DWORD PTR [esi+136], eax

; 275  : 	MathSymbolCount=0;

  00166	89 86 8c 00 00
	00		 mov	 DWORD PTR [esi+140], eax
  0016c	5e		 pop	 esi
  0016d	5d		 pop	 ebp
  0016e	5b		 pop	 ebx

; 276  : }

  0016f	83 c4 08	 add	 esp, 8
  00172	c3		 ret	 0
?Clear@CPoly@@QAEXXZ ENDP				; CPoly::Clear
_TEXT	ENDS
PUBLIC	?reserve@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEXI@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::reserve
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?reserve@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEXI@Z
_TEXT	SEGMENT
__Count$ = 8						; size = 4
?reserve@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEXI@Z PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::reserve, COMDAT
; _this$ = ecx

; 603  : 		if (max_size() < _Count)

  00000	8b 54 24 04	 mov	 edx, DWORD PTR __Count$[esp-4]
  00004	56		 push	 esi
  00005	8b f1		 mov	 esi, ecx
  00007	81 fa ff ff ff
	3f		 cmp	 edx, 1073741823		; 3fffffffH
  0000d	76 05		 jbe	 SHORT $LN5@reserve

; 604  : 			_Xlen();	// result too long

  0000f	e8 00 00 00 00	 call	 ?_Xlen@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@KAXXZ ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Xlen
$LN105@reserve:
$LN5@reserve:

; 605  : 		else if (capacity() < _Count)

  00014	8b 4e 0c	 mov	 ecx, DWORD PTR [esi+12]
  00017	85 c9		 test	 ecx, ecx
  00019	75 04		 jne	 SHORT $LN20@reserve
  0001b	33 c0		 xor	 eax, eax
  0001d	eb 08		 jmp	 SHORT $LN21@reserve
$LN20@reserve:
  0001f	8b 46 14	 mov	 eax, DWORD PTR [esi+20]
  00022	2b c1		 sub	 eax, ecx
  00024	c1 f8 02	 sar	 eax, 2
$LN21@reserve:
  00027	3b c2		 cmp	 eax, edx
  00029	73 74		 jae	 SHORT $LN3@reserve
  0002b	53		 push	 ebx
  0002c	57		 push	 edi

; 606  : 			{	// not enough room, reallocate
; 607  : 			pointer _Ptr = this->_Alval.allocate(_Count);

  0002d	6a 00		 push	 0
  0002f	52		 push	 edx
  00030	e8 00 00 00 00	 call	 ??$_Allocate@PAVCSymTable@@@std@@YAPAPAVCSymTable@@IPAPAV1@@Z ; std::_Allocate<CSymTable *>

; 608  : 
; 609  : 			_TRY_BEGIN
; 610  : 			_Umove(begin(), end(), _Ptr);

  00035	8b 7e 10	 mov	 edi, DWORD PTR [esi+16]
  00038	83 c4 08	 add	 esp, 8
  0003b	8b d8		 mov	 ebx, eax
  0003d	39 7e 0c	 cmp	 DWORD PTR [esi+12], edi
  00040	76 05		 jbe	 SHORT $LN30@reserve
  00042	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN30@reserve:
  00047	55		 push	 ebp
  00048	8b 6e 0c	 mov	 ebp, DWORD PTR [esi+12]
  0004b	3b 6e 10	 cmp	 ebp, DWORD PTR [esi+16]
  0004e	76 05		 jbe	 SHORT $LN49@reserve
  00050	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN49@reserve:
  00055	2b fd		 sub	 edi, ebp
  00057	c1 ff 02	 sar	 edi, 2
  0005a	85 ff		 test	 edi, edi
  0005c	76 13		 jbe	 SHORT $LN94@reserve
  0005e	8d 04 bd 00 00
	00 00		 lea	 eax, DWORD PTR [edi*4]
  00065	50		 push	 eax
  00066	55		 push	 ebp
  00067	50		 push	 eax
  00068	53		 push	 ebx
  00069	e8 00 00 00 00	 call	 _memmove_s
  0006e	83 c4 10	 add	 esp, 16			; 00000010H
$LN94@reserve:

; 611  : 			_CATCH_ALL
; 612  : 			this->_Alval.deallocate(_Ptr, _Count);
; 613  : 			_RERAISE;
; 614  : 			_CATCH_END
; 615  : 
; 616  : 			size_type _Size = size();

  00071	8b 46 0c	 mov	 eax, DWORD PTR [esi+12]
  00074	8b 7e 10	 mov	 edi, DWORD PTR [esi+16]
  00077	2b f8		 sub	 edi, eax
  00079	c1 ff 02	 sar	 edi, 2
  0007c	5d		 pop	 ebp

; 617  : 			if (_Myfirst != 0)

  0007d	85 c0		 test	 eax, eax
  0007f	74 09		 je	 SHORT $LN101@reserve

; 618  : 				{	// destroy and deallocate old array
; 619  : 				_Destroy(_Myfirst, _Mylast);
; 620  : 				this->_Alval.deallocate(_Myfirst, _Myend - _Myfirst);

  00081	50		 push	 eax
  00082	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00087	83 c4 04	 add	 esp, 4
$LN101@reserve:

; 621  : 				}
; 622  : 
; 623  :  #if _HAS_ITERATOR_DEBUGGING
; 624  : 			this->_Orphan_all();
; 625  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 626  : 
; 627  : 			_Myend = _Ptr + _Count;

  0008a	8b 44 24 10	 mov	 eax, DWORD PTR __Count$[esp+8]

; 628  : 			_Mylast = _Ptr + _Size;

  0008e	8d 14 bb	 lea	 edx, DWORD PTR [ebx+edi*4]
  00091	8d 0c 83	 lea	 ecx, DWORD PTR [ebx+eax*4]
  00094	5f		 pop	 edi

; 629  : 			_Myfirst = _Ptr;

  00095	89 5e 0c	 mov	 DWORD PTR [esi+12], ebx
  00098	89 4e 14	 mov	 DWORD PTR [esi+20], ecx
  0009b	89 56 10	 mov	 DWORD PTR [esi+16], edx
  0009e	5b		 pop	 ebx
$LN3@reserve:
  0009f	5e		 pop	 esi

; 630  : 			}
; 631  : 		}

  000a0	c2 04 00	 ret	 4
$LN104@reserve:
?reserve@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEXI@Z ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::reserve
_TEXT	ENDS
PUBLIC	?_Buy@?$vector@HV?$allocator@H@std@@@std@@IAE_NI@Z ; std::vector<int,std::allocator<int> >::_Buy
; Function compile flags: /Ogtpy
;	COMDAT ?_Buy@?$vector@HV?$allocator@H@std@@@std@@IAE_NI@Z
_TEXT	SEGMENT
__Capacity$ = 8						; size = 4
?_Buy@?$vector@HV?$allocator@H@std@@@std@@IAE_NI@Z PROC	; std::vector<int,std::allocator<int> >::_Buy, COMDAT
; _this$ = ecx

; 1102 : 		{	// allocate array with _Capacity elements

  00000	56		 push	 esi

; 1103 : 		_Myfirst = 0, _Mylast = 0, _Myend = 0;

  00001	33 c0		 xor	 eax, eax
  00003	57		 push	 edi

; 1104 : 		if (_Capacity == 0)

  00004	8b 7c 24 0c	 mov	 edi, DWORD PTR __Capacity$[esp+4]
  00008	8b f1		 mov	 esi, ecx
  0000a	89 46 0c	 mov	 DWORD PTR [esi+12], eax
  0000d	89 46 10	 mov	 DWORD PTR [esi+16], eax
  00010	89 46 14	 mov	 DWORD PTR [esi+20], eax
  00013	3b f8		 cmp	 edi, eax
  00015	75 07		 jne	 SHORT $LN4@Buy
  00017	5f		 pop	 edi

; 1105 : 			return (false);

  00018	32 c0		 xor	 al, al
  0001a	5e		 pop	 esi

; 1115 : 		}

  0001b	c2 04 00	 ret	 4
$LN4@Buy:

; 1106 : 		else if (max_size() < _Capacity)

  0001e	81 ff ff ff ff
	3f		 cmp	 edi, 1073741823		; 3fffffffH
  00024	76 05		 jbe	 SHORT $LN2@Buy

; 1107 : 			_Xlen();	// result too long

  00026	e8 00 00 00 00	 call	 ?_Xlen@?$vector@HV?$allocator@H@std@@@std@@KAXXZ ; std::vector<int,std::allocator<int> >::_Xlen
$LN16@Buy:
$LN2@Buy:

; 1108 : 		else
; 1109 : 			{	// nonempty array, allocate storage
; 1110 : 			_Myfirst = this->_Alval.allocate(_Capacity);

  0002b	50		 push	 eax
  0002c	57		 push	 edi
  0002d	e8 00 00 00 00	 call	 ??$_Allocate@H@std@@YAPAHIPAH@Z ; std::_Allocate<int>
  00032	89 46 0c	 mov	 DWORD PTR [esi+12], eax

; 1111 : 			_Mylast = _Myfirst;

  00035	89 46 10	 mov	 DWORD PTR [esi+16], eax
  00038	83 c4 08	 add	 esp, 8

; 1112 : 			_Myend = _Myfirst + _Capacity;

  0003b	8d 04 b8	 lea	 eax, DWORD PTR [eax+edi*4]
  0003e	89 46 14	 mov	 DWORD PTR [esi+20], eax
  00041	5f		 pop	 edi

; 1113 : 			}
; 1114 : 		return (true);

  00042	b0 01		 mov	 al, 1
  00044	5e		 pop	 esi

; 1115 : 		}

  00045	c2 04 00	 ret	 4
$LN15@Buy:
?_Buy@?$vector@HV?$allocator@H@std@@@std@@IAE_NI@Z ENDP	; std::vector<int,std::allocator<int> >::_Buy
_TEXT	ENDS
PUBLIC	?_Insert_n@?$vector@HV?$allocator@H@std@@@std@@IAEXV?$_Vector_const_iterator@HV?$allocator@H@std@@@2@IABH@Z ; std::vector<int,std::allocator<int> >::_Insert_n
; Function compile flags: /Ogtpy
;	COMDAT ?_Insert_n@?$vector@HV?$allocator@H@std@@@std@@IAEXV?$_Vector_const_iterator@HV?$allocator@H@std@@@2@IABH@Z
_TEXT	SEGMENT
__Capacity$ = -4					; size = 4
__Where$ = 8						; size = 8
__Count$ = 16						; size = 4
__Tmp$96460 = 20					; size = 4
__Tmp$96450 = 20					; size = 4
__Val$ = 20						; size = 4
?_Insert_n@?$vector@HV?$allocator@H@std@@@std@@IAEXV?$_Vector_const_iterator@HV?$allocator@H@std@@@2@IABH@Z PROC ; std::vector<int,std::allocator<int> >::_Insert_n, COMDAT
; _this$ = ecx

; 1153 : 		{	// insert _Count * _Val at _Where

  00000	51		 push	 ecx
  00001	56		 push	 esi
  00002	8b f1		 mov	 esi, ecx

; 1154 : 
; 1155 :  #if _HAS_ITERATOR_DEBUGGING
; 1156 : 		if (_Where._Mycont != this
; 1157 : 			|| _Where._Myptr < _Myfirst || _Mylast < _Where._Myptr)
; 1158 : 			_DEBUG_ERROR("vector insert iterator outside range");
; 1159 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1160 : 
; 1161 : 		size_type _Capacity = capacity();

  00004	8b 56 0c	 mov	 edx, DWORD PTR [esi+12]
  00007	57		 push	 edi
  00008	85 d2		 test	 edx, edx
  0000a	75 04		 jne	 SHORT $LN29@Insert_n@2
  0000c	33 c9		 xor	 ecx, ecx
  0000e	eb 0a		 jmp	 SHORT $LN30@Insert_n@2
$LN29@Insert_n@2:
  00010	8b 46 14	 mov	 eax, DWORD PTR [esi+20]
  00013	2b c2		 sub	 eax, edx
  00015	c1 f8 02	 sar	 eax, 2
  00018	8b c8		 mov	 ecx, eax
$LN30@Insert_n@2:

; 1162 : 
; 1163 : 		if (_Count == 0)

  0001a	8b 7c 24 18	 mov	 edi, DWORD PTR __Count$[esp+8]
  0001e	85 ff		 test	 edi, edi
  00020	0f 84 7c 01 00
	00		 je	 $LN1@Insert_n@2
  00026	53		 push	 ebx

; 1164 : 			;
; 1165 : 		else if (max_size() - size() < _Count)

  00027	8b 5e 10	 mov	 ebx, DWORD PTR [esi+16]
  0002a	8b c3		 mov	 eax, ebx
  0002c	2b c2		 sub	 eax, edx
  0002e	c1 f8 02	 sar	 eax, 2
  00031	ba ff ff ff 3f	 mov	 edx, 1073741823		; 3fffffffH
  00036	2b d0		 sub	 edx, eax
  00038	3b d7		 cmp	 edx, edi
  0003a	73 05		 jae	 SHORT $LN12@Insert_n@2

; 1166 : 			_Xlen();	// result too long

  0003c	e8 00 00 00 00	 call	 ?_Xlen@?$vector@HV?$allocator@H@std@@@std@@KAXXZ ; std::vector<int,std::allocator<int> >::_Xlen
$LN64@Insert_n@2:
$LN12@Insert_n@2:

; 1167 : 		else if (_Capacity < size() + _Count)

  00041	8d 14 38	 lea	 edx, DWORD PTR [eax+edi]
  00044	55		 push	 ebp
  00045	3b ca		 cmp	 ecx, edx
  00047	0f 83 b5 00 00
	00		 jae	 $LN10@Insert_n@2

; 1168 : 			{	// not enough room, reallocate
; 1169 : 			_Capacity = max_size() - _Capacity / 2 < _Capacity
; 1170 : 				? 0 : _Capacity + _Capacity / 2;	// try to grow by 50%

  0004d	8b c1		 mov	 eax, ecx
  0004f	d1 e8		 shr	 eax, 1
  00051	bb ff ff ff 3f	 mov	 ebx, 1073741823		; 3fffffffH
  00056	2b d8		 sub	 ebx, eax
  00058	3b d9		 cmp	 ebx, ecx
  0005a	73 0e		 jae	 SHORT $LN17@Insert_n@2
  0005c	c7 44 24 10 00
	00 00 00	 mov	 DWORD PTR __Capacity$[esp+20], 0
  00064	8b 4c 24 10	 mov	 ecx, DWORD PTR __Capacity$[esp+20]
  00068	eb 06		 jmp	 SHORT $LN18@Insert_n@2
$LN17@Insert_n@2:
  0006a	03 c8		 add	 ecx, eax
  0006c	89 4c 24 10	 mov	 DWORD PTR __Capacity$[esp+20], ecx
$LN18@Insert_n@2:

; 1171 : 			if (_Capacity < size() + _Count)

  00070	3b ca		 cmp	 ecx, edx
  00072	73 06		 jae	 SHORT $LN9@Insert_n@2

; 1172 : 				_Capacity = size() + _Count;

  00074	89 54 24 10	 mov	 DWORD PTR __Capacity$[esp+20], edx
  00078	8b ca		 mov	 ecx, edx
$LN9@Insert_n@2:

; 1173 : 			pointer _Newvec = this->_Alval.allocate(_Capacity);

  0007a	6a 00		 push	 0
  0007c	51		 push	 ecx
  0007d	e8 00 00 00 00	 call	 ??$_Allocate@H@std@@YAPAHIPAH@Z ; std::_Allocate<int>

; 1174 : 			size_type _Whereoff = _VEC_ITER_BASE(_Where) - _Myfirst;

  00082	8b 5c 24 24	 mov	 ebx, DWORD PTR __Where$[esp+28]
  00086	2b 5e 0c	 sub	 ebx, DWORD PTR [esi+12]
  00089	83 c4 08	 add	 esp, 8
  0008c	8b e8		 mov	 ebp, eax

; 1175 : 			int _Ncopied = 0;
; 1176 : 
; 1177 : 			_TRY_BEGIN
; 1178 : 			_Ufill(_Newvec + _Whereoff, _Count, _Val);	// add new stuff

  0008e	8b 44 24 24	 mov	 eax, DWORD PTR __Val$[esp+16]
  00092	50		 push	 eax
  00093	c1 fb 02	 sar	 ebx, 2
  00096	57		 push	 edi
  00097	8d 4c 9d 00	 lea	 ecx, DWORD PTR [ebp+ebx*4]
  0009b	51		 push	 ecx
  0009c	8b ce		 mov	 ecx, esi
  0009e	e8 00 00 00 00	 call	 ?_Ufill@?$vector@HV?$allocator@H@std@@@std@@IAEPAHPAHIABH@Z ; std::vector<int,std::allocator<int> >::_Ufill

; 1179 : 			++_Ncopied;
; 1180 : 			_Umove(this->_Myfirst, _VEC_ITER_BASE(_Where),
; 1181 : 				_Newvec);	// move prefix

  000a3	8b 54 24 1c	 mov	 edx, DWORD PTR __Where$[esp+20]
  000a7	8b 46 0c	 mov	 eax, DWORD PTR [esi+12]
  000aa	55		 push	 ebp
  000ab	52		 push	 edx
  000ac	50		 push	 eax
  000ad	8b ce		 mov	 ecx, esi
  000af	e8 00 00 00 00	 call	 ??$_Umove@PAH@?$vector@HV?$allocator@H@std@@@std@@IAEPAHPAH00@Z ; std::vector<int,std::allocator<int> >::_Umove<int *>

; 1182 : 			++_Ncopied;
; 1183 : 			_Umove(_VEC_ITER_BASE(_Where), this->_Mylast,
; 1184 : 				_Newvec + (_Whereoff + _Count));	// move suffix

  000b4	8b 56 10	 mov	 edx, DWORD PTR [esi+16]
  000b7	8b 44 24 1c	 mov	 eax, DWORD PTR __Where$[esp+20]
  000bb	03 df		 add	 ebx, edi
  000bd	8d 4c 9d 00	 lea	 ecx, DWORD PTR [ebp+ebx*4]
  000c1	51		 push	 ecx
  000c2	52		 push	 edx
  000c3	50		 push	 eax
  000c4	8b ce		 mov	 ecx, esi
  000c6	e8 00 00 00 00	 call	 ??$_Umove@PAH@?$vector@HV?$allocator@H@std@@@std@@IAEPAHPAH00@Z ; std::vector<int,std::allocator<int> >::_Umove<int *>

; 1185 : 			_CATCH_ALL
; 1186 : 			if (1 < _Ncopied)
; 1187 : 				_Destroy(_Newvec, _Newvec + _Whereoff);
; 1188 : 			if (0 < _Ncopied)
; 1189 : 				_Destroy(_Newvec + _Whereoff, _Newvec + _Whereoff + _Count);
; 1190 : 			this->_Alval.deallocate(_Newvec, _Capacity);
; 1191 : 			_RERAISE;
; 1192 : 			_CATCH_END
; 1193 : 
; 1194 : 			_Count += size();

  000cb	8b 46 0c	 mov	 eax, DWORD PTR [esi+12]
  000ce	8b 4e 10	 mov	 ecx, DWORD PTR [esi+16]
  000d1	2b c8		 sub	 ecx, eax
  000d3	c1 f9 02	 sar	 ecx, 2
  000d6	03 f9		 add	 edi, ecx

; 1195 : 			if (_Myfirst != 0)

  000d8	85 c0		 test	 eax, eax
  000da	74 09		 je	 SHORT $LN57@Insert_n@2

; 1196 : 				{	// destroy and deallocate old array
; 1197 : 				_Destroy(_Myfirst, _Mylast);
; 1198 : 				this->_Alval.deallocate(_Myfirst, _Myend - _Myfirst);

  000dc	50		 push	 eax
  000dd	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  000e2	83 c4 04	 add	 esp, 4
$LN57@Insert_n@2:

; 1199 : 				}
; 1200 : 
; 1201 :  #if _HAS_ITERATOR_DEBUGGING
; 1202 : 			this->_Orphan_all();
; 1203 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1204 : 
; 1205 : 			_Myend = _Newvec + _Capacity;

  000e5	8b 54 24 10	 mov	 edx, DWORD PTR __Capacity$[esp+20]

; 1206 : 			_Mylast = _Newvec + _Count;

  000e9	8d 4c bd 00	 lea	 ecx, DWORD PTR [ebp+edi*4]
  000ed	8d 44 95 00	 lea	 eax, DWORD PTR [ebp+edx*4]

; 1207 : 			_Myfirst = _Newvec;

  000f1	89 6e 0c	 mov	 DWORD PTR [esi+12], ebp
  000f4	5d		 pop	 ebp
  000f5	5b		 pop	 ebx
  000f6	5f		 pop	 edi
  000f7	89 46 14	 mov	 DWORD PTR [esi+20], eax
  000fa	89 4e 10	 mov	 DWORD PTR [esi+16], ecx
  000fd	5e		 pop	 esi

; 1249 : 			}
; 1250 : 		}

  000fe	59		 pop	 ecx
  000ff	c2 10 00	 ret	 16			; 00000010H
$LN10@Insert_n@2:

; 1208 : 			}
; 1209 : 		else if ((size_type)(_Mylast - _VEC_ITER_BASE(_Where)) < _Count)

  00102	8b 44 24 1c	 mov	 eax, DWORD PTR __Where$[esp+20]

; 1210 : 			{	// new stuff spills off end
; 1211 : 			_Ty _Tmp = _Val;	// in case _Val is in sequence

  00106	8b 4c 24 24	 mov	 ecx, DWORD PTR __Val$[esp+16]
  0010a	8b d3		 mov	 edx, ebx
  0010c	2b d0		 sub	 edx, eax
  0010e	c1 fa 02	 sar	 edx, 2
  00111	3b d7		 cmp	 edx, edi
  00113	8b 11		 mov	 edx, DWORD PTR [ecx]

; 1212 : 
; 1213 : 			_Umove(_VEC_ITER_BASE(_Where), _Mylast,
; 1214 : 				_VEC_ITER_BASE(_Where) + _Count);	// copy suffix

  00115	8d 2c bd 00 00
	00 00		 lea	 ebp, DWORD PTR [edi*4]
  0011c	89 54 24 24	 mov	 DWORD PTR __Tmp$96450[esp+16], edx
  00120	73 4c		 jae	 SHORT $LN3@Insert_n@2
  00122	8d 0c 28	 lea	 ecx, DWORD PTR [eax+ebp]
  00125	51		 push	 ecx
  00126	53		 push	 ebx
  00127	50		 push	 eax
  00128	8b ce		 mov	 ecx, esi
  0012a	e8 00 00 00 00	 call	 ??$_Umove@PAH@?$vector@HV?$allocator@H@std@@@std@@IAEPAHPAH00@Z ; std::vector<int,std::allocator<int> >::_Umove<int *>

; 1215 : 
; 1216 : 			_TRY_BEGIN
; 1217 : 			_Ufill(_Mylast, _Count - (_Mylast - _VEC_ITER_BASE(_Where)),
; 1218 : 				_Tmp);	// insert new stuff off end

  0012f	8b 46 10	 mov	 eax, DWORD PTR [esi+16]
  00132	8b c8		 mov	 ecx, eax
  00134	2b 4c 24 1c	 sub	 ecx, DWORD PTR __Where$[esp+20]
  00138	8d 54 24 24	 lea	 edx, DWORD PTR __Tmp$96450[esp+16]
  0013c	c1 f9 02	 sar	 ecx, 2
  0013f	52		 push	 edx
  00140	2b f9		 sub	 edi, ecx
  00142	57		 push	 edi
  00143	50		 push	 eax
  00144	8b ce		 mov	 ecx, esi
  00146	e8 00 00 00 00	 call	 ?_Ufill@?$vector@HV?$allocator@H@std@@@std@@IAEPAHPAHIABH@Z ; std::vector<int,std::allocator<int> >::_Ufill

; 1219 : 			_CATCH_ALL
; 1220 : 			_Destroy(_VEC_ITER_BASE(_Where) + _Count, _Mylast + _Count);
; 1221 : 			_RERAISE;
; 1222 : 			_CATCH_END
; 1223 : 
; 1224 : 			_Mylast += _Count;

  0014b	01 6e 10	 add	 DWORD PTR [esi+16], ebp
  0014e	8b 76 10	 mov	 esi, DWORD PTR [esi+16]

; 1225 : 
; 1226 :  #if _HAS_ITERATOR_DEBUGGING
; 1227 : 			_Orphan_range(_Where._Myptr, _Mylast);
; 1228 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1229 : 
; 1230 : 			std::fill(_VEC_ITER_BASE(_Where), _Mylast - _Count,
; 1231 : 				_Tmp);	// insert up to old end

  00151	8b 44 24 1c	 mov	 eax, DWORD PTR __Where$[esp+20]
  00155	8d 54 24 24	 lea	 edx, DWORD PTR __Tmp$96450[esp+16]
  00159	52		 push	 edx
  0015a	2b f5		 sub	 esi, ebp
  0015c	56		 push	 esi
  0015d	50		 push	 eax
  0015e	e8 00 00 00 00	 call	 ??$fill@PAHH@std@@YAXPAH0ABH@Z ; std::fill<int *,int>
  00163	83 c4 0c	 add	 esp, 12			; 0000000cH
  00166	5d		 pop	 ebp
  00167	5b		 pop	 ebx
  00168	5f		 pop	 edi
  00169	5e		 pop	 esi

; 1249 : 			}
; 1250 : 		}

  0016a	59		 pop	 ecx
  0016b	c2 10 00	 ret	 16			; 00000010H
$LN3@Insert_n@2:

; 1232 : 			}
; 1233 : 		else
; 1234 : 			{	// new stuff can all be assigned
; 1235 : 			_Ty _Tmp = _Val;	// in case _Val is in sequence
; 1236 : 
; 1237 : 			pointer _Oldend = _Mylast;
; 1238 : 			_Mylast = _Umove(_Oldend - _Count, _Oldend,
; 1239 : 				_Mylast);	// copy suffix

  0016e	53		 push	 ebx
  0016f	8b fb		 mov	 edi, ebx
  00171	53		 push	 ebx
  00172	2b fd		 sub	 edi, ebp
  00174	57		 push	 edi
  00175	8b ce		 mov	 ecx, esi
  00177	e8 00 00 00 00	 call	 ??$_Umove@PAH@?$vector@HV?$allocator@H@std@@@std@@IAEPAHPAH00@Z ; std::vector<int,std::allocator<int> >::_Umove<int *>

; 1240 : 
; 1241 :  #if _HAS_ITERATOR_DEBUGGING
; 1242 : 			_Orphan_range(_Where._Myptr, _Mylast);
; 1243 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1244 : 
; 1245 : 			_STDEXT _Unchecked_move_backward(_VEC_ITER_BASE(_Where), _Oldend - _Count,
; 1246 : 				_Oldend);	// copy hole

  0017c	53		 push	 ebx
  0017d	89 46 10	 mov	 DWORD PTR [esi+16], eax
  00180	8b 44 24 20	 mov	 eax, DWORD PTR __Where$[esp+24]
  00184	57		 push	 edi
  00185	50		 push	 eax
  00186	e8 00 00 00 00	 call	 ??$_Unchecked_move_backward@PAHPAH@stdext@@YAPAHPAH00@Z ; stdext::_Unchecked_move_backward<int *,int *>

; 1247 : 			std::fill(_VEC_ITER_BASE(_Where), _VEC_ITER_BASE(_Where) + _Count,
; 1248 : 				_Tmp);	// insert into hole

  0018b	8b 44 24 28	 mov	 eax, DWORD PTR __Where$[esp+32]
  0018f	8d 4c 24 30	 lea	 ecx, DWORD PTR __Tmp$96460[esp+28]
  00193	51		 push	 ecx
  00194	03 e8		 add	 ebp, eax
  00196	55		 push	 ebp
  00197	50		 push	 eax
  00198	e8 00 00 00 00	 call	 ??$fill@PAHH@std@@YAXPAH0ABH@Z ; std::fill<int *,int>
  0019d	83 c4 18	 add	 esp, 24			; 00000018H
  001a0	5d		 pop	 ebp
  001a1	5b		 pop	 ebx
$LN1@Insert_n@2:
  001a2	5f		 pop	 edi
  001a3	5e		 pop	 esi

; 1249 : 			}
; 1250 : 		}

  001a4	59		 pop	 ecx
  001a5	c2 10 00	 ret	 16			; 00000010H
$LN63@Insert_n@2:
?_Insert_n@?$vector@HV?$allocator@H@std@@@std@@IAEXV?$_Vector_const_iterator@HV?$allocator@H@std@@@2@IABH@Z ENDP ; std::vector<int,std::allocator<int> >::_Insert_n
_TEXT	ENDS
PUBLIC	?_Buy@?$vector@NV?$allocator@N@std@@@std@@IAE_NI@Z ; std::vector<double,std::allocator<double> >::_Buy
; Function compile flags: /Ogtpy
;	COMDAT ?_Buy@?$vector@NV?$allocator@N@std@@@std@@IAE_NI@Z
_TEXT	SEGMENT
__Capacity$ = 8						; size = 4
?_Buy@?$vector@NV?$allocator@N@std@@@std@@IAE_NI@Z PROC	; std::vector<double,std::allocator<double> >::_Buy, COMDAT
; _this$ = ecx

; 1102 : 		{	// allocate array with _Capacity elements

  00000	56		 push	 esi

; 1103 : 		_Myfirst = 0, _Mylast = 0, _Myend = 0;

  00001	33 c0		 xor	 eax, eax
  00003	57		 push	 edi

; 1104 : 		if (_Capacity == 0)

  00004	8b 7c 24 0c	 mov	 edi, DWORD PTR __Capacity$[esp+4]
  00008	8b f1		 mov	 esi, ecx
  0000a	89 46 0c	 mov	 DWORD PTR [esi+12], eax
  0000d	89 46 10	 mov	 DWORD PTR [esi+16], eax
  00010	89 46 14	 mov	 DWORD PTR [esi+20], eax
  00013	3b f8		 cmp	 edi, eax
  00015	75 07		 jne	 SHORT $LN4@Buy@2
  00017	5f		 pop	 edi

; 1105 : 			return (false);

  00018	32 c0		 xor	 al, al
  0001a	5e		 pop	 esi

; 1115 : 		}

  0001b	c2 04 00	 ret	 4
$LN4@Buy@2:

; 1106 : 		else if (max_size() < _Capacity)

  0001e	81 ff ff ff ff
	1f		 cmp	 edi, 536870911		; 1fffffffH
  00024	76 05		 jbe	 SHORT $LN2@Buy@2

; 1107 : 			_Xlen();	// result too long

  00026	e8 00 00 00 00	 call	 ?_Xlen@?$vector@NV?$allocator@N@std@@@std@@KAXXZ ; std::vector<double,std::allocator<double> >::_Xlen
$LN16@Buy@2:
$LN2@Buy@2:

; 1108 : 		else
; 1109 : 			{	// nonempty array, allocate storage
; 1110 : 			_Myfirst = this->_Alval.allocate(_Capacity);

  0002b	50		 push	 eax
  0002c	57		 push	 edi
  0002d	e8 00 00 00 00	 call	 ??$_Allocate@N@std@@YAPANIPAN@Z ; std::_Allocate<double>
  00032	89 46 0c	 mov	 DWORD PTR [esi+12], eax

; 1111 : 			_Mylast = _Myfirst;

  00035	89 46 10	 mov	 DWORD PTR [esi+16], eax
  00038	83 c4 08	 add	 esp, 8

; 1112 : 			_Myend = _Myfirst + _Capacity;

  0003b	8d 04 f8	 lea	 eax, DWORD PTR [eax+edi*8]
  0003e	89 46 14	 mov	 DWORD PTR [esi+20], eax
  00041	5f		 pop	 edi

; 1113 : 			}
; 1114 : 		return (true);

  00042	b0 01		 mov	 al, 1
  00044	5e		 pop	 esi

; 1115 : 		}

  00045	c2 04 00	 ret	 4
$LN15@Buy@2:
?_Buy@?$vector@NV?$allocator@N@std@@@std@@IAE_NI@Z ENDP	; std::vector<double,std::allocator<double> >::_Buy
_TEXT	ENDS
PUBLIC	?insert@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@V?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@ABQAVCSymTable@@@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::insert
; Function compile flags: /Ogtpy
;	COMDAT ?insert@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@V?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@ABQAVCSymTable@@@Z
_TEXT	SEGMENT
__Tmp$113487 = -8					; size = 8
___$ReturnUdt$ = 8					; size = 4
__Where$ = 12						; size = 8
__Val$ = 20						; size = 4
?insert@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@V?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@ABQAVCSymTable@@@Z PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::insert, COMDAT
; _this$ = ecx

; 875  : 		{	// insert _Val at _Where

  00000	83 ec 08	 sub	 esp, 8
  00003	53		 push	 ebx
  00004	55		 push	 ebp
  00005	56		 push	 esi
  00006	8b f1		 mov	 esi, ecx

; 876  : 		size_type _Off = size() == 0 ? 0 : _Where - begin();

  00008	8b 46 10	 mov	 eax, DWORD PTR [esi+16]
  0000b	57		 push	 edi
  0000c	8b 7e 0c	 mov	 edi, DWORD PTR [esi+12]
  0000f	8b c8		 mov	 ecx, eax
  00011	2b cf		 sub	 ecx, edi
  00013	f7 c1 fc ff ff
	ff		 test	 ecx, -4			; fffffffcH
  00019	75 04		 jne	 SHORT $LN3@insert
  0001b	33 db		 xor	 ebx, ebx
  0001d	eb 25		 jmp	 SHORT $LN4@insert
$LN3@insert:
  0001f	3b f8		 cmp	 edi, eax
  00021	76 05		 jbe	 SHORT $LN13@insert
  00023	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN13@insert:
  00028	8b 4c 24 20	 mov	 ecx, DWORD PTR __Where$[esp+20]
  0002c	8b 06		 mov	 eax, DWORD PTR [esi]
  0002e	85 c9		 test	 ecx, ecx
  00030	74 04		 je	 SHORT $LN29@insert
  00032	3b c8		 cmp	 ecx, eax
  00034	74 05		 je	 SHORT $LN28@insert
$LN29@insert:
  00036	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN28@insert:
  0003b	8b 5c 24 24	 mov	 ebx, DWORD PTR __Where$[esp+24]
  0003f	2b df		 sub	 ebx, edi
  00041	c1 fb 02	 sar	 ebx, 2
$LN4@insert:

; 877  : 		_Insert_n(_Where, (size_type)1, _Val);

  00044	8b 54 24 28	 mov	 edx, DWORD PTR __Val$[esp+20]
  00048	8b 44 24 24	 mov	 eax, DWORD PTR __Where$[esp+24]
  0004c	8b 4c 24 20	 mov	 ecx, DWORD PTR __Where$[esp+20]
  00050	52		 push	 edx
  00051	6a 01		 push	 1
  00053	50		 push	 eax
  00054	51		 push	 ecx
  00055	8b ce		 mov	 ecx, esi
  00057	e8 00 00 00 00	 call	 ?_Insert_n@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@IABQAVCSymTable@@@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Insert_n

; 878  : 		return (begin() + _Off);

  0005c	8b 7e 0c	 mov	 edi, DWORD PTR [esi+12]
  0005f	3b 7e 10	 cmp	 edi, DWORD PTR [esi+16]
  00062	76 05		 jbe	 SHORT $LN43@insert
  00064	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN43@insert:
  00069	8b 36		 mov	 esi, DWORD PTR [esi]
  0006b	8b ee		 mov	 ebp, esi
  0006d	89 7c 24 14	 mov	 DWORD PTR __Tmp$113487[esp+28], edi
  00071	85 f6		 test	 esi, esi
  00073	75 17		 jne	 SHORT $LN85@insert
  00075	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  0007a	33 c0		 xor	 eax, eax
$LN76@insert:
  0007c	8d 3c 9f	 lea	 edi, DWORD PTR [edi+ebx*4]
  0007f	3b 78 10	 cmp	 edi, DWORD PTR [eax+16]
  00082	77 13		 ja	 SHORT $LN63@insert
  00084	85 f6		 test	 esi, esi
  00086	74 08		 je	 SHORT $LN81@insert
  00088	8b 36		 mov	 esi, DWORD PTR [esi]
  0008a	eb 06		 jmp	 SHORT $LN82@insert
$LN85@insert:
  0008c	8b 06		 mov	 eax, DWORD PTR [esi]
  0008e	eb ec		 jmp	 SHORT $LN76@insert
$LN81@insert:
  00090	33 f6		 xor	 esi, esi
$LN82@insert:
  00092	3b 7e 0c	 cmp	 edi, DWORD PTR [esi+12]
  00095	73 05		 jae	 SHORT $LN62@insert
$LN63@insert:
  00097	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN62@insert:
  0009c	8b 44 24 1c	 mov	 eax, DWORD PTR ___$ReturnUdt$[esp+20]
  000a0	89 78 04	 mov	 DWORD PTR [eax+4], edi
  000a3	5f		 pop	 edi
  000a4	5e		 pop	 esi
  000a5	89 28		 mov	 DWORD PTR [eax], ebp
  000a7	5d		 pop	 ebp
  000a8	5b		 pop	 ebx

; 879  : 		}

  000a9	83 c4 08	 add	 esp, 8
  000ac	c2 10 00	 ret	 16			; 00000010H
?insert@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@V?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@ABQAVCSymTable@@@Z ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::insert
_TEXT	ENDS
PUBLIC	?_Buy@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAE_NI@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Buy
; Function compile flags: /Ogtpy
;	COMDAT ?_Buy@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAE_NI@Z
_TEXT	SEGMENT
__Capacity$ = 8						; size = 4
?_Buy@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAE_NI@Z PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Buy, COMDAT
; _this$ = ecx

; 1102 : 		{	// allocate array with _Capacity elements

  00000	56		 push	 esi

; 1103 : 		_Myfirst = 0, _Mylast = 0, _Myend = 0;

  00001	33 c0		 xor	 eax, eax
  00003	57		 push	 edi

; 1104 : 		if (_Capacity == 0)

  00004	8b 7c 24 0c	 mov	 edi, DWORD PTR __Capacity$[esp+4]
  00008	8b f1		 mov	 esi, ecx
  0000a	89 46 0c	 mov	 DWORD PTR [esi+12], eax
  0000d	89 46 10	 mov	 DWORD PTR [esi+16], eax
  00010	89 46 14	 mov	 DWORD PTR [esi+20], eax
  00013	3b f8		 cmp	 edi, eax
  00015	75 07		 jne	 SHORT $LN4@Buy@3
  00017	5f		 pop	 edi

; 1105 : 			return (false);

  00018	32 c0		 xor	 al, al
  0001a	5e		 pop	 esi

; 1115 : 		}

  0001b	c2 04 00	 ret	 4
$LN4@Buy@3:

; 1106 : 		else if (max_size() < _Capacity)

  0001e	81 ff ff ff ff
	3f		 cmp	 edi, 1073741823		; 3fffffffH
  00024	76 05		 jbe	 SHORT $LN2@Buy@3

; 1107 : 			_Xlen();	// result too long

  00026	e8 00 00 00 00	 call	 ?_Xlen@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@KAXXZ ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Xlen
$LN16@Buy@3:
$LN2@Buy@3:

; 1108 : 		else
; 1109 : 			{	// nonempty array, allocate storage
; 1110 : 			_Myfirst = this->_Alval.allocate(_Capacity);

  0002b	50		 push	 eax
  0002c	57		 push	 edi
  0002d	e8 00 00 00 00	 call	 ??$_Allocate@PAVCSymTable@@@std@@YAPAPAVCSymTable@@IPAPAV1@@Z ; std::_Allocate<CSymTable *>
  00032	89 46 0c	 mov	 DWORD PTR [esi+12], eax

; 1111 : 			_Mylast = _Myfirst;

  00035	89 46 10	 mov	 DWORD PTR [esi+16], eax
  00038	83 c4 08	 add	 esp, 8

; 1112 : 			_Myend = _Myfirst + _Capacity;

  0003b	8d 04 b8	 lea	 eax, DWORD PTR [eax+edi*4]
  0003e	89 46 14	 mov	 DWORD PTR [esi+20], eax
  00041	5f		 pop	 edi

; 1113 : 			}
; 1114 : 		return (true);

  00042	b0 01		 mov	 al, 1
  00044	5e		 pop	 esi

; 1115 : 		}

  00045	c2 04 00	 ret	 4
$LN15@Buy@3:
?_Buy@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@IAE_NI@Z ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::_Buy
_TEXT	ENDS
PUBLIC	?_Insert_n@?$vector@NV?$allocator@N@std@@@std@@IAEXV?$_Vector_const_iterator@NV?$allocator@N@std@@@2@IABN@Z ; std::vector<double,std::allocator<double> >::_Insert_n
; Function compile flags: /Ogtpy
;	COMDAT ?_Insert_n@?$vector@NV?$allocator@N@std@@@std@@IAEXV?$_Vector_const_iterator@NV?$allocator@N@std@@@2@IABN@Z
_TEXT	SEGMENT
__Tmp$96882 = -8					; size = 8
__Tmp$96872 = -8					; size = 8
__Capacity$ = -8					; size = 4
__Where$ = 8						; size = 8
__Count$ = 16						; size = 4
__Val$ = 20						; size = 4
?_Insert_n@?$vector@NV?$allocator@N@std@@@std@@IAEXV?$_Vector_const_iterator@NV?$allocator@N@std@@@2@IABN@Z PROC ; std::vector<double,std::allocator<double> >::_Insert_n, COMDAT
; _this$ = ecx

; 1153 : 		{	// insert _Count * _Val at _Where

  00000	83 ec 08	 sub	 esp, 8
  00003	56		 push	 esi
  00004	8b f1		 mov	 esi, ecx

; 1154 : 
; 1155 :  #if _HAS_ITERATOR_DEBUGGING
; 1156 : 		if (_Where._Mycont != this
; 1157 : 			|| _Where._Myptr < _Myfirst || _Mylast < _Where._Myptr)
; 1158 : 			_DEBUG_ERROR("vector insert iterator outside range");
; 1159 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1160 : 
; 1161 : 		size_type _Capacity = capacity();

  00006	8b 56 0c	 mov	 edx, DWORD PTR [esi+12]
  00009	57		 push	 edi
  0000a	85 d2		 test	 edx, edx
  0000c	75 04		 jne	 SHORT $LN29@Insert_n@3
  0000e	33 c9		 xor	 ecx, ecx
  00010	eb 0a		 jmp	 SHORT $LN30@Insert_n@3
$LN29@Insert_n@3:
  00012	8b 46 14	 mov	 eax, DWORD PTR [esi+20]
  00015	2b c2		 sub	 eax, edx
  00017	c1 f8 03	 sar	 eax, 3
  0001a	8b c8		 mov	 ecx, eax
$LN30@Insert_n@3:

; 1162 : 
; 1163 : 		if (_Count == 0)

  0001c	8b 7c 24 1c	 mov	 edi, DWORD PTR __Count$[esp+12]
  00020	85 ff		 test	 edi, edi
  00022	0f 84 8a 01 00
	00		 je	 $LN1@Insert_n@3
  00028	53		 push	 ebx

; 1164 : 			;
; 1165 : 		else if (max_size() - size() < _Count)

  00029	8b 5e 10	 mov	 ebx, DWORD PTR [esi+16]
  0002c	8b c3		 mov	 eax, ebx
  0002e	2b c2		 sub	 eax, edx
  00030	c1 f8 03	 sar	 eax, 3
  00033	ba ff ff ff 1f	 mov	 edx, 536870911		; 1fffffffH
  00038	2b d0		 sub	 edx, eax
  0003a	3b d7		 cmp	 edx, edi
  0003c	73 05		 jae	 SHORT $LN12@Insert_n@3

; 1166 : 			_Xlen();	// result too long

  0003e	e8 00 00 00 00	 call	 ?_Xlen@?$vector@NV?$allocator@N@std@@@std@@KAXXZ ; std::vector<double,std::allocator<double> >::_Xlen
$LN64@Insert_n@3:
$LN12@Insert_n@3:

; 1167 : 		else if (_Capacity < size() + _Count)

  00043	8d 14 38	 lea	 edx, DWORD PTR [eax+edi]
  00046	55		 push	 ebp
  00047	3b ca		 cmp	 ecx, edx
  00049	0f 83 b7 00 00
	00		 jae	 $LN10@Insert_n@3

; 1168 : 			{	// not enough room, reallocate
; 1169 : 			_Capacity = max_size() - _Capacity / 2 < _Capacity
; 1170 : 				? 0 : _Capacity + _Capacity / 2;	// try to grow by 50%

  0004f	8b c1		 mov	 eax, ecx
  00051	d1 e8		 shr	 eax, 1
  00053	bb ff ff ff 1f	 mov	 ebx, 536870911		; 1fffffffH
  00058	2b d8		 sub	 ebx, eax
  0005a	3b d9		 cmp	 ebx, ecx
  0005c	73 0e		 jae	 SHORT $LN17@Insert_n@3
  0005e	c7 44 24 10 00
	00 00 00	 mov	 DWORD PTR __Capacity$[esp+24], 0
  00066	8b 4c 24 10	 mov	 ecx, DWORD PTR __Capacity$[esp+24]
  0006a	eb 06		 jmp	 SHORT $LN18@Insert_n@3
$LN17@Insert_n@3:
  0006c	03 c8		 add	 ecx, eax
  0006e	89 4c 24 10	 mov	 DWORD PTR __Capacity$[esp+24], ecx
$LN18@Insert_n@3:

; 1171 : 			if (_Capacity < size() + _Count)

  00072	3b ca		 cmp	 ecx, edx
  00074	73 06		 jae	 SHORT $LN9@Insert_n@3

; 1172 : 				_Capacity = size() + _Count;

  00076	89 54 24 10	 mov	 DWORD PTR __Capacity$[esp+24], edx
  0007a	8b ca		 mov	 ecx, edx
$LN9@Insert_n@3:

; 1173 : 			pointer _Newvec = this->_Alval.allocate(_Capacity);

  0007c	6a 00		 push	 0
  0007e	51		 push	 ecx
  0007f	e8 00 00 00 00	 call	 ??$_Allocate@N@std@@YAPANIPAN@Z ; std::_Allocate<double>

; 1174 : 			size_type _Whereoff = _VEC_ITER_BASE(_Where) - _Myfirst;

  00084	8b 5c 24 28	 mov	 ebx, DWORD PTR __Where$[esp+32]
  00088	2b 5e 0c	 sub	 ebx, DWORD PTR [esi+12]
  0008b	83 c4 08	 add	 esp, 8
  0008e	8b e8		 mov	 ebp, eax

; 1175 : 			int _Ncopied = 0;
; 1176 : 
; 1177 : 			_TRY_BEGIN
; 1178 : 			_Ufill(_Newvec + _Whereoff, _Count, _Val);	// add new stuff

  00090	8b 44 24 28	 mov	 eax, DWORD PTR __Val$[esp+20]
  00094	50		 push	 eax
  00095	c1 fb 03	 sar	 ebx, 3
  00098	57		 push	 edi
  00099	8d 4c dd 00	 lea	 ecx, DWORD PTR [ebp+ebx*8]
  0009d	51		 push	 ecx
  0009e	8b ce		 mov	 ecx, esi
  000a0	e8 00 00 00 00	 call	 ?_Ufill@?$vector@NV?$allocator@N@std@@@std@@IAEPANPANIABN@Z ; std::vector<double,std::allocator<double> >::_Ufill

; 1179 : 			++_Ncopied;
; 1180 : 			_Umove(this->_Myfirst, _VEC_ITER_BASE(_Where),
; 1181 : 				_Newvec);	// move prefix

  000a5	8b 54 24 20	 mov	 edx, DWORD PTR __Where$[esp+24]
  000a9	8b 46 0c	 mov	 eax, DWORD PTR [esi+12]
  000ac	55		 push	 ebp
  000ad	52		 push	 edx
  000ae	50		 push	 eax
  000af	8b ce		 mov	 ecx, esi
  000b1	e8 00 00 00 00	 call	 ??$_Umove@PAN@?$vector@NV?$allocator@N@std@@@std@@IAEPANPAN00@Z ; std::vector<double,std::allocator<double> >::_Umove<double *>

; 1182 : 			++_Ncopied;
; 1183 : 			_Umove(_VEC_ITER_BASE(_Where), this->_Mylast,
; 1184 : 				_Newvec + (_Whereoff + _Count));	// move suffix

  000b6	8b 56 10	 mov	 edx, DWORD PTR [esi+16]
  000b9	8b 44 24 20	 mov	 eax, DWORD PTR __Where$[esp+24]
  000bd	03 df		 add	 ebx, edi
  000bf	8d 4c dd 00	 lea	 ecx, DWORD PTR [ebp+ebx*8]
  000c3	51		 push	 ecx
  000c4	52		 push	 edx
  000c5	50		 push	 eax
  000c6	8b ce		 mov	 ecx, esi
  000c8	e8 00 00 00 00	 call	 ??$_Umove@PAN@?$vector@NV?$allocator@N@std@@@std@@IAEPANPAN00@Z ; std::vector<double,std::allocator<double> >::_Umove<double *>

; 1185 : 			_CATCH_ALL
; 1186 : 			if (1 < _Ncopied)
; 1187 : 				_Destroy(_Newvec, _Newvec + _Whereoff);
; 1188 : 			if (0 < _Ncopied)
; 1189 : 				_Destroy(_Newvec + _Whereoff, _Newvec + _Whereoff + _Count);
; 1190 : 			this->_Alval.deallocate(_Newvec, _Capacity);
; 1191 : 			_RERAISE;
; 1192 : 			_CATCH_END
; 1193 : 
; 1194 : 			_Count += size();

  000cd	8b 46 0c	 mov	 eax, DWORD PTR [esi+12]
  000d0	8b 4e 10	 mov	 ecx, DWORD PTR [esi+16]
  000d3	2b c8		 sub	 ecx, eax
  000d5	c1 f9 03	 sar	 ecx, 3
  000d8	03 f9		 add	 edi, ecx

; 1195 : 			if (_Myfirst != 0)

  000da	85 c0		 test	 eax, eax
  000dc	74 09		 je	 SHORT $LN57@Insert_n@3

; 1196 : 				{	// destroy and deallocate old array
; 1197 : 				_Destroy(_Myfirst, _Mylast);
; 1198 : 				this->_Alval.deallocate(_Myfirst, _Myend - _Myfirst);

  000de	50		 push	 eax
  000df	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  000e4	83 c4 04	 add	 esp, 4
$LN57@Insert_n@3:

; 1199 : 				}
; 1200 : 
; 1201 :  #if _HAS_ITERATOR_DEBUGGING
; 1202 : 			this->_Orphan_all();
; 1203 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1204 : 
; 1205 : 			_Myend = _Newvec + _Capacity;

  000e7	8b 54 24 10	 mov	 edx, DWORD PTR __Capacity$[esp+24]

; 1206 : 			_Mylast = _Newvec + _Count;

  000eb	8d 4c fd 00	 lea	 ecx, DWORD PTR [ebp+edi*8]
  000ef	8d 44 d5 00	 lea	 eax, DWORD PTR [ebp+edx*8]

; 1207 : 			_Myfirst = _Newvec;

  000f3	89 6e 0c	 mov	 DWORD PTR [esi+12], ebp
  000f6	5d		 pop	 ebp
  000f7	5b		 pop	 ebx
  000f8	5f		 pop	 edi
  000f9	89 46 14	 mov	 DWORD PTR [esi+20], eax
  000fc	89 4e 10	 mov	 DWORD PTR [esi+16], ecx
  000ff	5e		 pop	 esi

; 1249 : 			}
; 1250 : 		}

  00100	83 c4 08	 add	 esp, 8
  00103	c2 10 00	 ret	 16			; 00000010H
$LN10@Insert_n@3:

; 1208 : 			}
; 1209 : 		else if ((size_type)(_Mylast - _VEC_ITER_BASE(_Where)) < _Count)

  00106	8b 44 24 20	 mov	 eax, DWORD PTR __Where$[esp+24]
  0010a	8b d3		 mov	 edx, ebx
  0010c	2b d0		 sub	 edx, eax
  0010e	c1 fa 03	 sar	 edx, 3

; 1210 : 			{	// new stuff spills off end
; 1211 : 			_Ty _Tmp = _Val;	// in case _Val is in sequence
; 1212 : 
; 1213 : 			_Umove(_VEC_ITER_BASE(_Where), _Mylast,
; 1214 : 				_VEC_ITER_BASE(_Where) + _Count);	// copy suffix

  00111	8d 2c fd 00 00
	00 00		 lea	 ebp, DWORD PTR [edi*8]
  00118	3b d7		 cmp	 edx, edi
  0011a	73 58		 jae	 SHORT $LN3@Insert_n@3
  0011c	8b 4c 24 28	 mov	 ecx, DWORD PTR __Val$[esp+20]
  00120	dd 01		 fld	 QWORD PTR [ecx]
  00122	8d 14 28	 lea	 edx, DWORD PTR [eax+ebp]
  00125	52		 push	 edx
  00126	dd 5c 24 14	 fstp	 QWORD PTR __Tmp$96872[esp+28]
  0012a	53		 push	 ebx
  0012b	50		 push	 eax
  0012c	8b ce		 mov	 ecx, esi
  0012e	e8 00 00 00 00	 call	 ??$_Umove@PAN@?$vector@NV?$allocator@N@std@@@std@@IAEPANPAN00@Z ; std::vector<double,std::allocator<double> >::_Umove<double *>

; 1215 : 
; 1216 : 			_TRY_BEGIN
; 1217 : 			_Ufill(_Mylast, _Count - (_Mylast - _VEC_ITER_BASE(_Where)),
; 1218 : 				_Tmp);	// insert new stuff off end

  00133	8b 46 10	 mov	 eax, DWORD PTR [esi+16]
  00136	8b d0		 mov	 edx, eax
  00138	2b 54 24 20	 sub	 edx, DWORD PTR __Where$[esp+24]
  0013c	8d 4c 24 10	 lea	 ecx, DWORD PTR __Tmp$96872[esp+24]
  00140	51		 push	 ecx
  00141	c1 fa 03	 sar	 edx, 3
  00144	2b fa		 sub	 edi, edx
  00146	57		 push	 edi
  00147	50		 push	 eax
  00148	8b ce		 mov	 ecx, esi
  0014a	e8 00 00 00 00	 call	 ?_Ufill@?$vector@NV?$allocator@N@std@@@std@@IAEPANPANIABN@Z ; std::vector<double,std::allocator<double> >::_Ufill

; 1219 : 			_CATCH_ALL
; 1220 : 			_Destroy(_VEC_ITER_BASE(_Where) + _Count, _Mylast + _Count);
; 1221 : 			_RERAISE;
; 1222 : 			_CATCH_END
; 1223 : 
; 1224 : 			_Mylast += _Count;

  0014f	01 6e 10	 add	 DWORD PTR [esi+16], ebp
  00152	8b 76 10	 mov	 esi, DWORD PTR [esi+16]

; 1225 : 
; 1226 :  #if _HAS_ITERATOR_DEBUGGING
; 1227 : 			_Orphan_range(_Where._Myptr, _Mylast);
; 1228 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1229 : 
; 1230 : 			std::fill(_VEC_ITER_BASE(_Where), _Mylast - _Count,
; 1231 : 				_Tmp);	// insert up to old end

  00155	8b 4c 24 20	 mov	 ecx, DWORD PTR __Where$[esp+24]
  00159	8d 44 24 10	 lea	 eax, DWORD PTR __Tmp$96872[esp+24]
  0015d	50		 push	 eax
  0015e	2b f5		 sub	 esi, ebp
  00160	56		 push	 esi
  00161	51		 push	 ecx
  00162	e8 00 00 00 00	 call	 ??$fill@PANN@std@@YAXPAN0ABN@Z ; std::fill<double *,double>
  00167	83 c4 0c	 add	 esp, 12			; 0000000cH
  0016a	5d		 pop	 ebp
  0016b	5b		 pop	 ebx
  0016c	5f		 pop	 edi
  0016d	5e		 pop	 esi

; 1249 : 			}
; 1250 : 		}

  0016e	83 c4 08	 add	 esp, 8
  00171	c2 10 00	 ret	 16			; 00000010H
$LN3@Insert_n@3:

; 1232 : 			}
; 1233 : 		else
; 1234 : 			{	// new stuff can all be assigned
; 1235 : 			_Ty _Tmp = _Val;	// in case _Val is in sequence

  00174	8b 54 24 28	 mov	 edx, DWORD PTR __Val$[esp+20]
  00178	dd 02		 fld	 QWORD PTR [edx]

; 1236 : 
; 1237 : 			pointer _Oldend = _Mylast;
; 1238 : 			_Mylast = _Umove(_Oldend - _Count, _Oldend,
; 1239 : 				_Mylast);	// copy suffix

  0017a	53		 push	 ebx
  0017b	8b fb		 mov	 edi, ebx
  0017d	dd 5c 24 14	 fstp	 QWORD PTR __Tmp$96882[esp+28]
  00181	53		 push	 ebx
  00182	2b fd		 sub	 edi, ebp
  00184	57		 push	 edi
  00185	8b ce		 mov	 ecx, esi
  00187	e8 00 00 00 00	 call	 ??$_Umove@PAN@?$vector@NV?$allocator@N@std@@@std@@IAEPANPAN00@Z ; std::vector<double,std::allocator<double> >::_Umove<double *>

; 1240 : 
; 1241 :  #if _HAS_ITERATOR_DEBUGGING
; 1242 : 			_Orphan_range(_Where._Myptr, _Mylast);
; 1243 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1244 : 
; 1245 : 			_STDEXT _Unchecked_move_backward(_VEC_ITER_BASE(_Where), _Oldend - _Count,
; 1246 : 				_Oldend);	// copy hole

  0018c	53		 push	 ebx
  0018d	89 46 10	 mov	 DWORD PTR [esi+16], eax
  00190	8b 44 24 24	 mov	 eax, DWORD PTR __Where$[esp+28]
  00194	57		 push	 edi
  00195	50		 push	 eax
  00196	e8 00 00 00 00	 call	 ??$_Unchecked_move_backward@PANPAN@stdext@@YAPANPAN00@Z ; stdext::_Unchecked_move_backward<double *,double *>

; 1247 : 			std::fill(_VEC_ITER_BASE(_Where), _VEC_ITER_BASE(_Where) + _Count,
; 1248 : 				_Tmp);	// insert into hole

  0019b	8b 44 24 2c	 mov	 eax, DWORD PTR __Where$[esp+36]
  0019f	8d 4c 24 1c	 lea	 ecx, DWORD PTR __Tmp$96882[esp+36]
  001a3	51		 push	 ecx
  001a4	03 e8		 add	 ebp, eax
  001a6	55		 push	 ebp
  001a7	50		 push	 eax
  001a8	e8 00 00 00 00	 call	 ??$fill@PANN@std@@YAXPAN0ABN@Z ; std::fill<double *,double>
  001ad	83 c4 18	 add	 esp, 24			; 00000018H
  001b0	5d		 pop	 ebp
  001b1	5b		 pop	 ebx
$LN1@Insert_n@3:
  001b2	5f		 pop	 edi
  001b3	5e		 pop	 esi

; 1249 : 			}
; 1250 : 		}

  001b4	83 c4 08	 add	 esp, 8
  001b7	c2 10 00	 ret	 16			; 00000010H
$LN63@Insert_n@3:
?_Insert_n@?$vector@NV?$allocator@N@std@@@std@@IAEXV?$_Vector_const_iterator@NV?$allocator@N@std@@@2@IABN@Z ENDP ; std::vector<double,std::allocator<double> >::_Insert_n
_TEXT	ENDS
PUBLIC	??_7CPoly@@6B@					; CPoly::`vftable'
PUBLIC	??1CPoly@@UAE@XZ				; CPoly::~CPoly
PUBLIC	??_R4CPoly@@6B@					; CPoly::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVCPoly@@@8				; CPoly `RTTI Type Descriptor'
PUBLIC	??_R3CPoly@@8					; CPoly::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CPoly@@8					; CPoly::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CPoly@@8				; CPoly::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN	??_ECPoly@@UAEPAXI@Z:PROC			; CPoly::`vector deleting destructor'
;	COMDAT ??_R1A@?0A@EA@CPoly@@8
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
rdata$r	SEGMENT
??_R1A@?0A@EA@CPoly@@8 DD FLAT:??_R0?AVCPoly@@@8	; CPoly::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CPoly@@8
rdata$r	ENDS
;	COMDAT ??_R2CPoly@@8
rdata$r	SEGMENT
??_R2CPoly@@8 DD FLAT:??_R1A@?0A@EA@CPoly@@8		; CPoly::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3CPoly@@8
rdata$r	SEGMENT
??_R3CPoly@@8 DD 00H					; CPoly::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2CPoly@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCPoly@@@8
_DATA	SEGMENT
??_R0?AVCPoly@@@8 DD FLAT:??_7type_info@@6B@		; CPoly `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCPoly@@', 00H
_DATA	ENDS
;	COMDAT ??_R4CPoly@@6B@
rdata$r	SEGMENT
??_R4CPoly@@6B@ DD 00H					; CPoly::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCPoly@@@8
	DD	FLAT:??_R3CPoly@@8
rdata$r	ENDS
;	COMDAT ??_7CPoly@@6B@
CONST	SEGMENT
??_7CPoly@@6B@ DD FLAT:??_R4CPoly@@6B@			; CPoly::`vftable'
	DD	FLAT:??_ECPoly@@UAEPAXI@Z
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$??1CPoly@@UAE@XZ DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$??1CPoly@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??1CPoly@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CPoly@@UAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1CPoly@@UAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??1CPoly@@UAE@XZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$??1CPoly@@UAE@XZ$3
	DD	03H
	DD	FLAT:__unwindfunclet$??1CPoly@@UAE@XZ$4
; Function compile flags: /Ogtpy
; File d:\# metin2\work in progress\source client\client\eterbase\poly\poly.cpp
xdata$x	ENDS
;	COMDAT ??1CPoly@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CPoly@@UAE@XZ PROC					; CPoly::~CPoly, COMDAT
; _this$ = ecx

; 59   : {

  00000	6a ff		 push	 -1
  00002	68 00 00 00 00	 push	 __ehhandler$??1CPoly@@UAE@XZ
  00007	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  0000d	50		 push	 eax
  0000e	51		 push	 ecx
  0000f	53		 push	 ebx
  00010	56		 push	 esi
  00011	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00016	33 c4		 xor	 eax, esp
  00018	50		 push	 eax
  00019	8d 44 24 10	 lea	 eax, DWORD PTR __$EHRec$[esp+28]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	8b f1		 mov	 esi, ecx
  00025	89 74 24 0c	 mov	 DWORD PTR _this$[esp+28], esi
  00029	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], OFFSET ??_7CPoly@@6B@
  0002f	c7 44 24 18 04
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+36], 4

; 60   :     Clear();

  00037	e8 00 00 00 00	 call	 ?Clear@CPoly@@QAEXXZ	; CPoly::Clear

; 61   : }

  0003c	83 be a8 00 00
	00 10		 cmp	 DWORD PTR [esi+168], 16	; 00000010H
  00043	72 0f		 jb	 SHORT $LN24@CPoly
  00045	8b 86 94 00 00
	00		 mov	 eax, DWORD PTR [esi+148]
  0004b	50		 push	 eax
  0004c	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00051	83 c4 04	 add	 esp, 4
$LN24@CPoly:
  00054	33 db		 xor	 ebx, ebx
  00056	c7 86 a8 00 00
	00 0f 00 00 00	 mov	 DWORD PTR [esi+168], 15	; 0000000fH
  00060	89 9e a4 00 00
	00		 mov	 DWORD PTR [esi+164], ebx
  00066	88 9e 94 00 00
	00		 mov	 BYTE PTR [esi+148], bl
  0006c	8b 46 7c	 mov	 eax, DWORD PTR [esi+124]
  0006f	3b c3		 cmp	 eax, ebx
  00071	74 09		 je	 SHORT $LN39@CPoly
  00073	50		 push	 eax
  00074	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00079	83 c4 04	 add	 esp, 4
$LN39@CPoly:
  0007c	8b 4e 70	 mov	 ecx, DWORD PTR [esi+112]
  0007f	51		 push	 ecx
  00080	89 5e 7c	 mov	 DWORD PTR [esi+124], ebx
  00083	89 9e 80 00 00
	00		 mov	 DWORD PTR [esi+128], ebx
  00089	89 9e 84 00 00
	00		 mov	 DWORD PTR [esi+132], ebx
  0008f	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00094	8b 46 64	 mov	 eax, DWORD PTR [esi+100]
  00097	83 c4 04	 add	 esp, 4
  0009a	3b c3		 cmp	 eax, ebx
  0009c	74 09		 je	 SHORT $LN54@CPoly
  0009e	50		 push	 eax
  0009f	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  000a4	83 c4 04	 add	 esp, 4
$LN54@CPoly:
  000a7	8b 56 58	 mov	 edx, DWORD PTR [esi+88]
  000aa	52		 push	 edx
  000ab	89 5e 64	 mov	 DWORD PTR [esi+100], ebx
  000ae	89 5e 68	 mov	 DWORD PTR [esi+104], ebx
  000b1	89 5e 6c	 mov	 DWORD PTR [esi+108], ebx
  000b4	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  000b9	8b 46 4c	 mov	 eax, DWORD PTR [esi+76]
  000bc	83 c4 04	 add	 esp, 4
  000bf	3b c3		 cmp	 eax, ebx
  000c1	74 09		 je	 SHORT $LN69@CPoly
  000c3	50		 push	 eax
  000c4	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  000c9	83 c4 04	 add	 esp, 4
$LN69@CPoly:
  000cc	8b 46 40	 mov	 eax, DWORD PTR [esi+64]
  000cf	50		 push	 eax
  000d0	89 5e 4c	 mov	 DWORD PTR [esi+76], ebx
  000d3	89 5e 50	 mov	 DWORD PTR [esi+80], ebx
  000d6	89 5e 54	 mov	 DWORD PTR [esi+84], ebx
  000d9	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  000de	8b 46 34	 mov	 eax, DWORD PTR [esi+52]
  000e1	83 c4 04	 add	 esp, 4
  000e4	3b c3		 cmp	 eax, ebx
  000e6	74 09		 je	 SHORT $LN84@CPoly
  000e8	50		 push	 eax
  000e9	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  000ee	83 c4 04	 add	 esp, 4
$LN84@CPoly:
  000f1	8b 4e 28	 mov	 ecx, DWORD PTR [esi+40]
  000f4	51		 push	 ecx
  000f5	89 5e 34	 mov	 DWORD PTR [esi+52], ebx
  000f8	89 5e 38	 mov	 DWORD PTR [esi+56], ebx
  000fb	89 5e 3c	 mov	 DWORD PTR [esi+60], ebx
  000fe	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00103	83 c4 04	 add	 esp, 4
  00106	8b 4c 24 10	 mov	 ecx, DWORD PTR __$EHRec$[esp+28]
  0010a	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00111	59		 pop	 ecx
  00112	5e		 pop	 esi
  00113	5b		 pop	 ebx
  00114	83 c4 10	 add	 esp, 16			; 00000010H
  00117	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CPoly@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	83 c1 28	 add	 ecx, 40			; 00000028H
  00006	e9 00 00 00 00	 jmp	 ??1?$vector@HV?$allocator@H@std@@@std@@QAE@XZ ; std::vector<int,std::allocator<int> >::~vector<int,std::allocator<int> >
__unwindfunclet$??1CPoly@@UAE@XZ$1:
  0000b	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	83 c1 40	 add	 ecx, 64			; 00000040H
  00011	e9 00 00 00 00	 jmp	 ??1?$vector@NV?$allocator@N@std@@@std@@QAE@XZ ; std::vector<double,std::allocator<double> >::~vector<double,std::allocator<double> >
__unwindfunclet$??1CPoly@@UAE@XZ$2:
  00016	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00019	83 c1 58	 add	 ecx, 88			; 00000058H
  0001c	e9 00 00 00 00	 jmp	 ??1?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ ; std::vector<CSymTable *,std::allocator<CSymTable *> >::~vector<CSymTable *,std::allocator<CSymTable *> >
__unwindfunclet$??1CPoly@@UAE@XZ$3:
  00021	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00024	83 c1 70	 add	 ecx, 112		; 00000070H
  00027	e9 00 00 00 00	 jmp	 ??1?$vector@HV?$allocator@H@std@@@std@@QAE@XZ ; std::vector<int,std::allocator<int> >::~vector<int,std::allocator<int> >
__unwindfunclet$??1CPoly@@UAE@XZ$4:
  0002c	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0002f	81 c1 90 00 00
	00		 add	 ecx, 144		; 00000090H
  00035	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__ehhandler$??1CPoly@@UAE@XZ:
  0003a	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0003e	8d 42 f4	 lea	 eax, DWORD PTR [edx-12]
  00041	8b 4a f0	 mov	 ecx, DWORD PTR [edx-16]
  00044	33 c8		 xor	 ecx, eax
  00046	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0004b	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1CPoly@@UAE@XZ
  00050	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CPoly@@UAE@XZ ENDP					; CPoly::~CPoly
PUBLIC	??0?$vector@HV?$allocator@H@std@@@std@@QAE@XZ	; std::vector<int,std::allocator<int> >::vector<int,std::allocator<int> >
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\exception
xdata$x	SEGMENT
__unwindtable$??0?$vector@HV?$allocator@H@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$vector@HV?$allocator@H@std@@@std@@QAE@XZ$0
__ehfuncinfo$??0?$vector@HV?$allocator@H@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$vector@HV?$allocator@H@std@@@std@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
xdata$x	ENDS
;	COMDAT ??0?$vector@HV?$allocator@H@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0?$vector@HV?$allocator@H@std@@@std@@QAE@XZ PROC	; std::vector<int,std::allocator<int> >::vector<int,std::allocator<int> >, COMDAT
; _this$ = ecx

; 470  : 		{	// construct empty vector

  00000	6a ff		 push	 -1
  00002	68 00 00 00 00	 push	 __ehhandler$??0?$vector@HV?$allocator@H@std@@@std@@QAE@XZ
  00007	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  0000d	50		 push	 eax
  0000e	51		 push	 ecx
  0000f	56		 push	 esi
  00010	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00015	33 c4		 xor	 eax, esp
  00017	50		 push	 eax
  00018	8d 44 24 0c	 lea	 eax, DWORD PTR __$EHRec$[esp+24]
  0001c	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00022	8b f1		 mov	 esi, ecx
  00024	6a 04		 push	 4
  00026	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0002b	33 c9		 xor	 ecx, ecx
  0002d	83 c4 04	 add	 esp, 4
  00030	3b c1		 cmp	 eax, ecx
  00032	74 04		 je	 SHORT $LN13@vector@4
  00034	89 30		 mov	 DWORD PTR [eax], esi
  00036	eb 02		 jmp	 SHORT $LN14@vector@4
$LN13@vector@4:
  00038	33 c0		 xor	 eax, eax
$LN14@vector@4:
  0003a	89 06		 mov	 DWORD PTR [esi], eax

; 471  : 		_Buy(0);

  0003c	89 4e 0c	 mov	 DWORD PTR [esi+12], ecx
  0003f	89 4e 10	 mov	 DWORD PTR [esi+16], ecx
  00042	89 4e 14	 mov	 DWORD PTR [esi+20], ecx

; 472  : 		}

  00045	8b c6		 mov	 eax, esi
  00047	8b 4c 24 0c	 mov	 ecx, DWORD PTR __$EHRec$[esp+24]
  0004b	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00052	59		 pop	 ecx
  00053	5e		 pop	 esi
  00054	83 c4 10	 add	 esp, 16			; 00000010H
  00057	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$vector@HV?$allocator@H@std@@@std@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$_Vector_val@HV?$allocator@H@std@@@std@@QAE@XZ
__ehhandler$??0?$vector@HV?$allocator@H@std@@@std@@QAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 f8	 lea	 eax, DWORD PTR [edx-8]
  0000f	8b 4a f4	 mov	 ecx, DWORD PTR [edx-12]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0?$vector@HV?$allocator@H@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$vector@HV?$allocator@H@std@@@std@@QAE@XZ ENDP	; std::vector<int,std::allocator<int> >::vector<int,std::allocator<int> >
PUBLIC	?insert@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@ABH@Z ; std::vector<int,std::allocator<int> >::insert
; Function compile flags: /Ogtpy
;	COMDAT ?insert@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@ABH@Z
_TEXT	SEGMENT
__Tmp$114426 = -8					; size = 8
___$ReturnUdt$ = 8					; size = 4
__Where$ = 12						; size = 8
__Val$ = 20						; size = 4
?insert@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@ABH@Z PROC ; std::vector<int,std::allocator<int> >::insert, COMDAT
; _this$ = ecx

; 875  : 		{	// insert _Val at _Where

  00000	83 ec 08	 sub	 esp, 8
  00003	53		 push	 ebx
  00004	55		 push	 ebp
  00005	56		 push	 esi
  00006	8b f1		 mov	 esi, ecx

; 876  : 		size_type _Off = size() == 0 ? 0 : _Where - begin();

  00008	8b 46 10	 mov	 eax, DWORD PTR [esi+16]
  0000b	57		 push	 edi
  0000c	8b 7e 0c	 mov	 edi, DWORD PTR [esi+12]
  0000f	8b c8		 mov	 ecx, eax
  00011	2b cf		 sub	 ecx, edi
  00013	f7 c1 fc ff ff
	ff		 test	 ecx, -4			; fffffffcH
  00019	75 04		 jne	 SHORT $LN3@insert@2
  0001b	33 db		 xor	 ebx, ebx
  0001d	eb 25		 jmp	 SHORT $LN4@insert@2
$LN3@insert@2:
  0001f	3b f8		 cmp	 edi, eax
  00021	76 05		 jbe	 SHORT $LN13@insert@2
  00023	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN13@insert@2:
  00028	8b 4c 24 20	 mov	 ecx, DWORD PTR __Where$[esp+20]
  0002c	8b 06		 mov	 eax, DWORD PTR [esi]
  0002e	85 c9		 test	 ecx, ecx
  00030	74 04		 je	 SHORT $LN29@insert@2
  00032	3b c8		 cmp	 ecx, eax
  00034	74 05		 je	 SHORT $LN28@insert@2
$LN29@insert@2:
  00036	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN28@insert@2:
  0003b	8b 5c 24 24	 mov	 ebx, DWORD PTR __Where$[esp+24]
  0003f	2b df		 sub	 ebx, edi
  00041	c1 fb 02	 sar	 ebx, 2
$LN4@insert@2:

; 877  : 		_Insert_n(_Where, (size_type)1, _Val);

  00044	8b 54 24 28	 mov	 edx, DWORD PTR __Val$[esp+20]
  00048	8b 44 24 24	 mov	 eax, DWORD PTR __Where$[esp+24]
  0004c	8b 4c 24 20	 mov	 ecx, DWORD PTR __Where$[esp+20]
  00050	52		 push	 edx
  00051	6a 01		 push	 1
  00053	50		 push	 eax
  00054	51		 push	 ecx
  00055	8b ce		 mov	 ecx, esi
  00057	e8 00 00 00 00	 call	 ?_Insert_n@?$vector@HV?$allocator@H@std@@@std@@IAEXV?$_Vector_const_iterator@HV?$allocator@H@std@@@2@IABH@Z ; std::vector<int,std::allocator<int> >::_Insert_n

; 878  : 		return (begin() + _Off);

  0005c	8b 7e 0c	 mov	 edi, DWORD PTR [esi+12]
  0005f	3b 7e 10	 cmp	 edi, DWORD PTR [esi+16]
  00062	76 05		 jbe	 SHORT $LN43@insert@2
  00064	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN43@insert@2:
  00069	8b 36		 mov	 esi, DWORD PTR [esi]
  0006b	8b ee		 mov	 ebp, esi
  0006d	89 7c 24 14	 mov	 DWORD PTR __Tmp$114426[esp+28], edi
  00071	85 f6		 test	 esi, esi
  00073	75 17		 jne	 SHORT $LN85@insert@2
  00075	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  0007a	33 c0		 xor	 eax, eax
$LN76@insert@2:
  0007c	8d 3c 9f	 lea	 edi, DWORD PTR [edi+ebx*4]
  0007f	3b 78 10	 cmp	 edi, DWORD PTR [eax+16]
  00082	77 13		 ja	 SHORT $LN63@insert@2
  00084	85 f6		 test	 esi, esi
  00086	74 08		 je	 SHORT $LN81@insert@2
  00088	8b 36		 mov	 esi, DWORD PTR [esi]
  0008a	eb 06		 jmp	 SHORT $LN82@insert@2
$LN85@insert@2:
  0008c	8b 06		 mov	 eax, DWORD PTR [esi]
  0008e	eb ec		 jmp	 SHORT $LN76@insert@2
$LN81@insert@2:
  00090	33 f6		 xor	 esi, esi
$LN82@insert@2:
  00092	3b 7e 0c	 cmp	 edi, DWORD PTR [esi+12]
  00095	73 05		 jae	 SHORT $LN62@insert@2
$LN63@insert@2:
  00097	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN62@insert@2:
  0009c	8b 44 24 1c	 mov	 eax, DWORD PTR ___$ReturnUdt$[esp+20]
  000a0	89 78 04	 mov	 DWORD PTR [eax+4], edi
  000a3	5f		 pop	 edi
  000a4	5e		 pop	 esi
  000a5	89 28		 mov	 DWORD PTR [eax], ebp
  000a7	5d		 pop	 ebp
  000a8	5b		 pop	 ebx

; 879  : 		}

  000a9	83 c4 08	 add	 esp, 8
  000ac	c2 10 00	 ret	 16			; 00000010H
?insert@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@ABH@Z ENDP ; std::vector<int,std::allocator<int> >::insert
_TEXT	ENDS
PUBLIC	??0?$vector@NV?$allocator@N@std@@@std@@QAE@XZ	; std::vector<double,std::allocator<double> >::vector<double,std::allocator<double> >
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\exception
xdata$x	SEGMENT
__unwindtable$??0?$vector@NV?$allocator@N@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$vector@NV?$allocator@N@std@@@std@@QAE@XZ$0
__ehfuncinfo$??0?$vector@NV?$allocator@N@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$vector@NV?$allocator@N@std@@@std@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
xdata$x	ENDS
;	COMDAT ??0?$vector@NV?$allocator@N@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0?$vector@NV?$allocator@N@std@@@std@@QAE@XZ PROC	; std::vector<double,std::allocator<double> >::vector<double,std::allocator<double> >, COMDAT
; _this$ = ecx

; 470  : 		{	// construct empty vector

  00000	6a ff		 push	 -1
  00002	68 00 00 00 00	 push	 __ehhandler$??0?$vector@NV?$allocator@N@std@@@std@@QAE@XZ
  00007	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  0000d	50		 push	 eax
  0000e	51		 push	 ecx
  0000f	56		 push	 esi
  00010	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00015	33 c4		 xor	 eax, esp
  00017	50		 push	 eax
  00018	8d 44 24 0c	 lea	 eax, DWORD PTR __$EHRec$[esp+24]
  0001c	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00022	8b f1		 mov	 esi, ecx
  00024	6a 04		 push	 4
  00026	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0002b	33 c9		 xor	 ecx, ecx
  0002d	83 c4 04	 add	 esp, 4
  00030	3b c1		 cmp	 eax, ecx
  00032	74 04		 je	 SHORT $LN13@vector@5
  00034	89 30		 mov	 DWORD PTR [eax], esi
  00036	eb 02		 jmp	 SHORT $LN14@vector@5
$LN13@vector@5:
  00038	33 c0		 xor	 eax, eax
$LN14@vector@5:
  0003a	89 06		 mov	 DWORD PTR [esi], eax

; 471  : 		_Buy(0);

  0003c	89 4e 0c	 mov	 DWORD PTR [esi+12], ecx
  0003f	89 4e 10	 mov	 DWORD PTR [esi+16], ecx
  00042	89 4e 14	 mov	 DWORD PTR [esi+20], ecx

; 472  : 		}

  00045	8b c6		 mov	 eax, esi
  00047	8b 4c 24 0c	 mov	 ecx, DWORD PTR __$EHRec$[esp+24]
  0004b	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00052	59		 pop	 ecx
  00053	5e		 pop	 esi
  00054	83 c4 10	 add	 esp, 16			; 00000010H
  00057	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$vector@NV?$allocator@N@std@@@std@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$_Vector_val@NV?$allocator@N@std@@@std@@QAE@XZ
__ehhandler$??0?$vector@NV?$allocator@N@std@@@std@@QAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 f8	 lea	 eax, DWORD PTR [edx-8]
  0000f	8b 4a f4	 mov	 ecx, DWORD PTR [edx-12]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0?$vector@NV?$allocator@N@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$vector@NV?$allocator@N@std@@@std@@QAE@XZ ENDP	; std::vector<double,std::allocator<double> >::vector<double,std::allocator<double> >
PUBLIC	??0?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ ; std::vector<CSymTable *,std::allocator<CSymTable *> >::vector<CSymTable *,std::allocator<CSymTable *> >
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\exception
xdata$x	SEGMENT
__unwindtable$??0?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??0?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
xdata$x	ENDS
;	COMDAT ??0?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::vector<CSymTable *,std::allocator<CSymTable *> >, COMDAT
; _this$ = ecx

; 470  : 		{	// construct empty vector

  00000	6a ff		 push	 -1
  00002	68 00 00 00 00	 push	 __ehhandler$??0?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ
  00007	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  0000d	50		 push	 eax
  0000e	51		 push	 ecx
  0000f	56		 push	 esi
  00010	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00015	33 c4		 xor	 eax, esp
  00017	50		 push	 eax
  00018	8d 44 24 0c	 lea	 eax, DWORD PTR __$EHRec$[esp+24]
  0001c	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00022	8b f1		 mov	 esi, ecx
  00024	6a 04		 push	 4
  00026	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0002b	33 c9		 xor	 ecx, ecx
  0002d	83 c4 04	 add	 esp, 4
  00030	3b c1		 cmp	 eax, ecx
  00032	74 04		 je	 SHORT $LN13@vector@6
  00034	89 30		 mov	 DWORD PTR [eax], esi
  00036	eb 02		 jmp	 SHORT $LN14@vector@6
$LN13@vector@6:
  00038	33 c0		 xor	 eax, eax
$LN14@vector@6:
  0003a	89 06		 mov	 DWORD PTR [esi], eax

; 471  : 		_Buy(0);

  0003c	89 4e 0c	 mov	 DWORD PTR [esi+12], ecx
  0003f	89 4e 10	 mov	 DWORD PTR [esi+16], ecx
  00042	89 4e 14	 mov	 DWORD PTR [esi+20], ecx

; 472  : 		}

  00045	8b c6		 mov	 eax, esi
  00047	8b 4c 24 0c	 mov	 ecx, DWORD PTR __$EHRec$[esp+24]
  0004b	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00052	59		 pop	 ecx
  00053	5e		 pop	 esi
  00054	83 c4 10	 add	 esp, 16			; 00000010H
  00057	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$_Vector_val@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ
__ehhandler$??0?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 f8	 lea	 eax, DWORD PTR [edx-8]
  0000f	8b 4a f4	 mov	 ecx, DWORD PTR [edx-12]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::vector<CSymTable *,std::allocator<CSymTable *> >
PUBLIC	?push_back@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEXABQAVCSymTable@@@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::push_back
; Function compile flags: /Ogtpy
;	COMDAT ?push_back@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEXABQAVCSymTable@@@Z
_TEXT	SEGMENT
$T114827 = -8						; size = 8
__Val$ = 8						; size = 4
?push_back@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEXABQAVCSymTable@@@Z PROC ; std::vector<CSymTable *,std::allocator<CSymTable *> >::push_back, COMDAT
; _this$ = ecx

; 809  : 		{	// insert element at end

  00000	83 ec 08	 sub	 esp, 8
  00003	56		 push	 esi
  00004	8b f1		 mov	 esi, ecx

; 810  : 		if (size() < capacity())

  00006	8b 4e 0c	 mov	 ecx, DWORD PTR [esi+12]
  00009	57		 push	 edi
  0000a	85 c9		 test	 ecx, ecx
  0000c	75 04		 jne	 SHORT $LN9@push_back
  0000e	33 c0		 xor	 eax, eax
  00010	eb 08		 jmp	 SHORT $LN10@push_back
$LN9@push_back:
  00012	8b 46 14	 mov	 eax, DWORD PTR [esi+20]
  00015	2b c1		 sub	 eax, ecx
  00017	c1 f8 02	 sar	 eax, 2
$LN10@push_back:
  0001a	8b 7e 10	 mov	 edi, DWORD PTR [esi+16]
  0001d	8b d7		 mov	 edx, edi
  0001f	2b d1		 sub	 edx, ecx
  00021	c1 fa 02	 sar	 edx, 2
  00024	3b d0		 cmp	 edx, eax
  00026	73 16		 jae	 SHORT $LN2@push_back

; 811  : 
; 812  :  #if _HAS_ITERATOR_DEBUGGING
; 813  : 			{ // room at end, construct it there
; 814  : 			_Orphan_range(_Mylast, _Mylast);
; 815  : 			_Mylast = _Ufill(_Mylast, 1, _Val);
; 816  : 			}
; 817  : 
; 818  :  #else /* _HAS_ITERATOR_DEBUGGING */
; 819  : 			_Mylast = _Ufill(_Mylast, 1, _Val);

  00028	8b 44 24 14	 mov	 eax, DWORD PTR __Val$[esp+12]
  0002c	8b 08		 mov	 ecx, DWORD PTR [eax]
  0002e	89 0f		 mov	 DWORD PTR [edi], ecx
  00030	83 c7 04	 add	 edi, 4
  00033	89 7e 10	 mov	 DWORD PTR [esi+16], edi
  00036	5f		 pop	 edi
  00037	5e		 pop	 esi

; 824  : 		}

  00038	83 c4 08	 add	 esp, 8
  0003b	c2 04 00	 ret	 4
$LN2@push_back:

; 820  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 821  : 
; 822  : 		else
; 823  : 			insert(end(), _Val);

  0003e	3b cf		 cmp	 ecx, edi
  00040	76 05		 jbe	 SHORT $LN40@push_back
  00042	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN40@push_back:
  00047	8b 54 24 14	 mov	 edx, DWORD PTR __Val$[esp+12]
  0004b	8b 06		 mov	 eax, DWORD PTR [esi]
  0004d	52		 push	 edx
  0004e	57		 push	 edi
  0004f	50		 push	 eax
  00050	8d 44 24 14	 lea	 eax, DWORD PTR $T114827[esp+28]
  00054	50		 push	 eax
  00055	8b ce		 mov	 ecx, esi
  00057	e8 00 00 00 00	 call	 ?insert@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@V?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@ABQAVCSymTable@@@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::insert
  0005c	5f		 pop	 edi
  0005d	5e		 pop	 esi

; 824  : 		}

  0005e	83 c4 08	 add	 esp, 8
  00061	c2 04 00	 ret	 4
?push_back@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEXABQAVCSymTable@@@Z ENDP ; std::vector<CSymTable *,std::allocator<CSymTable *> >::push_back
_TEXT	ENDS
PUBLIC	?insert@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@V?$_Vector_const_iterator@NV?$allocator@N@std@@@2@ABN@Z ; std::vector<double,std::allocator<double> >::insert
; Function compile flags: /Ogtpy
;	COMDAT ?insert@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@V?$_Vector_const_iterator@NV?$allocator@N@std@@@2@ABN@Z
_TEXT	SEGMENT
__Tmp$115364 = -8					; size = 8
___$ReturnUdt$ = 8					; size = 4
__Where$ = 12						; size = 8
__Val$ = 20						; size = 4
?insert@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@V?$_Vector_const_iterator@NV?$allocator@N@std@@@2@ABN@Z PROC ; std::vector<double,std::allocator<double> >::insert, COMDAT
; _this$ = ecx

; 875  : 		{	// insert _Val at _Where

  00000	83 ec 08	 sub	 esp, 8
  00003	53		 push	 ebx
  00004	55		 push	 ebp
  00005	56		 push	 esi
  00006	8b f1		 mov	 esi, ecx

; 876  : 		size_type _Off = size() == 0 ? 0 : _Where - begin();

  00008	8b 46 10	 mov	 eax, DWORD PTR [esi+16]
  0000b	57		 push	 edi
  0000c	8b 7e 0c	 mov	 edi, DWORD PTR [esi+12]
  0000f	8b c8		 mov	 ecx, eax
  00011	2b cf		 sub	 ecx, edi
  00013	f7 c1 f8 ff ff
	ff		 test	 ecx, -8			; fffffff8H
  00019	75 04		 jne	 SHORT $LN3@insert@3
  0001b	33 db		 xor	 ebx, ebx
  0001d	eb 25		 jmp	 SHORT $LN4@insert@3
$LN3@insert@3:
  0001f	3b f8		 cmp	 edi, eax
  00021	76 05		 jbe	 SHORT $LN13@insert@3
  00023	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN13@insert@3:
  00028	8b 4c 24 20	 mov	 ecx, DWORD PTR __Where$[esp+20]
  0002c	8b 06		 mov	 eax, DWORD PTR [esi]
  0002e	85 c9		 test	 ecx, ecx
  00030	74 04		 je	 SHORT $LN29@insert@3
  00032	3b c8		 cmp	 ecx, eax
  00034	74 05		 je	 SHORT $LN28@insert@3
$LN29@insert@3:
  00036	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN28@insert@3:
  0003b	8b 5c 24 24	 mov	 ebx, DWORD PTR __Where$[esp+24]
  0003f	2b df		 sub	 ebx, edi
  00041	c1 fb 03	 sar	 ebx, 3
$LN4@insert@3:

; 877  : 		_Insert_n(_Where, (size_type)1, _Val);

  00044	8b 54 24 28	 mov	 edx, DWORD PTR __Val$[esp+20]
  00048	8b 44 24 24	 mov	 eax, DWORD PTR __Where$[esp+24]
  0004c	8b 4c 24 20	 mov	 ecx, DWORD PTR __Where$[esp+20]
  00050	52		 push	 edx
  00051	6a 01		 push	 1
  00053	50		 push	 eax
  00054	51		 push	 ecx
  00055	8b ce		 mov	 ecx, esi
  00057	e8 00 00 00 00	 call	 ?_Insert_n@?$vector@NV?$allocator@N@std@@@std@@IAEXV?$_Vector_const_iterator@NV?$allocator@N@std@@@2@IABN@Z ; std::vector<double,std::allocator<double> >::_Insert_n

; 878  : 		return (begin() + _Off);

  0005c	8b 7e 0c	 mov	 edi, DWORD PTR [esi+12]
  0005f	3b 7e 10	 cmp	 edi, DWORD PTR [esi+16]
  00062	76 05		 jbe	 SHORT $LN43@insert@3
  00064	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN43@insert@3:
  00069	8b 36		 mov	 esi, DWORD PTR [esi]
  0006b	8b ee		 mov	 ebp, esi
  0006d	89 7c 24 14	 mov	 DWORD PTR __Tmp$115364[esp+28], edi
  00071	85 f6		 test	 esi, esi
  00073	75 17		 jne	 SHORT $LN85@insert@3
  00075	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  0007a	33 c0		 xor	 eax, eax
$LN76@insert@3:
  0007c	8d 3c df	 lea	 edi, DWORD PTR [edi+ebx*8]
  0007f	3b 78 10	 cmp	 edi, DWORD PTR [eax+16]
  00082	77 13		 ja	 SHORT $LN63@insert@3
  00084	85 f6		 test	 esi, esi
  00086	74 08		 je	 SHORT $LN81@insert@3
  00088	8b 36		 mov	 esi, DWORD PTR [esi]
  0008a	eb 06		 jmp	 SHORT $LN82@insert@3
$LN85@insert@3:
  0008c	8b 06		 mov	 eax, DWORD PTR [esi]
  0008e	eb ec		 jmp	 SHORT $LN76@insert@3
$LN81@insert@3:
  00090	33 f6		 xor	 esi, esi
$LN82@insert@3:
  00092	3b 7e 0c	 cmp	 edi, DWORD PTR [esi+12]
  00095	73 05		 jae	 SHORT $LN62@insert@3
$LN63@insert@3:
  00097	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN62@insert@3:
  0009c	8b 44 24 1c	 mov	 eax, DWORD PTR ___$ReturnUdt$[esp+20]
  000a0	89 78 04	 mov	 DWORD PTR [eax+4], edi
  000a3	5f		 pop	 edi
  000a4	5e		 pop	 esi
  000a5	89 28		 mov	 DWORD PTR [eax], ebp
  000a7	5d		 pop	 ebp
  000a8	5b		 pop	 ebx

; 879  : 		}

  000a9	83 c4 08	 add	 esp, 8
  000ac	c2 10 00	 ret	 16			; 00000010H
?insert@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@V?$_Vector_const_iterator@NV?$allocator@N@std@@@2@ABN@Z ENDP ; std::vector<double,std::allocator<double> >::insert
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ??_GCPoly@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GCPoly@@UAEPAXI@Z PROC				; CPoly::`scalar deleting destructor', COMDAT
; _this$ = ecx
  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx
  00003	e8 00 00 00 00	 call	 ??1CPoly@@UAE@XZ	; CPoly::~CPoly
  00008	f6 44 24 08 01	 test	 BYTE PTR ___flags$[esp], 1
  0000d	74 09		 je	 SHORT $LN4@scalar@4
  0000f	56		 push	 esi
  00010	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00015	83 c4 04	 add	 esp, 4
$LN4@scalar@4:
  00018	8b c6		 mov	 eax, esi
  0001a	5e		 pop	 esi
  0001b	c2 04 00	 ret	 4
??_GCPoly@@UAEPAXI@Z ENDP				; CPoly::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?push_back@?$vector@HV?$allocator@H@std@@@std@@QAEXABH@Z ; std::vector<int,std::allocator<int> >::push_back
; Function compile flags: /Ogtpy
;	COMDAT ?push_back@?$vector@HV?$allocator@H@std@@@std@@QAEXABH@Z
_TEXT	SEGMENT
$T115375 = -8						; size = 8
__Val$ = 8						; size = 4
?push_back@?$vector@HV?$allocator@H@std@@@std@@QAEXABH@Z PROC ; std::vector<int,std::allocator<int> >::push_back, COMDAT
; _this$ = ecx

; 809  : 		{	// insert element at end

  00000	83 ec 08	 sub	 esp, 8
  00003	56		 push	 esi
  00004	8b f1		 mov	 esi, ecx

; 810  : 		if (size() < capacity())

  00006	8b 4e 0c	 mov	 ecx, DWORD PTR [esi+12]
  00009	57		 push	 edi
  0000a	85 c9		 test	 ecx, ecx
  0000c	75 04		 jne	 SHORT $LN9@push_back@2
  0000e	33 c0		 xor	 eax, eax
  00010	eb 08		 jmp	 SHORT $LN10@push_back@2
$LN9@push_back@2:
  00012	8b 46 14	 mov	 eax, DWORD PTR [esi+20]
  00015	2b c1		 sub	 eax, ecx
  00017	c1 f8 02	 sar	 eax, 2
$LN10@push_back@2:
  0001a	8b 7e 10	 mov	 edi, DWORD PTR [esi+16]
  0001d	8b d7		 mov	 edx, edi
  0001f	2b d1		 sub	 edx, ecx
  00021	c1 fa 02	 sar	 edx, 2
  00024	3b d0		 cmp	 edx, eax
  00026	73 16		 jae	 SHORT $LN2@push_back@2

; 811  : 
; 812  :  #if _HAS_ITERATOR_DEBUGGING
; 813  : 			{ // room at end, construct it there
; 814  : 			_Orphan_range(_Mylast, _Mylast);
; 815  : 			_Mylast = _Ufill(_Mylast, 1, _Val);
; 816  : 			}
; 817  : 
; 818  :  #else /* _HAS_ITERATOR_DEBUGGING */
; 819  : 			_Mylast = _Ufill(_Mylast, 1, _Val);

  00028	8b 44 24 14	 mov	 eax, DWORD PTR __Val$[esp+12]
  0002c	8b 08		 mov	 ecx, DWORD PTR [eax]
  0002e	89 0f		 mov	 DWORD PTR [edi], ecx
  00030	83 c7 04	 add	 edi, 4
  00033	89 7e 10	 mov	 DWORD PTR [esi+16], edi
  00036	5f		 pop	 edi
  00037	5e		 pop	 esi

; 824  : 		}

  00038	83 c4 08	 add	 esp, 8
  0003b	c2 04 00	 ret	 4
$LN2@push_back@2:

; 820  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 821  : 
; 822  : 		else
; 823  : 			insert(end(), _Val);

  0003e	3b cf		 cmp	 ecx, edi
  00040	76 05		 jbe	 SHORT $LN40@push_back@2
  00042	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN40@push_back@2:
  00047	8b 54 24 14	 mov	 edx, DWORD PTR __Val$[esp+12]
  0004b	8b 06		 mov	 eax, DWORD PTR [esi]
  0004d	52		 push	 edx
  0004e	57		 push	 edi
  0004f	50		 push	 eax
  00050	8d 44 24 14	 lea	 eax, DWORD PTR $T115375[esp+28]
  00054	50		 push	 eax
  00055	8b ce		 mov	 ecx, esi
  00057	e8 00 00 00 00	 call	 ?insert@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@ABH@Z ; std::vector<int,std::allocator<int> >::insert
  0005c	5f		 pop	 edi
  0005d	5e		 pop	 esi

; 824  : 		}

  0005e	83 c4 08	 add	 esp, 8
  00061	c2 04 00	 ret	 4
?push_back@?$vector@HV?$allocator@H@std@@@std@@QAEXABH@Z ENDP ; std::vector<int,std::allocator<int> >::push_back
_TEXT	ENDS
PUBLIC	?push_back@?$vector@NV?$allocator@N@std@@@std@@QAEXABN@Z ; std::vector<double,std::allocator<double> >::push_back
; Function compile flags: /Ogtpy
;	COMDAT ?push_back@?$vector@NV?$allocator@N@std@@@std@@QAEXABN@Z
_TEXT	SEGMENT
$T115630 = -8						; size = 8
__Val$ = 8						; size = 4
?push_back@?$vector@NV?$allocator@N@std@@@std@@QAEXABN@Z PROC ; std::vector<double,std::allocator<double> >::push_back, COMDAT
; _this$ = ecx

; 809  : 		{	// insert element at end

  00000	83 ec 08	 sub	 esp, 8
  00003	56		 push	 esi
  00004	8b f1		 mov	 esi, ecx

; 810  : 		if (size() < capacity())

  00006	8b 4e 0c	 mov	 ecx, DWORD PTR [esi+12]
  00009	57		 push	 edi
  0000a	85 c9		 test	 ecx, ecx
  0000c	75 04		 jne	 SHORT $LN9@push_back@3
  0000e	33 c0		 xor	 eax, eax
  00010	eb 08		 jmp	 SHORT $LN10@push_back@3
$LN9@push_back@3:
  00012	8b 46 14	 mov	 eax, DWORD PTR [esi+20]
  00015	2b c1		 sub	 eax, ecx
  00017	c1 f8 03	 sar	 eax, 3
$LN10@push_back@3:
  0001a	8b 7e 10	 mov	 edi, DWORD PTR [esi+16]
  0001d	8b d7		 mov	 edx, edi
  0001f	2b d1		 sub	 edx, ecx
  00021	c1 fa 03	 sar	 edx, 3
  00024	3b d0		 cmp	 edx, eax
  00026	73 17		 jae	 SHORT $LN2@push_back@3

; 811  : 
; 812  :  #if _HAS_ITERATOR_DEBUGGING
; 813  : 			{ // room at end, construct it there
; 814  : 			_Orphan_range(_Mylast, _Mylast);
; 815  : 			_Mylast = _Ufill(_Mylast, 1, _Val);
; 816  : 			}
; 817  : 
; 818  :  #else /* _HAS_ITERATOR_DEBUGGING */
; 819  : 			_Mylast = _Ufill(_Mylast, 1, _Val);

  00028	8b 44 24 14	 mov	 eax, DWORD PTR __Val$[esp+12]
  0002c	dd 00		 fld	 QWORD PTR [eax]
  0002e	83 c7 08	 add	 edi, 8
  00031	dd 5f f8	 fstp	 QWORD PTR [edi-8]
  00034	89 7e 10	 mov	 DWORD PTR [esi+16], edi
  00037	5f		 pop	 edi
  00038	5e		 pop	 esi

; 824  : 		}

  00039	83 c4 08	 add	 esp, 8
  0003c	c2 04 00	 ret	 4
$LN2@push_back@3:

; 820  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 821  : 
; 822  : 		else
; 823  : 			insert(end(), _Val);

  0003f	3b cf		 cmp	 ecx, edi
  00041	76 05		 jbe	 SHORT $LN40@push_back@3
  00043	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN40@push_back@3:
  00048	8b 4c 24 14	 mov	 ecx, DWORD PTR __Val$[esp+12]
  0004c	8b 06		 mov	 eax, DWORD PTR [esi]
  0004e	51		 push	 ecx
  0004f	57		 push	 edi
  00050	50		 push	 eax
  00051	8d 54 24 14	 lea	 edx, DWORD PTR $T115630[esp+28]
  00055	52		 push	 edx
  00056	8b ce		 mov	 ecx, esi
  00058	e8 00 00 00 00	 call	 ?insert@?$vector@NV?$allocator@N@std@@@std@@QAE?AV?$_Vector_iterator@NV?$allocator@N@std@@@2@V?$_Vector_const_iterator@NV?$allocator@N@std@@@2@ABN@Z ; std::vector<double,std::allocator<double> >::insert
  0005d	5f		 pop	 edi
  0005e	5e		 pop	 esi

; 824  : 		}

  0005f	83 c4 08	 add	 esp, 8
  00062	c2 04 00	 ret	 4
?push_back@?$vector@NV?$allocator@N@std@@@std@@QAEXABN@Z ENDP ; std::vector<double,std::allocator<double> >::push_back
_TEXT	ENDS
PUBLIC	?emit@CPoly@@IAEXHH@Z				; CPoly::emit
; Function compile flags: /Ogtpy
; File d:\# metin2\work in progress\source client\client\eterbase\poly\poly.cpp
;	COMDAT ?emit@CPoly@@IAEXHH@Z
_TEXT	SEGMENT
$T115888 = 8						; size = 4
$T115887 = 8						; size = 4
$T115886 = 8						; size = 4
$T115885 = 8						; size = 4
$T115884 = 8						; size = 4
$T115883 = 8						; size = 4
_t$ = 8							; size = 4
_tval$ = 12						; size = 4
?emit@CPoly@@IAEXHH@Z PROC				; CPoly::emit, COMDAT
; _this$ = ecx

; 472  :     switch (t)

  00000	8b 44 24 04	 mov	 eax, DWORD PTR _t$[esp-4]
  00004	48		 dec	 eax
  00005	56		 push	 esi
  00006	8b f1		 mov	 esi, ecx
  00008	83 f8 5d	 cmp	 eax, 93			; 0000005dH
  0000b	0f 87 e0 00 00
	00		 ja	 $LN1@emit
  00011	0f b6 80 00 00
	00 00		 movzx	 eax, BYTE PTR $LN15@emit[eax]
  00018	ff 24 85 00 00
	00 00		 jmp	 DWORD PTR $LN16@emit[eax*4]
$LN10@emit:

; 473  :     {
; 474  : 	case '+': 
; 475  : 	    tokenBase.push_back(POLY_PLU);

  0001f	c7 44 24 08 03
	00 00 00	 mov	 DWORD PTR $T115883[esp], 3
$LN4@emit:
  00027	8d 4c 24 08	 lea	 ecx, DWORD PTR $T115883[esp]
  0002b	51		 push	 ecx
  0002c	8d 4e 28	 lea	 ecx, DWORD PTR [esi+40]
  0002f	e8 00 00 00 00	 call	 ?push_back@?$vector@HV?$allocator@H@std@@@std@@QAEXABH@Z ; std::vector<int,std::allocator<int> >::push_back
  00034	5e		 pop	 esi

; 521  : 	    //THROW( new CParseException("Error Parsing"));
; 522  : 	    return;
; 523  :     }
; 524  : }

  00035	c2 08 00	 ret	 8
$LN9@emit:

; 476  : 	    break;
; 477  : 	case '-': 
; 478  : 	    tokenBase.push_back(POLY_MIN);

  00038	8d 54 24 08	 lea	 edx, DWORD PTR $T115884[esp]
  0003c	52		 push	 edx
  0003d	8d 4e 28	 lea	 ecx, DWORD PTR [esi+40]
  00040	c7 44 24 0c 05
	00 00 00	 mov	 DWORD PTR $T115884[esp+4], 5
  00048	e8 00 00 00 00	 call	 ?push_back@?$vector@HV?$allocator@H@std@@@std@@QAEXABH@Z ; std::vector<int,std::allocator<int> >::push_back
  0004d	5e		 pop	 esi

; 521  : 	    //THROW( new CParseException("Error Parsing"));
; 522  : 	    return;
; 523  :     }
; 524  : }

  0004e	c2 08 00	 ret	 8
$LN8@emit:

; 479  : 	    break;
; 480  : 	case '*': 
; 481  : 	    tokenBase.push_back(POLY_MUL);

  00051	8d 44 24 08	 lea	 eax, DWORD PTR $T115885[esp]
  00055	50		 push	 eax
  00056	8d 4e 28	 lea	 ecx, DWORD PTR [esi+40]
  00059	c7 44 24 0c 02
	00 00 00	 mov	 DWORD PTR $T115885[esp+4], 2
  00061	e8 00 00 00 00	 call	 ?push_back@?$vector@HV?$allocator@H@std@@@std@@QAEXABH@Z ; std::vector<int,std::allocator<int> >::push_back
  00066	5e		 pop	 esi

; 521  : 	    //THROW( new CParseException("Error Parsing"));
; 522  : 	    return;
; 523  :     }
; 524  : }

  00067	c2 08 00	 ret	 8
$LN7@emit:

; 482  : 	    break;
; 483  : 	case '/': 
; 484  : 	    tokenBase.push_back(POLY_DIV);

  0006a	8d 4c 24 08	 lea	 ecx, DWORD PTR $T115886[esp]
  0006e	51		 push	 ecx
  0006f	8d 4e 28	 lea	 ecx, DWORD PTR [esi+40]
  00072	c7 44 24 0c 06
	00 00 00	 mov	 DWORD PTR $T115886[esp+4], 6
  0007a	e8 00 00 00 00	 call	 ?push_back@?$vector@HV?$allocator@H@std@@@std@@QAEXABH@Z ; std::vector<int,std::allocator<int> >::push_back
  0007f	5e		 pop	 esi

; 521  : 	    //THROW( new CParseException("Error Parsing"));
; 522  : 	    return;
; 523  :     }
; 524  : }

  00080	c2 08 00	 ret	 8
$LN6@emit:

; 485  : 	    break;
; 486  : 	case '%':
; 487  : 	    tokenBase.push_back(POLY_MOD);

  00083	8d 54 24 08	 lea	 edx, DWORD PTR $T115887[esp]
  00087	52		 push	 edx
  00088	8d 4e 28	 lea	 ecx, DWORD PTR [esi+40]
  0008b	c7 44 24 0c 1a
	00 00 00	 mov	 DWORD PTR $T115887[esp+4], 26 ; 0000001aH
  00093	e8 00 00 00 00	 call	 ?push_back@?$vector@HV?$allocator@H@std@@@std@@QAEXABH@Z ; std::vector<int,std::allocator<int> >::push_back
  00098	5e		 pop	 esi

; 521  : 	    //THROW( new CParseException("Error Parsing"));
; 522  : 	    return;
; 523  :     }
; 524  : }

  00099	c2 08 00	 ret	 8
$LN5@emit:

; 488  : 	    break;
; 489  : 	case '^':
; 490  : 	    tokenBase.push_back(POLY_POW);

  0009c	8d 44 24 08	 lea	 eax, DWORD PTR $T115888[esp]
  000a0	50		 push	 eax
  000a1	8d 4e 28	 lea	 ecx, DWORD PTR [esi+40]
  000a4	c7 44 24 0c 04
	00 00 00	 mov	 DWORD PTR $T115888[esp+4], 4
  000ac	e8 00 00 00 00	 call	 ?push_back@?$vector@HV?$allocator@H@std@@@std@@QAEXABH@Z ; std::vector<int,std::allocator<int> >::push_back
  000b1	5e		 pop	 esi

; 521  : 	    //THROW( new CParseException("Error Parsing"));
; 522  : 	    return;
; 523  :     }
; 524  : }

  000b2	c2 08 00	 ret	 8
$LN3@emit:

; 491  : 	    break;
; 492  : 	case POLY_ROOT:
; 493  : 	case POLY_SIN:
; 494  : 	case POLY_TAN:
; 495  : 	case POLY_COT:
; 496  : 	case POLY_COS:
; 497  : 	case POLY_CSC:
; 498  : 	case POLY_SEC:
; 499  : 	case POLY_LOG:
; 500  : 	case POLY_LN:
; 501  : 	case POLY_LOG10:
; 502  : 	case POLY_ABS:
; 503  : 	case POLY_MINF:
; 504  : 	case POLY_MAXF:
; 505  : 	case POLY_IRAND:
; 506  : 	case POLY_FRAND:
; 507  : 	case POLY_MOD:
; 508  : 	case POLY_FLOOR:
; 509  : 	    tokenBase.push_back(t);
; 510  : 	    break;
; 511  : 	case POLY_NUM:
; 512  : 	    tokenBase.push_back(t);

  000b5	8d 54 24 08	 lea	 edx, DWORD PTR _t$[esp]
  000b9	52		 push	 edx
  000ba	8d 4e 28	 lea	 ecx, DWORD PTR [esi+40]
  000bd	e8 00 00 00 00	 call	 ?push_back@?$vector@HV?$allocator@H@std@@@std@@QAEXABH@Z ; std::vector<int,std::allocator<int> >::push_back

; 513  : 	    numBase.push_back(iNumToken);

  000c2	8d 46 10	 lea	 eax, DWORD PTR [esi+16]
  000c5	50		 push	 eax
  000c6	8d 4e 40	 lea	 ecx, DWORD PTR [esi+64]
  000c9	e8 00 00 00 00	 call	 ?push_back@?$vector@NV?$allocator@N@std@@@std@@QAEXABN@Z ; std::vector<double,std::allocator<double> >::push_back
  000ce	5e		 pop	 esi

; 521  : 	    //THROW( new CParseException("Error Parsing"));
; 522  : 	    return;
; 523  :     }
; 524  : }

  000cf	c2 08 00	 ret	 8
$LN2@emit:

; 514  : 	    break;
; 515  : 	case POLY_ID:
; 516  : 	    tokenBase.push_back(t);

  000d2	8d 4c 24 08	 lea	 ecx, DWORD PTR _t$[esp]
  000d6	83 c6 28	 add	 esi, 40			; 00000028H
  000d9	51		 push	 ecx
  000da	8b ce		 mov	 ecx, esi
  000dc	e8 00 00 00 00	 call	 ?push_back@?$vector@HV?$allocator@H@std@@@std@@QAEXABH@Z ; std::vector<int,std::allocator<int> >::push_back

; 517  : 	    tokenBase.push_back(tval); break;

  000e1	8d 54 24 0c	 lea	 edx, DWORD PTR _tval$[esp]
  000e5	52		 push	 edx
  000e6	8b ce		 mov	 ecx, esi
  000e8	e8 00 00 00 00	 call	 ?push_back@?$vector@HV?$allocator@H@std@@@std@@QAEXABH@Z ; std::vector<int,std::allocator<int> >::push_back
  000ed	5e		 pop	 esi

; 521  : 	    //THROW( new CParseException("Error Parsing"));
; 522  : 	    return;
; 523  :     }
; 524  : }

  000ee	c2 08 00	 ret	 8
$LN1@emit:

; 518  : 	default:
; 519  : 	    error();

  000f1	e8 00 00 00 00	 call	 ?error@CPoly@@IAEXXZ	; CPoly::error

; 520  : 	    Clear();

  000f6	e8 00 00 00 00	 call	 ?Clear@CPoly@@QAEXXZ	; CPoly::Clear
  000fb	5e		 pop	 esi

; 521  : 	    //THROW( new CParseException("Error Parsing"));
; 522  : 	    return;
; 523  :     }
; 524  : }

  000fc	c2 08 00	 ret	 8
  000ff	90		 npad	 1
$LN16@emit:
  00100	00 00 00 00	 DD	 $LN4@emit
  00104	00 00 00 00	 DD	 $LN3@emit
  00108	00 00 00 00	 DD	 $LN2@emit
  0010c	00 00 00 00	 DD	 $LN6@emit
  00110	00 00 00 00	 DD	 $LN8@emit
  00114	00 00 00 00	 DD	 $LN10@emit
  00118	00 00 00 00	 DD	 $LN9@emit
  0011c	00 00 00 00	 DD	 $LN7@emit
  00120	00 00 00 00	 DD	 $LN5@emit
  00124	00 00 00 00	 DD	 $LN1@emit
$LN15@emit:
  00128	00		 DB	 0
  00129	09		 DB	 9
  0012a	09		 DB	 9
  0012b	09		 DB	 9
  0012c	09		 DB	 9
  0012d	09		 DB	 9
  0012e	09		 DB	 9
  0012f	09		 DB	 9
  00130	01		 DB	 1
  00131	02		 DB	 2
  00132	09		 DB	 9
  00133	00		 DB	 0
  00134	00		 DB	 0
  00135	00		 DB	 0
  00136	00		 DB	 0
  00137	00		 DB	 0
  00138	00		 DB	 0
  00139	00		 DB	 0
  0013a	00		 DB	 0
  0013b	00		 DB	 0
  0013c	00		 DB	 0
  0013d	00		 DB	 0
  0013e	00		 DB	 0
  0013f	00		 DB	 0
  00140	00		 DB	 0
  00141	00		 DB	 0
  00142	00		 DB	 0
  00143	09		 DB	 9
  00144	09		 DB	 9
  00145	09		 DB	 9
  00146	09		 DB	 9
  00147	09		 DB	 9
  00148	09		 DB	 9
  00149	09		 DB	 9
  0014a	09		 DB	 9
  0014b	09		 DB	 9
  0014c	03		 DB	 3
  0014d	09		 DB	 9
  0014e	09		 DB	 9
  0014f	09		 DB	 9
  00150	09		 DB	 9
  00151	04		 DB	 4
  00152	05		 DB	 5
  00153	09		 DB	 9
  00154	06		 DB	 6
  00155	09		 DB	 9
  00156	07		 DB	 7
  00157	09		 DB	 9
  00158	09		 DB	 9
  00159	09		 DB	 9
  0015a	09		 DB	 9
  0015b	09		 DB	 9
  0015c	09		 DB	 9
  0015d	09		 DB	 9
  0015e	09		 DB	 9
  0015f	09		 DB	 9
  00160	09		 DB	 9
  00161	09		 DB	 9
  00162	09		 DB	 9
  00163	09		 DB	 9
  00164	09		 DB	 9
  00165	09		 DB	 9
  00166	09		 DB	 9
  00167	09		 DB	 9
  00168	09		 DB	 9
  00169	09		 DB	 9
  0016a	09		 DB	 9
  0016b	09		 DB	 9
  0016c	09		 DB	 9
  0016d	09		 DB	 9
  0016e	09		 DB	 9
  0016f	09		 DB	 9
  00170	09		 DB	 9
  00171	09		 DB	 9
  00172	09		 DB	 9
  00173	09		 DB	 9
  00174	09		 DB	 9
  00175	09		 DB	 9
  00176	09		 DB	 9
  00177	09		 DB	 9
  00178	09		 DB	 9
  00179	09		 DB	 9
  0017a	09		 DB	 9
  0017b	09		 DB	 9
  0017c	09		 DB	 9
  0017d	09		 DB	 9
  0017e	09		 DB	 9
  0017f	09		 DB	 9
  00180	09		 DB	 9
  00181	09		 DB	 9
  00182	09		 DB	 9
  00183	09		 DB	 9
  00184	09		 DB	 9
  00185	08		 DB	 8
?emit@CPoly@@IAEXHH@Z ENDP				; CPoly::emit
_TEXT	ENDS
PUBLIC	?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
EXTRN	??0CSymTable@@QAE@HV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z:PROC ; CSymTable::CSymTable
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
xdata$x	SEGMENT
__unwindtable$?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z$0
__ehfuncinfo$?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\# metin2\work in progress\source client\client\eterbase\poly\poly.cpp
xdata$x	ENDS
;	COMDAT ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z
_TEXT	SEGMENT
tv592 = -28						; size = 4
$T115896 = -28						; size = 4
_this$ = -24						; size = 4
$T116581 = -20						; size = 8
__Tmp$116326 = -20					; size = 8
$T115903 = -20						; size = 8
$T115897 = -20						; size = 4
__$EHRec$ = -12						; size = 12
_s$ = 8							; size = 4
tv588 = 12						; size = 4
$T115894 = 12						; size = 4
_tok$ = 12						; size = 4
?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z PROC ; CPoly::insert, COMDAT
; _this$ = ecx

; 548  : {

  00000	6a ff		 push	 -1
  00002	68 00 00 00 00	 push	 __ehhandler$?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z
  00007	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  0000d	50		 push	 eax
  0000e	83 ec 10	 sub	 esp, 16			; 00000010H
  00011	53		 push	 ebx
  00012	55		 push	 ebp
  00013	56		 push	 esi
  00014	57		 push	 edi
  00015	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001a	33 c4		 xor	 eax, esp
  0001c	50		 push	 eax
  0001d	8d 44 24 24	 lea	 eax, DWORD PTR __$EHRec$[esp+48]
  00021	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00027	8b f9		 mov	 edi, ecx
  00029	89 7c 24 18	 mov	 DWORD PTR _this$[esp+48], edi

; 549  :     int i;
; 550  :     bool bAdded=false;
; 551  : 
; 552  :     lSymbol.push_back(new CSymTable(tok,s));

  0002d	6a 30		 push	 48			; 00000030H
  0002f	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00034	8b f0		 mov	 esi, eax
  00036	83 c4 04	 add	 esp, 4
  00039	89 74 24 14	 mov	 DWORD PTR $T115896[esp+48], esi
  0003d	33 db		 xor	 ebx, ebx
  0003f	89 5c 24 2c	 mov	 DWORD PTR __$EHRec$[esp+56], ebx
  00043	3b f3		 cmp	 esi, ebx
  00045	74 31		 je	 SHORT $LN8@insert@4
  00047	8b 44 24 34	 mov	 eax, DWORD PTR _s$[esp+44]
  0004b	83 ec 1c	 sub	 esp, 28			; 0000001cH
  0004e	8b cc		 mov	 ecx, esp
  00050	89 64 24 38	 mov	 DWORD PTR $T115897[esp+76], esp
  00054	6a ff		 push	 -1
  00056	53		 push	 ebx
  00057	c7 41 18 0f 00
	00 00		 mov	 DWORD PTR [ecx+24], 15	; 0000000fH
  0005e	89 59 14	 mov	 DWORD PTR [ecx+20], ebx
  00061	50		 push	 eax
  00062	88 59 04	 mov	 BYTE PTR [ecx+4], bl
  00065	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  0006a	8b 4c 24 54	 mov	 ecx, DWORD PTR _tok$[esp+72]
  0006e	51		 push	 ecx
  0006f	8b ce		 mov	 ecx, esi
  00071	e8 00 00 00 00	 call	 ??0CSymTable@@QAE@HV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z ; CSymTable::CSymTable
  00076	eb 02		 jmp	 SHORT $LN9@insert@4
$LN8@insert@4:
  00078	33 c0		 xor	 eax, eax
$LN9@insert@4:
  0007a	8d 54 24 38	 lea	 edx, DWORD PTR $T115894[esp+44]
  0007e	8d 6f 58	 lea	 ebp, DWORD PTR [edi+88]
  00081	52		 push	 edx
  00082	8b cd		 mov	 ecx, ebp
  00084	c7 44 24 30 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+60], -1
  0008c	89 44 24 3c	 mov	 DWORD PTR $T115894[esp+48], eax
  00090	e8 00 00 00 00	 call	 ?push_back@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEXABQAVCSymTable@@@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::push_back

; 553  :     for (i=0;i<STSize;i++)

  00095	39 9f 88 00 00
	00		 cmp	 DWORD PTR [edi+136], ebx
  0009b	8d 97 88 00 00
	00		 lea	 edx, DWORD PTR [edi+136]
  000a1	89 54 24 38	 mov	 DWORD PTR tv588[esp+44], edx
  000a5	0f 8e f8 00 00
	00		 jle	 $LN184@insert@4
  000ab	8d 77 70	 lea	 esi, DWORD PTR [edi+112]
  000ae	89 74 24 14	 mov	 DWORD PTR tv592[esp+48], esi
$LL5@insert@4:

; 554  :     {
; 555  : 	if (s<lSymbol[SymbolIndex[i]]->strlex)

  000b2	8b 46 10	 mov	 eax, DWORD PTR [esi+16]
  000b5	2b 46 0c	 sub	 eax, DWORD PTR [esi+12]
  000b8	c1 f8 02	 sar	 eax, 2
  000bb	3b d8		 cmp	 ebx, eax
  000bd	72 05		 jb	 SHORT $LN40@insert@4
  000bf	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN40@insert@4:
  000c4	8b 55 10	 mov	 edx, DWORD PTR [ebp+16]
  000c7	2b 55 0c	 sub	 edx, DWORD PTR [ebp+12]
  000ca	8b 4e 0c	 mov	 ecx, DWORD PTR [esi+12]
  000cd	8b 34 99	 mov	 esi, DWORD PTR [ecx+ebx*4]
  000d0	c1 fa 02	 sar	 edx, 2
  000d3	3b f2		 cmp	 esi, edx
  000d5	72 05		 jb	 SHORT $LN48@insert@4
  000d7	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN48@insert@4:
  000dc	8b 45 0c	 mov	 eax, DWORD PTR [ebp+12]
  000df	8b 04 b0	 mov	 eax, DWORD PTR [eax+esi*4]
  000e2	8b 78 28	 mov	 edi, DWORD PTR [eax+40]
  000e5	83 c0 14	 add	 eax, 20			; 00000014H
  000e8	83 78 18 10	 cmp	 DWORD PTR [eax+24], 16	; 00000010H
  000ec	72 05		 jb	 SHORT $LN62@insert@4
  000ee	8b 40 04	 mov	 eax, DWORD PTR [eax+4]
  000f1	eb 03		 jmp	 SHORT $LN63@insert@4
$LN62@insert@4:
  000f3	83 c0 04	 add	 eax, 4
$LN63@insert@4:
  000f6	8b 4c 24 34	 mov	 ecx, DWORD PTR _s$[esp+44]
  000fa	8b 71 14	 mov	 esi, DWORD PTR [ecx+20]
  000fd	8b ce		 mov	 ecx, esi
  000ff	8b d6		 mov	 edx, esi
  00101	3b f7		 cmp	 esi, edi
  00103	72 02		 jb	 SHORT $LN69@insert@4
  00105	8b d7		 mov	 edx, edi
$LN69@insert@4:
  00107	8b 4c 24 34	 mov	 ecx, DWORD PTR _s$[esp+44]
  0010b	83 79 18 10	 cmp	 DWORD PTR [ecx+24], 16	; 00000010H
  0010f	72 05		 jb	 SHORT $LN76@insert@4
  00111	8b 49 04	 mov	 ecx, DWORD PTR [ecx+4]
  00114	eb 03		 jmp	 SHORT $LN77@insert@4
$LN76@insert@4:
  00116	83 c1 04	 add	 ecx, 4
$LN77@insert@4:
  00119	52		 push	 edx
  0011a	50		 push	 eax
  0011b	51		 push	 ecx
  0011c	e8 00 00 00 00	 call	 ?compare@?$char_traits@D@std@@SAHPBD0I@Z ; std::char_traits<char>::compare
  00121	83 c4 0c	 add	 esp, 12			; 0000000cH
  00124	85 c0		 test	 eax, eax
  00126	75 0b		 jne	 SHORT $LN190@insert@4
  00128	3b f7		 cmp	 esi, edi
  0012a	72 1b		 jb	 SHORT $LN180@insert@4
  0012c	3b f7		 cmp	 esi, edi
  0012e	0f 95 c0	 setne	 al
  00131	85 c0		 test	 eax, eax
$LN190@insert@4:
  00133	7c 12		 jl	 SHORT $LN180@insert@4
  00135	8b 4c 24 38	 mov	 ecx, DWORD PTR tv588[esp+44]
  00139	43		 inc	 ebx
  0013a	3b 19		 cmp	 ebx, DWORD PTR [ecx]
  0013c	7d 5f		 jge	 SHORT $LN188@insert@4

; 553  :     for (i=0;i<STSize;i++)

  0013e	8b 74 24 14	 mov	 esi, DWORD PTR tv592[esp+48]
  00142	e9 6b ff ff ff	 jmp	 $LL5@insert@4
$LN180@insert@4:

; 556  : 	{
; 557  : 	    SymbolIndex.insert(SymbolIndex.begin()+i,STSize);

  00147	8b 74 24 14	 mov	 esi, DWORD PTR tv592[esp+48]
  0014b	8b 7e 0c	 mov	 edi, DWORD PTR [esi+12]
  0014e	3b 7e 10	 cmp	 edi, DWORD PTR [esi+16]
  00151	76 05		 jbe	 SHORT $LN84@insert@4
  00153	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN84@insert@4:
  00158	8b 36		 mov	 esi, DWORD PTR [esi]
  0015a	8b ee		 mov	 ebp, esi
  0015c	89 7c 24 20	 mov	 DWORD PTR __Tmp$116326[esp+52], edi
  00160	85 f6		 test	 esi, esi
  00162	75 17		 jne	 SHORT $LN183@insert@4
  00164	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00169	33 c0		 xor	 eax, eax
$LN117@insert@4:
  0016b	8d 3c 9f	 lea	 edi, DWORD PTR [edi+ebx*4]
  0016e	3b 78 10	 cmp	 edi, DWORD PTR [eax+16]
  00171	77 13		 ja	 SHORT $LN104@insert@4
  00173	85 f6		 test	 esi, esi
  00175	74 08		 je	 SHORT $LN122@insert@4
  00177	8b 36		 mov	 esi, DWORD PTR [esi]
  00179	eb 06		 jmp	 SHORT $LN123@insert@4
$LN183@insert@4:
  0017b	8b 06		 mov	 eax, DWORD PTR [esi]
  0017d	eb ec		 jmp	 SHORT $LN117@insert@4
$LN122@insert@4:
  0017f	33 f6		 xor	 esi, esi
$LN123@insert@4:
  00181	3b 7e 0c	 cmp	 edi, DWORD PTR [esi+12]
  00184	73 05		 jae	 SHORT $LN103@insert@4
$LN104@insert@4:
  00186	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN103@insert@4:
  0018b	8b 54 24 38	 mov	 edx, DWORD PTR tv588[esp+44]
  0018f	8b 4c 24 14	 mov	 ecx, DWORD PTR tv592[esp+48]
  00193	52		 push	 edx
  00194	57		 push	 edi
  00195	55		 push	 ebp
  00196	8d 44 24 28	 lea	 eax, DWORD PTR $T115903[esp+60]
  0019a	50		 push	 eax

; 558  : 	    bAdded=true;
; 559  : 	    break;
; 560  : 	}
; 561  :     }
; 562  :     if (!bAdded)

  0019b	eb 4f		 jmp	 SHORT $LN191@insert@4
$LN188@insert@4:
  0019d	8b 7c 24 18	 mov	 edi, DWORD PTR _this$[esp+48]
  001a1	8b d1		 mov	 edx, ecx
$LN184@insert@4:

; 563  :     {
; 564  : 	//SymbolIndex.SetAtGrow(STSize,STSize);
; 565  : 	SymbolIndex.push_back(STSize);

  001a3	8b 4f 7c	 mov	 ecx, DWORD PTR [edi+124]
  001a6	8d 77 70	 lea	 esi, DWORD PTR [edi+112]
  001a9	85 c9		 test	 ecx, ecx
  001ab	75 04		 jne	 SHORT $LN134@insert@4
  001ad	33 c0		 xor	 eax, eax
  001af	eb 08		 jmp	 SHORT $LN135@insert@4
$LN134@insert@4:
  001b1	8b 46 14	 mov	 eax, DWORD PTR [esi+20]
  001b4	2b c1		 sub	 eax, ecx
  001b6	c1 f8 02	 sar	 eax, 2
$LN135@insert@4:
  001b9	8b 7e 10	 mov	 edi, DWORD PTR [esi+16]
  001bc	8b df		 mov	 ebx, edi
  001be	2b d9		 sub	 ebx, ecx
  001c0	c1 fb 02	 sar	 ebx, 2
  001c3	3b d8		 cmp	 ebx, eax
  001c5	73 0c		 jae	 SHORT $LN127@insert@4
  001c7	8b 0a		 mov	 ecx, DWORD PTR [edx]
  001c9	89 0f		 mov	 DWORD PTR [edi], ecx
  001cb	83 c7 04	 add	 edi, 4
  001ce	89 7e 10	 mov	 DWORD PTR [esi+16], edi
  001d1	eb 22		 jmp	 SHORT $LN126@insert@4
$LN127@insert@4:
  001d3	3b cf		 cmp	 ecx, edi
  001d5	76 09		 jbe	 SHORT $LN165@insert@4
  001d7	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  001dc	8b 54 24 38	 mov	 edx, DWORD PTR tv588[esp+44]
$LN165@insert@4:
  001e0	8b 06		 mov	 eax, DWORD PTR [esi]
  001e2	52		 push	 edx
  001e3	57		 push	 edi
  001e4	50		 push	 eax
  001e5	8d 54 24 28	 lea	 edx, DWORD PTR $T116581[esp+60]
  001e9	52		 push	 edx
  001ea	8b ce		 mov	 ecx, esi
$LN191@insert@4:
  001ec	e8 00 00 00 00	 call	 ?insert@?$vector@HV?$allocator@H@std@@@std@@QAE?AV?$_Vector_iterator@HV?$allocator@H@std@@@2@V?$_Vector_const_iterator@HV?$allocator@H@std@@@2@ABH@Z ; std::vector<int,std::allocator<int> >::insert
  001f1	8b 54 24 38	 mov	 edx, DWORD PTR tv588[esp+44]
$LN126@insert@4:

; 566  :     }
; 567  :     STSize++;

  001f5	ff 02		 inc	 DWORD PTR [edx]
  001f7	8b 02		 mov	 eax, DWORD PTR [edx]

; 568  :     return STSize-1;

  001f9	48		 dec	 eax

; 569  : }

  001fa	8b 4c 24 24	 mov	 ecx, DWORD PTR __$EHRec$[esp+48]
  001fe	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00205	59		 pop	 ecx
  00206	5f		 pop	 edi
  00207	5e		 pop	 esi
  00208	5d		 pop	 ebp
  00209	5b		 pop	 ebx
  0020a	83 c4 1c	 add	 esp, 28			; 0000001cH
  0020d	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z$0:
  00000	8b 45 e4	 mov	 eax, DWORD PTR $T115896[ebp]
  00003	50		 push	 eax
  00004	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00009	59		 pop	 ecx
  0000a	c3		 ret	 0
__ehhandler$?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 e0	 lea	 eax, DWORD PTR [edx-32]
  00012	8b 4a dc	 mov	 ecx, DWORD PTR [edx-36]
  00015	33 c8		 xor	 ecx, eax
  00017	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ENDP ; CPoly::insert
PUBLIC	??_C@_05PBJFFIGL@floor?$AA@			; `string'
PUBLIC	??_C@_03FFONCNID@mod?$AA@			; `string'
PUBLIC	??_C@_03BCGAIFPO@abs?$AA@			; `string'
PUBLIC	??_C@_05HGHHAHAP@log10?$AA@			; `string'
PUBLIC	??_C@_02LKANFCIA@ln?$AA@			; `string'
PUBLIC	??_C@_03MGHMBJCF@log?$AA@			; `string'
PUBLIC	__real@4005bf0a8b145769
PUBLIC	??_C@_01KGKMHCOC@e?$AA@				; `string'
PUBLIC	__real@400921fb54442d18
PUBLIC	??_C@_02OAHAJOFD@pi?$AA@			; `string'
PUBLIC	??_C@_03KHPNBODO@sec?$AA@			; `string'
PUBLIC	??_C@_05KCHJPNOJ@cosec?$AA@			; `string'
PUBLIC	??_C@_03OPEPJGGD@csc?$AA@			; `string'
PUBLIC	??_C@_03PPPAEIOB@cot?$AA@			; `string'
PUBLIC	??_C@_03IIINPABG@tan?$AA@			; `string'
PUBLIC	??_C@_03BLEJJJBH@sin?$AA@			; `string'
PUBLIC	??_C@_03LALBNOCG@cos?$AA@			; `string'
PUBLIC	??_C@_04EIAKFFMI@sqrt?$AA@			; `string'
PUBLIC	??_C@_02BMJICGCB@rt?$AA@			; `string'
PUBLIC	??_C@_05NDMANJFL@frand?$AA@			; `string'
PUBLIC	??_C@_07DFJIKENI@frandom?$AA@			; `string'
PUBLIC	??_C@_05CCJGGLIO@irand?$AA@			; `string'
PUBLIC	??_C@_07OMLILGHE@irandom?$AA@			; `string'
PUBLIC	??_C@_06EBGNBFIA@number?$AA@			; `string'
PUBLIC	??_C@_03LJAEFNNE@max?$AA@			; `string'
PUBLIC	??_C@_03KLIPLJLL@min?$AA@			; `string'
PUBLIC	?init@CPoly@@IAEXXZ				; CPoly::init
;	COMDAT ??_C@_05PBJFFIGL@floor?$AA@
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd
CONST	SEGMENT
??_C@_05PBJFFIGL@floor?$AA@ DB 'floor', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03FFONCNID@mod?$AA@
CONST	SEGMENT
??_C@_03FFONCNID@mod?$AA@ DB 'mod', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_03BCGAIFPO@abs?$AA@
CONST	SEGMENT
??_C@_03BCGAIFPO@abs?$AA@ DB 'abs', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_05HGHHAHAP@log10?$AA@
CONST	SEGMENT
??_C@_05HGHHAHAP@log10?$AA@ DB 'log10', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_02LKANFCIA@ln?$AA@
CONST	SEGMENT
??_C@_02LKANFCIA@ln?$AA@ DB 'ln', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_03MGHMBJCF@log?$AA@
CONST	SEGMENT
??_C@_03MGHMBJCF@log?$AA@ DB 'log', 00H			; `string'
CONST	ENDS
;	COMDAT __real@4005bf0a8b145769
CONST	SEGMENT
__real@4005bf0a8b145769 DQ 04005bf0a8b145769r	; 2.71828
CONST	ENDS
;	COMDAT ??_C@_01KGKMHCOC@e?$AA@
CONST	SEGMENT
??_C@_01KGKMHCOC@e?$AA@ DB 'e', 00H			; `string'
CONST	ENDS
;	COMDAT __real@400921fb54442d18
CONST	SEGMENT
__real@400921fb54442d18 DQ 0400921fb54442d18r	; 3.14159
CONST	ENDS
;	COMDAT ??_C@_02OAHAJOFD@pi?$AA@
CONST	SEGMENT
??_C@_02OAHAJOFD@pi?$AA@ DB 'pi', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_03KHPNBODO@sec?$AA@
CONST	SEGMENT
??_C@_03KHPNBODO@sec?$AA@ DB 'sec', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_05KCHJPNOJ@cosec?$AA@
CONST	SEGMENT
??_C@_05KCHJPNOJ@cosec?$AA@ DB 'cosec', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03OPEPJGGD@csc?$AA@
CONST	SEGMENT
??_C@_03OPEPJGGD@csc?$AA@ DB 'csc', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_03PPPAEIOB@cot?$AA@
CONST	SEGMENT
??_C@_03PPPAEIOB@cot?$AA@ DB 'cot', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_03IIINPABG@tan?$AA@
CONST	SEGMENT
??_C@_03IIINPABG@tan?$AA@ DB 'tan', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_03BLEJJJBH@sin?$AA@
CONST	SEGMENT
??_C@_03BLEJJJBH@sin?$AA@ DB 'sin', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_03LALBNOCG@cos?$AA@
CONST	SEGMENT
??_C@_03LALBNOCG@cos?$AA@ DB 'cos', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_04EIAKFFMI@sqrt?$AA@
CONST	SEGMENT
??_C@_04EIAKFFMI@sqrt?$AA@ DB 'sqrt', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_02BMJICGCB@rt?$AA@
CONST	SEGMENT
??_C@_02BMJICGCB@rt?$AA@ DB 'rt', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_05NDMANJFL@frand?$AA@
CONST	SEGMENT
??_C@_05NDMANJFL@frand?$AA@ DB 'frand', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07DFJIKENI@frandom?$AA@
CONST	SEGMENT
??_C@_07DFJIKENI@frandom?$AA@ DB 'frandom', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_05CCJGGLIO@irand?$AA@
CONST	SEGMENT
??_C@_05CCJGGLIO@irand?$AA@ DB 'irand', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07OMLILGHE@irandom?$AA@
CONST	SEGMENT
??_C@_07OMLILGHE@irandom?$AA@ DB 'irandom', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_06EBGNBFIA@number?$AA@
CONST	SEGMENT
??_C@_06EBGNBFIA@number?$AA@ DB 'number', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03LJAEFNNE@max?$AA@
CONST	SEGMENT
??_C@_03LJAEFNNE@max?$AA@ DB 'max', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_03KLIPLJLL@min?$AA@
CONST	SEGMENT
??_C@_03KLIPLJLL@min?$AA@ DB 'min', 00H			; `string'
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?init@CPoly@@IAEXXZ DD 019930522H
	DD	01aH
	DD	FLAT:__unwindtable$?init@CPoly@@IAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$?init@CPoly@@IAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$3
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$4
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$5
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$6
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$7
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$8
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$9
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$10
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$11
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$12
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$13
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$14
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$15
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$16
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$17
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$18
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$19
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$20
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$21
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$22
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$23
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$24
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?init@CPoly@@IAEXXZ$25
; Function compile flags: /Ogtpy
; File d:\# metin2\work in progress\source client\client\eterbase\poly\poly.cpp
xdata$x	ENDS
;	COMDAT ?init@CPoly@@IAEXXZ
_TEXT	SEGMENT
$T116690 = -68						; size = 28
$T116689 = -68						; size = 28
$T116688 = -68						; size = 28
$T116687 = -68						; size = 28
$T116686 = -68						; size = 28
$T116685 = -68						; size = 28
$T116684 = -68						; size = 28
$T116683 = -68						; size = 28
$T116682 = -68						; size = 28
$T116681 = -68						; size = 28
$T116680 = -68						; size = 28
$T116679 = -68						; size = 28
$T116678 = -68						; size = 28
$T116677 = -68						; size = 28
$T116676 = -68						; size = 28
$T116675 = -68						; size = 28
$T116674 = -68						; size = 28
$T116673 = -68						; size = 28
$T116672 = -68						; size = 28
$T116671 = -68						; size = 28
$T116670 = -68						; size = 28
$T116669 = -68						; size = 28
$T116668 = -68						; size = 28
$T116667 = -68						; size = 28
$T116666 = -68						; size = 28
$T116691 = -40						; size = 28
__$EHRec$ = -12						; size = 12
?init@CPoly@@IAEXXZ PROC				; CPoly::init, COMDAT
; _this$ = ecx

; 594  : {

  00000	6a ff		 push	 -1
  00002	68 00 00 00 00	 push	 __ehhandler$?init@CPoly@@IAEXXZ
  00007	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  0000d	50		 push	 eax
  0000e	83 ec 38	 sub	 esp, 56			; 00000038H
  00011	53		 push	 ebx
  00012	55		 push	 ebp
  00013	56		 push	 esi
  00014	57		 push	 edi
  00015	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001a	33 c4		 xor	 eax, esp
  0001c	50		 push	 eax
  0001d	8d 44 24 4c	 lea	 eax, DWORD PTR __$EHRec$[esp+88]
  00021	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00027	8b f1		 mov	 esi, ecx

; 595  :     insert("min",POLY_MINF);

  00029	6a 03		 push	 3
  0002b	33 db		 xor	 ebx, ebx
  0002d	bd 0f 00 00 00	 mov	 ebp, 15			; 0000000fH
  00032	68 00 00 00 00	 push	 OFFSET ??_C@_03KLIPLJLL@min?$AA@
  00037	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116666[esp+96]
  0003b	89 6c 24 34	 mov	 DWORD PTR $T116666[esp+120], ebp
  0003f	89 5c 24 30	 mov	 DWORD PTR $T116666[esp+116], ebx
  00043	88 5c 24 20	 mov	 BYTE PTR $T116666[esp+100], bl
  00047	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  0004c	6a 16		 push	 22			; 00000016H
  0004e	8d 44 24 18	 lea	 eax, DWORD PTR $T116666[esp+92]
  00052	50		 push	 eax
  00053	8b ce		 mov	 ecx, esi
  00055	89 5c 24 5c	 mov	 DWORD PTR __$EHRec$[esp+104], ebx
  00059	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  0005e	bf 10 00 00 00	 mov	 edi, 16			; 00000010H
  00063	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  0006b	39 7c 24 2c	 cmp	 DWORD PTR $T116666[esp+112], edi
  0006f	72 0d		 jb	 SHORT $LN81@init
  00071	8b 4c 24 18	 mov	 ecx, DWORD PTR $T116666[esp+92]
  00075	51		 push	 ecx
  00076	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0007b	83 c4 04	 add	 esp, 4
$LN81@init:

; 596  :     insert("max",POLY_MAXF);

  0007e	6a 03		 push	 3
  00080	68 00 00 00 00	 push	 OFFSET ??_C@_03LJAEFNNE@max?$AA@
  00085	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116667[esp+96]
  00089	89 6c 24 34	 mov	 DWORD PTR $T116667[esp+120], ebp
  0008d	89 5c 24 30	 mov	 DWORD PTR $T116667[esp+116], ebx
  00091	88 5c 24 20	 mov	 BYTE PTR $T116667[esp+100], bl
  00095	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  0009a	6a 17		 push	 23			; 00000017H
  0009c	8d 54 24 18	 lea	 edx, DWORD PTR $T116667[esp+92]
  000a0	52		 push	 edx
  000a1	8b ce		 mov	 ecx, esi
  000a3	c7 44 24 5c 01
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 1
  000ab	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  000b0	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  000b8	39 7c 24 2c	 cmp	 DWORD PTR $T116667[esp+112], edi
  000bc	72 0d		 jb	 SHORT $LN143@init
  000be	8b 44 24 18	 mov	 eax, DWORD PTR $T116667[esp+92]
  000c2	50		 push	 eax
  000c3	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  000c8	83 c4 04	 add	 esp, 4
$LN143@init:

; 597  :     insert("number", POLY_IRAND);

  000cb	6a 06		 push	 6
  000cd	68 00 00 00 00	 push	 OFFSET ??_C@_06EBGNBFIA@number?$AA@
  000d2	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116668[esp+96]
  000d6	89 6c 24 34	 mov	 DWORD PTR $T116668[esp+120], ebp
  000da	89 5c 24 30	 mov	 DWORD PTR $T116668[esp+116], ebx
  000de	88 5c 24 20	 mov	 BYTE PTR $T116668[esp+100], bl
  000e2	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  000e7	6a 18		 push	 24			; 00000018H
  000e9	8d 4c 24 18	 lea	 ecx, DWORD PTR $T116668[esp+92]
  000ed	51		 push	 ecx
  000ee	8b ce		 mov	 ecx, esi
  000f0	c7 44 24 5c 02
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 2
  000f8	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  000fd	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  00105	39 7c 24 2c	 cmp	 DWORD PTR $T116668[esp+112], edi
  00109	72 0d		 jb	 SHORT $LN205@init
  0010b	8b 54 24 18	 mov	 edx, DWORD PTR $T116668[esp+92]
  0010f	52		 push	 edx
  00110	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00115	83 c4 04	 add	 esp, 4
$LN205@init:

; 598  :     insert("irandom", POLY_IRAND);

  00118	6a 07		 push	 7
  0011a	68 00 00 00 00	 push	 OFFSET ??_C@_07OMLILGHE@irandom?$AA@
  0011f	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116669[esp+96]
  00123	89 6c 24 34	 mov	 DWORD PTR $T116669[esp+120], ebp
  00127	89 5c 24 30	 mov	 DWORD PTR $T116669[esp+116], ebx
  0012b	88 5c 24 20	 mov	 BYTE PTR $T116669[esp+100], bl
  0012f	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  00134	6a 18		 push	 24			; 00000018H
  00136	8d 44 24 18	 lea	 eax, DWORD PTR $T116669[esp+92]
  0013a	50		 push	 eax
  0013b	8b ce		 mov	 ecx, esi
  0013d	c7 44 24 5c 03
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 3
  00145	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  0014a	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  00152	39 7c 24 2c	 cmp	 DWORD PTR $T116669[esp+112], edi
  00156	72 0d		 jb	 SHORT $LN267@init
  00158	8b 4c 24 18	 mov	 ecx, DWORD PTR $T116669[esp+92]
  0015c	51		 push	 ecx
  0015d	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00162	83 c4 04	 add	 esp, 4
$LN267@init:

; 599  :     insert("irand", POLY_IRAND);

  00165	6a 05		 push	 5
  00167	68 00 00 00 00	 push	 OFFSET ??_C@_05CCJGGLIO@irand?$AA@
  0016c	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116670[esp+96]
  00170	89 6c 24 34	 mov	 DWORD PTR $T116670[esp+120], ebp
  00174	89 5c 24 30	 mov	 DWORD PTR $T116670[esp+116], ebx
  00178	88 5c 24 20	 mov	 BYTE PTR $T116670[esp+100], bl
  0017c	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  00181	6a 18		 push	 24			; 00000018H
  00183	8d 54 24 18	 lea	 edx, DWORD PTR $T116670[esp+92]
  00187	52		 push	 edx
  00188	8b ce		 mov	 ecx, esi
  0018a	c7 44 24 5c 04
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 4
  00192	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  00197	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  0019f	39 7c 24 2c	 cmp	 DWORD PTR $T116670[esp+112], edi
  001a3	72 0d		 jb	 SHORT $LN329@init
  001a5	8b 44 24 18	 mov	 eax, DWORD PTR $T116670[esp+92]
  001a9	50		 push	 eax
  001aa	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  001af	83 c4 04	 add	 esp, 4
$LN329@init:

; 600  :     insert("frandom",POLY_FRAND);

  001b2	6a 07		 push	 7
  001b4	68 00 00 00 00	 push	 OFFSET ??_C@_07DFJIKENI@frandom?$AA@
  001b9	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116671[esp+96]
  001bd	89 6c 24 34	 mov	 DWORD PTR $T116671[esp+120], ebp
  001c1	89 5c 24 30	 mov	 DWORD PTR $T116671[esp+116], ebx
  001c5	88 5c 24 20	 mov	 BYTE PTR $T116671[esp+100], bl
  001c9	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  001ce	6a 19		 push	 25			; 00000019H
  001d0	8d 4c 24 18	 lea	 ecx, DWORD PTR $T116671[esp+92]
  001d4	51		 push	 ecx
  001d5	8b ce		 mov	 ecx, esi
  001d7	c7 44 24 5c 05
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 5
  001df	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  001e4	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  001ec	39 7c 24 2c	 cmp	 DWORD PTR $T116671[esp+112], edi
  001f0	72 0d		 jb	 SHORT $LN391@init
  001f2	8b 54 24 18	 mov	 edx, DWORD PTR $T116671[esp+92]
  001f6	52		 push	 edx
  001f7	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  001fc	83 c4 04	 add	 esp, 4
$LN391@init:

; 601  :     insert("frand",POLY_FRAND);

  001ff	6a 05		 push	 5
  00201	68 00 00 00 00	 push	 OFFSET ??_C@_05NDMANJFL@frand?$AA@
  00206	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116672[esp+96]
  0020a	89 6c 24 34	 mov	 DWORD PTR $T116672[esp+120], ebp
  0020e	89 5c 24 30	 mov	 DWORD PTR $T116672[esp+116], ebx
  00212	88 5c 24 20	 mov	 BYTE PTR $T116672[esp+100], bl
  00216	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  0021b	6a 19		 push	 25			; 00000019H
  0021d	8d 44 24 18	 lea	 eax, DWORD PTR $T116672[esp+92]
  00221	50		 push	 eax
  00222	8b ce		 mov	 ecx, esi
  00224	c7 44 24 5c 06
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 6
  0022c	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  00231	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  00239	39 7c 24 2c	 cmp	 DWORD PTR $T116672[esp+112], edi
  0023d	72 0d		 jb	 SHORT $LN453@init
  0023f	8b 4c 24 18	 mov	 ecx, DWORD PTR $T116672[esp+92]
  00243	51		 push	 ecx
  00244	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00249	83 c4 04	 add	 esp, 4
$LN453@init:

; 602  :     insert("rt",POLY_ROOT);

  0024c	6a 02		 push	 2
  0024e	68 00 00 00 00	 push	 OFFSET ??_C@_02BMJICGCB@rt?$AA@
  00253	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116673[esp+96]
  00257	89 6c 24 34	 mov	 DWORD PTR $T116673[esp+120], ebp
  0025b	89 5c 24 30	 mov	 DWORD PTR $T116673[esp+116], ebx
  0025f	88 5c 24 20	 mov	 BYTE PTR $T116673[esp+100], bl
  00263	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  00268	6a 01		 push	 1
  0026a	8d 54 24 18	 lea	 edx, DWORD PTR $T116673[esp+92]
  0026e	52		 push	 edx
  0026f	8b ce		 mov	 ecx, esi
  00271	c7 44 24 5c 07
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 7
  00279	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  0027e	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  00286	39 7c 24 2c	 cmp	 DWORD PTR $T116673[esp+112], edi
  0028a	72 0d		 jb	 SHORT $LN515@init
  0028c	8b 44 24 18	 mov	 eax, DWORD PTR $T116673[esp+92]
  00290	50		 push	 eax
  00291	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00296	83 c4 04	 add	 esp, 4
$LN515@init:

; 603  :     insert("sqrt",POLY_ROOT);

  00299	6a 04		 push	 4
  0029b	68 00 00 00 00	 push	 OFFSET ??_C@_04EIAKFFMI@sqrt?$AA@
  002a0	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116674[esp+96]
  002a4	89 6c 24 34	 mov	 DWORD PTR $T116674[esp+120], ebp
  002a8	89 5c 24 30	 mov	 DWORD PTR $T116674[esp+116], ebx
  002ac	88 5c 24 20	 mov	 BYTE PTR $T116674[esp+100], bl
  002b0	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  002b5	6a 01		 push	 1
  002b7	8d 4c 24 18	 lea	 ecx, DWORD PTR $T116674[esp+92]
  002bb	51		 push	 ecx
  002bc	8b ce		 mov	 ecx, esi
  002be	c7 44 24 5c 08
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 8
  002c6	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  002cb	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  002d3	39 7c 24 2c	 cmp	 DWORD PTR $T116674[esp+112], edi
  002d7	72 0d		 jb	 SHORT $LN577@init
  002d9	8b 54 24 18	 mov	 edx, DWORD PTR $T116674[esp+92]
  002dd	52		 push	 edx
  002de	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  002e3	83 c4 04	 add	 esp, 4
$LN577@init:

; 604  :     insert("cos",POLY_COS);

  002e6	6a 03		 push	 3
  002e8	68 00 00 00 00	 push	 OFFSET ??_C@_03LALBNOCG@cos?$AA@
  002ed	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116675[esp+96]
  002f1	89 6c 24 34	 mov	 DWORD PTR $T116675[esp+120], ebp
  002f5	89 5c 24 30	 mov	 DWORD PTR $T116675[esp+116], ebx
  002f9	88 5c 24 20	 mov	 BYTE PTR $T116675[esp+100], bl
  002fd	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  00302	6a 0c		 push	 12			; 0000000cH
  00304	8d 44 24 18	 lea	 eax, DWORD PTR $T116675[esp+92]
  00308	50		 push	 eax
  00309	8b ce		 mov	 ecx, esi
  0030b	c7 44 24 5c 09
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 9
  00313	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  00318	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  00320	39 7c 24 2c	 cmp	 DWORD PTR $T116675[esp+112], edi
  00324	72 0d		 jb	 SHORT $LN639@init
  00326	8b 4c 24 18	 mov	 ecx, DWORD PTR $T116675[esp+92]
  0032a	51		 push	 ecx
  0032b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00330	83 c4 04	 add	 esp, 4
$LN639@init:

; 605  :     insert("sin",POLY_SIN);

  00333	6a 03		 push	 3
  00335	68 00 00 00 00	 push	 OFFSET ??_C@_03BLEJJJBH@sin?$AA@
  0033a	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116676[esp+96]
  0033e	89 6c 24 34	 mov	 DWORD PTR $T116676[esp+120], ebp
  00342	89 5c 24 30	 mov	 DWORD PTR $T116676[esp+116], ebx
  00346	88 5c 24 20	 mov	 BYTE PTR $T116676[esp+100], bl
  0034a	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  0034f	6a 0d		 push	 13			; 0000000dH
  00351	8d 54 24 18	 lea	 edx, DWORD PTR $T116676[esp+92]
  00355	52		 push	 edx
  00356	8b ce		 mov	 ecx, esi
  00358	c7 44 24 5c 0a
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 10 ; 0000000aH
  00360	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  00365	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  0036d	39 7c 24 2c	 cmp	 DWORD PTR $T116676[esp+112], edi
  00371	72 0d		 jb	 SHORT $LN701@init
  00373	8b 44 24 18	 mov	 eax, DWORD PTR $T116676[esp+92]
  00377	50		 push	 eax
  00378	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0037d	83 c4 04	 add	 esp, 4
$LN701@init:

; 606  :     insert("tan",POLY_TAN);

  00380	6a 03		 push	 3
  00382	68 00 00 00 00	 push	 OFFSET ??_C@_03IIINPABG@tan?$AA@
  00387	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116677[esp+96]
  0038b	89 6c 24 34	 mov	 DWORD PTR $T116677[esp+120], ebp
  0038f	89 5c 24 30	 mov	 DWORD PTR $T116677[esp+116], ebx
  00393	88 5c 24 20	 mov	 BYTE PTR $T116677[esp+100], bl
  00397	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  0039c	6a 0e		 push	 14			; 0000000eH
  0039e	8d 4c 24 18	 lea	 ecx, DWORD PTR $T116677[esp+92]
  003a2	51		 push	 ecx
  003a3	8b ce		 mov	 ecx, esi
  003a5	c7 44 24 5c 0b
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 11 ; 0000000bH
  003ad	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  003b2	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  003ba	39 7c 24 2c	 cmp	 DWORD PTR $T116677[esp+112], edi
  003be	72 0d		 jb	 SHORT $LN763@init
  003c0	8b 54 24 18	 mov	 edx, DWORD PTR $T116677[esp+92]
  003c4	52		 push	 edx
  003c5	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  003ca	83 c4 04	 add	 esp, 4
$LN763@init:

; 607  :     insert("cot",POLY_COT);

  003cd	6a 03		 push	 3
  003cf	68 00 00 00 00	 push	 OFFSET ??_C@_03PPPAEIOB@cot?$AA@
  003d4	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116678[esp+96]
  003d8	89 6c 24 34	 mov	 DWORD PTR $T116678[esp+120], ebp
  003dc	89 5c 24 30	 mov	 DWORD PTR $T116678[esp+116], ebx
  003e0	88 5c 24 20	 mov	 BYTE PTR $T116678[esp+100], bl
  003e4	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  003e9	6a 11		 push	 17			; 00000011H
  003eb	8d 44 24 18	 lea	 eax, DWORD PTR $T116678[esp+92]
  003ef	50		 push	 eax
  003f0	8b ce		 mov	 ecx, esi
  003f2	c7 44 24 5c 0c
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 12 ; 0000000cH
  003fa	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  003ff	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  00407	39 7c 24 2c	 cmp	 DWORD PTR $T116678[esp+112], edi
  0040b	72 0d		 jb	 SHORT $LN825@init
  0040d	8b 4c 24 18	 mov	 ecx, DWORD PTR $T116678[esp+92]
  00411	51		 push	 ecx
  00412	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00417	83 c4 04	 add	 esp, 4
$LN825@init:

; 608  :     insert("csc",POLY_CSC);

  0041a	6a 03		 push	 3
  0041c	68 00 00 00 00	 push	 OFFSET ??_C@_03OPEPJGGD@csc?$AA@
  00421	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116679[esp+96]
  00425	89 6c 24 34	 mov	 DWORD PTR $T116679[esp+120], ebp
  00429	89 5c 24 30	 mov	 DWORD PTR $T116679[esp+116], ebx
  0042d	88 5c 24 20	 mov	 BYTE PTR $T116679[esp+100], bl
  00431	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  00436	55		 push	 ebp
  00437	8d 54 24 18	 lea	 edx, DWORD PTR $T116679[esp+92]
  0043b	52		 push	 edx
  0043c	8b ce		 mov	 ecx, esi
  0043e	c7 44 24 5c 0d
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 13 ; 0000000dH
  00446	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  0044b	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  00453	39 7c 24 2c	 cmp	 DWORD PTR $T116679[esp+112], edi
  00457	72 0d		 jb	 SHORT $LN887@init
  00459	8b 44 24 18	 mov	 eax, DWORD PTR $T116679[esp+92]
  0045d	50		 push	 eax
  0045e	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00463	83 c4 04	 add	 esp, 4
$LN887@init:

; 609  :     insert("cosec",POLY_COSEC);

  00466	6a 05		 push	 5
  00468	68 00 00 00 00	 push	 OFFSET ??_C@_05KCHJPNOJ@cosec?$AA@
  0046d	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116680[esp+96]
  00471	89 6c 24 34	 mov	 DWORD PTR $T116680[esp+120], ebp
  00475	89 5c 24 30	 mov	 DWORD PTR $T116680[esp+116], ebx
  00479	88 5c 24 20	 mov	 BYTE PTR $T116680[esp+100], bl
  0047d	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  00482	55		 push	 ebp
  00483	8d 4c 24 18	 lea	 ecx, DWORD PTR $T116680[esp+92]
  00487	51		 push	 ecx
  00488	8b ce		 mov	 ecx, esi
  0048a	c7 44 24 5c 0e
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 14 ; 0000000eH
  00492	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  00497	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  0049f	39 7c 24 2c	 cmp	 DWORD PTR $T116680[esp+112], edi
  004a3	72 0d		 jb	 SHORT $LN949@init
  004a5	8b 54 24 18	 mov	 edx, DWORD PTR $T116680[esp+92]
  004a9	52		 push	 edx
  004aa	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  004af	83 c4 04	 add	 esp, 4
$LN949@init:

; 610  :     insert("sec",POLY_SEC);

  004b2	6a 03		 push	 3
  004b4	68 00 00 00 00	 push	 OFFSET ??_C@_03KHPNBODO@sec?$AA@
  004b9	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116681[esp+96]
  004bd	89 6c 24 34	 mov	 DWORD PTR $T116681[esp+120], ebp
  004c1	89 5c 24 30	 mov	 DWORD PTR $T116681[esp+116], ebx
  004c5	88 5c 24 20	 mov	 BYTE PTR $T116681[esp+100], bl
  004c9	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  004ce	57		 push	 edi
  004cf	8d 44 24 18	 lea	 eax, DWORD PTR $T116681[esp+92]
  004d3	50		 push	 eax
  004d4	8b ce		 mov	 ecx, esi
  004d6	89 6c 24 5c	 mov	 DWORD PTR __$EHRec$[esp+104], ebp
  004da	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  004df	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  004e7	39 7c 24 2c	 cmp	 DWORD PTR $T116681[esp+112], edi
  004eb	72 0d		 jb	 SHORT $LN1011@init
  004ed	8b 4c 24 18	 mov	 ecx, DWORD PTR $T116681[esp+92]
  004f1	51		 push	 ecx
  004f2	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  004f7	83 c4 04	 add	 esp, 4
$LN1011@init:

; 611  :     insert("pi",POLY_PI);

  004fa	6a 02		 push	 2
  004fc	68 00 00 00 00	 push	 OFFSET ??_C@_02OAHAJOFD@pi?$AA@
  00501	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116682[esp+96]
  00505	89 6c 24 34	 mov	 DWORD PTR $T116682[esp+120], ebp
  00509	89 5c 24 30	 mov	 DWORD PTR $T116682[esp+116], ebx
  0050d	88 5c 24 20	 mov	 BYTE PTR $T116682[esp+100], bl
  00511	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  00516	6a 0a		 push	 10			; 0000000aH
  00518	8d 54 24 18	 lea	 edx, DWORD PTR $T116682[esp+92]
  0051c	52		 push	 edx
  0051d	8b ce		 mov	 ecx, esi
  0051f	89 7c 24 5c	 mov	 DWORD PTR __$EHRec$[esp+104], edi
  00523	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  00528	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  00530	39 7c 24 2c	 cmp	 DWORD PTR $T116682[esp+112], edi
  00534	72 0d		 jb	 SHORT $LN1073@init
  00536	8b 44 24 18	 mov	 eax, DWORD PTR $T116682[esp+92]
  0053a	50		 push	 eax
  0053b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00540	83 c4 04	 add	 esp, 4
$LN1073@init:

; 612  :     SetVar("pi",3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068);

  00543	6a 02		 push	 2
  00545	68 00 00 00 00	 push	 OFFSET ??_C@_02OAHAJOFD@pi?$AA@
  0054a	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116683[esp+96]
  0054e	89 6c 24 34	 mov	 DWORD PTR $T116683[esp+120], ebp
  00552	89 5c 24 30	 mov	 DWORD PTR $T116683[esp+116], ebx
  00556	88 5c 24 20	 mov	 BYTE PTR $T116683[esp+100], bl
  0055a	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  0055f	dd 05 00 00 00
	00		 fld	 QWORD PTR __real@400921fb54442d18
  00565	83 ec 08	 sub	 esp, 8
  00568	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116683[esp+96]
  0056c	dd 1c 24	 fstp	 QWORD PTR [esp]
  0056f	51		 push	 ecx
  00570	8b ce		 mov	 ecx, esi
  00572	c7 44 24 60 11
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+108], 17 ; 00000011H
  0057a	e8 00 00 00 00	 call	 ?SetVar@CPoly@@QAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@N@Z ; CPoly::SetVar
  0057f	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  00587	39 7c 24 2c	 cmp	 DWORD PTR $T116683[esp+112], edi
  0058b	72 0d		 jb	 SHORT $LN1135@init
  0058d	8b 54 24 18	 mov	 edx, DWORD PTR $T116683[esp+92]
  00591	52		 push	 edx
  00592	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00597	83 c4 04	 add	 esp, 4
$LN1135@init:

; 613  :     insert("e",POLY_EXP);

  0059a	6a 01		 push	 1
  0059c	68 00 00 00 00	 push	 OFFSET ??_C@_01KGKMHCOC@e?$AA@
  005a1	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116684[esp+96]
  005a5	89 6c 24 34	 mov	 DWORD PTR $T116684[esp+120], ebp
  005a9	89 5c 24 30	 mov	 DWORD PTR $T116684[esp+116], ebx
  005ad	88 5c 24 20	 mov	 BYTE PTR $T116684[esp+100], bl
  005b1	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  005b6	6a 0a		 push	 10			; 0000000aH
  005b8	8d 44 24 18	 lea	 eax, DWORD PTR $T116684[esp+92]
  005bc	50		 push	 eax
  005bd	8b ce		 mov	 ecx, esi
  005bf	c7 44 24 5c 12
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 18 ; 00000012H
  005c7	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  005cc	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  005d4	39 7c 24 2c	 cmp	 DWORD PTR $T116684[esp+112], edi
  005d8	72 0d		 jb	 SHORT $LN1197@init
  005da	8b 4c 24 18	 mov	 ecx, DWORD PTR $T116684[esp+92]
  005de	51		 push	 ecx
  005df	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  005e4	83 c4 04	 add	 esp, 4
$LN1197@init:

; 614  :     SetVar("e",2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427);

  005e7	6a 01		 push	 1
  005e9	68 00 00 00 00	 push	 OFFSET ??_C@_01KGKMHCOC@e?$AA@
  005ee	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116685[esp+96]
  005f2	89 6c 24 34	 mov	 DWORD PTR $T116685[esp+120], ebp
  005f6	89 5c 24 30	 mov	 DWORD PTR $T116685[esp+116], ebx
  005fa	88 5c 24 20	 mov	 BYTE PTR $T116685[esp+100], bl
  005fe	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  00603	dd 05 00 00 00
	00		 fld	 QWORD PTR __real@4005bf0a8b145769
  00609	83 ec 08	 sub	 esp, 8
  0060c	8d 54 24 1c	 lea	 edx, DWORD PTR $T116685[esp+96]
  00610	dd 1c 24	 fstp	 QWORD PTR [esp]
  00613	52		 push	 edx
  00614	8b ce		 mov	 ecx, esi
  00616	c7 44 24 60 13
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+108], 19 ; 00000013H
  0061e	e8 00 00 00 00	 call	 ?SetVar@CPoly@@QAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@N@Z ; CPoly::SetVar
  00623	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  0062b	39 7c 24 2c	 cmp	 DWORD PTR $T116685[esp+112], edi
  0062f	72 0d		 jb	 SHORT $LN1259@init
  00631	8b 44 24 18	 mov	 eax, DWORD PTR $T116685[esp+92]
  00635	50		 push	 eax
  00636	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0063b	83 c4 04	 add	 esp, 4
$LN1259@init:

; 615  :     insert("log",POLY_LOG);

  0063e	6a 03		 push	 3
  00640	68 00 00 00 00	 push	 OFFSET ??_C@_03MGHMBJCF@log?$AA@
  00645	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116686[esp+96]
  00649	89 6c 24 34	 mov	 DWORD PTR $T116686[esp+120], ebp
  0064d	89 5c 24 30	 mov	 DWORD PTR $T116686[esp+116], ebx
  00651	88 5c 24 20	 mov	 BYTE PTR $T116686[esp+100], bl
  00655	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  0065a	6a 12		 push	 18			; 00000012H
  0065c	8d 4c 24 18	 lea	 ecx, DWORD PTR $T116686[esp+92]
  00660	51		 push	 ecx
  00661	8b ce		 mov	 ecx, esi
  00663	c7 44 24 5c 14
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 20 ; 00000014H
  0066b	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  00670	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  00678	39 7c 24 2c	 cmp	 DWORD PTR $T116686[esp+112], edi
  0067c	72 0d		 jb	 SHORT $LN1321@init
  0067e	8b 54 24 18	 mov	 edx, DWORD PTR $T116686[esp+92]
  00682	52		 push	 edx
  00683	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00688	83 c4 04	 add	 esp, 4
$LN1321@init:

; 616  :     insert("ln",POLY_LN);

  0068b	6a 02		 push	 2
  0068d	68 00 00 00 00	 push	 OFFSET ??_C@_02LKANFCIA@ln?$AA@
  00692	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116687[esp+96]
  00696	89 6c 24 34	 mov	 DWORD PTR $T116687[esp+120], ebp
  0069a	89 5c 24 30	 mov	 DWORD PTR $T116687[esp+116], ebx
  0069e	88 5c 24 20	 mov	 BYTE PTR $T116687[esp+100], bl
  006a2	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  006a7	6a 13		 push	 19			; 00000013H
  006a9	8d 44 24 18	 lea	 eax, DWORD PTR $T116687[esp+92]
  006ad	50		 push	 eax
  006ae	8b ce		 mov	 ecx, esi
  006b0	c7 44 24 5c 15
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 21 ; 00000015H
  006b8	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  006bd	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  006c5	39 7c 24 2c	 cmp	 DWORD PTR $T116687[esp+112], edi
  006c9	72 0d		 jb	 SHORT $LN1383@init
  006cb	8b 4c 24 18	 mov	 ecx, DWORD PTR $T116687[esp+92]
  006cf	51		 push	 ecx
  006d0	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  006d5	83 c4 04	 add	 esp, 4
$LN1383@init:

; 617  :     insert("log10",POLY_LOG10);

  006d8	6a 05		 push	 5
  006da	68 00 00 00 00	 push	 OFFSET ??_C@_05HGHHAHAP@log10?$AA@
  006df	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116688[esp+96]
  006e3	89 6c 24 34	 mov	 DWORD PTR $T116688[esp+120], ebp
  006e7	89 5c 24 30	 mov	 DWORD PTR $T116688[esp+116], ebx
  006eb	88 5c 24 20	 mov	 BYTE PTR $T116688[esp+100], bl
  006ef	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  006f4	6a 14		 push	 20			; 00000014H
  006f6	8d 54 24 18	 lea	 edx, DWORD PTR $T116688[esp+92]
  006fa	52		 push	 edx
  006fb	8b ce		 mov	 ecx, esi
  006fd	c7 44 24 5c 16
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 22 ; 00000016H
  00705	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  0070a	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  00712	39 7c 24 2c	 cmp	 DWORD PTR $T116688[esp+112], edi
  00716	72 0d		 jb	 SHORT $LN1445@init
  00718	8b 44 24 18	 mov	 eax, DWORD PTR $T116688[esp+92]
  0071c	50		 push	 eax
  0071d	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00722	83 c4 04	 add	 esp, 4
$LN1445@init:

; 618  :     insert("abs",POLY_ABS);

  00725	6a 03		 push	 3
  00727	68 00 00 00 00	 push	 OFFSET ??_C@_03BCGAIFPO@abs?$AA@
  0072c	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116689[esp+96]
  00730	89 6c 24 34	 mov	 DWORD PTR $T116689[esp+120], ebp
  00734	89 5c 24 30	 mov	 DWORD PTR $T116689[esp+116], ebx
  00738	88 5c 24 20	 mov	 BYTE PTR $T116689[esp+100], bl
  0073c	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  00741	6a 15		 push	 21			; 00000015H
  00743	8d 4c 24 18	 lea	 ecx, DWORD PTR $T116689[esp+92]
  00747	51		 push	 ecx
  00748	8b ce		 mov	 ecx, esi
  0074a	c7 44 24 5c 17
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 23 ; 00000017H
  00752	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  00757	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  0075f	39 7c 24 2c	 cmp	 DWORD PTR $T116689[esp+112], edi
  00763	72 0d		 jb	 SHORT $LN1507@init
  00765	8b 54 24 18	 mov	 edx, DWORD PTR $T116689[esp+92]
  00769	52		 push	 edx
  0076a	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0076f	83 c4 04	 add	 esp, 4
$LN1507@init:

; 619  :     insert("mod",POLY_MOD);

  00772	6a 03		 push	 3
  00774	68 00 00 00 00	 push	 OFFSET ??_C@_03FFONCNID@mod?$AA@
  00779	8d 4c 24 1c	 lea	 ecx, DWORD PTR $T116690[esp+96]
  0077d	89 6c 24 34	 mov	 DWORD PTR $T116690[esp+120], ebp
  00781	89 5c 24 30	 mov	 DWORD PTR $T116690[esp+116], ebx
  00785	88 5c 24 20	 mov	 BYTE PTR $T116690[esp+100], bl
  00789	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  0078e	6a 1a		 push	 26			; 0000001aH
  00790	8d 44 24 18	 lea	 eax, DWORD PTR $T116690[esp+92]
  00794	50		 push	 eax
  00795	8b ce		 mov	 ecx, esi
  00797	c7 44 24 5c 18
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 24 ; 00000018H
  0079f	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  007a4	c7 44 24 54 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+96], -1
  007ac	39 7c 24 2c	 cmp	 DWORD PTR $T116690[esp+112], edi
  007b0	72 0d		 jb	 SHORT $LN1569@init
  007b2	8b 4c 24 18	 mov	 ecx, DWORD PTR $T116690[esp+92]
  007b6	51		 push	 ecx
  007b7	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  007bc	83 c4 04	 add	 esp, 4
$LN1569@init:

; 620  :     insert("floor",POLY_FLOOR);	

  007bf	68 00 00 00 00	 push	 OFFSET ??_C@_05PBJFFIGL@floor?$AA@
  007c4	8d 4c 24 34	 lea	 ecx, DWORD PTR $T116691[esp+92]
  007c8	e8 00 00 00 00	 call	 ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
  007cd	6a 1b		 push	 27			; 0000001bH
  007cf	8d 54 24 34	 lea	 edx, DWORD PTR $T116691[esp+92]
  007d3	52		 push	 edx
  007d4	8b ce		 mov	 ecx, esi
  007d6	c7 44 24 5c 19
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+104], 25 ; 00000019H
  007de	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  007e3	39 7c 24 48	 cmp	 DWORD PTR $T116691[esp+112], edi
  007e7	72 2d		 jb	 SHORT $LN1605@init
  007e9	8b 44 24 34	 mov	 eax, DWORD PTR $T116691[esp+92]
  007ed	50		 push	 eax
  007ee	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete

; 621  : 	MathSymbolCount = STSize;

  007f3	8b 8e 88 00 00
	00		 mov	 ecx, DWORD PTR [esi+136]
  007f9	83 c4 04	 add	 esp, 4
  007fc	89 8e 8c 00 00
	00		 mov	 DWORD PTR [esi+140], ecx

; 622  : }

  00802	8b 4c 24 4c	 mov	 ecx, DWORD PTR __$EHRec$[esp+88]
  00806	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0080d	59		 pop	 ecx
  0080e	5f		 pop	 edi
  0080f	5e		 pop	 esi
  00810	5d		 pop	 ebp
  00811	5b		 pop	 ebx
  00812	83 c4 44	 add	 esp, 68			; 00000044H
  00815	c3		 ret	 0
$LN1605@init:

; 621  : 	MathSymbolCount = STSize;

  00816	8b 96 88 00 00
	00		 mov	 edx, DWORD PTR [esi+136]
  0081c	89 96 8c 00 00
	00		 mov	 DWORD PTR [esi+140], edx

; 622  : }

  00822	8b 4c 24 4c	 mov	 ecx, DWORD PTR __$EHRec$[esp+88]
  00826	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0082d	59		 pop	 ecx
  0082e	5f		 pop	 edi
  0082f	5e		 pop	 esi
  00830	5d		 pop	 ebp
  00831	5b		 pop	 ebx
  00832	83 c4 44	 add	 esp, 68			; 00000044H
  00835	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?init@CPoly@@IAEXXZ$0:
  00000	8d 4d bc	 lea	 ecx, DWORD PTR $T116666[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$1:
  00008	8d 4d bc	 lea	 ecx, DWORD PTR $T116667[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$2:
  00010	8d 4d bc	 lea	 ecx, DWORD PTR $T116668[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$3:
  00018	8d 4d bc	 lea	 ecx, DWORD PTR $T116669[ebp]
  0001b	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$4:
  00020	8d 4d bc	 lea	 ecx, DWORD PTR $T116670[ebp]
  00023	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$5:
  00028	8d 4d bc	 lea	 ecx, DWORD PTR $T116671[ebp]
  0002b	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$6:
  00030	8d 4d bc	 lea	 ecx, DWORD PTR $T116672[ebp]
  00033	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$7:
  00038	8d 4d bc	 lea	 ecx, DWORD PTR $T116673[ebp]
  0003b	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$8:
  00040	8d 4d bc	 lea	 ecx, DWORD PTR $T116674[ebp]
  00043	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$9:
  00048	8d 4d bc	 lea	 ecx, DWORD PTR $T116675[ebp]
  0004b	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$10:
  00050	8d 4d bc	 lea	 ecx, DWORD PTR $T116676[ebp]
  00053	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$11:
  00058	8d 4d bc	 lea	 ecx, DWORD PTR $T116677[ebp]
  0005b	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$12:
  00060	8d 4d bc	 lea	 ecx, DWORD PTR $T116678[ebp]
  00063	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$13:
  00068	8d 4d bc	 lea	 ecx, DWORD PTR $T116679[ebp]
  0006b	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$14:
  00070	8d 4d bc	 lea	 ecx, DWORD PTR $T116680[ebp]
  00073	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$15:
  00078	8d 4d bc	 lea	 ecx, DWORD PTR $T116681[ebp]
  0007b	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$16:
  00080	8d 4d bc	 lea	 ecx, DWORD PTR $T116682[ebp]
  00083	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$17:
  00088	8d 4d bc	 lea	 ecx, DWORD PTR $T116683[ebp]
  0008b	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$18:
  00090	8d 4d bc	 lea	 ecx, DWORD PTR $T116684[ebp]
  00093	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$19:
  00098	8d 4d bc	 lea	 ecx, DWORD PTR $T116685[ebp]
  0009b	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$20:
  000a0	8d 4d bc	 lea	 ecx, DWORD PTR $T116686[ebp]
  000a3	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$21:
  000a8	8d 4d bc	 lea	 ecx, DWORD PTR $T116687[ebp]
  000ab	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$22:
  000b0	8d 4d bc	 lea	 ecx, DWORD PTR $T116688[ebp]
  000b3	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$23:
  000b8	8d 4d bc	 lea	 ecx, DWORD PTR $T116689[ebp]
  000bb	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$24:
  000c0	8d 4d bc	 lea	 ecx, DWORD PTR $T116690[ebp]
  000c3	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?init@CPoly@@IAEXXZ$25:
  000c8	8d 4d d8	 lea	 ecx, DWORD PTR $T116691[ebp]
  000cb	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__ehhandler$?init@CPoly@@IAEXXZ:
  000d0	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  000d4	8d 42 b8	 lea	 eax, DWORD PTR [edx-72]
  000d7	8b 4a b4	 mov	 ecx, DWORD PTR [edx-76]
  000da	33 c8		 xor	 ecx, eax
  000dc	e8 00 00 00 00	 call	 @__security_check_cookie@4
  000e1	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?init@CPoly@@IAEXXZ
  000e6	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?init@CPoly@@IAEXXZ ENDP				; CPoly::init
PUBLIC	??0CPoly@@QAE@XZ				; CPoly::CPoly
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
xdata$x	SEGMENT
__ehfuncinfo$??0CPoly@@QAE@XZ DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$??0CPoly@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
__unwindtable$??0CPoly@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CPoly@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CPoly@@QAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0CPoly@@QAE@XZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0CPoly@@QAE@XZ$3
	DD	03H
	DD	FLAT:__unwindfunclet$??0CPoly@@QAE@XZ$4
; Function compile flags: /Ogtpy
; File d:\# metin2\work in progress\source client\client\eterbase\poly\poly.cpp
xdata$x	ENDS
;	COMDAT ??0CPoly@@QAE@XZ
_TEXT	SEGMENT
$T123436 = -28						; size = 4
_this$ = -24						; size = 4
$T123461 = -20						; size = 8
$T123458 = -20						; size = 8
__$EHRec$ = -12						; size = 12
??0CPoly@@QAE@XZ PROC					; CPoly::CPoly, COMDAT
; _this$ = ecx

; 47   : {

  00000	6a ff		 push	 -1
  00002	68 00 00 00 00	 push	 __ehhandler$??0CPoly@@QAE@XZ
  00007	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  0000d	50		 push	 eax
  0000e	83 ec 10	 sub	 esp, 16			; 00000010H
  00011	53		 push	 ebx
  00012	55		 push	 ebp
  00013	56		 push	 esi
  00014	57		 push	 edi
  00015	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001a	33 c4		 xor	 eax, esp
  0001c	50		 push	 eax
  0001d	8d 44 24 24	 lea	 eax, DWORD PTR __$EHRec$[esp+48]
  00021	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00027	8b f1		 mov	 esi, ecx
  00029	89 74 24 18	 mov	 DWORD PTR _this$[esp+48], esi
  0002d	8d 4e 28	 lea	 ecx, DWORD PTR [esi+40]
  00030	c7 06 00 00 00
	00		 mov	 DWORD PTR [esi], OFFSET ??_7CPoly@@6B@
  00036	e8 00 00 00 00	 call	 ??0?$vector@HV?$allocator@H@std@@@std@@QAE@XZ ; std::vector<int,std::allocator<int> >::vector<int,std::allocator<int> >
  0003b	33 db		 xor	 ebx, ebx
  0003d	8d 4e 40	 lea	 ecx, DWORD PTR [esi+64]
  00040	89 5c 24 2c	 mov	 DWORD PTR __$EHRec$[esp+56], ebx
  00044	e8 00 00 00 00	 call	 ??0?$vector@NV?$allocator@N@std@@@std@@QAE@XZ ; std::vector<double,std::allocator<double> >::vector<double,std::allocator<double> >
  00049	8d 7e 58	 lea	 edi, DWORD PTR [esi+88]
  0004c	8b cf		 mov	 ecx, edi
  0004e	c6 44 24 2c 01	 mov	 BYTE PTR __$EHRec$[esp+56], 1
  00053	e8 00 00 00 00	 call	 ??0?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ ; std::vector<CSymTable *,std::allocator<CSymTable *> >::vector<CSymTable *,std::allocator<CSymTable *> >
  00058	8d 4e 70	 lea	 ecx, DWORD PTR [esi+112]
  0005b	c6 44 24 2c 02	 mov	 BYTE PTR __$EHRec$[esp+56], 2
  00060	e8 00 00 00 00	 call	 ??0?$vector@HV?$allocator@H@std@@@std@@QAE@XZ ; std::vector<int,std::allocator<int> >::vector<int,std::allocator<int> >
  00065	c7 86 a8 00 00
	00 0f 00 00 00	 mov	 DWORD PTR [esi+168], 15	; 0000000fH
  0006f	89 9e a4 00 00
	00		 mov	 DWORD PTR [esi+164], ebx
  00075	88 9e 94 00 00
	00		 mov	 BYTE PTR [esi+148], bl

; 48   : 	m_iRandomType = RANDOM_TYPE_FREELY;

  0007b	89 9e ac 00 00
	00		 mov	 DWORD PTR [esi+172], ebx

; 49   :     uiLookPos = 0;

  00081	89 5e 24	 mov	 DWORD PTR [esi+36], ebx

; 50   :     ErrorOccur = true;

  00084	c6 46 20 01	 mov	 BYTE PTR [esi+32], 1

; 51   :     lSymbol.clear();

  00088	8b 6f 10	 mov	 ebp, DWORD PTR [edi+16]
  0008b	c6 44 24 2c 04	 mov	 BYTE PTR __$EHRec$[esp+56], 4
  00090	39 6f 0c	 cmp	 DWORD PTR [edi+12], ebp
  00093	76 05		 jbe	 SHORT $LN48@CPoly@2
  00095	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN48@CPoly@2:
  0009a	8b 4f 0c	 mov	 ecx, DWORD PTR [edi+12]
  0009d	8b 07		 mov	 eax, DWORD PTR [edi]
  0009f	89 44 24 1c	 mov	 DWORD PTR $T123458[esp+48], eax
  000a3	89 4c 24 14	 mov	 DWORD PTR $T123436[esp+48], ecx
  000a7	3b 4f 10	 cmp	 ecx, DWORD PTR [edi+16]
  000aa	76 09		 jbe	 SHORT $LN67@CPoly@2
  000ac	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  000b1	8b 4c 24 14	 mov	 ecx, DWORD PTR $T123436[esp+48]
$LN67@CPoly@2:
  000b5	8b 54 24 1c	 mov	 edx, DWORD PTR $T123458[esp+48]
  000b9	8b 07		 mov	 eax, DWORD PTR [edi]
  000bb	55		 push	 ebp
  000bc	52		 push	 edx
  000bd	51		 push	 ecx
  000be	50		 push	 eax
  000bf	8d 44 24 2c	 lea	 eax, DWORD PTR $T123461[esp+64]
  000c3	50		 push	 eax
  000c4	8b cf		 mov	 ecx, edi
  000c6	e8 00 00 00 00	 call	 ?erase@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@V?$_Vector_const_iterator@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@2@0@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::erase

; 52   :     STSize = 0;
; 53   : 	MathSymbolCount = 0;
; 54   :     lSymbol.reserve(50);

  000cb	6a 32		 push	 50			; 00000032H
  000cd	8b cf		 mov	 ecx, edi
  000cf	89 9e 88 00 00
	00		 mov	 DWORD PTR [esi+136], ebx
  000d5	89 9e 8c 00 00
	00		 mov	 DWORD PTR [esi+140], ebx
  000db	e8 00 00 00 00	 call	 ?reserve@?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAEXI@Z ; std::vector<CSymTable *,std::allocator<CSymTable *> >::reserve

; 55   :     init();

  000e0	8b ce		 mov	 ecx, esi
  000e2	e8 00 00 00 00	 call	 ?init@CPoly@@IAEXXZ	; CPoly::init

; 56   : }

  000e7	8b c6		 mov	 eax, esi
  000e9	8b 4c 24 24	 mov	 ecx, DWORD PTR __$EHRec$[esp+48]
  000ed	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000f4	59		 pop	 ecx
  000f5	5f		 pop	 edi
  000f6	5e		 pop	 esi
  000f7	5d		 pop	 ebp
  000f8	5b		 pop	 ebx
  000f9	83 c4 1c	 add	 esp, 28			; 0000001cH
  000fc	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CPoly@@QAE@XZ$0:
  00000	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	83 c1 28	 add	 ecx, 40			; 00000028H
  00006	e9 00 00 00 00	 jmp	 ??1?$vector@HV?$allocator@H@std@@@std@@QAE@XZ ; std::vector<int,std::allocator<int> >::~vector<int,std::allocator<int> >
__unwindfunclet$??0CPoly@@QAE@XZ$1:
  0000b	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	83 c1 40	 add	 ecx, 64			; 00000040H
  00011	e9 00 00 00 00	 jmp	 ??1?$vector@NV?$allocator@N@std@@@std@@QAE@XZ ; std::vector<double,std::allocator<double> >::~vector<double,std::allocator<double> >
__unwindfunclet$??0CPoly@@QAE@XZ$2:
  00016	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00019	83 c1 58	 add	 ecx, 88			; 00000058H
  0001c	e9 00 00 00 00	 jmp	 ??1?$vector@PAVCSymTable@@V?$allocator@PAVCSymTable@@@std@@@std@@QAE@XZ ; std::vector<CSymTable *,std::allocator<CSymTable *> >::~vector<CSymTable *,std::allocator<CSymTable *> >
__unwindfunclet$??0CPoly@@QAE@XZ$3:
  00021	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00024	83 c1 70	 add	 ecx, 112		; 00000070H
  00027	e9 00 00 00 00	 jmp	 ??1?$vector@HV?$allocator@H@std@@@std@@QAE@XZ ; std::vector<int,std::allocator<int> >::~vector<int,std::allocator<int> >
__unwindfunclet$??0CPoly@@QAE@XZ$4:
  0002c	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002f	81 c1 90 00 00
	00		 add	 ecx, 144		; 00000090H
  00035	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__ehhandler$??0CPoly@@QAE@XZ:
  0003a	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0003e	8d 42 e0	 lea	 eax, DWORD PTR [edx-32]
  00041	8b 4a dc	 mov	 ecx, DWORD PTR [edx-36]
  00044	33 c8		 xor	 ecx, eax
  00046	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0004b	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CPoly@@QAE@XZ
  00050	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CPoly@@QAE@XZ ENDP					; CPoly::CPoly
PUBLIC	??_C@_00CNPNBAHC@?$AA@				; `string'
PUBLIC	__real@3fb999999999999a
PUBLIC	__$ArrayPad$
PUBLIC	?lexan@CPoly@@IAEHXZ				; CPoly::lexan
EXTRN	_isalpha:PROC
EXTRN	_isdigit:PROC
;	COMDAT ??_C@_00CNPNBAHC@?$AA@
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd
CONST	SEGMENT
??_C@_00CNPNBAHC@?$AA@ DB 00H				; `string'
CONST	ENDS
;	COMDAT __real@3fb999999999999a
CONST	SEGMENT
__real@3fb999999999999a DQ 03fb999999999999ar	; 0.1
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?lexan@CPoly@@IAEHXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?lexan@CPoly@@IAEHXZ$0
__ehfuncinfo$?lexan@CPoly@@IAEHXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?lexan@CPoly@@IAEHXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\# metin2\work in progress\source client\client\eterbase\poly\poly.cpp
xdata$x	ENDS
;	COMDAT ?lexan@CPoly@@IAEHXZ
_TEXT	SEGMENT
tv838 = -60						; size = 4
$T123621 = -60						; size = 4
$T123601 = -60						; size = 4
_tt$ = -56						; size = 8
_localSymbol$95179 = -48				; size = 28
__$ArrayPad$ = -20					; size = 4
__$EHRec$ = -12						; size = 12
?lexan@CPoly@@IAEHXZ PROC				; CPoly::lexan, COMDAT
; _this$ = ecx

; 321  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 e4 f8	 and	 esp, -8			; fffffff8H
  00006	6a ff		 push	 -1
  00008	68 00 00 00 00	 push	 __ehhandler$?lexan@CPoly@@IAEHXZ
  0000d	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00013	50		 push	 eax
  00014	83 ec 30	 sub	 esp, 48			; 00000030H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c4		 xor	 eax, esp
  0001e	89 44 24 28	 mov	 DWORD PTR __$ArrayPad$[esp+60], eax
  00022	53		 push	 ebx
  00023	56		 push	 esi
  00024	57		 push	 edi
  00025	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0002a	33 c4		 xor	 eax, esp
  0002c	50		 push	 eax
  0002d	8d 44 24 40	 lea	 eax, DWORD PTR __$EHRec$[esp+76]
  00031	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00037	8b f1		 mov	 esi, ecx

; 322  :     int t;
; 323  :     double tt;
; 324  : 
; 325  :     while (uiLookPos < strData.size())

  00039	8b 86 a4 00 00
	00		 mov	 eax, DWORD PTR [esi+164]
  0003f	39 46 24	 cmp	 DWORD PTR [esi+36], eax
  00042	73 5c		 jae	 SHORT $LN22@lexan
  00044	8d be 90 00 00
	00		 lea	 edi, DWORD PTR [esi+144]
  0004a	8d 9b 00 00 00
	00		 npad	 6
$LL23@lexan:

; 326  :     {
; 327  : 	if (strData[uiLookPos] == ' ' || strData[uiLookPos] == '\t')

  00050	8b 5e 24	 mov	 ebx, DWORD PTR [esi+36]
  00053	3b 5f 14	 cmp	 ebx, DWORD PTR [edi+20]
  00056	76 05		 jbe	 SHORT $LN31@lexan
  00058	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN31@lexan:
  0005d	83 7f 18 10	 cmp	 DWORD PTR [edi+24], 16	; 00000010H
  00061	72 05		 jb	 SHORT $LN37@lexan
  00063	8b 47 04	 mov	 eax, DWORD PTR [edi+4]
  00066	eb 03		 jmp	 SHORT $LN38@lexan
$LN37@lexan:
  00068	8d 47 04	 lea	 eax, DWORD PTR [edi+4]
$LN38@lexan:
  0006b	80 3c 18 20	 cmp	 BYTE PTR [eax+ebx], 32	; 00000020H
  0006f	74 21		 je	 SHORT $LN20@lexan
  00071	8b 5e 24	 mov	 ebx, DWORD PTR [esi+36]
  00074	3b 5f 14	 cmp	 ebx, DWORD PTR [edi+20]
  00077	76 05		 jbe	 SHORT $LN41@lexan
  00079	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN41@lexan:
  0007e	83 7f 18 10	 cmp	 DWORD PTR [edi+24], 16	; 00000010H
  00082	72 05		 jb	 SHORT $LN47@lexan
  00084	8b 47 04	 mov	 eax, DWORD PTR [edi+4]
  00087	eb 03		 jmp	 SHORT $LN48@lexan
$LN47@lexan:
  00089	8d 47 04	 lea	 eax, DWORD PTR [edi+4]
$LN48@lexan:
  0008c	80 3c 18 09	 cmp	 BYTE PTR [eax+ebx], 9
  00090	75 31		 jne	 SHORT $LN21@lexan
$LN20@lexan:

; 375  : 	}
; 376  : 	uiLookPos++;

  00092	ff 46 24	 inc	 DWORD PTR [esi+36]
  00095	8b 46 24	 mov	 eax, DWORD PTR [esi+36]
  00098	3b 86 a4 00 00
	00		 cmp	 eax, DWORD PTR [esi+164]
  0009e	72 b0		 jb	 SHORT $LL23@lexan
$LN22@lexan:

; 377  :     }
; 378  :     return POLY_EOS;

  000a0	b8 0b 00 00 00	 mov	 eax, 11			; 0000000bH
$LN24@lexan:

; 379  : }

  000a5	8b 4c 24 40	 mov	 ecx, DWORD PTR __$EHRec$[esp+76]
  000a9	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000b0	59		 pop	 ecx
  000b1	5f		 pop	 edi
  000b2	5e		 pop	 esi
  000b3	5b		 pop	 ebx
  000b4	8b 4c 24 28	 mov	 ecx, DWORD PTR __$ArrayPad$[esp+60]
  000b8	33 cc		 xor	 ecx, esp
  000ba	e8 00 00 00 00	 call	 @__security_check_cookie@4
  000bf	8b e5		 mov	 esp, ebp
  000c1	5d		 pop	 ebp
  000c2	c3		 ret	 0
$LN21@lexan:

; 328  : 	    ;
; 329  : 	else if (isdigit(strData[uiLookPos]))

  000c3	8b 5e 24	 mov	 ebx, DWORD PTR [esi+36]
  000c6	3b 5f 14	 cmp	 ebx, DWORD PTR [edi+20]
  000c9	76 05		 jbe	 SHORT $LN51@lexan
  000cb	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN51@lexan:
  000d0	83 7f 18 10	 cmp	 DWORD PTR [edi+24], 16	; 00000010H
  000d4	72 05		 jb	 SHORT $LN57@lexan
  000d6	8b 47 04	 mov	 eax, DWORD PTR [edi+4]
  000d9	eb 03		 jmp	 SHORT $LN58@lexan
$LN57@lexan:
  000db	8d 47 04	 lea	 eax, DWORD PTR [edi+4]
$LN58@lexan:
  000de	0f be 0c 18	 movsx	 ecx, BYTE PTR [eax+ebx]
  000e2	51		 push	 ecx
  000e3	e8 00 00 00 00	 call	 _isdigit
  000e8	83 c4 04	 add	 esp, 4
  000eb	85 c0		 test	 eax, eax
  000ed	0f 84 60 01 00
	00		 je	 $LN18@lexan

; 330  : 	{
; 331  : 	    t = 0;
; 332  : 	    for (;uiLookPos<strData.size();uiLookPos++)

  000f3	8b 56 24	 mov	 edx, DWORD PTR [esi+36]
  000f6	33 db		 xor	 ebx, ebx
  000f8	3b 96 a4 00 00
	00		 cmp	 edx, DWORD PTR [esi+164]
  000fe	73 70		 jae	 SHORT $LN14@lexan
$LL17@lexan:

; 333  : 	    {
; 334  : 		if (isdigit(strData[uiLookPos]))

  00100	8b 4e 24	 mov	 ecx, DWORD PTR [esi+36]
  00103	89 4c 24 10	 mov	 DWORD PTR $T123601[esp+76], ecx
  00107	3b 4f 14	 cmp	 ecx, DWORD PTR [edi+20]
  0010a	76 09		 jbe	 SHORT $LN63@lexan
  0010c	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00111	8b 4c 24 10	 mov	 ecx, DWORD PTR $T123601[esp+76]
$LN63@lexan:
  00115	83 7f 18 10	 cmp	 DWORD PTR [edi+24], 16	; 00000010H
  00119	72 05		 jb	 SHORT $LN69@lexan
  0011b	8b 47 04	 mov	 eax, DWORD PTR [edi+4]
  0011e	eb 03		 jmp	 SHORT $LN70@lexan
$LN69@lexan:
  00120	8d 47 04	 lea	 eax, DWORD PTR [edi+4]
$LN70@lexan:
  00123	0f be 04 08	 movsx	 eax, BYTE PTR [eax+ecx]
  00127	50		 push	 eax
  00128	e8 00 00 00 00	 call	 _isdigit
  0012d	83 c4 04	 add	 esp, 4
  00130	85 c0		 test	 eax, eax
  00132	74 3c		 je	 SHORT $LN14@lexan

; 335  : 		    t = t * 10 + strData[uiLookPos] - '0';

  00134	8b 4e 24	 mov	 ecx, DWORD PTR [esi+36]
  00137	89 4c 24 10	 mov	 DWORD PTR $T123621[esp+76], ecx
  0013b	3b 4f 14	 cmp	 ecx, DWORD PTR [edi+20]
  0013e	76 09		 jbe	 SHORT $LN73@lexan
  00140	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
  00145	8b 4c 24 10	 mov	 ecx, DWORD PTR $T123621[esp+76]
$LN73@lexan:
  00149	83 7f 18 10	 cmp	 DWORD PTR [edi+24], 16	; 00000010H
  0014d	72 05		 jb	 SHORT $LN79@lexan
  0014f	8b 47 04	 mov	 eax, DWORD PTR [edi+4]
  00152	eb 03		 jmp	 SHORT $LN80@lexan
$LN79@lexan:
  00154	8d 47 04	 lea	 eax, DWORD PTR [edi+4]
$LN80@lexan:
  00157	0f be 0c 08	 movsx	 ecx, BYTE PTR [eax+ecx]
  0015b	ff 46 24	 inc	 DWORD PTR [esi+36]
  0015e	8b 46 24	 mov	 eax, DWORD PTR [esi+36]
  00161	8d 14 9b	 lea	 edx, DWORD PTR [ebx+ebx*4]
  00164	8d 5c 51 d0	 lea	 ebx, DWORD PTR [ecx+edx*2-48]
  00168	3b 86 a4 00 00
	00		 cmp	 eax, DWORD PTR [esi+164]
  0016e	72 90		 jb	 SHORT $LL17@lexan
$LN14@lexan:

; 336  : 		else
; 337  : 		    break;
; 338  : 	    }
; 339  : 	    iToken=t;
; 340  : 	    tt=0.1;

  00170	dd 05 00 00 00
	00		 fld	 QWORD PTR __real@3fb999999999999a
  00176	89 5e 08	 mov	 DWORD PTR [esi+8], ebx

; 341  : 	    iNumToken=0;
; 342  : 	    if (uiLookPos<strData.size() && strData[uiLookPos]=='.')

  00179	8b 5e 24	 mov	 ebx, DWORD PTR [esi+36]
  0017c	dd 5c 24 14	 fstp	 QWORD PTR _tt$[esp+76]
  00180	d9 ee		 fldz
  00182	dd 5e 10	 fstp	 QWORD PTR [esi+16]
  00185	3b 9e a4 00 00
	00		 cmp	 ebx, DWORD PTR [esi+164]
  0018b	0f 83 af 00 00
	00		 jae	 $LN8@lexan
  00191	3b 5f 14	 cmp	 ebx, DWORD PTR [edi+20]
  00194	76 05		 jbe	 SHORT $LN85@lexan
  00196	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN85@lexan:
  0019b	83 7f 18 10	 cmp	 DWORD PTR [edi+24], 16	; 00000010H
  0019f	72 05		 jb	 SHORT $LN91@lexan
  001a1	8b 47 04	 mov	 eax, DWORD PTR [edi+4]
  001a4	eb 03		 jmp	 SHORT $LN92@lexan
$LN91@lexan:
  001a6	8d 47 04	 lea	 eax, DWORD PTR [edi+4]
$LN92@lexan:
  001a9	80 3c 18 2e	 cmp	 BYTE PTR [eax+ebx], 46	; 0000002eH
  001ad	0f 85 8d 00 00
	00		 jne	 $LN8@lexan

; 343  : 	    {
; 344  : 		uiLookPos++;

  001b3	ff 46 24	 inc	 DWORD PTR [esi+36]
  001b6	8b 5e 24	 mov	 ebx, DWORD PTR [esi+36]

; 345  : 		for (;uiLookPos<strData.size();uiLookPos++,tt*=0.1)

  001b9	3b 9e a4 00 00
	00		 cmp	 ebx, DWORD PTR [esi+164]
  001bf	0f 83 7b 00 00
	00		 jae	 $LN8@lexan
$LL11@lexan:

; 346  : 		{
; 347  : 		    if (isdigit(strData[uiLookPos]))

  001c5	3b 5f 14	 cmp	 ebx, DWORD PTR [edi+20]
  001c8	76 05		 jbe	 SHORT $LN97@lexan
  001ca	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN97@lexan:
  001cf	83 7f 18 10	 cmp	 DWORD PTR [edi+24], 16	; 00000010H
  001d3	72 05		 jb	 SHORT $LN103@lexan
  001d5	8b 47 04	 mov	 eax, DWORD PTR [edi+4]
  001d8	eb 03		 jmp	 SHORT $LN104@lexan
$LN103@lexan:
  001da	8d 47 04	 lea	 eax, DWORD PTR [edi+4]
$LN104@lexan:
  001dd	0f be 0c 18	 movsx	 ecx, BYTE PTR [eax+ebx]
  001e1	51		 push	 ecx
  001e2	e8 00 00 00 00	 call	 _isdigit
  001e7	83 c4 04	 add	 esp, 4
  001ea	85 c0		 test	 eax, eax
  001ec	74 52		 je	 SHORT $LN8@lexan

; 348  : 			iNumToken+=tt*(strData[uiLookPos]-'0');

  001ee	8b 5e 24	 mov	 ebx, DWORD PTR [esi+36]
  001f1	3b 5f 14	 cmp	 ebx, DWORD PTR [edi+20]
  001f4	76 05		 jbe	 SHORT $LN107@lexan
  001f6	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN107@lexan:
  001fb	83 7f 18 10	 cmp	 DWORD PTR [edi+24], 16	; 00000010H
  001ff	72 05		 jb	 SHORT $LN113@lexan
  00201	8b 47 04	 mov	 eax, DWORD PTR [edi+4]
  00204	eb 03		 jmp	 SHORT $LN114@lexan
$LN113@lexan:
  00206	8d 47 04	 lea	 eax, DWORD PTR [edi+4]
$LN114@lexan:
  00209	0f be 14 18	 movsx	 edx, BYTE PTR [eax+ebx]
  0020d	ff 46 24	 inc	 DWORD PTR [esi+36]
  00210	8b 5e 24	 mov	 ebx, DWORD PTR [esi+36]
  00213	83 ea 30	 sub	 edx, 48			; 00000030H
  00216	89 54 24 10	 mov	 DWORD PTR tv838[esp+76], edx
  0021a	8b c3		 mov	 eax, ebx
  0021c	db 44 24 10	 fild	 DWORD PTR tv838[esp+76]
  00220	dd 44 24 14	 fld	 QWORD PTR _tt$[esp+76]
  00224	dc c9		 fmul	 ST(1), ST(0)
  00226	d9 c9		 fxch	 ST(1)
  00228	dc 46 10	 fadd	 QWORD PTR [esi+16]
  0022b	dd 5e 10	 fstp	 QWORD PTR [esi+16]
  0022e	dc 0d 00 00 00
	00		 fmul	 QWORD PTR __real@3fb999999999999a
  00234	dd 5c 24 14	 fstp	 QWORD PTR _tt$[esp+76]
  00238	3b 86 a4 00 00
	00		 cmp	 eax, DWORD PTR [esi+164]
  0023e	72 85		 jb	 SHORT $LL11@lexan
$LN8@lexan:

; 349  : 		    else
; 350  : 			break;
; 351  : 		}
; 352  : 	    }
; 353  : 	    iNumToken+=iToken;

  00240	db 46 08	 fild	 DWORD PTR [esi+8]

; 354  : 	    return POLY_NUM;

  00243	b8 09 00 00 00	 mov	 eax, 9
  00248	dc 46 10	 fadd	 QWORD PTR [esi+16]
  0024b	dd 5e 10	 fstp	 QWORD PTR [esi+16]
  0024e	e9 52 fe ff ff	 jmp	 $LN24@lexan
$LN18@lexan:

; 355  : 	}
; 356  : 	else if (isalpha(strData[uiLookPos]))

  00253	8b 5e 24	 mov	 ebx, DWORD PTR [esi+36]
  00256	3b 5f 14	 cmp	 ebx, DWORD PTR [edi+20]
  00259	76 05		 jbe	 SHORT $LN117@lexan
  0025b	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN117@lexan:
  00260	83 7f 18 10	 cmp	 DWORD PTR [edi+24], 16	; 00000010H
  00264	72 05		 jb	 SHORT $LN123@lexan
  00266	8b 47 04	 mov	 eax, DWORD PTR [edi+4]
  00269	eb 03		 jmp	 SHORT $LN124@lexan
$LN123@lexan:
  0026b	8d 47 04	 lea	 eax, DWORD PTR [edi+4]
$LN124@lexan:
  0026e	0f be 0c 18	 movsx	 ecx, BYTE PTR [eax+ebx]
  00272	51		 push	 ecx
  00273	e8 00 00 00 00	 call	 _isalpha
  00278	83 c4 04	 add	 esp, 4
  0027b	85 c0		 test	 eax, eax
  0027d	0f 84 e4 00 00
	00		 je	 $LN5@lexan

; 357  : 	{
; 358  : 	    string localSymbol("");

  00283	68 00 00 00 00	 push	 OFFSET ??_C@_00CNPNBAHC@?$AA@
  00288	8d 4c 24 20	 lea	 ecx, DWORD PTR _localSymbol$95179[esp+80]
  0028c	e8 00 00 00 00	 call	 ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >

; 359  : 	    while (uiLookPos<strData.size() && isalpha(strData[uiLookPos]))

  00291	8b 56 24	 mov	 edx, DWORD PTR [esi+36]
  00294	c7 44 24 48 00
	00 00 00	 mov	 DWORD PTR __$EHRec$[esp+84], 0
  0029c	3b 96 a4 00 00
	00		 cmp	 edx, DWORD PTR [esi+164]
  002a2	73 65		 jae	 SHORT $LN3@lexan
$LN4@lexan:
  002a4	8b 5e 24	 mov	 ebx, DWORD PTR [esi+36]
  002a7	3b 5f 14	 cmp	 ebx, DWORD PTR [edi+20]
  002aa	76 05		 jbe	 SHORT $LN129@lexan
  002ac	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN129@lexan:
  002b1	83 7f 18 10	 cmp	 DWORD PTR [edi+24], 16	; 00000010H
  002b5	72 05		 jb	 SHORT $LN135@lexan
  002b7	8b 47 04	 mov	 eax, DWORD PTR [edi+4]
  002ba	eb 03		 jmp	 SHORT $LN136@lexan
$LN135@lexan:
  002bc	8d 47 04	 lea	 eax, DWORD PTR [edi+4]
$LN136@lexan:
  002bf	0f be 04 18	 movsx	 eax, BYTE PTR [eax+ebx]
  002c3	50		 push	 eax
  002c4	e8 00 00 00 00	 call	 _isalpha
  002c9	83 c4 04	 add	 esp, 4
  002cc	85 c0		 test	 eax, eax
  002ce	74 39		 je	 SHORT $LN3@lexan

; 360  : 	    {
; 361  : 		localSymbol+=strData[uiLookPos];

  002d0	8b 5e 24	 mov	 ebx, DWORD PTR [esi+36]
  002d3	3b 5f 14	 cmp	 ebx, DWORD PTR [edi+20]
  002d6	76 05		 jbe	 SHORT $LN139@lexan
  002d8	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN139@lexan:
  002dd	83 7f 18 10	 cmp	 DWORD PTR [edi+24], 16	; 00000010H
  002e1	72 05		 jb	 SHORT $LN145@lexan
  002e3	8b 47 04	 mov	 eax, DWORD PTR [edi+4]
  002e6	eb 03		 jmp	 SHORT $LN146@lexan
$LN145@lexan:
  002e8	8d 47 04	 lea	 eax, DWORD PTR [edi+4]
$LN146@lexan:
  002eb	0f b6 0c 18	 movzx	 ecx, BYTE PTR [eax+ebx]
  002ef	51		 push	 ecx
  002f0	6a 01		 push	 1
  002f2	8d 4c 24 24	 lea	 ecx, DWORD PTR _localSymbol$95179[esp+84]
  002f6	e8 00 00 00 00	 call	 ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append

; 362  : 		uiLookPos++;

  002fb	ff 46 24	 inc	 DWORD PTR [esi+36]
  002fe	8b 56 24	 mov	 edx, DWORD PTR [esi+36]
  00301	3b 96 a4 00 00
	00		 cmp	 edx, DWORD PTR [esi+164]
  00307	72 9b		 jb	 SHORT $LN4@lexan
$LN3@lexan:

; 363  : 	    }
; 364  : 	    iToken= find(localSymbol);

  00309	8d 44 24 1c	 lea	 eax, DWORD PTR _localSymbol$95179[esp+76]
  0030d	50		 push	 eax
  0030e	8b ce		 mov	 ecx, esi
  00310	e8 00 00 00 00	 call	 ?find@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z ; CPoly::find
  00315	89 46 08	 mov	 DWORD PTR [esi+8], eax

; 365  : 	    if (iToken==-1)

  00318	83 f8 ff	 cmp	 eax, -1
  0031b	75 11		 jne	 SHORT $LN2@lexan

; 366  : 	    {
; 367  : 		iToken=insert(localSymbol,POLY_ID);

  0031d	6a 0a		 push	 10			; 0000000aH
  0031f	8d 4c 24 20	 lea	 ecx, DWORD PTR _localSymbol$95179[esp+80]
  00323	51		 push	 ecx
  00324	8b ce		 mov	 ecx, esi
  00326	e8 00 00 00 00	 call	 ?insert@CPoly@@IAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z ; CPoly::insert
  0032b	89 46 08	 mov	 DWORD PTR [esi+8], eax
$LN2@lexan:

; 368  : 	    }
; 369  : 	    return lSymbol[(/*FindIndex*/(iToken))]->token;

  0032e	8b 56 68	 mov	 edx, DWORD PTR [esi+104]
  00331	2b 56 64	 sub	 edx, DWORD PTR [esi+100]
  00334	8b 7e 08	 mov	 edi, DWORD PTR [esi+8]
  00337	c1 fa 02	 sar	 edx, 2
  0033a	3b fa		 cmp	 edi, edx
  0033c	72 05		 jb	 SHORT $LN151@lexan
  0033e	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN151@lexan:
  00343	83 7c 24 34 10	 cmp	 DWORD PTR _localSymbol$95179[esp+100], 16 ; 00000010H
  00348	8b 46 64	 mov	 eax, DWORD PTR [esi+100]
  0034b	8b 0c b8	 mov	 ecx, DWORD PTR [eax+edi*4]
  0034e	8b 71 10	 mov	 esi, DWORD PTR [ecx+16]
  00351	72 0d		 jb	 SHORT $LN173@lexan
  00353	8b 54 24 20	 mov	 edx, DWORD PTR _localSymbol$95179[esp+80]
  00357	52		 push	 edx
  00358	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0035d	83 c4 04	 add	 esp, 4
$LN173@lexan:
  00360	8b c6		 mov	 eax, esi
  00362	e9 3e fd ff ff	 jmp	 $LN24@lexan
$LN5@lexan:

; 370  : 	}
; 371  : 	else
; 372  : 	{
; 373  : 	    iToken=0;
; 374  : 	    return strData[uiLookPos++];

  00367	8b 46 24	 mov	 eax, DWORD PTR [esi+36]
  0036a	8d 48 01	 lea	 ecx, DWORD PTR [eax+1]
  0036d	89 4e 24	 mov	 DWORD PTR [esi+36], ecx
  00370	50		 push	 eax
  00371	8b cf		 mov	 ecx, edi
  00373	c7 46 08 00 00
	00 00		 mov	 DWORD PTR [esi+8], 0
  0037a	e8 00 00 00 00	 call	 ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator[]
  0037f	0f be 00	 movsx	 eax, BYTE PTR [eax]
  00382	e9 1e fd ff ff	 jmp	 $LN24@lexan
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?lexan@CPoly@@IAEHXZ$0:
  00000	8d 4d d0	 lea	 ecx, DWORD PTR _localSymbol$95179[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__ehhandler$?lexan@CPoly@@IAEHXZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 c4	 lea	 eax, DWORD PTR [edx-60]
  0000f	8b 4a c0	 mov	 ecx, DWORD PTR [edx-64]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	83 c0 0c	 add	 eax, 12			; 0000000cH
  0001c	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  0001f	33 c8		 xor	 ecx, eax
  00021	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00026	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?lexan@CPoly@@IAEHXZ
  0002b	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?lexan@CPoly@@IAEHXZ ENDP				; CPoly::lexan
PUBLIC	?match@CPoly@@IAEXH@Z				; CPoly::match
; Function compile flags: /Ogtpy
;	COMDAT ?match@CPoly@@IAEXH@Z
_TEXT	SEGMENT
_t$ = 8							; size = 4
?match@CPoly@@IAEXH@Z PROC				; CPoly::match, COMDAT
; _this$ = ecx

; 466  : {

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 467  :     if (iLookAhead==t) iLookAhead=lexan(); else error();

  00003	8b 46 18	 mov	 eax, DWORD PTR [esi+24]
  00006	3b 44 24 08	 cmp	 eax, DWORD PTR _t$[esp]
  0000a	75 0c		 jne	 SHORT $LN2@match
  0000c	e8 00 00 00 00	 call	 ?lexan@CPoly@@IAEHXZ	; CPoly::lexan
  00011	89 46 18	 mov	 DWORD PTR [esi+24], eax
  00014	5e		 pop	 esi

; 468  : }

  00015	c2 04 00	 ret	 4
$LN2@match:

; 467  :     if (iLookAhead==t) iLookAhead=lexan(); else error();

  00018	e8 00 00 00 00	 call	 ?error@CPoly@@IAEXXZ	; CPoly::error
  0001d	5e		 pop	 esi

; 468  : }

  0001e	c2 04 00	 ret	 4
?match@CPoly@@IAEXH@Z ENDP				; CPoly::match
_TEXT	ENDS
PUBLIC	?expo@CPoly@@IAEXXZ				; CPoly::expo
PUBLIC	?factor@CPoly@@IAEXXZ				; CPoly::factor
; Function compile flags: /Ogtpy
;	COMDAT ?factor@CPoly@@IAEXXZ
_TEXT	SEGMENT
?factor@CPoly@@IAEXXZ PROC				; CPoly::factor, COMDAT
; _this$ = ecx

; 404  : {

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 405  :     int t;
; 406  :     expo();

  00003	e8 00 00 00 00	 call	 ?expo@CPoly@@IAEXXZ	; CPoly::expo

; 407  :     while (!ErrorOccur)

  00008	80 7e 20 00	 cmp	 BYTE PTR [esi+32], 0
  0000c	75 29		 jne	 SHORT $LN10@factor
  0000e	8b ff		 npad	 2
$LL6@factor:

; 408  :     {
; 409  : 	switch (iLookAhead)

  00010	83 7e 18 5e	 cmp	 DWORD PTR [esi+24], 94	; 0000005eH
  00014	75 21		 jne	 SHORT $LN10@factor

; 410  : 	{
; 411  : 	    case '^':
; 412  : 		t=iLookAhead;
; 413  : 		match(t);

  00016	6a 5e		 push	 94			; 0000005eH
  00018	8b ce		 mov	 ecx, esi
  0001a	e8 00 00 00 00	 call	 ?match@CPoly@@IAEXH@Z	; CPoly::match

; 414  : 		expo();

  0001f	8b ce		 mov	 ecx, esi
  00021	e8 00 00 00 00	 call	 ?expo@CPoly@@IAEXXZ	; CPoly::expo

; 415  : 		emit(t,POLY_NONE);

  00026	6a 00		 push	 0
  00028	6a 5e		 push	 94			; 0000005eH
  0002a	8b ce		 mov	 ecx, esi
  0002c	e8 00 00 00 00	 call	 ?emit@CPoly@@IAEXHH@Z	; CPoly::emit
  00031	80 7e 20 00	 cmp	 BYTE PTR [esi+32], 0
  00035	74 d9		 je	 SHORT $LL6@factor
$LN10@factor:
  00037	5e		 pop	 esi

; 416  : 		continue;
; 417  : 	    default:
; 418  : 		return;
; 419  : 	}
; 420  :     }
; 421  : }

  00038	c3		 ret	 0
?factor@CPoly@@IAEXXZ ENDP				; CPoly::factor
_TEXT	ENDS
PUBLIC	?term@CPoly@@IAEXXZ				; CPoly::term
; Function compile flags: /Ogtpy
;	COMDAT ?term@CPoly@@IAEXXZ
_TEXT	SEGMENT
?term@CPoly@@IAEXXZ PROC				; CPoly::term, COMDAT
; _this$ = ecx

; 382  : {

  00000	57		 push	 edi
  00001	8b f9		 mov	 edi, ecx

; 383  :     int t;
; 384  :     factor();

  00003	e8 00 00 00 00	 call	 ?factor@CPoly@@IAEXXZ	; CPoly::factor

; 385  :     while (!ErrorOccur)

  00008	80 7f 20 00	 cmp	 BYTE PTR [edi+32], 0
  0000c	75 34		 jne	 SHORT $LN10@term
  0000e	56		 push	 esi
  0000f	90		 npad	 1
$LL6@term:

; 386  :     {
; 387  : 	switch (iLookAhead)

  00010	8b 77 18	 mov	 esi, DWORD PTR [edi+24]
  00013	83 fe 25	 cmp	 esi, 37			; 00000025H
  00016	74 0a		 je	 SHORT $LN2@term
  00018	83 fe 2a	 cmp	 esi, 42			; 0000002aH
  0001b	74 05		 je	 SHORT $LN2@term
  0001d	83 fe 2f	 cmp	 esi, 47			; 0000002fH
  00020	75 1f		 jne	 SHORT $LN12@term
$LN2@term:

; 388  : 	{
; 389  : 	    case '*':
; 390  : 	    case '/':
; 391  : 	    case '%':
; 392  : 		t=iLookAhead;
; 393  : 		match(t);

  00022	56		 push	 esi
  00023	8b cf		 mov	 ecx, edi
  00025	e8 00 00 00 00	 call	 ?match@CPoly@@IAEXH@Z	; CPoly::match

; 394  : 		factor();

  0002a	8b cf		 mov	 ecx, edi
  0002c	e8 00 00 00 00	 call	 ?factor@CPoly@@IAEXXZ	; CPoly::factor

; 395  : 		emit(t,POLY_NONE);

  00031	6a 00		 push	 0
  00033	56		 push	 esi
  00034	8b cf		 mov	 ecx, edi
  00036	e8 00 00 00 00	 call	 ?emit@CPoly@@IAEXHH@Z	; CPoly::emit
  0003b	80 7f 20 00	 cmp	 BYTE PTR [edi+32], 0
  0003f	74 cf		 je	 SHORT $LL6@term
$LN12@term:
  00041	5e		 pop	 esi
$LN10@term:
  00042	5f		 pop	 edi

; 396  : 		continue;
; 397  : 	    default:
; 398  : 		return;
; 399  : 	}
; 400  :     }
; 401  : }

  00043	c3		 ret	 0
?term@CPoly@@IAEXXZ ENDP				; CPoly::term
_TEXT	ENDS
PUBLIC	?expr@CPoly@@IAEXXZ				; CPoly::expr
; Function compile flags: /Ogtpy
;	COMDAT ?expr@CPoly@@IAEXXZ
_TEXT	SEGMENT
?expr@CPoly@@IAEXXZ PROC				; CPoly::expr, COMDAT
; _this$ = ecx

; 279  : {

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 280  :     int t;
; 281  : 
; 282  :     switch (iLookAhead)

  00003	8b 46 18	 mov	 eax, DWORD PTR [esi+24]
  00006	83 e8 2b	 sub	 eax, 43			; 0000002bH
  00009	74 05		 je	 SHORT $LN8@expr
  0000b	83 e8 02	 sub	 eax, 2
  0000e	75 16		 jne	 SHORT $LN9@expr
$LN8@expr:

; 283  :     {
; 284  : 	case '+':
; 285  : 	case '-':
; 286  : 	    uiLookPos--;
; 287  : 	    iLookAhead = POLY_NUM;
; 288  : 	    iNumToken = iToken = 0;

  00010	d9 ee		 fldz
  00012	ff 4e 24	 dec	 DWORD PTR [esi+36]
  00015	dd 5e 10	 fstp	 QWORD PTR [esi+16]
  00018	c7 46 18 09 00
	00 00		 mov	 DWORD PTR [esi+24], 9
  0001f	c7 46 08 00 00
	00 00		 mov	 DWORD PTR [esi+8], 0
$LN9@expr:

; 289  : 
; 290  :     }
; 291  : 
; 292  :     term();

  00026	e8 00 00 00 00	 call	 ?term@CPoly@@IAEXXZ	; CPoly::term

; 293  : 
; 294  :     while (!ErrorOccur)

  0002b	80 7e 20 00	 cmp	 BYTE PTR [esi+32], 0
  0002f	75 3a		 jne	 SHORT $LN6@expr
  00031	57		 push	 edi
$LL7@expr:

; 295  :     {
; 296  : 	switch (iLookAhead)

  00032	8b 7e 18	 mov	 edi, DWORD PTR [esi+24]
  00035	8d 47 f5	 lea	 eax, DWORD PTR [edi-11]
  00038	83 f8 22	 cmp	 eax, 34			; 00000022H
  0003b	77 30		 ja	 SHORT $LN1@expr
  0003d	0f b6 80 00 00
	00 00		 movzx	 eax, BYTE PTR $LN15@expr[eax]
  00044	ff 24 85 00 00
	00 00		 jmp	 DWORD PTR $LN19@expr[eax*4]
$LN3@expr:

; 297  : 	{
; 298  : 	    case '+':
; 299  : 	    case '-':
; 300  : 		t=iLookAhead;
; 301  : 		match(t);

  0004b	57		 push	 edi
  0004c	8b ce		 mov	 ecx, esi
  0004e	e8 00 00 00 00	 call	 ?match@CPoly@@IAEXH@Z	; CPoly::match

; 302  : 		term();

  00053	8b ce		 mov	 ecx, esi
  00055	e8 00 00 00 00	 call	 ?term@CPoly@@IAEXXZ	; CPoly::term

; 303  : 		emit(t,POLY_NONE);

  0005a	6a 00		 push	 0
  0005c	57		 push	 edi
  0005d	8b ce		 mov	 ecx, esi
  0005f	e8 00 00 00 00	 call	 ?emit@CPoly@@IAEXHH@Z	; CPoly::emit
  00064	80 7e 20 00	 cmp	 BYTE PTR [esi+32], 0
  00068	74 c8		 je	 SHORT $LL7@expr
$LN16@expr:
  0006a	5f		 pop	 edi
$LN6@expr:
  0006b	5e		 pop	 esi

; 308  : 					  //THROW( new CParseException("Error Parsing"));
; 309  : 					  return;
; 310  : 	}
; 311  :     }
; 312  : }

  0006c	c3		 ret	 0
$LN1@expr:
  0006d	5f		 pop	 edi

; 304  : 		continue;
; 305  : 	    case POLY_EOS: case ')': case ',': return;
; 306  : 	    default:
; 307  : 					  error();

  0006e	8b ce		 mov	 ecx, esi
  00070	5e		 pop	 esi
  00071	e9 00 00 00 00	 jmp	 ?error@CPoly@@IAEXXZ	; CPoly::error
  00076	8b ff		 npad	 2
$LN19@expr:

; 308  : 					  //THROW( new CParseException("Error Parsing"));
; 309  : 					  return;
; 310  : 	}
; 311  :     }
; 312  : }

  00078	00 00 00 00	 DD	 $LN16@expr
  0007c	00 00 00 00	 DD	 $LN3@expr
  00080	00 00 00 00	 DD	 $LN1@expr
$LN15@expr:
  00084	00		 DB	 0
  00085	02		 DB	 2
  00086	02		 DB	 2
  00087	02		 DB	 2
  00088	02		 DB	 2
  00089	02		 DB	 2
  0008a	02		 DB	 2
  0008b	02		 DB	 2
  0008c	02		 DB	 2
  0008d	02		 DB	 2
  0008e	02		 DB	 2
  0008f	02		 DB	 2
  00090	02		 DB	 2
  00091	02		 DB	 2
  00092	02		 DB	 2
  00093	02		 DB	 2
  00094	02		 DB	 2
  00095	02		 DB	 2
  00096	02		 DB	 2
  00097	02		 DB	 2
  00098	02		 DB	 2
  00099	02		 DB	 2
  0009a	02		 DB	 2
  0009b	02		 DB	 2
  0009c	02		 DB	 2
  0009d	02		 DB	 2
  0009e	02		 DB	 2
  0009f	02		 DB	 2
  000a0	02		 DB	 2
  000a1	02		 DB	 2
  000a2	00		 DB	 0
  000a3	02		 DB	 2
  000a4	01		 DB	 1
  000a5	00		 DB	 0
  000a6	01		 DB	 1
?expr@CPoly@@IAEXXZ ENDP				; CPoly::expr
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?expo@CPoly@@IAEXXZ
_TEXT	SEGMENT
?expo@CPoly@@IAEXXZ PROC				; CPoly::expo, COMDAT
; _this$ = ecx

; 424  : {

  00000	56		 push	 esi
  00001	8b f1		 mov	 esi, ecx

; 425  :     int t;
; 426  :     switch (iLookAhead)

  00003	8b 46 18	 mov	 eax, DWORD PTR [esi+24]
  00006	48		 dec	 eax
  00007	57		 push	 edi
  00008	83 f8 27	 cmp	 eax, 39			; 00000027H
  0000b	0f 87 ca 00 00
	00		 ja	 $LN1@expo
  00011	0f b6 80 00 00
	00 00		 movzx	 eax, BYTE PTR $LN12@expo[eax]
  00018	ff 24 85 00 00
	00 00		 jmp	 DWORD PTR $LN16@expo[eax*4]
$LN7@expo:

; 427  :     {
; 428  : 	case '(':
; 429  : 	    match('('); expr(); match(')'); break;

  0001f	6a 28		 push	 40			; 00000028H
  00021	e8 00 00 00 00	 call	 ?match@CPoly@@IAEXH@Z	; CPoly::match
  00026	8b ce		 mov	 ecx, esi
  00028	e8 00 00 00 00	 call	 ?expr@CPoly@@IAEXXZ	; CPoly::expr
  0002d	6a 29		 push	 41			; 00000029H

; 430  : 	case POLY_NUM:
; 431  : 	    emit(POLY_NUM, iToken); match(POLY_NUM); break;

  0002f	8b ce		 mov	 ecx, esi
  00031	e8 00 00 00 00	 call	 ?match@CPoly@@IAEXH@Z	; CPoly::match
$LN8@expo:
  00036	5f		 pop	 edi
  00037	5e		 pop	 esi

; 461  : 	    //THROW( new CParseException("Error Parsing"));
; 462  :     }
; 463  : }

  00038	c3		 ret	 0
$LN6@expo:

; 430  : 	case POLY_NUM:
; 431  : 	    emit(POLY_NUM, iToken); match(POLY_NUM); break;

  00039	8b 4e 08	 mov	 ecx, DWORD PTR [esi+8]
  0003c	51		 push	 ecx
  0003d	6a 09		 push	 9
  0003f	8b ce		 mov	 ecx, esi
  00041	e8 00 00 00 00	 call	 ?emit@CPoly@@IAEXHH@Z	; CPoly::emit
  00046	6a 09		 push	 9
  00048	8b ce		 mov	 ecx, esi
  0004a	e8 00 00 00 00	 call	 ?match@CPoly@@IAEXH@Z	; CPoly::match
  0004f	5f		 pop	 edi
  00050	5e		 pop	 esi

; 461  : 	    //THROW( new CParseException("Error Parsing"));
; 462  :     }
; 463  : }

  00051	c3		 ret	 0
$LN5@expo:

; 432  : 	case POLY_ID:
; 433  : 	    emit(POLY_ID,(int)/*FindIndex*/(iToken)); match(POLY_ID); break;

  00052	8b 56 08	 mov	 edx, DWORD PTR [esi+8]
  00055	52		 push	 edx
  00056	6a 0a		 push	 10			; 0000000aH
  00058	e8 00 00 00 00	 call	 ?emit@CPoly@@IAEXHH@Z	; CPoly::emit
  0005d	6a 0a		 push	 10			; 0000000aH
  0005f	8b ce		 mov	 ecx, esi
  00061	e8 00 00 00 00	 call	 ?match@CPoly@@IAEXH@Z	; CPoly::match
  00066	5f		 pop	 edi
  00067	5e		 pop	 esi

; 461  : 	    //THROW( new CParseException("Error Parsing"));
; 462  :     }
; 463  : }

  00068	c3		 ret	 0
$LN4@expo:

; 434  : 	case POLY_ROOT:
; 435  : 	case POLY_SIN:
; 436  : 	case POLY_COT:
; 437  : 	case POLY_TAN:
; 438  : 	case POLY_CSC:
; 439  : 	case POLY_SEC:
; 440  : 	case POLY_LN:
; 441  : 	case POLY_LOG10:
; 442  : 	case POLY_COS:
; 443  : 	case POLY_ABS:
; 444  : 	case POLY_FLOOR:
; 445  : 	    t=iLookAhead;

  00069	8b 7e 18	 mov	 edi, DWORD PTR [esi+24]

; 446  : 	    match(iLookAhead); match('('); expr(); match(')'); emit(t,iToken);

  0006c	57		 push	 edi
  0006d	e8 00 00 00 00	 call	 ?match@CPoly@@IAEXH@Z	; CPoly::match
  00072	6a 28		 push	 40			; 00000028H
  00074	8b ce		 mov	 ecx, esi
  00076	e8 00 00 00 00	 call	 ?match@CPoly@@IAEXH@Z	; CPoly::match
  0007b	8b ce		 mov	 ecx, esi
  0007d	e8 00 00 00 00	 call	 ?expr@CPoly@@IAEXXZ	; CPoly::expr
  00082	6a 29		 push	 41			; 00000029H
  00084	8b ce		 mov	 ecx, esi
  00086	e8 00 00 00 00	 call	 ?match@CPoly@@IAEXH@Z	; CPoly::match
  0008b	8b 46 08	 mov	 eax, DWORD PTR [esi+8]
  0008e	50		 push	 eax
  0008f	57		 push	 edi
  00090	8b ce		 mov	 ecx, esi
  00092	e8 00 00 00 00	 call	 ?emit@CPoly@@IAEXHH@Z	; CPoly::emit
  00097	5f		 pop	 edi
  00098	5e		 pop	 esi

; 461  : 	    //THROW( new CParseException("Error Parsing"));
; 462  :     }
; 463  : }

  00099	c3		 ret	 0
$LN3@expo:

; 447  : 	    break;
; 448  : 	case POLY_LOG:
; 449  : 	case POLY_MINF:
; 450  : 	case POLY_MAXF:
; 451  : 	case POLY_IRAND:
; 452  : 	case POLY_FRAND:
; 453  : 	case POLY_MOD:
; 454  : 	    t=iLookAhead;

  0009a	8b 7e 18	 mov	 edi, DWORD PTR [esi+24]

; 455  : 	    match(iLookAhead); match('('); expr(); match(','); expr(); match(')'); emit(t,iToken);

  0009d	57		 push	 edi
  0009e	e8 00 00 00 00	 call	 ?match@CPoly@@IAEXH@Z	; CPoly::match
  000a3	6a 28		 push	 40			; 00000028H
  000a5	8b ce		 mov	 ecx, esi
  000a7	e8 00 00 00 00	 call	 ?match@CPoly@@IAEXH@Z	; CPoly::match
  000ac	8b ce		 mov	 ecx, esi
  000ae	e8 00 00 00 00	 call	 ?expr@CPoly@@IAEXXZ	; CPoly::expr
  000b3	6a 2c		 push	 44			; 0000002cH
  000b5	8b ce		 mov	 ecx, esi
  000b7	e8 00 00 00 00	 call	 ?match@CPoly@@IAEXH@Z	; CPoly::match
  000bc	8b ce		 mov	 ecx, esi
  000be	e8 00 00 00 00	 call	 ?expr@CPoly@@IAEXXZ	; CPoly::expr
  000c3	6a 29		 push	 41			; 00000029H
  000c5	8b ce		 mov	 ecx, esi
  000c7	e8 00 00 00 00	 call	 ?match@CPoly@@IAEXH@Z	; CPoly::match
  000cc	8b 4e 08	 mov	 ecx, DWORD PTR [esi+8]
  000cf	51		 push	 ecx
  000d0	57		 push	 edi
  000d1	8b ce		 mov	 ecx, esi
  000d3	e8 00 00 00 00	 call	 ?emit@CPoly@@IAEXHH@Z	; CPoly::emit
  000d8	5f		 pop	 edi
  000d9	5e		 pop	 esi

; 461  : 	    //THROW( new CParseException("Error Parsing"));
; 462  :     }
; 463  : }

  000da	c3		 ret	 0
$LN1@expo:
  000db	5f		 pop	 edi
  000dc	5e		 pop	 esi

; 456  : 	    break;
; 457  : 	case POLY_EOS:
; 458  : 	    break;
; 459  : 	default:
; 460  : 	    error();

  000dd	e9 00 00 00 00	 jmp	 ?error@CPoly@@IAEXXZ	; CPoly::error
  000e2	8b ff		 npad	 2
$LN16@expo:

; 461  : 	    //THROW( new CParseException("Error Parsing"));
; 462  :     }
; 463  : }

  000e4	00 00 00 00	 DD	 $LN4@expo
  000e8	00 00 00 00	 DD	 $LN6@expo
  000ec	00 00 00 00	 DD	 $LN5@expo
  000f0	00 00 00 00	 DD	 $LN8@expo
  000f4	00 00 00 00	 DD	 $LN3@expo
  000f8	00 00 00 00	 DD	 $LN7@expo
  000fc	00 00 00 00	 DD	 $LN1@expo
$LN12@expo:
  00100	00		 DB	 0
  00101	06		 DB	 6
  00102	06		 DB	 6
  00103	06		 DB	 6
  00104	06		 DB	 6
  00105	06		 DB	 6
  00106	06		 DB	 6
  00107	06		 DB	 6
  00108	01		 DB	 1
  00109	02		 DB	 2
  0010a	03		 DB	 3
  0010b	00		 DB	 0
  0010c	00		 DB	 0
  0010d	00		 DB	 0
  0010e	00		 DB	 0
  0010f	00		 DB	 0
  00110	00		 DB	 0
  00111	04		 DB	 4
  00112	00		 DB	 0
  00113	00		 DB	 0
  00114	00		 DB	 0
  00115	04		 DB	 4
  00116	04		 DB	 4
  00117	04		 DB	 4
  00118	04		 DB	 4
  00119	04		 DB	 4
  0011a	00		 DB	 0
  0011b	06		 DB	 6
  0011c	06		 DB	 6
  0011d	06		 DB	 6
  0011e	06		 DB	 6
  0011f	06		 DB	 6
  00120	06		 DB	 6
  00121	06		 DB	 6
  00122	06		 DB	 6
  00123	06		 DB	 6
  00124	06		 DB	 6
  00125	06		 DB	 6
  00126	06		 DB	 6
  00127	05		 DB	 5
?expo@CPoly@@IAEXXZ ENDP				; CPoly::expo
_TEXT	ENDS
PUBLIC	?Analyze@CPoly@@QAEHPBD@Z			; CPoly::Analyze
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
xdata$x	SEGMENT
__unwindtable$?Analyze@CPoly@@QAEHPBD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Analyze@CPoly@@QAEHPBD@Z$0
__ehfuncinfo$?Analyze@CPoly@@QAEHPBD@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?Analyze@CPoly@@QAEHPBD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\# metin2\work in progress\source client\client\eterbase\poly\poly.cpp
xdata$x	ENDS
;	COMDAT ?Analyze@CPoly@@QAEHPBD@Z
_TEXT	SEGMENT
$T123937 = -40						; size = 28
__$EHRec$ = -12						; size = 12
_pszStr$ = 8						; size = 4
?Analyze@CPoly@@QAEHPBD@Z PROC				; CPoly::Analyze, COMDAT
; _this$ = ecx

; 235  : {

  00000	6a ff		 push	 -1
  00002	68 00 00 00 00	 push	 __ehhandler$?Analyze@CPoly@@QAEHPBD@Z
  00007	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  0000d	50		 push	 eax
  0000e	83 ec 1c	 sub	 esp, 28			; 0000001cH
  00011	53		 push	 ebx
  00012	56		 push	 esi
  00013	57		 push	 edi
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c4		 xor	 eax, esp
  0001b	50		 push	 eax
  0001c	8d 44 24 2c	 lea	 eax, DWORD PTR __$EHRec$[esp+56]
  00020	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00026	8b f1		 mov	 esi, ecx

; 236  :     if (pszStr)

  00028	8b 54 24 3c	 mov	 edx, DWORD PTR _pszStr$[esp+52]
  0002c	33 db		 xor	 ebx, ebx
  0002e	3b d3		 cmp	 edx, ebx
  00030	74 65		 je	 SHORT $LN67@Analyze

; 237  : 	SetStr(pszStr);

  00032	8b c2		 mov	 eax, edx
  00034	c7 44 24 28 0f
	00 00 00	 mov	 DWORD PTR $T123937[esp+80], 15 ; 0000000fH
  0003c	89 5c 24 24	 mov	 DWORD PTR $T123937[esp+76], ebx
  00040	88 5c 24 14	 mov	 BYTE PTR $T123937[esp+60], bl
  00044	8d 78 01	 lea	 edi, DWORD PTR [eax+1]
$LL75@Analyze:
  00047	8a 08		 mov	 cl, BYTE PTR [eax]
  00049	40		 inc	 eax
  0004a	3a cb		 cmp	 cl, bl
  0004c	75 f9		 jne	 SHORT $LL75@Analyze
  0004e	2b c7		 sub	 eax, edi
  00050	50		 push	 eax
  00051	52		 push	 edx
  00052	8d 4c 24 18	 lea	 ecx, DWORD PTR $T123937[esp+64]
  00056	e8 00 00 00 00	 call	 ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  0005b	8d 44 24 10	 lea	 eax, DWORD PTR $T123937[esp+56]
  0005f	50		 push	 eax
  00060	8b ce		 mov	 ecx, esi
  00062	89 5c 24 38	 mov	 DWORD PTR __$EHRec$[esp+68], ebx
  00066	e8 00 00 00 00	 call	 ?SetStr@CPoly@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z ; CPoly::SetStr
  0006b	83 7c 24 28 10	 cmp	 DWORD PTR $T123937[esp+80], 16 ; 00000010H
  00070	c7 44 24 34 ff
	ff ff ff	 mov	 DWORD PTR __$EHRec$[esp+64], -1
  00078	72 0d		 jb	 SHORT $LN59@Analyze
  0007a	8b 4c 24 14	 mov	 ecx, DWORD PTR $T123937[esp+60]
  0007e	51		 push	 ecx
  0007f	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00084	83 c4 04	 add	 esp, 4
$LN59@Analyze:
  00087	c7 44 24 28 0f
	00 00 00	 mov	 DWORD PTR $T123937[esp+80], 15 ; 0000000fH
  0008f	89 5c 24 24	 mov	 DWORD PTR $T123937[esp+76], ebx
  00093	88 5c 24 14	 mov	 BYTE PTR $T123937[esp+60], bl
$LN67@Analyze:

; 238  : 
; 239  :     if (0 == strData.length())

  00097	39 9e a4 00 00
	00		 cmp	 DWORD PTR [esi+164], ebx
  0009d	75 1a		 jne	 SHORT $LN2@Analyze

; 240  : 	return true;

  0009f	b8 01 00 00 00	 mov	 eax, 1

; 256  : }

  000a4	8b 4c 24 2c	 mov	 ecx, DWORD PTR __$EHRec$[esp+56]
  000a8	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000af	59		 pop	 ecx
  000b0	5f		 pop	 edi
  000b1	5e		 pop	 esi
  000b2	5b		 pop	 ebx
  000b3	83 c4 28	 add	 esp, 40			; 00000028H
  000b6	c2 04 00	 ret	 4
$LN2@Analyze:

; 241  : 
; 242  :     //DisposeList();
; 243  :     ErrorOccur = false;
; 244  :     uiLookPos = 0;
; 245  :     iLookAhead = lexan();

  000b9	8b ce		 mov	 ecx, esi
  000bb	88 5e 20	 mov	 BYTE PTR [esi+32], bl
  000be	89 5e 24	 mov	 DWORD PTR [esi+36], ebx
  000c1	e8 00 00 00 00	 call	 ?lexan@CPoly@@IAEHXZ	; CPoly::lexan

; 246  : 
; 247  :     expr();

  000c6	8b ce		 mov	 ecx, esi
  000c8	89 46 18	 mov	 DWORD PTR [esi+24], eax
  000cb	e8 00 00 00 00	 call	 ?expr@CPoly@@IAEXXZ	; CPoly::expr

; 248  : 
; 249  :     if (tokenBase.empty()) 

  000d0	8b 56 38	 mov	 edx, DWORD PTR [esi+56]
  000d3	2b 56 34	 sub	 edx, DWORD PTR [esi+52]

; 250  :     {
; 251  : 	//THROW(new CParseException("No Data"));
; 252  : 	return false;

  000d6	33 c0		 xor	 eax, eax
  000d8	f7 c2 fc ff ff
	ff		 test	 edx, -4			; fffffffcH
  000de	74 06		 je	 SHORT $LN4@Analyze

; 253  :     }
; 254  : 
; 255  :     return !ErrorOccur;

  000e0	38 5e 20	 cmp	 BYTE PTR [esi+32], bl
  000e3	0f 94 c0	 sete	 al
$LN4@Analyze:

; 256  : }

  000e6	8b 4c 24 2c	 mov	 ecx, DWORD PTR __$EHRec$[esp+56]
  000ea	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000f1	59		 pop	 ecx
  000f2	5f		 pop	 edi
  000f3	5e		 pop	 esi
  000f4	5b		 pop	 ebx
  000f5	83 c4 28	 add	 esp, 40			; 00000028H
  000f8	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Analyze@CPoly@@QAEHPBD@Z$0:
  00000	8d 4d d8	 lea	 ecx, DWORD PTR $T123937[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__ehhandler$?Analyze@CPoly@@QAEHPBD@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 d8	 lea	 eax, DWORD PTR [edx-40]
  0000f	8b 4a d4	 mov	 ecx, DWORD PTR [edx-44]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?Analyze@CPoly@@QAEHPBD@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?Analyze@CPoly@@QAEHPBD@Z ENDP				; CPoly::Analyze
END
