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

	TITLE	D:\Works\Corpsms_2010\SmsCenter\Release_Unicode\AutoBuffer.obj
	.686P
	.XMM
	include listing.inc
	.model	flat

INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES

PUBLIC	?__empty_global_delete@@YAXPAX@Z		; __empty_global_delete
PUBLIC	?__empty_global_delete@@YAXPAXI@Z		; __empty_global_delete
PUBLIC	?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z ; __empty_global_delete
PUBLIC	?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z ; __empty_global_delete
PUBLIC	??0CAutoBuffer@@QAE@J@Z				; CAutoBuffer::CAutoBuffer
PUBLIC	??1CAutoBuffer@@QAE@XZ				; CAutoBuffer::~CAutoBuffer
PUBLIC	?GetBuffer@CAutoBuffer@@QAEPADXZ		; CAutoBuffer::GetBuffer
PUBLIC	?GetBufferSize@CAutoBuffer@@QAEJXZ		; CAutoBuffer::GetBufferSize
PUBLIC	?SetZero@CAutoBuffer@@QAEXXZ			; CAutoBuffer::SetZero
EXTRN	??3@YAXPAXI@Z:PROC				; operator delete
EXTRN	??_U@YAPAXI@Z:PROC				; operator new[]
EXTRN	_memset:PROC
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp
;	COMDAT ?SetZero@CAutoBuffer@@QAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?SetZero@CAutoBuffer@@QAEXXZ PROC			; CAutoBuffer::SetZero, COMDAT
; _this$ = ecx

; 40   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 44	 sub	 esp, 68			; 00000044H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 41   : 	if (m_pBuffer)

  0000c	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000f	83 38 00	 cmp	 DWORD PTR [eax], 0
  00012	74 17		 je	 SHORT $LN1@SetZero

; 42   : 	{
; 43   : 		memset(m_pBuffer , 0 , m_lBufferSize );

  00014	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00017	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  0001a	51		 push	 ecx
  0001b	6a 00		 push	 0
  0001d	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00020	8b 02		 mov	 eax, DWORD PTR [edx]
  00022	50		 push	 eax
  00023	e8 00 00 00 00	 call	 _memset
  00028	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN1@SetZero:

; 44   : 	}
; 45   : }

  0002b	5f		 pop	 edi
  0002c	5e		 pop	 esi
  0002d	5b		 pop	 ebx
  0002e	8b e5		 mov	 esp, ebp
  00030	5d		 pop	 ebp
  00031	c3		 ret	 0
?SetZero@CAutoBuffer@@QAEXXZ ENDP			; CAutoBuffer::SetZero
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp
;	COMDAT ?GetBufferSize@CAutoBuffer@@QAEJXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetBufferSize@CAutoBuffer@@QAEJXZ PROC			; CAutoBuffer::GetBufferSize, COMDAT
; _this$ = ecx

; 35   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 44	 sub	 esp, 68			; 00000044H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 36   : 	return m_lBufferSize;

  0000c	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000f	8b 40 04	 mov	 eax, DWORD PTR [eax+4]

; 37   : }

  00012	5f		 pop	 edi
  00013	5e		 pop	 esi
  00014	5b		 pop	 ebx
  00015	8b e5		 mov	 esp, ebp
  00017	5d		 pop	 ebp
  00018	c3		 ret	 0
?GetBufferSize@CAutoBuffer@@QAEJXZ ENDP			; CAutoBuffer::GetBufferSize
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp
;	COMDAT ?GetBuffer@CAutoBuffer@@QAEPADXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetBuffer@CAutoBuffer@@QAEPADXZ PROC			; CAutoBuffer::GetBuffer, COMDAT
; _this$ = ecx

; 30   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 44	 sub	 esp, 68			; 00000044H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 31   : 	return m_pBuffer;

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

; 32   : }

  00011	5f		 pop	 edi
  00012	5e		 pop	 esi
  00013	5b		 pop	 ebx
  00014	8b e5		 mov	 esp, ebp
  00016	5d		 pop	 ebp
  00017	c3		 ret	 0
?GetBuffer@CAutoBuffer@@QAEPADXZ ENDP			; CAutoBuffer::GetBuffer
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp
;	COMDAT ??1CAutoBuffer@@QAE@XZ
_TEXT	SEGMENT
$T1 = -72						; size = 4
_this$ = -4						; size = 4
??1CAutoBuffer@@QAE@XZ PROC				; CAutoBuffer::~CAutoBuffer, COMDAT
; _this$ = ecx

; 21   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 48	 sub	 esp, 72			; 00000048H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 22   : 	if ( m_pBuffer )

  0000c	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000f	83 38 00	 cmp	 DWORD PTR [eax], 0
  00012	74 1f		 je	 SHORT $LN1@CAutoBuffe

; 23   : 	{
; 24   : 		delete m_pBuffer;

  00014	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00017	8b 08		 mov	 ecx, DWORD PTR [eax]
  00019	89 4d b8	 mov	 DWORD PTR $T1[ebp], ecx
  0001c	6a 01		 push	 1
  0001e	8b 55 b8	 mov	 edx, DWORD PTR $T1[ebp]
  00021	52		 push	 edx
  00022	e8 00 00 00 00	 call	 ??3@YAXPAXI@Z		; operator delete
  00027	83 c4 08	 add	 esp, 8

; 25   : 		m_pBuffer = NULL;

  0002a	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0002d	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0
$LN1@CAutoBuffe:

; 26   : 	}
; 27   : }

  00033	5f		 pop	 edi
  00034	5e		 pop	 esi
  00035	5b		 pop	 ebx
  00036	8b e5		 mov	 esp, ebp
  00038	5d		 pop	 ebp
  00039	c3		 ret	 0
