; Listing generated by Microsoft (R) Optimizing Compiler Version 14.00.50727 TTL d:\MyProject\VS2005\Tcpmp\tcpmp\amr\26204\dec_main.c CODE32 AREA |.drectve|, DRECTVE DCB "-defaultlib:LIBCMT " DCB "-defaultlib:OLDNAMES " EXPORT |D_MAIN_reset| IMPORT |D_DTX_reset| IMPORT |D_ROM_isf| IMPORT |memcpy| IMPORT |D_ROM_isp| IMPORT |D_GAIN_lag_concealment_init| IMPORT |D_GAIN_init| IMPORT |memset| AREA |.pdata|, PDATA |$T1717| DCD |$LN9@D_MAIN_res| DCD 0x4000cb04 ; Function compile flags: /Odsp AREA |.text|, CODE, ARM |D_MAIN_reset| PROC ; File d:\myproject\vs2005\tcpmp\tcpmp\amr\26204\dec_main.c ; Line 67 |$LN9@D_MAIN_res| mov r12, sp stmdb sp!, {r0, r1} stmdb sp!, {r4, r12, lr} sub sp, sp, #8 |$M1714| ; Line 72 ldr r3, [sp, #0x14] str r3, [sp, #4] ; Line 73 mov r2, #0x1F, 28 mov r1, #0 ldr r3, [sp, #4] add r0, r3, #4 bl memset ; Line 74 mov r2, #0x20 mov r1, #0 ldr r3, [sp, #4] add r0, r3, #0x5D, 28 bl memset ; Line 75 ldr r3, [sp, #4] add r3, r3, #6, 24 add r2, r3, #0x78 mov r3, #0 strh r3, [r2] ; Line 76 ldr r3, [sp, #4] add r3, r3, #6, 24 add r2, r3, #0x76 mov r3, #0x40 strh r3, [r2] ; Line 77 ldr r3, [sp, #4] add r3, r3, #6, 24 add r2, r3, #0x82 mov r3, #1 strb r3, [r2] ; Line 78 ldr r2, [sp, #4] mov r3, #0 str r3, [r2] ; Line 79 ldr r3, [sp, #4] add r3, r3, #6, 24 add r2, r3, #0x6A mov r3, #0 strh r3, [r2] ; Line 80 mov r2, #0x10 mov r1, #0 ldr r3, [sp, #4] add r0, r3, #0x63, 28 bl memset ; Line 83 ldr r3, [sp, #4] add r3, r3, #6, 24 add r2, r3, #0x6C mov r3, #8 strh r3, [r2] ; Line 84 ldr r3, [sp, #4] add r3, r3, #6, 24 add r2, r3, #0x68 mov r3, #8 strh r3, [r2] ; Line 85 ldr r3, [sp, #4] add r3, r3, #6, 24 add r2, r3, #0x66 mov r3, #8 strh r3, [r2] ; Line 86 ldr r3, [sp, #4] add r3, r3, #6, 24 add r2, r3, #0x64 mov r3, #8 strh r3, [r2] ; Line 87 ldr r3, [sp, #4] add r3, r3, #6, 24 add r2, r3, #0x62 mov r3, #8 strh r3, [r2] ; Line 89 ldrsh r3, [sp, #0x18] cmp r3, #0 beq |$LN4@D_MAIN_res| ; Line 92 ldr r3, [sp, #4] add r3, r3, #5, 24 add r0, r3, #0x3A bl D_GAIN_init ; Line 93 mov r2, #0x30 mov r1, #0 ldr r3, [sp, #4] add r3, r3, #5, 24 add r0, r3, #0xA bl memset ; Line 94 mov r2, #0xC mov r1, #0 ldr r3, [sp, #4] add r0, r3, #0x19, 26 bl memset ; Line 95 mov r2, #0x3C mov r1, #0 ldr r3, [sp, #4] add r3, r3, #1, 22 add r0, r3, #0x56 bl memset ; Line 96 mov r2, #0x3C mov r1, #0 ldr r3, [sp, #4] add r3, r3, #1, 22 add r0, r3, #0xCE bl memset ; Line 97 mov r2, #0xC mov r1, #0 ldr r3, [sp, #4] add r3, r3, #6, 24 add r0, r3, #0x4C bl memset ; Line 98 ldr r3, [sp, #4] add r3, r3, #6, 24 add r0, r3, #0x58 bl D_GAIN_lag_concealment_init ; Line 101 mov r2, #0x20 ldr r1, [pc, #0x168] ldr r3, [sp, #4] add r0, r3, #0x59, 28 bl memcpy ; Line 102 mov r2, #0x20 ldr r1, [pc, #0x150] ldr r3, [sp, #4] add r0, r3, #0x5B, 28 bl memcpy ; Line 104 mov r3, #0 str r3, [sp] b |$LN3@D_MAIN_res| |$LN2@D_MAIN_res| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN3@D_MAIN_res| ldr r3, [sp] cmp r3, #3 bge |$LN1@D_MAIN_res| ; Line 106 mov r2, #0x20 ldr r1, [pc, #0x118] ldr r3, [sp, #4] add r3, r3, #3, 24 add r4, r3, #0xF6 ldr lr, [sp] mov r3, #0x10 mul r0, lr, r3 mov r3, #2 mul r3, r0, r3 add r0, r4, r3 bl memcpy ; Line 107 b |$LN2@D_MAIN_res| |$LN1@D_MAIN_res| ; Line 110 ldr r3, [sp, #4] add r3, r3, #6, 24 add r2, r3, #0x6E mov r3, #0 strh r3, [r2] ; Line 111 ldr r3, [sp, #4] add r2, r3, #0x67, 28 mov r3, #0x55, 24 orr r3, r3, #0x55 strh r3, [r2] ; Line 112 ldr r3, [sp, #4] add r3, r3, #6, 24 add r2, r3, #0x72 mov r3, #0x55, 24 orr r3, r3, #0x55 strh r3, [r2] ; Line 113 ldr r3, [sp, #4] add r3, r3, #6, 24 add r2, r3, #0x74 mov r3, #0x55, 24 orr r3, r3, #0x55 strh r3, [r2] ; Line 114 ldr r3, [sp, #4] add r3, r3, #6, 24 add r2, r3, #0x81 mov r3, #0 strb r3, [r2] ; Line 115 ldr r3, [sp, #4] add r2, r3, #0x1A, 26 mov r3, #0 strb r3, [r2] ; Line 118 mov r2, #0x28 mov r1, #0 ldr r3, [sp, #4] add r3, r3, #5, 24 add r0, r3, #0x68 bl memset ; Line 119 mov r2, #0x20 mov r1, #0 ldr r3, [sp, #4] add r0, r3, #0x5F, 28 bl memset ; Line 120 mov r2, #0x20 mov r1, #0 ldr r3, [sp, #4] add r0, r3, #0x61, 28 bl memset ; Line 121 ldr r1, [pc, #0x2C] ldr r3, [sp, #4] add r3, r3, #6, 24 add r3, r3, #0x7C ldr r0, [r3] bl D_DTX_reset ; Line 122 ldr r3, [sp, #4] add r3, r3, #6, 24 add r2, r3, #0x7A mov r3, #0 strh r3, [r2] |$LN4@D_MAIN_res| ; Line 126 add sp, sp, #8 ldmia sp, {r4, sp, pc} |$LN10@D_MAIN_res| DCD |D_ROM_isf| DCD |D_ROM_isp| |$M1715| ENDP ; |D_MAIN_reset| EXPORT |D_MAIN_init| IMPORT |D_DTX_init| IMPORT |malloc| AREA |.pdata|, PDATA |$T1724| DCD |$LN6@D_MAIN_ini| DCD 0x40002904 ; Function compile flags: /Odsp AREA |.text|, CODE, ARM |D_MAIN_init| PROC ; Line 143 |$LN6@D_MAIN_ini| mov r12, sp stmdb sp!, {r0} stmdb sp!, {r12, lr} sub sp, sp, #0xC |$M1721| ; Line 147 ldr r2, [sp, #0x14] mov r3, #0 str r3, [r2] ; Line 152 mov r0, #6, 24 orr r0, r0, #0x84 bl malloc str r0, [sp, #8] ldr r3, [sp, #8] str r3, [sp] ldr r3, [sp] cmp r3, #0 bne |$LN1@D_MAIN_ini| ; Line 154 mvn r3, #0 str r3, [sp, #4] b |$LN2@D_MAIN_ini| |$LN1@D_MAIN_ini| ; Line 157 ldr r3, [sp] add r3, r3, #6, 24 add r2, r3, #0x7C mov r3, #0 str r3, [r2] ; Line 158 ldr r1, [pc, #0x38] ldr r3, [sp] add r3, r3, #6, 24 add r0, r3, #0x7C bl D_DTX_init ; Line 159 mov r1, #1 ldr r0, [sp] bl D_MAIN_reset ; Line 160 ldr r2, [sp] ldr r3, [sp, #0x14] str r2, [r3] ; Line 162 mov r3, #0 str r3, [sp, #4] |$LN2@D_MAIN_ini| ; Line 163 ldr r0, [sp, #4] add sp, sp, #0xC ldmia sp, {sp, pc} |$LN7@D_MAIN_ini| DCD |D_ROM_isf| |$M1722| ENDP ; |D_MAIN_init| EXPORT |D_MAIN_close| IMPORT |free| IMPORT |D_DTX_exit| AREA |.pdata|, PDATA |$T1730| DCD |$LN5@D_MAIN_clo| DCD 0x40000c03 ; Function compile flags: /Odsp AREA |.text|, CODE, ARM |D_MAIN_close| PROC ; Line 179 |$LN5@D_MAIN_clo| mov r12, sp stmdb sp!, {r0} stmdb sp!, {r12, lr} |$M1727| ; Line 180 ldr r3, [sp, #8] ldr r3, [r3] add r3, r3, #6, 24 add r0, r3, #0x7C bl D_DTX_exit ; Line 181 ldr r3, [sp, #8] ldr r0, [r3] bl free ; Line 184 ldmia sp, {sp, pc} |$M1728| ENDP ; |D_MAIN_close| EXPORT |D_MAIN_decode| IMPORT |D_DTX_activity_update| IMPORT |memmove| IMPORT |D_GAIN_adaptive_control| IMPORT |D_UTIL_saturate| IMPORT |D_UTIL_mpy_32_16| IMPORT |D_ACELP_phase_dispersion| IMPORT |D_UTIL_l_extract| IMPORT |D_UTIL_norm_s| IMPORT |abs| IMPORT |D_GAIN_find_voice_factor| IMPORT |D_UTIL_signal_down_scale| IMPORT |D_UTIL_signal_up_scale| IMPORT |D_GAIN_decode| IMPORT |D_GAIN_pitch_sharpening| IMPORT |D_UTIL_preemph| IMPORT |D_ACELP_decode_4t| IMPORT |D_ACELP_decode_2t| IMPORT |D_UTIL_random| IMPORT |D_GAIN_adaptive_codebook_excitation| IMPORT |D_GAIN_lag_concealment| IMPORT |D_LPC_int_isp_find| IMPORT |D_LPC_isf_2s5s_decode| IMPORT |D_LPC_isf_2s3s_decode| IMPORT |D_UTIL_dec_synthesis| IMPORT |D_ROM_interpol_frac| IMPORT |D_LPC_isp_a_conversion| IMPORT |D_LPC_isf_isp_conversion| IMPORT |D_DTX_exe| IMPORT |D_DTX_rx_handler| IMPORT |__imp___rt_sdiv| AREA |.pdata|, PDATA |$T1798| DCD |$LN157@D_MAIN_dec| DCD 0x40084704 ; Function compile flags: /Odsp AREA |.text|, CODE, ARM |D_MAIN_decode| PROC ; Line 205 |$LN157@D_MAIN_dec| mov r12, sp stmdb sp!, {r0 - r3} stmdb sp!, {r12, lr} sub sp, sp, #0x6A, 28 |$M1795| ; Line 210 mov r3, #0 str r3, [sp, #0x54C] ; Line 222 mov r3, #0 strh r3, [sp, #0x1E] ; Line 224 mov r3, #0 add r12, sp, #5, 24 strh r3, [r12, #0x60] ; Line 225 mov r3, #0 add r12, sp, #1, 24 strh r3, [r12, #0xE2] ; Line 235 ldr r3, [sp, #0x6B4] str r3, [sp, #0x2BC] ; Line 238 ldrb r1, [sp, #0x6B8] ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x7C ldr r0, [r3] bl D_DTX_rx_handler strb r0, [sp, #0x65C] ldrb r3, [sp, #0x65C] strb r3, [sp, #0x551] ; Line 240 ldrb r3, [sp, #0x551] cmp r3, #0 beq |$LN136@D_MAIN_dec| ; Line 242 mov r3, #6, 24 orr r3, r3, #0xAC add r3, sp, r3 str r3, [sp] add r3, sp, #0xB4 ldrb r2, [sp, #0x551] add r1, sp, #0xB1, 30 ldr r0, [sp, #0x2BC] add r0, r0, #6, 24 add r0, r0, #0x7C ldr r0, [r0] bl D_DTX_exe |$LN136@D_MAIN_dec| ; Line 247 ldrb r3, [sp, #0x6B8] cmp r3, #3 bne |$LN141@D_MAIN_dec| mov r3, #1 str r3, [sp, #0x660] b |$LN142@D_MAIN_dec| |$LN141@D_MAIN_dec| mov r3, #0 str r3, [sp, #0x660] |$LN142@D_MAIN_dec| ldrb r3, [sp, #0x6B8] cmp r3, #1 bne |$LN139@D_MAIN_dec| mov r3, #1 str r3, [sp, #0x664] b |$LN140@D_MAIN_dec| |$LN139@D_MAIN_dec| mov r3, #0 str r3, [sp, #0x664] |$LN140@D_MAIN_dec| ldr r2, [sp, #0x660] ldr r3, [sp, #0x664] orrs r3, r2, r3 beq |$LN135@D_MAIN_dec| ; Line 250 mov r3, #1 strb r3, [sp, #0x550] ; Line 251 mov r3, #0 strb r3, [sp, #0x1C] b |$LN134@D_MAIN_dec| |$LN135@D_MAIN_dec| ; Line 253 ldrb r3, [sp, #0x6B8] cmp r3, #7 bne |$LN145@D_MAIN_dec| mov r3, #1 str r3, [sp, #0x668] b |$LN146@D_MAIN_dec| |$LN145@D_MAIN_dec| mov r3, #0 str r3, [sp, #0x668] |$LN146@D_MAIN_dec| ldrb r3, [sp, #0x6B8] cmp r3, #2 bne |$LN143@D_MAIN_dec| mov r3, #1 str r3, [sp, #0x66C] b |$LN144@D_MAIN_dec| |$LN143@D_MAIN_dec| mov r3, #0 str r3, [sp, #0x66C] |$LN144@D_MAIN_dec| ldr r2, [sp, #0x668] ldr r3, [sp, #0x66C] orrs r3, r2, r3 beq |$LN133@D_MAIN_dec| ; Line 256 mov r3, #1 strb r3, [sp, #0x550] ; Line 257 mov r3, #1 strb r3, [sp, #0x1C] ; Line 259 b |$LN132@D_MAIN_dec| |$LN133@D_MAIN_dec| ; Line 261 mov r3, #0 strb r3, [sp, #0x550] ; Line 262 mov r3, #0 strb r3, [sp, #0x1C] |$LN132@D_MAIN_dec| |$LN134@D_MAIN_dec| ; Line 265 ldrb r3, [sp, #0x550] cmp r3, #0 beq |$LN131@D_MAIN_dec| ; Line 267 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x81 ldrb r3, [r3] add r3, r3, #1 and r2, r3, #0xFF ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x81 strb r2, [r3] ; Line 269 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x81 ldrb r3, [r3] cmp r3, #6 ble |$LN130@D_MAIN_dec| ; Line 271 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r2, r3, #0x81 mov r3, #6 strb r3, [r2] |$LN130@D_MAIN_dec| ; Line 274 b |$LN129@D_MAIN_dec| |$LN131@D_MAIN_dec| ; Line 276 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x81 ldrb r3, [r3] mov r3, r3, asr #1 and r2, r3, #0xFF ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x81 strb r2, [r3] |$LN129@D_MAIN_dec| ; Line 291 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x7C ldr r3, [r3] add r3, r3, #1, 24 add r3, r3, #0x61 ldrb r3, [r3] cmp r3, #1 bne |$LN128@D_MAIN_dec| ; Line 293 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r2, r3, #0x81 mov r3, #5 strb r3, [r2] ; Line 294 ldr r3, [sp, #0x2BC] add r2, r3, #0x1A, 26 mov r3, #0 strb r3, [r2] b |$LN127@D_MAIN_dec| |$LN128@D_MAIN_dec| ; Line 296 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x7C ldr r3, [r3] add r3, r3, #1, 24 add r3, r3, #0x61 ldrb r3, [r3] cmp r3, #2 bne |$LN126@D_MAIN_dec| ; Line 298 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r2, r3, #0x81 mov r3, #5 strb r3, [r2] ; Line 299 ldr r3, [sp, #0x2BC] add r2, r3, #0x1A, 26 mov r3, #1 strb r3, [r2] |$LN126@D_MAIN_dec| |$LN127@D_MAIN_dec| ; Line 302 ldrb r3, [sp, #0x551] cmp r3, #0 bne |$LN125@D_MAIN_dec| ; Line 304 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] and r3, r3, #0xFF strb r3, [sp, #0x1E0] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 306 ldrb r3, [sp, #0x550] cmp r3, #0 bne |$LN124@D_MAIN_dec| ; Line 308 ldrb r3, [sp, #0x1E0] cmp r3, #0 bne |$LN123@D_MAIN_dec| ; Line 310 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x7A ldrh r3, [r3] add r1, r3, #1 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r2, r3, #0x7A mov r3, r1, lsl #16 mov r3, r3, lsr #16 strh r3, [r2] ; Line 312 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x7A ldrh r3, [r3] mov r2, r3 mov r3, #0x7F, 24 orr r3, r3, #0xFF cmp r2, r3 ble |$LN122@D_MAIN_dec| ; Line 314 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r2, r3, #0x7A mov r3, #0x7F, 24 orr r3, r3, #0xFF strh r3, [r2] |$LN122@D_MAIN_dec| ; Line 317 b |$LN121@D_MAIN_dec| |$LN123@D_MAIN_dec| ; Line 319 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r2, r3, #0x7A mov r3, #0 strh r3, [r2] |$LN121@D_MAIN_dec| |$LN124@D_MAIN_dec| |$LN125@D_MAIN_dec| ; Line 327 ldrb r3, [sp, #0x551] cmp r3, #0 beq |$LN120@D_MAIN_dec| ; Line 333 mov r2, #0x10 mov r1, #5, 24 orr r1, r1, #0x64 add r1, sp, r1 add r0, sp, #0xB4 bl D_LPC_isf_isp_conversion ; Line 334 mov r3, #0x10 mov r2, #1 mov r1, #1, 22 orr r1, r1, #0xC4 add r1, sp, r1 mov r0, #5, 24 orr r0, r0, #0x64 add r0, sp, r0 bl D_LPC_isp_a_conversion ; Line 335 mov r2, #0x20 ldr r3, [sp, #0x2BC] add r1, r3, #0x5B, 28 add r0, sp, #0x7A, 30 bl memcpy ; Line 337 mov r3, #0 str r3, [sp, #0xD4] b |$LN119@D_MAIN_dec| |$LN118@D_MAIN_dec| ldr r3, [sp, #0xD4] add r3, r3, #0x40 str r3, [sp, #0xD4] |$LN119@D_MAIN_dec| ldr r3, [sp, #0xD4] cmp r3, #1, 24 bge |$LN117@D_MAIN_dec| ; Line 339 ldr r3, [sp, #0xD4] mov r3, r3, asr #6 str r3, [sp, #0x5A8] ; Line 341 mov r3, #0 str r3, [sp, #0xDC] b |$LN116@D_MAIN_dec| |$LN115@D_MAIN_dec| ldr r3, [sp, #0xDC] add r3, r3, #1 str r3, [sp, #0xDC] |$LN116@D_MAIN_dec| ldr r3, [sp, #0xDC] cmp r3, #0x10 bge |$LN114@D_MAIN_dec| ; Line 343 ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0x7A, 30 add r3, r3, r2 ldrsh r0, [r3] ldr r1, [sp, #0x5A8] mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x3E8] add r3, r3, r2 ldrsh r2, [r3] mov r3, #0x7F, 24 orr r3, r3, #0xFF rsb r3, r2, r3 mul r3, r0, r3 mov r3, r3, lsl #1 str r3, [sp, #0x5AC] ; Line 344 ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0xB4 add r3, r3, r2 ldrsh r0, [r3] ldr r1, [sp, #0x5A8] mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x3A0] add r3, r3, r2 ldrsh r3, [r3] mul r3, r0, r3 mov r2, r3, lsl #1 ldr r3, [sp, #0x5AC] add r3, r3, r2 str r3, [sp, #0x5AC] ; Line 345 ldr r3, [sp, #0x5AC] add r3, r3, #2, 18 mov r3, r3, asr #16 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0xA3, 30 add r3, r3, r2 strh r0, [r3] ; Line 346 b |$LN115@D_MAIN_dec| |$LN114@D_MAIN_dec| ; Line 349 ldr r3, [sp, #0x2BC] str r3, [sp, #0x14] ldrb r3, [sp, #0x550] str r3, [sp, #0x10] ldrb r3, [sp, #0x551] str r3, [sp, #0xC] add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] str r3, [sp, #8] add r3, sp, #0xA3, 30 str r3, [sp, #4] mov r3, #1 str r3, [sp] ldr r2, [sp, #0xD4] mov r3, #5 mul r1, r2, r3 mov r0, #4 ldr r3, [pc, #0x310] ldr r3, [r3] mov lr, pc mov pc, r3 mov r3, #2 mul r2, r0, r3 ldr r3, [sp, #0x6B0] add r3, r3, r2 mov r2, #0 ldr lr, [sp, #0xD4] mov r1, #2 mul r0, lr, r1 add r1, sp, #0xB1, 30 add r1, r1, r0 mov r0, #1, 22 orr r0, r0, #0xC4 add r0, sp, r0 bl D_UTIL_dec_synthesis ; Line 350 b |$LN118@D_MAIN_dec| |$LN117@D_MAIN_dec| ; Line 353 mov r1, #0 ldr r0, [sp, #0x2BC] bl D_MAIN_reset ; Line 354 mov r2, #0x20 add r1, sp, #0xB4 ldr r3, [sp, #0x2BC] add r0, r3, #0x5B, 28 bl memcpy ; Line 355 ldr r3, [sp, #0x2BC] add r2, r3, #0x1A, 26 ldrb r3, [sp, #0x550] strb r3, [r2] ; Line 356 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x7C ldr r3, [r3] add r3, r3, #1, 24 add r2, r3, #0x61 ldrb r3, [sp, #0x551] strb r3, [r2] ; Line 358 mov r3, #0 str r3, [sp, #0x5CC] b |$LN137@D_MAIN_dec| |$LN120@D_MAIN_dec| ; Line 365 ldr r3, [sp, #0x2BC] add r3, r3, #0x7D, 30 str r3, [sp, #0x58C] ; Line 368 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #0 bgt |$LN113@D_MAIN_dec| ; Line 370 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] strh r3, [sp, #0xA4] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 371 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] strh r3, [sp, #0xA6] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 372 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] strh r3, [sp, #0xA8] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 373 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] strh r3, [sp, #0xAA] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 374 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] strh r3, [sp, #0xAC] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 376 ldrb r3, [sp, #0x550] str r3, [sp, #4] ldr r3, [sp, #0x2BC] add r3, r3, #3, 24 add r3, r3, #0xF6 str r3, [sp] ldr r3, [sp, #0x2BC] add r3, r3, #0x5B, 28 ldr r2, [sp, #0x2BC] add r2, r2, #0x5D, 28 add r1, sp, #0xB4 add r0, sp, #0xA4 bl D_LPC_isf_2s3s_decode ; Line 378 b |$LN112@D_MAIN_dec| |$LN113@D_MAIN_dec| ; Line 380 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] strh r3, [sp, #0xA4] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 381 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] strh r3, [sp, #0xA6] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 382 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] strh r3, [sp, #0xA8] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 383 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] strh r3, [sp, #0xAA] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 384 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] strh r3, [sp, #0xAC] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 385 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] strh r3, [sp, #0xAE] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 386 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] strh r3, [sp, #0xB0] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 388 ldrb r3, [sp, #0x550] str r3, [sp, #4] ldr r3, [sp, #0x2BC] add r3, r3, #3, 24 add r3, r3, #0xF6 str r3, [sp] ldr r3, [sp, #0x2BC] add r3, r3, #0x5B, 28 ldr r2, [sp, #0x2BC] add r2, r2, #0x5D, 28 add r1, sp, #0xB4 add r0, sp, #0xA4 bl D_LPC_isf_2s5s_decode |$LN112@D_MAIN_dec| ; Line 392 mov r2, #0x10 mov r1, #5, 24 orr r1, r1, #0x64 add r1, sp, r1 add r0, sp, #0xB4 bl D_LPC_isf_isp_conversion ; Line 394 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x82 ldrb r3, [r3] cmp r3, #0 beq |$LN111@D_MAIN_dec| ; Line 396 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r2, r3, #0x82 mov r3, #0 strb r3, [r2] ; Line 397 mov r2, #0x20 mov r1, #5, 24 orr r1, r1, #0x64 add r1, sp, r1 ldr r3, [sp, #0x2BC] add r0, r3, #0x59, 28 bl memcpy |$LN111@D_MAIN_dec| ; Line 401 mov r3, #1, 22 orr r3, r3, #0xC4 add r3, sp, r3 ldr r2, [pc, #0x50] mov r1, #5, 24 orr r1, r1, #0x64 add r1, sp, r1 ldr r0, [sp, #0x2BC] add r0, r0, #0x59, 28 bl D_LPC_int_isp_find ; Line 404 mov r2, #0x20 mov r1, #5, 24 orr r1, r1, #0x64 add r1, sp, r1 ldr r3, [sp, #0x2BC] add r0, r3, #0x59, 28 bl memcpy ; Line 407 mov r3, #0 str r3, [sp, #0x5AC] ; Line 408 ldr r3, [sp, #0x2BC] add r3, r3, #0x5B, 28 str r3, [sp, #0x59C] ; Line 410 mov r3, #0 str r3, [sp, #0xDC] b |$LN110@D_MAIN_dec| |$LN159@D_MAIN_dec| DCD |D_ROM_interpol_frac| DCD |__imp___rt_sdiv| |$LN109@D_MAIN_dec| ldr r3, [sp, #0xDC] add r3, r3, #1 str r3, [sp, #0xDC] |$LN110@D_MAIN_dec| ldr r3, [sp, #0xDC] cmp r3, #0xF bge |$LN108@D_MAIN_dec| ; Line 412 ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0xB4 add r3, r3, r2 ldrsh r0, [r3] ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x59C] add r3, r3, r2 ldrsh r3, [r3] sub r3, r0, r3 mov r3, r3, lsl #16 mov r3, r3, asr #16 add r12, sp, #2, 24 strh r3, [r12, #0x88] ; Line 413 add r1, sp, #2, 24 ldrsh r1, [r1, #0x88] add r3, sp, #2, 24 ldrsh r3, [r3, #0x88] mul r2, r1, r3 ldr r3, [sp, #0x5AC] add r3, r3, r2 str r3, [sp, #0x5AC] ; Line 414 b |$LN109@D_MAIN_dec| |$LN108@D_MAIN_dec| ; Line 416 ldr r2, [sp, #0x5AC] mov r3, #0x32, 16 orr r3, r3, #0x80 cmp r2, r3 bge |$LN107@D_MAIN_dec| ; Line 418 ldr r3, [sp, #0x5AC] mov r3, r3, asr #7 str r3, [sp, #0x5AC] ; Line 419 ldr r2, [sp, #0x5AC] mov r3, #0x66, 24 orr r3, r3, #0x66 mul r3, r2, r3 mov r3, r3, asr #15 str r3, [sp, #0x5AC] ; Line 420 ldr r3, [sp, #0x5AC] rsb r3, r3, #5, 20 str r3, [sp, #0x5AC] ; Line 421 ldr r3, [sp, #0x5AC] mov r3, r3, lsl #1 str r3, [sp, #0x2B4] ; Line 423 ldr r2, [sp, #0x2B4] mov r3, #0x7F, 24 orr r3, r3, #0xFF cmp r2, r3 ble |$LN106@D_MAIN_dec| ; Line 425 mov r3, #0x7F, 24 orr r3, r3, #0xFF str r3, [sp, #0x2B4] |$LN106@D_MAIN_dec| ; Line 428 b |$LN105@D_MAIN_dec| |$LN107@D_MAIN_dec| ; Line 430 mov r3, #0 str r3, [sp, #0x2B4] |$LN105@D_MAIN_dec| ; Line 433 mov r2, #0x20 ldr r3, [sp, #0x2BC] add r1, r3, #0x5B, 28 add r0, sp, #0x7A, 30 bl memcpy ; Line 434 mov r2, #0x20 add r1, sp, #0xB4 ldr r3, [sp, #0x2BC] add r0, r3, #0x5B, 28 bl memcpy ; Line 448 mov r3, #1, 22 orr r3, r3, #0xC4 add r3, sp, r3 str r3, [sp, #0x554] ; Line 450 mov r3, #0 str r3, [sp, #0xD4] b |$LN104@D_MAIN_dec| |$LN103@D_MAIN_dec| ldr r3, [sp, #0xD4] add r3, r3, #0x40 str r3, [sp, #0xD4] |$LN104@D_MAIN_dec| ldr r3, [sp, #0xD4] cmp r3, #1, 24 bge |$LN102@D_MAIN_dec| ; Line 452 ldr r3, [sp, #0xD4] str r3, [sp, #0x598] ; Line 454 ldr r3, [sp, #0xD4] cmp r3, #0x80 bne |$LN149@D_MAIN_dec| mov r3, #1 str r3, [sp, #0x670] b |$LN150@D_MAIN_dec| |$LN149@D_MAIN_dec| mov r3, #0 str r3, [sp, #0x670] |$LN150@D_MAIN_dec| add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #0 ble |$LN147@D_MAIN_dec| mov r3, #1 str r3, [sp, #0x674] b |$LN148@D_MAIN_dec| |$LN147@D_MAIN_dec| mov r3, #0 str r3, [sp, #0x674] |$LN148@D_MAIN_dec| ldr r2, [sp, #0x670] ldr r3, [sp, #0x674] tst r2, r3 beq |$LN101@D_MAIN_dec| ; Line 456 mov r3, #0 str r3, [sp, #0x598] |$LN101@D_MAIN_dec| ; Line 465 ldr r3, [sp, #0x598] cmp r3, #0 bne |$LN100@D_MAIN_dec| ; Line 467 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #1 bgt |$LN99@D_MAIN_dec| ; Line 469 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] add r12, sp, #1, 24 strh r3, [r12, #0xE4] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 471 add r3, sp, #1, 24 ldrsh r3, [r3, #0xE4] cmp r3, #0x74 bge |$LN98@D_MAIN_dec| ; Line 473 add r3, sp, #1, 24 ldrsh r3, [r3, #0xE4] mov r3, r3, asr #1 add r3, r3, #0x22 str r3, [sp, #0x584] ; Line 474 add r2, sp, #1, 24 ldrsh r2, [r2, #0xE4] ldr r3, [sp, #0x584] sub r3, r3, #0x22 mov r3, r3, lsl #1 sub r3, r2, r3 str r3, [sp, #0x594] ; Line 475 ldr r3, [sp, #0x594] mov r3, r3, lsl #1 str r3, [sp, #0x594] ; Line 477 b |$LN97@D_MAIN_dec| |$LN98@D_MAIN_dec| ; Line 479 add r3, sp, #1, 24 ldrsh r3, [r3, #0xE4] sub r3, r3, #0x18 str r3, [sp, #0x584] ; Line 480 mov r3, #0 str r3, [sp, #0x594] |$LN97@D_MAIN_dec| ; Line 483 b |$LN96@D_MAIN_dec| |$LN99@D_MAIN_dec| ; Line 485 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] add r12, sp, #1, 24 strh r3, [r12, #0xE4] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 487 add r3, sp, #1, 24 ldrsh r3, [r3, #0xE4] cmp r3, #0x5E, 30 bge |$LN95@D_MAIN_dec| ; Line 489 add r3, sp, #1, 24 ldrsh r3, [r3, #0xE4] mov r3, r3, asr #2 add r3, r3, #0x22 str r3, [sp, #0x584] ; Line 490 add r2, sp, #1, 24 ldrsh r2, [r2, #0xE4] ldr r3, [sp, #0x584] sub r3, r3, #0x22 mov r3, r3, lsl #2 sub r3, r2, r3 str r3, [sp, #0x594] ; Line 492 b |$LN94@D_MAIN_dec| |$LN95@D_MAIN_dec| ; Line 493 add r3, sp, #1, 24 ldrsh r3, [r3, #0xE4] cmp r3, #0x6E, 30 bge |$LN93@D_MAIN_dec| ; Line 495 add r3, sp, #1, 24 ldrsh r3, [r3, #0xE4] sub r3, r3, #0x5E, 30 mov r3, r3, lsl #16 mov r3, r3, asr #16 add r12, sp, #1, 24 strh r3, [r12, #0xE4] ; Line 496 add r3, sp, #1, 24 ldrsh r3, [r3, #0xE4] mov r3, r3, asr #1 add r3, r3, #0x80 str r3, [sp, #0x584] ; Line 497 add r2, sp, #1, 24 ldrsh r2, [r2, #0xE4] ldr r3, [sp, #0x584] sub r3, r3, #0x80 mov r3, r3, lsl #1 sub r3, r2, r3 str r3, [sp, #0x594] ; Line 498 ldr r3, [sp, #0x594] mov r3, r3, lsl #1 str r3, [sp, #0x594] ; Line 500 b |$LN92@D_MAIN_dec| |$LN93@D_MAIN_dec| ; Line 503 add r3, sp, #1, 24 ldrsh r3, [r3, #0xE4] sub r3, r3, #0x46, 30 str r3, [sp, #0x584] ; Line 504 mov r3, #0 str r3, [sp, #0x594] |$LN92@D_MAIN_dec| |$LN94@D_MAIN_dec| |$LN96@D_MAIN_dec| ; Line 509 ldr r3, [sp, #0x584] sub r3, r3, #8 str r3, [sp, #0x54C] ; Line 511 ldr r3, [sp, #0x54C] cmp r3, #0x22 bge |$LN91@D_MAIN_dec| ; Line 513 mov r3, #0x22 str r3, [sp, #0x54C] |$LN91@D_MAIN_dec| ; Line 516 ldr r3, [sp, #0x54C] add r3, r3, #0xF str r3, [sp, #0x55C] ; Line 518 ldr r3, [sp, #0x55C] cmp r3, #0xE7 ble |$LN90@D_MAIN_dec| ; Line 520 mov r3, #0xE7 str r3, [sp, #0x55C] ; Line 521 ldr r3, [sp, #0x55C] sub r3, r3, #0xF str r3, [sp, #0x54C] |$LN90@D_MAIN_dec| ; Line 524 b |$LN89@D_MAIN_dec| |$LN100@D_MAIN_dec| ; Line 527 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #1 bgt |$LN88@D_MAIN_dec| ; Line 529 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] add r12, sp, #1, 24 strh r3, [r12, #0xE4] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 530 add r3, sp, #1, 24 ldrsh r3, [r3, #0xE4] mov r2, r3, asr #1 ldr r3, [sp, #0x54C] add r3, r3, r2 str r3, [sp, #0x584] ; Line 531 add r1, sp, #1, 24 ldrsh r1, [r1, #0xE4] ldr r2, [sp, #0x584] ldr r3, [sp, #0x54C] sub r3, r2, r3 mov r3, r3, lsl #1 sub r3, r1, r3 str r3, [sp, #0x594] ; Line 532 ldr r3, [sp, #0x594] mov r3, r3, lsl #1 str r3, [sp, #0x594] ; Line 534 b |$LN87@D_MAIN_dec| |$LN88@D_MAIN_dec| ; Line 536 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] add r12, sp, #1, 24 strh r3, [r12, #0xE4] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 537 add r3, sp, #1, 24 ldrsh r3, [r3, #0xE4] mov r2, r3, asr #2 ldr r3, [sp, #0x54C] add r3, r3, r2 str r3, [sp, #0x584] ; Line 538 add r1, sp, #1, 24 ldrsh r1, [r1, #0xE4] ldr r2, [sp, #0x584] ldr r3, [sp, #0x54C] sub r3, r2, r3 mov r3, r3, lsl #2 sub r3, r1, r3 str r3, [sp, #0x594] |$LN87@D_MAIN_dec| |$LN89@D_MAIN_dec| ; Line 543 ldrb r3, [sp, #0x550] cmp r3, #0 beq |$LN86@D_MAIN_dec| ; Line 546 ldrb r3, [sp, #0x1C] str r3, [sp, #4] ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x74 str r3, [sp] ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x76 mov r2, #5, 24 orr r2, r2, #0x84 add r2, sp, r2 ldr r1, [sp, #0x2BC] add r1, r1, #6, 24 add r1, r1, #0x58 ldr r0, [sp, #0x2BC] add r0, r0, #5, 24 add r0, r0, #0x5C bl D_GAIN_lag_concealment ; Line 547 mov r3, #0 str r3, [sp, #0x594] |$LN86@D_MAIN_dec| ; Line 555 ldr r2, [sp, #0x594] ldr r1, [sp, #0x584] ldr lr, [sp, #0xD4] mov r3, #2 mul r0, lr, r3 ldr r3, [sp, #0x58C] add r0, r3, r0 bl D_GAIN_adaptive_codebook_excitation ; Line 557 ldrb r3, [sp, #0x1C] cmp r3, #0 beq |$LN85@D_MAIN_dec| ; Line 559 mov r3, #1 str r3, [sp, #0x5A4] ; Line 561 b |$LN84@D_MAIN_dec| |$LN85@D_MAIN_dec| ; Line 563 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #1 bgt |$LN83@D_MAIN_dec| ; Line 565 mov r3, #0 str r3, [sp, #0x5A4] ; Line 567 b |$LN82@D_MAIN_dec| |$LN83@D_MAIN_dec| ; Line 569 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] str r3, [sp, #0x5A4] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] |$LN82@D_MAIN_dec| |$LN84@D_MAIN_dec| ; Line 573 ldr r3, [sp, #0x5A4] cmp r3, #0 bne |$LN81@D_MAIN_dec| ; Line 576 mov r3, #0 str r3, [sp, #0xDC] b |$LN80@D_MAIN_dec| |$LN79@D_MAIN_dec| ldr r3, [sp, #0xDC] add r3, r3, #1 str r3, [sp, #0xDC] |$LN80@D_MAIN_dec| ldr r3, [sp, #0xDC] cmp r3, #0x40 bge |$LN78@D_MAIN_dec| ; Line 578 ldr r3, [sp, #0xDC] sub r2, r3, #1 ldr r3, [sp, #0xD4] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x58C] add r3, r3, r2 ldrsh r2, [r3] mov r3, #0xB, 24 orr r3, r3, #0x85 mul r3, r2, r3 str r3, [sp, #0x5AC] ; Line 579 ldr r2, [sp, #0xDC] ldr r3, [sp, #0xD4] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x58C] add r3, r3, r2 ldrsh r1, [r3] mov r3, #0xA, 22 orr r3, r3, #0xF6 mul r2, r1, r3 ldr r3, [sp, #0x5AC] add r3, r3, r2 str r3, [sp, #0x5AC] ; Line 580 ldr r3, [sp, #0xDC] add r2, r3, #1 ldr r3, [sp, #0xD4] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x58C] add r3, r3, r2 ldrsh r1, [r3] mov r3, #0xB, 24 orr r3, r3, #0x85 mul r2, r1, r3 ldr r3, [sp, #0x5AC] add r3, r3, r2 str r3, [sp, #0x5AC] ; Line 581 ldr r3, [sp, #0x5AC] add r3, r3, #2, 20 mov r3, r3, asr #14 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0x82, 30 add r3, r3, r2 strh r0, [r3] ; Line 582 b |$LN79@D_MAIN_dec| |$LN78@D_MAIN_dec| ; Line 584 mov r2, #0x80 add r1, sp, #0x82, 30 ldr lr, [sp, #0xD4] mov r3, #2 mul r0, lr, r3 ldr r3, [sp, #0x58C] add r0, r3, r0 bl memcpy |$LN81@D_MAIN_dec| ; Line 592 ldrb r3, [sp, #0x1C] cmp r3, #0 beq |$LN77@D_MAIN_dec| ; Line 595 mov r3, #0 str r3, [sp, #0xDC] b |$LN76@D_MAIN_dec| |$LN75@D_MAIN_dec| ldr r3, [sp, #0xDC] add r3, r3, #1 str r3, [sp, #0xDC] |$LN76@D_MAIN_dec| ldr r3, [sp, #0xDC] cmp r3, #0x40 bge |$LN74@D_MAIN_dec| ; Line 597 ldr r3, [sp, #0x2BC] add r0, r3, #0x67, 28 bl D_UTIL_random add r12, sp, #6, 24 strh r0, [r12, #0x78] add r3, sp, #6, 24 ldrsh r3, [r3, #0x78] mov r3, r3, asr #3 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0x82, 30 add r3, r3, r2 strh r0, [r3] ; Line 598 b |$LN75@D_MAIN_dec| |$LN74@D_MAIN_dec| ; Line 600 b |$LN73@D_MAIN_dec| |$LN77@D_MAIN_dec| add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #0 bgt |$LN72@D_MAIN_dec| ; Line 602 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] strh r3, [sp, #0xA4] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 603 add r1, sp, #0x82, 30 ldrsh r0, [sp, #0xA4] bl D_ACELP_decode_2t b |$LN71@D_MAIN_dec| |$LN72@D_MAIN_dec| ; Line 605 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #1 bgt |$LN70@D_MAIN_dec| ; Line 607 mov r2, #8 ldr r1, [sp, #0x6AC] add r0, sp, #0xA4 bl memcpy ; Line 608 ldr r3, [sp, #0x6AC] add r3, r3, #8 str r3, [sp, #0x6AC] ; Line 609 add r2, sp, #0x82, 30 mov r1, #0x14 add r0, sp, #0xA4 bl D_ACELP_decode_4t b |$LN69@D_MAIN_dec| |$LN70@D_MAIN_dec| ; Line 611 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #2 bgt |$LN68@D_MAIN_dec| ; Line 613 mov r2, #8 ldr r1, [sp, #0x6AC] add r0, sp, #0xA4 bl memcpy ; Line 614 ldr r3, [sp, #0x6AC] add r3, r3, #8 str r3, [sp, #0x6AC] ; Line 615 add r2, sp, #0x82, 30 mov r1, #0x24 add r0, sp, #0xA4 bl D_ACELP_decode_4t b |$LN67@D_MAIN_dec| |$LN68@D_MAIN_dec| ; Line 617 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #3 bgt |$LN66@D_MAIN_dec| ; Line 619 mov r2, #8 ldr r1, [sp, #0x6AC] add r0, sp, #0xA4 bl memcpy ; Line 620 ldr r3, [sp, #0x6AC] add r3, r3, #8 str r3, [sp, #0x6AC] ; Line 621 add r2, sp, #0x82, 30 mov r1, #0x2C add r0, sp, #0xA4 bl D_ACELP_decode_4t b |$LN65@D_MAIN_dec| |$LN66@D_MAIN_dec| ; Line 623 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #4 bgt |$LN64@D_MAIN_dec| ; Line 625 mov r2, #8 ldr r1, [sp, #0x6AC] add r0, sp, #0xA4 bl memcpy ; Line 626 ldr r3, [sp, #0x6AC] add r3, r3, #8 str r3, [sp, #0x6AC] ; Line 627 add r2, sp, #0x82, 30 mov r1, #0x34 add r0, sp, #0xA4 bl D_ACELP_decode_4t b |$LN63@D_MAIN_dec| |$LN64@D_MAIN_dec| ; Line 629 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #5 bgt |$LN62@D_MAIN_dec| ; Line 631 mov r2, #0x10 ldr r1, [sp, #0x6AC] add r0, sp, #0xA4 bl memcpy ; Line 632 ldr r3, [sp, #0x6AC] add r3, r3, #0x10 str r3, [sp, #0x6AC] ; Line 633 add r2, sp, #0x82, 30 mov r1, #0x40 add r0, sp, #0xA4 bl D_ACELP_decode_4t b |$LN61@D_MAIN_dec| |$LN62@D_MAIN_dec| ; Line 635 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #6 bgt |$LN60@D_MAIN_dec| ; Line 637 mov r2, #0x10 ldr r1, [sp, #0x6AC] add r0, sp, #0xA4 bl memcpy ; Line 638 ldr r3, [sp, #0x6AC] add r3, r3, #0x10 str r3, [sp, #0x6AC] ; Line 639 add r2, sp, #0x82, 30 mov r1, #0x48 add r0, sp, #0xA4 bl D_ACELP_decode_4t ; Line 641 b |$LN59@D_MAIN_dec| |$LN60@D_MAIN_dec| ; Line 643 mov r2, #0x10 ldr r1, [sp, #0x6AC] add r0, sp, #0xA4 bl memcpy ; Line 644 ldr r3, [sp, #0x6AC] add r3, r3, #0x10 str r3, [sp, #0x6AC] ; Line 645 add r2, sp, #0x82, 30 mov r1, #0x58 add r0, sp, #0xA4 bl D_ACELP_decode_4t |$LN59@D_MAIN_dec| |$LN61@D_MAIN_dec| |$LN63@D_MAIN_dec| |$LN65@D_MAIN_dec| |$LN67@D_MAIN_dec| |$LN69@D_MAIN_dec| |$LN71@D_MAIN_dec| |$LN73@D_MAIN_dec| ; Line 648 mov r3, #0 add r12, sp, #2, 24 strh r3, [r12, #0x88] ; Line 649 add r3, sp, #0xA2, 30 mov r2, #0x40 ldr r1, [sp, #0x2BC] add r1, r1, #6, 24 add r1, r1, #0x6A ldrsh r1, [r1] add r0, sp, #0x82, 30 bl D_UTIL_preemph ; Line 651 ldr r3, [sp, #0x584] str r3, [sp, #0x5AC] ; Line 653 ldr r3, [sp, #0x594] cmp r3, #2 ble |$LN58@D_MAIN_dec| ; Line 655 ldr r3, [sp, #0x5AC] add r3, r3, #1 str r3, [sp, #0x5AC] |$LN58@D_MAIN_dec| ; Line 658 mov r2, #0x1B, 22 orr r2, r2, #0xCD ldr r1, [sp, #0x5AC] add r0, sp, #0x82, 30 bl D_GAIN_pitch_sharpening ; Line 663 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] add r12, sp, #1, 24 strh r3, [r12, #0xE4] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 665 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #1 bgt |$LN57@D_MAIN_dec| ; Line 669 ldr r3, [sp, #0x2BC] add r3, r3, #5, 24 add r3, r3, #0x3A str r3, [sp, #0x18] ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x7A ldrsh r3, [r3] str r3, [sp, #0x14] ldrb r3, [sp, #0x1C] str r3, [sp, #0x10] ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x81 ldrb r3, [r3] str r3, [sp, #0xC] ldr r3, [sp, #0x2BC] add r3, r3, #0x1A, 26 ldrb r3, [r3] str r3, [sp, #8] ldrb r3, [sp, #0x550] str r3, [sp, #4] add r3, sp, #0xAE, 30 str r3, [sp] add r3, sp, #0x59, 28 add r2, sp, #0x82, 30 mov r1, #6 add r0, sp, #1, 24 ldrsh r0, [r0, #0xE4] bl D_GAIN_decode ; Line 671 b |$LN56@D_MAIN_dec| |$LN57@D_MAIN_dec| ; Line 675 ldr r3, [sp, #0x2BC] add r3, r3, #5, 24 add r3, r3, #0x3A str r3, [sp, #0x18] ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x7A ldrsh r3, [r3] str r3, [sp, #0x14] ldrb r3, [sp, #0x1C] str r3, [sp, #0x10] ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x81 ldrb r3, [r3] str r3, [sp, #0xC] ldr r3, [sp, #0x2BC] add r3, r3, #0x1A, 26 ldrb r3, [r3] str r3, [sp, #8] ldrb r3, [sp, #0x550] str r3, [sp, #4] add r3, sp, #0xAE, 30 str r3, [sp] add r3, sp, #0x59, 28 add r2, sp, #0x82, 30 mov r1, #7 add r0, sp, #1, 24 ldrsh r0, [r0, #0xE4] bl D_GAIN_decode |$LN56@D_MAIN_dec| ; Line 679 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x62 ldrsh r3, [r3] add r12, sp, #2, 24 strh r3, [r12, #0x88] ; Line 681 mov r3, #1 str r3, [sp, #0xDC] b |$LN55@D_MAIN_dec| |$LN54@D_MAIN_dec| ldr r3, [sp, #0xDC] add r3, r3, #1 str r3, [sp, #0xDC] |$LN55@D_MAIN_dec| ldr r3, [sp, #0xDC] cmp r3, #4 bge |$LN53@D_MAIN_dec| ; Line 683 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r1, r3, #0x62 ldr r2, [sp, #0xDC] mov r3, #2 mul r3, r2, r3 add r3, r1, r3 ldrsh r2, [r3] add r3, sp, #2, 24 ldrsh r3, [r3, #0x88] cmp r2, r3 bge |$LN52@D_MAIN_dec| ; Line 685 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r1, r3, #0x62 ldr r2, [sp, #0xDC] mov r3, #2 mul r3, r2, r3 add r3, r1, r3 ldrsh r3, [r3] add r12, sp, #2, 24 strh r3, [r12, #0x88] |$LN52@D_MAIN_dec| ; Line 687 b |$LN54@D_MAIN_dec| |$LN53@D_MAIN_dec| ; Line 690 add r3, sp, #2, 24 ldrsh r3, [r3, #0x88] cmp r3, #8 ble |$LN51@D_MAIN_dec| ; Line 692 mov r3, #8 add r12, sp, #2, 24 strh r3, [r12, #0x88] |$LN51@D_MAIN_dec| ; Line 695 mov r3, #0 strh r3, [sp, #0x1E] ; Line 696 ldr r3, [sp, #0x2B8] str r3, [sp, #0x5AC] |$LN50@D_MAIN_dec| ; Line 698 ldr r3, [sp, #0x5AC] cmp r3, #2, 6 bge |$LN49@D_MAIN_dec| ldrsh r2, [sp, #0x1E] add r3, sp, #2, 24 ldrsh r3, [r3, #0x88] cmp r2, r3 bge |$LN49@D_MAIN_dec| ; Line 700 ldr r3, [sp, #0x5AC] mov r3, r3, lsl #1 str r3, [sp, #0x5AC] ; Line 701 ldrsh r3, [sp, #0x1E] add r3, r3, #1 mov r3, r3, lsl #16 mov r3, r3, asr #16 strh r3, [sp, #0x1E] ; Line 702 b |$LN50@D_MAIN_dec| |$LN49@D_MAIN_dec| ; Line 704 ldr r2, [sp, #0x5AC] mvn r3, #2, 2 eor r3, r3, #2, 18 cmp r2, r3 bge |$LN48@D_MAIN_dec| ; Line 706 ldr r3, [sp, #0x5AC] add r3, r3, #2, 18 mov r3, r3, asr #16 mov r3, r3, lsl #16 mov r3, r3, asr #16 add r12, sp, #2, 24 strh r3, [r12, #0xC0] ; Line 709 b |$LN47@D_MAIN_dec| |$LN48@D_MAIN_dec| ; Line 711 mov r3, #0x7F, 24 orr r3, r3, #0xFF add r12, sp, #2, 24 strh r3, [r12, #0xC0] |$LN47@D_MAIN_dec| ; Line 714 ldrsh r2, [sp, #0x1E] ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x6C ldrsh r3, [r3] cmp r2, r3 ble |$LN46@D_MAIN_dec| ; Line 717 ldrsh r2, [sp, #0x1E] ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x6C ldrsh r3, [r3] sub r3, r2, r3 mov r2, r3, lsl #16 mov r2, r2, asr #16 mov r1, #0x4E, 30 ldr lr, [sp, #0xD4] mov r3, #2 mul r0, lr, r3 ldr r3, [sp, #0x58C] add r3, r3, r0 sub r0, r3, #0x1F, 28 bl D_UTIL_signal_up_scale ; Line 719 b |$LN45@D_MAIN_dec| |$LN46@D_MAIN_dec| ; Line 722 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x6C ldrsh r2, [r3] ldrsh r3, [sp, #0x1E] sub r3, r2, r3 mov r2, r3, lsl #16 mov r2, r2, asr #16 mov r1, #0x4E, 30 ldr lr, [sp, #0xD4] mov r3, #2 mul r0, lr, r3 ldr r3, [sp, #0x58C] add r3, r3, r0 sub r0, r3, #0x1F, 28 bl D_UTIL_signal_down_scale |$LN45@D_MAIN_dec| ; Line 725 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r2, r3, #0x6C ldrsh r3, [sp, #0x1E] strh r3, [r2] ; Line 731 ldrb r3, [sp, #0x550] cmp r3, #0 bne |$LN44@D_MAIN_dec| ; Line 734 mov r3, #4 str r3, [sp, #0xDC] b |$LN43@D_MAIN_dec| |$LN42@D_MAIN_dec| ldr r3, [sp, #0xDC] sub r3, r3, #1 str r3, [sp, #0xDC] |$LN43@D_MAIN_dec| ldr r3, [sp, #0xDC] cmp r3, #0 ble |$LN41@D_MAIN_dec| ; Line 736 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r1, r3, #0x58 ldr r3, [sp, #0xDC] sub r2, r3, #1 mov r3, #2 mul r3, r2, r3 add r0, r1, r3 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r1, r3, #0x58 ldr r2, [sp, #0xDC] mov r3, #2 mul r3, r2, r3 add r2, r1, r3 ldrsh r3, [r0] strh r3, [r2] ; Line 737 b |$LN42@D_MAIN_dec| |$LN41@D_MAIN_dec| ; Line 738 ldr r3, [sp, #0x584] mov r2, r3, lsl #16 mov r2, r2, asr #16 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x58 strh r2, [r3] ; Line 739 ldr r3, [sp, #0x584] mov r2, r3, lsl #16 mov r2, r2, asr #16 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x76 strh r2, [r3] ; Line 740 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r2, r3, #0x78 mov r3, #0 strh r3, [r2] |$LN44@D_MAIN_dec| ; Line 744 mov r2, #0x80 ldr r0, [sp, #0xD4] mov r3, #2 mul r1, r0, r3 ldr r3, [sp, #0x58C] add r1, r3, r1 add r0, sp, #0xB1, 30 bl memcpy ; Line 745 mov r2, #3 mov r1, #0x40 add r0, sp, #0xB1, 30 bl D_UTIL_signal_down_scale ; Line 748 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #1 bgt |$LN40@D_MAIN_dec| ; Line 750 add r3, sp, #5, 24 ldrsh r3, [r3, #0x90] mov r3, r3, lsl #1 mov r3, r3, lsl #16 mov r3, r3, lsr #16 add r12, sp, #1, 24 strh r3, [r12, #0xE2] ; Line 752 add r3, sp, #1, 24 ldrh r3, [r3, #0xE2] cmp r3, #1, 18 ble |$LN39@D_MAIN_dec| ; Line 754 add r3, sp, #1, 24 ldrh r3, [r3, #0xE2] mov r2, r3 mov r3, #0x7F, 24 orr r3, r3, #0xFF cmp r2, r3 ble |$LN38@D_MAIN_dec| ; Line 756 mov r3, #0x7F, 24 orr r3, r3, #0xFF add r12, sp, #1, 24 strh r3, [r12, #0xE2] |$LN38@D_MAIN_dec| ; Line 759 mov r3, #0 str r3, [sp, #0xDC] b |$LN37@D_MAIN_dec| |$LN36@D_MAIN_dec| ldr r3, [sp, #0xDC] add r3, r3, #1 str r3, [sp, #0xDC] |$LN37@D_MAIN_dec| ldr r3, [sp, #0xDC] cmp r3, #0x40 bge |$LN35@D_MAIN_dec| ; Line 761 ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0xB1, 30 add r3, r3, r2 ldrsh r2, [r3] add r3, sp, #1, 24 ldrh r3, [r3, #0xE2] mul r3, r2, r3 mov r3, r3, asr #15 str r3, [sp, #0x5AC] ; Line 762 add r3, sp, #5, 24 ldrsh r3, [r3, #0x90] ldr r2, [sp, #0x5AC] mul r3, r2, r3 str r3, [sp, #0x5AC] ; Line 763 ldr r3, [sp, #0x5AC] add r3, r3, #2, 18 mov r3, r3, asr #16 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0x24 add r3, r3, r2 strh r0, [r3] ; Line 764 b |$LN36@D_MAIN_dec| |$LN35@D_MAIN_dec| |$LN39@D_MAIN_dec| |$LN40@D_MAIN_dec| ; Line 769 mov r3, #0x40 str r3, [sp, #4] add r3, sp, #2, 24 ldrsh r3, [r3, #0xC0] str r3, [sp] add r3, sp, #0x82, 30 add r2, sp, #5, 24 ldrsh r2, [r2, #0x90] mvn r1, #2 add r0, sp, #0xB1, 30 bl D_GAIN_find_voice_factor add r12, sp, #6, 24 strh r0, [r12, #0x7A] add r3, sp, #6, 24 ldrsh r3, [r3, #0x7A] strh r3, [sp, #0x20] ; Line 772 ldrsh r3, [sp, #0x20] mov r3, r3, asr #2 add r3, r3, #2, 20 mov r2, r3, lsl #16 mov r2, r2, asr #16 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x6A strh r2, [r3] ; Line 779 mov r2, #0x80 ldr r0, [sp, #0xD4] mov r3, #2 mul r1, r0, r3 ldr r3, [sp, #0x58C] add r1, r3, r1 add r0, sp, #0xB1, 30 bl memcpy ; Line 780 mov r3, #1 add r12, sp, #5, 24 strh r3, [r12, #0xA0] ; Line 782 mov r3, #0 str r3, [sp, #0xDC] b |$LN34@D_MAIN_dec| |$LN33@D_MAIN_dec| ldr r3, [sp, #0xDC] add r3, r3, #1 str r3, [sp, #0xDC] |$LN34@D_MAIN_dec| ldr r3, [sp, #0xDC] cmp r3, #0x40 bge |$LN32@D_MAIN_dec| ; Line 784 ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0x82, 30 add r3, r3, r2 ldrsh r2, [r3] add r3, sp, #2, 24 ldrsh r3, [r3, #0xC0] mul r3, r2, r3 mov r3, r3, lsl #5 str r3, [sp, #0x5AC] ; Line 785 ldr r2, [sp, #0xDC] ldr r3, [sp, #0xD4] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x58C] add r3, r3, r2 ldrsh r1, [r3] add r3, sp, #5, 24 ldrsh r3, [r3, #0x90] mul r2, r1, r3 ldr r3, [sp, #0x5AC] add r3, r3, r2 str r3, [sp, #0x5AC] ; Line 786 ldr r3, [sp, #0x5AC] add r3, r3, #2, 20 mov r3, r3, asr #14 str r3, [sp, #0x5AC] ; Line 788 ldr r3, [sp, #0x5AC] cmn r3, #2, 18 ble |$LN153@D_MAIN_dec| mov r3, #1 str r3, [sp, #0x67C] b |$LN154@D_MAIN_dec| |$LN153@D_MAIN_dec| mov r3, #0 str r3, [sp, #0x67C] |$LN154@D_MAIN_dec| ldr r3, [sp, #0x5AC] cmp r3, #2, 18 bge |$LN151@D_MAIN_dec| mov r3, #1 str r3, [sp, #0x680] b |$LN152@D_MAIN_dec| |$LN151@D_MAIN_dec| mov r3, #0 str r3, [sp, #0x680] |$LN152@D_MAIN_dec| ldr r2, [sp, #0x67C] ldr r3, [sp, #0x680] tst r2, r3 beq |$LN31@D_MAIN_dec| ; Line 790 ldr r3, [sp, #0x5AC] mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r2, [sp, #0xDC] ldr r3, [sp, #0xD4] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x58C] add r3, r3, r2 strh r0, [r3] ; Line 791 ldr r0, [sp, #0x5AC] bl abs str r0, [sp, #0x684] ldr r3, [sp, #0x684] mov r3, r3, lsl #16 mov r3, r3, asr #16 add r12, sp, #2, 24 strh r3, [r12, #0x88] ; Line 793 add r2, sp, #2, 24 ldrsh r2, [r2, #0x88] add r3, sp, #5, 24 ldrsh r3, [r3, #0xA0] cmp r2, r3 ble |$LN30@D_MAIN_dec| ; Line 795 add r3, sp, #2, 24 ldrsh r3, [r3, #0x88] add r12, sp, #5, 24 strh r3, [r12, #0xA0] |$LN30@D_MAIN_dec| ; Line 796 b |$LN29@D_MAIN_dec| |$LN31@D_MAIN_dec| ; Line 798 ldr r2, [sp, #0x5AC] mov r3, #0x7F, 24 orr r3, r3, #0xFF cmp r2, r3 ble |$LN28@D_MAIN_dec| ; Line 800 ldr r2, [sp, #0xDC] ldr r3, [sp, #0xD4] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x58C] add r2, r3, r2 mov r3, #0x7F, 24 orr r3, r3, #0xFF strh r3, [r2] ; Line 801 mov r3, #0x7F, 24 orr r3, r3, #0xFF add r12, sp, #5, 24 strh r3, [r12, #0xA0] ; Line 803 b |$LN27@D_MAIN_dec| |$LN28@D_MAIN_dec| ; Line 805 ldr r2, [sp, #0xDC] ldr r3, [sp, #0xD4] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x58C] add r2, r3, r2 mvn r3, #0xFF mov r3, r3, lsl #7 strh r3, [r2] ; Line 806 mov r3, #0x7F, 24 orr r3, r3, #0xFF add r12, sp, #5, 24 strh r3, [r12, #0xA0] |$LN27@D_MAIN_dec| |$LN29@D_MAIN_dec| ; Line 808 b |$LN33@D_MAIN_dec| |$LN32@D_MAIN_dec| ; Line 811 add r0, sp, #5, 24 ldrsh r0, [r0, #0xA0] bl D_UTIL_norm_s add r12, sp, #6, 24 strh r0, [r12, #0x88] add r2, sp, #6, 24 ldrsh r2, [r2, #0x88] ldrsh r3, [sp, #0x1E] add r3, r2, r3 sub r3, r3, #1 mov r3, r3, lsl #16 mov r3, r3, asr #16 add r12, sp, #2, 24 strh r3, [r12, #0x88] ; Line 812 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r1, r3, #0x66 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r2, r3, #0x68 ldrsh r3, [r1] strh r3, [r2] ; Line 813 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r1, r3, #0x64 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r2, r3, #0x66 ldrsh r3, [r1] strh r3, [r2] ; Line 814 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r1, r3, #0x62 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r2, r3, #0x64 ldrsh r3, [r1] strh r3, [r2] ; Line 815 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r2, r3, #0x62 add r3, sp, #2, 24 ldrsh r3, [r3, #0x88] strh r3, [r2] ; Line 822 add r2, sp, #0xD8 add r1, sp, #0xB, 26 ldr r0, [sp, #0x2B8] bl D_UTIL_l_extract ; Line 824 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #0 bgt |$LN26@D_MAIN_dec| ; Line 826 mov r3, #0 str r3, [sp, #0x5A8] b |$LN25@D_MAIN_dec| |$LN26@D_MAIN_dec| ; Line 828 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #1 bgt |$LN24@D_MAIN_dec| ; Line 830 mov r3, #1 str r3, [sp, #0x5A8] ; Line 832 b |$LN23@D_MAIN_dec| |$LN24@D_MAIN_dec| ; Line 834 mov r3, #2 str r3, [sp, #0x5A8] |$LN23@D_MAIN_dec| |$LN25@D_MAIN_dec| ; Line 838 ldr r3, [sp, #0x2BC] add r3, r3, #0x63, 28 str r3, [sp] ldr r3, [sp, #0x5A8] mov r3, r3, lsl #16 mov r3, r3, asr #16 add r2, sp, #0x82, 30 add r1, sp, #5, 24 ldrsh r1, [r1, #0x90] add r0, sp, #2, 24 ldrsh r0, [r0, #0xC0] bl D_ACELP_phase_dispersion ; Line 847 ldrsh r3, [sp, #0x20] mov r3, r3, asr #1 rsb r3, r3, #1, 18 str r3, [sp, #0x5AC] ; Line 848 ldr r2, [sp, #0x2B4] ldr r3, [sp, #0x5AC] mul r3, r2, r3 mov r3, r3, asr #15 mov r3, r3, lsl #16 mov r3, r3, asr #16 add r12, sp, #5, 24 strh r3, [r12, #0x58] ; Line 849 ldr r3, [sp, #0x2B8] str r3, [sp, #0x5AC] ; Line 851 ldr r2, [sp, #0x5AC] ldr r3, [sp, #0x2BC] ldr r3, [r3] cmp r2, r3 bge |$LN22@D_MAIN_dec| ; Line 853 mov r2, #6, 22 orr r2, r2, #0x52 ldrsh r1, [sp, #0xD8] add r0, sp, #2, 24 ldrsh r0, [r0, #0xC0] bl D_UTIL_mpy_32_16 str r0, [sp, #0x68C] ldr r2, [sp, #0x5AC] ldr r3, [sp, #0x68C] add r3, r2, r3 str r3, [sp, #0x5AC] ; Line 855 ldr r2, [sp, #0x5AC] ldr r3, [sp, #0x2BC] ldr r3, [r3] cmp r2, r3 ble |$LN21@D_MAIN_dec| ; Line 857 ldr r3, [sp, #0x2BC] ldr r3, [r3] str r3, [sp, #0x5AC] |$LN21@D_MAIN_dec| ; Line 860 b |$LN20@D_MAIN_dec| |$LN22@D_MAIN_dec| ; Line 862 mov r2, #0x6B, 24 orr r2, r2, #0x90 ldrsh r1, [sp, #0xD8] add r0, sp, #2, 24 ldrsh r0, [r0, #0xC0] bl D_UTIL_mpy_32_16 str r0, [sp, #0x690] ldr r3, [sp, #0x690] str r3, [sp, #0x5AC] ; Line 864 ldr r2, [sp, #0x5AC] ldr r3, [sp, #0x2BC] ldr r3, [r3] cmp r2, r3 bge |$LN19@D_MAIN_dec| ; Line 866 ldr r3, [sp, #0x2BC] ldr r3, [r3] str r3, [sp, #0x5AC] |$LN19@D_MAIN_dec| |$LN20@D_MAIN_dec| ; Line 869 ldr r2, [sp, #0x5AC] ldr r3, [sp, #0x2BC] str r2, [r3] ; Line 871 add r2, sp, #5, 24 ldrsh r2, [r2, #0x58] mov r3, #0x7F, 24 orr r3, r3, #0xFF rsb r3, r2, r3 mov r2, r3, lsl #16 mov r2, r2, asr #16 ldrsh r1, [sp, #0xD8] add r0, sp, #2, 24 ldrsh r0, [r0, #0xC0] bl D_UTIL_mpy_32_16 str r0, [sp, #0x694] ldr r3, [sp, #0x694] str r3, [sp, #0x2B8] ; Line 872 add r2, sp, #0xD8 add r1, sp, #0xB, 26 ldr r0, [sp, #0x5AC] bl D_UTIL_l_extract ; Line 874 add r2, sp, #5, 24 ldrsh r2, [r2, #0x58] ldrsh r1, [sp, #0xD8] add r0, sp, #2, 24 ldrsh r0, [r0, #0xC0] bl D_UTIL_mpy_32_16 str r0, [sp, #0x698] ldr r2, [sp, #0x2B8] ldr r3, [sp, #0x698] add r3, r2, r3 str r3, [sp, #0x2B8] ; Line 883 ldrsh r3, [sp, #0x20] mov r3, r3, asr #3 add r3, r3, #1, 20 str r3, [sp, #0x588] ; Line 884 add r3, sp, #2, 24 ldrsh r3, [r3, #8] mov r1, r3, lsl #15 add r2, sp, #2, 24 ldrsh r2, [r2, #0xA] ldr r3, [sp, #0x588] mul r3, r2, r3 sub r3, r1, r3 str r3, [sp, #0x5AC] ; Line 885 ldr r3, [sp, #0x5AC] add r3, r3, #1, 18 mov r3, r3, asr #15 str r3, [sp, #0xE0] ; Line 887 mov r3, #1 str r3, [sp, #0xDC] b |$LN18@D_MAIN_dec| |$LN17@D_MAIN_dec| ldr r3, [sp, #0xDC] add r3, r3, #1 str r3, [sp, #0xDC] |$LN18@D_MAIN_dec| ldr r3, [sp, #0xDC] cmp r3, #0x3F bge |$LN16@D_MAIN_dec| ; Line 889 ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0x82, 30 add r3, r3, r2 ldrsh r3, [r3] mov r3, r3, lsl #15 str r3, [sp, #0x5AC] ; Line 890 ldr r3, [sp, #0xDC] add r1, r3, #1 mov r3, #2 mul r2, r1, r3 add r3, sp, #0x82, 30 add r3, r3, r2 ldrsh r1, [r3] ldr r3, [sp, #0x588] mul r2, r1, r3 ldr r3, [sp, #0x5AC] sub r3, r3, r2 str r3, [sp, #0x5AC] ; Line 891 ldr r3, [sp, #0xDC] sub r1, r3, #1 mov r3, #2 mul r2, r1, r3 add r3, sp, #0x82, 30 add r3, r3, r2 ldrsh r1, [r3] ldr r3, [sp, #0x588] mul r2, r1, r3 ldr r3, [sp, #0x5AC] sub r3, r3, r2 str r3, [sp, #0x5AC] ; Line 892 ldr r3, [sp, #0x5AC] add r3, r3, #1, 18 mov r0, r3, asr #15 ldr r1, [sp, #0xDC] mov r3, #4 mul r2, r1, r3 add r3, sp, #0xE0 add r3, r3, r2 str r0, [r3] ; Line 893 b |$LN17@D_MAIN_dec| |$LN16@D_MAIN_dec| ; Line 895 add r3, sp, #2, 24 ldrsh r3, [r3, #0x86] mov r3, r3, lsl #15 str r3, [sp, #0x5AC] ; Line 896 add r1, sp, #2, 24 ldrsh r1, [r1, #0x84] ldr r3, [sp, #0x588] mul r2, r1, r3 ldr r3, [sp, #0x5AC] sub r3, r3, r2 str r3, [sp, #0x5AC] ; Line 897 ldr r3, [sp, #0x5AC] add r3, r3, #1, 18 mov r3, r3, asr #15 str r3, [sp, #0x1DC] ; Line 900 ldrsh r2, [sp, #0x1E] ldr r3, [sp, #0x2B8] mov r3, r3, lsl r2 add r3, r3, #2, 18 mov r3, r3, asr #16 mov r3, r3, lsl #16 mov r3, r3, asr #16 add r12, sp, #2, 24 strh r3, [r12, #0xC0] ; Line 902 mov r3, #0 str r3, [sp, #0xDC] b |$LN15@D_MAIN_dec| |$LN14@D_MAIN_dec| ldr r3, [sp, #0xDC] add r3, r3, #1 str r3, [sp, #0xDC] |$LN15@D_MAIN_dec| ldr r3, [sp, #0xDC] cmp r3, #0x40 bge |$LN13@D_MAIN_dec| ; Line 904 ldr r1, [sp, #0xDC] mov r3, #4 mul r2, r1, r3 add r3, sp, #0xE0 add r2, r3, r2 add r3, sp, #2, 24 ldrsh r3, [r3, #0xC0] ldr r2, [r2] mul r3, r2, r3 mov r3, r3, lsl #5 str r3, [sp, #0x5AC] ; Line 905 ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0xB1, 30 add r3, r3, r2 ldrsh r1, [r3] add r3, sp, #5, 24 ldrsh r3, [r3, #0x90] mul r2, r1, r3 ldr r3, [sp, #0x5AC] add r3, r3, r2 str r3, [sp, #0x5AC] ; Line 906 ldr r3, [sp, #0x5AC] add r3, r3, #2, 20 mov r3, r3, asr #14 str r3, [sp, #0x5AC] ; Line 908 ldr r0, [sp, #0x5AC] bl D_UTIL_saturate add r12, sp, #6, 24 strh r0, [r12, #0x9C] ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0xB1, 30 add r2, r3, r2 add r3, sp, #6, 24 ldrsh r3, [r3, #0x9C] strh r3, [r2] ; Line 909 b |$LN14@D_MAIN_dec| |$LN13@D_MAIN_dec| ; Line 911 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #1 bgt |$LN12@D_MAIN_dec| ; Line 913 add r3, sp, #1, 24 ldrh r3, [r3, #0xE2] cmp r3, #1, 18 ble |$LN11@D_MAIN_dec| ; Line 915 mov r3, #0 str r3, [sp, #0xDC] b |$LN10@D_MAIN_dec| |$LN9@D_MAIN_dec| ldr r3, [sp, #0xDC] add r3, r3, #1 str r3, [sp, #0xDC] |$LN10@D_MAIN_dec| ldr r3, [sp, #0xDC] cmp r3, #0x40 bge |$LN8@D_MAIN_dec| ; Line 917 ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0x24 add r3, r3, r2 ldrsh r0, [r3] ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0xB1, 30 add r3, r3, r2 ldrsh r3, [r3] add r3, r0, r3 str r3, [sp, #0x5AC] ; Line 918 ldr r0, [sp, #0x5AC] bl D_UTIL_saturate add r12, sp, #6, 24 strh r0, [r12, #0x9E] ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0x24 add r2, r3, r2 add r3, sp, #6, 24 ldrsh r3, [r3, #0x9E] strh r3, [r2] ; Line 919 b |$LN9@D_MAIN_dec| |$LN8@D_MAIN_dec| ; Line 921 mov r2, #0x40 add r1, sp, #0x24 add r0, sp, #0xB1, 30 bl D_GAIN_adaptive_control ; Line 922 mov r2, #0x80 add r1, sp, #0x24 add r0, sp, #0xB1, 30 bl memcpy |$LN11@D_MAIN_dec| |$LN12@D_MAIN_dec| ; Line 926 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #0 bgt |$LN7@D_MAIN_dec| ; Line 928 ldr r3, [sp, #0xD4] mov r3, r3, asr #6 str r3, [sp, #0x5A8] ; Line 930 mov r3, #0 str r3, [sp, #0xDC] b |$LN6@D_MAIN_dec| |$LN5@D_MAIN_dec| ldr r3, [sp, #0xDC] add r3, r3, #1 str r3, [sp, #0xDC] |$LN6@D_MAIN_dec| ldr r3, [sp, #0xDC] cmp r3, #0x10 bge |$LN4@D_MAIN_dec| ; Line 932 ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0x7A, 30 add r3, r3, r2 ldrsh r0, [r3] ldr r1, [sp, #0x5A8] mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x25C] add r3, r3, r2 ldrsh r2, [r3] mov r3, #0x7F, 24 orr r3, r3, #0xFF rsb r3, r2, r3 mul r3, r0, r3 str r3, [sp, #0x5AC] ; Line 933 ldr r1, [sp, #0xDC] mov r3, #2 mul r2, r1, r3 add r3, sp, #0xB4 add r3, r3, r2 ldrsh r0, [r3] ldr r1, [sp, #0x5A8] mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x218] add r3, r3, r2 ldrsh r3, [r3] mul r2, r0, r3 ldr r3, [sp, #0x5AC] add r3, r3, r2 str r3, [sp, #0x5AC] ; Line 934 ldr r3, [sp, #0x5AC] 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 add r3, sp, #0xA3, 30 add r3, r3, r2 strh r0, [r3] ; Line 935 b |$LN5@D_MAIN_dec| |$LN4@D_MAIN_dec| ; Line 937 b |$LN3@D_MAIN_dec| |$LN7@D_MAIN_dec| ; Line 939 mov r2, #8 mov r1, #0 ldr r3, [sp, #0x2BC] add r3, r3, #5, 24 add r0, r3, #0x68 bl memset |$LN3@D_MAIN_dec| ; Line 942 add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] cmp r3, #8 blt |$LN2@D_MAIN_dec| ; Line 944 ldr r3, [sp, #0x6AC] ldrsh r3, [r3] add r12, sp, #5, 24 strh r3, [r12, #0x60] ldr r3, [sp, #0x6AC] add r3, r3, #2 str r3, [sp, #0x6AC] ; Line 946 ldr r3, [sp, #0x2BC] str r3, [sp, #0x14] ldrb r3, [sp, #0x550] str r3, [sp, #0x10] ldrb r3, [sp, #0x551] str r3, [sp, #0xC] add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] str r3, [sp, #8] add r3, sp, #0xA3, 30 str r3, [sp, #4] add r3, sp, #5, 24 ldrsh r3, [r3, #0x60] str r3, [sp] ldr r2, [sp, #0xD4] mov r3, #5 mul r1, r2, r3 mov r0, #4 ldr r3, [pc, #0x138] ldr r3, [r3] mov lr, pc mov pc, r3 mov r3, #2 mul r2, r0, r3 ldr r3, [sp, #0x6B0] add r3, r3, r2 ldrsh r2, [sp, #0x1E] add r1, sp, #0xB1, 30 ldr r0, [sp, #0x554] bl D_UTIL_dec_synthesis ; Line 948 b |$LN1@D_MAIN_dec| |$LN2@D_MAIN_dec| ; Line 951 ldr r3, [sp, #0x2BC] str r3, [sp, #0x14] ldrb r3, [sp, #0x550] str r3, [sp, #0x10] ldrb r3, [sp, #0x551] str r3, [sp, #0xC] add r3, sp, #6, 24 ldrsh r3, [r3, #0xA8] str r3, [sp, #8] add r3, sp, #0xA3, 30 str r3, [sp, #4] mov r3, #0 str r3, [sp] ldr r2, [sp, #0xD4] mov r3, #5 mul r1, r2, r3 mov r0, #4 ldr r3, [pc, #0xC0] ldr r3, [r3] mov lr, pc mov pc, r3 mov r3, #2 mul r2, r0, r3 ldr r3, [sp, #0x6B0] add r3, r3, r2 ldrsh r2, [sp, #0x1E] add r1, sp, #0xB1, 30 ldr r0, [sp, #0x554] bl D_UTIL_dec_synthesis |$LN1@D_MAIN_dec| ; Line 954 ldr r3, [sp, #0x554] add r3, r3, #0x22 str r3, [sp, #0x554] ; Line 955 b |$LN103@D_MAIN_dec| |$LN102@D_MAIN_dec| ; Line 963 mov r2, #0x1F, 28 ldr r3, [sp, #0x2BC] add r1, r3, #0x81, 30 ldr r3, [sp, #0x2BC] add r0, r3, #4 bl memmove ; Line 964 ldrsh r2, [sp, #0x1E] mov r1, #1, 24 ldr r0, [sp, #0x58C] bl D_UTIL_signal_down_scale ; Line 965 ldr r2, [sp, #0x58C] add r1, sp, #0xB4 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x7C ldr r0, [r3] bl D_DTX_activity_update ; Line 966 ldr r3, [sp, #0x2BC] add r3, r3, #6, 24 add r3, r3, #0x7C ldr r3, [r3] add r3, r3, #1, 24 add r2, r3, #0x61 ldrb r3, [sp, #0x551] strb r3, [r2] ; Line 967 ldr r3, [sp, #0x2BC] add r2, r3, #0x1A, 26 ldrb r3, [sp, #0x550] strb r3, [r2] ; Line 969 mov r3, #0 str r3, [sp, #0x5CC] |$LN137@D_MAIN_dec| ; Line 970 ldr r0, [sp, #0x5CC] add sp, sp, #0x6A, 28 ldmia sp, {sp, pc} |$LN158@D_MAIN_dec| DCD |__imp___rt_sdiv| DCD |D_ROM_interpol_frac| |$M1796| ENDP ; |D_MAIN_decode| END