; Listing generated by Microsoft (R) Optimizing Compiler Version 12.00.9044.0 TITLE C:\Users\Administrator\Desktop\GHOST\Client\Include\XvidEnc.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 DWORD USE32 PUBLIC 'BSS' _BSS ENDS $$SYMBOLS SEGMENT BYTE USE32 'DEBSYM' $$SYMBOLS ENDS _TLS SEGMENT DWORD USE32 PUBLIC 'TLS' _TLS ENDS ; COMDAT _IsEqualGUID _TEXT SEGMENT PARA USE32 PUBLIC 'CODE' _TEXT ENDS ; COMDAT _== _TEXT SEGMENT PARA USE32 PUBLIC 'CODE' _TEXT ENDS FLAT GROUP _DATA, CONST, _BSS ASSUME CS: FLAT, DS: FLAT, SS: FLAT endif INCLUDELIB LIBCMT INCLUDELIB OLDNAMES PUBLIC ??0CXvidEnc@@QAE@HIH@Z ; CXvidEnc::CXvidEnc EXTRN _xvid_global:NEAR ; Function compile flags: /Ogsawpy _TEXT SEGMENT _version$ = 8 _cpu_flags$ = 12 _debug$ = 16 ??0CXvidEnc@@QAE@HIH@Z PROC NEAR ; CXvidEnc::CXvidEnc ; _this$ = ecx ; File C:\Users\Administrator\Desktop\GHOST\Client\Include\XvidEnc.cpp ; Line 11 00000 53 push ebx 00001 56 push esi 00002 8b f1 mov esi, ecx ; Line 12 00004 8b 4c 24 0c mov ecx, DWORD PTR _version$[esp+4] ; Line 13 00008 33 db xor ebx, ebx ; Line 15 0000a 8d 46 0c lea eax, DWORD PTR [esi+12] 0000d 89 4e 04 mov DWORD PTR [esi+4], ecx ; Line 18 00010 53 push ebx 00011 50 push eax 00012 89 08 mov DWORD PTR [eax], ecx 00014 8b 4c 24 18 mov ecx, DWORD PTR _cpu_flags$[esp+12] 00018 89 4e 10 mov DWORD PTR [esi+16], ecx 0001b 8b 4c 24 1c mov ecx, DWORD PTR _debug$[esp+12] 0001f 53 push ebx 00020 53 push ebx 00021 88 1e mov BYTE PTR [esi], bl 00023 89 4e 14 mov DWORD PTR [esi+20], ecx 00026 e8 00 00 00 00 call _xvid_global 0002b 83 c4 10 add esp, 16 ; 00000010H 0002e 85 c0 test eax, eax 00030 7d 05 jge SHORT $L75517 ; Line 19 00032 88 5e 08 mov BYTE PTR [esi+8], bl ; Line 20 00035 eb 04 jmp SHORT $L75518 $L75517: ; Line 21 00037 c6 46 08 01 mov BYTE PTR [esi+8], 1 $L75518: ; Line 22 0003b 8b c6 mov eax, esi 0003d 5e pop esi 0003e 5b pop ebx 0003f c2 0c 00 ret 12 ; 0000000cH ??0CXvidEnc@@QAE@HIH@Z ENDP ; CXvidEnc::CXvidEnc _TEXT ENDS PUBLIC ??1CXvidEnc@@QAE@XZ ; CXvidEnc::~CXvidEnc ; Function compile flags: /Ogsawpy _TEXT SEGMENT ??1CXvidEnc@@QAE@XZ PROC NEAR ; CXvidEnc::~CXvidEnc ; _this$ = ecx ; Line 27 00042 c3 ret 0 ??1CXvidEnc@@QAE@XZ ENDP ; CXvidEnc::~CXvidEnc _TEXT ENDS PUBLIC ?Open@CXvidEnc@@QAE_NHHHH@Z ; CXvidEnc::Open EXTRN _xvid_encore:NEAR ; Function compile flags: /Ogsawpy _TEXT SEGMENT _width$ = 8 _height$ = 12 _fps$ = 16 _cbit$ = 20 _csp$ = -4 ?Open@CXvidEnc@@QAE_NHHHH@Z PROC NEAR ; CXvidEnc::Open ; _this$ = ecx ; Line 30 00043 55 push ebp 00044 8b ec mov ebp, esp 00046 51 push ecx 00047 53 push ebx 00048 56 push esi 00049 8b f1 mov esi, ecx 0004b 57 push edi ; Line 31 0004c 80 7e 08 00 cmp BYTE PTR [esi+8], 0 00050 74 72 je SHORT $L75563 ; Line 32 00052 80 3e 00 cmp BYTE PTR [esi], 0 00055 75 6d jne SHORT $L75563 ; Line 36 00057 83 7d 14 10 cmp DWORD PTR _cbit$[ebp], 16 ; 00000010H 0005b 74 1e je SHORT $L75536 0005d 83 7d 14 18 cmp DWORD PTR _cbit$[ebp], 24 ; 00000018H 00061 74 0f je SHORT $L75537 00063 83 7d 14 20 cmp DWORD PTR _cbit$[ebp], 32 ; 00000020H ; Line 47 00067 75 5b jne SHORT $L75563 ; Line 44 00069 c7 45 fc 40 00 00 80 mov DWORD PTR _csp$[ebp], -2147483584 ; 80000040H ; Line 45 00070 eb 10 jmp SHORT $L75533 $L75537: ; Line 41 00072 c7 45 fc 00 02 00 80 mov DWORD PTR _csp$[ebp], -2147483136 ; 80000200H ; Line 42 00079 eb 07 jmp SHORT $L75533 $L75536: ; Line 38 0007b c7 45 fc 00 04 00 80 mov DWORD PTR _csp$[ebp], -2147482624 ; 80000400H $L75533: ; Line 51 00082 8d 56 18 lea edx, DWORD PTR [esi+24] 00085 6a 1a push 26 ; 0000001aH 00087 59 pop ecx 00088 33 c0 xor eax, eax 0008a 8b fa mov edi, edx ; Line 53 0008c 6a 08 push 8 0008e f3 ab rep stosd 00090 8b 46 04 mov eax, DWORD PTR [esi+4] 00093 5b pop ebx 00094 89 02 mov DWORD PTR [edx], eax ; Line 54 00096 8b 45 08 mov eax, DWORD PTR _width$[ebp] 00099 89 46 20 mov DWORD PTR [esi+32], eax ; Line 55 0009c 8b 45 0c mov eax, DWORD PTR _height$[ebp] 0009f 89 46 24 mov DWORD PTR [esi+36], eax ; Line 57 000a2 8b 45 10 mov eax, DWORD PTR _fps$[ebp] 000a5 89 46 48 mov DWORD PTR [esi+72], eax ; Line 58 000a8 33 c0 xor eax, eax 000aa 50 push eax 000ab 52 push edx 000ac 50 push eax 000ad 50 push eax 000ae 89 5e 1c mov DWORD PTR [esi+28], ebx 000b1 c7 46 44 01 00 00 00 mov DWORD PTR [esi+68], 1 000b8 e8 00 00 00 00 call _xvid_encore 000bd 83 c4 10 add esp, 16 ; 00000010H 000c0 85 c0 test eax, eax 000c2 7d 04 jge SHORT $L75540 $L75563: ; Line 59 000c4 32 c0 xor al, al 000c6 eb 3e jmp SHORT $L75528 $L75540: ; Line 62 000c8 8d 96 80 00 00 00 lea edx, DWORD PTR [esi+128] 000ce 6a 19 push 25 ; 00000019H 000d0 59 pop ecx 000d1 33 c0 xor eax, eax 000d3 8b fa mov edi, edx ; Line 65 000d5 6a 04 push 4 000d7 f3 ab rep stosd 000d9 8b 46 04 mov eax, DWORD PTR [esi+4] 000dc 59 pop ecx 000dd 89 02 mov DWORD PTR [edx], eax 000df 8b 45 fc mov eax, DWORD PTR _csp$[ebp] 000e2 89 86 a8 00 00 00 mov DWORD PTR [esi+168], eax 000e8 8b 46 20 mov eax, DWORD PTR [esi+32] 000eb 0f af 45 14 imul eax, DWORD PTR _cbit$[ebp] 000ef 99 cdq 000f0 f7 fb idiv ebx ; Line 67 000f2 c6 06 01 mov BYTE PTR [esi], 1 000f5 83 c0 03 add eax, 3 000f8 99 cdq 000f9 f7 f9 idiv ecx 000fb c1 e0 02 shl eax, 2 000fe 89 86 bc 00 00 00 mov DWORD PTR [esi+188], eax ; Line 68 00104 b0 01 mov al, 1 $L75528: 00106 5f pop edi 00107 5e pop esi 00108 5b pop ebx ; Line 69 00109 c9 leave 0010a c2 10 00 ret 16 ; 00000010H ?Open@CXvidEnc@@QAE_NHHHH@Z ENDP ; CXvidEnc::Open _TEXT ENDS PUBLIC ?Encode@CXvidEnc@@QAEHPAX0H@Z ; CXvidEnc::Encode ; Function compile flags: /Ogsawpy _TEXT SEGMENT _input$ = 8 _output$ = 12 _outlen$ = 16 ?Encode@CXvidEnc@@QAEHPAX0H@Z PROC NEAR ; CXvidEnc::Encode ; _this$ = ecx ; Line 73 0010d 80 39 00 cmp BYTE PTR [ecx], 0 00110 75 05 jne SHORT $L75547 00112 83 c8 ff or eax, -1 00115 eb 34 jmp SHORT $L75546 $L75547: ; Line 75 00117 8b 44 24 04 mov eax, DWORD PTR _input$[esp-4] ; Line 79 0011b 6a 00 push 0 0011d 89 81 ac 00 00 00 mov DWORD PTR [ecx+172], eax 00123 8b 44 24 0c mov eax, DWORD PTR _output$[esp] 00127 89 81 d8 00 00 00 mov DWORD PTR [ecx+216], eax 0012d 8b 44 24 10 mov eax, DWORD PTR _outlen$[esp] 00131 89 81 dc 00 00 00 mov DWORD PTR [ecx+220], eax 00137 8d 81 80 00 00 00 lea eax, DWORD PTR [ecx+128] 0013d 50 push eax 0013e 6a 02 push 2 00140 ff 71 74 push DWORD PTR [ecx+116] 00143 e8 00 00 00 00 call _xvid_encore 00148 83 c4 10 add esp, 16 ; 00000010H $L75546: ; Line 80 0014b c2 0c 00 ret 12 ; 0000000cH ?Encode@CXvidEnc@@QAEHPAX0H@Z ENDP ; CXvidEnc::Encode _TEXT ENDS PUBLIC ?Close@CXvidEnc@@QAE_NXZ ; CXvidEnc::Close ; Function compile flags: /Ogsawpy _TEXT SEGMENT ?Close@CXvidEnc@@QAE_NXZ PROC NEAR ; CXvidEnc::Close ; _this$ = ecx ; Line 83 0014e 56 push esi 0014f 8b f1 mov esi, ecx ; Line 84 00151 80 3e 00 cmp BYTE PTR [esi], 0 00154 74 1c je SHORT $L75551 00156 6a 00 push 0 00158 6a 00 push 0 0015a 6a 01 push 1 0015c ff 76 74 push DWORD PTR [esi+116] 0015f e8 00 00 00 00 call _xvid_encore 00164 83 c4 10 add esp, 16 ; 00000010H 00167 85 c0 test eax, eax 00169 7c 07 jl SHORT $L75551 ; Line 86 0016b 80 26 00 and BYTE PTR [esi], 0 ; Line 87 0016e b0 01 mov al, 1 00170 5e pop esi ; Line 90 00171 c3 ret 0 $L75551: ; Line 89 00172 32 c0 xor al, al 00174 5e pop esi ; Line 90 00175 c3 ret 0 ?Close@CXvidEnc@@QAE_NXZ ENDP ; CXvidEnc::Close _TEXT ENDS END