; 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