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

2288 lines
55 KiB
NASM
Executable File

; Listing generated by Microsoft (R) Optimizing Compiler Version 14.00.50727
TTL g:\MyPrograme\VS2005\GPSVersion2\tcpmp\ffmpeg\libavcodec\cinepak.c
CODE32
AREA |.drectve|, DRECTVE
DCB "-defaultlib:LIBCMT "
DCB "-defaultlib:OLDNAMES "
EXPORT |cinepak_decoder| [ DATA ]
AREA |.data|, DATA
|$SG3760| DCB "reget_buffer() failed", 0xa, 0x0
% 1
|$SG3773| DCB "cinepak", 0x0
|cinepak_decoder| DCD |$SG3773|
DCD 0x0
DCD 0x2b
DCD 0x189f8
DCD |cinepak_decode_init|
DCD 0x0
DCD |cinepak_decode_end|
DCD |cinepak_decode_frame|
DCD 0x2
% 16
IMPORT |dsputil_init|
AREA |.pdata|, PDATA
|$T3783| DCD |$LN8@cinepak_de|
DCD 0x40004c04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|cinepak_decode_init| PROC
; File g:\myprograme\vs2005\gpsversion2\tcpmp\ffmpeg\libavcodec\cinepak.c
; Line 372
|$LN8@cinepak_de|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r12, lr}
sub sp, sp, #8
|$M3780|
; Line 373
ldr r3, [sp, #0x10]
add r3, r3, #0x88
ldr r3, [r3]
str r3, [sp]
; Line 375
ldr r2, [sp, #0x10]
ldr r3, [sp]
str r2, [r3]
; Line 376
ldr r3, [sp, #0x10]
add r3, r3, #0x28
ldr r3, [r3]
add r2, r3, #3
mvn r3, #3
and r2, r2, r3
ldr r3, [sp]
add r3, r3, #2, 22
add r3, r3, #0xA8
str r2, [r3]
; Line 377
ldr r3, [sp, #0x10]
add r3, r3, #0x2C
ldr r3, [r3]
add r2, r3, #3
mvn r3, #3
and r2, r2, r3
ldr r3, [sp]
add r3, r3, #2, 22
add r3, r3, #0xAC
str r2, [r3]
; Line 380
ldr r3, [sp, #0x10]
add r3, r3, #0x92, 30
ldr r3, [r3]
cmp r3, #0
beq |$LN2@cinepak_de|
ldr r3, [sp, #0x10]
add r3, r3, #0x62, 30
ldr r3, [r3]
cmp r3, #0x28
bne |$LN3@cinepak_de|
|$LN2@cinepak_de|
; Line 381
ldr r3, [sp]
add r2, r3, #0x8B, 28
mov r3, #0
str r3, [r2]
; Line 382
ldr r3, [sp, #0x10]
add r2, r3, #0x34
mov r3, #0
str r3, [r2]
; Line 383
b |$LN1@cinepak_de|
|$LN3@cinepak_de|
; Line 384
ldr r3, [sp]
add r2, r3, #0x8B, 28
mov r3, #1
str r3, [r2]
; Line 385
ldr r3, [sp, #0x10]
add r2, r3, #0x34
mov r3, #0xE
str r3, [r2]
|$LN1@cinepak_de|
; Line 388
ldr r3, [sp, #0x10]
add r2, r3, #0x43, 30
mov r3, #0
str r3, [r2]
; Line 389
ldr r1, [sp, #0x10]
ldr r3, [sp]
add r0, r3, #4
bl dsputil_init
; Line 391
ldr r3, [sp]
add r3, r3, #7, 24
add r2, r3, #0xD8
mov r3, #0
str r3, [r2]
; Line 393
mov r3, #0
str r3, [sp, #4]
; Line 394
ldr r0, [sp, #4]
add sp, sp, #8
ldmia sp, {sp, pc}
|$M3781|
ENDP ; |cinepak_decode_init|
IMPORT |memcpy|
IMPORT |av_log|
IMPORT |memcpy|
AREA |.pdata|, PDATA
|$T3790| DCD |$LN9@cinepak_de@2|
DCD 0x40006504
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|cinepak_decode_frame| PROC
; Line 399
|$LN9@cinepak_de@2|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0xC
|$M3787|
; Line 400
ldr r3, [sp, #0x14]
add r3, r3, #0x88
ldr r3, [r3]
str r3, [sp]
; Line 402
ldr r3, [sp]
add r2, r3, #0x8A, 28
ldr r3, [sp, #0x20]
str r3, [r2]
; Line 403
ldr r3, [sp]
add r3, r3, #2, 22
add r2, r3, #0xA4
ldr r3, [sp, #0x24]
str r3, [r2]
; Line 405
ldr r3, [sp]
add r3, r3, #2, 22
add r2, r3, #0x28
mov r3, #1
str r3, [r2]
; Line 407
ldr r3, [sp]
add r3, r3, #2, 22
add r2, r3, #0x8C
mov r3, #0xD
str r3, [r2]
; Line 408
ldr r3, [sp]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r0, [sp, #0x14]
ldr r3, [sp, #0x14]
add r3, r3, #0x25, 28
ldr r3, [r3]
mov lr, pc
mov pc, r3
str r0, [sp, #8]
ldr r3, [sp, #8]
cmp r3, #0
beq |$LN4@cinepak_de@2|
; Line 409
ldr r2, [pc, #0xE8]
mov r1, #0
ldr r0, [sp, #0x14]
bl av_log
; Line 410
mvn r3, #0
str r3, [sp, #4]
b |$LN5@cinepak_de@2|
|$LN4@cinepak_de@2|
; Line 413
ldr r0, [sp]
bl cinepak_decode
; Line 415
ldr r3, [sp]
add r3, r3, #0x8B, 28
ldr r3, [r3]
cmp r3, #0
beq |$LN3@cinepak_de@2|
; Line 416
mov r2, #1, 22
ldr r3, [sp, #0x14]
add r3, r3, #0x92, 30
ldr r3, [r3]
add r1, r3, #4
ldr r3, [sp]
add r3, r3, #7, 24
add r3, r3, #0xDC
ldr r0, [r3]
bl memcpy
; Line 417
ldr r3, [sp, #0x14]
add r3, r3, #0x92, 30
ldr r3, [r3]
ldr r3, [r3]
cmp r3, #0
beq |$LN2@cinepak_de@2|
; Line 418
ldr r3, [sp]
add r3, r3, #2, 22
add r2, r3, #0x88
mov r3, #1
str r3, [r2]
; Line 419
ldr r3, [sp, #0x14]
add r3, r3, #0x92, 30
ldr r2, [r3]
mov r3, #0
str r3, [r2]
; Line 420
b |$LN1@cinepak_de@2|
|$LN2@cinepak_de@2|
; Line 421
ldr r3, [sp]
add r3, r3, #2, 22
add r2, r3, #0x88
mov r3, #0
str r3, [r2]
|$LN1@cinepak_de@2|
|$LN3@cinepak_de@2|
; Line 424
ldr r2, [sp, #0x1C]
mov r3, #0xC8
str r3, [r2]
; Line 425
ldr r3, [sp]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r0, [sp, #0x18]
mov r2, #0xC8
bl memcpy
; Line 428
ldr r3, [sp, #0x24]
str r3, [sp, #4]
|$LN5@cinepak_de@2|
; Line 429
ldr r0, [sp, #4]
add sp, sp, #0xC
ldmia sp, {sp, pc}
|$LN10@cinepak_de@2|
DCD |$SG3760|
|$M3788|
ENDP ; |cinepak_decode_frame|
AREA |.pdata|, PDATA
|$T3799| DCD |$LN18@cinepak_de@3|
DCD 0x40014f04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|cinepak_decode| PROC
; Line 315
|$LN18@cinepak_de@3|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r12, lr}
sub sp, sp, #0x30
|$M3796|
; Line 316
ldr r3, [sp, #0x38]
add r2, r3, #0x8A, 28
ldr r3, [sp, #0x38]
add r3, r3, #2, 22
add r3, r3, #0xA4
ldr r2, [r2]
ldr r3, [r3]
add r3, r2, r3
str r3, [sp, #0x10]
; Line 318
mov r3, #0
str r3, [sp]
; Line 321
mov r3, #0
str r3, [sp, #0x1C]
; Line 323
ldr r3, [sp, #0x38]
add r3, r3, #2, 22
add r3, r3, #0xA4
ldr r3, [r3]
cmp r3, #0xA
bge |$LN11@cinepak_de@3|
; Line 324
mvn r3, #0
str r3, [sp, #0x24]
b |$LN12@cinepak_de@3|
|$LN11@cinepak_de@3|
; Line 326
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r3, [r3]
ldrb r3, [r3]
str r3, [sp, #0x14]
; Line 327
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r3, [r3]
add r3, r3, #8
ldrb r3, [r3]
mov r2, r3, lsl #8
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r3, [r3]
add r3, r3, #9
ldrb r3, [r3]
orr r3, r2, r3
str r3, [sp, #0x18]
; Line 328
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r3, [r3]
add r3, r3, #2
ldrb r3, [r3]
mov r2, r3, lsl #8
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r3, [r3]
add r3, r3, #3
ldrb r3, [r3]
orr r3, r2, r3
str r3, [sp, #4]
; Line 329
ldr r3, [sp, #0x38]
add r3, r3, #2, 22
add r3, r3, #0xA4
ldr r2, [sp, #4]
ldr r3, [r3]
cmp r2, r3
beq |$LN10@cinepak_de@3|
; Line 330
mov r3, #1
str r3, [sp, #0x1C]
|$LN10@cinepak_de@3|
; Line 331
ldr r3, [sp, #0x1C]
cmp r3, #0
beq |$LN9@cinepak_de@3|
; Line 332
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r3, [r3]
add r2, r3, #0xC
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
str r2, [r3]
; Line 333
b |$LN8@cinepak_de@3|
|$LN9@cinepak_de@3|
; Line 334
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r3, [r3]
add r2, r3, #0xA
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
str r2, [r3]
|$LN8@cinepak_de@3|
; Line 336
ldr r3, [sp, #0x18]
cmp r3, #0x20
ble |$LN7@cinepak_de@3|
; Line 337
mov r3, #0x20
str r3, [sp, #0x18]
|$LN7@cinepak_de@3|
; Line 339
mov r3, #0
str r3, [sp, #0xC]
b |$LN6@cinepak_de@3|
|$LN5@cinepak_de@3|
ldr r3, [sp, #0xC]
add r3, r3, #1
str r3, [sp, #0xC]
|$LN6@cinepak_de@3|
ldr r2, [sp, #0xC]
ldr r3, [sp, #0x18]
cmp r2, r3
bge |$LN4@cinepak_de@3|
; Line 340
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r3, [r3]
add r2, r3, #0xC
ldr r3, [sp, #0x10]
cmp r2, r3
bls |$LN3@cinepak_de@3|
; Line 341
mvn r3, #0
str r3, [sp, #0x24]
b |$LN12@cinepak_de@3|
|$LN3@cinepak_de@3|
; Line 343
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r3, [r3]
ldrb r3, [r3]
mov r2, r3, lsl #8
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r3, [r3]
add r3, r3, #1
ldrb r3, [r3]
orr r0, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #2, 22
add r1, r3, #0xB4
ldr r2, [sp, #0xC]
mov r3, #3, 22
orr r3, r3, #0xA
mul r3, r2, r3
add r2, r1, r3
mov r3, r0, lsl #16
mov r3, r3, lsr #16
strh r3, [r2]
; Line 344
ldr r3, [sp, #0x38]
add r3, r3, #2, 22
add r1, r3, #0xB4
ldr r2, [sp, #0xC]
mov r3, #3, 22
orr r3, r3, #0xA
mul r3, r2, r3
add r3, r1, r3
add r2, r3, #4
ldr r3, [sp]
mov r3, r3, lsl #16
mov r3, r3, lsr #16
strh r3, [r2]
; Line 345
ldr r3, [sp, #0x38]
add r3, r3, #2, 22
add r1, r3, #0xB4
ldr r2, [sp, #0xC]
mov r3, #3, 22
orr r3, r3, #0xA
mul r3, r2, r3
add r3, r1, r3
add r2, r3, #2
mov r3, #0
strh r3, [r2]
; Line 346
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r3, [r3]
add r3, r3, #8
ldrb r3, [r3]
mov r2, r3, lsl #8
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r3, [r3]
add r3, r3, #9
ldrb r3, [r3]
orr r2, r2, r3
ldr r3, [sp]
add r0, r3, r2
ldr r3, [sp, #0x38]
add r3, r3, #2, 22
add r1, r3, #0xB4
ldr r2, [sp, #0xC]
mov r3, #3, 22
orr r3, r3, #0xA
mul r3, r2, r3
add r3, r1, r3
add r2, r3, #8
mov r3, r0, lsl #16
mov r3, r3, lsr #16
strh r3, [r2]
; Line 347
ldr r3, [sp, #0x38]
ldr r3, [r3]
add r0, r3, #0x28
ldr r3, [sp, #0x38]
add r3, r3, #2, 22
add r1, r3, #0xB4
ldr r2, [sp, #0xC]
mov r3, #3, 22
orr r3, r3, #0xA
mul r3, r2, r3
add r3, r1, r3
add r2, r3, #6
ldr r3, [r0]
mov r3, r3, lsl #16
mov r3, r3, lsr #16
strh r3, [r2]
; Line 349
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r3, [r3]
add r3, r3, #2
ldrb r3, [r3]
mov r2, r3, lsl #8
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r3, [r3]
add r3, r3, #3
ldrb r3, [r3]
orr r3, r2, r3
sub r3, r3, #0xC
str r3, [sp, #8]
; Line 350
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r3, [r3]
add r2, r3, #0xC
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
str r2, [r3]
; Line 351
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r2, [r3]
ldr r3, [sp, #8]
add r2, r2, r3
ldr r3, [sp, #0x10]
cmp r2, r3
bls |$LN14@cinepak_de@3|
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r2, [sp, #0x10]
ldr r3, [r3]
sub r3, r2, r3
str r3, [sp, #0x28]
b |$LN15@cinepak_de@3|
|$LN14@cinepak_de@3|
ldr r3, [sp, #8]
str r3, [sp, #0x28]
|$LN15@cinepak_de@3|
ldr r3, [sp, #0x28]
str r3, [sp, #8]
; Line 353
ldr r3, [sp, #0xC]
cmp r3, #0
ble |$LN2@cinepak_de@3|
ldr r3, [sp, #0x14]
tst r3, #1
bne |$LN2@cinepak_de@3|
; Line 355
mov r2, #6, 24
ldr r3, [sp, #0x38]
add r3, r3, #2, 22
add r0, r3, #0xB4
ldr r3, [sp, #0xC]
sub r1, r3, #1
mov r3, #3, 22
orr r3, r3, #0xA
mul r3, r1, r3
add r3, r0, r3
add r1, r3, #0xA
ldr r3, [sp, #0x38]
add r3, r3, #2, 22
add lr, r3, #0xB4
ldr r0, [sp, #0xC]
mov r3, #3, 22
orr r3, r3, #0xA
mul r3, r0, r3
add r3, lr, r3
add r0, r3, #0xA
bl memcpy
; Line 357
mov r2, #6, 24
ldr r3, [sp, #0x38]
add r3, r3, #2, 22
add r0, r3, #0xB4
ldr r3, [sp, #0xC]
sub r1, r3, #1
mov r3, #3, 22
orr r3, r3, #0xA
mul r3, r1, r3
add r3, r0, r3
add r3, r3, #6, 24
add r1, r3, #0xA
ldr r3, [sp, #0x38]
add r3, r3, #2, 22
add lr, r3, #0xB4
ldr r0, [sp, #0xC]
mov r3, #3, 22
orr r3, r3, #0xA
mul r3, r0, r3
add r3, lr, r3
add r3, r3, #6, 24
add r0, r3, #0xA
bl memcpy
|$LN2@cinepak_de@3|
; Line 360
ldr r3, [sp, #8]
ldr r2, [sp, #0x38]
add r2, r2, #0x8A, 28
ldr r2, [r2]
ldr r1, [sp, #0x38]
add r1, r1, #2, 22
add lr, r1, #0xB4
ldr r0, [sp, #0xC]
mov r1, #3, 22
orr r1, r1, #0xA
mul r1, r0, r1
add r1, lr, r1
ldr r0, [sp, #0x38]
bl cinepak_decode_strip
str r0, [sp, #0x2C]
ldr r3, [sp, #0x2C]
str r3, [sp, #0x20]
; Line 362
ldr r3, [sp, #0x20]
cmp r3, #0
beq |$LN1@cinepak_de@3|
; Line 363
ldr r3, [sp, #0x20]
str r3, [sp, #0x24]
b |$LN12@cinepak_de@3|
|$LN1@cinepak_de@3|
; Line 365
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
ldr r2, [r3]
ldr r3, [sp, #8]
add r2, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #0x8A, 28
str r2, [r3]
; Line 366
ldr r3, [sp, #0x38]
add r3, r3, #2, 22
add r1, r3, #0xB4
ldr r2, [sp, #0xC]
mov r3, #3, 22
orr r3, r3, #0xA
mul r3, r2, r3
add r3, r1, r3
add r3, r3, #8
ldrh r3, [r3]
str r3, [sp]
; Line 367
b |$LN5@cinepak_de@3|
|$LN4@cinepak_de@3|
; Line 368
mov r3, #0
str r3, [sp, #0x24]
|$LN12@cinepak_de@3|
; Line 369
ldr r0, [sp, #0x24]
add sp, sp, #0x30
ldmia sp, {sp, pc}
|$M3797|
ENDP ; |cinepak_decode|
AREA |.pdata|, PDATA
|$T3809| DCD |$LN18@cinepak_de@4|
DCD 0x4000c004
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|cinepak_decode_strip| PROC
; Line 264
|$LN18@cinepak_de@4|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0x24
|$M3806|
; Line 265
ldr r2, [sp, #0x34]
ldr r3, [sp, #0x38]
add r3, r2, r3
str r3, [sp, #4]
; Line 271
ldr r3, [sp, #0x30]
add r3, r3, #2
ldrh r3, [r3]
mov r2, r3
ldr r3, [sp, #0x2C]
add r3, r3, #2, 22
add r3, r3, #0xA8
ldr r3, [r3]
cmp r2, r3
bge |$LN9@cinepak_de@4|
ldr r3, [sp, #0x30]
add r3, r3, #6
ldrh r3, [r3]
mov r2, r3
ldr r3, [sp, #0x2C]
add r3, r3, #2, 22
add r3, r3, #0xA8
ldr r3, [r3]
cmp r2, r3
bgt |$LN9@cinepak_de@4|
ldr r3, [sp, #0x30]
add r3, r3, #4
ldrh r3, [r3]
mov r2, r3
ldr r3, [sp, #0x2C]
add r3, r3, #2, 22
add r3, r3, #0xAC
ldr r3, [r3]
cmp r2, r3
bge |$LN9@cinepak_de@4|
ldr r3, [sp, #0x30]
add r3, r3, #8
ldrh r3, [r3]
mov r2, r3
ldr r3, [sp, #0x2C]
add r3, r3, #2, 22
add r3, r3, #0xAC
ldr r3, [r3]
cmp r2, r3
bgt |$LN9@cinepak_de@4|
ldr r3, [sp, #0x30]
add r3, r3, #2
ldrh r3, [r3]
mov r2, r3
ldr r3, [sp, #0x30]
add r3, r3, #6
ldrh r3, [r3]
cmp r2, r3
bge |$LN9@cinepak_de@4|
ldr r3, [sp, #0x30]
add r3, r3, #4
ldrh r3, [r3]
mov r2, r3
ldr r3, [sp, #0x30]
add r3, r3, #8
ldrh r3, [r3]
cmp r2, r3
blt |$LN10@cinepak_de@4|
|$LN9@cinepak_de@4|
; Line 272
mvn r3, #0
str r3, [sp, #0x10]
b |$LN11@cinepak_de@4|
|$LN10@cinepak_de@4|
|$LN8@cinepak_de@4|
; Line 274
ldr r3, [sp, #0x34]
add r2, r3, #4
ldr r3, [sp, #4]
cmp r2, r3
bhi |$LN7@cinepak_de@4|
; Line 275
ldr r3, [sp, #0x34]
ldrb r3, [r3]
mov r2, r3, lsl #8
ldr r3, [sp, #0x34]
add r3, r3, #1
ldrb r3, [r3]
orr r3, r2, r3
str r3, [sp, #0xC]
; Line 276
ldr r3, [sp, #0x34]
add r3, r3, #2
ldrb r3, [r3]
mov r2, r3, lsl #8
ldr r3, [sp, #0x34]
add r3, r3, #3
ldrb r3, [r3]
orr r3, r2, r3
sub r3, r3, #4
str r3, [sp, #8]
; Line 277
ldr r3, [sp, #8]
cmp r3, #0
bge |$LN6@cinepak_de@4|
; Line 278
mvn r3, #0
str r3, [sp, #0x10]
b |$LN11@cinepak_de@4|
|$LN6@cinepak_de@4|
; Line 280
ldr r3, [sp, #0x34]
add r3, r3, #4
str r3, [sp, #0x34]
; Line 281
ldr r2, [sp, #0x34]
ldr r3, [sp, #8]
add r2, r2, r3
ldr r3, [sp, #4]
cmp r2, r3
bls |$LN13@cinepak_de@4|
ldr r2, [sp, #4]
ldr r3, [sp, #0x34]
sub r3, r2, r3
str r3, [sp, #0x18]
b |$LN14@cinepak_de@4|
|$LN13@cinepak_de@4|
ldr r3, [sp, #8]
str r3, [sp, #0x18]
|$LN14@cinepak_de@4|
ldr r3, [sp, #0x18]
str r3, [sp, #8]
; Line 283
ldr r3, [sp, #0xC]
str r3, [sp, #0x1C]
ldr r3, [sp, #0x1C]
cmp r3, #0x25, 24
bgt |$LN15@cinepak_de@4|
ldr r3, [sp, #0x1C]
cmp r3, #0x25, 24
beq |$LN3@cinepak_de@4|
ldr r3, [sp, #0x1C]
cmp r3, #2, 20
beq |$LN3@cinepak_de@4|
ldr r3, [sp, #0x1C]
cmp r3, #0x21, 24
beq |$LN3@cinepak_de@4|
ldr r3, [sp, #0x1C]
cmp r3, #0x22, 24
beq |$LN2@cinepak_de@4|
ldr r3, [sp, #0x1C]
cmp r3, #0x23, 24
beq |$LN2@cinepak_de@4|
ldr r3, [sp, #0x1C]
cmp r3, #9, 22
beq |$LN3@cinepak_de@4|
b |$LN4@cinepak_de@4|
|$LN15@cinepak_de@4|
ldr r3, [sp, #0x1C]
cmp r3, #0x26, 24
beq |$LN2@cinepak_de@4|
ldr r3, [sp, #0x1C]
cmp r3, #0x27, 24
beq |$LN2@cinepak_de@4|
ldr r3, [sp, #0x1C]
cmp r3, #3, 20
beq |$LN1@cinepak_de@4|
ldr r3, [sp, #0x1C]
cmp r3, #0x31, 24
beq |$LN1@cinepak_de@4|
ldr r3, [sp, #0x1C]
cmp r3, #0x32, 24
beq |$LN1@cinepak_de@4|
b |$LN4@cinepak_de@4|
|$LN3@cinepak_de@4|
; Line 290
ldr r3, [sp, #0x34]
ldr r2, [sp, #8]
ldr r1, [sp, #0xC]
ldr r0, [sp, #0x30]
add r0, r0, #0xA
bl cinepak_decode_codebook
; Line 291
b |$LN4@cinepak_de@4|
|$LN2@cinepak_de@4|
; Line 298
ldr r3, [sp, #0x34]
ldr r2, [sp, #8]
ldr r1, [sp, #0xC]
ldr r0, [sp, #0x30]
add r0, r0, #6, 24
add r0, r0, #0xA
bl cinepak_decode_codebook
; Line 299
b |$LN4@cinepak_de@4|
|$LN1@cinepak_de@4|
; Line 305
ldr r3, [sp, #0x34]
str r3, [sp]
ldr r3, [sp, #8]
ldr r2, [sp, #0xC]
ldr r1, [sp, #0x30]
ldr r0, [sp, #0x2C]
bl cinepak_decode_vectors
str r0, [sp, #0x20]
ldr r3, [sp, #0x20]
str r3, [sp, #0x10]
b |$LN11@cinepak_de@4|
|$LN4@cinepak_de@4|
; Line 308
ldr r2, [sp, #0x34]
ldr r3, [sp, #8]
add r3, r2, r3
str r3, [sp, #0x34]
; Line 309
b |$LN8@cinepak_de@4|
|$LN7@cinepak_de@4|
; Line 311
mvn r3, #0
str r3, [sp, #0x10]
|$LN11@cinepak_de@4|
; Line 312
ldr r0, [sp, #0x10]
add sp, sp, #0x24
ldmia sp, {sp, pc}
|$M3807|
ENDP ; |cinepak_decode_strip|
AREA |.pdata|, PDATA
|$T3816| DCD |$LN17@cinepak_de@5|
DCD 0x4000e404
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|cinepak_decode_codebook| PROC
; Line 72
|$LN17@cinepak_de@5|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0x18
|$M3813|
; Line 73
ldr r2, [sp, #0x2C]
ldr r3, [sp, #0x28]
add r3, r2, r3
str r3, [sp, #8]
; Line 78
ldr r3, [sp, #0x24]
tst r3, #1, 22
beq |$LN13@cinepak_de@5|
mov r3, #4
str r3, [sp, #0x14]
b |$LN14@cinepak_de@5|
|$LN13@cinepak_de@5|
mov r3, #6
str r3, [sp, #0x14]
|$LN14@cinepak_de@5|
ldr r3, [sp, #0x14]
str r3, [sp]
; Line 79
mov r3, #0
str r3, [sp, #0x10]
; Line 80
mov r3, #0
str r3, [sp, #0xC]
; Line 82
mov r3, #0
str r3, [sp, #4]
b |$LN10@cinepak_de@5|
|$LN9@cinepak_de@5|
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
|$LN10@cinepak_de@5|
ldr r3, [sp, #4]
cmp r3, #1, 24
bge |$LN8@cinepak_de@5|
; Line 83
ldr r3, [sp, #0x24]
tst r3, #1, 24
beq |$LN7@cinepak_de@5|
ldr r3, [sp, #0xC]
mov r3, r3, lsr #1
str r3, [sp, #0xC]
ldr r3, [sp, #0xC]
cmp r3, #0
bne |$LN7@cinepak_de@5|
; Line 84
ldr r3, [sp, #0x2C]
add r2, r3, #4
ldr r3, [sp, #8]
cmp r2, r3
bls |$LN6@cinepak_de@5|
; Line 85
b |$LN8@cinepak_de@5|
|$LN6@cinepak_de@5|
; Line 87
ldr r3, [sp, #0x2C]
ldrb r3, [r3]
mov r2, r3, lsl #24
ldr r3, [sp, #0x2C]
add r3, r3, #1
ldrb r3, [r3]
mov r3, r3, lsl #16
orr r2, r2, r3
ldr r3, [sp, #0x2C]
add r3, r3, #2
ldrb r3, [r3]
mov r3, r3, lsl #8
orr r2, r2, r3
ldr r3, [sp, #0x2C]
add r3, r3, #3
ldrb r3, [r3]
orr r3, r2, r3
str r3, [sp, #0x10]
; Line 88
ldr r3, [sp, #0x2C]
add r3, r3, #4
str r3, [sp, #0x2C]
; Line 89
mov r3, #2, 2
str r3, [sp, #0xC]
|$LN7@cinepak_de@5|
; Line 92
ldr r3, [sp, #0x24]
tst r3, #1, 24
beq |$LN4@cinepak_de@5|
ldr r2, [sp, #0x10]
ldr r3, [sp, #0xC]
tst r2, r3
beq |$LN5@cinepak_de@5|
|$LN4@cinepak_de@5|
; Line 93
ldr r2, [sp, #0x2C]
ldr r3, [sp]
add r2, r2, r3
ldr r3, [sp, #8]
cmp r2, r3
bls |$LN3@cinepak_de@5|
; Line 94
b |$LN8@cinepak_de@5|
|$LN3@cinepak_de@5|
; Line 96
ldr r3, [sp]
cmp r3, #6
bne |$LN2@cinepak_de@5|
; Line 97
ldr r1, [sp, #4]
mov r3, #6
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r2, r3, r2
ldr r3, [sp, #0x2C]
ldrb r3, [r3]
strb r3, [r2]
ldr r3, [sp, #0x2C]
add r3, r3, #1
str r3, [sp, #0x2C]
; Line 98
ldr r1, [sp, #4]
mov r3, #6
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
add r2, r3, #1
ldr r3, [sp, #0x2C]
ldrb r3, [r3]
strb r3, [r2]
ldr r3, [sp, #0x2C]
add r3, r3, #1
str r3, [sp, #0x2C]
; Line 99
ldr r1, [sp, #4]
mov r3, #6
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
add r2, r3, #2
ldr r3, [sp, #0x2C]
ldrb r3, [r3]
strb r3, [r2]
ldr r3, [sp, #0x2C]
add r3, r3, #1
str r3, [sp, #0x2C]
; Line 100
ldr r1, [sp, #4]
mov r3, #6
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
add r2, r3, #3
ldr r3, [sp, #0x2C]
ldrb r3, [r3]
strb r3, [r2]
ldr r3, [sp, #0x2C]
add r3, r3, #1
str r3, [sp, #0x2C]
; Line 101
ldr r3, [sp, #0x2C]
ldrb r3, [r3]
add r0, r3, #0x80
ldr r1, [sp, #4]
mov r3, #6
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
add r2, r3, #4
and r3, r0, #0xFF
strb r3, [r2]
ldr r3, [sp, #0x2C]
add r3, r3, #1
str r3, [sp, #0x2C]
; Line 102
ldr r3, [sp, #0x2C]
ldrb r3, [r3]
add r0, r3, #0x80
ldr r1, [sp, #4]
mov r3, #6
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
add r2, r3, #5
and r3, r0, #0xFF
strb r3, [r2]
ldr r3, [sp, #0x2C]
add r3, r3, #1
str r3, [sp, #0x2C]
; Line 103
b |$LN1@cinepak_de@5|
|$LN2@cinepak_de@5|
; Line 108
ldr r1, [sp, #4]
mov r3, #6
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r2, r3, r2
ldr r3, [sp, #0x2C]
ldrb r3, [r3]
strb r3, [r2]
ldr r3, [sp, #0x2C]
add r3, r3, #1
str r3, [sp, #0x2C]
; Line 109
ldr r1, [sp, #4]
mov r3, #6
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
add r2, r3, #1
ldr r3, [sp, #0x2C]
ldrb r3, [r3]
strb r3, [r2]
ldr r3, [sp, #0x2C]
add r3, r3, #1
str r3, [sp, #0x2C]
; Line 110
ldr r1, [sp, #4]
mov r3, #6
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
add r2, r3, #2
ldr r3, [sp, #0x2C]
ldrb r3, [r3]
strb r3, [r2]
ldr r3, [sp, #0x2C]
add r3, r3, #1
str r3, [sp, #0x2C]
; Line 111
ldr r1, [sp, #4]
mov r3, #6
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
add r2, r3, #3
ldr r3, [sp, #0x2C]
ldrb r3, [r3]
strb r3, [r2]
ldr r3, [sp, #0x2C]
add r3, r3, #1
str r3, [sp, #0x2C]
; Line 112
ldr r1, [sp, #4]
mov r3, #6
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
add r2, r3, #4
mov r3, #0x80
strb r3, [r2]
; Line 113
ldr r1, [sp, #4]
mov r3, #6
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
add r2, r3, #5
mov r3, #0x80
strb r3, [r2]
|$LN1@cinepak_de@5|
|$LN5@cinepak_de@5|
; Line 116
b |$LN9@cinepak_de@5|
|$LN8@cinepak_de@5|
; Line 117
add sp, sp, #0x18
ldmia sp, {sp, pc}
|$M3814|
ENDP ; |cinepak_decode_codebook|
IMPORT |__imp___rt_udiv|
IMPORT |__imp___rt_sdiv|
AREA |.pdata|, PDATA
|$T3828| DCD |$LN31@cinepak_de@6|
DCD 0x40036b04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|cinepak_decode_vectors| PROC
; Line 121
|$LN31@cinepak_de@6|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r4, r12, lr}
sub sp, sp, #0x3C
|$M3825|
; Line 122
ldr r2, [sp, #0x58]
ldr r3, [sp, #0x54]
add r3, r2, r3
str r3, [sp, #0xC]
; Line 130
mov r3, #0
str r3, [sp, #0x34]
; Line 131
mov r3, #0
str r3, [sp, #0x10]
; Line 133
ldr r3, [sp, #0x4C]
add r3, r3, #4
ldrh r3, [r3]
str r3, [sp, #4]
b |$LN26@cinepak_de@6|
|$LN25@cinepak_de@6|
ldr r3, [sp, #4]
add r3, r3, #4
str r3, [sp, #4]
|$LN26@cinepak_de@6|
ldr r3, [sp, #0x4C]
add r3, r3, #8
ldrh r2, [r3]
ldr r3, [sp, #4]
cmp r3, r2
bcs |$LN24@cinepak_de@6|
; Line 135
ldr r3, [sp, #0x4C]
add r3, r3, #2
ldrh r1, [r3]
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xE8
ldr r2, [sp, #4]
ldr r3, [r3]
mul r3, r2, r3
add r3, r1, r3
str r3, [sp, #0x1C]
; Line 136
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xE8
ldr r2, [sp, #0x1C]
ldr r3, [r3]
add r3, r2, r3
str r3, [sp, #0x20]
; Line 137
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xE8
ldr r2, [sp, #0x20]
ldr r3, [r3]
add r3, r2, r3
str r3, [sp, #0x24]
; Line 138
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xE8
ldr r2, [sp, #0x24]
ldr r3, [r3]
add r3, r2, r3
str r3, [sp, #0x28]
; Line 139
ldr r3, [sp, #0x4C]
add r3, r3, #2
ldrh r3, [r3]
mov r1, r3
mov r0, #2
ldr r3, [pc, #0xCA4]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r4, r0
ldr r1, [sp, #4]
mov r0, #2
ldr r3, [pc, #0xC84]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xEC
ldr r3, [r3]
mul r3, r0, r3
add r3, r4, r3
str r3, [sp, #0x14]
; Line 140
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xEC
ldr r2, [sp, #0x14]
ldr r3, [r3]
add r3, r2, r3
str r3, [sp, #0x18]
; Line 141
ldr r3, [sp, #0x4C]
add r3, r3, #2
ldrh r3, [r3]
mov r1, r3
mov r0, #2
ldr r3, [pc, #0xC2C]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r4, r0
ldr r1, [sp, #4]
mov r0, #2
ldr r3, [pc, #0xC0C]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r3, [sp, #0x48]
add r3, r3, #0x7F, 28
ldr r3, [r3]
mul r3, r0, r3
add r3, r4, r3
str r3, [sp, #0x2C]
; Line 142
ldr r3, [sp, #0x48]
add r3, r3, #0x7F, 28
ldr r2, [sp, #0x2C]
ldr r3, [r3]
add r3, r2, r3
str r3, [sp, #0x30]
; Line 144
ldr r3, [sp, #0x4C]
add r3, r3, #2
ldrh r3, [r3]
str r3, [sp, #8]
b |$LN23@cinepak_de@6|
|$LN22@cinepak_de@6|
ldr r3, [sp, #8]
add r3, r3, #4
str r3, [sp, #8]
|$LN23@cinepak_de@6|
ldr r3, [sp, #0x4C]
add r3, r3, #6
ldrh r2, [r3]
ldr r3, [sp, #8]
cmp r3, r2
bcs |$LN21@cinepak_de@6|
; Line 145
ldr r3, [sp, #0x50]
tst r3, #1, 24
beq |$LN20@cinepak_de@6|
ldr r3, [sp, #0x10]
mov r3, r3, lsr #1
str r3, [sp, #0x10]
ldr r3, [sp, #0x10]
cmp r3, #0
bne |$LN20@cinepak_de@6|
; Line 146
ldr r3, [sp, #0x58]
add r2, r3, #4
ldr r3, [sp, #0xC]
cmp r2, r3
bls |$LN19@cinepak_de@6|
; Line 147
mvn r3, #0
str r3, [sp, #0x38]
b |$LN27@cinepak_de@6|
|$LN19@cinepak_de@6|
; Line 149
ldr r3, [sp, #0x58]
ldrb r3, [r3]
mov r2, r3, lsl #24
ldr r3, [sp, #0x58]
add r3, r3, #1
ldrb r3, [r3]
mov r3, r3, lsl #16
orr r2, r2, r3
ldr r3, [sp, #0x58]
add r3, r3, #2
ldrb r3, [r3]
mov r3, r3, lsl #8
orr r2, r2, r3
ldr r3, [sp, #0x58]
add r3, r3, #3
ldrb r3, [r3]
orr r3, r2, r3
str r3, [sp, #0x34]
; Line 150
ldr r3, [sp, #0x58]
add r3, r3, #4
str r3, [sp, #0x58]
; Line 151
mov r3, #2, 2
str r3, [sp, #0x10]
|$LN20@cinepak_de@6|
; Line 154
ldr r3, [sp, #0x50]
tst r3, #1, 24
beq |$LN17@cinepak_de@6|
ldr r2, [sp, #0x34]
ldr r3, [sp, #0x10]
tst r2, r3
beq |$LN18@cinepak_de@6|
|$LN17@cinepak_de@6|
; Line 155
ldr r3, [sp, #0x50]
tst r3, #2, 24
bne |$LN16@cinepak_de@6|
ldr r3, [sp, #0x10]
mov r3, r3, lsr #1
str r3, [sp, #0x10]
ldr r3, [sp, #0x10]
cmp r3, #0
bne |$LN16@cinepak_de@6|
; Line 156
ldr r3, [sp, #0x58]
add r2, r3, #4
ldr r3, [sp, #0xC]
cmp r2, r3
bls |$LN15@cinepak_de@6|
; Line 157
mvn r3, #0
str r3, [sp, #0x38]
b |$LN27@cinepak_de@6|
|$LN15@cinepak_de@6|
; Line 159
ldr r3, [sp, #0x58]
ldrb r3, [r3]
mov r2, r3, lsl #24
ldr r3, [sp, #0x58]
add r3, r3, #1
ldrb r3, [r3]
mov r3, r3, lsl #16
orr r2, r2, r3
ldr r3, [sp, #0x58]
add r3, r3, #2
ldrb r3, [r3]
mov r3, r3, lsl #8
orr r2, r2, r3
ldr r3, [sp, #0x58]
add r3, r3, #3
ldrb r3, [r3]
orr r3, r2, r3
str r3, [sp, #0x34]
; Line 160
ldr r3, [sp, #0x58]
add r3, r3, #4
str r3, [sp, #0x58]
; Line 161
mov r3, #2, 2
str r3, [sp, #0x10]
|$LN16@cinepak_de@6|
; Line 164
ldr r3, [sp, #0x50]
tst r3, #2, 24
bne |$LN13@cinepak_de@6|
ldr r3, [sp, #0x34]
mvn r2, r3
ldr r3, [sp, #0x10]
tst r2, r3
beq |$LN14@cinepak_de@6|
|$LN13@cinepak_de@6|
; Line 165
ldr r2, [sp, #0x58]
ldr r3, [sp, #0xC]
cmp r2, r3
bcc |$LN12@cinepak_de@6|
; Line 166
mvn r3, #0
str r3, [sp, #0x38]
b |$LN27@cinepak_de@6|
|$LN12@cinepak_de@6|
; Line 168
ldr r3, [sp, #0x4C]
add r3, r3, #6, 24
add r1, r3, #0xA
ldr r3, [sp, #0x58]
ldrb r3, [r3]
mov r2, r3
mov r3, #6
mul r3, r2, r3
add r3, r1, r3
str r3, [sp]
ldr r3, [sp, #0x58]
add r3, r3, #1
str r3, [sp, #0x58]
; Line 169
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xD8
ldr r2, [r3]
ldr r3, [sp, #0x1C]
add r2, r2, r3
ldr r3, [sp]
ldrb r3, [r3]
strb r3, [r2]
; Line 170
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x1C]
add r2, r3, #1
ldr r3, [r1]
add r2, r3, r2
ldr r3, [sp]
ldrb r3, [r3]
strb r3, [r2]
; Line 171
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xD8
ldr r2, [r3]
ldr r3, [sp, #0x20]
add r2, r2, r3
ldr r3, [sp]
ldrb r3, [r3]
strb r3, [r2]
; Line 172
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x20]
add r2, r3, #1
ldr r3, [r1]
add r2, r3, r2
ldr r3, [sp]
ldrb r3, [r3]
strb r3, [r2]
; Line 173
ldr r3, [sp, #0x48]
add r3, r3, #0x8B, 28
ldr r3, [r3]
cmp r3, #0
bne |$LN11@cinepak_de@6|
; Line 174
ldr r3, [sp]
add r1, r3, #4
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xDC
ldr r2, [r3]
ldr r3, [sp, #0x14]
add r2, r2, r3
ldrb r3, [r1]
strb r3, [r2]
; Line 175
ldr r3, [sp]
add r1, r3, #5
ldr r3, [sp, #0x48]
add r3, r3, #0x7E, 28
ldr r2, [r3]
ldr r3, [sp, #0x2C]
add r2, r2, r3
ldrb r3, [r1]
strb r3, [r2]
|$LN11@cinepak_de@6|
; Line 178
ldr r3, [sp]
add r0, r3, #1
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x1C]
add r2, r3, #2
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 179
ldr r3, [sp]
add r0, r3, #1
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x1C]
add r2, r3, #3
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 180
ldr r3, [sp]
add r0, r3, #1
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x20]
add r2, r3, #2
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 181
ldr r3, [sp]
add r0, r3, #1
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x20]
add r2, r3, #3
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 182
ldr r3, [sp, #0x48]
add r3, r3, #0x8B, 28
ldr r3, [r3]
cmp r3, #0
bne |$LN10@cinepak_de@6|
; Line 183
ldr r3, [sp]
add r0, r3, #4
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xDC
ldr r3, [sp, #0x14]
add r2, r3, #1
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 184
ldr r3, [sp]
add r0, r3, #5
ldr r3, [sp, #0x48]
add r1, r3, #0x7E, 28
ldr r3, [sp, #0x2C]
add r2, r3, #1
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
|$LN10@cinepak_de@6|
; Line 187
ldr r3, [sp]
add r1, r3, #2
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xD8
ldr r2, [r3]
ldr r3, [sp, #0x24]
add r2, r2, r3
ldrb r3, [r1]
strb r3, [r2]
; Line 188
ldr r3, [sp]
add r0, r3, #2
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x24]
add r2, r3, #1
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 189
ldr r3, [sp]
add r1, r3, #2
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xD8
ldr r2, [r3]
ldr r3, [sp, #0x28]
add r2, r2, r3
ldrb r3, [r1]
strb r3, [r2]
; Line 190
ldr r3, [sp]
add r0, r3, #2
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x28]
add r2, r3, #1
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 191
ldr r3, [sp, #0x48]
add r3, r3, #0x8B, 28
ldr r3, [r3]
cmp r3, #0
bne |$LN9@cinepak_de@6|
; Line 192
ldr r3, [sp]
add r1, r3, #4
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xDC
ldr r2, [r3]
ldr r3, [sp, #0x18]
add r2, r2, r3
ldrb r3, [r1]
strb r3, [r2]
; Line 193
ldr r3, [sp]
add r1, r3, #5
ldr r3, [sp, #0x48]
add r3, r3, #0x7E, 28
ldr r2, [r3]
ldr r3, [sp, #0x30]
add r2, r2, r3
ldrb r3, [r1]
strb r3, [r2]
|$LN9@cinepak_de@6|
; Line 196
ldr r3, [sp]
add r0, r3, #3
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x24]
add r2, r3, #2
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 197
ldr r3, [sp]
add r0, r3, #3
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x24]
add r2, r3, #3
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 198
ldr r3, [sp]
add r0, r3, #3
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x28]
add r2, r3, #2
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 199
ldr r3, [sp]
add r0, r3, #3
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x28]
add r2, r3, #3
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 200
ldr r3, [sp, #0x48]
add r3, r3, #0x8B, 28
ldr r3, [r3]
cmp r3, #0
bne |$LN8@cinepak_de@6|
; Line 201
ldr r3, [sp]
add r0, r3, #4
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xDC
ldr r3, [sp, #0x18]
add r2, r3, #1
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 202
ldr r3, [sp]
add r0, r3, #5
ldr r3, [sp, #0x48]
add r1, r3, #0x7E, 28
ldr r3, [sp, #0x30]
add r2, r3, #1
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
|$LN8@cinepak_de@6|
; Line 203
b |$LN7@cinepak_de@6|
|$LN14@cinepak_de@6|
; Line 205
ldr r2, [sp, #0x34]
ldr r3, [sp, #0x10]
tst r2, r3
beq |$LN6@cinepak_de@6|
; Line 206
ldr r3, [sp, #0x58]
add r2, r3, #4
ldr r3, [sp, #0xC]
cmp r2, r3
bls |$LN5@cinepak_de@6|
; Line 207
mvn r3, #0
str r3, [sp, #0x38]
b |$LN27@cinepak_de@6|
|$LN5@cinepak_de@6|
; Line 209
ldr r3, [sp, #0x4C]
add r1, r3, #0xA
ldr r3, [sp, #0x58]
ldrb r3, [r3]
mov r2, r3
mov r3, #6
mul r3, r2, r3
add r3, r1, r3
str r3, [sp]
ldr r3, [sp, #0x58]
add r3, r3, #1
str r3, [sp, #0x58]
; Line 210
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xD8
ldr r2, [r3]
ldr r3, [sp, #0x1C]
add r2, r2, r3
ldr r3, [sp]
ldrb r3, [r3]
strb r3, [r2]
; Line 211
ldr r3, [sp]
add r0, r3, #1
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x1C]
add r2, r3, #1
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 212
ldr r3, [sp]
add r1, r3, #2
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xD8
ldr r2, [r3]
ldr r3, [sp, #0x20]
add r2, r2, r3
ldrb r3, [r1]
strb r3, [r2]
; Line 213
ldr r3, [sp]
add r0, r3, #3
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x20]
add r2, r3, #1
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 214
ldr r3, [sp, #0x48]
add r3, r3, #0x8B, 28
ldr r3, [r3]
cmp r3, #0
bne |$LN4@cinepak_de@6|
; Line 215
ldr r3, [sp]
add r1, r3, #4
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xDC
ldr r2, [r3]
ldr r3, [sp, #0x14]
add r2, r2, r3
ldrb r3, [r1]
strb r3, [r2]
; Line 216
ldr r3, [sp]
add r1, r3, #5
ldr r3, [sp, #0x48]
add r3, r3, #0x7E, 28
ldr r2, [r3]
ldr r3, [sp, #0x2C]
add r2, r2, r3
ldrb r3, [r1]
strb r3, [r2]
|$LN4@cinepak_de@6|
; Line 219
ldr r3, [sp, #0x4C]
add r1, r3, #0xA
ldr r3, [sp, #0x58]
ldrb r3, [r3]
mov r2, r3
mov r3, #6
mul r3, r2, r3
add r3, r1, r3
str r3, [sp]
ldr r3, [sp, #0x58]
add r3, r3, #1
str r3, [sp, #0x58]
; Line 220
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x1C]
add r2, r3, #2
ldr r3, [r1]
add r2, r3, r2
ldr r3, [sp]
ldrb r3, [r3]
strb r3, [r2]
; Line 221
ldr r3, [sp]
add r0, r3, #1
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x1C]
add r2, r3, #3
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 222
ldr r3, [sp]
add r0, r3, #2
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x20]
add r2, r3, #2
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 223
ldr r3, [sp]
add r0, r3, #3
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x20]
add r2, r3, #3
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 224
ldr r3, [sp, #0x48]
add r3, r3, #0x8B, 28
ldr r3, [r3]
cmp r3, #0
bne |$LN3@cinepak_de@6|
; Line 225
ldr r3, [sp]
add r0, r3, #4
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xDC
ldr r3, [sp, #0x14]
add r2, r3, #1
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 226
ldr r3, [sp]
add r0, r3, #5
ldr r3, [sp, #0x48]
add r1, r3, #0x7E, 28
ldr r3, [sp, #0x2C]
add r2, r3, #1
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
|$LN3@cinepak_de@6|
; Line 229
ldr r3, [sp, #0x4C]
add r1, r3, #0xA
ldr r3, [sp, #0x58]
ldrb r3, [r3]
mov r2, r3
mov r3, #6
mul r3, r2, r3
add r3, r1, r3
str r3, [sp]
ldr r3, [sp, #0x58]
add r3, r3, #1
str r3, [sp, #0x58]
; Line 230
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xD8
ldr r2, [r3]
ldr r3, [sp, #0x24]
add r2, r2, r3
ldr r3, [sp]
ldrb r3, [r3]
strb r3, [r2]
; Line 231
ldr r3, [sp]
add r0, r3, #1
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x24]
add r2, r3, #1
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 232
ldr r3, [sp]
add r1, r3, #2
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xD8
ldr r2, [r3]
ldr r3, [sp, #0x28]
add r2, r2, r3
ldrb r3, [r1]
strb r3, [r2]
; Line 233
ldr r3, [sp]
add r0, r3, #3
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x28]
add r2, r3, #1
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 234
ldr r3, [sp, #0x48]
add r3, r3, #0x8B, 28
ldr r3, [r3]
cmp r3, #0
bne |$LN2@cinepak_de@6|
; Line 235
ldr r3, [sp]
add r1, r3, #4
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r3, r3, #0xDC
ldr r2, [r3]
ldr r3, [sp, #0x18]
add r2, r2, r3
ldrb r3, [r1]
strb r3, [r2]
; Line 236
ldr r3, [sp]
add r1, r3, #5
ldr r3, [sp, #0x48]
add r3, r3, #0x7E, 28
ldr r2, [r3]
ldr r3, [sp, #0x30]
add r2, r2, r3
ldrb r3, [r1]
strb r3, [r2]
|$LN2@cinepak_de@6|
; Line 239
ldr r3, [sp, #0x4C]
add r1, r3, #0xA
ldr r3, [sp, #0x58]
ldrb r3, [r3]
mov r2, r3
mov r3, #6
mul r3, r2, r3
add r3, r1, r3
str r3, [sp]
ldr r3, [sp, #0x58]
add r3, r3, #1
str r3, [sp, #0x58]
; Line 240
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x24]
add r2, r3, #2
ldr r3, [r1]
add r2, r3, r2
ldr r3, [sp]
ldrb r3, [r3]
strb r3, [r2]
; Line 241
ldr r3, [sp]
add r0, r3, #1
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x24]
add r2, r3, #3
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 242
ldr r3, [sp]
add r0, r3, #2
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x28]
add r2, r3, #2
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 243
ldr r3, [sp]
add r0, r3, #3
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r3, [sp, #0x28]
add r2, r3, #3
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 244
ldr r3, [sp, #0x48]
add r3, r3, #0x8B, 28
ldr r3, [r3]
cmp r3, #0
bne |$LN1@cinepak_de@6|
; Line 245
ldr r3, [sp]
add r0, r3, #4
ldr r3, [sp, #0x48]
add r3, r3, #7, 24
add r1, r3, #0xDC
ldr r3, [sp, #0x18]
add r2, r3, #1
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
; Line 246
ldr r3, [sp]
add r0, r3, #5
ldr r3, [sp, #0x48]
add r1, r3, #0x7E, 28
ldr r3, [sp, #0x30]
add r2, r3, #1
ldr r3, [r1]
add r2, r3, r2
ldrb r3, [r0]
strb r3, [r2]
|$LN1@cinepak_de@6|
|$LN6@cinepak_de@6|
|$LN7@cinepak_de@6|
|$LN18@cinepak_de@6|
; Line 252
ldr r3, [sp, #0x1C]
add r3, r3, #4
str r3, [sp, #0x1C]
ldr r3, [sp, #0x20]
add r3, r3, #4
str r3, [sp, #0x20]
; Line 253
ldr r3, [sp, #0x24]
add r3, r3, #4
str r3, [sp, #0x24]
ldr r3, [sp, #0x28]
add r3, r3, #4
str r3, [sp, #0x28]
; Line 254
ldr r3, [sp, #0x14]
add r3, r3, #2
str r3, [sp, #0x14]
ldr r3, [sp, #0x18]
add r3, r3, #2
str r3, [sp, #0x18]
; Line 255
ldr r3, [sp, #0x2C]
add r3, r3, #2
str r3, [sp, #0x2C]
ldr r3, [sp, #0x30]
add r3, r3, #2
str r3, [sp, #0x30]
; Line 256
b |$LN22@cinepak_de@6|
|$LN21@cinepak_de@6|
; Line 257
b |$LN25@cinepak_de@6|
|$LN24@cinepak_de@6|
; Line 259
mov r3, #0
str r3, [sp, #0x38]
|$LN27@cinepak_de@6|
; Line 260
ldr r0, [sp, #0x38]
add sp, sp, #0x3C
ldmia sp, {r4, sp, pc}
|$LN32@cinepak_de@6|
DCD |__imp___rt_udiv|
DCD |__imp___rt_sdiv|
|$M3826|
ENDP ; |cinepak_decode_vectors|
AREA |.pdata|, PDATA
|$T3835| DCD |$LN6@cinepak_de@7|
DCD 0x40001c04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|cinepak_decode_end| PROC
; Line 432
|$LN6@cinepak_de@7|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r12, lr}
sub sp, sp, #8
|$M3832|
; Line 433
ldr r3, [sp, #0x10]
add r3, r3, #0x88
ldr r3, [r3]
str r3, [sp]
; Line 435
ldr r3, [sp]
add r3, r3, #7, 24
add r3, r3, #0xD8
ldr r3, [r3]
cmp r3, #0
beq |$LN1@cinepak_de@7|
; Line 436
ldr r3, [sp]
add r3, r3, #7, 24
add r1, r3, #0xD8
ldr r0, [sp, #0x10]
ldr r3, [sp, #0x10]
add r3, r3, #0x42, 30
ldr r3, [r3]
mov lr, pc
mov pc, r3
|$LN1@cinepak_de@7|
; Line 438
mov r3, #0
str r3, [sp, #4]
; Line 439
ldr r0, [sp, #4]
add sp, sp, #8
ldmia sp, {sp, pc}
|$M3833|
ENDP ; |cinepak_decode_end|
END