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

3435 lines
81 KiB
NASM
Executable File

; Listing generated by Microsoft (R) Optimizing Compiler Version 14.00.50727
TTL d:\MyProject\VS2005\Tcpmp\tcpmp\amr\26204\dec_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