SmsCenter/Release_Unicode/AutoBuffer.cod

364 lines
10 KiB
Plaintext
Raw Normal View History

2025-01-03 16:47:25 +08:00
; 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