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

include listing.inc

INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES

PUBLIC	?__empty_global_delete@@YAXPEAX@Z		; __empty_global_delete
PUBLIC	?__empty_global_delete@@YAXPEAX_K@Z		; __empty_global_delete
PUBLIC	?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z ; __empty_global_delete
PUBLIC	?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z ; __empty_global_delete
PUBLIC	??0CAutoBuffer@@QEAA@J@Z			; CAutoBuffer::CAutoBuffer
PUBLIC	??1CAutoBuffer@@QEAA@XZ				; CAutoBuffer::~CAutoBuffer
PUBLIC	?GetBuffer@CAutoBuffer@@QEAAPEADXZ		; CAutoBuffer::GetBuffer
PUBLIC	?GetBufferSize@CAutoBuffer@@QEAAJXZ		; CAutoBuffer::GetBufferSize
PUBLIC	?SetZero@CAutoBuffer@@QEAAXXZ			; CAutoBuffer::SetZero
EXTRN	??3@YAXPEAX_K@Z:PROC				; operator delete
EXTRN	??_U@YAPEAX_K@Z:PROC				; operator new[]
EXTRN	memset:PROC
;	COMDAT pdata
pdata	SEGMENT
$pdata$?__empty_global_delete@@YAXPEAX@Z DD imagerel $LN3
	DD	imagerel $LN3+19
	DD	imagerel $unwind$?__empty_global_delete@@YAXPEAX@Z
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$?__empty_global_delete@@YAXPEAX_K@Z DD imagerel $LN3
	DD	imagerel $LN3+24
	DD	imagerel $unwind$?__empty_global_delete@@YAXPEAX_K@Z
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DD imagerel $LN3
	DD	imagerel $LN3+24
	DD	imagerel $unwind$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DD imagerel $LN3
	DD	imagerel $LN3+29
	DD	imagerel $unwind$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$??0CAutoBuffer@@QEAA@J@Z DD imagerel $LN5
	DD	imagerel $LN5+110
	DD	imagerel $unwind$??0CAutoBuffer@@QEAA@J@Z
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$??1CAutoBuffer@@QEAA@XZ DD imagerel $LN4
	DD	imagerel $LN4+67
	DD	imagerel $unwind$??1CAutoBuffer@@QEAA@XZ
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$?GetBuffer@CAutoBuffer@@QEAAPEADXZ DD imagerel $LN3
	DD	imagerel $LN3+26
	DD	imagerel $unwind$?GetBuffer@CAutoBuffer@@QEAAPEADXZ
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$?GetBufferSize@CAutoBuffer@@QEAAJXZ DD imagerel $LN3
	DD	imagerel $LN3+26
	DD	imagerel $unwind$?GetBufferSize@CAutoBuffer@@QEAAJXZ
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$?SetZero@CAutoBuffer@@QEAAXXZ DD imagerel $LN4
	DD	imagerel $LN4+56
	DD	imagerel $unwind$?SetZero@CAutoBuffer@@QEAAXXZ
pdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$?SetZero@CAutoBuffer@@QEAAXXZ DD 025030f01H
	DD	0b20a230fH
	DD	05006H
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$?GetBufferSize@CAutoBuffer@@QEAAJXZ DD 05030d01H
	DD	0720a030dH
	DD	05006H
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$?GetBuffer@CAutoBuffer@@QEAAPEADXZ DD 05030d01H
	DD	0720a030dH
	DD	05006H
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$??1CAutoBuffer@@QEAA@XZ DD 025030f01H
	DD	0d20a230fH
	DD	05006H
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$??0CAutoBuffer@@QEAA@J@Z DD 025031301H
	DD	0d20e2313H
	DD	0500aH
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DD 05031701H
	DD	072140317H
	DD	05010H
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DD 05031201H
	DD	0720f0312H
	DD	0500bH
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$?__empty_global_delete@@YAXPEAX_K@Z DD 05031201H
	DD	0720f0312H
	DD	0500bH
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$?__empty_global_delete@@YAXPEAX@Z DD 05030d01H
	DD	0720a030dH
	DD	05006H
