364 lines
10 KiB
Plaintext
364 lines
10 KiB
Plaintext
; 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
|