; 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