2024-06-23 17:36:53 +08:00

294 lines
7.9 KiB
Plaintext

; 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