xdata	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp
;	COMDAT ?SetZero@CAutoBuffer@@QEAAXXZ
_TEXT	SEGMENT
this$ = 80
?SetZero@CAutoBuffer@@QEAAXXZ PROC			; CAutoBuffer::SetZero, COMDAT

; 40   : {

$LN4:
  00000	48 89 4c 24 08	 mov	 QWORD PTR [rsp+8], rcx
  00005	55		 push	 rbp
  00006	48 83 ec 60	 sub	 rsp, 96			; 00000060H
  0000a	48 8d 6c 24 20	 lea	 rbp, QWORD PTR [rsp+32]

; 41   : 	if (m_pBuffer)

  0000f	48 8b 45 50	 mov	 rax, QWORD PTR this$[rbp]
  00013	48 83 38 00	 cmp	 QWORD PTR [rax], 0
  00017	74 19		 je	 SHORT $LN2@SetZero

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

  00019	48 8b 45 50	 mov	 rax, QWORD PTR this$[rbp]
  0001d	48 63 40 08	 movsxd	 rax, DWORD PTR [rax+8]
  00021	4c 8b c0	 mov	 r8, rax
  00024	33 d2		 xor	 edx, edx
  00026	48 8b 45 50	 mov	 rax, QWORD PTR this$[rbp]
  0002a	48 8b 08	 mov	 rcx, QWORD PTR [rax]
  0002d	e8 00 00 00 00	 call	 memset
$LN2@SetZero:

; 44   : 	}
; 45   : }

  00032	48 8d 65 40	 lea	 rsp, QWORD PTR [rbp+64]
  00036	5d		 pop	 rbp
  00037	c3		 ret	 0
?SetZero@CAutoBuffer@@QEAAXXZ ENDP			; CAutoBuffer::SetZero
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp
;	COMDAT ?GetBufferSize@CAutoBuffer@@QEAAJXZ
_TEXT	SEGMENT
this$ = 80
?GetBufferSize@CAutoBuffer@@QEAAJXZ PROC		; CAutoBuffer::GetBufferSize, COMDAT

; 35   : {

$LN3:
  00000	48 89 4c 24 08	 mov	 QWORD PTR [rsp+8], rcx
  00005	55		 push	 rbp
  00006	48 83 ec 40	 sub	 rsp, 64			; 00000040H
  0000a	48 8b ec	 mov	 rbp, rsp

; 36   : 	return m_lBufferSize;

  0000d	48 8b 45 50	 mov	 rax, QWORD PTR this$[rbp]
  00011	8b 40 08	 mov	 eax, DWORD PTR [rax+8]

; 37   : }

  00014	48 8d 65 40	 lea	 rsp, QWORD PTR [rbp+64]
  00018	5d		 pop	 rbp
  00019	c3		 ret	 0
?GetBufferSize@CAutoBuffer@@QEAAJXZ ENDP		; CAutoBuffer::GetBufferSize
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp
;	COMDAT ?GetBuffer@CAutoBuffer@@QEAAPEADXZ
_TEXT	SEGMENT
this$ = 80
?GetBuffer@CAutoBuffer@@QEAAPEADXZ PROC			; CAutoBuffer::GetBuffer, COMDAT

; 30   : {

$LN3:
  00000	48 89 4c 24 08	 mov	 QWORD PTR [rsp+8], rcx
  00005	55		 push	 rbp
  00006	48 83 ec 40	 sub	 rsp, 64			; 00000040H
  0000a	48 8b ec	 mov	 rbp, rsp

; 31   : 	return m_pBuffer;

  0000d	48 8b 45 50	 mov	 rax, QWORD PTR this$[rbp]
  00011	48 8b 00	 mov	 rax, QWORD PTR [rax]

; 32   : }

  00014	48 8d 65 40	 lea	 rsp, QWORD PTR [rbp+64]
  00018	5d		 pop	 rbp
  00019	c3		 ret	 0
?GetBuffer@CAutoBuffer@@QEAAPEADXZ ENDP			; CAutoBuffer::GetBuffer
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp
;	COMDAT ??1CAutoBuffer@@QEAA@XZ
_TEXT	SEGMENT
$T1 = 64
this$ = 96
??1CAutoBuffer@@QEAA@XZ PROC				; CAutoBuffer::~CAutoBuffer, COMDAT

