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

3490 lines
81 KiB
NASM
Executable File

; Listing generated by Microsoft (R) Optimizing Compiler Version 14.00.50727
TTL d:\MyProject\VS2005\Tcpmp\tcpmp\amr\26204\dec_util.c
CODE32
AREA |.drectve|, DRECTVE
DCB "-defaultlib:LIBCMT "
DCB "-defaultlib:OLDNAMES "
EXPORT |D_UTIL_random|
AREA |.pdata|, PDATA
|$T1759| DCD |$LN5@D_UTIL_ran|
DCD 0x40001504
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_random| PROC
; File d:\myproject\vs2005\tcpmp\tcpmp\amr\26204\dec_util.c
; Line 52
|$LN5@D_UTIL_ran|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r12, lr}
sub sp, sp, #4
|$M1756|
; Line 54
ldr r3, [sp, #0xC]
ldrsh r2, [r3]
mov r3, #0x1F, 22
orr r3, r3, #0x4D
mul r3, r2, r3
add r3, r3, #0x36, 24
add r3, r3, #0x19
mov r2, r3, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0xC]
strh r2, [r3]
; Line 55
ldr r3, [sp, #0xC]
ldrsh r3, [r3]
strh r3, [sp]
; Line 56
ldrsh r0, [sp]
add sp, sp, #4
ldmia sp, {sp, pc}
|$M1757|
ENDP ; |D_UTIL_random|
EXPORT |D_UTIL_pow2|
IMPORT |D_ROM_pow2|
AREA |.pdata|, PDATA
|$T1765| DCD |$LN8@D_UTIL_pow|
DCD 0x40005104
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_pow2| PROC
; Line 84
|$LN8@D_UTIL_pow|
mov r12, sp
stmdb sp!, {r0, r1}
stmdb sp!, {r12, lr}
sub sp, sp, #0x18
|$M1762|
; Line 88
ldrsh r2, [sp, #0x24]
mov r3, #0x20
mul r3, r2, r3
str r3, [sp, #0x10]
; Line 89
ldr r3, [sp, #0x10]
mov r3, r3, asr #15
str r3, [sp, #8]
; Line 90
ldr r3, [sp, #0x10]
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp]
; Line 91
ldrsh r2, [sp]
mov r3, #0x7F, 24
orr r3, r3, #0xFF
and r3, r2, r3
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp]
; Line 92
ldr r1, [sp, #8]
mov r3, #2
mul r2, r1, r3
ldr r3, [pc, #0xD4]
add r3, r3, r2
ldrsh r3, [r3]
mov r3, r3, lsl #16
str r3, [sp, #0x10]
; Line 93
ldr r1, [sp, #8]
mov r3, #2
mul r2, r1, r3
ldr r3, [pc, #0xB4]
add r3, r3, r2
ldrsh r0, [r3]
ldr r3, [sp, #8]
add r1, r3, #1
mov r3, #2
mul r2, r1, r3
ldr r3, [pc, #0x98]
add r3, r3, r2
ldrsh r3, [r3]
sub r3, r0, r3
str r3, [sp, #0xC]
; Line 94
ldrsh r3, [sp]
ldr r2, [sp, #0xC]
mul r3, r2, r3
mov r2, r3, lsl #1
ldr r3, [sp, #0x10]
sub r3, r3, r2
str r3, [sp, #0xC]
; Line 95
ldrsh r3, [sp, #0x20]
rsb r3, r3, #0x1E
str r3, [sp, #4]
; Line 96
ldr r3, [sp, #4]
cmp r3, #0x1F
bgt |$LN3@D_UTIL_pow|
; Line 98
ldr r2, [sp, #0xC]
ldr r3, [sp, #4]
mov r3, r2, asr r3
str r3, [sp, #0x10]
; Line 100
ldr r3, [sp, #4]
sub r2, r3, #1
mov r3, #1
mov r2, r3, lsl r2
ldr r3, [sp, #0xC]
tst r2, r3
beq |$LN2@D_UTIL_pow|
; Line 102
ldr r3, [sp, #0x10]
add r3, r3, #1
str r3, [sp, #0x10]
|$LN2@D_UTIL_pow|
; Line 105
b |$LN1@D_UTIL_pow|
|$LN3@D_UTIL_pow|
; Line 107
mov r3, #0
str r3, [sp, #0x10]
|$LN1@D_UTIL_pow|
; Line 110
ldr r3, [sp, #0x10]
str r3, [sp, #0x14]
; Line 111
ldr r0, [sp, #0x14]
add sp, sp, #0x18
ldmia sp, {sp, pc}
|$LN9@D_UTIL_pow|
DCD |D_ROM_pow2|
|$M1763|
ENDP ; |D_UTIL_pow2|
EXPORT |D_UTIL_norm_l|
AREA |.pdata|, PDATA
|$T1772| DCD |$LN13@D_UTIL_nor|
DCD 0x40002a04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_norm_l| PROC
; Line 134
|$LN13@D_UTIL_nor|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r12, lr}
sub sp, sp, #8
|$M1769|
; Line 137
ldr r3, [sp, #0x10]
cmp r3, #0
bne |$LN8@D_UTIL_nor|
; Line 139
mov r3, #0
strh r3, [sp]
; Line 141
b |$LN7@D_UTIL_nor|
|$LN8@D_UTIL_nor|
; Line 143
ldr r3, [sp, #0x10]
cmn r3, #1
bne |$LN6@D_UTIL_nor|
; Line 145
mov r3, #0x1F
strh r3, [sp]
; Line 147
b |$LN5@D_UTIL_nor|
|$LN6@D_UTIL_nor|
; Line 149
ldr r3, [sp, #0x10]
cmp r3, #0
bge |$LN4@D_UTIL_nor|
; Line 151
ldr r3, [sp, #0x10]
mvn r3, r3
str r3, [sp, #0x10]
|$LN4@D_UTIL_nor|
; Line 154
mov r3, #0
strh r3, [sp]
b |$LN3@D_UTIL_nor|
|$LN2@D_UTIL_nor|
ldrsh r3, [sp]
add r3, r3, #1
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp]
|$LN3@D_UTIL_nor|
ldr r3, [sp, #0x10]
cmp r3, #1, 2
bge |$LN1@D_UTIL_nor|
; Line 156
ldr r3, [sp, #0x10]
mov r3, r3, lsl #1
str r3, [sp, #0x10]
; Line 157
b |$LN2@D_UTIL_nor|
|$LN1@D_UTIL_nor|
|$LN5@D_UTIL_nor|
|$LN7@D_UTIL_nor|
; Line 161
ldrsh r3, [sp]
strh r3, [sp, #4]
; Line 162
ldrsh r0, [sp, #4]
add sp, sp, #8
ldmia sp, {sp, pc}
|$M1770|
ENDP ; |D_UTIL_norm_l|
EXPORT |D_UTIL_norm_s|
AREA |.pdata|, PDATA
|$T1778| DCD |$LN13@D_UTIL_nor@2|
DCD 0x40002e04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_norm_s| PROC
; Line 183
|$LN13@D_UTIL_nor@2|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r12, lr}
sub sp, sp, #8
|$M1775|
; Line 186
ldrsh r3, [sp, #0x10]
cmp r3, #0
bne |$LN8@D_UTIL_nor@2|
; Line 188
mov r3, #0
strh r3, [sp]
; Line 190
b |$LN7@D_UTIL_nor@2|
|$LN8@D_UTIL_nor@2|
; Line 192
ldrsh r3, [sp, #0x10]
cmn r3, #1
bne |$LN6@D_UTIL_nor@2|
; Line 194
mov r3, #0xF
strh r3, [sp]
; Line 196
b |$LN5@D_UTIL_nor@2|
|$LN6@D_UTIL_nor@2|
; Line 198
ldrsh r3, [sp, #0x10]
cmp r3, #0
bpl |$LN4@D_UTIL_nor@2|
; Line 200
ldrsh r3, [sp, #0x10]
mvn r3, r3
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp, #0x10]
|$LN4@D_UTIL_nor@2|
; Line 203
mov r3, #0
strh r3, [sp]
b |$LN3@D_UTIL_nor@2|
|$LN2@D_UTIL_nor@2|
ldrsh r3, [sp]
add r3, r3, #1
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp]
|$LN3@D_UTIL_nor@2|
ldrsh r3, [sp, #0x10]
cmp r3, #1, 18
bge |$LN1@D_UTIL_nor@2|
; Line 205
ldrsh r3, [sp, #0x10]
mov r3, r3, lsl #1
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp, #0x10]
; Line 206
b |$LN2@D_UTIL_nor@2|
|$LN1@D_UTIL_nor@2|
|$LN5@D_UTIL_nor@2|
|$LN7@D_UTIL_nor@2|
; Line 209
ldrsh r3, [sp]
strh r3, [sp, #4]
; Line 210
ldrsh r0, [sp, #4]
add sp, sp, #8
ldmia sp, {sp, pc}
|$M1776|
ENDP ; |D_UTIL_norm_s|
EXPORT |D_UTIL_dot_product12|
AREA |.pdata|, PDATA
|$T1784| DCD |$LN8@D_UTIL_dot|
DCD 0x40003904
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_dot_product12| PROC
; Line 230
|$LN8@D_UTIL_dot|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0x14
|$M1781|
; Line 233
mov r3, #0
str r3, [sp, #4]
; Line 235
mov r3, #0
str r3, [sp]
b |$LN3@D_UTIL_dot|
|$LN2@D_UTIL_dot|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN3@D_UTIL_dot|
ldrsh r2, [sp, #0x24]
ldr r3, [sp]
cmp r3, r2
bge |$LN1@D_UTIL_dot|
; Line 237
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x1C]
add r3, r3, r2
ldrsh r0, [r3]
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
ldrsh r3, [r3]
mul r2, r0, r3
ldr r3, [sp, #4]
add r3, r3, r2
str r3, [sp, #4]
; Line 238
b |$LN2@D_UTIL_dot|
|$LN1@D_UTIL_dot|
; Line 239
ldr r3, [sp, #4]
mov r3, r3, lsl #1
add r3, r3, #1
str r3, [sp, #4]
; Line 242
ldr r0, [sp, #4]
bl D_UTIL_norm_l
strh r0, [sp, #0x10]
ldrsh r3, [sp, #0x10]
str r3, [sp, #8]
; Line 243
ldr r2, [sp, #4]
ldr r3, [sp, #8]
mov r3, r2, lsl r3
str r3, [sp, #4]
; Line 244
ldr r3, [sp, #8]
rsb r3, r3, #0x1E
mov r2, r3, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0x28]
strh r2, [r3]
; Line 246
ldr r3, [sp, #4]
str r3, [sp, #0xC]
; Line 247
ldr r0, [sp, #0xC]
add sp, sp, #0x14
ldmia sp, {sp, pc}
|$M1782|
ENDP ; |D_UTIL_dot_product12|
EXPORT |D_UTIL_normalised_inverse_sqrt|
IMPORT |D_ROM_isqrt|
AREA |.pdata|, PDATA
|$T1789| DCD |$LN7@D_UTIL_nor@3|
DCD 0x40006304
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_normalised_inverse_sqrt| PROC
; Line 274
|$LN7@D_UTIL_nor@3|
mov r12, sp
stmdb sp!, {r0, r1}
stmdb sp!, {r12, lr}
sub sp, sp, #0xC
|$M1786|
; Line 278
ldr r3, [sp, #0x14]
ldr r3, [r3]
cmp r3, #0
bgt |$LN2@D_UTIL_nor@3|
; Line 280
ldr r2, [sp, #0x18]
mov r3, #0
strh r3, [r2]
; Line 281
ldr r2, [sp, #0x14]
mvn r3, #2, 2
str r3, [r2]
; Line 282
b |$LN3@D_UTIL_nor@3|
|$LN2@D_UTIL_nor@3|
; Line 285
ldr r3, [sp, #0x18]
ldrsh r3, [r3]
and r3, r3, #1
cmp r3, #1
bne |$LN1@D_UTIL_nor@3|
; Line 287
ldr r3, [sp, #0x14]
ldr r3, [r3]
mov r2, r3, asr #1
ldr r3, [sp, #0x14]
str r2, [r3]
|$LN1@D_UTIL_nor@3|
; Line 289
ldr r3, [sp, #0x18]
ldrsh r3, [r3]
sub r3, r3, #1
mov r3, r3, asr #1
rsb r3, r3, #0
mov r2, r3, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0x18]
strh r2, [r3]
; Line 290
ldr r3, [sp, #0x14]
ldr r3, [r3]
mov r2, r3, asr #9
ldr r3, [sp, #0x14]
str r2, [r3]
; Line 291
ldr r3, [sp, #0x14]
ldr r3, [r3]
mov r3, r3, asr #16
str r3, [sp, #4]
; Line 292
ldr r3, [sp, #0x14]
ldr r3, [r3]
mov r2, r3, asr #1
ldr r3, [sp, #0x14]
str r2, [r3]
; Line 293
ldr r3, [sp, #0x14]
ldr r3, [r3]
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp]
; Line 294
ldrsh r2, [sp]
mov r3, #0x7F, 24
orr r3, r3, #0xFF
and r3, r2, r3
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp]
; Line 295
ldr r3, [sp, #4]
sub r3, r3, #0x10
str r3, [sp, #4]
; Line 296
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [pc, #0x78]
add r3, r3, r2
ldrsh r3, [r3]
mov r2, r3, lsl #16
ldr r3, [sp, #0x14]
str r2, [r3]
; Line 297
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [pc, #0x54]
add r3, r3, r2
ldrsh r0, [r3]
ldr r3, [sp, #4]
add r1, r3, #1
mov r3, #2
mul r2, r1, r3
ldr r3, [pc, #0x38]
add r3, r3, r2
ldrsh r3, [r3]
sub r3, r0, r3
str r3, [sp, #8]
; Line 298
ldrsh r3, [sp]
ldr r2, [sp, #8]
mul r3, r2, r3
mov r2, r3, lsl #1
ldr r3, [sp, #0x14]
ldr r3, [r3]
sub r2, r3, r2
ldr r3, [sp, #0x14]
str r2, [r3]
|$LN3@D_UTIL_nor@3|
; Line 301
add sp, sp, #0xC
ldmia sp, {sp, pc}
|$LN8@D_UTIL_nor@3|
DCD |D_ROM_isqrt|
|$M1787|
ENDP ; |D_UTIL_normalised_inverse_sqrt|
EXPORT |D_UTIL_inverse_sqrt|
AREA |.pdata|, PDATA
|$T1796| DCD |$LN7@D_UTIL_inv|
DCD 0x40002704
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_inverse_sqrt| PROC
; Line 324
|$LN7@D_UTIL_inv|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0x10
|$M1793|
; Line 328
ldr r0, [sp, #0x18]
bl D_UTIL_norm_l
strh r0, [sp, #0xC]
ldrsh r3, [sp, #0xC]
strh r3, [sp, #4]
; Line 329
ldrsh r2, [sp, #4]
ldr r3, [sp, #0x18]
mov r3, r3, lsl r2
str r3, [sp, #0x18]
; Line 330
ldrsh r3, [sp, #4]
rsb r3, r3, #0x1F
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp, #4]
; Line 331
add r1, sp, #4
add r0, sp, #0x18
bl D_UTIL_normalised_inverse_sqrt
; Line 333
ldrsh r3, [sp, #4]
cmp r3, #0
bpl |$LN2@D_UTIL_inv|
; Line 335
ldrsh r3, [sp, #4]
rsb r2, r3, #0
ldr r3, [sp, #0x18]
mov r3, r3, asr r2
str r3, [sp]
; Line 337
b |$LN1@D_UTIL_inv|
|$LN2@D_UTIL_inv|
; Line 339
ldrsh r2, [sp, #4]
ldr r3, [sp, #0x18]
mov r3, r3, lsl r2
str r3, [sp]
|$LN1@D_UTIL_inv|
; Line 342
ldr r3, [sp]
str r3, [sp, #8]
; Line 343
ldr r0, [sp, #8]
add sp, sp, #0x10
ldmia sp, {sp, pc}
|$M1794|
ENDP ; |D_UTIL_inverse_sqrt|
EXPORT |D_UTIL_log2|
AREA |.pdata|, PDATA
|$T1801| DCD |$LN5@D_UTIL_log|
DCD 0x40001204
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_log2| PROC
; Line 418
|$LN5@D_UTIL_log|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r12, lr}
sub sp, sp, #4
|$M1798|
; Line 421
ldr r0, [sp, #0xC]
bl D_UTIL_norm_l
strh r0, [sp, #2]
ldrsh r3, [sp, #2]
strh r3, [sp]
; Line 422
ldr r3, [sp, #0x14]
ldr r2, [sp, #0x10]
ldrsh r1, [sp]
ldrsh lr, [sp]
ldr r0, [sp, #0xC]
mov r0, r0, lsl lr
bl D_UTIL_normalised_log2
; Line 423
add sp, sp, #4
ldmia sp, {sp, pc}
|$M1799|
ENDP ; |D_UTIL_log2|
IMPORT |D_ROM_log2|
AREA |.pdata|, PDATA
|$T1806| DCD |$LN6@D_UTIL_nor@4|
DCD 0x40004b04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_normalised_log2| PROC
; Line 375
|$LN6@D_UTIL_nor@4|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0x10
|$M1803|
; Line 379
ldr r3, [sp, #0x18]
cmp r3, #0
bgt |$LN1@D_UTIL_nor@4|
; Line 381
ldr r2, [sp, #0x20]
mov r3, #0
strh r3, [r2]
; Line 382
ldr r2, [sp, #0x24]
mov r3, #0
strh r3, [r2]
; Line 383
b |$LN2@D_UTIL_nor@4|
|$LN1@D_UTIL_nor@4|
; Line 386
ldrsh r3, [sp, #0x1C]
rsb r3, r3, #0x1E
mov r2, r3, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0x20]
strh r2, [r3]
; Line 388
ldr r3, [sp, #0x18]
mov r3, r3, asr #10
str r3, [sp, #0x18]
; Line 389
ldr r3, [sp, #0x18]
mov r3, r3, asr #15
str r3, [sp, #8]
; Line 390
ldr r3, [sp, #0x18]
str r3, [sp, #4]
; Line 391
ldr r2, [sp, #4]
mov r3, #0x7F, 24
orr r3, r3, #0xFF
and r3, r2, r3
str r3, [sp, #4]
; Line 392
ldr r3, [sp, #8]
sub r3, r3, #0x20
str r3, [sp, #8]
; Line 393
ldr r1, [sp, #8]
mov r3, #2
mul r2, r1, r3
ldr r3, [pc, #0x84]
add r3, r3, r2
ldrsh r3, [r3]
mov r3, r3, lsl #16
str r3, [sp]
; Line 394
ldr r1, [sp, #8]
mov r3, #2
mul r2, r1, r3
ldr r3, [pc, #0x64]
add r3, r3, r2
ldrsh r0, [r3]
ldr r3, [sp, #8]
add r1, r3, #1
mov r3, #2
mul r2, r1, r3
ldr r3, [pc, #0x48]
add r3, r3, r2
ldrsh r3, [r3]
sub r3, r0, r3
str r3, [sp, #0xC]
; Line 395
ldr r2, [sp, #0xC]
ldr r3, [sp, #4]
mul r3, r2, r3
mov r2, r3, lsl #1
ldr r3, [sp]
sub r3, r3, r2
str r3, [sp]
; Line 396
ldr r3, [sp]
mov r3, r3, asr #16
mov r2, r3, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0x24]
strh r2, [r3]
|$LN2@D_UTIL_nor@4|
; Line 399
add sp, sp, #0x10
ldmia sp, {sp, pc}
|$LN7@D_UTIL_nor@4|
DCD |D_ROM_log2|
|$M1804|
ENDP ; |D_UTIL_normalised_log2|
EXPORT |D_UTIL_l_extract|
AREA |.pdata|, PDATA
|$T1812| DCD |$LN5@D_UTIL_l_e|
DCD 0x40001503
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_l_extract| PROC
; Line 441
|$LN5@D_UTIL_l_e|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r12, lr}
|$M1809|
; Line 442
ldr r3, [sp, #8]
mov r3, r3, asr #16
mov r2, r3, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0xC]
strh r2, [r3]
; Line 443
ldr r3, [sp, #8]
mov r1, r3, asr #1
ldr r3, [sp, #0xC]
ldrsh r2, [r3]
mov r3, #2, 18
mul r3, r2, r3
sub r3, r1, r3
mov r2, r3, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0x10]
strh r2, [r3]
; Line 446
ldmia sp, {sp, pc}
|$M1810|
ENDP ; |D_UTIL_l_extract|
EXPORT |D_UTIL_mpy_32_16|
AREA |.pdata|, PDATA
|$T1818| DCD |$LN5@D_UTIL_mpy|
DCD 0x40001504
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_mpy_32_16| PROC
; Line 467
|$LN5@D_UTIL_mpy|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r12, lr}
sub sp, sp, #8
|$M1815|
; Line 470
ldrsh r2, [sp, #0x10]
ldrsh r3, [sp, #0x18]
mul r3, r2, r3
str r3, [sp]
; Line 471
ldrsh r2, [sp, #0x14]
ldrsh r3, [sp, #0x18]
mul r3, r2, r3
mov r2, r3, asr #15
ldr r3, [sp]
add r3, r3, r2
str r3, [sp]
; Line 473
ldr r3, [sp]
mov r3, r3, lsl #1
str r3, [sp, #4]
; Line 474
ldr r0, [sp, #4]
add sp, sp, #8
ldmia sp, {sp, pc}
|$M1816|
ENDP ; |D_UTIL_mpy_32_16|
EXPORT |D_UTIL_mpy_32|
AREA |.pdata|, PDATA
|$T1824| DCD |$LN5@D_UTIL_mpy@2|
DCD 0x40001c04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_mpy_32| PROC
; Line 495
|$LN5@D_UTIL_mpy@2|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #8
|$M1821|
; Line 498
ldrsh r2, [sp, #0x10]
ldrsh r3, [sp, #0x18]
mul r3, r2, r3
str r3, [sp]
; Line 499
ldrsh r2, [sp, #0x10]
ldrsh r3, [sp, #0x1C]
mul r3, r2, r3
mov r2, r3, asr #15
ldr r3, [sp]
add r3, r3, r2
str r3, [sp]
; Line 500
ldrsh r2, [sp, #0x14]
ldrsh r3, [sp, #0x18]
mul r3, r2, r3
mov r2, r3, asr #15
ldr r3, [sp]
add r3, r3, r2
str r3, [sp]
; Line 502
ldr r3, [sp]
mov r3, r3, lsl #1
str r3, [sp, #4]
; Line 503
ldr r0, [sp, #4]
add sp, sp, #8
ldmia sp, {sp, pc}
|$M1822|
ENDP ; |D_UTIL_mpy_32|
EXPORT |D_UTIL_saturate|
AREA |.pdata|, PDATA
|$T1834| DCD |$LN13@D_UTIL_sat|
DCD 0x40002e04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_saturate| PROC
; Line 518
|$LN13@D_UTIL_sat|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r12, lr}
sub sp, sp, #0x10
|$M1831|
; Line 520
ldr r2, [sp, #0x18]
mov r3, #0x7F, 24
orr r3, r3, #0xFF
cmp r2, r3
bge |$LN9@D_UTIL_sat|
mov r3, #1
str r3, [sp, #8]
b |$LN10@D_UTIL_sat|
|$LN9@D_UTIL_sat|
mov r3, #0
str r3, [sp, #8]
|$LN10@D_UTIL_sat|
ldr r3, [sp, #0x18]
cmn r3, #2, 18
ble |$LN7@D_UTIL_sat|
mov r3, #1
str r3, [sp, #0xC]
b |$LN8@D_UTIL_sat|
|$LN7@D_UTIL_sat|
mov r3, #0
str r3, [sp, #0xC]
|$LN8@D_UTIL_sat|
ldr r2, [sp, #8]
ldr r3, [sp, #0xC]
tst r2, r3
beq |$LN4@D_UTIL_sat|
; Line 522
ldr r3, [sp, #0x18]
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp]
; Line 524
b |$LN3@D_UTIL_sat|
|$LN4@D_UTIL_sat|
; Line 526
ldr r3, [sp, #0x18]
cmp r3, #0
ble |$LN2@D_UTIL_sat|
; Line 528
mov r3, #0x7F, 24
orr r3, r3, #0xFF
strh r3, [sp]
; Line 530
b |$LN1@D_UTIL_sat|
|$LN2@D_UTIL_sat|
; Line 532
mvn r3, #0xFF
mov r3, r3, lsl #7
strh r3, [sp]
|$LN1@D_UTIL_sat|
|$LN3@D_UTIL_sat|
; Line 536
ldrsh r3, [sp]
strh r3, [sp, #4]
; Line 537
ldrsh r0, [sp, #4]
add sp, sp, #0x10
ldmia sp, {sp, pc}
|$M1832|
ENDP ; |D_UTIL_saturate|
EXPORT |D_UTIL_signal_up_scale|
AREA |.pdata|, PDATA
|$T1839| DCD |$LN8@D_UTIL_sig|
DCD 0x40002404
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_signal_up_scale| PROC
; Line 554
|$LN8@D_UTIL_sig|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r12, lr}
sub sp, sp, #0xC
|$M1836|
; Line 557
mov r3, #0
str r3, [sp]
b |$LN3@D_UTIL_sig|
|$LN2@D_UTIL_sig|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN3@D_UTIL_sig|
ldrsh r2, [sp, #0x18]
ldr r3, [sp]
cmp r3, r2
bge |$LN1@D_UTIL_sig|
; Line 559
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
ldrsh r2, [r3]
ldrsh r3, [sp, #0x1C]
mov r3, r2, lsl r3
str r3, [sp, #4]
; Line 560
ldr r0, [sp, #4]
bl D_UTIL_saturate
strh r0, [sp, #8]
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r2, r3, r2
ldrsh r3, [sp, #8]
strh r3, [r2]
; Line 561
b |$LN2@D_UTIL_sig|
|$LN1@D_UTIL_sig|
; Line 564
add sp, sp, #0xC
ldmia sp, {sp, pc}
|$M1837|
ENDP ; |D_UTIL_signal_up_scale|
EXPORT |D_UTIL_signal_down_scale|
AREA |.pdata|, PDATA
|$T1844| DCD |$LN8@D_UTIL_sig@2|
DCD 0x40002804
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_signal_down_scale| PROC
; Line 582
|$LN8@D_UTIL_sig@2|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r12, lr}
sub sp, sp, #8
|$M1841|
; Line 585
mov r3, #0
str r3, [sp]
b |$LN3@D_UTIL_sig@2|
|$LN2@D_UTIL_sig@2|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN3@D_UTIL_sig@2|
ldrsh r2, [sp, #0x14]
ldr r3, [sp]
cmp r3, r2
bge |$LN1@D_UTIL_sig@2|
; Line 587
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x10]
add r3, r3, r2
ldrsh r3, [r3]
mov r3, r3, lsl #16
str r3, [sp, #4]
; Line 588
ldrsh r2, [sp, #0x18]
ldr r3, [sp, #4]
mov r3, r3, asr r2
str r3, [sp, #4]
; Line 589
ldr r3, [sp, #4]
add r3, r3, #2, 18
mov r3, r3, asr #16
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x10]
add r3, r3, r2
strh r0, [r3]
; Line 590
b |$LN2@D_UTIL_sig@2|
|$LN1@D_UTIL_sig@2|
; Line 593
add sp, sp, #8
ldmia sp, {sp, pc}
|$M1842|
ENDP ; |D_UTIL_signal_down_scale|
EXPORT |D_UTIL_interpol|
AREA |.pdata|, PDATA
|$T1854| DCD |$LN16@D_UTIL_int|
DCD 0x40006504
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_interpol| PROC
; Line 793
|$LN16@D_UTIL_int|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0x18
|$M1851|
; Line 797
ldrsh r1, [sp, #0x30]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x20]
sub r3, r3, r2
add r3, r3, #2
str r3, [sp, #0x20]
; Line 798
mov r3, #0
str r3, [sp, #4]
; Line 801
mov r3, #0
str r3, [sp]
ldrsh r3, [sp, #0x2C]
sub r2, r3, #1
ldrsh r3, [sp, #0x28]
sub r3, r2, r3
str r3, [sp, #8]
b |$LN7@D_UTIL_int|
|$LN6@D_UTIL_int|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
ldrsh r2, [sp, #0x2C]
ldr r3, [sp, #8]
add r3, r3, r2
mov r3, r3, lsl #16
mov r3, r3, asr #16
str r3, [sp, #8]
|$LN7@D_UTIL_int|
ldrsh r1, [sp, #0x30]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp]
cmp r3, r2
bge |$LN5@D_UTIL_int|
; Line 803
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
ldrsh r0, [r3]
ldr r1, [sp, #8]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x24]
add r3, r3, r2
ldrsh r3, [r3]
mul r2, r0, r3
ldr r3, [sp, #4]
add r3, r3, r2
str r3, [sp, #4]
; Line 804
b |$LN6@D_UTIL_int|
|$LN5@D_UTIL_int|
; Line 806
ldr r2, [sp, #4]
mov r3, #2, 4
sub r3, r3, #6, 20
cmp r2, r3
bge |$LN12@D_UTIL_int|
mov r3, #1
str r3, [sp, #0x10]
b |$LN13@D_UTIL_int|
|$LN12@D_UTIL_int|
mov r3, #0
str r3, [sp, #0x10]
|$LN13@D_UTIL_int|
ldr r2, [sp, #4]
mvn r3, #1, 16
mov r3, r3, lsl #13
cmp r2, r3
ble |$LN10@D_UTIL_int|
mov r3, #1
str r3, [sp, #0x14]
b |$LN11@D_UTIL_int|
|$LN10@D_UTIL_int|
mov r3, #0
str r3, [sp, #0x14]
|$LN11@D_UTIL_int|
ldr r2, [sp, #0x10]
ldr r3, [sp, #0x14]
tst r2, r3
beq |$LN4@D_UTIL_int|
; Line 808
ldr r3, [sp, #4]
add r3, r3, #2, 20
mov r3, r3, asr #14
str r3, [sp, #4]
b |$LN3@D_UTIL_int|
|$LN4@D_UTIL_int|
; Line 810
ldr r2, [sp, #4]
mov r3, #2, 4
sub r3, r3, #6, 20
cmp r2, r3
ble |$LN2@D_UTIL_int|
; Line 812
mov r3, #0x7F, 24
orr r3, r3, #0xFF
str r3, [sp, #4]
; Line 814
b |$LN1@D_UTIL_int|
|$LN2@D_UTIL_int|
; Line 816
mvn r3, #0xFF
mov r3, r3, lsl #7
str r3, [sp, #4]
|$LN1@D_UTIL_int|
|$LN3@D_UTIL_int|
; Line 819
ldr r3, [sp, #4]
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp, #0xC]
; Line 820
ldrsh r0, [sp, #0xC]
add sp, sp, #0x18
ldmia sp, {sp, pc}
|$M1852|
ENDP ; |D_UTIL_interpol|
EXPORT |D_UTIL_hp400_12k8|
AREA |.pdata|, PDATA
|$T1859| DCD |$LN8@D_UTIL_hp4|
DCD 0x40009304
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_hp400_12k8| PROC
; Line 911
|$LN8@D_UTIL_hp4|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r12, lr}
sub sp, sp, #0x18
|$M1856|
; Line 916
ldr r3, [sp, #0x28]
ldrsh r3, [r3]
strh r3, [sp, #0xE]
; Line 917
ldr r3, [sp, #0x28]
add r3, r3, #2
ldrsh r3, [r3]
strh r3, [sp, #8]
; Line 918
ldr r3, [sp, #0x28]
add r3, r3, #4
ldrsh r3, [r3]
strh r3, [sp, #0xA]
; Line 919
ldr r3, [sp, #0x28]
add r3, r3, #6
ldrsh r3, [r3]
strh r3, [sp]
; Line 920
ldr r3, [sp, #0x28]
add r3, r3, #8
ldrsh r3, [r3]
strh r3, [sp, #0x10]
; Line 921
ldr r3, [sp, #0x28]
add r3, r3, #0xA
ldrsh r3, [r3]
strh r3, [sp, #0xC]
; Line 923
mov r3, #0
str r3, [sp, #4]
b |$LN3@D_UTIL_hp4|
|$LN2@D_UTIL_hp4|
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
|$LN3@D_UTIL_hp4|
ldrsh r2, [sp, #0x24]
ldr r3, [sp, #4]
cmp r3, r2
bge |$LN1@D_UTIL_hp4|
; Line 925
ldrsh r3, [sp, #0xC]
strh r3, [sp, #2]
; Line 926
ldrsh r3, [sp, #0x10]
strh r3, [sp, #0xC]
; Line 927
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
ldrsh r3, [r3]
strh r3, [sp, #0x10]
; Line 931
ldrsh r2, [sp]
mov r3, #0x72, 24
orr r3, r3, #0x60
mul r3, r2, r3
add r3, r3, #2, 20
str r3, [sp, #0x14]
; Line 932
ldrsh r1, [sp, #8]
mvn r3, #0xDD, 30
mov r3, r3, lsl #4
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
str r3, [sp, #0x14]
; Line 933
ldr r3, [sp, #0x14]
mov r3, r3, asr #14
str r3, [sp, #0x14]
; Line 934
ldrsh r1, [sp, #0xA]
mov r3, #0x39, 22
orr r3, r3, #0xC0
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
str r3, [sp, #0x14]
; Line 935
ldrsh r1, [sp, #0xE]
mvn r3, #0xDD, 30
mov r3, r3, lsl #5
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
str r3, [sp, #0x14]
; Line 936
ldrsh r1, [sp, #0x10]
mov r3, #7, 24
orr r3, r3, #0x26
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
str r3, [sp, #0x14]
; Line 937
ldrsh r1, [sp, #0xC]
mvn r3, #0xE, 24
eor r3, r3, #0x4B
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
str r3, [sp, #0x14]
; Line 938
ldrsh r1, [sp, #2]
mov r3, #7, 24
orr r3, r3, #0x26
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
str r3, [sp, #0x14]
; Line 939
ldr r3, [sp, #0x14]
mov r3, r3, lsl #1
str r3, [sp, #0x14]
; Line 940
ldrsh r3, [sp, #0xA]
strh r3, [sp, #0xE]
; Line 941
ldrsh r3, [sp]
strh r3, [sp, #8]
; Line 942
add r2, sp, #0
add r1, sp, #0xA
ldr r0, [sp, #0x14]
bl D_UTIL_l_extract
; Line 945
ldr r3, [sp, #0x14]
add r3, r3, #2, 18
mov r3, r3, asr #16
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
strh r0, [r3]
; Line 946
b |$LN2@D_UTIL_hp4|
|$LN1@D_UTIL_hp4|
; Line 947
ldrsh r2, [sp, #0xE]
ldr r3, [sp, #0x28]
strh r2, [r3]
; Line 948
ldr r3, [sp, #0x28]
add r2, r3, #2
ldrsh r3, [sp, #8]
strh r3, [r2]
; Line 949
ldr r3, [sp, #0x28]
add r2, r3, #4
ldrsh r3, [sp, #0xA]
strh r3, [r2]
; Line 950
ldr r3, [sp, #0x28]
add r2, r3, #6
ldrsh r3, [sp]
strh r3, [r2]
; Line 951
ldr r3, [sp, #0x28]
add r2, r3, #8
ldrsh r3, [sp, #0x10]
strh r3, [r2]
; Line 952
ldr r3, [sp, #0x28]
add r2, r3, #0xA
ldrsh r3, [sp, #0xC]
strh r3, [r2]
; Line 955
add sp, sp, #0x18
ldmia sp, {sp, pc}
|$M1857|
ENDP ; |D_UTIL_hp400_12k8|
EXPORT |D_UTIL_bp_6k_7k|
IMPORT |D_ROM_fir_6k_7k|
AREA |.pdata|, PDATA
|$T1864| DCD |$LN20@D_UTIL_bp_|
DCD 0x40008804
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_bp_6k_7k| PROC
; Line 1031
|$LN20@D_UTIL_bp_|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r12, lr}
sub sp, sp, #0x71, 30
|$M1861|
; Line 1035
mov r3, #0
str r3, [sp, #0x1B8]
b |$LN15@D_UTIL_bp_|
|$LN14@D_UTIL_bp_|
ldr r3, [sp, #0x1B8]
add r3, r3, #1
str r3, [sp, #0x1B8]
|$LN15@D_UTIL_bp_|
ldr r3, [sp, #0x1B8]
cmp r3, #0x1E
bge |$LN13@D_UTIL_bp_|
; Line 1037
ldr r1, [sp, #0x1B8]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x1D4]
add r0, r3, r2
ldr r1, [sp, #0x1B8]
mov r3, #4
mul r2, r1, r3
add r3, sp, #0
add r2, r3, r2
ldrsh r3, [r0]
str r3, [r2]
; Line 1038
b |$LN14@D_UTIL_bp_|
|$LN13@D_UTIL_bp_|
; Line 1040
mov r3, #0
str r3, [sp, #0x1B8]
b |$LN12@D_UTIL_bp_|
|$LN11@D_UTIL_bp_|
ldr r3, [sp, #0x1B8]
add r3, r3, #1
str r3, [sp, #0x1B8]
|$LN12@D_UTIL_bp_|
add r2, sp, #1, 24
ldrsh r2, [r2, #0xD0]
ldr r3, [sp, #0x1B8]
cmp r3, r2
bge |$LN10@D_UTIL_bp_|
; Line 1042
ldr r1, [sp, #0x1B8]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x1CC]
add r3, r3, r2
ldrsh r3, [r3]
mov r0, r3, asr #2
ldr r3, [sp, #0x1B8]
add r3, r3, #0x1F
sub r1, r3, #1
mov r3, #4
mul r2, r1, r3
add r3, sp, #0
add r3, r3, r2
str r0, [r3]
; Line 1043
b |$LN11@D_UTIL_bp_|
|$LN10@D_UTIL_bp_|
; Line 1045
mov r3, #0
str r3, [sp, #0x1B8]
b |$LN9@D_UTIL_bp_|
|$LN8@D_UTIL_bp_|
ldr r3, [sp, #0x1B8]
add r3, r3, #1
str r3, [sp, #0x1B8]
|$LN9@D_UTIL_bp_|
add r2, sp, #1, 24
ldrsh r2, [r2, #0xD0]
ldr r3, [sp, #0x1B8]
cmp r3, r2
bge |$LN7@D_UTIL_bp_|
; Line 1047
mov r3, #0
str r3, [sp, #0x1BC]
; Line 1049
mov r3, #0
str r3, [sp, #0x1C0]
b |$LN6@D_UTIL_bp_|
|$LN5@D_UTIL_bp_|
ldr r3, [sp, #0x1C0]
add r3, r3, #1
str r3, [sp, #0x1C0]
|$LN6@D_UTIL_bp_|
ldr r3, [sp, #0x1C0]
cmp r3, #0x1F
bge |$LN4@D_UTIL_bp_|
; Line 1051
ldr r2, [sp, #0x1B8]
ldr r3, [sp, #0x1C0]
add r1, r2, r3
mov r3, #4
mul r2, r1, r3
add r3, sp, #0
add r0, r3, r2
ldr r1, [sp, #0x1C0]
mov r3, #2
mul r2, r1, r3
ldr r3, [pc, #0xC0]
add r3, r3, r2
ldrsh r2, [r3]
ldr r3, [r0]
mul r2, r3, r2
ldr r3, [sp, #0x1BC]
add r3, r3, r2
str r3, [sp, #0x1BC]
; Line 1052
b |$LN5@D_UTIL_bp_|
|$LN4@D_UTIL_bp_|
; Line 1054
ldr r3, [sp, #0x1BC]
add r3, r3, #1, 18
mov r3, r3, asr #15
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp, #0x1B8]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x1CC]
add r3, r3, r2
strh r0, [r3]
; Line 1055
b |$LN8@D_UTIL_bp_|
|$LN7@D_UTIL_bp_|
; Line 1057
mov r3, #0
str r3, [sp, #0x1B8]
b |$LN3@D_UTIL_bp_|
|$LN2@D_UTIL_bp_|
ldr r3, [sp, #0x1B8]
add r3, r3, #1
str r3, [sp, #0x1B8]
|$LN3@D_UTIL_bp_|
ldr r3, [sp, #0x1B8]
cmp r3, #0x1E
bge |$LN1@D_UTIL_bp_|
; Line 1059
add r2, sp, #1, 24
ldrsh r2, [r2, #0xD0]
ldr r3, [sp, #0x1B8]
add r1, r2, r3
mov r3, #4
mul r2, r1, r3
add r3, sp, #0
add r3, r3, r2
ldr r3, [r3]
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp, #0x1B8]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x1D4]
add r3, r3, r2
strh r0, [r3]
; Line 1060
b |$LN2@D_UTIL_bp_|
|$LN1@D_UTIL_bp_|
; Line 1063
add sp, sp, #0x71, 30
ldmia sp, {sp, pc}
|$LN21@D_UTIL_bp_|
DCD |D_ROM_fir_6k_7k|
|$M1862|
ENDP ; |D_UTIL_bp_6k_7k|
EXPORT |D_UTIL_dec_synthesis|
IMPORT |D_LPC_a_weight|
IMPORT |D_LPC_isp_a_conversion|
IMPORT |D_LPC_isf_extrapolation|
IMPORT |D_ROM_hp_gain|
IMPORT |memcpy|
IMPORT |__imp___rt_sdiv|
AREA |.pdata|, PDATA
|$T1892| DCD |$LN52@D_UTIL_dec|
DCD 0x40027504
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_dec_synthesis| PROC
; Line 1132
|$LN52@D_UTIL_dec|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0xCF, 30
|$M1889|
; Line 1154
mov r2, #0x20
ldr r3, [sp, #0x368]
add r1, r3, #0x5F, 28
add r0, sp, #0xC8
bl memcpy
; Line 1155
mov r2, #0x20
ldr r3, [sp, #0x368]
add r1, r3, #0x61, 28
add r0, sp, #0x86, 30
bl memcpy
; Line 1156
mov r3, #0x40
str r3, [sp, #8]
add r3, sp, #0x86, 30
add r3, r3, #0x20
str r3, [sp, #4]
add r3, sp, #0xC8
add r3, r3, #0x20
str r3, [sp]
add r3, sp, #3, 24
ldrsh r3, [r3, #0x4C]
ldr r2, [sp, #0x348]
mov r1, #0x10
ldr r0, [sp, #0x344]
bl D_UTIL_synthesis_32
; Line 1157
mov r2, #0x20
add r3, sp, #0xC8
add r1, r3, #0x80
ldr r3, [sp, #0x368]
add r0, r3, #0x5F, 28
bl memcpy
; Line 1158
mov r2, #0x20
add r3, sp, #0x86, 30
add r1, r3, #0x80
ldr r3, [sp, #0x368]
add r0, r3, #0x61, 28
bl memcpy
; Line 1160
ldr r3, [sp, #0x368]
add r3, r3, #6, 24
add r3, r3, #0x6E
str r3, [sp, #4]
mov r3, #0x40
str r3, [sp]
mov r3, #0x57, 24
orr r3, r3, #0xA
add r2, sp, #0xC
add r1, sp, #0x86, 30
add r1, r1, #0x20
add r0, sp, #0xC8
add r0, r0, #0x20
bl D_UTIL_deemph_32
; Line 1161
ldr r3, [sp, #0x368]
add r2, r3, #0x19, 26
mov r1, #0x40
add r0, sp, #0xC
bl D_UTIL_hp50_12k8
; Line 1162
ldr r3, [sp, #0x368]
add r3, r3, #5, 24
add r3, r3, #0xA
ldr r2, [sp, #0x350]
mov r1, #0x40
add r0, sp, #0xC
bl D_UTIL_oversamp_16k
; Line 1175
mov r3, #0
str r3, [sp, #0xBC]
b |$LN39@D_UTIL_dec|
|$LN38@D_UTIL_dec|
ldr r3, [sp, #0xBC]
add r3, r3, #1
str r3, [sp, #0xBC]
|$LN39@D_UTIL_dec|
ldr r3, [sp, #0xBC]
cmp r3, #0x50
bge |$LN37@D_UTIL_dec|
; Line 1177
ldr r3, [sp, #0x368]
add r3, r3, #6, 24
add r0, r3, #0x72
bl D_UTIL_random
add r12, sp, #3, 24
strh r0, [r12, #0x18]
add r3, sp, #3, 24
ldrsh r3, [r3, #0x18]
mov r3, r3, asr #3
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp, #0xBC]
mov r3, #2
mul r2, r1, r3
add r3, sp, #0x5B, 30
add r3, r3, r2
strh r0, [r3]
; Line 1178
b |$LN38@D_UTIL_dec|
|$LN37@D_UTIL_dec|
; Line 1181
mov r2, #3
mov r1, #0x40
ldr r0, [sp, #0x348]
bl D_UTIL_signal_down_scale
; Line 1182
add r3, sp, #3, 24
ldrsh r3, [r3, #0x4C]
sub r3, r3, #3
mov r3, r3, lsl #16
mov r3, r3, asr #16
add r12, sp, #3, 24
strh r3, [r12, #0x4C]
; Line 1183
add r3, sp, #0xC0
mov r2, #0x40
ldr r1, [sp, #0x348]
ldr r0, [sp, #0x348]
bl D_UTIL_dot_product12
str r0, [sp, #0x31C]
ldr r3, [sp, #0x31C]
mov r3, r3, asr #16
mov r3, r3, lsl #16
mov r3, r3, asr #16
add r12, sp, #1, 24
strh r3, [r12, #0x68]
; Line 1184
ldrsh r2, [sp, #0xC0]
add r3, sp, #3, 24
ldrsh r3, [r3, #0x4C]
mov r3, r3, lsl #1
sub r3, r2, r3
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp, #0xC0]
; Line 1187
add r3, sp, #0xBA
mov r2, #0x50
add r1, sp, #0x5B, 30
add r0, sp, #0x5B, 30
bl D_UTIL_dot_product12
str r0, [sp, #0x320]
ldr r3, [sp, #0x320]
mov r3, r3, asr #16
mov r3, r3, lsl #16
mov r3, r3, asr #16
str r3, [sp, #0xC4]
; Line 1189
add r2, sp, #1, 24
ldrsh r2, [r2, #0x68]
ldr r3, [sp, #0xC4]
cmp r3, r2
ble |$LN36@D_UTIL_dec|
; Line 1191
ldr r3, [sp, #0xC4]
mov r3, r3, asr #1
str r3, [sp, #0xC4]
; Line 1192
ldrsh r3, [sp, #0xBA]
add r3, r3, #1
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp, #0xBA]
|$LN36@D_UTIL_dec|
; Line 1195
ldr r3, [sp, #0xC4]
mov r1, r3, lsl #15
add r0, sp, #1, 24
ldrsh r0, [r0, #0x68]
ldr r3, [pc, #0x768]
ldr r3, [r3]
mov lr, pc
mov pc, r3
str r0, [sp, #0xC4]
; Line 1197
ldr r2, [sp, #0xC4]
mov r3, #0x7F, 24
orr r3, r3, #0xFF
cmp r2, r3
ble |$LN35@D_UTIL_dec|
; Line 1199
mov r3, #0x7F, 24
orr r3, r3, #0xFF
str r3, [sp, #0xC4]
|$LN35@D_UTIL_dec|
; Line 1202
ldr r3, [sp, #0xC4]
mov r3, r3, lsl #16
str r3, [sp, #0xC4]
; Line 1203
ldrsh r2, [sp, #0xBA]
ldrsh r3, [sp, #0xC0]
sub r3, r2, r3
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp, #0xBA]
; Line 1204
add r1, sp, #0xBA
add r0, sp, #0xC4
bl D_UTIL_normalised_inverse_sqrt
; Line 1208
ldrsh r3, [sp, #0xBA]
cmp r3, #0
bmi |$LN34@D_UTIL_dec|
; Line 1210
ldrsh r3, [sp, #0xBA]
rsb r2, r3, #0xF
ldr r3, [sp, #0xC4]
mov r3, r3, asr r2
str r3, [sp, #0xC4]
; Line 1212
b |$LN33@D_UTIL_dec|
|$LN34@D_UTIL_dec|
; Line 1214
ldrsh r3, [sp, #0xBA]
rsb r2, r3, #0
ldr r3, [sp, #0xC4]
mov r3, r3, asr r2
str r3, [sp, #0xC4]
; Line 1215
ldr r3, [sp, #0xC4]
mov r3, r3, asr #15
str r3, [sp, #0xC4]
|$LN33@D_UTIL_dec|
; Line 1219
ldr r2, [sp, #0xC4]
mov r3, #0x7F, 24
orr r3, r3, #0xFF
cmp r2, r3
ble |$LN32@D_UTIL_dec|
; Line 1221
mov r3, #0x7F, 24
orr r3, r3, #0xFF
str r3, [sp, #0xC4]
|$LN32@D_UTIL_dec|
; Line 1224
mov r3, #0
str r3, [sp, #0xBC]
b |$LN31@D_UTIL_dec|
|$LN30@D_UTIL_dec|
ldr r3, [sp, #0xBC]
add r3, r3, #1
str r3, [sp, #0xBC]
|$LN31@D_UTIL_dec|
ldr r3, [sp, #0xBC]
cmp r3, #0x50
bge |$LN29@D_UTIL_dec|
; Line 1226
ldr r1, [sp, #0xBC]
mov r3, #2
mul r2, r1, r3
add r3, sp, #0x5B, 30
add r3, r3, r2
ldrsh r2, [r3]
ldr r3, [sp, #0xC4]
mul r3, r2, r3
mov r3, r3, asr #15
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp, #0xBC]
mov r3, #2
mul r2, r1, r3
add r3, sp, #0x5B, 30
add r3, r3, r2
strh r0, [r3]
; Line 1227
b |$LN30@D_UTIL_dec|
|$LN29@D_UTIL_dec|
; Line 1230
ldr r3, [sp, #0x368]
add r3, r3, #6, 24
add r2, r3, #0x4C
mov r1, #0x40
add r0, sp, #0xC
bl D_UTIL_hp400_12k8
; Line 1231
mov r3, #0
str r3, [sp, #0xC4]
; Line 1233
mov r3, #0
str r3, [sp, #0xBC]
b |$LN28@D_UTIL_dec|
|$LN27@D_UTIL_dec|
ldr r3, [sp, #0xBC]
add r3, r3, #1
str r3, [sp, #0xBC]
|$LN28@D_UTIL_dec|
ldr r3, [sp, #0xBC]
cmp r3, #0x40
bge |$LN26@D_UTIL_dec|
; Line 1235
ldr r1, [sp, #0xBC]
mov r3, #2
mul r2, r1, r3
add r3, sp, #0xC
add r3, r3, r2
ldrsh r0, [r3]
ldr r1, [sp, #0xBC]
mov r3, #2
mul r2, r1, r3
add r3, sp, #0xC
add r3, r3, r2
ldrsh r3, [r3]
mul r2, r0, r3
ldr r3, [sp, #0xC4]
add r3, r3, r2
str r3, [sp, #0xC4]
; Line 1236
b |$LN27@D_UTIL_dec|
|$LN26@D_UTIL_dec|
; Line 1238
ldr r3, [sp, #0xC4]
mov r3, r3, lsl #1
add r3, r3, #1
str r3, [sp, #0xC4]
; Line 1239
ldr r0, [sp, #0xC4]
bl D_UTIL_norm_l
add r12, sp, #3, 24
strh r0, [r12, #0x24]
add r3, sp, #3, 24
ldrsh r3, [r3, #0x24]
strh r3, [sp, #0xBA]
; Line 1240
ldrsh r2, [sp, #0xBA]
ldr r3, [sp, #0xC4]
mov r3, r3, lsl r2
mov r3, r3, asr #16
mov r3, r3, lsl #16
mov r3, r3, asr #16
add r12, sp, #1, 24
strh r3, [r12, #0x68]
; Line 1241
mov r3, #0
str r3, [sp, #0xC4]
; Line 1243
mov r3, #1
str r3, [sp, #0xBC]
b |$LN25@D_UTIL_dec|
|$LN24@D_UTIL_dec|
ldr r3, [sp, #0xBC]
add r3, r3, #1
str r3, [sp, #0xBC]
|$LN25@D_UTIL_dec|
ldr r3, [sp, #0xBC]
cmp r3, #0x40
bge |$LN23@D_UTIL_dec|
; Line 1245
ldr r1, [sp, #0xBC]
mov r3, #2
mul r2, r1, r3
add r3, sp, #0xC
add r3, r3, r2
ldrsh r0, [r3]
ldr r3, [sp, #0xBC]
sub r1, r3, #1
mov r3, #2
mul r2, r1, r3
add r3, sp, #0xC
add r3, r3, r2
ldrsh r3, [r3]
mul r2, r0, r3
ldr r3, [sp, #0xC4]
add r3, r3, r2
str r3, [sp, #0xC4]
; Line 1246
b |$LN24@D_UTIL_dec|
|$LN23@D_UTIL_dec|
; Line 1248
ldr r3, [sp, #0xC4]
mov r3, r3, lsl #1
add r3, r3, #1
str r3, [sp, #0xC4]
; Line 1249
ldrsh r2, [sp, #0xBA]
ldr r3, [sp, #0xC4]
mov r3, r3, lsl r2
mov r3, r3, asr #16
str r3, [sp, #0xC4]
; Line 1251
ldr r3, [sp, #0xC4]
cmp r3, #0
ble |$LN22@D_UTIL_dec|
; Line 1253
ldr r3, [sp, #0xC4]
mov r1, r3, lsl #15
add r0, sp, #1, 24
ldrsh r0, [r0, #0x68]
ldr r3, [pc, #0x4AC]
ldr r3, [r3]
mov lr, pc
mov pc, r3
str r0, [sp, #0x20C]
; Line 1255
ldr r2, [sp, #0x20C]
mov r3, #0x7F, 24
orr r3, r3, #0xFF
cmp r2, r3
ble |$LN21@D_UTIL_dec|
; Line 1257
mov r3, #0x7F, 24
orr r3, r3, #0xFF
str r3, [sp, #0x20C]
|$LN21@D_UTIL_dec|
; Line 1260
b |$LN20@D_UTIL_dec|
|$LN22@D_UTIL_dec|
; Line 1262
mov r3, #0
str r3, [sp, #0x20C]
|$LN20@D_UTIL_dec|
; Line 1266
ldr r2, [sp, #0x20C]
mov r3, #0x7F, 24
orr r3, r3, #0xFF
rsb r3, r2, r3
str r3, [sp, #0x214]
; Line 1267
ldr r2, [sp, #0x20C]
mov r3, #0x7F, 24
orr r3, r3, #0xFF
rsb r2, r2, r3
mov r3, #5, 20
mul r3, r2, r3
mov r3, r3, asr #15
str r3, [sp, #0x2E8]
; Line 1268
ldr r3, [sp, #0x2E8]
mov r3, r3, lsl #1
str r3, [sp, #0x2E8]
; Line 1270
ldr r2, [sp, #0x2E8]
mov r3, #0x7F, 24
orr r3, r3, #0xFF
cmp r2, r3
ble |$LN19@D_UTIL_dec|
; Line 1271
mov r3, #0x7F, 24
orr r3, r3, #0xFF
str r3, [sp, #0x2E8]
|$LN19@D_UTIL_dec|
; Line 1273
ldr r3, [sp, #0x368]
add r3, r3, #6, 24
add r3, r3, #0x7A
ldrh r3, [r3]
cmp r3, #0
ble |$LN18@D_UTIL_dec|
; Line 1275
mov r3, #0
add r12, sp, #2, 24
strh r3, [r12, #0xB8]
; Line 1276
mov r3, #0x7F, 24
orr r3, r3, #0xFF
add r12, sp, #2, 24
strh r3, [r12, #0x10]
; Line 1278
b |$LN17@D_UTIL_dec|
|$LN18@D_UTIL_dec|
; Line 1280
mov r3, #0x7F, 24
orr r3, r3, #0xFF
add r12, sp, #2, 24
strh r3, [r12, #0xB8]
; Line 1281
mov r3, #0
add r12, sp, #2, 24
strh r3, [r12, #0x10]
|$LN17@D_UTIL_dec|
; Line 1284
add r2, sp, #2, 24
ldrsh r2, [r2, #0xB8]
ldr r3, [sp, #0x214]
mul r3, r2, r3
mov r3, r3, asr #15
str r3, [sp, #0xC4]
; Line 1285
add r2, sp, #2, 24
ldrsh r2, [r2, #0x10]
ldr r3, [sp, #0x2E8]
mul r3, r2, r3
mov r2, r3, asr #15
ldr r3, [sp, #0xC4]
add r3, r3, r2
str r3, [sp, #0xC4]
; Line 1287
ldr r3, [sp, #0xC4]
cmp r3, #0
beq |$LN16@D_UTIL_dec|
; Line 1289
ldr r3, [sp, #0xC4]
add r3, r3, #1
str r3, [sp, #0xC4]
|$LN16@D_UTIL_dec|
; Line 1292
ldr r2, [sp, #0xC4]
mov r3, #3, 22
orr r3, r3, #0xCD
cmp r2, r3
bge |$LN15@D_UTIL_dec|
; Line 1294
mov r3, #3, 22
orr r3, r3, #0xCD
str r3, [sp, #0xC4]
|$LN15@D_UTIL_dec|
; Line 1297
add r3, sp, #3, 24
ldrsh r3, [r3, #0x5C]
cmp r3, #8
bne |$LN44@D_UTIL_dec|
mov r3, #1
str r3, [sp, #0x328]
b |$LN45@D_UTIL_dec|
|$LN44@D_UTIL_dec|
mov r3, #0
str r3, [sp, #0x328]
|$LN45@D_UTIL_dec|
add r3, sp, #3, 24
ldrsh r3, [r3, #0x64]
cmp r3, #0
bne |$LN42@D_UTIL_dec|
mov r3, #1
str r3, [sp, #0x32C]
b |$LN43@D_UTIL_dec|
|$LN42@D_UTIL_dec|
mov r3, #0
str r3, [sp, #0x32C]
|$LN43@D_UTIL_dec|
ldr r2, [sp, #0x328]
ldr r3, [sp, #0x32C]
tst r2, r3
beq |$LN14@D_UTIL_dec|
; Line 1300
add r3, sp, #3, 24
ldrsh r3, [r3, #0x54]
add r12, sp, #1, 24
strh r3, [r12, #0x6A]
; Line 1301
add r1, sp, #1, 24
ldrsh r1, [r1, #0x6A]
mov r3, #2
mul r2, r1, r3
ldr r3, [pc, #0x2CC]
add r3, r3, r2
ldrsh r3, [r3]
strh r3, [sp, #0x8C]
; Line 1304
mov r3, #0
str r3, [sp, #0xBC]
b |$LN13@D_UTIL_dec|
|$LN12@D_UTIL_dec|
ldr r3, [sp, #0xBC]
add r3, r3, #1
str r3, [sp, #0xBC]
|$LN13@D_UTIL_dec|
ldr r3, [sp, #0xBC]
cmp r3, #0x50
bge |$LN11@D_UTIL_dec|
; Line 1306
ldr r1, [sp, #0xBC]
mov r3, #2
mul r2, r1, r3
add r3, sp, #0x5B, 30
add r3, r3, r2
ldrsh r2, [r3]
ldrsh r3, [sp, #0x8C]
mul r3, r2, r3
mov r3, r3, asr #15
mov r3, r3, lsl #1
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp, #0xBC]
mov r3, #2
mul r2, r1, r3
add r3, sp, #0x5B, 30
add r3, r3, r2
strh r0, [r3]
; Line 1307
b |$LN12@D_UTIL_dec|
|$LN11@D_UTIL_dec|
; Line 1309
b |$LN10@D_UTIL_dec|
|$LN14@D_UTIL_dec|
; Line 1311
mov r3, #0
str r3, [sp, #0xBC]
b |$LN9@D_UTIL_dec|
|$LN8@D_UTIL_dec|
ldr r3, [sp, #0xBC]
add r3, r3, #1
str r3, [sp, #0xBC]
|$LN9@D_UTIL_dec|
ldr r3, [sp, #0xBC]
cmp r3, #0x50
bge |$LN7@D_UTIL_dec|
; Line 1313
ldr r1, [sp, #0xBC]
mov r3, #2
mul r2, r1, r3
add r3, sp, #0x5B, 30
add r3, r3, r2
ldrsh r2, [r3]
ldr r3, [sp, #0xC4]
mul r3, r2, r3
mov r3, r3, asr #15
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp, #0xBC]
mov r3, #2
mul r2, r1, r3
add r3, sp, #0x5B, 30
add r3, r3, r2
strh r0, [r3]
; Line 1314
b |$LN8@D_UTIL_dec|
|$LN7@D_UTIL_dec|
|$LN10@D_UTIL_dec|
; Line 1317
add r3, sp, #3, 24
ldrsh r3, [r3, #0x5C]
cmp r3, #0
bgt |$LN48@D_UTIL_dec|
mov r3, #1
str r3, [sp, #0x330]
b |$LN49@D_UTIL_dec|
|$LN48@D_UTIL_dec|
mov r3, #0
str r3, [sp, #0x330]
|$LN49@D_UTIL_dec|
add r3, sp, #3, 24
ldrsh r3, [r3, #0x60]
cmp r3, #0
bne |$LN46@D_UTIL_dec|
mov r3, #1
str r3, [sp, #0x334]
b |$LN47@D_UTIL_dec|
|$LN46@D_UTIL_dec|
mov r3, #0
str r3, [sp, #0x334]
|$LN47@D_UTIL_dec|
ldr r2, [sp, #0x330]
ldr r3, [sp, #0x334]
tst r2, r3
beq |$LN6@D_UTIL_dec|
; Line 1319
ldr r0, [sp, #0x358]
bl D_LPC_isf_extrapolation
; Line 1320
mov r3, #0x14
mov r2, #0
add r1, sp, #0x90
ldr r0, [sp, #0x358]
bl D_LPC_isp_a_conversion
; Line 1321
mov r3, #0x14
mov r2, #0x73, 24
orr r2, r2, #0x33
add r1, sp, #0xAF, 30
add r0, sp, #0x90
bl D_LPC_a_weight
; Line 1322
mov r3, #1
str r3, [sp, #8]
ldr r3, [sp, #0x368]
add r3, r3, #5, 24
add r3, r3, #0x68
str r3, [sp, #4]
mov r3, #0x50
str r3, [sp]
add r3, sp, #0x5B, 30
add r2, sp, #0x5B, 30
mov r1, #0x14
add r0, sp, #0xAF, 30
bl D_UTIL_synthesis
; Line 1324
b |$LN5@D_UTIL_dec|
|$LN6@D_UTIL_dec|
; Line 1327
mov r3, #0x10
mov r2, #0x13, 22
orr r2, r2, #0xCD
add r1, sp, #0xAF, 30
ldr r0, [sp, #0x344]
bl D_LPC_a_weight
; Line 1328
mov r3, #1
str r3, [sp, #8]
ldr r3, [sp, #0x368]
add r3, r3, #0x57, 28
str r3, [sp, #4]
mov r3, #0x50
str r3, [sp]
add r3, sp, #0x5B, 30
add r2, sp, #0x5B, 30
mov r1, #0x10
add r0, sp, #0xAF, 30
bl D_UTIL_synthesis
|$LN5@D_UTIL_dec|
; Line 1332
ldr r3, [sp, #0x368]
add r3, r3, #1, 22
add r2, r3, #0x56
mov r1, #0x50
add r0, sp, #0x5B, 30
bl D_UTIL_bp_6k_7k
; Line 1334
add r3, sp, #3, 24
ldrsh r3, [r3, #0x5C]
cmp r3, #8
bne |$LN4@D_UTIL_dec|
; Line 1337
ldr r3, [sp, #0x368]
add r3, r3, #1, 22
add r2, r3, #0xCE
mov r1, #0x50
add r0, sp, #0x5B, 30
bl D_UTIL_hp_7k
|$LN4@D_UTIL_dec|
; Line 1341
mov r3, #0
str r3, [sp, #0xBC]
b |$LN3@D_UTIL_dec|
|$LN2@D_UTIL_dec|
ldr r3, [sp, #0xBC]
add r3, r3, #1
str r3, [sp, #0xBC]
|$LN3@D_UTIL_dec|
ldr r3, [sp, #0xBC]
cmp r3, #0x50
bge |$LN1@D_UTIL_dec|
; Line 1343
ldr r1, [sp, #0xBC]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x350]
add r3, r3, r2
ldrsh r0, [r3]
ldr r1, [sp, #0xBC]
mov r3, #2
mul r2, r1, r3
add r3, sp, #0x5B, 30
add r3, r3, r2
ldrsh r3, [r3]
add r3, r0, r3
str r3, [sp, #0xC4]
; Line 1344
ldr r0, [sp, #0xC4]
bl D_UTIL_saturate
add r12, sp, #3, 24
strh r0, [r12, #0x38]
ldr r1, [sp, #0xBC]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x350]
add r2, r3, r2
add r3, sp, #3, 24
ldrsh r3, [r3, #0x38]
strh r3, [r2]
; Line 1345
b |$LN2@D_UTIL_dec|
|$LN1@D_UTIL_dec|
; Line 1348
add sp, sp, #0xCF, 30
ldmia sp, {sp, pc}
|$LN53@D_UTIL_dec|
DCD |D_ROM_hp_gain|
DCD |__imp___rt_sdiv|
|$M1890|
ENDP ; |D_UTIL_dec_synthesis|
AREA |.pdata|, PDATA
|$T1898| DCD |$LN8@D_UTIL_dee|
DCD 0x40006004
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_deemph_32| PROC
; Line 615
|$LN8@D_UTIL_dee|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0x10
|$M1895|
; Line 619
ldrsh r3, [sp, #0x24]
mov r3, r3, asr #1
str r3, [sp, #8]
; Line 622
ldr r3, [sp, #0x18]
ldrsh r3, [r3]
mov r2, r3, lsl #12
ldr r3, [sp, #0x1C]
ldrsh r3, [r3]
add r3, r2, r3
str r3, [sp, #4]
; Line 623
ldr r3, [sp, #4]
mov r1, r3, lsl #6
ldr r3, [sp, #0x2C]
ldrsh r2, [r3]
ldr r3, [sp, #8]
mul r3, r2, r3
add r3, r1, r3
str r3, [sp, #4]
; Line 624
ldr r3, [sp, #4]
add r3, r3, #2, 20
mov r3, r3, asr #14
str r3, [sp, #4]
; Line 625
ldr r0, [sp, #4]
bl D_UTIL_saturate
strh r0, [sp, #0xC]
ldrsh r2, [sp, #0xC]
ldr r3, [sp, #0x20]
strh r2, [r3]
; Line 627
mov r3, #1
str r3, [sp]
b |$LN3@D_UTIL_dee|
|$LN2@D_UTIL_dee|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN3@D_UTIL_dee|
ldrsh r2, [sp, #0x28]
ldr r3, [sp]
cmp r3, r2
bge |$LN1@D_UTIL_dee|
; Line 629
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x18]
add r3, r3, r2
ldrsh r3, [r3]
mov r0, r3, lsl #12
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x1C]
add r3, r3, r2
ldrsh r3, [r3]
add r3, r0, r3
str r3, [sp, #4]
; Line 630
ldr r3, [sp, #4]
mov r0, r3, lsl #6
ldr r3, [sp]
sub r1, r3, #1
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
ldrsh r2, [r3]
ldr r3, [sp, #8]
mul r3, r2, r3
add r3, r0, r3
str r3, [sp, #4]
; Line 631
ldr r3, [sp, #4]
add r3, r3, #2, 20
mov r3, r3, asr #14
str r3, [sp, #4]
; Line 632
ldr r0, [sp, #4]
bl D_UTIL_saturate
strh r0, [sp, #0xE]
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r2, r3, r2
ldrsh r3, [sp, #0xE]
strh r3, [r2]
; Line 633
b |$LN2@D_UTIL_dee|
|$LN1@D_UTIL_dee|
; Line 635
ldrsh r3, [sp, #0x28]
sub r1, r3, #1
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
ldrsh r2, [r3]
ldr r3, [sp, #0x2C]
strh r2, [r3]
; Line 638
add sp, sp, #0x10
ldmia sp, {sp, pc}
|$M1896|
ENDP ; |D_UTIL_deemph_32|
AREA |.pdata|, PDATA
|$T1903| DCD |$LN14@D_UTIL_syn|
DCD 0x40008c04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_synthesis_32| PROC
; Line 662
|$LN14@D_UTIL_syn|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0x1C
|$M1900|
; Line 667
ldr r3, [sp, #0x24]
ldrsh r0, [r3]
bl D_UTIL_norm_s
strh r0, [sp, #0x18]
ldrsh r3, [sp, #0x18]
sub r3, r3, #2
str r3, [sp, #4]
; Line 669
ldr r3, [sp, #0x24]
ldrsh r2, [r3]
ldrsh r3, [sp, #0x30]
add r3, r3, #4
mov r3, r2, asr r3
str r3, [sp, #0x10]
; Line 672
mov r3, #0
str r3, [sp]
b |$LN9@D_UTIL_syn|
|$LN8@D_UTIL_syn|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN9@D_UTIL_syn|
ldrsh r2, [sp, #0x3C]
ldr r3, [sp]
cmp r3, r2
bge |$LN7@D_UTIL_syn|
; Line 674
mov r3, #0
str r3, [sp, #8]
; Line 676
mov r3, #1
str r3, [sp, #0x14]
b |$LN6@D_UTIL_syn|
|$LN5@D_UTIL_syn|
ldr r3, [sp, #0x14]
add r3, r3, #1
str r3, [sp, #0x14]
|$LN6@D_UTIL_syn|
ldrsh r2, [sp, #0x28]
ldr r3, [sp, #0x14]
cmp r3, r2
bgt |$LN4@D_UTIL_syn|
; Line 678
ldr r2, [sp]
ldr r3, [sp, #0x14]
sub r1, r2, r3
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x38]
add r3, r3, r2
ldrsh r0, [r3]
ldr r1, [sp, #0x14]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x24]
add r3, r3, r2
ldrsh r3, [r3]
mul r2, r0, r3
ldr r3, [sp, #8]
sub r3, r3, r2
str r3, [sp, #8]
; Line 679
b |$LN5@D_UTIL_syn|
|$LN4@D_UTIL_syn|
; Line 681
ldr r3, [sp, #8]
mov r3, r3, asr #11
str r3, [sp, #8]
; Line 683
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x2C]
add r3, r3, r2
ldrsh r2, [r3]
ldr r3, [sp, #0x10]
mul r3, r2, r3
str r3, [sp, #0xC]
; Line 685
mov r3, #1
str r3, [sp, #0x14]
b |$LN3@D_UTIL_syn|
|$LN2@D_UTIL_syn|
ldr r3, [sp, #0x14]
add r3, r3, #1
str r3, [sp, #0x14]
|$LN3@D_UTIL_syn|
ldrsh r2, [sp, #0x28]
ldr r3, [sp, #0x14]
cmp r3, r2
bgt |$LN1@D_UTIL_syn|
; Line 687
ldr r2, [sp]
ldr r3, [sp, #0x14]
sub r1, r2, r3
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x34]
add r3, r3, r2
ldrsh r0, [r3]
ldr r1, [sp, #0x14]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x24]
add r3, r3, r2
ldrsh r3, [r3]
mul r2, r0, r3
ldr r3, [sp, #0xC]
sub r3, r3, r2
str r3, [sp, #0xC]
; Line 688
b |$LN2@D_UTIL_syn|
|$LN1@D_UTIL_syn|
; Line 690
ldr r3, [sp, #0xC]
mov r2, r3, lsl #1
ldr r3, [sp, #8]
add r3, r3, r2
str r3, [sp, #8]
; Line 691
ldr r2, [sp, #8]
ldr r3, [sp, #4]
mov r3, r2, lsl r3
str r3, [sp, #8]
; Line 694
ldr r3, [sp, #8]
mov r3, r3, asr #13
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x34]
add r3, r3, r2
strh r0, [r3]
; Line 697
ldr r3, [sp, #8]
mov r0, r3, asr #1
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x34]
add r3, r3, r2
ldrsh r2, [r3]
mov r3, #1, 20
mul r3, r2, r3
sub r3, r0, r3
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x38]
add r3, r3, r2
strh r0, [r3]
; Line 698
b |$LN8@D_UTIL_syn|
|$LN7@D_UTIL_syn|
; Line 701
add sp, sp, #0x1C
ldmia sp, {sp, pc}
|$M1901|
ENDP ; |D_UTIL_synthesis_32|
AREA |.pdata|, PDATA
|$T1908| DCD |$LN8@D_UTIL_hp5|
DCD 0x40009904
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_hp50_12k8| PROC
; Line 728
|$LN8@D_UTIL_hp5|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r12, lr}
sub sp, sp, #0x1C
|$M1905|
; Line 732
ldr r3, [sp, #0x2C]
ldrsh r3, [r3]
strh r3, [sp, #0xE]
; Line 733
ldr r3, [sp, #0x2C]
add r3, r3, #2
ldrsh r3, [r3]
strh r3, [sp, #8]
; Line 734
ldr r3, [sp, #0x2C]
add r3, r3, #4
ldrsh r3, [r3]
strh r3, [sp, #0xA]
; Line 735
ldr r3, [sp, #0x2C]
add r3, r3, #6
ldrsh r3, [r3]
strh r3, [sp]
; Line 736
ldr r3, [sp, #0x2C]
add r3, r3, #8
ldrsh r3, [r3]
strh r3, [sp, #0x10]
; Line 737
ldr r3, [sp, #0x2C]
add r3, r3, #0xA
ldrsh r3, [r3]
strh r3, [sp, #0xC]
; Line 739
mov r3, #0
str r3, [sp, #4]
b |$LN3@D_UTIL_hp5|
|$LN2@D_UTIL_hp5|
ldr r3, [sp, #4]
add r3, r3, #1
str r3, [sp, #4]
|$LN3@D_UTIL_hp5|
ldrsh r2, [sp, #0x28]
ldr r3, [sp, #4]
cmp r3, r2
bge |$LN1@D_UTIL_hp5|
; Line 741
ldrsh r3, [sp, #0xC]
strh r3, [sp, #2]
; Line 742
ldrsh r3, [sp, #0x10]
strh r3, [sp, #0xC]
; Line 743
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x24]
add r3, r3, r2
ldrsh r3, [r3]
strh r3, [sp, #0x10]
; Line 747
mov r3, #2, 20
str r3, [sp, #0x14]
; Line 748
ldrsh r1, [sp]
mov r3, #0x3F, 24
orr r3, r3, #0x53
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
str r3, [sp, #0x14]
; Line 749
ldrsh r1, [sp, #8]
mvn r3, #0x1F, 24
eor r3, r3, #0x54
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
str r3, [sp, #0x14]
; Line 750
ldr r3, [sp, #0x14]
mov r3, r3, asr #14
str r3, [sp, #0x14]
; Line 751
ldrsh r1, [sp, #0xA]
mov r3, #0x7E, 24
orr r3, r3, #0xA6
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
str r3, [sp, #0x14]
; Line 752
ldrsh r1, [sp, #0xE]
mvn r3, #0x3E, 24
eor r3, r3, #0xA9
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
str r3, [sp, #0x14]
; Line 753
ldrsh r1, [sp, #0x10]
mov r3, #0x1F, 24
orr r3, r3, #0xAA
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
str r3, [sp, #0x14]
; Line 754
ldrsh r1, [sp, #0xC]
mvn r3, #0x3F, 24
eor r3, r3, #0x53
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
str r3, [sp, #0x14]
; Line 755
ldrsh r1, [sp, #2]
mov r3, #0x1F, 24
orr r3, r3, #0xAA
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
str r3, [sp, #0x14]
; Line 756
ldr r3, [sp, #0x14]
mov r3, r3, lsl #2
str r3, [sp, #0x14]
; Line 757
ldrsh r3, [sp, #0xA]
strh r3, [sp, #0xE]
; Line 758
ldrsh r3, [sp]
strh r3, [sp, #8]
; Line 759
add r2, sp, #0
add r1, sp, #0xA
ldr r0, [sp, #0x14]
bl D_UTIL_l_extract
; Line 760
ldr r3, [sp, #0x14]
add r3, r3, #1, 18
mov r3, r3, asr #15
str r3, [sp, #0x14]
; Line 761
ldr r0, [sp, #0x14]
bl D_UTIL_saturate
strh r0, [sp, #0x18]
ldr r1, [sp, #4]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x24]
add r2, r3, r2
ldrsh r3, [sp, #0x18]
strh r3, [r2]
; Line 763
b |$LN2@D_UTIL_hp5|
|$LN1@D_UTIL_hp5|
; Line 764
ldrsh r2, [sp, #0xE]
ldr r3, [sp, #0x2C]
strh r2, [r3]
; Line 765
ldr r3, [sp, #0x2C]
add r2, r3, #2
ldrsh r3, [sp, #8]
strh r3, [r2]
; Line 766
ldr r3, [sp, #0x2C]
add r2, r3, #4
ldrsh r3, [sp, #0xA]
strh r3, [r2]
; Line 767
ldr r3, [sp, #0x2C]
add r2, r3, #6
ldrsh r3, [sp]
strh r3, [r2]
; Line 768
ldr r3, [sp, #0x2C]
add r2, r3, #8
ldrsh r3, [sp, #0x10]
strh r3, [r2]
; Line 769
ldr r3, [sp, #0x2C]
add r2, r3, #0xA
ldrsh r3, [sp, #0xC]
strh r3, [r2]
; Line 772
add sp, sp, #0x1C
ldmia sp, {sp, pc}
|$M1906|
ENDP ; |D_UTIL_hp50_12k8|
AREA |.pdata|, PDATA
|$T1913| DCD |$LN5@D_UTIL_ove|
DCD 0x40002704
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_oversamp_16k| PROC
; Line 873
|$LN5@D_UTIL_ove|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0xB4
|$M1910|
; Line 877
mov r2, #0x30
ldr r1, [sp, #0xC8]
add r0, sp, #0
bl memcpy
; Line 878
ldrsh r3, [sp, #0xC0]
mov r1, r3
mov r3, #2
mul r2, r1, r3
ldr r1, [sp, #0xBC]
add r3, sp, #0
add r0, r3, #0x30
bl memcpy
; Line 879
ldrsh r2, [sp, #0xC0]
mov r3, #5, 20
mul r3, r2, r3
mov r3, r3, asr #15
mov r3, r3, lsl #1
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp, #0xB0]
; Line 880
ldrsh r2, [sp, #0xB0]
ldr r1, [sp, #0xC4]
add r3, sp, #0
add r0, r3, #0x18
bl D_UTIL_up_samp
; Line 881
mov r2, #0x30
ldrsh r0, [sp, #0xC0]
mov r3, #2
mul r1, r0, r3
add r3, sp, #0
add r1, r3, r1
ldr r0, [sp, #0xC8]
bl memcpy
; Line 884
add sp, sp, #0xB4
ldmia sp, {sp, pc}
|$M1911|
ENDP ; |D_UTIL_oversamp_16k|
IMPORT |D_ROM_fir_up|
AREA |.pdata|, PDATA
|$T1919| DCD |$LN8@D_UTIL_up_|
DCD 0x40003904
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_up_samp| PROC
; Line 838
|$LN8@D_UTIL_up_|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r4, r12, lr}
sub sp, sp, #0x1C
|$M1916|
; Line 842
mov r3, #0
str r3, [sp, #0x10]
; Line 844
mov r3, #0
str r3, [sp, #0xC]
b |$LN3@D_UTIL_up_|
|$LN2@D_UTIL_up_|
ldr r3, [sp, #0xC]
add r3, r3, #1
str r3, [sp, #0xC]
|$LN3@D_UTIL_up_|
ldrsh r2, [sp, #0x30]
ldr r3, [sp, #0xC]
cmp r3, r2
bge |$LN1@D_UTIL_up_|
; Line 846
ldr r2, [sp, #0x10]
mov r3, #0x19, 24
orr r3, r3, #0x9A
mul r3, r2, r3
mov r3, r3, asr #15
str r3, [sp, #4]
; Line 847
ldr r3, [sp, #4]
mov r2, r3, lsl #2
ldr r3, [sp, #4]
add r2, r2, r3
ldr r3, [sp, #0x10]
sub r3, r3, r2
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp, #8]
; Line 848
mov r3, #0xC
str r3, [sp]
mov r3, #5
ldrsh r2, [sp, #8]
ldr r1, [pc, #0x4C]
ldr r4, [sp, #4]
mov r0, #2
mul lr, r4, r0
ldr r0, [sp, #0x28]
add r0, r0, lr
bl D_UTIL_interpol
strh r0, [sp, #0x18]
ldr r1, [sp, #0xC]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x2C]
add r2, r3, r2
ldrsh r3, [sp, #0x18]
strh r3, [r2]
; Line 849
ldr r3, [sp, #0x10]
add r3, r3, #4
str r3, [sp, #0x10]
; Line 850
b |$LN2@D_UTIL_up_|
|$LN1@D_UTIL_up_|
; Line 853
add sp, sp, #0x1C
ldmia sp, {r4, sp, pc}
|$LN9@D_UTIL_up_|
DCD |D_ROM_fir_up|
|$M1917|
ENDP ; |D_UTIL_up_samp|
AREA |.pdata|, PDATA
|$T1925| DCD |$LN12@D_UTIL_syn@2|
DCD 0x40007d04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_synthesis| PROC
; Line 978
|$LN12@D_UTIL_syn@2|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0xE4
|$M1922|
; Line 983
ldrsh r1, [sp, #0xF0]
mov r3, #2
mul r2, r1, r3
add r3, sp, #8
add r3, r3, r2
str r3, [sp, #0xD4]
; Line 986
ldr r3, [sp, #0xEC]
ldrsh r0, [r3]
bl D_UTIL_norm_s
strh r0, [sp, #0xE0]
ldrsh r3, [sp, #0xE0]
sub r3, r3, #2
str r3, [sp, #4]
; Line 988
ldrsh r3, [sp, #0xF0]
mov r1, r3
mov r3, #2
mul r2, r1, r3
ldr r1, [sp, #0x100]
add r0, sp, #8
bl memcpy
; Line 990
ldr r3, [sp, #0xEC]
ldrsh r3, [r3]
mov r3, r3, asr #1
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp, #0xD8]
; Line 993
mov r3, #0
str r3, [sp]
b |$LN7@D_UTIL_syn@2|
|$LN6@D_UTIL_syn@2|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN7@D_UTIL_syn@2|
ldrsh r2, [sp, #0xFC]
ldr r3, [sp]
cmp r3, r2
bge |$LN5@D_UTIL_syn@2|
; Line 995
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0xF4]
add r3, r3, r2
ldrsh r2, [r3]
ldrsh r3, [sp, #0xD8]
mul r3, r2, r3
str r3, [sp, #0xD0]
; Line 997
mov r3, #1
str r3, [sp, #0xDC]
b |$LN4@D_UTIL_syn@2|
|$LN3@D_UTIL_syn@2|
ldr r3, [sp, #0xDC]
add r3, r3, #1
str r3, [sp, #0xDC]
|$LN4@D_UTIL_syn@2|
ldrsh r2, [sp, #0xF0]
ldr r3, [sp, #0xDC]
cmp r3, r2
bgt |$LN2@D_UTIL_syn@2|
; Line 999
ldr r1, [sp, #0xDC]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0xEC]
add r3, r3, r2
ldrsh r0, [r3]
ldr r2, [sp]
ldr r3, [sp, #0xDC]
sub r1, r2, r3
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0xD4]
add r3, r3, r2
ldrsh r3, [r3]
mul r2, r0, r3
ldr r3, [sp, #0xD0]
sub r3, r3, r2
str r3, [sp, #0xD0]
; Line 1000
b |$LN3@D_UTIL_syn@2|
|$LN2@D_UTIL_syn@2|
; Line 1001
ldr r2, [sp, #0xD0]
ldr r3, [sp, #4]
mov r3, r2, lsl r3
str r3, [sp, #0xD0]
; Line 1003
ldr r3, [sp, #0xD0]
add r3, r3, #2, 22
mov r3, r3, asr #12
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0xD4]
add r3, r3, r2
strh r0, [r3]
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0xD4]
add r0, r3, r2
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0xF8]
add r2, r3, r2
ldrsh r3, [r0]
strh r3, [r2]
; Line 1004
b |$LN6@D_UTIL_syn@2|
|$LN5@D_UTIL_syn@2|
; Line 1007
add r3, sp, #1, 24
ldrsh r3, [r3, #4]
cmp r3, #0
beq |$LN1@D_UTIL_syn@2|
; Line 1009
ldrsh r3, [sp, #0xF0]
mov r1, r3
mov r3, #2
mul r2, r1, r3
ldrsh r1, [sp, #0xFC]
ldrsh r3, [sp, #0xF0]
sub r0, r1, r3
mov r3, #2
mul r1, r0, r3
ldr r3, [sp, #0xD4]
add r1, r3, r1
ldr r0, [sp, #0x100]
bl memcpy
|$LN1@D_UTIL_syn@2|
; Line 1013
add sp, sp, #0xE4
ldmia sp, {sp, pc}
|$M1923|
ENDP ; |D_UTIL_synthesis|
IMPORT |D_ROM_fir_7k|
AREA |.pdata|, PDATA
|$T1930| DCD |$LN11@D_UTIL_hp_|
DCD 0x40004f04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_hp_7k| PROC
; Line 1081
|$LN11@D_UTIL_hp_|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r12, lr}
sub sp, sp, #0xE8
|$M1927|
; Line 1086
mov r2, #0x3C
ldr r1, [sp, #0xF8]
add r0, sp, #0
bl memcpy
; Line 1087
ldrsh r3, [sp, #0xF4]
mov r1, r3
mov r3, #2
mul r2, r1, r3
ldr r1, [sp, #0xF0]
add r3, sp, #0
add r0, r3, #0x3C
bl memcpy
; Line 1089
mov r3, #0
str r3, [sp, #0xDC]
b |$LN6@D_UTIL_hp_|
|$LN5@D_UTIL_hp_|
ldr r3, [sp, #0xDC]
add r3, r3, #1
str r3, [sp, #0xDC]
|$LN6@D_UTIL_hp_|
ldrsh r2, [sp, #0xF4]
ldr r3, [sp, #0xDC]
cmp r3, r2
bge |$LN4@D_UTIL_hp_|
; Line 1091
mov r3, #0
str r3, [sp, #0xE0]
; Line 1093
mov r3, #0
str r3, [sp, #0xE4]
b |$LN3@D_UTIL_hp_|
|$LN2@D_UTIL_hp_|
ldr r3, [sp, #0xE4]
add r3, r3, #1
str r3, [sp, #0xE4]
|$LN3@D_UTIL_hp_|
ldr r3, [sp, #0xE4]
cmp r3, #0x1F
bge |$LN1@D_UTIL_hp_|
; Line 1095
ldr r2, [sp, #0xDC]
ldr r3, [sp, #0xE4]
add r1, r2, r3
mov r3, #2
mul r2, r1, r3
add r3, sp, #0
add r3, r3, r2
ldrsh r0, [r3]
ldr r1, [sp, #0xE4]
mov r3, #2
mul r2, r1, r3
ldr r3, [pc, #0x70]
add r3, r3, r2
ldrsh r3, [r3]
mul r2, r0, r3
ldr r3, [sp, #0xE0]
add r3, r3, r2
str r3, [sp, #0xE0]
; Line 1096
b |$LN2@D_UTIL_hp_|
|$LN1@D_UTIL_hp_|
; Line 1098
ldr r3, [sp, #0xE0]
add r3, r3, #1, 18
mov r3, r3, asr #15
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp, #0xDC]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0xF0]
add r3, r3, r2
strh r0, [r3]
; Line 1099
b |$LN5@D_UTIL_hp_|
|$LN4@D_UTIL_hp_|
; Line 1101
mov r2, #0x3C
ldrsh r0, [sp, #0xF4]
mov r3, #2
mul r1, r0, r3
add r3, sp, #0
add r1, r3, r1
ldr r0, [sp, #0xF8]
bl memcpy
; Line 1104
add sp, sp, #0xE8
ldmia sp, {sp, pc}
|$LN12@D_UTIL_hp_|
DCD |D_ROM_fir_7k|
|$M1928|
ENDP ; |D_UTIL_hp_7k|
EXPORT |D_UTIL_preemph|
AREA |.pdata|, PDATA
|$T1936| DCD |$LN8@D_UTIL_pre|
DCD 0x40004d04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_UTIL_preemph| PROC
; Line 1368
|$LN8@D_UTIL_pre|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0xC
|$M1933|
; Line 1372
ldrsh r3, [sp, #0x1C]
sub r1, r3, #1
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
ldrsh r3, [r3]
strh r3, [sp, #4]
; Line 1374
ldrsh r3, [sp, #0x1C]
sub r3, r3, #1
str r3, [sp]
b |$LN3@D_UTIL_pre|
|$LN2@D_UTIL_pre|
ldr r3, [sp]
sub r3, r3, #1
str r3, [sp]
|$LN3@D_UTIL_pre|
ldr r3, [sp]
cmp r3, #0
ble |$LN1@D_UTIL_pre|
; Line 1376
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
ldrsh r3, [r3]
mov r3, r3, lsl #15
str r3, [sp, #8]
; Line 1377
ldr r3, [sp]
sub r1, r3, #1
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
ldrsh r1, [r3]
ldrsh r3, [sp, #0x18]
mul r2, r1, r3
ldr r3, [sp, #8]
sub r3, r3, r2
str r3, [sp, #8]
; Line 1378
ldr r3, [sp, #8]
add r3, r3, #1, 18
mov r3, r3, asr #15
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x14]
add r3, r3, r2
strh r0, [r3]
; Line 1379
b |$LN2@D_UTIL_pre|
|$LN1@D_UTIL_pre|
; Line 1381
ldr r3, [sp, #0x14]
ldrsh r3, [r3]
mov r3, r3, lsl #15
str r3, [sp, #8]
; Line 1382
ldr r3, [sp, #0x20]
ldrsh r1, [r3]
ldrsh r3, [sp, #0x18]
mul r2, r1, r3
ldr r3, [sp, #8]
sub r3, r3, r2
str r3, [sp, #8]
; Line 1383
ldr r3, [sp, #8]
add r3, r3, #1, 18
mov r3, r3, asr #15
mov r2, r3, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0x14]
strh r2, [r3]
; Line 1384
ldrsh r2, [sp, #4]
ldr r3, [sp, #0x20]
strh r2, [r3]
; Line 1387
add sp, sp, #0xC
ldmia sp, {sp, pc}
|$M1934|
ENDP ; |D_UTIL_preemph|
END