gps/GPSResources/tcpmp 0.73/amr/Pocket PC 2003 (ARMV4)/Release/dec_acelp.asm

1751 lines
40 KiB
NASM
Raw Normal View History

2019-05-01 12:32:35 +00:00
; Listing generated by Microsoft (R) Optimizing Compiler Version 14.00.50727
TTL d:\MyProject\VS2005\Tcpmp\tcpmp\amr\26204\dec_acelp.c
CODE32
AREA |.drectve|, DRECTVE
DCB "-defaultlib:LIBCMT "
DCB "-defaultlib:OLDNAMES "
EXPORT |D_ACELP_decode_2t|
IMPORT |memset|
AREA |.pdata|, PDATA
|$T1517| DCD |$LN9@D_ACELP_de|
DCD 0x40003904
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_ACELP_decode_2t| PROC
; File d:\myproject\vs2005\tcpmp\tcpmp\amr\26204\dec_acelp.c
; Line 421
|$LN9@D_ACELP_de|
mov r12, sp
stmdb sp!, {r0, r1}
stmdb sp!, {r12, lr}
sub sp, sp, #8
|$M1514|
; Line 424
mov r2, #0x80
mov r1, #0
ldr r0, [sp, #0x14]
bl memset
; Line 427
ldrsh r3, [sp, #0x10]
mov r3, r3, asr #5
and r3, r3, #0x3E
str r3, [sp, #4]
; Line 428
ldrsh r3, [sp, #0x10]
and r3, r3, #0x1F
mov r3, r3, lsl #1
add r3, r3, #1
str r3, [sp]
; Line 430
ldrsh r3, [sp, #0x10]
tst r3, #2, 22
bne |$LN4@D_ACELP_de|
; Line 432
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r2, r3, r2
mov r3, #2, 24
strh r3, [r2]
; Line 434
b |$LN3@D_ACELP_de|
|$LN4@D_ACELP_de|
; Line 436
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r2, r3, r2
mvn r3, #0xFF
mov r3, r3, lsl #1
strh r3, [r2]
|$LN3@D_ACELP_de|
; Line 439
ldrsh r3, [sp, #0x10]
tst r3, #0x20
bne |$LN2@D_ACELP_de|
; Line 441
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r2, r3, r2
mov r3, #2, 24
strh r3, [r2]
; Line 443
b |$LN1@D_ACELP_de|
|$LN2@D_ACELP_de|
; Line 445
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r2, r3, r2
mvn r3, #0xFF
mov r3, r3, lsl #1
strh r3, [r2]
|$LN1@D_ACELP_de|
; Line 449
add sp, sp, #8
ldmia sp, {sp, pc}
|$M1515|
ENDP ; |D_ACELP_decode_2t|
EXPORT |D_ACELP_decode_4t|
AREA |.pdata|, PDATA
|$T1522| DCD |$LN45@D_ACELP_de@2|
DCD 0x40013c04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_ACELP_decode_4t| PROC
; Line 483
|$LN45@D_ACELP_de@2|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r12, lr}
sub sp, sp, #0x20
|$M1519|
; Line 486
mov r2, #0x80
mov r1, #0
ldr r0, [sp, #0x30]
bl memset
; Line 489
ldrsh r3, [sp, #0x2C]
cmp r3, #0x14
bne |$LN40@D_ACELP_de@2|
; Line 491
mov r3, #0
str r3, [sp, #4]
b |$LN39@D_ACELP_de@2|
|$LN38@D_ACELP_de@2|
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
|$LN39@D_ACELP_de@2|
ldr r3, [sp, #4]
cmp r3, #4
bge |$LN37@D_ACELP_de@2|
; Line 493
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x28]
add r3, r3, r2
ldrsh r3, [r3]
str r3, [sp]
; Line 494
add r3, sp, #8
mov r2, #0
mov r1, #4
ldr r0, [sp]
bl D_ACELP_decode_1p_N1
; Line 495
ldr r3, [sp, #0x30]
ldr r2, [sp, #4]
mov r1, #1
add r0, sp, #8
bl D_ACELP_add_pulse
; Line 496
b |$LN38@D_ACELP_de@2|
|$LN37@D_ACELP_de@2|
; Line 498
b |$LN36@D_ACELP_de@2|
|$LN40@D_ACELP_de@2|
ldrsh r3, [sp, #0x2C]
cmp r3, #0x24
bne |$LN35@D_ACELP_de@2|
; Line 500
mov r3, #0
str r3, [sp, #4]
b |$LN34@D_ACELP_de@2|
|$LN33@D_ACELP_de@2|
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
|$LN34@D_ACELP_de@2|
ldr r3, [sp, #4]
cmp r3, #4
bge |$LN32@D_ACELP_de@2|
; Line 502
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x28]
add r3, r3, r2
ldrsh r3, [r3]
str r3, [sp]
; Line 503
add r3, sp, #8
mov r2, #0
mov r1, #4
ldr r0, [sp]
bl D_ACELP_decode_2p_2N1
; Line 504
ldr r3, [sp, #0x30]
ldr r2, [sp, #4]
mov r1, #2
add r0, sp, #8
bl D_ACELP_add_pulse
; Line 505
b |$LN33@D_ACELP_de@2|
|$LN32@D_ACELP_de@2|
; Line 507
b |$LN31@D_ACELP_de@2|
|$LN35@D_ACELP_de@2|
ldrsh r3, [sp, #0x2C]
cmp r3, #0x2C
bne |$LN30@D_ACELP_de@2|
; Line 509
mov r3, #0
str r3, [sp, #4]
b |$LN29@D_ACELP_de@2|
|$LN28@D_ACELP_de@2|
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
|$LN29@D_ACELP_de@2|
ldr r3, [sp, #4]
cmp r3, #2
bge |$LN27@D_ACELP_de@2|
; Line 511
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x28]
add r3, r3, r2
ldrsh r3, [r3]
str r3, [sp]
; Line 512
add r3, sp, #8
mov r2, #0
mov r1, #4
ldr r0, [sp]
bl D_ACELP_decode_3p_3N1
; Line 513
ldr r3, [sp, #0x30]
ldr r2, [sp, #4]
mov r1, #3
add r0, sp, #8
bl D_ACELP_add_pulse
; Line 514
b |$LN28@D_ACELP_de@2|
|$LN27@D_ACELP_de@2|
; Line 516
mov r3, #2
str r3, [sp, #4]
b |$LN26@D_ACELP_de@2|
|$LN25@D_ACELP_de@2|
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
|$LN26@D_ACELP_de@2|
ldr r3, [sp, #4]
cmp r3, #4
bge |$LN24@D_ACELP_de@2|
; Line 518
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x28]
add r3, r3, r2
ldrsh r3, [r3]
str r3, [sp]
; Line 519
add r3, sp, #8
mov r2, #0
mov r1, #4
ldr r0, [sp]
bl D_ACELP_decode_2p_2N1
; Line 520
ldr r3, [sp, #0x30]
ldr r2, [sp, #4]
mov r1, #2
add r0, sp, #8
bl D_ACELP_add_pulse
; Line 521
b |$LN25@D_ACELP_de@2|
|$LN24@D_ACELP_de@2|
; Line 523
b |$LN23@D_ACELP_de@2|
|$LN30@D_ACELP_de@2|
ldrsh r3, [sp, #0x2C]
cmp r3, #0x34
bne |$LN22@D_ACELP_de@2|
; Line 525
mov r3, #0
str r3, [sp, #4]
b |$LN21@D_ACELP_de@2|
|$LN20@D_ACELP_de@2|
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
|$LN21@D_ACELP_de@2|
ldr r3, [sp, #4]
cmp r3, #4
bge |$LN19@D_ACELP_de@2|
; Line 527
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x28]
add r3, r3, r2
ldrsh r3, [r3]
str r3, [sp]
; Line 528
add r3, sp, #8
mov r2, #0
mov r1, #4
ldr r0, [sp]
bl D_ACELP_decode_3p_3N1
; Line 529
ldr r3, [sp, #0x30]
ldr r2, [sp, #4]
mov r1, #3
add r0, sp, #8
bl D_ACELP_add_pulse
; Line 530
b |$LN20@D_ACELP_de@2|
|$LN19@D_ACELP_de@2|
; Line 532
b |$LN18@D_ACELP_de@2|
|$LN22@D_ACELP_de@2|
ldrsh r3, [sp, #0x2C]
cmp r3, #0x40
bne |$LN17@D_ACELP_de@2|
; Line 534
mov r3, #0
str r3, [sp, #4]
b |$LN16@D_ACELP_de@2|
|$LN15@D_ACELP_de@2|
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
|$LN16@D_ACELP_de@2|
ldr r3, [sp, #4]
cmp r3, #4
bge |$LN14@D_ACELP_de@2|
; Line 536
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x28]
add r3, r3, r2
ldrsh r3, [r3]
mov r0, r3, lsl #14
ldr r3, [sp, #4]
add r1, r3, #4
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x28]
add r3, r3, r2
ldrsh r3, [r3]
add r3, r0, r3
str r3, [sp]
; Line 537
add r3, sp, #8
mov r2, #0
mov r1, #4
ldr r0, [sp]
bl D_ACELP_decode_4p_4N
; Line 538
ldr r3, [sp, #0x30]
ldr r2, [sp, #4]
mov r1, #4
add r0, sp, #8
bl D_ACELP_add_pulse
; Line 539
b |$LN15@D_ACELP_de@2|
|$LN14@D_ACELP_de@2|
; Line 541
b |$LN13@D_ACELP_de@2|
|$LN17@D_ACELP_de@2|
ldrsh r3, [sp, #0x2C]
cmp r3, #0x48
bne |$LN12@D_ACELP_de@2|
; Line 543
mov r3, #0
str r3, [sp, #4]
b |$LN11@D_ACELP_de@2|
|$LN10@D_ACELP_de@2|
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
|$LN11@D_ACELP_de@2|
ldr r3, [sp, #4]
cmp r3, #2
bge |$LN9@D_ACELP_de@2|
; Line 545
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x28]
add r3, r3, r2
ldrsh r3, [r3]
mov r0, r3, lsl #10
ldr r3, [sp, #4]
add r1, r3, #4
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x28]
add r3, r3, r2
ldrsh r3, [r3]
add r3, r0, r3
str r3, [sp]
; Line 546
add r3, sp, #8
mov r2, #0
mov r1, #4
ldr r0, [sp]
bl D_ACELP_decode_5p_5N
; Line 547
ldr r3, [sp, #0x30]
ldr r2, [sp, #4]
mov r1, #5
add r0, sp, #8
bl D_ACELP_add_pulse
; Line 548
b |$LN10@D_ACELP_de@2|
|$LN9@D_ACELP_de@2|
; Line 550
mov r3, #2
str r3, [sp, #4]
b |$LN8@D_ACELP_de@2|
|$LN7@D_ACELP_de@2|
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
|$LN8@D_ACELP_de@2|
ldr r3, [sp, #4]
cmp r3, #4
bge |$LN6@D_ACELP_de@2|
; Line 552
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x28]
add r3, r3, r2
ldrsh r3, [r3]
mov r0, r3, lsl #14
ldr r3, [sp, #4]
add r1, r3, #4
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x28]
add r3, r3, r2
ldrsh r3, [r3]
add r3, r0, r3
str r3, [sp]
; Line 553
add r3, sp, #8
mov r2, #0
mov r1, #4
ldr r0, [sp]
bl D_ACELP_decode_4p_4N
; Line 554
ldr r3, [sp, #0x30]
ldr r2, [sp, #4]
mov r1, #4
add r0, sp, #8
bl D_ACELP_add_pulse
; Line 555
b |$LN7@D_ACELP_de@2|
|$LN6@D_ACELP_de@2|
; Line 557
b |$LN5@D_ACELP_de@2|
|$LN12@D_ACELP_de@2|
ldrsh r3, [sp, #0x2C]
cmp r3, #0x58
bne |$LN4@D_ACELP_de@2|
; Line 559
mov r3, #0
str r3, [sp, #4]
b |$LN3@D_ACELP_de@2|
|$LN2@D_ACELP_de@2|
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
|$LN3@D_ACELP_de@2|
ldr r3, [sp, #4]
cmp r3, #4
bge |$LN1@D_ACELP_de@2|
; Line 561
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x28]
add r3, r3, r2
ldrsh r3, [r3]
mov r0, r3, lsl #11
ldr r3, [sp, #4]
add r1, r3, #4
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x28]
add r3, r3, r2
ldrsh r3, [r3]
add r3, r0, r3
str r3, [sp]
; Line 562
add r3, sp, #8
mov r2, #0
mov r1, #4
ldr r0, [sp]
bl D_ACELP_decode_6p_6N_2
; Line 563
ldr r3, [sp, #0x30]
ldr r2, [sp, #4]
mov r1, #6
add r0, sp, #8
bl D_ACELP_add_pulse
; Line 564
b |$LN2@D_ACELP_de@2|
|$LN1@D_ACELP_de@2|
|$LN4@D_ACELP_de@2|
|$LN5@D_ACELP_de@2|
|$LN13@D_ACELP_de@2|
|$LN18@D_ACELP_de@2|
|$LN23@D_ACELP_de@2|
|$LN31@D_ACELP_de@2|
|$LN36@D_ACELP_de@2|
; Line 567
add sp, sp, #0x20
ldmia sp, {sp, pc}
|$M1520|
ENDP ; |D_ACELP_decode_4t|
AREA |.pdata|, PDATA
|$T1527| DCD |$LN10@D_ACELP_ad|
DCD 0x40004304
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_ACELP_add_pulse| PROC
; Line 34
|$LN10@D_ACELP_ad|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #8
|$M1524|
; Line 37
mov r3, #0
str r3, [sp, #4]
b |$LN5@D_ACELP_ad|
|$LN4@D_ACELP_ad|
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
|$LN5@D_ACELP_ad|
ldr r2, [sp, #4]
ldr r3, [sp, #0x14]
cmp r2, r3
bge |$LN3@D_ACELP_ad|
; Line 40
ldr r1, [sp, #4]
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x10]
add r3, r3, r2
ldr r3, [r3]
and r3, r3, #0xF
mov r2, r3, lsl #2
ldr r3, [sp, #0x18]
add r3, r2, r3
str r3, [sp]
; Line 42
ldr r1, [sp, #4]
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x10]
add r3, r3, r2
ldr r3, [r3]
tst r3, #0x10
bne |$LN2@D_ACELP_ad|
; Line 44
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x1C]
add r3, r3, r2
ldrsh r3, [r3]
add r3, r3, #2, 24
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x1C]
add r3, r3, r2
strh r0, [r3]
; Line 46
b |$LN1@D_ACELP_ad|
|$LN2@D_ACELP_ad|
; Line 48
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x1C]
add r3, r3, r2
ldrsh r3, [r3]
sub r3, r3, #2, 24
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x1C]
add r3, r3, r2
strh r0, [r3]
|$LN1@D_ACELP_ad|
; Line 50
b |$LN4@D_ACELP_ad|
|$LN3@D_ACELP_ad|
; Line 53
add sp, sp, #8
ldmia sp, {sp, pc}
|$M1525|
ENDP ; |D_ACELP_add_pulse|
AREA |.pdata|, PDATA
|$T1532| DCD |$LN6@D_ACELP_de@3|
DCD 0x40001f04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_ACELP_decode_1p_N1| PROC
; Line 74
|$LN6@D_ACELP_de@3|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0xC
|$M1529|
; Line 77
ldr r2, [sp, #0x18]
mov r3, #1
mov r3, r3, lsl r2
sub r3, r3, #1
str r3, [sp, #8]
; Line 82
ldr r2, [sp, #0x14]
ldr r3, [sp, #8]
and r2, r2, r3
ldr r3, [sp, #0x1C]
add r3, r2, r3
str r3, [sp, #4]
; Line 83
ldr r2, [sp, #0x14]
ldr r3, [sp, #0x18]
mov r3, r2, asr r3
and r3, r3, #1
str r3, [sp]
; Line 85
ldr r3, [sp]
cmp r3, #1
bne |$LN1@D_ACELP_de@3|
; Line 87
ldr r3, [sp, #4]
add r3, r3, #0x10
str r3, [sp, #4]
|$LN1@D_ACELP_de@3|
; Line 90
ldr r2, [sp, #4]
ldr r3, [sp, #0x20]
str r2, [r3]
; Line 93
add sp, sp, #0xC
ldmia sp, {sp, pc}
|$M1530|
ENDP ; |D_ACELP_decode_1p_N1|
AREA |.pdata|, PDATA
|$T1537| DCD |$LN10@D_ACELP_de@4|
DCD 0x40003f04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_ACELP_decode_2p_2N1| PROC
; Line 113
|$LN10@D_ACELP_de@4|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0x10
|$M1534|
; Line 117
ldr r2, [sp, #0x1C]
mov r3, #1
mov r3, r3, lsl r2
sub r3, r3, #1
str r3, [sp, #0xC]
; Line 122
ldr r2, [sp, #0x18]
ldr r3, [sp, #0x1C]
mov r2, r2, asr r3
ldr r3, [sp, #0xC]
and r2, r2, r3
ldr r3, [sp, #0x20]
add r3, r2, r3
str r3, [sp, #8]
; Line 123
ldr r1, [sp, #0x1C]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x18]
mov r3, r3, asr r2
and r3, r3, #1
str r3, [sp, #4]
; Line 124
ldr r2, [sp, #0x18]
ldr r3, [sp, #0xC]
and r2, r2, r3
ldr r3, [sp, #0x20]
add r3, r2, r3
str r3, [sp]
; Line 126
ldr r2, [sp]
ldr r3, [sp, #8]
subs r3, r2, r3
bpl |$LN5@D_ACELP_de@4|
; Line 128
ldr r3, [sp, #4]
cmp r3, #1
bne |$LN4@D_ACELP_de@4|
; Line 130
ldr r3, [sp, #8]
add r3, r3, #0x10
str r3, [sp, #8]
; Line 132
b |$LN3@D_ACELP_de@4|
|$LN4@D_ACELP_de@4|
; Line 134
ldr r3, [sp]
add r3, r3, #0x10
str r3, [sp]
|$LN3@D_ACELP_de@4|
; Line 137
b |$LN2@D_ACELP_de@4|
|$LN5@D_ACELP_de@4|
; Line 139
ldr r3, [sp, #4]
cmp r3, #1
bne |$LN1@D_ACELP_de@4|
; Line 141
ldr r3, [sp, #8]
add r3, r3, #0x10
str r3, [sp, #8]
; Line 142
ldr r3, [sp]
add r3, r3, #0x10
str r3, [sp]
|$LN1@D_ACELP_de@4|
|$LN2@D_ACELP_de@4|
; Line 146
ldr r2, [sp, #8]
ldr r3, [sp, #0x24]
str r2, [r3]
; Line 147
ldr r3, [sp, #0x24]
add r2, r3, #4
ldr r3, [sp]
str r3, [r2]
; Line 150
add sp, sp, #0x10
ldmia sp, {sp, pc}
|$M1535|
ENDP ; |D_ACELP_decode_2p_2N1|
AREA |.pdata|, PDATA
|$T1542| DCD |$LN6@D_ACELP_de@5|
DCD 0x40003e04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_ACELP_decode_3p_3N1| PROC
; Line 170
|$LN6@D_ACELP_de@5|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0xC
|$M1539|
; Line 176
ldr r2, [sp, #0x18]
mov r3, #2
mul r3, r2, r3
sub r2, r3, #1
mov r3, #1
mov r3, r3, lsl r2
sub r3, r3, #1
str r3, [sp]
; Line 177
ldr r2, [sp, #0x14]
ldr r3, [sp]
and r3, r2, r3
str r3, [sp, #4]
; Line 178
ldr r3, [sp, #0x1C]
str r3, [sp, #8]
; Line 180
ldr r2, [sp, #0x18]
mov r3, #2
mul r3, r2, r3
sub r2, r3, #1
ldr r3, [sp, #0x14]
mov r3, r3, asr r2
and r3, r3, #1
cmp r3, #1
bne |$LN1@D_ACELP_de@5|
; Line 182
ldr r3, [sp, #0x18]
sub r2, r3, #1
mov r3, #1
mov r2, r3, lsl r2
ldr r3, [sp, #8]
add r3, r3, r2
str r3, [sp, #8]
|$LN1@D_ACELP_de@5|
; Line 185
ldr r3, [sp, #0x20]
ldr r2, [sp, #8]
ldr r1, [sp, #0x18]
sub r1, r1, #1
ldr r0, [sp, #4]
bl D_ACELP_decode_2p_2N1
; Line 186
ldr r3, [sp, #0x18]
add r2, r3, #1
mov r3, #1
mov r3, r3, lsl r2
sub r3, r3, #1
str r3, [sp]
; Line 187
ldr r1, [sp, #0x18]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x14]
mov r2, r3, asr r2
ldr r3, [sp]
and r3, r2, r3
str r3, [sp, #4]
; Line 188
ldr r3, [sp, #0x20]
add r3, r3, #8
ldr r2, [sp, #0x1C]
ldr r1, [sp, #0x18]
ldr r0, [sp, #4]
bl D_ACELP_decode_1p_N1
; Line 191
add sp, sp, #0xC
ldmia sp, {sp, pc}
|$M1540|
ENDP ; |D_ACELP_decode_3p_3N1|
AREA |.pdata|, PDATA
|$T1547| DCD |$LN13@D_ACELP_de@6|
DCD 0x40006804
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_ACELP_decode_4p_4N| PROC
; Line 252
|$LN13@D_ACELP_de@6|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0xC
|$M1544|
; Line 258
ldr r3, [sp, #0x18]
sub r3, r3, #1
str r3, [sp]
; Line 259
ldr r2, [sp]
mov r3, #1
mov r2, r3, lsl r2
ldr r3, [sp, #0x1C]
add r3, r3, r2
str r3, [sp, #4]
; Line 261
ldr r2, [sp, #0x18]
mov r3, #4
mul r3, r2, r3
sub r2, r3, #2
ldr r3, [sp, #0x14]
mov r3, r3, asr r2
and r3, r3, #3
str r3, [sp, #8]
ldr r3, [sp, #8]
cmp r3, #0
beq |$LN6@D_ACELP_de@6|
ldr r3, [sp, #8]
cmp r3, #1
beq |$LN3@D_ACELP_de@6|
ldr r3, [sp, #8]
cmp r3, #2
beq |$LN2@D_ACELP_de@6|
ldr r3, [sp, #8]
cmp r3, #3
beq |$LN1@D_ACELP_de@6|
b |$LN7@D_ACELP_de@6|
|$LN6@D_ACELP_de@6|
; Line 264
ldr r2, [sp]
mov r3, #4
mul r3, r2, r3
add r2, r3, #1
ldr r3, [sp, #0x14]
mov r3, r3, asr r2
tst r3, #1
bne |$LN5@D_ACELP_de@6|
; Line 266
ldr r3, [sp, #0x20]
ldr r2, [sp, #0x1C]
ldr r1, [sp]
ldr r0, [sp, #0x14]
bl D_ACELP_decode_4p_4N1
; Line 268
b |$LN4@D_ACELP_de@6|
|$LN5@D_ACELP_de@6|
; Line 270
ldr r3, [sp, #0x20]
ldr r2, [sp, #4]
ldr r1, [sp]
ldr r0, [sp, #0x14]
bl D_ACELP_decode_4p_4N1
|$LN4@D_ACELP_de@6|
; Line 272
b |$LN7@D_ACELP_de@6|
|$LN3@D_ACELP_de@6|
; Line 275
ldr r3, [sp, #0x20]
ldr r2, [sp, #0x1C]
ldr r1, [sp]
ldr lr, [sp]
mov r0, #3
mul r0, lr, r0
add lr, r0, #1
ldr r0, [sp, #0x14]
mov r0, r0, asr lr
bl D_ACELP_decode_1p_N1
; Line 276
ldr r3, [sp, #0x20]
add r3, r3, #4
ldr r2, [sp, #4]
ldr r1, [sp]
ldr r0, [sp, #0x14]
bl D_ACELP_decode_3p_3N1
; Line 277
b |$LN7@D_ACELP_de@6|
|$LN2@D_ACELP_de@6|
; Line 280
ldr r3, [sp, #0x20]
ldr r2, [sp, #0x1C]
ldr r1, [sp]
ldr lr, [sp]
mov r0, #2
mul r0, lr, r0
add lr, r0, #1
ldr r0, [sp, #0x14]
mov r0, r0, asr lr
bl D_ACELP_decode_2p_2N1
; Line 281
ldr r3, [sp, #0x20]
add r3, r3, #8
ldr r2, [sp, #4]
ldr r1, [sp]
ldr r0, [sp, #0x14]
bl D_ACELP_decode_2p_2N1
; Line 282
b |$LN7@D_ACELP_de@6|
|$LN1@D_ACELP_de@6|
; Line 285
ldr r3, [sp, #0x20]
ldr r2, [sp, #0x1C]
ldr r1, [sp]
ldr r0, [sp]
add lr, r0, #1
ldr r0, [sp, #0x14]
mov r0, r0, asr lr
bl D_ACELP_decode_3p_3N1
; Line 286
ldr r3, [sp, #0x20]
add r3, r3, #0xC
ldr r2, [sp, #4]
ldr r1, [sp]
ldr r0, [sp, #0x14]
bl D_ACELP_decode_1p_N1
|$LN7@D_ACELP_de@6|
; Line 291
add sp, sp, #0xC
ldmia sp, {sp, pc}
|$M1545|
ENDP ; |D_ACELP_decode_4p_4N|
AREA |.pdata|, PDATA
|$T1552| DCD |$LN6@D_ACELP_de@7|
DCD 0x40004004
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_ACELP_decode_4p_4N1| PROC
; Line 211
|$LN6@D_ACELP_de@7|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0xC
|$M1549|
; Line 217
ldr r2, [sp, #0x18]
mov r3, #2
mul r3, r2, r3
sub r2, r3, #1
mov r3, #1
mov r3, r3, lsl r2
sub r3, r3, #1
str r3, [sp]
; Line 218
ldr r2, [sp, #0x14]
ldr r3, [sp]
and r3, r2, r3
str r3, [sp, #4]
; Line 219
ldr r3, [sp, #0x1C]
str r3, [sp, #8]
; Line 221
ldr r2, [sp, #0x18]
mov r3, #2
mul r3, r2, r3
sub r2, r3, #1
ldr r3, [sp, #0x14]
mov r3, r3, asr r2
and r3, r3, #1
cmp r3, #1
bne |$LN1@D_ACELP_de@7|
; Line 223
ldr r3, [sp, #0x18]
sub r2, r3, #1
mov r3, #1
mov r2, r3, lsl r2
ldr r3, [sp, #8]
add r3, r3, r2
str r3, [sp, #8]
|$LN1@D_ACELP_de@7|
; Line 226
ldr r3, [sp, #0x20]
ldr r2, [sp, #8]
ldr r1, [sp, #0x18]
sub r1, r1, #1
ldr r0, [sp, #4]
bl D_ACELP_decode_2p_2N1
; Line 227
ldr r2, [sp, #0x18]
mov r3, #2
mul r3, r2, r3
add r2, r3, #1
mov r3, #1
mov r3, r3, lsl r2
sub r3, r3, #1
str r3, [sp]
; Line 228
ldr r1, [sp, #0x18]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x14]
mov r2, r3, asr r2
ldr r3, [sp]
and r3, r2, r3
str r3, [sp, #4]
; Line 229
ldr r3, [sp, #0x20]
add r3, r3, #8
ldr r2, [sp, #0x1C]
ldr r1, [sp, #0x18]
ldr r0, [sp, #4]
bl D_ACELP_decode_2p_2N1
; Line 232
add sp, sp, #0xC
ldmia sp, {sp, pc}
|$M1550|
ENDP ; |D_ACELP_decode_4p_4N1|
AREA |.pdata|, PDATA
|$T1557| DCD |$LN7@D_ACELP_de@8|
DCD 0x40003504
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_ACELP_decode_5p_5N| PROC
; Line 311
|$LN7@D_ACELP_de@8|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0xC
|$M1554|
; Line 318
ldr r3, [sp, #0x18]
sub r3, r3, #1
str r3, [sp]
; Line 319
ldr r2, [sp]
mov r3, #1
mov r2, r3, lsl r2
ldr r3, [sp, #0x1C]
add r3, r3, r2
str r3, [sp, #8]
; Line 320
ldr r2, [sp, #0x18]
mov r3, #2
mul r3, r2, r3
add r2, r3, #1
ldr r3, [sp, #0x14]
mov r3, r3, asr r2
str r3, [sp, #4]
; Line 322
ldr r2, [sp, #0x18]
mov r3, #5
mul r3, r2, r3
sub r2, r3, #1
ldr r3, [sp, #0x14]
mov r3, r3, asr r2
tst r3, #1
bne |$LN2@D_ACELP_de@8|
; Line 324
ldr r3, [sp, #0x20]
ldr r2, [sp, #0x1C]
ldr r1, [sp]
ldr r0, [sp, #4]
bl D_ACELP_decode_3p_3N1
; Line 325
ldr r3, [sp, #0x20]
add r3, r3, #0xC
ldr r2, [sp, #0x1C]
ldr r1, [sp, #0x18]
ldr r0, [sp, #0x14]
bl D_ACELP_decode_2p_2N1
; Line 327
b |$LN1@D_ACELP_de@8|
|$LN2@D_ACELP_de@8|
; Line 329
ldr r3, [sp, #0x20]
ldr r2, [sp, #8]
ldr r1, [sp]
ldr r0, [sp, #4]
bl D_ACELP_decode_3p_3N1
; Line 330
ldr r3, [sp, #0x20]
add r3, r3, #0xC
ldr r2, [sp, #0x1C]
ldr r1, [sp, #0x18]
ldr r0, [sp, #0x14]
bl D_ACELP_decode_2p_2N1
|$LN1@D_ACELP_de@8|
; Line 334
add sp, sp, #0xC
ldmia sp, {sp, pc}
|$M1555|
ENDP ; |D_ACELP_decode_5p_5N|
AREA |.pdata|, PDATA
|$T1562| DCD |$LN13@D_ACELP_de@9|
DCD 0x40007204
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_ACELP_decode_6p_6N_2| PROC
; Line 354
|$LN13@D_ACELP_de@9|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0x14
|$M1559|
; Line 357
ldr r3, [sp, #0x20]
sub r3, r3, #1
str r3, [sp]
; Line 358
ldr r2, [sp]
mov r3, #1
mov r2, r3, lsl r2
ldr r3, [sp, #0x24]
add r3, r3, r2
str r3, [sp, #0xC]
; Line 359
ldr r3, [sp, #0xC]
str r3, [sp, #8]
ldr r3, [sp, #8]
str r3, [sp, #4]
; Line 361
ldr r2, [sp, #0x20]
mov r3, #6
mul r3, r2, r3
sub r2, r3, #5
ldr r3, [sp, #0x1C]
mov r3, r3, asr r2
tst r3, #1
bne |$LN8@D_ACELP_de@9|
; Line 363
ldr r3, [sp, #0x24]
str r3, [sp, #4]
; Line 365
b |$LN7@D_ACELP_de@9|
|$LN8@D_ACELP_de@9|
; Line 367
ldr r3, [sp, #0x24]
str r3, [sp, #8]
|$LN7@D_ACELP_de@9|
; Line 370
ldr r2, [sp, #0x20]
mov r3, #6
mul r3, r2, r3
sub r2, r3, #4
ldr r3, [sp, #0x1C]
mov r3, r3, asr r2
and r3, r3, #3
str r3, [sp, #0x10]
ldr r3, [sp, #0x10]
cmp r3, #0
beq |$LN4@D_ACELP_de@9|
ldr r3, [sp, #0x10]
cmp r3, #1
beq |$LN3@D_ACELP_de@9|
ldr r3, [sp, #0x10]
cmp r3, #2
beq |$LN2@D_ACELP_de@9|
ldr r3, [sp, #0x10]
cmp r3, #3
beq |$LN1@D_ACELP_de@9|
b |$LN5@D_ACELP_de@9|
|$LN4@D_ACELP_de@9|
; Line 373
ldr r3, [sp, #0x28]
ldr r2, [sp, #4]
ldr r1, [sp]
ldr lr, [sp, #0x1C]
ldr r0, [sp, #0x20]
mov r0, lr, asr r0
bl D_ACELP_decode_5p_5N
; Line 374
ldr r3, [sp, #0x28]
add r3, r3, #0x14
ldr r2, [sp, #4]
ldr r1, [sp]
ldr r0, [sp, #0x1C]
bl D_ACELP_decode_1p_N1
; Line 375
b |$LN5@D_ACELP_de@9|
|$LN3@D_ACELP_de@9|
; Line 378
ldr r3, [sp, #0x28]
ldr r2, [sp, #4]
ldr r1, [sp]
ldr lr, [sp, #0x1C]
ldr r0, [sp, #0x20]
mov r0, lr, asr r0
bl D_ACELP_decode_5p_5N
; Line 379
ldr r3, [sp, #0x28]
add r3, r3, #0x14
ldr r2, [sp, #8]
ldr r1, [sp]
ldr r0, [sp, #0x1C]
bl D_ACELP_decode_1p_N1
; Line 380
b |$LN5@D_ACELP_de@9|
|$LN2@D_ACELP_de@9|
; Line 383
ldr r3, [sp, #0x28]
ldr r2, [sp, #4]
ldr r1, [sp]
ldr lr, [sp]
mov r0, #2
mul r0, lr, r0
add lr, r0, #1
ldr r0, [sp, #0x1C]
mov r0, r0, asr lr
bl D_ACELP_decode_4p_4N
; Line 384
ldr r3, [sp, #0x28]
add r3, r3, #0x10
ldr r2, [sp, #8]
ldr r1, [sp]
ldr r0, [sp, #0x1C]
bl D_ACELP_decode_2p_2N1
; Line 385
b |$LN5@D_ACELP_de@9|
|$LN1@D_ACELP_de@9|
; Line 388
ldr r3, [sp, #0x28]
ldr r2, [sp, #0x24]
ldr r1, [sp]
ldr lr, [sp]
mov r0, #3
mul r0, lr, r0
add lr, r0, #1
ldr r0, [sp, #0x1C]
mov r0, r0, asr lr
bl D_ACELP_decode_3p_3N1
; Line 389
ldr r3, [sp, #0x28]
add r3, r3, #0xC
ldr r2, [sp, #0xC]
ldr r1, [sp]
ldr r0, [sp, #0x1C]
bl D_ACELP_decode_3p_3N1
|$LN5@D_ACELP_de@9|
; Line 394
add sp, sp, #0x14
ldmia sp, {sp, pc}
|$M1560|
ENDP ; |D_ACELP_decode_6p_6N_2|
EXPORT |D_ACELP_phase_dispersion|
IMPORT |D_ROM_ph_imp_mid|
IMPORT |D_ROM_ph_imp_low|
IMPORT |memset|
AREA |.pdata|, PDATA
|$T1568| DCD |$LN42@D_ACELP_ph|
DCD 0x40012d04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_ACELP_phase_dispersion| PROC
; Line 592
|$LN42@D_ACELP_ph|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0x86, 30
|$M1565|
; Line 593
mov r3, #0
str r3, [sp, #4]
mov r2, #0x7F, 30
mov r1, #0
add r0, sp, #8
bl memset
; Line 597
ldr r3, [sp, #0x230]
str r3, [sp, #0x20C]
; Line 598
ldr r3, [sp, #0x230]
add r3, r3, #2
str r3, [sp, #0x204]
; Line 599
ldr r3, [sp, #0x230]
add r3, r3, #4
str r3, [sp, #0x208]
; Line 601
add r2, sp, #2, 24
ldrsh r2, [r2, #0x24]
mov r3, #0x26, 24
orr r3, r3, #0x66
cmp r2, r3
bge |$LN37@D_ACELP_ph|
; Line 603
mov r3, #0
str r3, [sp, #0x210]
b |$LN36@D_ACELP_ph|
|$LN37@D_ACELP_ph|
; Line 605
add r2, sp, #2, 24
ldrsh r2, [r2, #0x24]
mov r3, #0x39, 24
orr r3, r3, #0x9A
cmp r2, r3
bge |$LN35@D_ACELP_ph|
; Line 607
mov r3, #1
str r3, [sp, #0x210]
; Line 609
b |$LN34@D_ACELP_ph|
|$LN35@D_ACELP_ph|
; Line 611
mov r3, #2
str r3, [sp, #0x210]
|$LN34@D_ACELP_ph|
|$LN36@D_ACELP_ph|
; Line 614
mov r3, #5
str r3, [sp]
b |$LN33@D_ACELP_ph|
|$LN32@D_ACELP_ph|
ldr r3, [sp]
sub r3, r3, #1
str r3, [sp]
|$LN33@D_ACELP_ph|
ldr r3, [sp]
cmp r3, #0
ble |$LN31@D_ACELP_ph|
; Line 616
ldr r3, [sp]
sub r1, r3, #1
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x208]
add r0, r3, r2
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x208]
add r2, r3, r2
ldrsh r3, [r0]
strh r3, [r2]
; Line 617
b |$LN32@D_ACELP_ph|
|$LN31@D_ACELP_ph|
; Line 618
add r2, sp, #2, 24
ldrsh r2, [r2, #0x24]
ldr r3, [sp, #0x208]
strh r2, [r3]
; Line 620
add r2, sp, #2, 24
ldrsh r2, [r2, #0x20]
ldr r3, [sp, #0x204]
ldrsh r3, [r3]
sub r2, r2, r3
ldr r3, [sp, #0x204]
ldrsh r3, [r3]
mov r3, r3, lsl #1
cmp r2, r3
ble |$LN30@D_ACELP_ph|
; Line 623
ldr r3, [sp, #0x210]
cmp r3, #2
bge |$LN29@D_ACELP_ph|
; Line 625
ldr r3, [sp, #0x210]
add r3, r3, #1
str r3, [sp, #0x210]
|$LN29@D_ACELP_ph|
; Line 628
b |$LN28@D_ACELP_ph|
|$LN30@D_ACELP_ph|
; Line 630
mov r3, #0
str r3, [sp, #0x214]
; Line 632
mov r3, #0
str r3, [sp]
b |$LN27@D_ACELP_ph|
|$LN26@D_ACELP_ph|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN27@D_ACELP_ph|
ldr r3, [sp]
cmp r3, #6
bge |$LN25@D_ACELP_ph|
; Line 634
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x208]
add r3, r3, r2
ldrsh r2, [r3]
mov r3, #0x26, 24
orr r3, r3, #0x66
cmp r2, r3
bge |$LN24@D_ACELP_ph|
; Line 635
ldr r3, [sp, #0x214]
add r3, r3, #1
str r3, [sp, #0x214]
|$LN24@D_ACELP_ph|
; Line 636
b |$LN26@D_ACELP_ph|
|$LN25@D_ACELP_ph|
; Line 638
ldr r3, [sp, #0x214]
cmp r3, #2
ble |$LN23@D_ACELP_ph|
; Line 640
mov r3, #0
str r3, [sp, #0x210]
|$LN23@D_ACELP_ph|
; Line 643
ldr r3, [sp, #0x20C]
ldrsh r2, [r3]
ldr r3, [sp, #0x210]
sub r3, r3, r2
cmp r3, #1
ble |$LN22@D_ACELP_ph|
; Line 645
ldr r3, [sp, #0x210]
sub r3, r3, #1
str r3, [sp, #0x210]
|$LN22@D_ACELP_ph|
|$LN28@D_ACELP_ph|
; Line 648
add r2, sp, #2, 24
ldrsh r2, [r2, #0x20]
ldr r3, [sp, #0x204]
strh r2, [r3]
; Line 649
ldr r3, [sp, #0x210]
mov r2, r3, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0x20C]
strh r2, [r3]
; Line 652
add r2, sp, #2, 24
ldrsh r2, [r2, #0x2C]
ldr r3, [sp, #0x210]
add r3, r3, r2
str r3, [sp, #0x210]
; Line 654
ldr r3, [sp, #0x210]
cmp r3, #0
bne |$LN21@D_ACELP_ph|
; Line 656
mov r3, #0
str r3, [sp]
b |$LN20@D_ACELP_ph|
|$LN19@D_ACELP_ph|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN20@D_ACELP_ph|
ldr r3, [sp]
cmp r3, #0x40
bge |$LN18@D_ACELP_ph|
; Line 658
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x228]
add r3, r3, r2
ldrsh r3, [r3]
cmp r3, #0
beq |$LN17@D_ACELP_ph|
; Line 660
mov r3, #0
str r3, [sp, #0x214]
b |$LN16@D_ACELP_ph|
|$LN15@D_ACELP_ph|
ldr r3, [sp, #0x214]
add r3, r3, #1
str r3, [sp, #0x214]
|$LN16@D_ACELP_ph|
ldr r3, [sp, #0x214]
cmp r3, #0x40
bge |$LN14@D_ACELP_ph|
; Line 663
ldr r2, [sp]
ldr r3, [sp, #0x214]
add r1, r2, r3
mov r3, #4
mul r2, r1, r3
add r3, sp, #4
add lr, r3, r2
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x228]
add r3, r3, r2
ldrsh r0, [r3]
ldr r1, [sp, #0x214]
mov r3, #2
mul r2, r1, r3
ldr r3, [pc, #0x1D8]
add r3, r3, r2
ldrsh r3, [r3]
mul r3, r0, r3
add r3, r3, #1, 18
mov r2, r3, asr #15
ldr r3, [lr]
add r0, r3, r2
ldr r2, [sp]
ldr r3, [sp, #0x214]
add r1, r2, r3
mov r3, #4
mul r2, r1, r3
add r3, sp, #4
add r3, r3, r2
str r0, [r3]
; Line 664
b |$LN15@D_ACELP_ph|
|$LN14@D_ACELP_ph|
|$LN17@D_ACELP_ph|
; Line 666
b |$LN19@D_ACELP_ph|
|$LN18@D_ACELP_ph|
; Line 668
b |$LN13@D_ACELP_ph|
|$LN21@D_ACELP_ph|
ldr r3, [sp, #0x210]
cmp r3, #1
bne |$LN12@D_ACELP_ph|
; Line 670
mov r3, #0
str r3, [sp]
b |$LN11@D_ACELP_ph|
|$LN10@D_ACELP_ph|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN11@D_ACELP_ph|
ldr r3, [sp]
cmp r3, #0x40
bge |$LN9@D_ACELP_ph|
; Line 672
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x228]
add r3, r3, r2
ldrsh r3, [r3]
cmp r3, #0
beq |$LN8@D_ACELP_ph|
; Line 674
mov r3, #0
str r3, [sp, #0x214]
b |$LN7@D_ACELP_ph|
|$LN6@D_ACELP_ph|
ldr r3, [sp, #0x214]
add r3, r3, #1
str r3, [sp, #0x214]
|$LN7@D_ACELP_ph|
ldr r3, [sp, #0x214]
cmp r3, #0x40
bge |$LN5@D_ACELP_ph|
; Line 677
ldr r2, [sp]
ldr r3, [sp, #0x214]
add r1, r2, r3
mov r3, #4
mul r2, r1, r3
add r3, sp, #4
add lr, r3, r2
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x228]
add r3, r3, r2
ldrsh r0, [r3]
ldr r1, [sp, #0x214]
mov r3, #2
mul r2, r1, r3
ldr r3, [pc, #0xD4]
add r3, r3, r2
ldrsh r3, [r3]
mul r3, r0, r3
add r3, r3, #1, 18
mov r2, r3, asr #15
ldr r3, [lr]
add r0, r3, r2
ldr r2, [sp]
ldr r3, [sp, #0x214]
add r1, r2, r3
mov r3, #4
mul r2, r1, r3
add r3, sp, #4
add r3, r3, r2
str r0, [r3]
; Line 678
b |$LN6@D_ACELP_ph|
|$LN5@D_ACELP_ph|
|$LN8@D_ACELP_ph|
; Line 680
b |$LN10@D_ACELP_ph|
|$LN9@D_ACELP_ph|
|$LN12@D_ACELP_ph|
|$LN13@D_ACELP_ph|
; Line 683
ldr r3, [sp, #0x210]
cmp r3, #2
bge |$LN4@D_ACELP_ph|
; Line 685
mov r3, #0
str r3, [sp]
b |$LN3@D_ACELP_ph|
|$LN2@D_ACELP_ph|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN3@D_ACELP_ph|
ldr r3, [sp]
cmp r3, #0x40
bge |$LN1@D_ACELP_ph|
; Line 687
ldr r1, [sp]
mov r3, #4
mul r2, r1, r3
add r3, sp, #4
add r0, r3, r2
ldr r3, [sp]
add r1, r3, #0x40
mov r3, #4
mul r2, r1, r3
add r3, sp, #4
add r3, r3, r2
ldr r2, [r0]
ldr r3, [r3]
add r3, r2, r3
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x228]
add r3, r3, r2
strh r0, [r3]
; Line 688
b |$LN2@D_ACELP_ph|
|$LN1@D_ACELP_ph|
|$LN4@D_ACELP_ph|
; Line 692
add sp, sp, #0x86, 30
ldmia sp, {sp, pc}
|$LN43@D_ACELP_ph|
DCD |D_ROM_ph_imp_mid|
DCD |D_ROM_ph_imp_low|
|$M1566|
ENDP ; |D_ACELP_phase_dispersion|
END