; 21   : {

$LN4:
  00000	48 89 4c 24 08	 mov	 QWORD PTR [rsp+8], rcx
  00005	55		 push	 rbp
  00006	48 83 ec 70	 sub	 rsp, 112		; 00000070H
  0000a	48 8d 6c 24 20	 lea	 rbp, QWORD PTR [rsp+32]

; 22   : 	if ( m_pBuffer )

  0000f	48 8b 45 60	 mov	 rax, QWORD PTR this$[rbp]
  00013	48 83 38 00	 cmp	 QWORD PTR [rax], 0
  00017	74 24		 je	 SHORT $LN2@CAutoBuffe

; 23   : 	{
; 24   : 		delete m_pBuffer;

  00019	48 8b 45 60	 mov	 rax, QWORD PTR this$[rbp]
  0001d	48 8b 00	 mov	 rax, QWORD PTR [rax]
  00020	48 89 45 40	 mov	 QWORD PTR $T1[rbp], rax
  00024	ba 01 00 00 00	 mov	 edx, 1
  00029	48 8b 4d 40	 mov	 rcx, QWORD PTR $T1[rbp]
  0002d	e8 00 00 00 00	 call	 ??3@YAXPEAX_K@Z		; operator delete

; 25   : 		m_pBuffer = NULL;

  00032	48 8b 45 60	 mov	 rax, QWORD PTR this$[rbp]
  00036	48 c7 00 00 00
	00 00		 mov	 QWORD PTR [rax], 0
$LN2@CAutoBuffe:

; 26   : 	}
; 27   : }

  0003d	48 8d 65 50	 lea	 rsp, QWORD PTR [rbp+80]
  00041	5d		 pop	 rbp
  00042	c3		 ret	 0
??1CAutoBuffer@@QEAA@XZ ENDP				; CAutoBuffer::~CAutoBuffer
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp
;	COMDAT ??0CAutoBuffer@@QEAA@J@Z
_TEXT	SEGMENT
$T1 = 64
this$ = 96
lSize$ = 104
??0CAutoBuffer@@QEAA@J@Z PROC				; CAutoBuffer::CAutoBuffer, COMDAT

; 6    : {

$LN5:
  00000	89 54 24 10	 mov	 DWORD PTR [rsp+16], edx
  00004	48 89 4c 24 08	 mov	 QWORD PTR [rsp+8], rcx
  00009	55		 push	 rbp
  0000a	48 83 ec 70	 sub	 rsp, 112		; 00000070H
  0000e	48 8d 6c 24 20	 lea	 rbp, QWORD PTR [rsp+32]

; 7    : 	m_pBuffer = new char[lSize];

  00013	48 63 45 68	 movsxd	 rax, DWORD PTR lSize$[rbp]
  00017	48 8b c8	 mov	 rcx, rax
  0001a	e8 00 00 00 00	 call	 ??_U@YAPEAX_K@Z		; operator new[]
  0001f	48 89 45 40	 mov	 QWORD PTR $T1[rbp], rax
  00023	48 8b 45 60	 mov	 rax, QWORD PTR this$[rbp]
  00027	48 8b 4d 40	 mov	 rcx, QWORD PTR $T1[rbp]
  0002b	48 89 08	 mov	 QWORD PTR [rax], rcx

; 8    : 	if ( m_pBuffer )

  0002e	48 8b 45 60	 mov	 rax, QWORD PTR this$[rbp]
  00032	48 83 38 00	 cmp	 QWORD PTR [rax], 0
  00036	74 21		 je	 SHORT $LN2@CAutoBuffe

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

  00038	48 63 45 68	 movsxd	 rax, DWORD PTR lSize$[rbp]
  0003c	4c 8b c0	 mov	 r8, rax
  0003f	33 d2		 xor	 edx, edx
  00041	48 8b 45 60	 mov	 rax, QWORD PTR this$[rbp]
  00045	48 8b 08	 mov	 rcx, QWORD PTR [rax]
  00048	e8 00 00 00 00	 call	 memset

; 11   : 		m_lBufferSize = lSize;

  0004d	48 8b 45 60	 mov	 rax, QWORD PTR this$[rbp]
  00051	8b 4d 68	 mov	 ecx, DWORD PTR lSize$[rbp]
  00054	89 48 08	 mov	 DWORD PTR [rax+8], ecx

; 12   : 	}

  00057	eb 0b		 jmp	 SHORT $LN3@CAutoBuffe
