; 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$??0CAutoBuffer@@QEAA@J@Z DD imagerel $LN5 DD imagerel $LN5+114 DD imagerel $unwind$??0CAutoBuffer@@QEAA@J@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??1CAutoBuffer@@QEAA@XZ DD imagerel $LN4 DD imagerel $LN4+65 DD imagerel $unwind$??1CAutoBuffer@@QEAA@XZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?SetZero@CAutoBuffer@@QEAAXXZ DD imagerel $LN4 DD imagerel $LN4+52 DD imagerel $unwind$?SetZero@CAutoBuffer@@QEAAXXZ pdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?SetZero@CAutoBuffer@@QEAAXXZ DD 010901H DD 04209H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??1CAutoBuffer@@QEAA@XZ DD 010901H DD 06209H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??0CAutoBuffer@@QEAA@J@Z DD 010d01H DD 0620dH xdata ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp ; COMDAT ?SetZero@CAutoBuffer@@QEAAXXZ _TEXT SEGMENT this$ = 48 ?SetZero@CAutoBuffer@@QEAAXXZ PROC ; CAutoBuffer::SetZero, COMDAT ; 40 : { $LN4: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 48 83 ec 28 sub rsp, 40 ; 00000028H ; 41 : if (m_pBuffer) 00009 48 8b 44 24 30 mov rax, QWORD PTR this$[rsp] 0000e 48 83 38 00 cmp QWORD PTR [rax], 0 00012 74 1b je SHORT $LN2@SetZero ; 42 : { ; 43 : memset(m_pBuffer , 0 , m_lBufferSize ); 00014 48 8b 44 24 30 mov rax, QWORD PTR this$[rsp] 00019 48 63 40 08 movsxd rax, DWORD PTR [rax+8] 0001d 4c 8b c0 mov r8, rax 00020 33 d2 xor edx, edx 00022 48 8b 44 24 30 mov rax, QWORD PTR this$[rsp] 00027 48 8b 08 mov rcx, QWORD PTR [rax] 0002a e8 00 00 00 00 call memset $LN2@SetZero: ; 44 : } ; 45 : } 0002f 48 83 c4 28 add rsp, 40 ; 00000028H 00033 c3 ret 0 ?SetZero@CAutoBuffer@@QEAAXXZ ENDP ; CAutoBuffer::SetZero _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp ; COMDAT ?GetBufferSize@CAutoBuffer@@QEAAJXZ _TEXT SEGMENT this$ = 8 ?GetBufferSize@CAutoBuffer@@QEAAJXZ PROC ; CAutoBuffer::GetBufferSize, COMDAT ; 35 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx ; 36 : return m_lBufferSize; 00005 48 8b 44 24 08 mov rax, QWORD PTR this$[rsp] 0000a 8b 40 08 mov eax, DWORD PTR [rax+8] ; 37 : } 0000d c3 ret 0 ?GetBufferSize@CAutoBuffer@@QEAAJXZ ENDP ; CAutoBuffer::GetBufferSize _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp ; COMDAT ?GetBuffer@CAutoBuffer@@QEAAPEADXZ _TEXT SEGMENT this$ = 8 ?GetBuffer@CAutoBuffer@@QEAAPEADXZ PROC ; CAutoBuffer::GetBuffer, COMDAT ; 30 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx ; 31 : return m_pBuffer; 00005 48 8b 44 24 08 mov rax, QWORD PTR this$[rsp] 0000a 48 8b 00 mov rax, QWORD PTR [rax] ; 32 : } 0000d c3 ret 0 ?GetBuffer@CAutoBuffer@@QEAAPEADXZ ENDP ; CAutoBuffer::GetBuffer _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp ; COMDAT ??1CAutoBuffer@@QEAA@XZ _TEXT SEGMENT $T1 = 32 this$ = 64 ??1CAutoBuffer@@QEAA@XZ PROC ; CAutoBuffer::~CAutoBuffer, COMDAT ; 21 : { $LN4: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 48 83 ec 38 sub rsp, 56 ; 00000038H ; 22 : if ( m_pBuffer ) 00009 48 8b 44 24 40 mov rax, QWORD PTR this$[rsp] 0000e 48 83 38 00 cmp QWORD PTR [rax], 0 00012 74 28 je SHORT $LN2@CAutoBuffe ; 23 : { ; 24 : delete m_pBuffer; 00014 48 8b 44 24 40 mov rax, QWORD PTR this$[rsp] 00019 48 8b 00 mov rax, QWORD PTR [rax] 0001c 48 89 44 24 20 mov QWORD PTR $T1[rsp], rax 00021 ba 01 00 00 00 mov edx, 1 00026 48 8b 4c 24 20 mov rcx, QWORD PTR $T1[rsp] 0002b e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete ; 25 : m_pBuffer = NULL; 00030 48 8b 44 24 40 mov rax, QWORD PTR this$[rsp] 00035 48 c7 00 00 00 00 00 mov QWORD PTR [rax], 0 $LN2@CAutoBuffe: ; 26 : } ; 27 : } 0003c 48 83 c4 38 add rsp, 56 ; 00000038H 00040 c3 ret 0 ??1CAutoBuffer@@QEAA@XZ ENDP ; CAutoBuffer::~CAutoBuffer _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp ; COMDAT ??0CAutoBuffer@@QEAA@J@Z _TEXT SEGMENT $T1 = 32 this$ = 64 lSize$ = 72 ??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 48 83 ec 38 sub rsp, 56 ; 00000038H ; 7 : m_pBuffer = new char[lSize]; 0000d 48 63 44 24 48 movsxd rax, DWORD PTR lSize$[rsp] 00012 48 8b c8 mov rcx, rax 00015 e8 00 00 00 00 call ??_U@YAPEAX_K@Z ; operator new[] 0001a 48 89 44 24 20 mov QWORD PTR $T1[rsp], rax 0001f 48 8b 44 24 40 mov rax, QWORD PTR this$[rsp] 00024 48 8b 4c 24 20 mov rcx, QWORD PTR $T1[rsp] 00029 48 89 08 mov QWORD PTR [rax], rcx ; 8 : if ( m_pBuffer ) 0002c 48 8b 44 24 40 mov rax, QWORD PTR this$[rsp] 00031 48 83 38 00 cmp QWORD PTR [rax], 0 00035 74 25 je SHORT $LN2@CAutoBuffe ; 9 : { ; 10 : memset(m_pBuffer , 0 , lSize ); 00037 48 63 44 24 48 movsxd rax, DWORD PTR lSize$[rsp] 0003c 4c 8b c0 mov r8, rax 0003f 33 d2 xor edx, edx 00041 48 8b 44 24 40 mov rax, QWORD PTR this$[rsp] 00046 48 8b 08 mov rcx, QWORD PTR [rax] 00049 e8 00 00 00 00 call memset ; 11 : m_lBufferSize = lSize; 0004e 48 8b 44 24 40 mov rax, QWORD PTR this$[rsp] 00053 8b 4c 24 48 mov ecx, DWORD PTR lSize$[rsp] 00057 89 48 08 mov DWORD PTR [rax+8], ecx ; 12 : } 0005a eb 0c jmp SHORT $LN3@CAutoBuffe $LN2@CAutoBuffe: ; 13 : else ; 14 : { ; 15 : m_lBufferSize = 0; 0005c 48 8b 44 24 40 mov rax, QWORD PTR this$[rsp] 00061 c7 40 08 00 00 00 00 mov DWORD PTR [rax+8], 0 $LN3@CAutoBuffe: ; 16 : } ; 17 : } 00068 48 8b 44 24 40 mov rax, QWORD PTR this$[rsp] 0006d 48 83 c4 38 add rsp, 56 ; 00000038H 00071 c3 ret 0 ??0CAutoBuffer@@QEAA@J@Z ENDP ; CAutoBuffer::CAutoBuffer _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp ; COMDAT ?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z _TEXT SEGMENT __formal$ = 8 __formal$ = 16 __formal$ = 24 ?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT 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 c3 ret 0 ?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z ENDP ; __empty_global_delete _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp ; COMDAT ?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z _TEXT SEGMENT __formal$ = 8 __formal$ = 16 ?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT 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 c3 ret 0 ?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z ENDP ; __empty_global_delete _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp ; COMDAT ?__empty_global_delete@@YAXPEAX_K@Z _TEXT SEGMENT __formal$ = 8 __formal$ = 16 ?__empty_global_delete@@YAXPEAX_K@Z PROC ; __empty_global_delete, COMDAT 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 c3 ret 0 ?__empty_global_delete@@YAXPEAX_K@Z ENDP ; __empty_global_delete _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\AutoBuffer\AutoBuffer.cpp ; COMDAT ?__empty_global_delete@@YAXPEAX@Z _TEXT SEGMENT __formal$ = 8 ?__empty_global_delete@@YAXPEAX@Z PROC ; __empty_global_delete, COMDAT 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 c3 ret 0 ?__empty_global_delete@@YAXPEAX@Z ENDP ; __empty_global_delete _TEXT ENDS END