; Listing generated by Microsoft (R) Optimizing Compiler Version 14.00.50727 TTL d:\MyProject\VS2005\Tcpmp\tcpmp\amr\26204\dec_lpc.c CODE32 AREA |.drectve|, DRECTVE DCB "-defaultlib:LIBCMT " DCB "-defaultlib:OLDNAMES " EXPORT |D_LPC_isf_noise_d| IMPORT |D_ROM_mean_isf_noise| IMPORT |D_ROM_dico5_isf_noise| IMPORT |D_ROM_dico4_isf_noise| IMPORT |D_ROM_dico3_isf_noise| IMPORT |D_ROM_dico2_isf_noise| IMPORT |D_ROM_dico1_isf_noise| AREA |.pdata|, PDATA |$T1656| DCD |$LN23@D_LPC_isf_| DCD 0x4000be04 ; Function compile flags: /Odsp AREA |.text|, CODE, ARM |D_LPC_isf_noise_d| PROC ; File d:\myproject\vs2005\tcpmp\tcpmp\amr\26204\dec_lpc.c ; Line 90 |$LN23@D_LPC_isf_| mov r12, sp stmdb sp!, {r0, r1} stmdb sp!, {r12, lr} sub sp, sp, #4 |$M1653| ; Line 93 mov r3, #0 str r3, [sp] b |$LN18@D_LPC_isf_| |$LN17@D_LPC_isf_| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN18@D_LPC_isf_| ldr r3, [sp] cmp r3, #2 bge |$LN16@D_LPC_isf_| ; Line 95 ldr r3, [sp, #0xC] ldrsh r1, [r3] mov r3, #2 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x298] add r0, r3, r2 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x10] add r2, r3, r2 ldrsh r3, [r0] strh r3, [r2] ; Line 96 b |$LN17@D_LPC_isf_| |$LN16@D_LPC_isf_| ; Line 98 mov r3, #0 str r3, [sp] b |$LN15@D_LPC_isf_| |$LN14@D_LPC_isf_| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN15@D_LPC_isf_| ldr r3, [sp] cmp r3, #3 bge |$LN13@D_LPC_isf_| ; Line 100 ldr r3, [sp, #0xC] add r3, r3, #2 ldrsh r1, [r3] mov r3, #3 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x224] add r0, r3, r2 ldr r3, [sp] add r1, r3, #2 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x10] add r2, r3, r2 ldrsh r3, [r0] strh r3, [r2] ; Line 101 b |$LN14@D_LPC_isf_| |$LN13@D_LPC_isf_| ; Line 103 mov r3, #0 str r3, [sp] b |$LN12@D_LPC_isf_| |$LN11@D_LPC_isf_| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN12@D_LPC_isf_| ldr r3, [sp] cmp r3, #3 bge |$LN10@D_LPC_isf_| ; Line 105 ldr r3, [sp, #0xC] add r3, r3, #4 ldrsh r1, [r3] mov r3, #3 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x1AC] add r0, r3, r2 ldr r3, [sp] add r1, r3, #5 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x10] add r2, r3, r2 ldrsh r3, [r0] strh r3, [r2] ; Line 106 b |$LN11@D_LPC_isf_| |$LN10@D_LPC_isf_| ; Line 108 mov r3, #0 str r3, [sp] b |$LN9@D_LPC_isf_| |$LN8@D_LPC_isf_| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN9@D_LPC_isf_| ldr r3, [sp] cmp r3, #4 bge |$LN7@D_LPC_isf_| ; Line 110 ldr r3, [sp, #0xC] add r3, r3, #6 ldrsh r1, [r3] mov r3, #4 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x134] add r0, r3, r2 ldr r3, [sp] add r1, r3, #8 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x10] add r2, r3, r2 ldrsh r3, [r0] strh r3, [r2] ; Line 111 b |$LN8@D_LPC_isf_| |$LN7@D_LPC_isf_| ; Line 113 mov r3, #0 str r3, [sp] b |$LN6@D_LPC_isf_| |$LN5@D_LPC_isf_| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN6@D_LPC_isf_| ldr r3, [sp] cmp r3, #4 bge |$LN4@D_LPC_isf_| ; Line 115 ldr r3, [sp, #0xC] add r3, r3, #8 ldrsh r1, [r3] mov r3, #4 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0xBC] add r0, r3, r2 ldr r3, [sp] add r1, r3, #0xC mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x10] add r2, r3, r2 ldrsh r3, [r0] strh r3, [r2] ; Line 116 b |$LN5@D_LPC_isf_| |$LN4@D_LPC_isf_| ; Line 118 mov r3, #0 str r3, [sp] b |$LN3@D_LPC_isf_| |$LN2@D_LPC_isf_| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN3@D_LPC_isf_| ldr r3, [sp] cmp r3, #0x10 bge |$LN1@D_LPC_isf_| ; Line 120 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x10] add r3, r3, r2 ldrsh r0, [r3] ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x44] add r3, r3, r2 ldrsh r3, [r3] add 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, #0x10] add r3, r3, r2 strh r0, [r3] ; Line 121 b |$LN2@D_LPC_isf_| |$LN1@D_LPC_isf_| ; Line 123 mov r2, #0x10 mov r1, #0x80 ldr r0, [sp, #0x10] bl D_LPC_isf_reorder ; Line 126 add sp, sp, #4 ldmia sp, {sp, pc} |$LN24@D_LPC_isf_| DCD |D_ROM_mean_isf_noise| DCD |D_ROM_dico5_isf_noise| DCD |D_ROM_dico4_isf_noise| DCD |D_ROM_dico3_isf_noise| DCD |D_ROM_dico2_isf_noise| DCD |D_ROM_dico1_isf_noise| |$M1654| ENDP ; |D_LPC_isf_noise_d| AREA |.pdata|, PDATA |$T1662| DCD |$LN9@D_LPC_isf_@2| DCD 0x40002f04 ; Function compile flags: /Odsp AREA |.text|, CODE, ARM |D_LPC_isf_reorder| PROC ; Line 58 |$LN9@D_LPC_isf_@2| mov r12, sp stmdb sp!, {r0 - r2} stmdb sp!, {r12, lr} sub sp, sp, #8 |$M1659| ; Line 61 ldrsh r3, [sp, #0x14] str r3, [sp, #4] ; Line 63 mov r3, #0 str r3, [sp] b |$LN4@D_LPC_isf_@2| |$LN3@D_LPC_isf_@2| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN4@D_LPC_isf_@2| ldrsh r3, [sp, #0x18] sub r2, r3, #1 ldr r3, [sp] cmp r3, r2 bge |$LN2@D_LPC_isf_@2| ; Line 65 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x10] add r3, r3, r2 ldrsh r2, [r3] ldr r3, [sp, #4] cmp r2, r3 bge |$LN1@D_LPC_isf_@2| ; Line 67 ldr r3, [sp, #4] 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] |$LN1@D_LPC_isf_@2| ; Line 69 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x10] add r3, r3, r2 ldrsh r2, [r3] ldrsh r3, [sp, #0x14] add r3, r2, r3 str r3, [sp, #4] ; Line 70 b |$LN3@D_LPC_isf_@2| |$LN2@D_LPC_isf_@2| ; Line 73 add sp, sp, #8 ldmia sp, {sp, pc} |$M1660| ENDP ; |D_LPC_isf_reorder| EXPORT |D_LPC_isf_isp_conversion| IMPORT |D_ROM_cos| AREA |.pdata|, PDATA |$T1667| DCD |$LN11@D_LPC_isf_@3| DCD 0x40006d04 ; Function compile flags: /Odsp AREA |.text|, CODE, ARM |D_LPC_isf_isp_conversion| PROC ; Line 146 |$LN11@D_LPC_isf_@3| mov r12, sp stmdb sp!, {r0 - r2} stmdb sp!, {r12, lr} sub sp, sp, #0x10 |$M1664| ; Line 149 mov r3, #0 str r3, [sp, #4] b |$LN6@D_LPC_isf_@3| |$LN5@D_LPC_isf_@3| ldr r3, [sp, #4] add r3, r3, #1 str r3, [sp, #4] |$LN6@D_LPC_isf_@3| ldrsh r3, [sp, #0x20] sub r2, r3, #1 ldr r3, [sp, #4] cmp r3, r2 bge |$LN4@D_LPC_isf_@3| ; Line 151 ldr r1, [sp, #4] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x18] add r0, r3, r2 ldr r1, [sp, #4] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x1C] add r2, r3, r2 ldrsh r3, [r0] strh r3, [r2] ; Line 152 b |$LN5@D_LPC_isf_@3| |$LN4@D_LPC_isf_@3| ; Line 153 ldrsh r3, [sp, #0x20] sub r1, r3, #1 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x18] add r3, r3, r2 ldrsh r3, [r3] mov r3, r3, lsl #1 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldrsh r3, [sp, #0x20] sub r1, r3, #1 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x1C] add r3, r3, r2 strh r0, [r3] ; Line 155 mov r3, #0 str r3, [sp, #4] b |$LN3@D_LPC_isf_@3| |$LN2@D_LPC_isf_@3| ldr r3, [sp, #4] add r3, r3, #1 str r3, [sp, #4] |$LN3@D_LPC_isf_@3| ldrsh r2, [sp, #0x20] ldr r3, [sp, #4] cmp r3, r2 bge |$LN1@D_LPC_isf_@3| ; Line 157 ldr r1, [sp, #4] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x1C] add r3, r3, r2 ldrsh r3, [r3] mov r3, r3, asr #7 str r3, [sp] ; Line 158 ldr r1, [sp, #4] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x1C] add r3, r3, r2 ldrsh r3, [r3] and r3, r3, #0x7F str r3, [sp, #0xC] ; Line 161 ldr r3, [sp] add r1, r3, #1 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x7C] add r3, r3, r2 ldrsh r0, [r3] ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x64] add r3, r3, r2 ldrsh r3, [r3] sub r2, r0, r3 ldr r3, [sp, #0xC] mul r3, r2, r3 str r3, [sp, #8] ; Line 162 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x3C] add r3, r3, r2 ldrsh r2, [r3] ldr r3, [sp, #8] mov r3, r3, asr #7 add r3, r2, r3 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r1, [sp, #4] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x1C] add r3, r3, r2 strh r0, [r3] ; Line 163 b |$LN2@D_LPC_isf_@3| |$LN1@D_LPC_isf_@3| ; Line 165 add sp, sp, #0x10 ldmia sp, {sp, pc} |$LN12@D_LPC_isf_@3| DCD |D_ROM_cos| |$M1665| ENDP ; |D_LPC_isf_isp_conversion| EXPORT |D_LPC_isp_a_conversion| IMPORT |D_UTIL_norm_l| IMPORT |labs| IMPORT |D_UTIL_mpy_32_16| IMPORT |D_UTIL_l_extract| AREA |.pdata|, PDATA |$T1673| DCD |$LN31@D_LPC_isp_| DCD 0x4001e004 ; Function compile flags: /Odsp AREA |.text|, CODE, ARM |D_LPC_isp_a_conversion| PROC ; Line 249 |$LN31@D_LPC_isp_| mov r12, sp stmdb sp!, {r0 - r3} stmdb sp!, {r12, lr} sub sp, sp, #0x94 |$M1670| ; Line 255 ldrsh r3, [sp, #0xA8] mov r3, r3, asr #1 str r3, [sp, #0x40] ; Line 257 ldr r3, [sp, #0x40] cmp r3, #8 ble |$LN26@D_LPC_isp_| ; Line 259 mov r3, #1 ldr r2, [sp, #0x40] add r1, sp, #0x48 ldr r0, [sp, #0x9C] bl D_LPC_isp_pol_get ; Line 261 mov r3, #0 str r3, [sp, #4] b |$LN25@D_LPC_isp_| |$LN24@D_LPC_isp_| ldr r3, [sp, #4] add r3, r3, #1 str r3, [sp, #4] |$LN25@D_LPC_isp_| ldr r2, [sp, #4] ldr r3, [sp, #0x40] cmp r2, r3 bgt |$LN23@D_LPC_isp_| ; Line 263 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x48 add r3, r3, r2 ldr r3, [r3] mov r0, r3, lsl #2 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x48 add r3, r3, r2 str r0, [r3] ; Line 264 b |$LN24@D_LPC_isp_| |$LN23@D_LPC_isp_| ; Line 266 b |$LN22@D_LPC_isp_| |$LN26@D_LPC_isp_| ; Line 268 mov r3, #0 ldr r2, [sp, #0x40] add r1, sp, #0x48 ldr r0, [sp, #0x9C] bl D_LPC_isp_pol_get |$LN22@D_LPC_isp_| ; Line 271 ldr r3, [sp, #0x40] cmp r3, #8 ble |$LN21@D_LPC_isp_| ; Line 273 mov r3, #1 ldr r2, [sp, #0x40] sub r2, r2, #1 add r1, sp, #0x10 ldr r0, [sp, #0x9C] add r0, r0, #2 bl D_LPC_isp_pol_get ; Line 275 mov r3, #0 str r3, [sp, #4] b |$LN20@D_LPC_isp_| |$LN19@D_LPC_isp_| ldr r3, [sp, #4] add r3, r3, #1 str r3, [sp, #4] |$LN20@D_LPC_isp_| ldr r3, [sp, #0x40] sub r2, r3, #1 ldr r3, [sp, #4] cmp r3, r2 bgt |$LN18@D_LPC_isp_| ; Line 277 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x10 add r3, r3, r2 ldr r3, [r3] mov r0, r3, lsl #2 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x10 add r3, r3, r2 str r0, [r3] ; Line 278 b |$LN19@D_LPC_isp_| |$LN18@D_LPC_isp_| ; Line 280 b |$LN17@D_LPC_isp_| |$LN21@D_LPC_isp_| ; Line 282 mov r3, #0 ldr r2, [sp, #0x40] sub r2, r2, #1 add r1, sp, #0x10 ldr r0, [sp, #0x9C] add r0, r0, #2 bl D_LPC_isp_pol_get |$LN17@D_LPC_isp_| ; Line 288 ldr r3, [sp, #0x40] sub r3, r3, #1 str r3, [sp, #4] b |$LN16@D_LPC_isp_| |$LN15@D_LPC_isp_| ldr r3, [sp, #4] sub r3, r3, #1 str r3, [sp, #4] |$LN16@D_LPC_isp_| ldr r3, [sp, #4] cmp r3, #1 ble |$LN14@D_LPC_isp_| ; Line 290 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x10 add r0, r3, r2 ldr r3, [sp, #4] sub r1, r3, #2 mov r3, #4 mul r2, r1, r3 add r3, sp, #0x10 add r3, r3, r2 ldr r2, [r0] ldr r3, [r3] sub r0, r2, r3 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x10 add r3, r3, r2 str r0, [r3] ; Line 291 b |$LN15@D_LPC_isp_| |$LN14@D_LPC_isp_| ; Line 296 mov r3, #0 str r3, [sp, #4] b |$LN13@D_LPC_isp_| |$LN12@D_LPC_isp_| ldr r3, [sp, #4] add r3, r3, #1 str r3, [sp, #4] |$LN13@D_LPC_isp_| ldr r2, [sp, #4] ldr r3, [sp, #0x40] cmp r2, r3 bge |$LN11@D_LPC_isp_| ; Line 299 add r2, sp, #0 add r1, sp, #0x38 ldr lr, [sp, #4] mov r3, #4 mul r0, lr, r3 add r3, sp, #0x48 add r3, r3, r0 ldr r0, [r3] bl D_UTIL_l_extract ; Line 300 ldrsh r3, [sp, #0xA8] sub r1, r3, #1 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x9C] add r3, r3, r2 ldrsh r2, [r3] ldrsh r1, [sp] ldrsh r0, [sp, #0x38] bl D_UTIL_mpy_32_16 str r0, [sp, #0x7C] ldr r3, [sp, #0x7C] str r3, [sp, #0x74] ; Line 301 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x48 add r3, r3, r2 ldr r2, [r3] ldr r3, [sp, #0x74] add r0, r2, r3 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x48 add r3, r3, r2 str r0, [r3] ; Line 304 add r2, sp, #0 add r1, sp, #0x38 ldr lr, [sp, #4] mov r3, #4 mul r0, lr, r3 add r3, sp, #0x10 add r3, r3, r0 ldr r0, [r3] bl D_UTIL_l_extract ; Line 305 ldrsh r3, [sp, #0xA8] sub r1, r3, #1 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x9C] add r3, r3, r2 ldrsh r2, [r3] ldrsh r1, [sp] ldrsh r0, [sp, #0x38] bl D_UTIL_mpy_32_16 str r0, [sp, #0x80] ldr r3, [sp, #0x80] str r3, [sp, #0x74] ; Line 306 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x10 add r3, r3, r2 ldr r2, [r3] ldr r3, [sp, #0x74] sub r0, r2, r3 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x10 add r3, r3, r2 str r0, [r3] ; Line 307 b |$LN12@D_LPC_isp_| |$LN11@D_LPC_isp_| ; Line 315 ldr r2, [sp, #0xA0] mov r3, #1, 20 strh r3, [r2] ; Line 316 mov r3, #1 str r3, [sp, #8] ; Line 318 mov r3, #1 str r3, [sp, #4] ldrsh r3, [sp, #0xA8] sub r3, r3, #1 str r3, [sp, #0x78] b |$LN10@D_LPC_isp_| |$LN9@D_LPC_isp_| ldr r3, [sp, #4] add r3, r3, #1 str r3, [sp, #4] ldr r3, [sp, #0x78] sub r3, r3, #1 str r3, [sp, #0x78] |$LN10@D_LPC_isp_| ldr r2, [sp, #4] ldr r3, [sp, #0x40] cmp r2, r3 bge |$LN8@D_LPC_isp_| ; Line 321 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x48 add r0, r3, r2 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x10 add r3, r3, r2 ldr r2, [r0] ldr r3, [r3] add r3, r2, r3 str r3, [sp, #0x74] ; Line 322 ldr r0, [sp, #0x74] bl labs str r0, [sp, #0x84] ldr r2, [sp, #8] ldr r3, [sp, #0x84] orr r3, r2, r3 str r3, [sp, #8] ; Line 323 ldr r3, [sp, #0x74] add r3, r3, #2, 22 mov r3, r3, asr #12 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r1, [sp, #4] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0xA0] add r3, r3, r2 strh r0, [r3] ; Line 326 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x48 add r0, r3, r2 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x10 add r3, r3, r2 ldr r2, [r0] ldr r3, [r3] sub r3, r2, r3 str r3, [sp, #0x74] ; Line 327 ldr r0, [sp, #0x74] bl labs str r0, [sp, #0x88] ldr r2, [sp, #8] ldr r3, [sp, #0x88] orr r3, r2, r3 str r3, [sp, #8] ; Line 328 ldr r3, [sp, #0x74] add r3, r3, #2, 22 mov r3, r3, asr #12 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r1, [sp, #0x78] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0xA0] add r3, r3, r2 strh r0, [r3] ; Line 329 b |$LN9@D_LPC_isp_| |$LN8@D_LPC_isp_| ; Line 333 ldr r3, [sp, #0xA4] cmp r3, #0 beq |$LN7@D_LPC_isp_| ; Line 335 ldr r0, [sp, #8] bl D_UTIL_norm_l strh r0, [sp, #0x8C] ldrsh r3, [sp, #0x8C] rsb r3, r3, #4 str r3, [sp, #0xC] ; Line 337 b |$LN6@D_LPC_isp_| |$LN7@D_LPC_isp_| ; Line 339 mov r3, #0 str r3, [sp, #0xC] |$LN6@D_LPC_isp_| ; Line 342 ldr r3, [sp, #0xC] cmp r3, #0 ble |$LN5@D_LPC_isp_| ; Line 344 ldr r3, [sp, #0xC] add r3, r3, #0xC str r3, [sp, #0x3C] ; Line 345 ldr r3, [sp, #0x3C] sub r2, r3, #1 mov r3, #1 mov r3, r3, lsl r2 str r3, [sp, #0x44] ; Line 347 mov r3, #1 str r3, [sp, #4] ldrsh r3, [sp, #0xA8] sub r3, r3, #1 str r3, [sp, #0x78] b |$LN4@D_LPC_isp_| |$LN3@D_LPC_isp_| ldr r3, [sp, #4] add r3, r3, #1 str r3, [sp, #4] ldr r3, [sp, #0x78] sub r3, r3, #1 str r3, [sp, #0x78] |$LN4@D_LPC_isp_| ldr r2, [sp, #4] ldr r3, [sp, #0x40] cmp r2, r3 bge |$LN2@D_LPC_isp_| ; Line 350 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x48 add r0, r3, r2 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x10 add r3, r3, r2 ldr r2, [r0] ldr r3, [r3] add r3, r2, r3 str r3, [sp, #0x74] ; Line 351 ldr r2, [sp, #0x74] ldr r3, [sp, #0x44] add r2, r2, r3 ldr r3, [sp, #0x3C] mov r3, r2, asr r3 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r1, [sp, #4] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0xA0] add r3, r3, r2 strh r0, [r3] ; Line 354 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x48 add r0, r3, r2 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x10 add r3, r3, r2 ldr r2, [r0] ldr r3, [r3] sub r3, r2, r3 str r3, [sp, #0x74] ; Line 355 ldr r2, [sp, #0x74] ldr r3, [sp, #0x44] add r2, r2, r3 ldr r3, [sp, #0x3C] mov r3, r2, asr r3 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r1, [sp, #0x78] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0xA0] add r3, r3, r2 strh r0, [r3] ; Line 356 b |$LN3@D_LPC_isp_| |$LN2@D_LPC_isp_| ; Line 357 ldr r3, [sp, #0xA0] ldrsh r2, [r3] ldr r3, [sp, #0xC] mov r3, r2, asr r3 mov r2, r3, lsl #16 mov r2, r2, asr #16 ldr r3, [sp, #0xA0] strh r2, [r3] ; Line 359 b |$LN1@D_LPC_isp_| |$LN5@D_LPC_isp_| ; Line 361 mov r3, #0xC str r3, [sp, #0x3C] ; Line 362 ldr r3, [sp, #0x3C] sub r2, r3, #1 mov r3, #1 mov r3, r3, lsl r2 str r3, [sp, #0x44] ; Line 363 mov r3, #0 str r3, [sp, #0xC] |$LN1@D_LPC_isp_| ; Line 367 add r2, sp, #0 add r1, sp, #0x38 ldr lr, [sp, #0x40] mov r3, #4 mul r0, lr, r3 add r3, sp, #0x48 add r3, r3, r0 ldr r0, [r3] bl D_UTIL_l_extract ; Line 368 ldrsh r3, [sp, #0xA8] sub r1, r3, #1 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x9C] add r3, r3, r2 ldrsh r2, [r3] ldrsh r1, [sp] ldrsh r0, [sp, #0x38] bl D_UTIL_mpy_32_16 str r0, [sp, #0x90] ldr r3, [sp, #0x90] str r3, [sp, #0x74] ; Line 369 ldr r1, [sp, #0x40] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x48 add r3, r3, r2 ldr r2, [r3] ldr r3, [sp, #0x74] add r3, r2, r3 str r3, [sp, #0x74] ; Line 370 ldr r2, [sp, #0x74] ldr r3, [sp, #0x44] add r2, r2, r3 ldr r3, [sp, #0x3C] mov r3, r2, asr r3 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r1, [sp, #0x40] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0xA0] add r3, r3, r2 strh r0, [r3] ; Line 373 ldrsh r3, [sp, #0xA8] sub r1, r3, #1 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x9C] add r3, r3, r2 ldrsh r2, [r3] ldr r3, [sp, #0xC] add r3, r3, #2 mov r3, r2, asr r3 add r3, r3, #1 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldrsh r1, [sp, #0xA8] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0xA0] add r3, r3, r2 strh r0, [r3] ; Line 374 ldrsh r1, [sp, #0xA8] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0xA0] add r3, r3, r2 ldrsh r3, [r3] mov r3, r3, asr #1 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldrsh r1, [sp, #0xA8] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0xA0] add r3, r3, r2 strh r0, [r3] ; Line 377 add sp, sp, #0x94 ldmia sp, {sp, pc} |$M1671| ENDP ; |D_LPC_isp_a_conversion| AREA |.pdata|, PDATA |$T1678| DCD |$LN12@D_LPC_isp_@2| DCD 0x40007304 ; Function compile flags: /Odsp AREA |.text|, CODE, ARM |D_LPC_isp_pol_get| PROC ; Line 192 |$LN12@D_LPC_isp_@2| mov r12, sp stmdb sp!, {r0 - r3} stmdb sp!, {r12, lr} sub sp, sp, #0x20 |$M1675| ; Line 196 mov r3, #2, 10 str r3, [sp, #0xC] ; Line 197 mov r3, #2, 24 str r3, [sp, #8] ; Line 199 ldrsh r3, [sp, #0x34] cmp r3, #0 beq |$LN7@D_LPC_isp_@2| ; Line 201 ldr r3, [sp, #0xC] mov r3, r3, asr #2 str r3, [sp, #0xC] ; Line 202 ldr r3, [sp, #8] mov r3, r3, asr #2 str r3, [sp, #8] |$LN7@D_LPC_isp_@2| ; Line 206 ldr r2, [sp, #0xC] ldr r3, [sp, #0x2C] str r2, [r3] ; Line 207 ldr r3, [sp, #0x28] ldrsh r1, [r3] ldr r3, [sp, #8] rsb r3, r3, #0 mul r2, r1, r3 ldr r3, [sp, #0x2C] add r3, r3, #4 str r2, [r3] ; Line 208 ldr r3, [sp, #0x2C] add r3, r3, #8 str r3, [sp, #0x2C] ; Line 209 ldr r3, [sp, #0x28] add r3, r3, #4 str r3, [sp, #0x28] ; Line 211 mov r3, #2 str r3, [sp, #4] b |$LN6@D_LPC_isp_@2| |$LN5@D_LPC_isp_@2| ldr r3, [sp, #4] add r3, r3, #1 str r3, [sp, #4] |$LN6@D_LPC_isp_@2| ldr r2, [sp, #4] ldr r3, [sp, #0x30] cmp r2, r3 bgt |$LN4@D_LPC_isp_@2| ; Line 213 ldr r3, [sp, #0x2C] sub r3, r3, #8 ldr r2, [r3] ldr r3, [sp, #0x2C] str r2, [r3] ; Line 215 mov r3, #1 str r3, [sp, #0x18] b |$LN3@D_LPC_isp_@2| |$LN2@D_LPC_isp_@2| ldr r3, [sp, #0x18] add r3, r3, #1 str r3, [sp, #0x18] ldr r3, [sp, #0x2C] sub r3, r3, #4 str r3, [sp, #0x2C] |$LN3@D_LPC_isp_@2| ldr r2, [sp, #0x18] ldr r3, [sp, #4] cmp r2, r3 bge |$LN1@D_LPC_isp_@2| ; Line 217 add r2, sp, #0 add r1, sp, #0x10 ldr r3, [sp, #0x2C] sub r3, r3, #4 ldr r0, [r3] bl D_UTIL_l_extract ; Line 218 ldr r3, [sp, #0x28] ldrsh r2, [r3] ldrsh r1, [sp] ldrsh r0, [sp, #0x10] bl D_UTIL_mpy_32_16 str r0, [sp, #0x1C] ldr r3, [sp, #0x1C] str r3, [sp, #0x14] ; Line 219 ldr r3, [sp, #0x14] mov r3, r3, lsl #1 str r3, [sp, #0x14] ; Line 220 ldr r3, [sp, #0x2C] ldr r2, [r3] ldr r3, [sp, #0x14] sub r2, r2, r3 ldr r3, [sp, #0x2C] str r2, [r3] ; Line 221 ldr r3, [sp, #0x2C] sub r1, r3, #8 ldr r3, [sp, #0x2C] ldr r2, [r3] ldr r3, [r1] add r2, r2, r3 ldr r3, [sp, #0x2C] str r2, [r3] ; Line 222 b |$LN2@D_LPC_isp_@2| |$LN1@D_LPC_isp_@2| ; Line 224 ldr r3, [sp, #0x28] ldrsh r1, [r3] ldr r3, [sp, #8] mul r2, r1, r3 ldr r3, [sp, #0x2C] ldr r3, [r3] sub r2, r3, r2 ldr r3, [sp, #0x2C] str r2, [r3] ; Line 225 ldr r1, [sp, #4] mov r3, #4 mul r2, r1, r3 ldr r3, [sp, #0x2C] add r3, r3, r2 str r3, [sp, #0x2C] ; Line 226 ldr r3, [sp, #0x28] add r3, r3, #4 str r3, [sp, #0x28] ; Line 227 b |$LN5@D_LPC_isp_@2| |$LN4@D_LPC_isp_@2| ; Line 230 add sp, sp, #0x20 ldmia sp, {sp, pc} |$M1676| ENDP ; |D_LPC_isp_pol_get| EXPORT |D_LPC_a_weight| AREA |.pdata|, PDATA |$T1683| DCD |$LN8@D_LPC_a_we| DCD 0x40004104 ; Function compile flags: /Odsp AREA |.text|, CODE, ARM |D_LPC_a_weight| PROC ; Line 396 |$LN8@D_LPC_a_we| mov r12, sp stmdb sp!, {r0 - r3} stmdb sp!, {r12, lr} sub sp, sp, #8 |$M1680| ; Line 399 ldr r3, [sp, #0x10] ldrsh r2, [r3] ldr r3, [sp, #0x14] strh r2, [r3] ; Line 400 ldrsh r3, [sp, #0x18] str r3, [sp, #4] ; Line 402 mov r3, #1 str r3, [sp] b |$LN3@D_LPC_a_we| |$LN2@D_LPC_a_we| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN3@D_LPC_a_we| ldrsh r2, [sp, #0x1C] ldr r3, [sp] cmp r3, r2 bge |$LN1@D_LPC_a_we| ; Line 404 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x10] add r3, r3, r2 ldrsh r2, [r3] ldr r3, [sp, #4] mul r3, r2, r3 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 405 ldrsh r3, [sp, #0x18] ldr r2, [sp, #4] mul r3, r2, r3 add r3, r3, #1, 18 mov r3, r3, asr #15 str r3, [sp, #4] ; Line 406 b |$LN2@D_LPC_a_we| |$LN1@D_LPC_a_we| ; Line 408 ldrsh r1, [sp, #0x1C] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x10] add r3, r3, r2 ldrsh r2, [r3] ldr r3, [sp, #4] mul r3, r2, r3 add r3, r3, #1, 18 mov r3, r3, asr #15 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldrsh r1, [sp, #0x1C] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x14] add r3, r3, r2 strh r0, [r3] ; Line 411 add sp, sp, #8 ldmia sp, {sp, pc} |$M1681| ENDP ; |D_LPC_a_weight| EXPORT |D_LPC_isf_2s3s_decode| IMPORT |D_ROM_mean_isf| IMPORT |D_ROM_dico23_isf_36b| IMPORT |D_ROM_dico22_isf_36b| IMPORT |D_ROM_dico21_isf_36b| IMPORT |D_ROM_dico2_isf| IMPORT |D_ROM_dico1_isf| AREA |.pdata|, PDATA |$T1688| DCD |$LN43@D_LPC_isf_@4| DCD 0x4001ac04 ; Function compile flags: /Odsp AREA |.text|, CODE, ARM |D_LPC_isf_2s3s_decode| PROC ; Line 433 |$LN43@D_LPC_isf_@4| mov r12, sp stmdb sp!, {r0 - r3} stmdb sp!, {r12, lr} sub sp, sp, #0x50 |$M1685| ; Line 439 ldrsh r3, [sp, #0x6C] cmp r3, #0 bne |$LN38@D_LPC_isf_@4| ; Line 441 mov r3, #0 str r3, [sp] b |$LN37@D_LPC_isf_@4| |$LN36@D_LPC_isf_@4| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN37@D_LPC_isf_@4| ldr r3, [sp] cmp r3, #9 bge |$LN35@D_LPC_isf_@4| ; Line 443 ldr r3, [sp, #0x58] ldrsh r1, [r3] mov r3, #9 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x644] add r0, r3, r2 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r2, r3, r2 ldrsh r3, [r0] strh r3, [r2] ; Line 444 b |$LN36@D_LPC_isf_@4| |$LN35@D_LPC_isf_@4| ; Line 446 mov r3, #0 str r3, [sp] b |$LN34@D_LPC_isf_@4| |$LN33@D_LPC_isf_@4| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN34@D_LPC_isf_@4| ldr r3, [sp] cmp r3, #7 bge |$LN32@D_LPC_isf_@4| ; Line 448 ldr r3, [sp, #0x58] add r3, r3, #2 ldrsh r1, [r3] mov r3, #7 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x5D0] add r0, r3, r2 ldr r3, [sp] add r1, r3, #9 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r2, r3, r2 ldrsh r3, [r0] strh r3, [r2] ; Line 449 b |$LN33@D_LPC_isf_@4| |$LN32@D_LPC_isf_@4| ; Line 451 mov r3, #0 str r3, [sp] b |$LN31@D_LPC_isf_@4| |$LN30@D_LPC_isf_@4| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN31@D_LPC_isf_@4| ldr r3, [sp] cmp r3, #5 bge |$LN29@D_LPC_isf_@4| ; Line 454 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 ldrsh r0, [r3] ldr r3, [sp, #0x58] add r3, r3, #4 ldrsh r1, [r3] mov r3, #5 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x540] add r3, r3, r2 ldrsh r3, [r3] add 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, #0x5C] add r3, r3, r2 strh r0, [r3] ; Line 455 b |$LN30@D_LPC_isf_@4| |$LN29@D_LPC_isf_@4| ; Line 457 mov r3, #0 str r3, [sp] b |$LN28@D_LPC_isf_@4| |$LN27@D_LPC_isf_@4| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN28@D_LPC_isf_@4| ldr r3, [sp] cmp r3, #4 bge |$LN26@D_LPC_isf_@4| ; Line 460 ldr r3, [sp] add r1, r3, #5 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 ldrsh r0, [r3] ldr r3, [sp, #0x58] add r3, r3, #6 ldrsh r1, [r3] mov r3, #4 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x4A4] add r3, r3, r2 ldrsh r3, [r3] add r3, r0, r3 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r3, [sp] add r1, r3, #5 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 strh r0, [r3] ; Line 461 b |$LN27@D_LPC_isf_@4| |$LN26@D_LPC_isf_@4| ; Line 463 mov r3, #0 str r3, [sp] b |$LN25@D_LPC_isf_@4| |$LN24@D_LPC_isf_@4| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN25@D_LPC_isf_@4| ldr r3, [sp] cmp r3, #7 bge |$LN23@D_LPC_isf_@4| ; Line 466 ldr r3, [sp] add r1, r3, #9 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 ldrsh r0, [r3] ldr r3, [sp, #0x58] add r3, r3, #8 ldrsh r1, [r3] mov r3, #7 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x404] add r3, r3, r2 ldrsh r3, [r3] add r3, r0, r3 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r3, [sp] add r1, r3, #9 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 strh r0, [r3] ; Line 467 b |$LN24@D_LPC_isf_@4| |$LN23@D_LPC_isf_@4| ; Line 469 mov r3, #0 str r3, [sp] b |$LN22@D_LPC_isf_@4| |$LN21@D_LPC_isf_@4| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN22@D_LPC_isf_@4| ldr r3, [sp] cmp r3, #0x10 bge |$LN20@D_LPC_isf_@4| ; Line 471 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 ldrsh r3, [r3] strh r3, [sp, #4] ; Line 473 ldrsh r0, [sp, #4] ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x378] add r3, r3, r2 ldrsh r3, [r3] add r0, r0, r3 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x60] add r3, r3, r2 ldrsh r2, [r3] mov r3, #0x2A, 24 orr r3, r3, #0xAB mul r3, r2, r3 mov r3, r3, asr #15 add 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, #0x5C] add r3, r3, r2 strh r0, [r3] ; Line 474 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x60] add r2, r3, r2 ldrsh r3, [sp, #4] strh r3, [r2] ; Line 475 b |$LN21@D_LPC_isf_@4| |$LN20@D_LPC_isf_@4| ; Line 477 mov r3, #0 str r3, [sp] b |$LN19@D_LPC_isf_@4| |$LN18@D_LPC_isf_@4| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN19@D_LPC_isf_@4| ldr r3, [sp] cmp r3, #0x10 bge |$LN17@D_LPC_isf_@4| ; Line 479 mov r3, #2 str r3, [sp, #0x48] b |$LN16@D_LPC_isf_@4| |$LN15@D_LPC_isf_@4| ldr r3, [sp, #0x48] sub r3, r3, #1 str r3, [sp, #0x48] |$LN16@D_LPC_isf_@4| ldr r3, [sp, #0x48] cmp r3, #0 ble |$LN14@D_LPC_isf_@4| ; Line 481 ldr r3, [sp, #0x48] sub r1, r3, #1 mov r3, #0x10 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x68] add r0, r3, r2 ldr r1, [sp, #0x48] mov r3, #0x10 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x68] add r2, r3, r2 ldrsh r3, [r0] strh r3, [r2] ; Line 482 b |$LN15@D_LPC_isf_@4| |$LN14@D_LPC_isf_@4| ; Line 483 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r0, r3, r2 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x68] add r2, r3, r2 ldrsh r3, [r0] strh r3, [r2] ; Line 484 b |$LN18@D_LPC_isf_@4| |$LN17@D_LPC_isf_@4| ; Line 487 b |$LN13@D_LPC_isf_@4| |$LN38@D_LPC_isf_@4| ; Line 490 mov r3, #0 str r3, [sp] b |$LN12@D_LPC_isf_@4| |$LN11@D_LPC_isf_@4| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN12@D_LPC_isf_@4| ldr r3, [sp] cmp r3, #0x10 bge |$LN10@D_LPC_isf_@4| ; Line 492 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x1F4] add r3, r3, r2 ldrsh r3, [r3] str r3, [sp, #0x4C] ; Line 494 mov r3, #0 str r3, [sp, #0x48] b |$LN9@D_LPC_isf_@4| |$LN8@D_LPC_isf_@4| ldr r3, [sp, #0x48] add r3, r3, #1 str r3, [sp, #0x48] |$LN9@D_LPC_isf_@4| ldr r3, [sp, #0x48] cmp r3, #3 bge |$LN7@D_LPC_isf_@4| ; Line 496 ldr r1, [sp, #0x48] mov r3, #0x10 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x68] add r3, r3, r2 ldrsh r2, [r3] ldr r3, [sp, #0x4C] add r3, r3, r2 str r3, [sp, #0x4C] ; Line 497 b |$LN8@D_LPC_isf_@4| |$LN7@D_LPC_isf_@4| ; Line 498 ldr r3, [sp, #0x4C] add r3, r3, #1 mov r0, r3, asr #2 ldr r1, [sp] mov r3, #4 mul r2, r1, r3 add r3, sp, #8 add r3, r3, r2 str r0, [r3] ; Line 499 b |$LN11@D_LPC_isf_@4| |$LN10@D_LPC_isf_@4| ; Line 502 mov r3, #0 str r3, [sp] b |$LN6@D_LPC_isf_@4| |$LN5@D_LPC_isf_@4| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN6@D_LPC_isf_@4| ldr r3, [sp] cmp r3, #0x10 bge |$LN4@D_LPC_isf_@4| ; Line 505 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x64] add r3, r3, r2 ldrsh r2, [r3] mov r3, #0x73, 24 orr r3, r3, #0x33 mul r3, r2, r3 mov r0, r3, asr #15 ldr r1, [sp] mov r3, #4 mul r2, r1, r3 add r3, sp, #8 add r3, r3, r2 ldr r2, [r3] mov r3, #3, 22 orr r3, r3, #0xCD mul r3, r2, r3 mov r3, r3, asr #15 add 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, #0x5C] add r3, r3, r2 strh r0, [r3] ; Line 506 b |$LN5@D_LPC_isf_@4| |$LN4@D_LPC_isf_@4| ; Line 509 mov r3, #0 str r3, [sp] b |$LN3@D_LPC_isf_@4| |$LN2@D_LPC_isf_@4| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN3@D_LPC_isf_@4| ldr r3, [sp] cmp r3, #0x10 bge |$LN1@D_LPC_isf_@4| ; Line 512 ldr r1, [sp] mov r3, #4 mul r2, r1, r3 add r3, sp, #8 add r0, r3, r2 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x60] add r3, r3, r2 ldrsh r2, [r3] mov r3, #0x2A, 24 orr r3, r3, #0xAB mul r3, r2, r3 mov r2, r3, asr #15 ldr r3, [r0] add r3, r3, r2 str r3, [sp, #0x4C] ; Line 514 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 ldrsh r2, [r3] ldr r3, [sp, #0x4C] sub r3, r2, r3 mov r3, r3, asr #1 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x60] add r3, r3, r2 strh r0, [r3] ; Line 515 b |$LN2@D_LPC_isf_@4| |$LN1@D_LPC_isf_@4| |$LN13@D_LPC_isf_@4| ; Line 518 mov r2, #0x10 mov r1, #0x80 ldr r0, [sp, #0x5C] bl D_LPC_isf_reorder ; Line 521 add sp, sp, #0x50 ldmia sp, {sp, pc} |$LN44@D_LPC_isf_@4| DCD |D_ROM_mean_isf| DCD |D_ROM_dico23_isf_36b| DCD |D_ROM_dico22_isf_36b| DCD |D_ROM_dico21_isf_36b| DCD |D_ROM_dico2_isf| DCD |D_ROM_dico1_isf| |$M1686| ENDP ; |D_LPC_isf_2s3s_decode| EXPORT |D_LPC_isf_2s5s_decode| IMPORT |D_ROM_dico25_isf| IMPORT |D_ROM_dico24_isf| IMPORT |D_ROM_dico23_isf| IMPORT |D_ROM_dico22_isf| IMPORT |D_ROM_dico21_isf| AREA |.pdata|, PDATA |$T1694| DCD |$LN49@D_LPC_isf_@5| DCD 0x4001fc04 ; Function compile flags: /Odsp AREA |.text|, CODE, ARM |D_LPC_isf_2s5s_decode| PROC ; Line 543 |$LN49@D_LPC_isf_@5| mov r12, sp stmdb sp!, {r0 - r3} stmdb sp!, {r12, lr} sub sp, sp, #0x50 |$M1691| ; Line 548 ldrsh r3, [sp, #0x6C] cmp r3, #0 bne |$LN44@D_LPC_isf_@5| ; Line 550 mov r3, #0 str r3, [sp] b |$LN43@D_LPC_isf_@5| |$LN42@D_LPC_isf_@5| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN43@D_LPC_isf_@5| ldr r3, [sp] cmp r3, #9 bge |$LN41@D_LPC_isf_@5| ; Line 552 ldr r3, [sp, #0x58] ldrsh r1, [r3] mov r3, #9 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x784] add r0, r3, r2 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r2, r3, r2 ldrsh r3, [r0] strh r3, [r2] ; Line 553 b |$LN42@D_LPC_isf_@5| |$LN41@D_LPC_isf_@5| ; Line 555 mov r3, #0 str r3, [sp] b |$LN40@D_LPC_isf_@5| |$LN39@D_LPC_isf_@5| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN40@D_LPC_isf_@5| ldr r3, [sp] cmp r3, #7 bge |$LN38@D_LPC_isf_@5| ; Line 557 ldr r3, [sp, #0x58] add r3, r3, #2 ldrsh r1, [r3] mov r3, #7 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x710] add r0, r3, r2 ldr r3, [sp] add r1, r3, #9 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r2, r3, r2 ldrsh r3, [r0] strh r3, [r2] ; Line 558 b |$LN39@D_LPC_isf_@5| |$LN38@D_LPC_isf_@5| ; Line 560 mov r3, #0 str r3, [sp] b |$LN37@D_LPC_isf_@5| |$LN36@D_LPC_isf_@5| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN37@D_LPC_isf_@5| ldr r3, [sp] cmp r3, #3 bge |$LN35@D_LPC_isf_@5| ; Line 562 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 ldrsh r0, [r3] ldr r3, [sp, #0x58] add r3, r3, #4 ldrsh r1, [r3] mov r3, #3 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x680] add r3, r3, r2 ldrsh r3, [r3] add 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, #0x5C] add r3, r3, r2 strh r0, [r3] ; Line 563 b |$LN36@D_LPC_isf_@5| |$LN35@D_LPC_isf_@5| ; Line 565 mov r3, #0 str r3, [sp] b |$LN34@D_LPC_isf_@5| |$LN33@D_LPC_isf_@5| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN34@D_LPC_isf_@5| ldr r3, [sp] cmp r3, #3 bge |$LN32@D_LPC_isf_@5| ; Line 568 ldr r3, [sp] add r1, r3, #3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 ldrsh r0, [r3] ldr r3, [sp, #0x58] add r3, r3, #6 ldrsh r1, [r3] mov r3, #3 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x5E4] add r3, r3, r2 ldrsh r3, [r3] add r3, r0, r3 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r3, [sp] add r1, r3, #3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 strh r0, [r3] ; Line 569 b |$LN33@D_LPC_isf_@5| |$LN32@D_LPC_isf_@5| ; Line 571 mov r3, #0 str r3, [sp] b |$LN31@D_LPC_isf_@5| |$LN30@D_LPC_isf_@5| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN31@D_LPC_isf_@5| ldr r3, [sp] cmp r3, #3 bge |$LN29@D_LPC_isf_@5| ; Line 574 ldr r3, [sp] add r1, r3, #6 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 ldrsh r0, [r3] ldr r3, [sp, #0x58] add r3, r3, #8 ldrsh r1, [r3] mov r3, #3 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x544] add r3, r3, r2 ldrsh r3, [r3] add r3, r0, r3 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r3, [sp] add r1, r3, #6 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 strh r0, [r3] ; Line 575 b |$LN30@D_LPC_isf_@5| |$LN29@D_LPC_isf_@5| ; Line 577 mov r3, #0 str r3, [sp] b |$LN28@D_LPC_isf_@5| |$LN27@D_LPC_isf_@5| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN28@D_LPC_isf_@5| ldr r3, [sp] cmp r3, #3 bge |$LN26@D_LPC_isf_@5| ; Line 580 ldr r3, [sp] add r1, r3, #9 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 ldrsh r0, [r3] ldr r3, [sp, #0x58] add r3, r3, #0xA ldrsh r1, [r3] mov r3, #3 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x4A4] add r3, r3, r2 ldrsh r3, [r3] add r3, r0, r3 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r3, [sp] add r1, r3, #9 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 strh r0, [r3] ; Line 581 b |$LN27@D_LPC_isf_@5| |$LN26@D_LPC_isf_@5| ; Line 583 mov r3, #0 str r3, [sp] b |$LN25@D_LPC_isf_@5| |$LN24@D_LPC_isf_@5| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN25@D_LPC_isf_@5| ldr r3, [sp] cmp r3, #4 bge |$LN23@D_LPC_isf_@5| ; Line 586 ldr r3, [sp] add r1, r3, #0xC mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 ldrsh r0, [r3] ldr r3, [sp, #0x58] add r3, r3, #0xC ldrsh r1, [r3] mov r3, #4 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x404] add r3, r3, r2 ldrsh r3, [r3] add r3, r0, r3 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r3, [sp] add r1, r3, #0xC mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 strh r0, [r3] ; Line 587 b |$LN24@D_LPC_isf_@5| |$LN23@D_LPC_isf_@5| ; Line 589 mov r3, #0 str r3, [sp] b |$LN22@D_LPC_isf_@5| |$LN21@D_LPC_isf_@5| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN22@D_LPC_isf_@5| ldr r3, [sp] cmp r3, #0x10 bge |$LN20@D_LPC_isf_@5| ; Line 591 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 ldrsh r3, [r3] strh r3, [sp, #4] ; Line 593 ldrsh r0, [sp, #4] ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x378] add r3, r3, r2 ldrsh r3, [r3] add r0, r0, r3 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x60] add r3, r3, r2 ldrsh r2, [r3] mov r3, #0x2A, 24 orr r3, r3, #0xAB mul r3, r2, r3 mov r3, r3, asr #15 add 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, #0x5C] add r3, r3, r2 strh r0, [r3] ; Line 594 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x60] add r2, r3, r2 ldrsh r3, [sp, #4] strh r3, [r2] ; Line 595 b |$LN21@D_LPC_isf_@5| |$LN20@D_LPC_isf_@5| ; Line 598 mov r3, #0 str r3, [sp] b |$LN19@D_LPC_isf_@5| |$LN18@D_LPC_isf_@5| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN19@D_LPC_isf_@5| ldr r3, [sp] cmp r3, #0x10 bge |$LN17@D_LPC_isf_@5| ; Line 600 mov r3, #2 str r3, [sp, #0x4C] b |$LN16@D_LPC_isf_@5| |$LN15@D_LPC_isf_@5| ldr r3, [sp, #0x4C] sub r3, r3, #1 str r3, [sp, #0x4C] |$LN16@D_LPC_isf_@5| ldr r3, [sp, #0x4C] cmp r3, #0 ble |$LN14@D_LPC_isf_@5| ; Line 602 ldr r3, [sp, #0x4C] sub r1, r3, #1 mov r3, #0x10 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x68] add r0, r3, r2 ldr r1, [sp, #0x4C] mov r3, #0x10 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x68] add r2, r3, r2 ldrsh r3, [r0] strh r3, [r2] ; Line 603 b |$LN15@D_LPC_isf_@5| |$LN14@D_LPC_isf_@5| ; Line 604 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r0, r3, r2 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x68] add r2, r3, r2 ldrsh r3, [r0] strh r3, [r2] ; Line 605 b |$LN18@D_LPC_isf_@5| |$LN17@D_LPC_isf_@5| ; Line 608 b |$LN13@D_LPC_isf_@5| |$LN44@D_LPC_isf_@5| ; Line 611 mov r3, #0 str r3, [sp] b |$LN12@D_LPC_isf_@5| |$LN11@D_LPC_isf_@5| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN12@D_LPC_isf_@5| ldr r3, [sp] cmp r3, #0x10 bge |$LN10@D_LPC_isf_@5| ; Line 613 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [pc, #0x1F4] add r3, r3, r2 ldrsh r3, [r3] str r3, [sp, #0x48] ; Line 615 mov r3, #0 str r3, [sp, #0x4C] b |$LN9@D_LPC_isf_@5| |$LN8@D_LPC_isf_@5| ldr r3, [sp, #0x4C] add r3, r3, #1 str r3, [sp, #0x4C] |$LN9@D_LPC_isf_@5| ldr r3, [sp, #0x4C] cmp r3, #3 bge |$LN7@D_LPC_isf_@5| ; Line 617 ldr r1, [sp, #0x4C] mov r3, #0x10 mul r2, r1, r3 ldr r3, [sp] add r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x68] add r3, r3, r2 ldrsh r2, [r3] ldr r3, [sp, #0x48] add r3, r3, r2 str r3, [sp, #0x48] ; Line 618 b |$LN8@D_LPC_isf_@5| |$LN7@D_LPC_isf_@5| ; Line 620 ldr r3, [sp, #0x48] add r3, r3, #1 mov r0, r3, asr #2 ldr r1, [sp] mov r3, #4 mul r2, r1, r3 add r3, sp, #8 add r3, r3, r2 str r0, [r3] ; Line 621 b |$LN11@D_LPC_isf_@5| |$LN10@D_LPC_isf_@5| ; Line 624 mov r3, #0 str r3, [sp] b |$LN6@D_LPC_isf_@5| |$LN5@D_LPC_isf_@5| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN6@D_LPC_isf_@5| ldr r3, [sp] cmp r3, #0x10 bge |$LN4@D_LPC_isf_@5| ; Line 627 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x64] add r3, r3, r2 ldrsh r2, [r3] mov r3, #0x73, 24 orr r3, r3, #0x33 mul r3, r2, r3 mov r0, r3, asr #15 ldr r1, [sp] mov r3, #4 mul r2, r1, r3 add r3, sp, #8 add r3, r3, r2 ldr r2, [r3] mov r3, #3, 22 orr r3, r3, #0xCD mul r3, r2, r3 mov r3, r3, asr #15 add 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, #0x5C] add r3, r3, r2 strh r0, [r3] ; Line 628 b |$LN5@D_LPC_isf_@5| |$LN4@D_LPC_isf_@5| ; Line 631 mov r3, #0 str r3, [sp] b |$LN3@D_LPC_isf_@5| |$LN2@D_LPC_isf_@5| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN3@D_LPC_isf_@5| ldr r3, [sp] cmp r3, #0x10 bge |$LN1@D_LPC_isf_@5| ; Line 634 ldr r1, [sp] mov r3, #4 mul r2, r1, r3 add r3, sp, #8 add r0, r3, r2 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x60] add r3, r3, r2 ldrsh r2, [r3] mov r3, #0x2A, 24 orr r3, r3, #0xAB mul r3, r2, r3 mov r2, r3, asr #15 ldr r3, [r0] add r3, r3, r2 str r3, [sp, #0x48] ; Line 636 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x5C] add r3, r3, r2 ldrsh r2, [r3] ldr r3, [sp, #0x48] sub r3, r2, r3 mov r3, r3, asr #1 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x60] add r3, r3, r2 strh r0, [r3] ; Line 637 b |$LN2@D_LPC_isf_@5| |$LN1@D_LPC_isf_@5| |$LN13@D_LPC_isf_@5| ; Line 640 mov r2, #0x10 mov r1, #0x80 ldr r0, [sp, #0x5C] bl D_LPC_isf_reorder ; Line 643 add sp, sp, #0x50 ldmia sp, {sp, pc} |$LN50@D_LPC_isf_@5| DCD |D_ROM_mean_isf| DCD |D_ROM_dico25_isf| DCD |D_ROM_dico24_isf| DCD |D_ROM_dico23_isf| DCD |D_ROM_dico22_isf| DCD |D_ROM_dico21_isf| DCD |D_ROM_dico2_isf| DCD |D_ROM_dico1_isf| |$M1692| ENDP ; |D_LPC_isf_2s5s_decode| EXPORT |D_LPC_int_isp_find| AREA |.pdata|, PDATA |$T1700| DCD |$LN11@D_LPC_int_| DCD 0x40005304 ; Function compile flags: /Odsp AREA |.text|, CODE, ARM |D_LPC_int_isp_find| PROC ; Line 663 |$LN11@D_LPC_int_| mov r12, sp stmdb sp!, {r0 - r3} stmdb sp!, {r12, lr} sub sp, sp, #0x34 |$M1697| ; Line 667 mov r3, #0 str r3, [sp, #0x10] b |$LN6@D_LPC_int_| |$LN5@D_LPC_int_| ldr r3, [sp, #0x10] add r3, r3, #1 str r3, [sp, #0x10] |$LN6@D_LPC_int_| ldr r3, [sp, #0x10] cmp r3, #3 bge |$LN4@D_LPC_int_| ; Line 669 ldr r1, [sp, #0x10] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x44] add r3, r3, r2 ldrsh r3, [r3] str r3, [sp, #0xC] ; Line 670 ldr r2, [sp, #0xC] mov r3, #0x7F, 24 orr r3, r3, #0xFF rsb r3, r2, r3 add r3, r3, #1 str r3, [sp, #4] ; Line 672 mov r3, #0 str r3, [sp] b |$LN3@D_LPC_int_| |$LN2@D_LPC_int_| ldr r3, [sp] add r3, r3, #1 str r3, [sp] |$LN3@D_LPC_int_| ldr r3, [sp] cmp r3, #0x10 bge |$LN1@D_LPC_int_| ; Line 674 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x3C] add r3, r3, r2 ldrsh r2, [r3] ldr r3, [sp, #4] mul r3, r2, r3 str r3, [sp, #8] ; Line 675 ldr r1, [sp] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x40] add r3, r3, r2 ldrsh r1, [r3] ldr r3, [sp, #0xC] mul r2, r1, r3 ldr r3, [sp, #8] add r3, r3, r2 str r3, [sp, #8] ; Line 676 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 add r3, sp, #0x14 add r3, r3, r2 strh r0, [r3] ; Line 677 b |$LN2@D_LPC_int_| |$LN1@D_LPC_int_| ; Line 679 mov r3, #0x10 mov r2, #0 ldr r1, [sp, #0x48] add r0, sp, #0x14 bl D_LPC_isp_a_conversion ; Line 680 ldr r3, [sp, #0x48] add r3, r3, #0x22 str r3, [sp, #0x48] ; Line 681 b |$LN5@D_LPC_int_| |$LN4@D_LPC_int_| ; Line 684 mov r3, #0x10 mov r2, #0 ldr r1, [sp, #0x48] ldr r0, [sp, #0x40] bl D_LPC_isp_a_conversion ; Line 687 add sp, sp, #0x34 ldmia sp, {sp, pc} |$M1698| ENDP ; |D_LPC_int_isp_find| EXPORT |D_LPC_isf_extrapolation| IMPORT |D_UTIL_mpy_32| IMPORT |D_UTIL_norm_s| IMPORT |__imp___rt_sdiv| AREA |.pdata|, PDATA |$T1707| DCD |$LN54@D_LPC_isf_@6| DCD 0x40029804 ; Function compile flags: /Odsp AREA |.text|, CODE, ARM |D_LPC_isf_extrapolation| PROC ; Line 704 |$LN54@D_LPC_isf_@6| mov r12, sp stmdb sp!, {r0} stmdb sp!, {r12, lr} sub sp, sp, #0x80 |$M1704| ; Line 711 ldr r3, [sp, #0x88] add r1, r3, #0x1E ldr r3, [sp, #0x88] add r2, r3, #0x26 ldrsh r3, [r1] strh r3, [r2] ; Line 714 mov r3, #1 str r3, [sp, #0xC] b |$LN49@D_LPC_isf_@6| |$LN48@D_LPC_isf_@6| ldr r3, [sp, #0xC] add r3, r3, #1 str r3, [sp, #0xC] |$LN49@D_LPC_isf_@6| ldr r3, [sp, #0xC] cmp r3, #0xF bge |$LN47@D_LPC_isf_@6| ; Line 716 ldr r1, [sp, #0xC] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x88] add r3, r3, r2 ldrsh r0, [r3] ldr r3, [sp, #0xC] sub r1, r3, #1 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x88] add r3, r3, r2 ldrsh r3, [r3] sub r0, r0, r3 ldr r3, [sp, #0xC] sub r1, r3, #1 mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 str r0, [r3] ; Line 717 b |$LN48@D_LPC_isf_@6| |$LN47@D_LPC_isf_@6| ; Line 719 mov r3, #0 str r3, [sp, #0x64] ; Line 722 mov r3, #3 str r3, [sp, #0xC] b |$LN46@D_LPC_isf_@6| |$LN45@D_LPC_isf_@6| ldr r3, [sp, #0xC] add r3, r3, #1 str r3, [sp, #0xC] |$LN46@D_LPC_isf_@6| ldr r3, [sp, #0xC] cmp r3, #0xF bge |$LN44@D_LPC_isf_@6| ; Line 724 ldr r3, [sp, #0xC] sub r1, r3, #1 mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 ldr r1, [r3] mov r3, #0xA, 24 orr r3, r3, #0xAB mul r2, r1, r3 ldr r3, [sp, #0x64] add r3, r3, r2 str r3, [sp, #0x64] ; Line 725 b |$LN45@D_LPC_isf_@6| |$LN44@D_LPC_isf_@6| ; Line 727 ldr r3, [sp, #0x64] add r3, r3, #1, 18 mov r3, r3, asr #15 str r3, [sp, #0x58] ; Line 728 mov r3, #0 str r3, [sp, #0x4C] ; Line 729 mov r3, #0 str r3, [sp, #0x50] ; Line 730 mov r3, #0 str r3, [sp, #0x54] ; Line 731 mov r3, #0 str r3, [sp, #0x64] ; Line 733 mov r3, #0 str r3, [sp, #0xC] b |$LN43@D_LPC_isf_@6| |$LN42@D_LPC_isf_@6| ldr r3, [sp, #0xC] add r3, r3, #1 str r3, [sp, #0xC] |$LN43@D_LPC_isf_@6| ldr r3, [sp, #0xC] cmp r3, #0xE bge |$LN41@D_LPC_isf_@6| ; Line 735 ldr r1, [sp, #0xC] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 ldr r2, [r3] ldr r3, [sp, #0x64] cmp r2, r3 ble |$LN40@D_LPC_isf_@6| ; Line 737 ldr r1, [sp, #0xC] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 ldr r3, [r3] str r3, [sp, #0x64] |$LN40@D_LPC_isf_@6| ; Line 739 b |$LN42@D_LPC_isf_@6| |$LN41@D_LPC_isf_@6| ; Line 741 ldr r3, [sp, #0x64] mov r0, r3, lsl #16 mov r0, r0, asr #16 bl D_UTIL_norm_s strh r0, [sp, #0x6E] ldrsh r3, [sp, #0x6E] str r3, [sp, #8] ; Line 743 mov r3, #0 str r3, [sp, #0xC] b |$LN39@D_LPC_isf_@6| |$LN38@D_LPC_isf_@6| ldr r3, [sp, #0xC] add r3, r3, #1 str r3, [sp, #0xC] |$LN39@D_LPC_isf_@6| ldr r3, [sp, #0xC] cmp r3, #0xE bge |$LN37@D_LPC_isf_@6| ; Line 745 ldr r1, [sp, #0xC] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 ldr r2, [r3] ldr r3, [sp, #8] mov r0, r2, lsl r3 ldr r1, [sp, #0xC] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 str r0, [r3] ; Line 746 b |$LN38@D_LPC_isf_@6| |$LN37@D_LPC_isf_@6| ; Line 748 ldr r2, [sp, #0x58] ldr r3, [sp, #8] mov r3, r2, lsl r3 str r3, [sp, #0x58] ; Line 750 mov r3, #7 str r3, [sp, #0xC] b |$LN36@D_LPC_isf_@6| |$LN35@D_LPC_isf_@6| ldr r3, [sp, #0xC] add r3, r3, #1 str r3, [sp, #0xC] |$LN36@D_LPC_isf_@6| ldr r3, [sp, #0xC] cmp r3, #0xE bge |$LN34@D_LPC_isf_@6| ; Line 752 ldr r1, [sp, #0xC] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 ldr r2, [r3] ldr r3, [sp, #0x58] sub r3, r2, r3 str r3, [sp, #0x68] ; Line 753 ldr r3, [sp, #0xC] sub r1, r3, #2 mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 ldr r2, [r3] ldr r3, [sp, #0x58] sub r3, r2, r3 str r3, [sp, #0x10] ; Line 754 ldr r2, [sp, #0x68] ldr r3, [sp, #0x10] mul r3, r2, r3 mov r3, r3, lsl #1 str r3, [sp, #0x64] ; Line 755 add r2, sp, #0 add r1, sp, #0x6C ldr r0, [sp, #0x64] bl D_UTIL_l_extract ; Line 756 ldrsh r3, [sp] ldrsh r2, [sp, #0x6C] ldrsh r1, [sp] ldrsh r0, [sp, #0x6C] bl D_UTIL_mpy_32 str r0, [sp, #0x70] ldr r3, [sp, #0x70] str r3, [sp, #0x64] ; Line 757 ldr r2, [sp, #0x4C] ldr r3, [sp, #0x64] add r3, r2, r3 str r3, [sp, #0x4C] ; Line 758 b |$LN35@D_LPC_isf_@6| |$LN34@D_LPC_isf_@6| ; Line 760 mov r3, #7 str r3, [sp, #0xC] b |$LN33@D_LPC_isf_@6| |$LN32@D_LPC_isf_@6| ldr r3, [sp, #0xC] add r3, r3, #1 str r3, [sp, #0xC] |$LN33@D_LPC_isf_@6| ldr r3, [sp, #0xC] cmp r3, #0xE bge |$LN31@D_LPC_isf_@6| ; Line 762 ldr r1, [sp, #0xC] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 ldr r2, [r3] ldr r3, [sp, #0x58] sub r3, r2, r3 str r3, [sp, #0x68] ; Line 763 ldr r3, [sp, #0xC] sub r1, r3, #3 mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 ldr r2, [r3] ldr r3, [sp, #0x58] sub r3, r2, r3 str r3, [sp, #0x10] ; Line 764 ldr r2, [sp, #0x68] ldr r3, [sp, #0x10] mul r3, r2, r3 mov r3, r3, lsl #1 str r3, [sp, #0x64] ; Line 765 add r2, sp, #0 add r1, sp, #0x6C ldr r0, [sp, #0x64] bl D_UTIL_l_extract ; Line 766 ldrsh r3, [sp] ldrsh r2, [sp, #0x6C] ldrsh r1, [sp] ldrsh r0, [sp, #0x6C] bl D_UTIL_mpy_32 str r0, [sp, #0x74] ldr r3, [sp, #0x74] str r3, [sp, #0x64] ; Line 767 ldr r2, [sp, #0x50] ldr r3, [sp, #0x64] add r3, r2, r3 str r3, [sp, #0x50] ; Line 768 b |$LN32@D_LPC_isf_@6| |$LN31@D_LPC_isf_@6| ; Line 770 mov r3, #7 str r3, [sp, #0xC] b |$LN30@D_LPC_isf_@6| |$LN29@D_LPC_isf_@6| ldr r3, [sp, #0xC] add r3, r3, #1 str r3, [sp, #0xC] |$LN30@D_LPC_isf_@6| ldr r3, [sp, #0xC] cmp r3, #0xE bge |$LN28@D_LPC_isf_@6| ; Line 772 ldr r1, [sp, #0xC] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 ldr r2, [r3] ldr r3, [sp, #0x58] sub r3, r2, r3 str r3, [sp, #0x68] ; Line 773 ldr r3, [sp, #0xC] sub r1, r3, #4 mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 ldr r2, [r3] ldr r3, [sp, #0x58] sub r3, r2, r3 str r3, [sp, #0x10] ; Line 774 ldr r2, [sp, #0x68] ldr r3, [sp, #0x10] mul r3, r2, r3 mov r3, r3, lsl #1 str r3, [sp, #0x64] ; Line 775 add r2, sp, #0 add r1, sp, #0x6C ldr r0, [sp, #0x64] bl D_UTIL_l_extract ; Line 776 ldrsh r3, [sp] ldrsh r2, [sp, #0x6C] ldrsh r1, [sp] ldrsh r0, [sp, #0x6C] bl D_UTIL_mpy_32 str r0, [sp, #0x78] ldr r3, [sp, #0x78] str r3, [sp, #0x64] ; Line 777 ldr r2, [sp, #0x54] ldr r3, [sp, #0x64] add r3, r2, r3 str r3, [sp, #0x54] ; Line 778 b |$LN29@D_LPC_isf_@6| |$LN28@D_LPC_isf_@6| ; Line 780 ldr r2, [sp, #0x4C] ldr r3, [sp, #0x50] cmp r2, r3 ble |$LN27@D_LPC_isf_@6| ; Line 782 mov r3, #0 str r3, [sp, #0x60] ; Line 784 b |$LN26@D_LPC_isf_@6| |$LN27@D_LPC_isf_@6| ; Line 786 mov r3, #1 str r3, [sp, #0x60] |$LN26@D_LPC_isf_@6| ; Line 789 ldr r1, [sp, #0x60] mov r3, #4 mul r2, r1, r3 add r3, sp, #0x4C add r3, r3, r2 ldr r2, [sp, #0x54] ldr r3, [r3] cmp r2, r3 ble |$LN25@D_LPC_isf_@6| ; Line 791 mov r3, #2 str r3, [sp, #0x60] |$LN25@D_LPC_isf_@6| ; Line 794 ldr r3, [sp, #0x60] add r3, r3, #1 str r3, [sp, #0x60] ; Line 796 mov r3, #0xF str r3, [sp, #0xC] b |$LN24@D_LPC_isf_@6| |$LN23@D_LPC_isf_@6| ldr r3, [sp, #0xC] add r3, r3, #1 str r3, [sp, #0xC] |$LN24@D_LPC_isf_@6| ldr r3, [sp, #0xC] cmp r3, #0x13 bge |$LN22@D_LPC_isf_@6| ; Line 798 ldr r3, [sp, #0xC] sub r2, r3, #1 ldr r3, [sp, #0x60] sub r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x88] add r3, r3, r2 ldrsh r0, [r3] ldr r3, [sp, #0xC] sub r2, r3, #2 ldr r3, [sp, #0x60] sub r1, r2, r3 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x88] add r3, r3, r2 ldrsh r3, [r3] sub r3, r0, r3 str r3, [sp, #0x64] ; Line 799 ldr r3, [sp, #0xC] sub r1, r3, #1 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x88] add r3, r3, r2 ldrsh r2, [r3] ldr r3, [sp, #0x64] add r3, r2, r3 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r1, [sp, #0xC] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x88] add r3, r3, r2 strh r0, [r3] ; Line 800 b |$LN23@D_LPC_isf_@6| |$LN22@D_LPC_isf_@6| ; Line 803 ldr r3, [sp, #0x88] add r3, r3, #8 ldrsh r2, [r3] ldr r3, [sp, #0x88] add r3, r3, #6 ldrsh r3, [r3] add r3, r2, r3 str r3, [sp, #0x64] ; Line 804 ldr r3, [sp, #0x88] add r3, r3, #4 ldrsh r2, [r3] ldr r3, [sp, #0x64] sub r3, r2, r3 str r3, [sp, #0x64] ; Line 805 ldr r2, [sp, #0x64] mov r3, #0x15, 24 orr r3, r3, #0x55 mul r3, r2, r3 mov r3, r3, asr #15 str r3, [sp, #0x64] ; Line 806 ldr r3, [sp, #0x64] add r3, r3, #0x4F, 24 add r3, r3, #0xA6 str r3, [sp, #0x64] ; Line 808 ldr r3, [sp, #0x64] cmp r3, #0x13, 22 ble |$LN21@D_LPC_isf_@6| ; Line 810 mov r3, #0x13, 22 str r3, [sp, #0x64] |$LN21@D_LPC_isf_@6| ; Line 813 ldr r3, [sp, #0x88] add r3, r3, #0x1C ldrsh r2, [r3] ldr r3, [sp, #0x64] sub r3, r3, r2 str r3, [sp, #0x64] ; Line 814 ldr r3, [sp, #0x88] add r3, r3, #0x24 ldrsh r2, [r3] ldr r3, [sp, #0x88] add r3, r3, #0x1C ldrsh r3, [r3] sub r3, r2, r3 str r3, [sp, #0x68] ; Line 815 ldr r3, [sp, #0x68] mov r0, r3, lsl #16 mov r0, r0, asr #16 bl D_UTIL_norm_s strh r0, [sp, #0x7C] ldrsh r3, [sp, #0x7C] str r3, [sp, #4] ; Line 816 ldr r3, [sp, #0x64] mov r0, r3, lsl #16 mov r0, r0, asr #16 bl D_UTIL_norm_s strh r0, [sp, #0x7E] ldrsh r3, [sp, #0x7E] str r3, [sp, #8] ; Line 817 ldr r3, [sp, #8] sub r3, r3, #1 str r3, [sp, #8] ; Line 818 ldr r2, [sp, #0x64] ldr r3, [sp, #8] mov r3, r2, lsl r3 str r3, [sp, #0x64] ; Line 819 ldr r2, [sp, #0x68] ldr r3, [sp, #4] mov r3, r2, lsl r3 str r3, [sp, #0x68] ; Line 820 ldr r3, [sp, #0x64] mov r1, r3, lsl #15 ldr r0, [sp, #0x68] ldr r3, [pc, #0x39C] ldr r3, [r3] mov lr, pc mov pc, r3 str r0, [sp, #0x5C] ; Line 821 ldr r2, [sp, #4] ldr r3, [sp, #8] sub r3, r2, r3 str r3, [sp, #8] ; Line 823 ldr r3, [sp, #8] cmp r3, #0 blt |$LN20@D_LPC_isf_@6| ; Line 825 mov r3, #0xF str r3, [sp, #0xC] b |$LN19@D_LPC_isf_@6| |$LN18@D_LPC_isf_@6| ldr r3, [sp, #0xC] add r3, r3, #1 str r3, [sp, #0xC] |$LN19@D_LPC_isf_@6| ldr r3, [sp, #0xC] cmp r3, #0x13 bge |$LN17@D_LPC_isf_@6| ; Line 827 ldr r1, [sp, #0xC] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x88] add r3, r3, r2 ldrsh r0, [r3] ldr r3, [sp, #0xC] sub r1, r3, #1 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x88] add r3, r3, r2 ldrsh r3, [r3] sub r2, r0, r3 ldr r3, [sp, #0x5C] mul r3, r2, r3 mov r3, r3, asr #15 str r3, [sp, #0x64] ; Line 828 ldr r2, [sp, #0x64] ldr r3, [sp, #8] mov r0, r2, lsl r3 ldr r3, [sp, #0xC] sub r1, r3, #0xF mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 str r0, [r3] ; Line 829 b |$LN18@D_LPC_isf_@6| |$LN17@D_LPC_isf_@6| ; Line 831 b |$LN16@D_LPC_isf_@6| |$LN20@D_LPC_isf_@6| ; Line 833 ldr r3, [sp, #8] rsb r3, r3, #0xF str r3, [sp, #8] ; Line 835 mov r3, #0xF str r3, [sp, #0xC] b |$LN15@D_LPC_isf_@6| |$LN14@D_LPC_isf_@6| ldr r3, [sp, #0xC] add r3, r3, #1 str r3, [sp, #0xC] |$LN15@D_LPC_isf_@6| ldr r3, [sp, #0xC] cmp r3, #0x13 bge |$LN13@D_LPC_isf_@6| ; Line 837 ldr r1, [sp, #0xC] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x88] add r3, r3, r2 ldrsh r0, [r3] ldr r3, [sp, #0xC] sub r1, r3, #1 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x88] add r3, r3, r2 ldrsh r3, [r3] sub r1, r0, r3 ldr r3, [sp, #0x5C] mul r2, r1, r3 ldr r3, [sp, #8] mov r0, r2, asr r3 ldr r3, [sp, #0xC] sub r1, r3, #0xF mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 str r0, [r3] ; Line 838 b |$LN14@D_LPC_isf_@6| |$LN13@D_LPC_isf_@6| |$LN16@D_LPC_isf_@6| ; Line 841 mov r3, #0x10 str r3, [sp, #0xC] b |$LN12@D_LPC_isf_@6| |$LN11@D_LPC_isf_@6| ldr r3, [sp, #0xC] add r3, r3, #1 str r3, [sp, #0xC] |$LN12@D_LPC_isf_@6| ldr r3, [sp, #0xC] cmp r3, #0x13 bge |$LN10@D_LPC_isf_@6| ; Line 844 ldr r3, [sp, #0xC] sub r1, r3, #0xF mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r0, r3, r2 ldr r3, [sp, #0xC] sub r1, r3, #0x10 mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 ldr r2, [r0] ldr r3, [r3] add r3, r2, r3 sub r3, r3, #5, 24 str r3, [sp, #0x64] ; Line 846 ldr r3, [sp, #0x64] cmp r3, #0 bge |$LN9@D_LPC_isf_@6| ; Line 848 ldr r3, [sp, #0xC] sub r1, r3, #0xF mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r0, r3, r2 ldr r3, [sp, #0xC] sub r1, r3, #0x10 mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 ldr r2, [r0] ldr r3, [r3] cmp r2, r3 ble |$LN8@D_LPC_isf_@6| ; Line 850 ldr r3, [sp, #0xC] sub r1, r3, #0xF mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 ldr r3, [r3] rsb r0, r3, #5, 24 ldr r3, [sp, #0xC] sub r1, r3, #0x10 mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 str r0, [r3] ; Line 852 b |$LN7@D_LPC_isf_@6| |$LN8@D_LPC_isf_@6| ; Line 854 ldr r3, [sp, #0xC] sub r1, r3, #0x10 mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 ldr r3, [r3] rsb r0, r3, #5, 24 ldr r3, [sp, #0xC] sub r1, r3, #0xF mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 str r0, [r3] |$LN7@D_LPC_isf_@6| |$LN9@D_LPC_isf_@6| ; Line 857 b |$LN11@D_LPC_isf_@6| |$LN10@D_LPC_isf_@6| ; Line 859 mov r3, #0xF str r3, [sp, #0xC] b |$LN6@D_LPC_isf_@6| |$LN5@D_LPC_isf_@6| ldr r3, [sp, #0xC] add r3, r3, #1 str r3, [sp, #0xC] |$LN6@D_LPC_isf_@6| ldr r3, [sp, #0xC] cmp r3, #0x13 bge |$LN4@D_LPC_isf_@6| ; Line 861 ldr r3, [sp, #0xC] sub r1, r3, #1 mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x88] add r3, r3, r2 ldrsh r0, [r3] ldr r3, [sp, #0xC] sub r1, r3, #0xF mov r3, #4 mul r2, r1, r3 add r3, sp, #0x14 add r3, r3, r2 ldr r3, [r3] add r3, r0, r3 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r1, [sp, #0xC] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x88] add r3, r3, r2 strh r0, [r3] ; Line 862 b |$LN5@D_LPC_isf_@6| |$LN4@D_LPC_isf_@6| ; Line 864 mov r3, #0 str r3, [sp, #0xC] b |$LN3@D_LPC_isf_@6| |$LN2@D_LPC_isf_@6| ldr r3, [sp, #0xC] add r3, r3, #1 str r3, [sp, #0xC] |$LN3@D_LPC_isf_@6| ldr r3, [sp, #0xC] cmp r3, #0x13 bge |$LN1@D_LPC_isf_@6| ; Line 866 ldr r1, [sp, #0xC] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x88] add r3, r3, r2 ldrsh r2, [r3] mov r3, #0x33, 24 orr r3, r3, #0x33 mul r3, r2, r3 mov r3, r3, asr #14 mov r0, r3, lsl #16 mov r0, r0, asr #16 ldr r1, [sp, #0xC] mov r3, #2 mul r2, r1, r3 ldr r3, [sp, #0x88] add r3, r3, r2 strh r0, [r3] ; Line 868 b |$LN2@D_LPC_isf_@6| |$LN1@D_LPC_isf_@6| ; Line 870 mov r2, #0x14 ldr r1, [sp, #0x88] ldr r0, [sp, #0x88] bl D_LPC_isf_isp_conversion ; Line 873 add sp, sp, #0x80 ldmia sp, {sp, pc} |$LN55@D_LPC_isf_@6| DCD |__imp___rt_sdiv| |$M1705| ENDP ; |D_LPC_isf_extrapolation| END