gps/GPSResources/tcpmpVerOld/ffmpeg/Pocket PC 2003 (ARMV4)/Release/tscc.asm

1152 lines
27 KiB
NASM
Executable File

; Listing generated by Microsoft (R) Optimizing Compiler Version 14.00.50727
TTL g:\MyPrograme\VS2005\GPSVersion2\tcpmp\ffmpeg\libavcodec\tscc.c
CODE32
AREA |.drectve|, DRECTVE
DCB "-defaultlib:LIBCMT "
DCB "-defaultlib:OLDNAMES "
EXPORT |tscc_decoder| [ DATA ]
AREA |.data|, DATA
|$SG3055| DCB "Camtasia warning: no End-of-picture code", 0xa, 0x0
% 2
|$SG3077| DCB "get_buffer() failed", 0xa, 0x0
% 3
|$SG3079| DCB "Inflate reset error: %d", 0xa, 0x0
% 3
|$SG3081| DCB "Inflate error: %d", 0xa, 0x0
% 1
|$SG3106| DCB "Camtasia error: unknown depth %i bpp", 0xa, 0x0
% 2
|$SG3110| DCB "Can't allocate decompression buffer.", 0xa, 0x0
% 2
|$SG3112| DCB "1.2.1", 0x0
% 2
|$SG3114| DCB "Inflate init error: %d", 0xa, 0x0
|$SG3122| DCB "camtasia", 0x0
% 3
|tscc_decoder| DCD |$SG3122|
DCD 0x0
DCD 0x39
DCD 0x118
DCD |decode_init|
DCD 0x0
DCD |decode_end|
DCD |decode_frame|
DCD 0x2
% 16
IMPORT |memcpy|
IMPORT |inflate|
IMPORT |inflateReset|
IMPORT |av_log|
IMPORT |memcpy|
AREA |.pdata|, PDATA
|$T3133| DCD |$LN12@decode_fra|
DCD 0x4000ae04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|decode_frame| PROC
; File g:\myprograme\vs2005\gpsversion2\tcpmp\ffmpeg\libavcodec\tscc.c
; Line 171
|$LN12@decode_fra|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0x24
|$M3130|
; Line 172
ldr r3, [sp, #0x2C]
add r3, r3, #0x88
ldr r3, [r3]
str r3, [sp, #0x10]
; Line 173
ldr r3, [sp, #0x38]
str r3, [sp]
; Line 178
ldr r3, [sp, #0x3C]
str r3, [sp, #8]
; Line 180
ldr r3, [sp, #0x10]
add r3, r3, #8
ldr r3, [r3]
cmp r3, #0
beq |$LN7@decode_fra|
; Line 181
ldr r3, [sp, #0x10]
add r1, r3, #8
ldr r0, [sp, #0x2C]
ldr r3, [sp, #0x2C]
add r3, r3, #0x42, 30
ldr r3, [r3]
mov lr, pc
mov pc, r3
|$LN7@decode_fra|
; Line 183
ldr r3, [sp, #0x10]
add r2, r3, #0x58
mov r3, #1
str r3, [r2]
; Line 184
ldr r3, [sp, #0x10]
add r2, r3, #0xBC
mov r3, #1
str r3, [r2]
; Line 185
ldr r3, [sp, #0x10]
add r1, r3, #8
ldr r0, [sp, #0x2C]
ldr r3, [sp, #0x2C]
add r3, r3, #0x41, 30
ldr r3, [r3]
mov lr, pc
mov pc, r3
str r0, [sp, #0x18]
ldr r3, [sp, #0x18]
cmp r3, #0
bge |$LN6@decode_fra|
; Line 186
ldr r2, [pc, #0x1F8]
mov r1, #0
ldr r0, [sp, #0x2C]
bl av_log
; Line 187
mvn r3, #0
str r3, [sp, #0x14]
b |$LN8@decode_fra|
|$LN6@decode_fra|
; Line 190
ldr r3, [sp, #0x10]
add r3, r3, #8
ldr r3, [r3]
str r3, [sp, #0xC]
; Line 193
ldr r3, [sp, #0x10]
add r0, r3, #0xE0
bl inflateReset
str r0, [sp, #0x1C]
ldr r3, [sp, #0x1C]
str r3, [sp, #4]
; Line 194
ldr r3, [sp, #4]
cmp r3, #0
beq |$LN5@decode_fra|
; Line 195
ldr r3, [sp, #4]
ldr r2, [pc, #0x1A0]
mov r1, #0
ldr r0, [sp, #0x2C]
bl av_log
; Line 196
mvn r3, #0
str r3, [sp, #0x14]
b |$LN8@decode_fra|
|$LN5@decode_fra|
; Line 198
ldr r3, [sp, #0x10]
add r2, r3, #0xE0
ldr r3, [sp]
str r3, [r2]
; Line 199
ldr r3, [sp, #0x10]
add r2, r3, #0xE4
ldr r3, [sp, #8]
str r3, [r2]
; Line 200
ldr r3, [sp, #0x10]
add r1, r3, #0xD8
ldr r3, [sp, #0x10]
add r2, r3, #0xEC
ldr r3, [r1]
str r3, [r2]
; Line 201
ldr r3, [sp, #0x10]
add r1, r3, #0xD4
ldr r3, [sp, #0x10]
add r2, r3, #0xF0
ldr r3, [r1]
str r3, [r2]
; Line 202
mov r1, #4
ldr r3, [sp, #0x10]
add r0, r3, #0xE0
bl inflate
str r0, [sp, #0x20]
ldr r3, [sp, #0x20]
str r3, [sp, #4]
; Line 204
ldr r3, [sp, #4]
cmp r3, #0
beq |$LN4@decode_fra|
ldr r3, [sp, #4]
cmp r3, #1
beq |$LN4@decode_fra|
ldr r3, [sp, #4]
cmn r3, #3
beq |$LN4@decode_fra|
; Line 205
ldr r3, [sp, #4]
ldr r2, [pc, #0xEC]
mov r1, #0
ldr r0, [sp, #0x2C]
bl av_log
; Line 206
mvn r3, #0
str r3, [sp, #0x14]
b |$LN8@decode_fra|
|$LN4@decode_fra|
; Line 210
ldr r3, [sp, #4]
cmn r3, #3
beq |$LN3@decode_fra|
; Line 211
ldr r3, [sp, #0x10]
add r3, r3, #0xF0
ldr r1, [r3]
ldr r0, [sp, #0x10]
bl decode_rle
|$LN3@decode_fra|
; Line 214
ldr r3, [sp, #0x10]
ldr r3, [r3]
add r3, r3, #0x34
ldr r3, [r3]
cmp r3, #0xE
bne |$LN2@decode_fra|
; Line 215
mov r2, #1, 22
ldr r3, [sp, #0x10]
ldr r3, [r3]
add r3, r3, #0x92, 30
ldr r3, [r3]
add r1, r3, #4
ldr r3, [sp, #0x10]
add r3, r3, #0xC
ldr r0, [r3]
bl memcpy
; Line 216
ldr r3, [sp, #0x10]
ldr r3, [r3]
add r3, r3, #0x92, 30
ldr r3, [r3]
ldr r3, [r3]
cmp r3, #0
beq |$LN1@decode_fra|
; Line 217
ldr r3, [sp, #0x10]
add r2, r3, #0xB8
mov r3, #1
str r3, [r2]
; Line 218
ldr r3, [sp, #0x10]
ldr r3, [r3]
add r3, r3, #0x92, 30
ldr r2, [r3]
mov r3, #0
str r3, [r2]
|$LN1@decode_fra|
|$LN2@decode_fra|
; Line 227
ldr r2, [sp, #0x34]
mov r3, #0xC8
str r3, [r2]
; Line 228
ldr r3, [sp, #0x10]
add r1, r3, #8
ldr r0, [sp, #0x30]
mov r2, #0xC8
bl memcpy
; Line 231
ldr r3, [sp, #0x3C]
str r3, [sp, #0x14]
|$LN8@decode_fra|
; Line 232
ldr r0, [sp, #0x14]
add sp, sp, #0x24
ldmia sp, {sp, pc}
|$LN13@decode_fra|
DCD |$SG3081|
DCD |$SG3079|
DCD |$SG3077|
|$M3131|
ENDP ; |decode_frame|
IMPORT |__imp___rt_sdiv|
AREA |.pdata|, PDATA
|$T3150| DCD |$LN41@decode_rle|
DCD 0x4001b304
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|decode_rle| PROC
; Line 77
|$LN41@decode_rle|
mov r12, sp
stmdb sp!, {r0, r1}
stmdb sp!, {r4, r12, lr}
sub sp, sp, #0x3C
|$M3147|
; Line 78
ldr r3, [sp, #0x48]
add r3, r3, #0xD8
ldr r3, [r3]
str r3, [sp, #0x18]
; Line 80
ldr r3, [sp, #0x48]
add r3, r3, #0xDC
ldr r3, [r3]
str r3, [sp, #8]
mov r3, #0
str r3, [sp, #0x1C]
; Line 82
ldr r3, [sp, #0x48]
add r0, r3, #8
ldr r3, [sp, #0x48]
add r3, r3, #0xDC
ldr r3, [r3]
sub r1, r3, #1
ldr r3, [sp, #0x48]
add r3, r3, #0x18
ldr r3, [r3]
mul r2, r1, r3
ldr r3, [r0]
add r3, r3, r2
str r3, [sp, #0xC]
; Line 83
ldr r3, [sp, #0x48]
add r0, r3, #8
ldr r3, [sp, #0x48]
add r2, r3, #0xDC
ldr r3, [sp, #0x48]
add r3, r3, #0x18
ldr r1, [r2]
ldr r3, [r3]
mul r2, r1, r3
ldr r3, [r0]
add r3, r3, r2
str r3, [sp]
|$LN38@decode_rle|
|$LN37@decode_rle|
|$LN36@decode_rle|
|$LN35@decode_rle|
|$LN32@decode_rle|
; Line 84
ldr r3, [sp, #0x48]
add r3, r3, #0xD8
ldr r2, [r3]
ldr r3, [sp, #0x4C]
add r2, r2, r3
ldr r3, [sp, #0x18]
cmp r3, r2
bcs |$LN31@decode_rle|
; Line 85
ldr r3, [sp, #0x18]
ldrb r3, [r3]
str r3, [sp, #0x14]
ldr r3, [sp, #0x18]
add r3, r3, #1
str r3, [sp, #0x18]
; Line 86
ldr r3, [sp, #0x14]
cmp r3, #0
bne |$LN30@decode_rle|
; Line 87
ldr r3, [sp, #0x18]
ldrb r3, [r3]
str r3, [sp, #0x10]
ldr r3, [sp, #0x18]
add r3, r3, #1
str r3, [sp, #0x18]
; Line 88
ldr r3, [sp, #0x10]
cmp r3, #0
bne |$LN29@decode_rle|
; Line 89
ldr r3, [sp, #8]
sub r3, r3, #1
str r3, [sp, #8]
ldr r3, [sp, #0x48]
add r0, r3, #8
ldr r3, [sp, #0x48]
add r3, r3, #0x18
ldr r1, [sp, #8]
ldr r3, [r3]
mul r2, r1, r3
ldr r3, [r0]
add r3, r3, r2
str r3, [sp, #0xC]
; Line 90
ldr r3, [sp, #8]
cmp r3, #0
bge |$LN28@decode_rle|
; Line 91
mvn r3, #0
str r3, [sp, #0x30]
b |$LN33@decode_rle|
|$LN28@decode_rle|
; Line 92
mov r3, #0
str r3, [sp, #0x1C]
b |$LN32@decode_rle|
; Line 93
b |$LN27@decode_rle|
|$LN29@decode_rle|
; Line 94
ldr r3, [sp, #0x10]
cmp r3, #1
bne |$LN26@decode_rle|
; Line 95
mov r3, #0
str r3, [sp, #0x30]
b |$LN33@decode_rle|
b |$LN25@decode_rle|
|$LN26@decode_rle|
; Line 96
ldr r3, [sp, #0x10]
cmp r3, #2
bne |$LN24@decode_rle|
; Line 97
ldr r3, [sp, #0x18]
ldrb r3, [r3]
str r3, [sp, #0x14]
ldr r3, [sp, #0x18]
add r3, r3, #1
str r3, [sp, #0x18]
; Line 98
ldr r3, [sp, #0x18]
ldrb r3, [r3]
str r3, [sp, #0x10]
ldr r3, [sp, #0x18]
add r3, r3, #1
str r3, [sp, #0x18]
; Line 99
ldr r2, [sp, #8]
ldr r3, [sp, #0x10]
sub r3, r2, r3
str r3, [sp, #8]
; Line 100
ldr r3, [sp, #8]
cmp r3, #0
bge |$LN23@decode_rle|
; Line 101
mvn r3, #0
str r3, [sp, #0x30]
b |$LN33@decode_rle|
|$LN23@decode_rle|
; Line 102
ldr r2, [sp, #0x1C]
ldr r3, [sp, #0x14]
add r3, r2, r3
str r3, [sp, #0x1C]
; Line 103
ldr r3, [sp, #0x48]
add r0, r3, #8
ldr r3, [sp, #0x48]
add r3, r3, #0x18
ldr r1, [sp, #8]
ldr r3, [r3]
mul r2, r1, r3
ldr r3, [r0]
add r4, r3, r2
ldr r3, [sp, #0x48]
add r3, r3, #0xD0
ldr r1, [r3]
mov r0, #8
ldr r3, [pc, #0x49C]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r2, [sp, #0x1C]
mul r3, r2, r0
add r3, r4, r3
str r3, [sp, #0xC]
; Line 104
b |$LN35@decode_rle|
|$LN24@decode_rle|
|$LN25@decode_rle|
|$LN27@decode_rle|
; Line 107
ldr r3, [sp, #0x48]
add r3, r3, #0xD0
ldr r1, [r3]
mov r0, #8
ldr r3, [pc, #0x468]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r3, [sp, #0x10]
mul r2, r3, r0
ldr r3, [sp, #0xC]
add r2, r3, r2
ldr r3, [sp]
cmp r2, r3
bls |$LN22@decode_rle|
; Line 108
ldr r3, [sp, #0x48]
add r3, r3, #0xD0
ldr r1, [r3]
mov r0, #8
ldr r3, [pc, #0x42C]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r3, [sp, #0x10]
mul r2, r3, r0
ldr r3, [sp, #0x18]
add r3, r3, r2
str r3, [sp, #0x18]
; Line 109
b |$LN36@decode_rle|
|$LN22@decode_rle|
; Line 111
mov r3, #0
str r3, [sp, #4]
b |$LN21@decode_rle|
|$LN20@decode_rle|
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
|$LN21@decode_rle|
ldr r3, [sp, #0x48]
add r3, r3, #0xD0
ldr r1, [r3]
mov r0, #8
ldr r3, [pc, #0x3DC]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r3, [sp, #0x10]
mul r2, r3, r0
ldr r3, [sp, #4]
cmp r3, r2
bge |$LN19@decode_rle|
; Line 112
ldr r3, [sp, #0x18]
ldrb r2, [r3]
ldr r3, [sp, #0xC]
strb r2, [r3]
ldr r3, [sp, #0xC]
add r3, r3, #1
str r3, [sp, #0xC]
ldr r3, [sp, #0x18]
add r3, r3, #1
str r3, [sp, #0x18]
; Line 113
b |$LN20@decode_rle|
|$LN19@decode_rle|
; Line 115
ldr r3, [sp, #0x48]
add r3, r3, #0xD0
ldr r3, [r3]
cmp r3, #8
bne |$LN18@decode_rle|
ldr r3, [sp, #0x10]
tst r3, #1
beq |$LN18@decode_rle|
; Line 116
ldr r3, [sp, #0x18]
add r3, r3, #1
str r3, [sp, #0x18]
|$LN18@decode_rle|
; Line 118
ldr r2, [sp, #0x1C]
ldr r3, [sp, #0x10]
add r3, r2, r3
str r3, [sp, #0x1C]
; Line 119
b |$LN17@decode_rle|
|$LN30@decode_rle|
; Line 121
ldr r3, [sp, #0x48]
add r3, r3, #0xD0
ldr r3, [r3]
str r3, [sp, #0x34]
ldr r3, [sp, #0x34]
cmp r3, #8
beq |$LN14@decode_rle|
ldr r3, [sp, #0x34]
cmp r3, #0x10
beq |$LN13@decode_rle|
ldr r3, [sp, #0x34]
cmp r3, #0x18
beq |$LN12@decode_rle|
ldr r3, [sp, #0x34]
cmp r3, #0x20
beq |$LN11@decode_rle|
b |$LN15@decode_rle|
|$LN14@decode_rle|
; Line 122
ldr r3, [sp, #0x18]
ldrb r3, [r3]
str r3, [sp, #0x20]
ldr r3, [sp, #0x18]
add r3, r3, #1
str r3, [sp, #0x18]
; Line 123
b |$LN15@decode_rle|
|$LN13@decode_rle|
; Line 124
ldr r3, [sp, #0x18]
ldrb r3, [r3]
str r3, [sp, #0x20]
ldr r3, [sp, #0x18]
add r3, r3, #1
str r3, [sp, #0x18]
; Line 125
ldr r3, [sp, #0x18]
ldrb r3, [r3]
str r3, [sp, #0x24]
ldr r3, [sp, #0x18]
add r3, r3, #1
str r3, [sp, #0x18]
; Line 126
b |$LN15@decode_rle|
|$LN12@decode_rle|
; Line 127
ldr r3, [sp, #0x18]
ldrb r3, [r3]
str r3, [sp, #0x20]
ldr r3, [sp, #0x18]
add r3, r3, #1
str r3, [sp, #0x18]
; Line 128
ldr r3, [sp, #0x18]
ldrb r3, [r3]
str r3, [sp, #0x24]
ldr r3, [sp, #0x18]
add r3, r3, #1
str r3, [sp, #0x18]
; Line 129
ldr r3, [sp, #0x18]
ldrb r3, [r3]
str r3, [sp, #0x28]
ldr r3, [sp, #0x18]
add r3, r3, #1
str r3, [sp, #0x18]
; Line 130
b |$LN15@decode_rle|
|$LN11@decode_rle|
; Line 131
ldr r3, [sp, #0x18]
ldrb r3, [r3]
str r3, [sp, #0x20]
ldr r3, [sp, #0x18]
add r3, r3, #1
str r3, [sp, #0x18]
; Line 132
ldr r3, [sp, #0x18]
ldrb r3, [r3]
str r3, [sp, #0x24]
ldr r3, [sp, #0x18]
add r3, r3, #1
str r3, [sp, #0x18]
; Line 133
ldr r3, [sp, #0x18]
ldrb r3, [r3]
str r3, [sp, #0x28]
ldr r3, [sp, #0x18]
add r3, r3, #1
str r3, [sp, #0x18]
; Line 134
ldr r3, [sp, #0x18]
ldrb r3, [r3]
str r3, [sp, #0x2C]
ldr r3, [sp, #0x18]
add r3, r3, #1
str r3, [sp, #0x18]
|$LN15@decode_rle|
; Line 137
ldr r3, [sp, #0x48]
add r3, r3, #0xD0
ldr r1, [r3]
mov r0, #8
ldr r3, [pc, #0x1FC]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r3, [sp, #0x14]
mul r2, r3, r0
ldr r3, [sp, #0xC]
add r2, r3, r2
ldr r3, [sp]
cmp r2, r3
bls |$LN10@decode_rle|
; Line 138
b |$LN37@decode_rle|
|$LN10@decode_rle|
; Line 139
mov r3, #0
str r3, [sp, #4]
b |$LN9@decode_rle|
|$LN8@decode_rle|
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
|$LN9@decode_rle|
ldr r2, [sp, #4]
ldr r3, [sp, #0x14]
cmp r2, r3
bge |$LN7@decode_rle|
; Line 140
ldr r3, [sp, #0x48]
add r3, r3, #0xD0
ldr r3, [r3]
str r3, [sp, #0x38]
ldr r3, [sp, #0x38]
cmp r3, #8
beq |$LN4@decode_rle|
ldr r3, [sp, #0x38]
cmp r3, #0x10
beq |$LN3@decode_rle|
ldr r3, [sp, #0x38]
cmp r3, #0x18
beq |$LN2@decode_rle|
ldr r3, [sp, #0x38]
cmp r3, #0x20
beq |$LN1@decode_rle|
b |$LN5@decode_rle|
|$LN4@decode_rle|
; Line 141
ldr r3, [sp, #0x20]
and r2, r3, #0xFF
ldr r3, [sp, #0xC]
strb r2, [r3]
ldr r3, [sp, #0xC]
add r3, r3, #1
str r3, [sp, #0xC]
; Line 142
b |$LN5@decode_rle|
|$LN3@decode_rle|
; Line 143
ldr r3, [sp, #0x20]
and r2, r3, #0xFF
ldr r3, [sp, #0xC]
strb r2, [r3]
ldr r3, [sp, #0xC]
add r3, r3, #1
str r3, [sp, #0xC]
; Line 144
ldr r3, [sp, #0x24]
and r2, r3, #0xFF
ldr r3, [sp, #0xC]
strb r2, [r3]
ldr r3, [sp, #0xC]
add r3, r3, #1
str r3, [sp, #0xC]
; Line 145
b |$LN5@decode_rle|
|$LN2@decode_rle|
; Line 146
ldr r3, [sp, #0x20]
and r2, r3, #0xFF
ldr r3, [sp, #0xC]
strb r2, [r3]
ldr r3, [sp, #0xC]
add r3, r3, #1
str r3, [sp, #0xC]
; Line 147
ldr r3, [sp, #0x24]
and r2, r3, #0xFF
ldr r3, [sp, #0xC]
strb r2, [r3]
ldr r3, [sp, #0xC]
add r3, r3, #1
str r3, [sp, #0xC]
; Line 148
ldr r3, [sp, #0x28]
and r2, r3, #0xFF
ldr r3, [sp, #0xC]
strb r2, [r3]
ldr r3, [sp, #0xC]
add r3, r3, #1
str r3, [sp, #0xC]
; Line 149
b |$LN5@decode_rle|
|$LN1@decode_rle|
; Line 150
ldr r3, [sp, #0x20]
and r2, r3, #0xFF
ldr r3, [sp, #0xC]
strb r2, [r3]
ldr r3, [sp, #0xC]
add r3, r3, #1
str r3, [sp, #0xC]
; Line 151
ldr r3, [sp, #0x24]
and r2, r3, #0xFF
ldr r3, [sp, #0xC]
strb r2, [r3]
ldr r3, [sp, #0xC]
add r3, r3, #1
str r3, [sp, #0xC]
; Line 152
ldr r3, [sp, #0x28]
and r2, r3, #0xFF
ldr r3, [sp, #0xC]
strb r2, [r3]
ldr r3, [sp, #0xC]
add r3, r3, #1
str r3, [sp, #0xC]
; Line 153
ldr r3, [sp, #0x2C]
and r2, r3, #0xFF
ldr r3, [sp, #0xC]
strb r2, [r3]
ldr r3, [sp, #0xC]
add r3, r3, #1
str r3, [sp, #0xC]
|$LN5@decode_rle|
; Line 156
b |$LN8@decode_rle|
|$LN7@decode_rle|
; Line 157
ldr r2, [sp, #0x1C]
ldr r3, [sp, #0x14]
add r3, r2, r3
str r3, [sp, #0x1C]
|$LN17@decode_rle|
; Line 159
b |$LN38@decode_rle|
|$LN31@decode_rle|
; Line 161
ldr r2, [pc, #0x20]
mov r1, #0
ldr r3, [sp, #0x48]
ldr r0, [r3]
bl av_log
; Line 162
mov r3, #1
str r3, [sp, #0x30]
|$LN33@decode_rle|
; Line 163
ldr r0, [sp, #0x30]
add sp, sp, #0x3C
ldmia sp, {r4, sp, pc}
|$LN42@decode_rle|
DCD |$SG3055|
DCD |__imp___rt_sdiv|
|$M3148|
ENDP ; |decode_rle|
IMPORT |inflateInit_|
IMPORT |av_malloc|
IMPORT |memset|
IMPORT |avcodec_check_dimensions|
AREA |.pdata|, PDATA
|$T3158| DCD |$LN16@decode_ini|
DCD 0x4000bf04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|decode_init| PROC
; Line 242
|$LN16@decode_ini|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r4, r12, lr}
sub sp, sp, #0x1C
|$M3155|
; Line 243
ldr r3, [sp, #0x28]
add r3, r3, #0x88
ldr r3, [r3]
str r3, [sp, #4]
; Line 246
ldr r2, [sp, #0x28]
ldr r3, [sp, #4]
str r2, [r3]
; Line 247
ldr r3, [sp, #0x28]
add r2, r3, #0x43, 30
mov r3, #0
str r3, [r2]
; Line 249
ldr r3, [sp, #4]
add r2, r3, #8
mov r3, #0
str r3, [r2]
; Line 250
ldr r3, [sp, #0x28]
add r1, r3, #0x2C
ldr r3, [sp, #4]
add r2, r3, #0xDC
ldr r3, [r1]
str r3, [r2]
; Line 252
ldr r3, [sp, #0x28]
add r3, r3, #0x28
ldr r2, [r3]
ldr r3, [sp, #0x28]
add r3, r3, #0x2C
ldr r1, [r3]
ldr r0, [sp, #0x28]
bl avcodec_check_dimensions
str r0, [sp, #0xC]
ldr r3, [sp, #0xC]
cmp r3, #0
bge |$LN11@decode_ini|
; Line 253
mov r3, #1
str r3, [sp, #8]
b |$LN12@decode_ini|
|$LN11@decode_ini|
; Line 258
mov r2, #0x38
mov r1, #0
ldr r3, [sp, #4]
add r0, r3, #0xE0
bl memset
; Line 263
ldr r3, [sp, #0x28]
add r3, r3, #0x62, 30
ldr r3, [r3]
str r3, [sp, #0x10]
ldr r3, [sp, #0x10]
cmp r3, #8
beq |$LN8@decode_ini|
ldr r3, [sp, #0x10]
cmp r3, #0x10
beq |$LN7@decode_ini|
ldr r3, [sp, #0x10]
cmp r3, #0x18
beq |$LN6@decode_ini|
ldr r3, [sp, #0x10]
cmp r3, #0x20
beq |$LN5@decode_ini|
b |$LN4@decode_ini|
|$LN8@decode_ini|
; Line 264
ldr r3, [sp, #0x28]
add r2, r3, #0x34
mov r3, #0xE
str r3, [r2]
b |$LN9@decode_ini|
|$LN7@decode_ini|
; Line 265
ldr r3, [sp, #0x28]
add r2, r3, #0x34
mov r3, #0xA
str r3, [r2]
b |$LN9@decode_ini|
|$LN6@decode_ini|
; Line 267
ldr r3, [sp, #0x28]
add r2, r3, #0x34
mov r3, #3
str r3, [r2]
; Line 268
b |$LN9@decode_ini|
|$LN5@decode_ini|
; Line 269
ldr r3, [sp, #0x28]
add r2, r3, #0x34
mov r3, #6
str r3, [r2]
b |$LN9@decode_ini|
|$LN4@decode_ini|
; Line 270
ldr r3, [sp, #0x28]
add r3, r3, #0x62, 30
ldr r3, [r3]
ldr r2, [pc, #0x19C]
mov r1, #0
ldr r0, [sp, #0x28]
bl av_log
; Line 271
mvn r3, #0
str r3, [sp, #8]
b |$LN12@decode_ini|
|$LN9@decode_ini|
; Line 273
ldr r3, [sp, #0x28]
add r1, r3, #0x62, 30
ldr r3, [sp, #4]
add r2, r3, #0xD0
ldr r3, [r1]
str r3, [r2]
; Line 274
ldr r3, [sp, #0x28]
add r2, r3, #0x28
ldr r3, [sp, #4]
add r3, r3, #0xD0
ldr r2, [r2]
ldr r3, [r3]
mul r4, r2, r3
ldr r3, [sp, #0x28]
add r3, r3, #0x28
ldr r3, [r3]
add r1, r3, #0xFE
mov r0, #0xFF
ldr r3, [pc, #0x134]
ldr r3, [r3]
mov lr, pc
mov pc, r3
add r3, r4, r0
add r2, r3, #2
ldr r3, [sp, #0x28]
add r3, r3, #0x2C
ldr r3, [r3]
mul r3, r2, r3
add r2, r3, #2
ldr r3, [sp, #4]
add r3, r3, #0xD4
str r2, [r3]
; Line 277
ldr r3, [sp, #4]
add r3, r3, #0xD4
ldr r3, [r3]
cmp r3, #0
beq |$LN3@decode_ini|
; Line 278
ldr r3, [sp, #4]
add r3, r3, #0xD4
ldr r0, [r3]
bl av_malloc
str r0, [sp, #0x14]
ldr r3, [sp, #4]
add r2, r3, #0xD8
ldr r3, [sp, #0x14]
str r3, [r2]
ldr r3, [sp, #4]
add r3, r3, #0xD8
ldr r3, [r3]
cmp r3, #0
bne |$LN2@decode_ini|
; Line 279
ldr r2, [pc, #0xAC]
mov r1, #0
ldr r0, [sp, #0x28]
bl av_log
; Line 280
mov r3, #1
str r3, [sp, #8]
b |$LN12@decode_ini|
|$LN2@decode_ini|
|$LN3@decode_ini|
; Line 285
ldr r3, [sp, #4]
add r2, r3, #1, 24
mov r3, #0
str r3, [r2]
; Line 286
ldr r3, [sp, #4]
add r2, r3, #0x41, 30
mov r3, #0
str r3, [r2]
; Line 287
ldr r3, [sp, #4]
add r2, r3, #0x42, 30
mov r3, #0
str r3, [r2]
; Line 288
mov r2, #0x38
ldr r1, [pc, #0x58]
ldr r3, [sp, #4]
add r0, r3, #0xE0
bl inflateInit_
str r0, [sp, #0x18]
ldr r3, [sp, #0x18]
str r3, [sp]
; Line 289
ldr r3, [sp]
cmp r3, #0
beq |$LN1@decode_ini|
; Line 290
ldr r3, [sp]
ldr r2, [pc, #0x28]
mov r1, #0
ldr r0, [sp, #0x28]
bl av_log
; Line 291
mov r3, #1
str r3, [sp, #8]
b |$LN12@decode_ini|
|$LN1@decode_ini|
; Line 295
mov r3, #0
str r3, [sp, #8]
|$LN12@decode_ini|
; Line 296
ldr r0, [sp, #8]
add sp, sp, #0x1C
ldmia sp, {r4, sp, pc}
|$LN17@decode_ini|
DCD |$SG3114|
DCD |$SG3112|
DCD |$SG3110|
DCD |__imp___rt_sdiv|
DCD |$SG3106|
|$M3156|
ENDP ; |decode_init|
IMPORT |inflateEnd|
IMPORT |av_freep|
AREA |.pdata|, PDATA
|$T3165| DCD |$LN6@decode_end|
DCD 0x40002004
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|decode_end| PROC
; Line 306
|$LN6@decode_end|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r12, lr}
sub sp, sp, #8
|$M3162|
; Line 307
ldr r3, [sp, #0x10]
add r3, r3, #0x88
ldr r3, [r3]
str r3, [sp]
; Line 309
ldr r3, [sp]
add r0, r3, #0xD8
bl av_freep
; Line 311
ldr r3, [sp]
add r3, r3, #8
ldr r3, [r3]
cmp r3, #0
beq |$LN1@decode_end|
; Line 312
ldr r3, [sp]
add r1, r3, #8
ldr r0, [sp, #0x10]
ldr r3, [sp, #0x10]
add r3, r3, #0x42, 30
ldr r3, [r3]
mov lr, pc
mov pc, r3
|$LN1@decode_end|
; Line 314
ldr r3, [sp]
add r0, r3, #0xE0
bl inflateEnd
; Line 317
mov r3, #0
str r3, [sp, #4]
; Line 318
ldr r0, [sp, #4]
add sp, sp, #8
ldmia sp, {sp, pc}
|$M3163|
ENDP ; |decode_end|
END