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

	TITLE	c:\Develop\DScaler423a\DScaler\SettingHolder.cpp
	.686P
	.XMM
	include listing.inc
	.model	flat

INCLUDELIB OLDNAMES

PUBLIC	??_R4CSettingsHolder@@6B@			; CSettingsHolder::`RTTI Complete Object Locator'
PUBLIC	??0?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@QAE@XZ ; std::allocator<SmartPtr<CSimpleSetting> >::allocator<SmartPtr<CSimpleSetting> >
PUBLIC	??$?0V?$SmartPtr@VCSimpleSetting@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<CSimpleSetting> >
PUBLIC	??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >
PUBLIC	??0?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@QAE@ABV01@@Z ; std::allocator<SmartPtr<CSimpleSetting> >::allocator<SmartPtr<CSimpleSetting> >
PUBLIC	??0?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z ; std::_Vector_val<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::_Vector_val<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >
PUBLIC	?_Buy@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE_NI@Z ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::_Buy
PUBLIC	??0?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >
PUBLIC	??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >
PUBLIC	??1?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ ; std::_Vector_val<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::~_Vector_val<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >
PUBLIC	?_Tidy@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAEXXZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::_Tidy
PUBLIC	??1?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::~vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >
PUBLIC	??_GCSettingsHolder@@UAEPAXI@Z			; CSettingsHolder::`scalar deleting destructor'
PUBLIC	??8?$SmartPtr@VCSimpleSetting@@@@QAEHABV0@@Z	; SmartPtr<CSimpleSetting>::operator==
PUBLIC	??8?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator==
PUBLIC	??9?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator!=
PUBLIC	??D?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEABV?$SmartPtr@VCSimpleSetting@@@@XZ ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator*
PUBLIC	??D?$_Vector_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEAAV?$SmartPtr@VCSimpleSetting@@@@XZ ; std::_Vector_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator*
PUBLIC	??E?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator++
PUBLIC	??E?$_Vector_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator++
PUBLIC	??A?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV?$SmartPtr@VCSimpleSetting@@@@I@Z ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator[]
PUBLIC	?GetRawPointer@?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ ; SmartPtr<CSimpleSetting>::GetRawPointer
PUBLIC	??C?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ ; SmartPtr<CSimpleSetting>::operator->
PUBLIC	??_C@_1BK@EBOJFPNO@?$AAS?$AAe?$AAt?$AAt?$AAi?$AAn?$AAg?$AAF?$AAl?$AAa?$AAg?$AAs?$AA?$AA@ ; `string'
PUBLIC	??_7CSettingsHolder@@6B@			; CSettingsHolder::`vftable'
EXTRN	??_ECSettingsHolder@@UAEPAXI@Z:PROC		; CSettingsHolder::`vector deleting destructor'
;	COMDAT ??_7CSettingsHolder@@6B@
CONST	SEGMENT
??_7CSettingsHolder@@6B@ DD FLAT:??_R4CSettingsHolder@@6B@ ; CSettingsHolder::`vftable'
	DD	FLAT:??_ECSettingsHolder@@UAEPAXI@Z
CONST	ENDS
;	COMDAT ??_R4CSettingsHolder@@6B@
rdata$r	SEGMENT
??_R4CSettingsHolder@@6B@ DD 00H			; CSettingsHolder::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCSettingsHolder@@@8
	DD	FLAT:??_R3CSettingsHolder@@8