$LN2@CAutoBuffe:

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

  00059	48 8b 45 60	 mov	 rax, QWORD PTR this$[rbp]
  0005d	c7 40 08 00 00
	00 00		 mov	 DWORD PTR [rax+8], 0
$LN3@CAutoBuffe:

; 16   : 	}
; 17   : }

  00064	48 8b 45 60	 mov	 rax, QWORD PTR this$[rbp]
  00068	48 8d 65 50	 lea	 rsp, QWORD PTR [rbp+80]
  0006c	5d		 pop	 rbp
  0006d	c3		 ret	 0
??0CAutoBuffer@@QEAA@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@@YAXPEAX_KW4align_val_t@std@@@Z
_TEXT	SEGMENT
__formal$ = 80
__formal$ = 88
__formal$ = 96
?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT

$LN3:
  00000	4c 89 44 24 18	 mov	 QWORD PTR [rsp+24], r8
  00005	48 89 54 24 10	 mov	 QWORD PTR [rsp+16], rdx
  0000a	48 89 4c 24 08	 mov	 QWORD PTR [rsp+8], rcx
  0000f	55		 push	 rbp
  00010	48 83 ec 40	 sub	 rsp, 64			; 00000040H
  00014	48 8b ec	 mov	 rbp, rsp
  00017	48 8d 65 40	 lea	 rsp, QWORD PTR [rbp+64]
  0001b	5d		 pop	 rbp
  0001c	c3		 ret	 0
?__empty_global_delete@@YAXPEAX_KW4align_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@@YAXPEAXW4align_val_t@std@@@Z
_TEXT	SEGMENT
__formal$ = 80
__formal$ = 88
?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT

$LN3:
  00000	48 89 54 24 10	 mov	 QWORD PTR [rsp+16], rdx
  00005	48 89 4c 24 08	 mov	 QWORD PTR [rsp+8], rcx
  0000a	55		 push	 rbp
  0000b	48 83 ec 40	 sub	 rsp, 64			; 00000040H
  0000f	48 8b ec	 mov	 rbp, rsp
  00012	48 8d 65 40	 lea	 rsp, QWORD PTR [rbp+64]
  00016	5d		 pop	 rbp
  00017	c3		 ret	 0
?__empty_global_delete@@YAXPEAXW4align_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@@YAXPEAX_K@Z
_TEXT	SEGMENT
__formal$ = 80
__formal$ = 88
?__empty_global_delete@@YAXPEAX_K@Z PROC		; __empty_global_delete, COMDAT

$LN3:
  00000	48 89 54 24 10	 mov	 QWORD PTR [rsp+16], rdx
  00005	48 89 4c 24 08	 mov	 QWORD PTR [rsp+8], rcx
  0000a	55		 push	 rbp
  0000b	48 83 ec 40	 sub	 rsp, 64			; 00000040H
  0000f	48 8b ec	 mov	 rbp, rsp
  00012	48 8d 65 40	 lea	 rsp, QWORD PTR [rbp+64]
  00016	5d		 pop	 rbp
  00017	c3		 ret	 0
?__empty_global_delete@@YAXPEAX_K@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@@YAXPEAX@Z
_TEXT	SEGMENT
__formal$ = 80
?__empty_global_delete@@YAXPEAX@Z PROC			; __empty_global_delete, COMDAT

$LN3:
  00000	48 89 4c 24 08	 mov	 QWORD PTR [rsp+8], rcx
  00005	55		 push	 rbp
  00006	48 83 ec 40	 sub	 rsp, 64			; 00000040H
  0000a	48 8b ec	 mov	 rbp, rsp
  0000d	48 8d 65 40	 lea	 rsp, QWORD PTR [rbp+64]
  00011	5d		 pop	 rbp
  00012	c3		 ret	 0
?__empty_global_delete@@YAXPEAX@Z ENDP			; __empty_global_delete
_TEXT	ENDS
END