??1CAutoBuffer@@QAE@XZ ENDP				; CAutoBuffer::~CAutoBuffer
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp
;	COMDAT ??0CAutoBuffer@@QAE@J@Z
_TEXT	SEGMENT
$T1 = -72						; size = 4
_this$ = -4						; size = 4
_lSize$ = 8						; size = 4
??0CAutoBuffer@@QAE@J@Z PROC				; CAutoBuffer::CAutoBuffer, COMDAT
; _this$ = ecx

; 6    : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 48	 sub	 esp, 72			; 00000048H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 7    : 	m_pBuffer = new char[lSize];

  0000c	8b 45 08	 mov	 eax, DWORD PTR _lSize$[ebp]
  0000f	50		 push	 eax
  00010	e8 00 00 00 00	 call	 ??_U@YAPAXI@Z		; operator new[]
  00015	83 c4 04	 add	 esp, 4
  00018	89 45 b8	 mov	 DWORD PTR $T1[ebp], eax
  0001b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001e	8b 55 b8	 mov	 edx, DWORD PTR $T1[ebp]
  00021	89 11		 mov	 DWORD PTR [ecx], edx

; 8    : 	if ( m_pBuffer )

  00023	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00026	83 38 00	 cmp	 DWORD PTR [eax], 0
  00029	74 1f		 je	 SHORT $LN2@CAutoBuffe

; 9    : 	{
; 10   : 		memset(m_pBuffer , 0 , lSize );

  0002b	8b 45 08	 mov	 eax, DWORD PTR _lSize$[ebp]
  0002e	50		 push	 eax
  0002f	6a 00		 push	 0
  00031	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00034	8b 11		 mov	 edx, DWORD PTR [ecx]
  00036	52		 push	 edx
  00037	e8 00 00 00 00	 call	 _memset
  0003c	83 c4 0c	 add	 esp, 12			; 0000000cH

; 11   : 		m_lBufferSize = lSize;

  0003f	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00042	8b 4d 08	 mov	 ecx, DWORD PTR _lSize$[ebp]
  00045	89 48 04	 mov	 DWORD PTR [eax+4], ecx

; 12   : 	}

  00048	eb 0a		 jmp	 SHORT $LN1@CAutoBuffe
$LN2@CAutoBuffe:

; 13   : 	else
; 14   : 	{
; 15   : 		m_lBufferSize = 0;

  0004a	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0004d	c7 40 04 00 00
	00 00		 mov	 DWORD PTR [eax+4], 0
$LN1@CAutoBuffe:

; 16   : 	}
; 17   : }

  00054	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00057	5f		 pop	 edi
  00058	5e		 pop	 esi
  00059	5b		 pop	 ebx
  0005a	8b e5		 mov	 esp, ebp
  0005c	5d		 pop	 ebp
  0005d	c2 04 00	 ret	 4
??0CAutoBuffer@@QAE@J@Z ENDP				; CAutoBuffer::CAutoBuffer
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp
;	COMDAT ?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 40	 sub	 esp, 64			; 00000040H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	5f		 pop	 edi
  0000a	5e		 pop	 esi
  0000b	5b		 pop	 ebx
  0000c	8b e5		 mov	 esp, ebp
  0000e	5d		 pop	 ebp
  0000f	c3		 ret	 0
?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z ENDP ; __empty_global_delete
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp
;	COMDAT ?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 40	 sub	 esp, 64			; 00000040H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	5f		 pop	 edi
  0000a	5e		 pop	 esi
  0000b	5b		 pop	 ebx
  0000c	8b e5		 mov	 esp, ebp
  0000e	5d		 pop	 ebp
  0000f	c3		 ret	 0
?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z ENDP ; __empty_global_delete
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp
;	COMDAT ?__empty_global_delete@@YAXPAXI@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
?__empty_global_delete@@YAXPAXI@Z PROC			; __empty_global_delete, COMDAT

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 40	 sub	 esp, 64			; 00000040H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	5f		 pop	 edi
  0000a	5e		 pop	 esi
  0000b	5b		 pop	 ebx
  0000c	8b e5		 mov	 esp, ebp
  0000e	5d		 pop	 ebp
  0000f	c3		 ret	 0
?__empty_global_delete@@YAXPAXI@Z ENDP			; __empty_global_delete
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp
;	COMDAT ?__empty_global_delete@@YAXPAX@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
?__empty_global_delete@@YAXPAX@Z PROC			; __empty_global_delete, COMDAT

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 40	 sub	 esp, 64			; 00000040H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	5f		 pop	 edi
  0000a	5e		 pop	 esi
  0000b	5b		 pop	 ebx
  0000c	8b e5		 mov	 esp, ebp
  0000e	5d		 pop	 ebp
  0000f	c3		 ret	 0
?__empty_global_delete@@YAXPAX@Z ENDP			; __empty_global_delete
_TEXT	ENDS
END