rdata$r	ENDS
;	COMDAT ??_C@_1BK@EBOJFPNO@?$AAS?$AAe?$AAt?$AAt?$AAi?$AAn?$AAg?$AAF?$AAl?$AAa?$AAg?$AAs?$AA?$AA@
CONST	SEGMENT
??_C@_1BK@EBOJFPNO@?$AAS?$AAe?$AAt?$AAt?$AAi?$AAn?$AAg?$AAF?$AAl?$AAa?$AAg?$AAs?$AA?$AA@ DB 'S'
	DB	00H, 'e', 00H, 't', 00H, 't', 00H, 'i', 00H, 'n', 00H, 'g', 00H
	DB	'F', 00H, 'l', 00H, 'a', 00H, 'g', 00H, 's', 00H, 00H, 00H ; `string'
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ??$?0V?$SmartPtr@VCSimpleSetting@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??$?0V?$SmartPtr@VCSimpleSetting@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z PROC ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<CSimpleSetting> >, COMDAT
; _this$ = ecx

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

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

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

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b e5		 mov	 esp, ebp
  0000c	5d		 pop	 ebp
  0000d	c2 04 00	 ret	 4
??$?0V?$SmartPtr@VCSimpleSetting@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z ENDP ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<CSimpleSetting> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??0?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@QAE@ABV01@@Z PROC ; std::allocator<SmartPtr<CSimpleSetting> >::allocator<SmartPtr<CSimpleSetting> >, COMDAT
; _this$ = ecx

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

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

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

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b e5		 mov	 esp, ebp
  0000c	5d		 pop	 ebp
  0000d	c2 04 00	 ret	 4
??0?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@QAE@ABV01@@Z ENDP ; std::allocator<SmartPtr<CSimpleSetting> >::allocator<SmartPtr<CSimpleSetting> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@QAE@XZ PROC ; std::allocator<SmartPtr<CSimpleSetting> >::allocator<SmartPtr<CSimpleSetting> >, COMDAT
; _this$ = ecx

; 119  : 	allocator() _THROW0()

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

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

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b e5		 mov	 esp, ebp
  0000c	5d		 pop	 ebp
  0000d	c3		 ret	 0
??0?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@QAE@XZ ENDP ; std::allocator<SmartPtr<CSimpleSetting> >::allocator<SmartPtr<CSimpleSetting> >
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\smartptr.h
_TEXT	ENDS
;	COMDAT ??8?$SmartPtr@VCSimpleSetting@@@@QAEHABV0@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_rhs$ = 8						; size = 4
??8?$SmartPtr@VCSimpleSetting@@@@QAEHABV0@@Z PROC	; SmartPtr<CSimpleSetting>::operator==, COMDAT
; _this$ = ecx

; 127  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 128  :         return rawPtr == rhs.rawPtr;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 4d 08	 mov	 ecx, DWORD PTR _rhs$[ebp]
  0000d	8b 10		 mov	 edx, DWORD PTR [eax]
  0000f	33 c0		 xor	 eax, eax
  00011	3b 11		 cmp	 edx, DWORD PTR [ecx]
  00013	0f 94 c0	 sete	 al

; 129  :     }

  00016	8b e5		 mov	 esp, ebp
  00018	5d		 pop	 ebp
  00019	c2 04 00	 ret	 4
??8?$SmartPtr@VCSimpleSetting@@@@QAEHABV0@@Z ENDP	; SmartPtr<CSimpleSetting>::operator==
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
xdata$x	SEGMENT
__unwindtable$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z$1
__ehfuncinfo$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z
_TEXT	SEGMENT
tv133 = -32						; size = 4
_this$ = -28						; size = 4
$T304965 = -24						; size = 4
$T304964 = -20						; size = 4
$T304963 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Al$ = 8						; size = 1
??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z PROC ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >, COMDAT
; _this$ = ecx

; 419  : 		{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 14	 sub	 esp, 20			; 00000014H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d e4	 mov	 DWORD PTR _this$[ebp], ecx
  00028	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	e8 00 00 00 00	 call	 ??0_Container_base_aux@std@@QAE@XZ ; std::_Container_base_aux::_Container_base_aux
  00030	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00037	8d 45 08	 lea	 eax, DWORD PTR __Al$[ebp]
  0003a	50		 push	 eax
  0003b	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0003e	83 c1 04	 add	 ecx, 4
  00041	e8 00 00 00 00	 call	 ??$?0V?$SmartPtr@VCSimpleSetting@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<CSimpleSetting> >

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

  00046	6a 01		 push	 1
  00048	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0004b	83 c1 04	 add	 ecx, 4
  0004e	e8 00 00 00 00	 call	 ?allocate@?$allocator@V_Aux_cont@std@@@std@@QAEPAV_Aux_cont@2@I@Z ; std::allocator<std::_Aux_cont>::allocate
  00053	89 45 e8	 mov	 DWORD PTR $T304965[ebp], eax
  00056	8b 4d e8	 mov	 ecx, DWORD PTR $T304965[ebp]
  00059	51		 push	 ecx
  0005a	6a 04		 push	 4
  0005c	e8 00 00 00 00	 call	 ??2@YAPAXIPAX@Z		; operator new
  00061	83 c4 08	 add	 esp, 8
  00064	89 45 ec	 mov	 DWORD PTR $T304964[ebp], eax
  00067	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0006b	83 7d ec 00	 cmp	 DWORD PTR $T304964[ebp], 0
  0006f	74 11		 je	 SHORT $LN3@Container_@13
  00071	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00074	52		 push	 edx
  00075	8b 4d ec	 mov	 ecx, DWORD PTR $T304964[ebp]
  00078	e8 00 00 00 00	 call	 ??0_Aux_cont@std@@QAE@QBV_Container_base_aux@1@@Z ; std::_Aux_cont::_Aux_cont
  0007d	89 45 e0	 mov	 DWORD PTR tv133[ebp], eax
  00080	eb 07		 jmp	 SHORT $LN4@Container_@13
$LN3@Container_@13:
  00082	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv133[ebp], 0
$LN4@Container_@13:
  00089	8b 45 e0	 mov	 eax, DWORD PTR tv133[ebp]
  0008c	89 45 f0	 mov	 DWORD PTR $T304963[ebp], eax
  0008f	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00093	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00096	8b 55 f0	 mov	 edx, DWORD PTR $T304963[ebp]
  00099	89 11		 mov	 DWORD PTR [ecx], edx

; 421  : 		}

  0009b	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000a2	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  000a5	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000a8	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000af	59		 pop	 ecx
  000b0	8b e5		 mov	 esp, ebp
  000b2	5d		 pop	 ebp
  000b3	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z$0:
  00000	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1_Container_base_aux@std@@QAE@XZ ; std::_Container_base_aux::~_Container_base_aux
__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z$1:
  00008	8b 45 e8	 mov	 eax, DWORD PTR $T304965[ebp]
  0000b	50		 push	 eax
  0000c	8b 4d ec	 mov	 ecx, DWORD PTR $T304964[ebp]
  0000f	51		 push	 ecx
  00010	e8 00 00 00 00	 call	 ??3@YAXPAX0@Z		; operator delete
  00015	83 c4 08	 add	 esp, 8
  00018	c3		 ret	 0
__ehhandler$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z:
  00019	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0001d	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00020	8b 4a e8	 mov	 ecx, DWORD PTR [edx-24]
  00023	33 c8		 xor	 ecx, eax
  00025	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0002a	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z
  0002f	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z ENDP ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??8?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBE_NABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Right$ = 8						; size = 4
??8?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator==, COMDAT
; _this$ = ecx

; 203  : 		{	// test for iterator equality

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

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

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ?_Has_container@_Iterator_base_aux@std@@QBE_NXZ ; std::_Iterator_base_aux::_Has_container
  0000f	0f b6 c0	 movzx	 eax, al
  00012	85 c0		 test	 eax, eax
  00014	74 13		 je	 SHORT $LN4@operator@67
  00016	8b 4d 08	 mov	 ecx, DWORD PTR __Right$[ebp]
  00019	51		 push	 ecx
  0001a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001d	e8 00 00 00 00	 call	 ?_Same_container@_Iterator_base_aux@std@@QBE_NABV12@@Z ; std::_Iterator_base_aux::_Same_container
  00022	0f b6 d0	 movzx	 edx, al
  00025	85 d2		 test	 edx, edx
  00027	75 05		 jne	 SHORT $LN2@operator@67
$LN4@operator@67:
  00029	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@67:
  0002e	33 c0		 xor	 eax, eax
  00030	75 fc		 jne	 SHORT $LN2@operator@67

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

  00032	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00035	8b 55 08	 mov	 edx, DWORD PTR __Right$[ebp]
  00038	8b 41 04	 mov	 eax, DWORD PTR [ecx+4]
  0003b	33 c9		 xor	 ecx, ecx
  0003d	3b 42 04	 cmp	 eax, DWORD PTR [edx+4]
  00040	0f 94 c1	 sete	 cl
  00043	8a c1		 mov	 al, cl

; 212  : 		}

  00045	8b e5		 mov	 esp, ebp
  00047	5d		 pop	 ebp
  00048	c2 04 00	 ret	 4
??8?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator==
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\smartptr.h
xdata$x	SEGMENT
__unwindtable$?GetRawPointer@?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetRawPointer@?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ$0
__ehfuncinfo$?GetRawPointer@?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetRawPointer@?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetRawPointer@?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ
_TEXT	SEGMENT
tv72 = -32						; size = 4
_this$ = -28						; size = 4
$T304982 = -24						; size = 4
$T304981 = -20						; size = 4
$T304980 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?GetRawPointer@?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ PROC ; SmartPtr<CSimpleSetting>::GetRawPointer, COMDAT
; _this$ = ecx

; 205  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetRawPointer@?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 14	 sub	 esp, 20			; 00000014H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d e4	 mov	 DWORD PTR _this$[ebp], ecx

; 206  :         if (rawPtr == 0) throw new NullPointerException;

  00028	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  0002b	83 38 00	 cmp	 DWORD PTR [eax], 0
  0002e	75 4f		 jne	 SHORT $LN1@GetRawPoin@15
  00030	6a 0c		 push	 12			; 0000000cH
  00032	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00037	83 c4 04	 add	 esp, 4
  0003a	89 45 e8	 mov	 DWORD PTR $T304982[ebp], eax
  0003d	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00044	83 7d e8 00	 cmp	 DWORD PTR $T304982[ebp], 0
  00048	74 0d		 je	 SHORT $LN4@GetRawPoin@15
  0004a	8b 4d e8	 mov	 ecx, DWORD PTR $T304982[ebp]
  0004d	e8 00 00 00 00	 call	 ??0NullPointerException@@QAE@XZ ; NullPointerException::NullPointerException
  00052	89 45 e0	 mov	 DWORD PTR tv72[ebp], eax
  00055	eb 07		 jmp	 SHORT $LN5@GetRawPoin@15
$LN4@GetRawPoin@15:
  00057	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv72[ebp], 0
$LN5@GetRawPoin@15:
  0005e	8b 4d e0	 mov	 ecx, DWORD PTR tv72[ebp]
  00061	89 4d ec	 mov	 DWORD PTR $T304981[ebp], ecx
  00064	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0006b	8b 55 ec	 mov	 edx, DWORD PTR $T304981[ebp]
  0006e	89 55 f0	 mov	 DWORD PTR $T304980[ebp], edx
  00071	68 00 00 00 00	 push	 OFFSET __TI3PAUNullPointerException@@
  00076	8d 45 f0	 lea	 eax, DWORD PTR $T304980[ebp]
  00079	50		 push	 eax
  0007a	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN1@GetRawPoin@15:

; 207  :         return const_cast<X*>(rawPtr);

  0007f	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00082	8b 01		 mov	 eax, DWORD PTR [ecx]
$LN3@GetRawPoin@15:

; 208  :     }

  00084	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00087	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0008e	59		 pop	 ecx
  0008f	8b e5		 mov	 esp, ebp
  00091	5d		 pop	 ebp
  00092	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?GetRawPointer@?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ$0:
  00000	8b 45 e8	 mov	 eax, DWORD PTR $T304982[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$?GetRawPointer@?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 4a e8	 mov	 ecx, DWORD PTR [edx-24]
  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$?GetRawPointer@?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetRawPointer@?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ ENDP ; SmartPtr<CSimpleSetting>::GetRawPointer
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
xdata$x	SEGMENT
__unwindtable$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@XZ$0
__ehfuncinfo$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@XZ PROC ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >, COMDAT
; _this$ = ecx

; 436  : 		{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

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

  0002d	6a 01		 push	 1
  0002f	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00032	8b 08		 mov	 ecx, DWORD PTR [eax]
  00034	51		 push	 ecx
  00035	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00038	83 c1 04	 add	 ecx, 4
  0003b	e8 00 00 00 00	 call	 ?deallocate@?$allocator@V_Aux_cont@std@@@std@@QAEXPAV_Aux_cont@2@I@Z ; std::allocator<std::_Aux_cont>::deallocate

; 440  : 		}

  00040	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00047	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0004a	e8 00 00 00 00	 call	 ??1_Container_base_aux@std@@QAE@XZ ; std::_Container_base_aux::~_Container_base_aux
  0004f	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00052	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00059	59		 pop	 ecx
  0005a	8b e5		 mov	 esp, ebp
  0005c	5d		 pop	 ebp
  0005d	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1_Container_base_aux@std@@QAE@XZ ; std::_Container_base_aux::~_Container_base_aux
__ehhandler$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  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$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@XZ ENDP ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
xdata$x	SEGMENT
__unwindtable$??0?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z$0
__ehfuncinfo$??0?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T305003 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Al$ = 8						; size = 1
??0?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z PROC ; std::_Vector_val<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::_Vector_val<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >, COMDAT
; _this$ = ecx

; 425  : 		{	// construct allocator from _Al

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 08	 sub	 esp, 8
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx
  00028	51		 push	 ecx
  00029	8b cc		 mov	 ecx, esp
  0002b	89 65 f0	 mov	 DWORD PTR $T305003[ebp], esp
  0002e	8d 45 08	 lea	 eax, DWORD PTR __Al$[ebp]
  00031	50		 push	 eax
  00032	e8 00 00 00 00	 call	 ??0?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@QAE@ABV01@@Z ; std::allocator<SmartPtr<CSimpleSetting> >::allocator<SmartPtr<CSimpleSetting> >
  00037	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0003a	e8 00 00 00 00	 call	 ??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >
  0003f	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00046	8d 4d 08	 lea	 ecx, DWORD PTR __Al$[ebp]
  00049	51		 push	 ecx
  0004a	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0004d	83 c1 08	 add	 ecx, 8
  00050	e8 00 00 00 00	 call	 ??0?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@QAE@ABV01@@Z ; std::allocator<SmartPtr<CSimpleSetting> >::allocator<SmartPtr<CSimpleSetting> >

; 426  : 		}

  00055	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0005c	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0005f	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00062	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00069	59		 pop	 ecx
  0006a	8b e5		 mov	 esp, ebp
  0006c	5d		 pop	 ebp
  0006d	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z$0:
  00000	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >
__ehhandler$??0?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  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_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z ENDP ; std::_Vector_val<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::_Vector_val<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ PROC ; std::_Vector_val<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::~_Vector_val<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >, COMDAT
; _this$ = ecx
  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0002d	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00034	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00037	e8 00 00 00 00	 call	 ??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >
  0003c	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0003f	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00046	59		 pop	 ecx
  00047	8b e5		 mov	 esp, ebp
  00049	5d		 pop	 ebp
  0004a	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSimpleSetting> > >
__ehhandler$??1?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  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$??1?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ ENDP ; std::_Vector_val<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::~_Vector_val<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >
; Function compile flags: /Odtp
;	COMDAT ??9?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBE_NABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Right$ = 8						; size = 4
??9?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator!=, COMDAT
; _this$ = ecx

; 215  : 		{	// test for iterator inequality

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

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

  00007	8b 45 08	 mov	 eax, DWORD PTR __Right$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	e8 00 00 00 00	 call	 ??8?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator==
  00013	0f b6 c0	 movzx	 eax, al
  00016	f7 d8		 neg	 eax
  00018	1b c0		 sbb	 eax, eax
  0001a	83 c0 01	 add	 eax, 1

; 217  : 		}

  0001d	8b e5		 mov	 esp, ebp
  0001f	5d		 pop	 ebp
  00020	c2 04 00	 ret	 4
??9?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator!=
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\smartptr.h
_TEXT	ENDS
;	COMDAT ??C?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??C?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ PROC ; SmartPtr<CSimpleSetting>::operator->, COMDAT
; _this$ = ecx

; 168  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 169  :         return GetRawPointer();

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ?GetRawPointer@?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ ; SmartPtr<CSimpleSetting>::GetRawPointer

; 170  :     }

  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
??C?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ ENDP ; SmartPtr<CSimpleSetting>::operator->
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??A?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV?$SmartPtr@VCSimpleSetting@@@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Pos$ = 8						; size = 4
??A?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV?$SmartPtr@VCSimpleSetting@@@@I@Z PROC ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator[], COMDAT
; _this$ = ecx

; 774  : 		{	// subscript mutable sequence

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], 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());

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::size
  0000f	39 45 08	 cmp	 DWORD PTR __Pos$[ebp], eax
  00012	72 05		 jb	 SHORT $LN2@operator@68
  00014	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@68:
  00019	33 c0		 xor	 eax, eax
  0001b	75 fc		 jne	 SHORT $LN2@operator@68

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

  0001d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00020	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00023	8b 45 08	 mov	 eax, DWORD PTR __Pos$[ebp]
  00026	8d 04 c2	 lea	 eax, DWORD PTR [edx+eax*8]

; 786  : 		}

  00029	8b e5		 mov	 esp, ebp
  0002b	5d		 pop	 ebp
  0002c	c2 04 00	 ret	 4
??A?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV?$SmartPtr@VCSimpleSetting@@@@I@Z ENDP ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator[]
_TEXT	ENDS
PUBLIC	?DisableOnChange@CSettingsHolder@@QAEXXZ	; CSettingsHolder::DisableOnChange
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\settingholder.cpp
;	COMDAT ?DisableOnChange@CSettingsHolder@@QAEXXZ
_TEXT	SEGMENT
_this$ = -8						; size = 4
_i$139676 = -4						; size = 4
?DisableOnChange@CSettingsHolder@@QAEXXZ PROC		; CSettingsHolder::DisableOnChange, COMDAT
; _this$ = ecx

; 184  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 08	 sub	 esp, 8
  00006	89 4d f8	 mov	 DWORD PTR _this$[ebp], ecx

; 185  :     for (int i = 0; i < m_Settings.size(); i++)

  00009	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$139676[ebp], 0
  00010	eb 09		 jmp	 SHORT $LN3@DisableOnC
$LN2@DisableOnC:
  00012	8b 45 fc	 mov	 eax, DWORD PTR _i$139676[ebp]
  00015	83 c0 01	 add	 eax, 1
  00018	89 45 fc	 mov	 DWORD PTR _i$139676[ebp], eax
$LN3@DisableOnC:
  0001b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0001e	83 c1 04	 add	 ecx, 4
  00021	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::size
  00026	39 45 fc	 cmp	 DWORD PTR _i$139676[ebp], eax
  00029	73 1f		 jae	 SHORT $LN4@DisableOnC

; 186  :     {
; 187  :         m_Settings[i]->DisableOnChange();

  0002b	8b 4d fc	 mov	 ecx, DWORD PTR _i$139676[ebp]
  0002e	51		 push	 ecx
  0002f	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	83 c1 04	 add	 ecx, 4
  00035	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV?$SmartPtr@VCSimpleSetting@@@@I@Z ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator[]
  0003a	8b c8		 mov	 ecx, eax
  0003c	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ ; SmartPtr<CSimpleSetting>::operator->
  00041	8b c8		 mov	 ecx, eax
  00043	e8 00 00 00 00	 call	 ?DisableOnChange@CSimpleSetting@@QAEXXZ ; CSimpleSetting::DisableOnChange
  00048	eb c8		 jmp	 SHORT $LN2@DisableOnC
$LN4@DisableOnC:

; 188  :     }
; 189  : }

  0004a	8b e5		 mov	 esp, ebp
  0004c	5d		 pop	 ebp
  0004d	c3		 ret	 0
?DisableOnChange@CSettingsHolder@@QAEXXZ ENDP		; CSettingsHolder::DisableOnChange
_TEXT	ENDS
PUBLIC	?EnableOnChange@CSettingsHolder@@QAEXXZ		; CSettingsHolder::EnableOnChange
; Function compile flags: /Odtp
;	COMDAT ?EnableOnChange@CSettingsHolder@@QAEXXZ
_TEXT	SEGMENT
_this$ = -8						; size = 4
_i$139669 = -4						; size = 4
?EnableOnChange@CSettingsHolder@@QAEXXZ PROC		; CSettingsHolder::EnableOnChange, COMDAT
; _this$ = ecx

; 173  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 08	 sub	 esp, 8
  00006	89 4d f8	 mov	 DWORD PTR _this$[ebp], ecx

; 174  :     for (int i = 0; i < m_Settings.size(); i++)

  00009	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$139669[ebp], 0
  00010	eb 09		 jmp	 SHORT $LN3@EnableOnCh
$LN2@EnableOnCh:
  00012	8b 45 fc	 mov	 eax, DWORD PTR _i$139669[ebp]
  00015	83 c0 01	 add	 eax, 1
  00018	89 45 fc	 mov	 DWORD PTR _i$139669[ebp], eax
$LN3@EnableOnCh:
  0001b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0001e	83 c1 04	 add	 ecx, 4
  00021	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::size
  00026	39 45 fc	 cmp	 DWORD PTR _i$139669[ebp], eax
  00029	73 1f		 jae	 SHORT $LN4@EnableOnCh

; 175  :     {
; 176  :         m_Settings[i]->EnableOnChange();

  0002b	8b 4d fc	 mov	 ecx, DWORD PTR _i$139669[ebp]
  0002e	51		 push	 ecx
  0002f	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	83 c1 04	 add	 ecx, 4
  00035	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV?$SmartPtr@VCSimpleSetting@@@@I@Z ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator[]
  0003a	8b c8		 mov	 ecx, eax
  0003c	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ ; SmartPtr<CSimpleSetting>::operator->
  00041	8b c8		 mov	 ecx, eax
  00043	e8 00 00 00 00	 call	 ?EnableOnChange@CSimpleSetting@@QAEXXZ ; CSimpleSetting::EnableOnChange
  00048	eb c8		 jmp	 SHORT $LN2@EnableOnCh
$LN4@EnableOnCh:

; 177  :     }
; 178  : }

  0004a	8b e5		 mov	 esp, ebp
  0004c	5d		 pop	 ebp
  0004d	c3		 ret	 0
?EnableOnChange@CSettingsHolder@@QAEXXZ ENDP		; CSettingsHolder::EnableOnChange
_TEXT	ENDS
PUBLIC	?GetNumSettings@CSettingsHolder@@QAEJXZ		; CSettingsHolder::GetNumSettings
; Function compile flags: /Odtp
;	COMDAT ?GetNumSettings@CSettingsHolder@@QAEJXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetNumSettings@CSettingsHolder@@QAEJXZ PROC		; CSettingsHolder::GetNumSettings, COMDAT
; _this$ = ecx

; 98   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 99   :     return m_Settings.size();

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	83 c1 04	 add	 ecx, 4
  0000d	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::size

; 100  : }

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?GetNumSettings@CSettingsHolder@@QAEJXZ ENDP		; CSettingsHolder::GetNumSettings
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??E?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV01@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??E?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV01@XZ PROC ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator++, COMDAT
; _this$ = ecx

; 115  : 		{	// preincrement

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

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

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ?_Has_container@_Iterator_base_aux@std@@QBE_NXZ ; std::_Iterator_base_aux::_Has_container
  0000f	0f b6 c0	 movzx	 eax, al
  00012	85 c0		 test	 eax, eax
  00014	75 05		 jne	 SHORT $LN6@operator@418
  00016	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN6@operator@418:
  0001b	33 c9		 xor	 ecx, ecx
  0001d	75 fc		 jne	 SHORT $LN6@operator@418

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

  0001f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00022	e8 00 00 00 00	 call	 ?_Getmycont@_Iterator_base_aux@std@@QBEPBV_Container_base_aux@2@XZ ; std::_Iterator_base_aux::_Getmycont
  00027	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0002a	8b 4a 04	 mov	 ecx, DWORD PTR [edx+4]
  0002d	3b 48 10	 cmp	 ecx, DWORD PTR [eax+16]
  00030	72 05		 jb	 SHORT $LN2@operator@418
  00032	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@418:
  00037	33 d2		 xor	 edx, edx
  00039	75 fc		 jne	 SHORT $LN2@operator@418

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

  0003b	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0003e	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  00041	83 c1 08	 add	 ecx, 8
  00044	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00047	89 4a 04	 mov	 DWORD PTR [edx+4], ecx

; 126  : 		return (*this);

  0004a	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]

; 127  : 		}

  0004d	8b e5		 mov	 esp, ebp
  0004f	5d		 pop	 ebp
  00050	c3		 ret	 0
??E?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV01@XZ ENDP ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator++
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??D?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEABV?$SmartPtr@VCSimpleSetting@@@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??D?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEABV?$SmartPtr@VCSimpleSetting@@@@XZ PROC ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator*, COMDAT
; _this$ = ecx

; 91   : 		{	// return designated object

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], 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());

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ?_Has_container@_Iterator_base_aux@std@@QBE_NXZ ; std::_Iterator_base_aux::_Has_container
  0000f	0f b6 c0	 movzx	 eax, al
  00012	85 c0		 test	 eax, eax
  00014	75 05		 jne	 SHORT $LN6@operator@419
  00016	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN6@operator@419:
  0001b	33 c9		 xor	 ecx, ecx
  0001d	75 fc		 jne	 SHORT $LN6@operator@419

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

  0001f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00022	e8 00 00 00 00	 call	 ?_Getmycont@_Iterator_base_aux@std@@QBEPBV_Container_base_aux@2@XZ ; std::_Iterator_base_aux::_Getmycont
  00027	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0002a	8b 4a 04	 mov	 ecx, DWORD PTR [edx+4]
  0002d	3b 48 10	 cmp	 ecx, DWORD PTR [eax+16]
  00030	72 05		 jb	 SHORT $LN2@operator@419
  00032	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@419:
  00037	33 d2		 xor	 edx, edx
  00039	75 fc		 jne	 SHORT $LN2@operator@419

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

  0003b	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0003e	8b 40 04	 mov	 eax, DWORD PTR [eax+4]

; 107  : 		}

  00041	8b e5		 mov	 esp, ebp
  00043	5d		 pop	 ebp
  00044	c3		 ret	 0
??D?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEABV?$SmartPtr@VCSimpleSetting@@@@XZ ENDP ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator*
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?_Tidy@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?_Tidy@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAEXXZ PROC ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::_Tidy, COMDAT
; _this$ = ecx

; 1128 : 		{	// free all storage

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1129 : 		if (_Myfirst != 0)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 78 0c 00	 cmp	 DWORD PTR [eax+12], 0
  0000e	74 38		 je	 SHORT $LN1@Tidy@36

; 1130 : 			{	// something to free, destroy and deallocate it
; 1131 : 
; 1132 :  #if _HAS_ITERATOR_DEBUGGING
; 1133 : 			this->_Orphan_all();
; 1134 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1135 : 
; 1136 : 			_Destroy(_Myfirst, _Mylast);

  00010	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  00016	52		 push	 edx
  00017	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0001a	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  0001d	51		 push	 ecx
  0001e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00021	e8 00 00 00 00	 call	 ?_Destroy@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCSimpleSetting@@@@0@Z ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::_Destroy

; 1137 : 			this->_Alval.deallocate(_Myfirst, _Myend - _Myfirst);

  00026	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00029	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0002c	8b 4a 14	 mov	 ecx, DWORD PTR [edx+20]
  0002f	2b 48 0c	 sub	 ecx, DWORD PTR [eax+12]
  00032	c1 f9 03	 sar	 ecx, 3
  00035	51		 push	 ecx
  00036	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00039	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  0003c	50		 push	 eax
  0003d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00040	83 c1 08	 add	 ecx, 8
  00043	e8 00 00 00 00	 call	 ?deallocate@?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@QAEXPAV?$SmartPtr@VCSimpleSetting@@@@I@Z ; std::allocator<SmartPtr<CSimpleSetting> >::deallocate
$LN1@Tidy@36:

; 1138 : 			}
; 1139 : 		_Myfirst = 0, _Mylast = 0, _Myend = 0;

  00048	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0004b	c7 41 0c 00 00
	00 00		 mov	 DWORD PTR [ecx+12], 0
  00052	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00055	c7 42 10 00 00
	00 00		 mov	 DWORD PTR [edx+16], 0
  0005c	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0005f	c7 40 14 00 00
	00 00		 mov	 DWORD PTR [eax+20], 0

; 1140 : 		}

  00066	8b e5		 mov	 esp, ebp
  00068	5d		 pop	 ebp
  00069	c3		 ret	 0
?_Tidy@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAEXXZ ENDP ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::_Tidy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??E?$_Vector_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV01@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??E?$_Vector_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV01@XZ PROC ; std::_Vector_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator++, COMDAT
; _this$ = ecx

; 348  : 		{	// preincrement

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

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

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ??E?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator++

; 350  : 		return (*this);

  0000f	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]

; 351  : 		}

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
??E?$_Vector_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV01@XZ ENDP ; std::_Vector_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator++
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??D?$_Vector_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEAAV?$SmartPtr@VCSimpleSetting@@@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??D?$_Vector_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEAAV?$SmartPtr@VCSimpleSetting@@@@XZ PROC ; std::_Vector_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator*, COMDAT
; _this$ = ecx

; 338  : 		{	// return designated object

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

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

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ??D?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEABV?$SmartPtr@VCSimpleSetting@@@@XZ ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator*

; 340  : 		}

  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
??D?$_Vector_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEAAV?$SmartPtr@VCSimpleSetting@@@@XZ ENDP ; std::_Vector_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator*
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ PROC ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::~vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >, COMDAT
; _this$ = ecx

; 558  : 		{	// destroy the object

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 559  : 		_Tidy();

  0002d	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00030	e8 00 00 00 00	 call	 ?_Tidy@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAEXXZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::_Tidy

; 560  : 		}

  00035	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0003c	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003f	e8 00 00 00 00	 call	 ??1?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ
  00044	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00047	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0004e	59		 pop	 ecx
  0004f	8b e5		 mov	 esp, ebp
  00051	5d		 pop	 ebp
  00052	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@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@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ
__ehhandler$??1?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  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$??1?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ ENDP ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::~vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >
PUBLIC	?GetSetting@CSettingsHolder@@QAE?AV?$SmartPtr@VCSimpleSetting@@@@J@Z ; CSettingsHolder::GetSetting
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\settingholder.cpp
xdata$x	SEGMENT
__unwindtable$?GetSetting@CSettingsHolder@@QAE?AV?$SmartPtr@VCSimpleSetting@@@@J@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetSetting@CSettingsHolder@@QAE?AV?$SmartPtr@VCSimpleSetting@@@@J@Z$0
__ehfuncinfo$?GetSetting@CSettingsHolder@@QAE?AV?$SmartPtr@VCSimpleSetting@@@@J@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetSetting@CSettingsHolder@@QAE?AV?$SmartPtr@VCSimpleSetting@@@@J@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetSetting@CSettingsHolder@@QAE?AV?$SmartPtr@VCSimpleSetting@@@@J@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T319429 = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_SettingIndex$ = 12					; size = 4
?GetSetting@CSettingsHolder@@QAE?AV?$SmartPtr@VCSimpleSetting@@@@J@Z PROC ; CSettingsHolder::GetSetting, COMDAT
; _this$ = ecx

; 107  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetSetting@CSettingsHolder@@QAE?AV?$SmartPtr@VCSimpleSetting@@@@J@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 08	 sub	 esp, 8
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx
  00028	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR $T319429[ebp], 0

; 108  :     if(SettingIndex >= 0 && SettingIndex < m_Settings.size())

  0002f	83 7d 0c 00	 cmp	 DWORD PTR _SettingIndex$[ebp], 0
  00033	7c 3f		 jl	 SHORT $LN2@GetSetting@3
  00035	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00038	83 c1 04	 add	 ecx, 4
  0003b	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::size
  00040	39 45 0c	 cmp	 DWORD PTR _SettingIndex$[ebp], eax
  00043	73 2f		 jae	 SHORT $LN2@GetSetting@3

; 109  :     {
; 110  :         return m_Settings[SettingIndex];

  00045	8b 45 0c	 mov	 eax, DWORD PTR _SettingIndex$[ebp]
  00048	50		 push	 eax
  00049	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0004c	83 c1 04	 add	 ecx, 4
  0004f	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV?$SmartPtr@VCSimpleSetting@@@@I@Z ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator[]
  00054	50		 push	 eax
  00055	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00058	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCSimpleSetting@@@@QAE@ABV0@@Z ; SmartPtr<CSimpleSetting>::SmartPtr<CSimpleSetting>
  0005d	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00064	8b 4d f0	 mov	 ecx, DWORD PTR $T319429[ebp]
  00067	83 c9 01	 or	 ecx, 1
  0006a	89 4d f0	 mov	 DWORD PTR $T319429[ebp], ecx
  0006d	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
  00070	eb 1d		 jmp	 SHORT $LN3@GetSetting@3

; 111  :     }
; 112  :     else

  00072	eb 1b		 jmp	 SHORT $LN3@GetSetting@3
$LN2@GetSetting@3:

; 113  :     {
; 114  :         return SmartPtr<CSimpleSetting>();

  00074	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00077	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCSimpleSetting@@@@QAE@XZ ; SmartPtr<CSimpleSetting>::SmartPtr<CSimpleSetting>
  0007c	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00083	8b 55 f0	 mov	 edx, DWORD PTR $T319429[ebp]
  00086	83 ca 01	 or	 edx, 1
  00089	89 55 f0	 mov	 DWORD PTR $T319429[ebp], edx
  0008c	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
$LN3@GetSetting@3:

; 115  :     }
; 116  : }

  0008f	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00092	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00099	59		 pop	 ecx
  0009a	8b e5		 mov	 esp, ebp
  0009c	5d		 pop	 ebp
  0009d	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?GetSetting@CSettingsHolder@@QAE?AV?$SmartPtr@VCSimpleSetting@@@@J@Z$0:
  00000	8b 45 f0	 mov	 eax, DWORD PTR $T319429[ebp]
  00003	83 e0 01	 and	 eax, 1
  00006	0f 84 0c 00 00
	00		 je	 $LN6@GetSetting@3
  0000c	83 65 f0 fe	 and	 DWORD PTR $T319429[ebp], -2 ; fffffffeH
  00010	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCSimpleSetting@@@@QAE@XZ ; SmartPtr<CSimpleSetting>::~SmartPtr<CSimpleSetting>
$LN6@GetSetting@3:
  00018	c3		 ret	 0
__ehhandler$?GetSetting@CSettingsHolder@@QAE?AV?$SmartPtr@VCSimpleSetting@@@@J@Z:
  00019	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0001d	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00020	8b 4a f4	 mov	 ecx, DWORD PTR [edx-12]
  00023	33 c8		 xor	 ecx, eax
  00025	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0002a	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?GetSetting@CSettingsHolder@@QAE?AV?$SmartPtr@VCSimpleSetting@@@@J@Z
  0002f	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetSetting@CSettingsHolder@@QAE?AV?$SmartPtr@VCSimpleSetting@@@@J@Z ENDP ; CSettingsHolder::GetSetting
PUBLIC	??1CSettingsHolder@@UAE@XZ			; CSettingsHolder::~CSettingsHolder
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CSettingsHolder@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CSettingsHolder@@UAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1CSettingsHolder@@UAE@XZ$1
__ehfuncinfo$??1CSettingsHolder@@UAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??1CSettingsHolder@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CSettingsHolder@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CSettingsHolder@@UAE@XZ PROC				; CSettingsHolder::~CSettingsHolder, COMDAT
; _this$ = ecx

; 43   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1CSettingsHolder@@UAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00029	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CSettingsHolder@@6B@
  0002f	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1

; 44   : }

  00036	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0003a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003d	83 c1 20	 add	 ecx, 32			; 00000020H
  00040	e8 00 00 00 00	 call	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00045	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0004c	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0004f	83 c1 04	 add	 ecx, 4
  00052	e8 00 00 00 00	 call	 ??1?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::~vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >
  00057	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0005a	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00061	59		 pop	 ecx
  00062	8b e5		 mov	 esp, ebp
  00064	5d		 pop	 ebp
  00065	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CSettingsHolder@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	83 c1 04	 add	 ecx, 4
  00006	e9 00 00 00 00	 jmp	 ??1?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::~vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >
__unwindfunclet$??1CSettingsHolder@@UAE@XZ$1:
  0000b	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	83 c1 20	 add	 ecx, 32			; 00000020H
  00011	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__ehhandler$??1CSettingsHolder@@UAE@XZ:
  00016	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0001a	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0001d	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00020	33 c8		 xor	 ecx, eax
  00022	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00027	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1CSettingsHolder@@UAE@XZ
  0002c	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CSettingsHolder@@UAE@XZ ENDP				; CSettingsHolder::~CSettingsHolder
; Function compile flags: /Odtp
;	COMDAT ??_GCSettingsHolder@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCSettingsHolder@@UAEPAXI@Z PROC			; CSettingsHolder::`scalar deleting destructor', COMDAT
; _this$ = ecx
  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx
  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ??1CSettingsHolder@@UAE@XZ ; CSettingsHolder::~CSettingsHolder
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@142
  00017	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001a	51		 push	 ecx
  0001b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00020	83 c4 04	 add	 esp, 4
