; Listing generated by Microsoft (R) Optimizing Compiler Version 12.00.9044.0 TITLE C:\Users\Administrator\Desktop\GHOST\Client\Include\BmpToAvi.cpp .386P include listing.inc if @Version gt 510 .model FLAT else _TEXT SEGMENT PARA USE32 PUBLIC 'CODE' _TEXT ENDS _DATA SEGMENT DWORD USE32 PUBLIC 'DATA' _DATA ENDS CONST SEGMENT DWORD USE32 PUBLIC 'CONST' CONST ENDS _BSS SEGMENT PARA USE32 PUBLIC 'BSS' _BSS ENDS $$SYMBOLS SEGMENT BYTE USE32 'DEBSYM' $$SYMBOLS ENDS _TLS SEGMENT DWORD USE32 PUBLIC 'TLS' _TLS ENDS rdata$r SEGMENT DWORD USE32 PUBLIC 'CONST' rdata$r ENDS ; COMDAT _IsEqualGUID _TEXT SEGMENT PARA USE32 PUBLIC 'CODE' _TEXT ENDS ; COMDAT _== _TEXT SEGMENT PARA USE32 PUBLIC 'CODE' _TEXT ENDS ; COMDAT ??_GCBmpToAvi@@UAEPAXI@Z _TEXT SEGMENT PARA USE32 PUBLIC 'CODE' _TEXT ENDS ; COMDAT ??_R4CBmpToAvi@@6B@ rdata$r SEGMENT DWORD USE32 PUBLIC 'CONST' rdata$r ENDS ; COMDAT ??_R3CBmpToAvi@@8 rdata$r SEGMENT DWORD USE32 PUBLIC 'CONST' rdata$r ENDS ; COMDAT ??_R1A@?0A@A@CBmpToAvi@@8 rdata$r SEGMENT DWORD USE32 PUBLIC 'CONST' rdata$r ENDS ; COMDAT ??_R2CBmpToAvi@@8 rdata$r SEGMENT DWORD USE32 PUBLIC 'CONST' rdata$r ENDS ; COMDAT ??_R0?AVCBmpToAvi@@@8 _DATA SEGMENT DWORD USE32 PUBLIC 'DATA' _DATA ENDS ; COMDAT ??_7CBmpToAvi@@6B@ CONST SEGMENT DWORD USE32 PUBLIC 'CONST' CONST ENDS FLAT GROUP _DATA, CONST, _BSS, rdata$r ASSUME CS: FLAT, DS: FLAT, SS: FLAT endif INCLUDELIB LIBCMT INCLUDELIB OLDNAMES PUBLIC ?m_si@CBmpToAvi@@0U_AVISTREAMINFOA@@A ; CBmpToAvi::m_si _BSS SEGMENT ?m_si@CBmpToAvi@@0U_AVISTREAMINFOA@@A DB 08cH DUP (?) ; CBmpToAvi::m_si _BSS ENDS PUBLIC ??0CBmpToAvi@@QAE@XZ ; CBmpToAvi::CBmpToAvi PUBLIC ??_7CBmpToAvi@@6B@ ; CBmpToAvi::`vftable' PUBLIC ??_GCBmpToAvi@@UAEPAXI@Z ; CBmpToAvi::`scalar deleting destructor' PUBLIC ??_ECBmpToAvi@@UAEPAXI@Z ; CBmpToAvi::`vector deleting destructor' PUBLIC ??_R4CBmpToAvi@@6B@ ; CBmpToAvi::`RTTI Complete Object Locator' PUBLIC ??_R0?AVCBmpToAvi@@@8 ; CBmpToAvi `RTTI Type Descriptor' PUBLIC ??_R3CBmpToAvi@@8 ; CBmpToAvi::`RTTI Class Hierarchy Descriptor' PUBLIC ??_R2CBmpToAvi@@8 ; CBmpToAvi::`RTTI Base Class Array' PUBLIC ??_R1A@?0A@A@CBmpToAvi@@8 ; CBmpToAvi::`RTTI Base Class Descriptor at (0,-1,0,0)' EXTRN ??_7type_info@@6B@:DWORD ; type_info::`vftable' EXTRN _AVIFileInit@0:NEAR ; COMDAT ??_7CBmpToAvi@@6B@ ; File C:\Users\Administrator\Desktop\GHOST\Client\Include\BmpToAvi.cpp CONST SEGMENT ??_7CBmpToAvi@@6B@ DD FLAT:??_R4CBmpToAvi@@6B@ ; CBmpToAvi::`vftable' DD FLAT:??_ECBmpToAvi@@UAEPAXI@Z CONST ENDS ; COMDAT ??_R4CBmpToAvi@@6B@ rdata$r SEGMENT ??_R4CBmpToAvi@@6B@ DD 00H ; CBmpToAvi::`RTTI Complete Object Locator' DD 00H DD 00H DD FLAT:??_R0?AVCBmpToAvi@@@8 DD FLAT:??_R3CBmpToAvi@@8 rdata$r ENDS ; COMDAT ??_R0?AVCBmpToAvi@@@8 _DATA SEGMENT ??_R0?AVCBmpToAvi@@@8 DD FLAT:??_7type_info@@6B@ ; CBmpToAvi `RTTI Type Descriptor' DD 00H DB '.?AVCBmpToAvi@@', 00H _DATA ENDS ; COMDAT ??_R3CBmpToAvi@@8 rdata$r SEGMENT ??_R3CBmpToAvi@@8 DD 00H ; CBmpToAvi::`RTTI Class Hierarchy Descriptor' DD 00H DD 01H DD FLAT:??_R2CBmpToAvi@@8 rdata$r ENDS ; COMDAT ??_R2CBmpToAvi@@8 rdata$r SEGMENT ??_R2CBmpToAvi@@8 DD FLAT:??_R1A@?0A@A@CBmpToAvi@@8 ; CBmpToAvi::`RTTI Base Class Array' rdata$r ENDS ; COMDAT ??_R1A@?0A@A@CBmpToAvi@@8 rdata$r SEGMENT ??_R1A@?0A@A@CBmpToAvi@@8 DD FLAT:??_R0?AVCBmpToAvi@@@8 ; CBmpToAvi::`RTTI Base Class Descriptor at (0,-1,0,0)' DD 00H DD 00H DD 0ffffffffH DD 00H DD 00H ; Function compile flags: /Ogsawpy rdata$r ENDS _TEXT SEGMENT ??0CBmpToAvi@@QAE@XZ PROC NEAR ; CBmpToAvi::CBmpToAvi ; _this$ = ecx ; Line 15 00000 56 push esi 00001 8b f1 mov esi, ecx ; Line 16 00003 83 66 04 00 and DWORD PTR [esi+4], 0 ; Line 17 00007 83 66 08 00 and DWORD PTR [esi+8], 0 0000b c7 06 00 00 00 00 mov DWORD PTR [esi], OFFSET FLAT:??_7CBmpToAvi@@6B@ ; CBmpToAvi::`vftable' ; Line 18 00011 e8 00 00 00 00 call _AVIFileInit@0 ; Line 19 00016 8b c6 mov eax, esi 00018 5e pop esi 00019 c3 ret 0 ??0CBmpToAvi@@QAE@XZ ENDP ; CBmpToAvi::CBmpToAvi _TEXT ENDS PUBLIC ??1CBmpToAvi@@UAE@XZ ; CBmpToAvi::~CBmpToAvi EXTRN ??3@YAXPAX@Z:NEAR ; operator delete ; Function compile flags: /Ogsawpy ; COMDAT ??_GCBmpToAvi@@UAEPAXI@Z _TEXT SEGMENT ___flags$ = 8 ??_GCBmpToAvi@@UAEPAXI@Z PROC NEAR ; CBmpToAvi::`scalar deleting destructor', COMDAT ; _this$ = ecx 00000 56 push esi 00001 8b f1 mov esi, ecx 00003 e8 00 00 00 00 call ??1CBmpToAvi@@UAE@XZ ; CBmpToAvi::~CBmpToAvi 00008 f6 44 24 08 01 test BYTE PTR ___flags$[esp], 1 0000d 74 07 je SHORT $L80470 0000f 56 push esi 00010 e8 00 00 00 00 call ??3@YAXPAX@Z ; operator delete 00015 59 pop ecx $L80470: 00016 8b c6 mov eax, esi 00018 5e pop esi 00019 c2 04 00 ret 4 ??_GCBmpToAvi@@UAEPAXI@Z ENDP ; CBmpToAvi::`scalar deleting destructor' _TEXT ENDS EXTRN _AVIFileExit@0:NEAR ; Function compile flags: /Ogsawpy _TEXT SEGMENT ??1CBmpToAvi@@UAE@XZ PROC NEAR ; CBmpToAvi::~CBmpToAvi ; _this$ = ecx ; Line 22 0001a c7 01 00 00 00 00 mov DWORD PTR [ecx], OFFSET FLAT:??_7CBmpToAvi@@6B@ ; CBmpToAvi::`vftable' ; Line 24 00020 e9 00 00 00 00 jmp _AVIFileExit@0 ??1CBmpToAvi@@UAE@XZ ENDP ; CBmpToAvi::~CBmpToAvi _TEXT ENDS PUBLIC ?Open@CBmpToAvi@@QAE_NPBDPAUtagBITMAPINFO@@@Z ; CBmpToAvi::Open EXTRN _AVIFileOpenA@16:NEAR EXTRN _AVIFileCreateStreamA@12:NEAR EXTRN _AVIStreamSetFormat@16:NEAR EXTRN __imp__SetRect@20:NEAR ; Function compile flags: /Ogsawpy _TEXT SEGMENT _szFile$ = 8 _lpbmi$ = 12 ?Open@CBmpToAvi@@QAE_NPBDPAUtagBITMAPINFO@@@Z PROC NEAR ; CBmpToAvi::Open ; _this$ = ecx ; Line 28 00025 53 push ebx 00026 56 push esi ; Line 29 00027 33 f6 xor esi, esi 00029 57 push edi 0002a 39 74 24 10 cmp DWORD PTR _szFile$[esp+8], esi 0002e 8b f9 mov edi, ecx 00030 75 07 jne SHORT $L80479 $L80530: ; Line 30 00032 32 c0 xor al, al 00034 e9 82 00 00 00 jmp $L80491 $L80479: ; Line 33 00039 56 push esi 0003a 68 01 10 00 00 push 4097 ; 00001001H 0003f ff 74 24 18 push DWORD PTR _szFile$[esp+16] 00043 8d 5f 04 lea ebx, DWORD PTR [edi+4] 00046 89 77 0c mov DWORD PTR [edi+12], esi 00049 53 push ebx 0004a e8 00 00 00 00 call _AVIFileOpenA@16 0004f 85 c0 test eax, eax ; Line 34 00051 75 df jne SHORT $L80530 ; Line 37 00053 89 35 04 00 00 00 mov DWORD PTR ?m_si@CBmpToAvi@@0U_AVISTREAMINFOA@@A+4, esi ; Line 40 00059 8b 74 24 14 mov esi, DWORD PTR _lpbmi$[esp+8] 0005d c7 05 00 00 00 00 76 69 64 73 mov DWORD PTR ?m_si@CBmpToAvi@@0U_AVISTREAMINFOA@@A, 1935960438 ; 73646976H 00067 c7 05 14 00 00 00 01 00 00 00 mov DWORD PTR ?m_si@CBmpToAvi@@0U_AVISTREAMINFOA@@A+20, 1 00071 ff 76 08 push DWORD PTR [esi+8] 00074 c7 05 18 00 00 00 05 00 00 00 mov DWORD PTR ?m_si@CBmpToAvi@@0U_AVISTREAMINFOA@@A+24, 5 0007e ff 76 04 push DWORD PTR [esi+4] 00081 50 push eax 00082 50 push eax 00083 68 34 00 00 00 push OFFSET FLAT:?m_si@CBmpToAvi@@0U_AVISTREAMINFOA@@A+52 00088 ff 15 00 00 00 00 call DWORD PTR __imp__SetRect@20 ; Line 41 0008e 8b 46 14 mov eax, DWORD PTR [esi+20] ; Line 44 00091 83 c7 08 add edi, 8 00094 68 00 00 00 00 push OFFSET FLAT:?m_si@CBmpToAvi@@0U_AVISTREAMINFOA@@A ; CBmpToAvi::m_si 00099 57 push edi 0009a ff 33 push DWORD PTR [ebx] 0009c a3 28 00 00 00 mov DWORD PTR ?m_si@CBmpToAvi@@0U_AVISTREAMINFOA@@A+40, eax 000a1 e8 00 00 00 00 call _AVIFileCreateStreamA@12 000a6 85 c0 test eax, eax ; Line 45 000a8 75 88 jne SHORT $L80530 ; Line 48 000aa 6a 2c push 44 ; 0000002cH 000ac 56 push esi 000ad 50 push eax 000ae ff 37 push DWORD PTR [edi] 000b0 e8 00 00 00 00 call _AVIStreamSetFormat@16 000b5 f7 d8 neg eax 000b7 1a c0 sbb al, al 000b9 fe c0 inc al $L80491: 000bb 5f pop edi 000bc 5e pop esi 000bd 5b pop ebx ; Line 52 000be c2 08 00 ret 8 ?Open@CBmpToAvi@@QAE_NPBDPAUtagBITMAPINFO@@@Z ENDP ; CBmpToAvi::Open _TEXT ENDS PUBLIC ?Write@CBmpToAvi@@QAE_NPAX@Z ; CBmpToAvi::Write EXTRN _AVIStreamWrite@32:NEAR ; Function compile flags: /Ogsawpy _TEXT SEGMENT _lpBuffer$ = 8 ?Write@CBmpToAvi@@QAE_NPAX@Z PROC NEAR ; CBmpToAvi::Write ; _this$ = ecx ; Line 56 000c1 83 79 04 00 cmp DWORD PTR [ecx+4], 0 000c5 74 32 je SHORT $L80497 000c7 8b 51 08 mov edx, DWORD PTR [ecx+8] 000ca 85 d2 test edx, edx 000cc 74 2b je SHORT $L80497 000ce 57 push edi ; Line 59 000cf 8b 41 0c mov eax, DWORD PTR [ecx+12] 000d2 6a 00 push 0 000d4 6a 00 push 0 000d6 6a 10 push 16 ; 00000010H 000d8 8d 78 01 lea edi, DWORD PTR [eax+1] 000db ff 35 28 00 00 00 push DWORD PTR ?m_si@CBmpToAvi@@0U_AVISTREAMINFOA@@A+40 000e1 89 79 0c mov DWORD PTR [ecx+12], edi 000e4 ff 74 24 18 push DWORD PTR _lpBuffer$[esp+16] 000e8 6a 01 push 1 000ea 50 push eax 000eb 52 push edx 000ec e8 00 00 00 00 call _AVIStreamWrite@32 000f1 f7 d8 neg eax 000f3 1b c0 sbb eax, eax 000f5 5f pop edi 000f6 40 inc eax 000f7 eb 02 jmp SHORT $L80495 $L80497: ; Line 57 000f9 32 c0 xor al, al $L80495: ; Line 60 000fb c2 04 00 ret 4 ?Write@CBmpToAvi@@QAE_NPAX@Z ENDP ; CBmpToAvi::Write _TEXT ENDS PUBLIC ?Close@CBmpToAvi@@QAEXXZ ; CBmpToAvi::Close EXTRN _AVIFileRelease@4:NEAR EXTRN _AVIStreamRelease@4:NEAR ; Function compile flags: /Ogsawpy _TEXT SEGMENT ?Close@CBmpToAvi@@QAEXXZ PROC NEAR ; CBmpToAvi::Close ; _this$ = ecx ; Line 64 000fe 56 push esi 000ff 8b f1 mov esi, ecx ; Line 65 00101 8b 46 08 mov eax, DWORD PTR [esi+8] 00104 85 c0 test eax, eax 00106 74 0a je SHORT $L80501 ; Line 67 00108 50 push eax 00109 e8 00 00 00 00 call _AVIStreamRelease@4 ; Line 68 0010e 83 66 08 00 and DWORD PTR [esi+8], 0 $L80501: ; Line 70 00112 8b 46 04 mov eax, DWORD PTR [esi+4] 00115 85 c0 test eax, eax 00117 74 0a je SHORT $L80502 ; Line 72 00119 50 push eax 0011a e8 00 00 00 00 call _AVIFileRelease@4 ; Line 73 0011f 83 66 04 00 and DWORD PTR [esi+4], 0 $L80502: 00123 5e pop esi ; Line 75 00124 c3 ret 0 ?Close@CBmpToAvi@@QAEXXZ ENDP ; CBmpToAvi::Close _TEXT ENDS END