$LN1@scalar@142:
  00023	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00026	8b e5		 mov	 esp, ebp
  00028	5d		 pop	 ebp
  00029	c2 04 00	 ret	 4
??_GCSettingsHolder@@UAEPAXI@Z ENDP			; CSettingsHolder::`scalar deleting destructor'
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?_Buy@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE_NI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Capacity$ = 8						; size = 4
?_Buy@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE_NI@Z PROC ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::_Buy, COMDAT
; _this$ = ecx

; 1107 : 		{	// allocate array with _Capacity elements

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1108 : 		_Myfirst = 0, _Mylast = 0, _Myend = 0;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	c7 40 0c 00 00
	00 00		 mov	 DWORD PTR [eax+12], 0
  00011	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00014	c7 41 10 00 00
	00 00		 mov	 DWORD PTR [ecx+16], 0
  0001b	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0001e	c7 42 14 00 00
	00 00		 mov	 DWORD PTR [edx+20], 0

; 1109 : 		if (_Capacity == 0)

  00025	83 7d 08 00	 cmp	 DWORD PTR __Capacity$[ebp], 0
  00029	75 06		 jne	 SHORT $LN4@Buy@44

; 1110 : 			return (false);

  0002b	32 c0		 xor	 al, al
  0002d	eb 4b		 jmp	 SHORT $LN5@Buy@44
  0002f	eb 47		 jmp	 SHORT $LN3@Buy@44
$LN4@Buy@44:

; 1111 : 		else if (max_size() < _Capacity)

  00031	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00034	e8 00 00 00 00	 call	 ?max_size@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::max_size
  00039	3b 45 08	 cmp	 eax, DWORD PTR __Capacity$[ebp]
  0003c	73 07		 jae	 SHORT $LN2@Buy@44

; 1112 : 			_Xlen();	// result too long

  0003e	e8 00 00 00 00	 call	 ?_Xlen@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@KAXXZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::_Xlen

; 1113 : 		else

  00043	eb 33		 jmp	 SHORT $LN3@Buy@44
$LN2@Buy@44:

; 1114 : 			{	// nonempty array, allocate storage
; 1115 : 			_Myfirst = this->_Alval.allocate(_Capacity);

  00045	8b 45 08	 mov	 eax, DWORD PTR __Capacity$[ebp]
  00048	50		 push	 eax
  00049	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0004c	83 c1 08	 add	 ecx, 8
  0004f	e8 00 00 00 00	 call	 ?allocate@?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@QAEPAV?$SmartPtr@VCSimpleSetting@@@@I@Z ; std::allocator<SmartPtr<CSimpleSetting> >::allocate
  00054	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00057	89 41 0c	 mov	 DWORD PTR [ecx+12], eax

; 1116 : 			_Mylast = _Myfirst;

  0005a	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0005d	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00060	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  00063	89 4a 10	 mov	 DWORD PTR [edx+16], ecx

; 1117 : 			_Myend = _Myfirst + _Capacity;

  00066	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00069	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  0006c	8b 4d 08	 mov	 ecx, DWORD PTR __Capacity$[ebp]
  0006f	8d 14 c8	 lea	 edx, DWORD PTR [eax+ecx*8]
  00072	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00075	89 50 14	 mov	 DWORD PTR [eax+20], edx
$LN3@Buy@44:

; 1118 : 			}
; 1119 : 		return (true);

  00078	b0 01		 mov	 al, 1
$LN5@Buy@44:

; 1120 : 		}

  0007a	8b e5		 mov	 esp, ebp
  0007c	5d		 pop	 ebp
  0007d	c2 04 00	 ret	 4
?_Buy@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE_NI@Z ENDP ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::_Buy
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??0?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T340968 = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ PROC ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >, COMDAT
; _this$ = ecx

; 470  : 		{	// construct empty vector

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 08	 sub	 esp, 8
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx
  00028	51		 push	 ecx
  00029	8b cc		 mov	 ecx, esp
  0002b	89 65 f0	 mov	 DWORD PTR $T340968[ebp], esp
  0002e	e8 00 00 00 00	 call	 ??0?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@QAE@XZ ; std::allocator<SmartPtr<CSimpleSetting> >::allocator<SmartPtr<CSimpleSetting> >
  00033	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	e8 00 00 00 00	 call	 ??0?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@1@@Z ; std::_Vector_val<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::_Vector_val<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >
  0003b	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 471  : 		_Buy(0);

  00042	6a 00		 push	 0
  00044	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00047	e8 00 00 00 00	 call	 ?_Buy@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@IAE_NI@Z ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::_Buy

; 472  : 		}

  0004c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00053	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  00056	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00059	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00060	59		 pop	 ecx
  00061	8b e5		 mov	 esp, ebp
  00063	5d		 pop	 ebp
  00064	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ$0:
  00000	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$_Vector_val@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ
__ehhandler$??0?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  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@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ ENDP ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >
PUBLIC	?AddSetting@CSettingsHolder@@QAEXV?$SmartPtr@VCSimpleSetting@@@@@Z ; CSettingsHolder::AddSetting
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\settingholder.cpp
xdata$x	SEGMENT
__unwindtable$?AddSetting@CSettingsHolder@@QAEXV?$SmartPtr@VCSimpleSetting@@@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?AddSetting@CSettingsHolder@@QAEXV?$SmartPtr@VCSimpleSetting@@@@@Z$0
__ehfuncinfo$?AddSetting@CSettingsHolder@@QAEXV?$SmartPtr@VCSimpleSetting@@@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?AddSetting@CSettingsHolder@@QAEXV?$SmartPtr@VCSimpleSetting@@@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?AddSetting@CSettingsHolder@@QAEXV?$SmartPtr@VCSimpleSetting@@@@@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
_i$139428 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_pSetting$ = 8						; size = 8
?AddSetting@CSettingsHolder@@QAEXV?$SmartPtr@VCSimpleSetting@@@@@Z PROC ; CSettingsHolder::AddSetting, COMDAT
; _this$ = ecx

; 51   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?AddSetting@CSettingsHolder@@QAEXV?$SmartPtr@VCSimpleSetting@@@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 08	 sub	 esp, 8
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx
  00028	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 52   :     for (int i = 0; i < m_Settings.size(); i++)

  0002f	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _i$139428[ebp], 0
  00036	eb 09		 jmp	 SHORT $LN4@AddSetting
$LN3@AddSetting:
  00038	8b 45 f0	 mov	 eax, DWORD PTR _i$139428[ebp]
  0003b	83 c0 01	 add	 eax, 1
  0003e	89 45 f0	 mov	 DWORD PTR _i$139428[ebp], eax
$LN4@AddSetting:
  00041	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00044	83 c1 04	 add	 ecx, 4
  00047	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::size
  0004c	39 45 f0	 cmp	 DWORD PTR _i$139428[ebp], eax
  0004f	73 31		 jae	 SHORT $LN2@AddSetting

; 53   :     {
; 54   :         if (m_Settings[i] == pSetting)

  00051	8d 4d 08	 lea	 ecx, DWORD PTR _pSetting$[ebp]
  00054	51		 push	 ecx
  00055	8b 55 f0	 mov	 edx, DWORD PTR _i$139428[ebp]
  00058	52		 push	 edx
  00059	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0005c	83 c1 04	 add	 ecx, 4
  0005f	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV?$SmartPtr@VCSimpleSetting@@@@I@Z ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator[]
  00064	8b c8		 mov	 ecx, eax
  00066	e8 00 00 00 00	 call	 ??8?$SmartPtr@VCSimpleSetting@@@@QAEHABV0@@Z ; SmartPtr<CSimpleSetting>::operator==
  0006b	85 c0		 test	 eax, eax
  0006d	74 11		 je	 SHORT $LN1@AddSetting

; 55   :         {
; 56   :             //Already in list
; 57   :             return;

  0006f	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00076	8d 4d 08	 lea	 ecx, DWORD PTR _pSetting$[ebp]
  00079	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCSimpleSetting@@@@QAE@XZ ; SmartPtr<CSimpleSetting>::~SmartPtr<CSimpleSetting>
  0007e	eb 20		 jmp	 SHORT $LN5@AddSetting
$LN1@AddSetting:

; 58   :         }
; 59   :     }

  00080	eb b6		 jmp	 SHORT $LN3@AddSetting
$LN2@AddSetting:

; 60   :     //Add to list
; 61   :     m_Settings.push_back(pSetting);

  00082	8d 45 08	 lea	 eax, DWORD PTR _pSetting$[ebp]
  00085	50		 push	 eax
  00086	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00089	83 c1 04	 add	 ecx, 4
  0008c	e8 00 00 00 00	 call	 ?push_back@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEXABV?$SmartPtr@VCSimpleSetting@@@@@Z ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::push_back

; 62   : }

  00091	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00098	8d 4d 08	 lea	 ecx, DWORD PTR _pSetting$[ebp]
  0009b	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCSimpleSetting@@@@QAE@XZ ; SmartPtr<CSimpleSetting>::~SmartPtr<CSimpleSetting>
$LN5@AddSetting:
  000a0	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000a3	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000aa	59		 pop	 ecx
  000ab	8b e5		 mov	 esp, ebp
  000ad	5d		 pop	 ebp
  000ae	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?AddSetting@CSettingsHolder@@QAEXV?$SmartPtr@VCSimpleSetting@@@@@Z$0:
  00000	8d 4d 08	 lea	 ecx, DWORD PTR _pSetting$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCSimpleSetting@@@@QAE@XZ ; SmartPtr<CSimpleSetting>::~SmartPtr<CSimpleSetting>
__ehhandler$?AddSetting@CSettingsHolder@@QAEXV?$SmartPtr@VCSimpleSetting@@@@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  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$?AddSetting@CSettingsHolder@@QAEXV?$SmartPtr@VCSimpleSetting@@@@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?AddSetting@CSettingsHolder@@QAEXV?$SmartPtr@VCSimpleSetting@@@@@Z ENDP ; CSettingsHolder::AddSetting
PUBLIC	??0CSettingsHolder@@QAE@JI@Z			; CSettingsHolder::CSettingsHolder
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CSettingsHolder@@QAE@JI@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CSettingsHolder@@QAE@JI@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CSettingsHolder@@QAE@JI@Z$1
__ehfuncinfo$??0CSettingsHolder@@QAE@JI@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0CSettingsHolder@@QAE@JI@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CSettingsHolder@@QAE@JI@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_SetMessage$ = 8					; size = 4
_HelpID$ = 12						; size = 4
??0CSettingsHolder@@QAE@JI@Z PROC			; CSettingsHolder::CSettingsHolder, COMDAT
; _this$ = ecx

; 38   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CSettingsHolder@@QAE@JI@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00029	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CSettingsHolder@@6B@
  0002f	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	83 c1 04	 add	 ecx, 4
  00035	e8 00 00 00 00	 call	 ??0?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >
  0003a	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00041	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00044	8b 55 08	 mov	 edx, DWORD PTR _SetMessage$[ebp]
  00047	89 51 1c	 mov	 DWORD PTR [ecx+28], edx
  0004a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0004d	83 c1 20	 add	 ecx, 32			; 00000020H
  00050	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00055	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00059	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0005c	8b 4d 0c	 mov	 ecx, DWORD PTR _HelpID$[ebp]
  0005f	89 48 3c	 mov	 DWORD PTR [eax+60], ecx

; 39   :     m_SettingFlagsSection = _T("SettingFlags");

  00062	68 00 00 00 00	 push	 OFFSET ??_C@_1BK@EBOJFPNO@?$AAS?$AAe?$AAt?$AAt?$AAi?$AAn?$AAg?$AAF?$AAl?$AAa?$AAg?$AAs?$AA?$AA@
  00067	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0006a	83 c1 20	 add	 ecx, 32			; 00000020H
  0006d	e8 00 00 00 00	 call	 ??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@PB_W@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::operator=

; 40   : }

  00072	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00079	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0007c	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0007f	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00086	59		 pop	 ecx
  00087	8b e5		 mov	 esp, ebp
  00089	5d		 pop	 ebp
  0008a	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CSettingsHolder@@QAE@JI@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	83 c1 04	 add	 ecx, 4
  00006	e9 00 00 00 00	 jmp	 ??1?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::~vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >
__unwindfunclet$??0CSettingsHolder@@QAE@JI@Z$1:
  0000b	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	83 c1 20	 add	 ecx, 32			; 00000020H
  00011	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__ehhandler$??0CSettingsHolder@@QAE@JI@Z:
  00016	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0001a	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0001d	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00020	33 c8		 xor	 ecx, eax
  00022	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00027	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CSettingsHolder@@QAE@JI@Z
  0002c	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CSettingsHolder@@QAE@JI@Z ENDP			; CSettingsHolder::CSettingsHolder
PUBLIC	?AddSetting@CSettingsHolder@@QAEXPAUSETTING@@PAVCSettingGroup@@@Z ; CSettingsHolder::AddSetting
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?AddSetting@CSettingsHolder@@QAEXPAUSETTING@@PAVCSettingGroup@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?AddSetting@CSettingsHolder@@QAEXPAUSETTING@@PAVCSettingGroup@@@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?AddSetting@CSettingsHolder@@QAEXPAUSETTING@@PAVCSettingGroup@@@Z$1
__ehfuncinfo$?AddSetting@CSettingsHolder@@QAEXPAUSETTING@@PAVCSettingGroup@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?AddSetting@CSettingsHolder@@QAEXPAUSETTING@@PAVCSettingGroup@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?AddSetting@CSettingsHolder@@QAEXPAUSETTING@@PAVCSettingGroup@@@Z
_TEXT	SEGMENT
tv128 = -40						; size = 4
tv130 = -36						; size = 4
tv87 = -32						; size = 4
_this$ = -28						; size = 4
$T343463 = -24						; size = 4
$T343462 = -20						; size = 4
$T343461 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_pSetting$ = 8						; size = 4
_pGroup$ = 12						; size = 4
?AddSetting@CSettingsHolder@@QAEXPAUSETTING@@PAVCSettingGroup@@@Z PROC ; CSettingsHolder::AddSetting, COMDAT
; _this$ = ecx

; 65   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?AddSetting@CSettingsHolder@@QAEXPAUSETTING@@PAVCSettingGroup@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 1c	 sub	 esp, 28			; 0000001cH
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d e4	 mov	 DWORD PTR _this$[ebp], ecx

; 66   :     if(pSetting != NULL)

  00028	83 7d 08 00	 cmp	 DWORD PTR _pSetting$[ebp], 0
  0002c	74 76		 je	 SHORT $LN2@AddSetting@3

; 67   :     {
; 68   :         AddSetting(SmartPtr<CSimpleSetting>(new CSettingWrapper(pSetting)));

  0002e	68 a0 00 00 00	 push	 160			; 000000a0H
  00033	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00038	83 c4 04	 add	 esp, 4
  0003b	89 45 e8	 mov	 DWORD PTR $T343463[ebp], eax
  0003e	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00045	83 7d e8 00	 cmp	 DWORD PTR $T343463[ebp], 0
  00049	74 13		 je	 SHORT $LN4@AddSetting@3
  0004b	6a 00		 push	 0
  0004d	8b 45 08	 mov	 eax, DWORD PTR _pSetting$[ebp]
  00050	50		 push	 eax
  00051	8b 4d e8	 mov	 ecx, DWORD PTR $T343463[ebp]
  00054	e8 00 00 00 00	 call	 ??0CSettingWrapper@@QAE@PAUSETTING@@PAVCSettingGroup@@@Z ; CSettingWrapper::CSettingWrapper
  00059	89 45 e0	 mov	 DWORD PTR tv87[ebp], eax
  0005c	eb 07		 jmp	 SHORT $LN5@AddSetting@3
$LN4@AddSetting@3:
  0005e	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv87[ebp], 0
$LN5@AddSetting@3:
  00065	8b 4d e0	 mov	 ecx, DWORD PTR tv87[ebp]
  00068	89 4d ec	 mov	 DWORD PTR $T343462[ebp], ecx
  0006b	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00072	83 ec 08	 sub	 esp, 8
  00075	8b cc		 mov	 ecx, esp
  00077	89 65 f0	 mov	 DWORD PTR $T343461[ebp], esp
  0007a	6a 00		 push	 0
  0007c	8b 55 ec	 mov	 edx, DWORD PTR $T343462[ebp]
  0007f	52		 push	 edx
  00080	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCSimpleSetting@@@@QAE@PAVCSimpleSetting@@PAUCounter@@@Z ; SmartPtr<CSimpleSetting>::SmartPtr<CSimpleSetting>
  00085	89 45 dc	 mov	 DWORD PTR tv130[ebp], eax
  00088	8b 45 dc	 mov	 eax, DWORD PTR tv130[ebp]
  0008b	89 45 d8	 mov	 DWORD PTR tv128[ebp], eax
  0008e	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1
  00095	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0009c	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0009f	e8 00 00 00 00	 call	 ?AddSetting@CSettingsHolder@@QAEXV?$SmartPtr@VCSimpleSetting@@@@@Z ; CSettingsHolder::AddSetting
$LN2@AddSetting@3:

; 69   :     }
; 70   : }

  000a4	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000a7	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000ae	59		 pop	 ecx
  000af	8b e5		 mov	 esp, ebp
  000b1	5d		 pop	 ebp
  000b2	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?AddSetting@CSettingsHolder@@QAEXPAUSETTING@@PAVCSettingGroup@@@Z$0:
  00000	8b 45 e8	 mov	 eax, DWORD PTR $T343463[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
__unwindfunclet$?AddSetting@CSettingsHolder@@QAEXPAUSETTING@@PAVCSettingGroup@@@Z$1:
  0000b	8b 4d f0	 mov	 ecx, DWORD PTR $T343461[ebp]
  0000e	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCSimpleSetting@@@@QAE@XZ ; SmartPtr<CSimpleSetting>::~SmartPtr<CSimpleSetting>
__ehhandler$?AddSetting@CSettingsHolder@@QAEXPAUSETTING@@PAVCSettingGroup@@@Z:
  00013	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00017	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0001a	8b 4a e0	 mov	 ecx, DWORD PTR [edx-32]
  0001d	33 c8		 xor	 ecx, eax
  0001f	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00024	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?AddSetting@CSettingsHolder@@QAEXPAUSETTING@@PAVCSettingGroup@@@Z
  00029	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?AddSetting@CSettingsHolder@@QAEXPAUSETTING@@PAVCSettingGroup@@@Z ENDP ; CSettingsHolder::AddSetting
PUBLIC	?AddSettings@CSettingsHolder@@QAEXPAUSETTING@@HPAVCSettingGroup@@@Z ; CSettingsHolder::AddSettings
; Function compile flags: /Odtp
;	COMDAT ?AddSettings@CSettingsHolder@@QAEXPAUSETTING@@HPAVCSettingGroup@@@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_i$139661 = -4						; size = 4
_pSetting$ = 8						; size = 4
_Num$ = 12						; size = 4
_pGroup$ = 16						; size = 4
?AddSettings@CSettingsHolder@@QAEXPAUSETTING@@HPAVCSettingGroup@@@Z PROC ; CSettingsHolder::AddSettings, COMDAT
; _this$ = ecx

; 159  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 08	 sub	 esp, 8
  00006	89 4d f8	 mov	 DWORD PTR _this$[ebp], ecx

; 160  :     for (int i(0) ; i < Num; i++)

  00009	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$139661[ebp], 0
  00010	eb 09		 jmp	 SHORT $LN4@AddSetting@4
$LN3@AddSetting@4:
  00012	8b 45 fc	 mov	 eax, DWORD PTR _i$139661[ebp]
  00015	83 c0 01	 add	 eax, 1
  00018	89 45 fc	 mov	 DWORD PTR _i$139661[ebp], eax
$LN4@AddSetting@4:
  0001b	8b 4d fc	 mov	 ecx, DWORD PTR _i$139661[ebp]
  0001e	3b 4d 0c	 cmp	 ecx, DWORD PTR _Num$[ebp]
  00021	7d 27		 jge	 SHORT $LN5@AddSetting@4

; 161  :     {
; 162  :         if(pSetting[i].szDisplayName != NULL)

  00023	8b 55 fc	 mov	 edx, DWORD PTR _i$139661[ebp]
  00026	6b d2 34	 imul	 edx, 52			; 00000034H
  00029	8b 45 08	 mov	 eax, DWORD PTR _pSetting$[ebp]
  0002c	83 3c 10 00	 cmp	 DWORD PTR [eax+edx], 0
  00030	74 16		 je	 SHORT $LN1@AddSetting@4

; 163  :         {
; 164  :             AddSetting(&pSetting[i], pGroup);

  00032	8b 4d 10	 mov	 ecx, DWORD PTR _pGroup$[ebp]
  00035	51		 push	 ecx
  00036	8b 55 fc	 mov	 edx, DWORD PTR _i$139661[ebp]
  00039	6b d2 34	 imul	 edx, 52			; 00000034H
  0003c	03 55 08	 add	 edx, DWORD PTR _pSetting$[ebp]
  0003f	52		 push	 edx
  00040	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00043	e8 00 00 00 00	 call	 ?AddSetting@CSettingsHolder@@QAEXPAUSETTING@@PAVCSettingGroup@@@Z ; CSettingsHolder::AddSetting
$LN1@AddSetting@4:

; 165  :         }

  00048	eb c8		 jmp	 SHORT $LN3@AddSetting@4
$LN5@AddSetting@4:

; 166  :     }
; 167  : }

  0004a	8b e5		 mov	 esp, ebp
  0004c	5d		 pop	 ebp
  0004d	c2 0c 00	 ret	 12			; 0000000cH
?AddSettings@CSettingsHolder@@QAEXPAUSETTING@@HPAVCSettingGroup@@@Z ENDP ; CSettingsHolder::AddSettings
PUBLIC	?WriteToIni@CSettingsHolder@@QAEXH@Z		; CSettingsHolder::WriteToIni
; Function compile flags: /Odtp
;	COMDAT ?WriteToIni@CSettingsHolder@@QAEXH@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T347578 = -16						; size = 8
_it$139617 = -8						; size = 8
_bOptimizeFileAccess$ = 8				; size = 4
?WriteToIni@CSettingsHolder@@QAEXH@Z PROC		; CSettingsHolder::WriteToIni, COMDAT
; _this$ = ecx

; 87   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 14	 sub	 esp, 20			; 00000014H
  00006	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx

; 88   :     for(SettingsArray::iterator it = m_Settings.begin(); it != m_Settings.end(); ++it)

  00009	8d 45 f8	 lea	 eax, DWORD PTR _it$139617[ebp]
  0000c	50		 push	 eax
  0000d	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	83 c1 04	 add	 ecx, 4
  00013	e8 00 00 00 00	 call	 ?begin@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@2@XZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::begin
  00018	eb 08		 jmp	 SHORT $LN3@WriteToIni@3
$LN2@WriteToIni@3:
  0001a	8d 4d f8	 lea	 ecx, DWORD PTR _it$139617[ebp]
  0001d	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator++
$LN3@WriteToIni@3:
  00022	8d 4d f0	 lea	 ecx, DWORD PTR $T347578[ebp]
  00025	51		 push	 ecx
  00026	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	83 c1 04	 add	 ecx, 4
  0002c	e8 00 00 00 00	 call	 ?end@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@2@XZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::end
  00031	50		 push	 eax
  00032	8d 4d f8	 lea	 ecx, DWORD PTR _it$139617[ebp]
  00035	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator!=
  0003a	0f b6 d0	 movzx	 edx, al
  0003d	85 d2		 test	 edx, edx
  0003f	74 1c		 je	 SHORT $LN4@WriteToIni@3

; 89   :     {
; 90   :         (*it)->WriteToIni(bOptimizeFileAccess);

  00041	8b 45 08	 mov	 eax, DWORD PTR _bOptimizeFileAccess$[ebp]
  00044	50		 push	 eax
  00045	8d 4d f8	 lea	 ecx, DWORD PTR _it$139617[ebp]
  00048	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEAAV?$SmartPtr@VCSimpleSetting@@@@XZ ; std::_Vector_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator*
  0004d	8b c8		 mov	 ecx, eax
  0004f	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ ; SmartPtr<CSimpleSetting>::operator->
  00054	8b c8		 mov	 ecx, eax
  00056	e8 00 00 00 00	 call	 ?WriteToIni@CSimpleSetting@@QAEXH@Z ; CSimpleSetting::WriteToIni
  0005b	eb bd		 jmp	 SHORT $LN2@WriteToIni@3
$LN4@WriteToIni@3:

; 91   :     }
; 92   : }

  0005d	8b e5		 mov	 esp, ebp
  0005f	5d		 pop	 ebp
  00060	c2 04 00	 ret	 4
?WriteToIni@CSettingsHolder@@QAEXH@Z ENDP		; CSettingsHolder::WriteToIni
PUBLIC	?ReadFromIni@CSettingsHolder@@QAEXXZ		; CSettingsHolder::ReadFromIni
; Function compile flags: /Odtp
;	COMDAT ?ReadFromIni@CSettingsHolder@@QAEXXZ
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T349412 = -16						; size = 8
_it$139607 = -8						; size = 8
?ReadFromIni@CSettingsHolder@@QAEXXZ PROC		; CSettingsHolder::ReadFromIni, COMDAT
; _this$ = ecx

; 76   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 14	 sub	 esp, 20			; 00000014H
  00006	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx

; 77   :     for(SettingsArray::iterator it = m_Settings.begin(); it != m_Settings.end(); ++it)

  00009	8d 45 f8	 lea	 eax, DWORD PTR _it$139607[ebp]
  0000c	50		 push	 eax
  0000d	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	83 c1 04	 add	 ecx, 4
  00013	e8 00 00 00 00	 call	 ?begin@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@2@XZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::begin
  00018	eb 08		 jmp	 SHORT $LN3@ReadFromIn@2
$LN2@ReadFromIn@2:
  0001a	8d 4d f8	 lea	 ecx, DWORD PTR _it$139607[ebp]
  0001d	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator++
$LN3@ReadFromIn@2:
  00022	8d 4d f0	 lea	 ecx, DWORD PTR $T349412[ebp]
  00025	51		 push	 ecx
  00026	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	83 c1 04	 add	 ecx, 4
  0002c	e8 00 00 00 00	 call	 ?end@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@2@XZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::end
  00031	50		 push	 eax
  00032	8d 4d f8	 lea	 ecx, DWORD PTR _it$139607[ebp]
  00035	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator!=
  0003a	0f b6 d0	 movzx	 edx, al
  0003d	85 d2		 test	 edx, edx
  0003f	74 18		 je	 SHORT $LN4@ReadFromIn@2

; 78   :     {
; 79   :         (*it)->ReadFromIni();

  00041	8d 4d f8	 lea	 ecx, DWORD PTR _it$139607[ebp]
  00044	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEAAV?$SmartPtr@VCSimpleSetting@@@@XZ ; std::_Vector_iterator<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator*
  00049	8b c8		 mov	 ecx, eax
  0004b	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ ; SmartPtr<CSimpleSetting>::operator->
  00050	8b c8		 mov	 ecx, eax
  00052	e8 00 00 00 00	 call	 ?ReadFromIni@CSimpleSetting@@QAEHXZ ; CSimpleSetting::ReadFromIni
  00057	eb c1		 jmp	 SHORT $LN2@ReadFromIn@2
$LN4@ReadFromIn@2:

; 80   :     }
; 81   : }

  00059	8b e5		 mov	 esp, ebp
  0005b	5d		 pop	 ebp
  0005c	c3		 ret	 0
?ReadFromIni@CSettingsHolder@@QAEXXZ ENDP		; CSettingsHolder::ReadFromIni
PUBLIC	?HandleSettingsMessage@CSettingsHolder@@QAEJPAUHWND__@@IIJPAH@Z ; CSettingsHolder::HandleSettingsMessage
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?HandleSettingsMessage@CSettingsHolder@@QAEJPAUHWND__@@IIJPAH@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?HandleSettingsMessage@CSettingsHolder@@QAEJPAUHWND__@@IIJPAH@Z$0
__ehfuncinfo$?HandleSettingsMessage@CSettingsHolder@@QAEJPAUHWND__@@IIJPAH@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?HandleSettingsMessage@CSettingsHolder@@QAEJPAUHWND__@@IIJPAH@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?HandleSettingsMessage@CSettingsHolder@@QAEJPAUHWND__@@IIJPAH@Z
_TEXT	SEGMENT
tv94 = -36						; size = 4
tv84 = -32						; size = 4
_this$ = -28						; size = 4
_pSetting$139648 = -24					; size = 8
_RetVal$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_hWnd$ = 8						; size = 4
_message$ = 12						; size = 4
_wParam$ = 16						; size = 4
_lParam$ = 20						; size = 4
_bHandled$ = 24						; size = 4
?HandleSettingsMessage@CSettingsHolder@@QAEJPAUHWND__@@IIJPAH@Z PROC ; CSettingsHolder::HandleSettingsMessage, COMDAT
; _this$ = ecx

; 124  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?HandleSettingsMessage@CSettingsHolder@@QAEJPAUHWND__@@IIJPAH@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 18	 sub	 esp, 24			; 00000018H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d e4	 mov	 DWORD PTR _this$[ebp], ecx

; 125  :     LONG RetVal = 0;

  00028	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _RetVal$[ebp], 0

; 126  : 
; 127  :     if (m_SetMessage == 0)

  0002f	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  00032	83 78 1c 00	 cmp	 DWORD PTR [eax+28], 0
  00036	75 07		 jne	 SHORT $LN7@HandleSett@2

; 128  :     {
; 129  :         return 0;

  00038	33 c0		 xor	 eax, eax
  0003a	e9 e2 00 00 00	 jmp	 $LN8@HandleSett@2
$LN7@HandleSett@2:

; 130  :     }
; 131  : 
; 132  :     if(wParam >= 0 && wParam < m_Settings.size())

  0003f	83 7d 10 00	 cmp	 DWORD PTR _wParam$[ebp], 0
  00043	0f 82 d5 00 00
	00		 jb	 $LN6@HandleSett@2
  00049	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0004c	83 c1 04	 add	 ecx, 4
  0004f	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::size
  00054	39 45 10	 cmp	 DWORD PTR _wParam$[ebp], eax
  00057	0f 83 c1 00 00
	00		 jae	 $LN6@HandleSett@2

; 133  :     {
; 134  :         SmartPtr<CSimpleSetting> pSetting = m_Settings[wParam];

  0005d	8b 4d 10	 mov	 ecx, DWORD PTR _wParam$[ebp]
  00060	51		 push	 ecx
  00061	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00064	83 c1 04	 add	 ecx, 4
  00067	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEAAV?$SmartPtr@VCSimpleSetting@@@@I@Z ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::operator[]
  0006c	50		 push	 eax
  0006d	8d 4d e8	 lea	 ecx, DWORD PTR _pSetting$139648[ebp]
  00070	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCSimpleSetting@@@@QAE@ABV0@@Z ; SmartPtr<CSimpleSetting>::SmartPtr<CSimpleSetting>
  00075	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 135  :         if(message == m_SetMessage)

  0007c	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  0007f	8b 45 0c	 mov	 eax, DWORD PTR _message$[ebp]
  00082	3b 42 1c	 cmp	 eax, DWORD PTR [edx+28]
  00085	75 26		 jne	 SHORT $LN5@HandleSett@2

; 136  :         {
; 137  :             RetVal = pSetting->GetValueAsMessage();

  00087	8d 4d e8	 lea	 ecx, DWORD PTR _pSetting$139648[ebp]
  0008a	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ ; SmartPtr<CSimpleSetting>::operator->
  0008f	89 45 e0	 mov	 DWORD PTR tv84[ebp], eax
  00092	8b 4d e0	 mov	 ecx, DWORD PTR tv84[ebp]
  00095	8b 11		 mov	 edx, DWORD PTR [ecx]
  00097	8b 4d e0	 mov	 ecx, DWORD PTR tv84[ebp]
  0009a	8b 42 14	 mov	 eax, DWORD PTR [edx+20]
  0009d	ff d0		 call	 eax
  0009f	89 45 f0	 mov	 DWORD PTR _RetVal$[ebp], eax

; 138  :             *bHandled = TRUE;

  000a2	8b 4d 18	 mov	 ecx, DWORD PTR _bHandled$[ebp]
  000a5	c7 01 01 00 00
	00		 mov	 DWORD PTR [ecx], 1
  000ab	eb 62		 jmp	 SHORT $LN4@HandleSett@2
$LN5@HandleSett@2:

; 139  :         }
; 140  :         else if(message == m_SetMessage + 100)

  000ad	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  000b0	8b 42 1c	 mov	 eax, DWORD PTR [edx+28]
  000b3	83 c0 64	 add	 eax, 100		; 00000064H
  000b6	39 45 0c	 cmp	 DWORD PTR _message$[ebp], eax
  000b9	75 27		 jne	 SHORT $LN3@HandleSett@2

; 141  :         {
; 142  :             pSetting->SetValueFromMessage(lParam);

  000bb	8d 4d e8	 lea	 ecx, DWORD PTR _pSetting$139648[ebp]
  000be	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ ; SmartPtr<CSimpleSetting>::operator->
  000c3	89 45 dc	 mov	 DWORD PTR tv94[ebp], eax
  000c6	8b 4d 14	 mov	 ecx, DWORD PTR _lParam$[ebp]
  000c9	51		 push	 ecx
  000ca	8b 55 dc	 mov	 edx, DWORD PTR tv94[ebp]
  000cd	8b 02		 mov	 eax, DWORD PTR [edx]
  000cf	8b 4d dc	 mov	 ecx, DWORD PTR tv94[ebp]
  000d2	8b 50 18	 mov	 edx, DWORD PTR [eax+24]
  000d5	ff d2		 call	 edx

; 143  :             *bHandled = TRUE;

  000d7	8b 45 18	 mov	 eax, DWORD PTR _bHandled$[ebp]
  000da	c7 00 01 00 00
	00		 mov	 DWORD PTR [eax], 1
  000e0	eb 2d		 jmp	 SHORT $LN4@HandleSett@2
$LN3@HandleSett@2:

; 144  :         }
; 145  :         else if(message == m_SetMessage + 200)

  000e2	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  000e5	8b 51 1c	 mov	 edx, DWORD PTR [ecx+28]
  000e8	81 c2 c8 00 00
	00		 add	 edx, 200		; 000000c8H
  000ee	39 55 0c	 cmp	 DWORD PTR _message$[ebp], edx
  000f1	75 1c		 jne	 SHORT $LN4@HandleSett@2

; 146  :         {
; 147  :             pSetting->ChangeValue((eCHANGEVALUE)lParam);

  000f3	8b 45 14	 mov	 eax, DWORD PTR _lParam$[ebp]
  000f6	50		 push	 eax
  000f7	8d 4d e8	 lea	 ecx, DWORD PTR _pSetting$139648[ebp]
  000fa	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCSimpleSetting@@@@QBEPAVCSimpleSetting@@XZ ; SmartPtr<CSimpleSetting>::operator->
  000ff	8b c8		 mov	 ecx, eax
  00101	e8 00 00 00 00	 call	 ?ChangeValue@CSimpleSetting@@QAEXW4eCHANGEVALUE@@@Z ; CSimpleSetting::ChangeValue

; 148  :             *bHandled = TRUE;

  00106	8b 4d 18	 mov	 ecx, DWORD PTR _bHandled$[ebp]
  00109	c7 01 01 00 00
	00		 mov	 DWORD PTR [ecx], 1
$LN4@HandleSett@2:

; 149  :         }
; 150  :     }

  0010f	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00116	8d 4d e8	 lea	 ecx, DWORD PTR _pSetting$139648[ebp]
  00119	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCSimpleSetting@@@@QAE@XZ ; SmartPtr<CSimpleSetting>::~SmartPtr<CSimpleSetting>
$LN6@HandleSett@2:

; 151  :     return RetVal;

  0011e	8b 45 f0	 mov	 eax, DWORD PTR _RetVal$[ebp]
$LN8@HandleSett@2:

; 152  : }

  00121	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00124	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0012b	59		 pop	 ecx
  0012c	8b e5		 mov	 esp, ebp
  0012e	5d		 pop	 ebp
  0012f	c2 14 00	 ret	 20			; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?HandleSettingsMessage@CSettingsHolder@@QAEJPAUHWND__@@IIJPAH@Z$0:
  00000	8d 4d e8	 lea	 ecx, DWORD PTR _pSetting$139648[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCSimpleSetting@@@@QAE@XZ ; SmartPtr<CSimpleSetting>::~SmartPtr<CSimpleSetting>
__ehhandler$?HandleSettingsMessage@CSettingsHolder@@QAEJPAUHWND__@@IIJPAH@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a e4	 mov	 ecx, DWORD PTR [edx-28]
  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$?HandleSettingsMessage@CSettingsHolder@@QAEJPAUHWND__@@IIJPAH@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?HandleSettingsMessage@CSettingsHolder@@QAEJPAUHWND__@@IIJPAH@Z ENDP ; CSettingsHolder::HandleSettingsMessage
END
