gps/GPSResources/tcpmp 0.73/ac3/Pocket PC 2003 (ARMV4)/Release/imdct.asm

3490 lines
82 KiB
NASM
Executable File

; Listing generated by Microsoft (R) Optimizing Compiler Version 14.00.50727
TTL d:\MyProject\VS2005\Tcpmp\tcpmp\ac3\liba52\imdct.c
CODE32
AREA |.drectve|, DRECTVE
DCB "/nodefaultlib:libc.lib "
DCB "/nodefaultlib:libcd.lib "
DCB "/nodefaultlib:oldnames.lib "
DCB "-defaultlib:LIBCMT "
DCB "-defaultlib:OLDNAMES "
AREA |.rdata|, DATA, READONLY
|fftorder| DCB 0x0
DCB 0x80
DCB 0x40
DCB 0xc0
DCB 0x20
DCB 0xa0
DCB 0xe0
DCB 0x60
DCB 0x10
DCB 0x90
DCB 0x50
DCB 0xd0
DCB 0xf0
DCB 0x70
DCB 0x30
DCB 0xb0
DCB 0x8
DCB 0x88
DCB 0x48
DCB 0xc8
DCB 0x28
DCB 0xa8
DCB 0xe8
DCB 0x68
DCB 0xf8
DCB 0x78
DCB 0x38
DCB 0xb8
DCB 0x18
DCB 0x98
DCB 0xd8
DCB 0x58
DCB 0x4
DCB 0x84
DCB 0x44
DCB 0xc4
DCB 0x24
DCB 0xa4
DCB 0xe4
DCB 0x64
DCB 0x14
DCB 0x94
DCB 0x54
DCB 0xd4
DCB 0xf4
DCB 0x74
DCB 0x34
DCB 0xb4
DCB 0xfc
DCB 0x7c
DCB 0x3c
DCB 0xbc
DCB 0x1c
DCB 0x9c
DCB 0xdc
DCB 0x5c
DCB 0xc
DCB 0x8c
DCB 0x4c
DCB 0xcc
DCB 0xec
DCB 0x6c
DCB 0x2c
DCB 0xac
DCB 0x2
DCB 0x82
DCB 0x42
DCB 0xc2
DCB 0x22
DCB 0xa2
DCB 0xe2
DCB 0x62
DCB 0x12
DCB 0x92
DCB 0x52
DCB 0xd2
DCB 0xf2
DCB 0x72
DCB 0x32
DCB 0xb2
DCB 0xa
DCB 0x8a
DCB 0x4a
DCB 0xca
DCB 0x2a
DCB 0xaa
DCB 0xea
DCB 0x6a
DCB 0xfa
DCB 0x7a
DCB 0x3a
DCB 0xba
DCB 0x1a
DCB 0x9a
DCB 0xda
DCB 0x5a
DCB 0xfe
DCB 0x7e
DCB 0x3e
DCB 0xbe
DCB 0x1e
DCB 0x9e
DCB 0xde
DCB 0x5e
DCB 0xe
DCB 0x8e
DCB 0x4e
DCB 0xce
DCB 0xee
DCB 0x6e
DCB 0x2e
DCB 0xae
DCB 0x6
DCB 0x86
DCB 0x46
DCB 0xc6
DCB 0x26
DCB 0xa6
DCB 0xe6
DCB 0x66
DCB 0xf6
DCB 0x76
DCB 0x36
DCB 0xb6
DCB 0x16
DCB 0x96
DCB 0xd6
DCB 0x56
EXPORT |a52_imdct_512|
AREA |.bss|, NOINIT
|post1| % 0x200
|pre1| % 0x400
|a52_imdct_window| % 0x400
AREA |.pdata|, PDATA
|$T1536| DCD |$LN26@a52_imdct_|
DCD 0x40018905
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|a52_imdct_512| PROC
; File d:\myproject\vs2005\tcpmp\tcpmp\ac3\liba52\imdct.c
; Line 257
|$LN26@a52_imdct_|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r12, lr}
ldr r12, [pc, #0x60C]
add sp, sp, r12
|$M1533|
; Line 260
ldr r3, [pc, #0x600]
str r3, [sp, #8]
; Line 263
mov r3, #0
str r3, [sp, #0xC]
b |$LN21@a52_imdct_|
|$LN20@a52_imdct_|
ldr r3, [sp, #0xC]
add r3, r3, #1
str r3, [sp, #0xC]
|$LN21@a52_imdct_|
ldr r3, [sp, #0xC]
cmp r3, #0x80
bge |$LN19@a52_imdct_|
; Line 264
ldr r2, [pc, #0x5D0]
ldr r3, [sp, #0xC]
add r3, r2, r3
ldrb r3, [r3]
str r3, [sp, #0x41C]
; Line 265
ldr r1, [sp, #0xC]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0x5AC]
add r3, r3, r2
ldr r3, [r3]
str r3, [sp, #0x10]
; Line 266
ldr r1, [sp, #0xC]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0x590]
add r3, r3, r2
add r3, r3, #4
ldr r3, [r3]
str r3, [sp, #0x418]
; Line 267
ldr r3, [sp, #0x41C]
rsb r1, r3, #0xFF
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x484]
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x418]
bl MUL
str r0, [sp, #0x42C]
ldr r1, [sp, #0x41C]
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x484]
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x10]
bl MUL
str r0, [sp, #0x430]
ldr r2, [sp, #0x42C]
ldr r3, [sp, #0x430]
add r0, r2, r3
ldr r1, [sp, #0xC]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x18
add r3, r3, r2
str r0, [r3]
ldr r3, [sp, #0x41C]
rsb r1, r3, #0xFF
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x484]
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x10]
bl MUL
str r0, [sp, #0x434]
ldr r1, [sp, #0x41C]
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x484]
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x418]
bl MUL
str r0, [sp, #0x438]
ldr r2, [sp, #0x434]
ldr r3, [sp, #0x438]
sub r0, r2, r3
ldr r1, [sp, #0xC]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x18
add r3, r3, r2
add r3, r3, #4
str r0, [r3]
; Line 268
b |$LN20@a52_imdct_|
|$LN19@a52_imdct_|
; Line 270
add r0, sp, #0x18
bl ifft128_c
; Line 274
mov r3, #0
str r3, [sp, #0xC]
b |$LN15@a52_imdct_|
|$LN14@a52_imdct_|
ldr r3, [sp, #0xC]
add r3, r3, #1
str r3, [sp, #0xC]
|$LN15@a52_imdct_|
ldr r3, [sp, #0xC]
cmp r3, #0x40
bge |$LN13@a52_imdct_|
; Line 276
ldr r1, [sp, #0xC]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0x458]
add r3, r3, r2
ldr r3, [r3]
str r3, [sp, #0x10]
; Line 277
ldr r1, [sp, #0xC]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0x43C]
add r3, r3, r2
add r3, r3, #4
ldr r3, [r3]
str r3, [sp, #0x418]
; Line 278
ldr r1, [sp, #0xC]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x18
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x10]
bl MUL
str r0, [sp, #0x43C]
ldr r1, [sp, #0xC]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x18
add r3, r3, r2
add r3, r3, #4
ldr r1, [r3]
ldr r0, [sp, #0x418]
bl MUL
str r0, [sp, #0x440]
ldr r2, [sp, #0x43C]
ldr r3, [sp, #0x440]
add r3, r2, r3
str r3, [sp, #4]
ldr r1, [sp, #0xC]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x18
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x418]
bl MUL
str r0, [sp, #0x444]
ldr r1, [sp, #0xC]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x18
add r3, r3, r2
add r3, r3, #4
ldr r1, [r3]
ldr r0, [sp, #0x10]
bl MUL
str r0, [sp, #0x448]
ldr r2, [sp, #0x444]
ldr r3, [sp, #0x448]
sub r3, r2, r3
str r3, [sp, #0x428]
; Line 279
ldr r3, [sp, #0xC]
rsb r1, r3, #0x7F
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x18
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x418]
bl MUL
str r0, [sp, #0x44C]
ldr r3, [sp, #0xC]
rsb r1, r3, #0x7F
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x18
add r3, r3, r2
add r3, r3, #4
ldr r1, [r3]
ldr r0, [sp, #0x10]
bl MUL
str r0, [sp, #0x450]
ldr r2, [sp, #0x44C]
ldr r3, [sp, #0x450]
add r3, r2, r3
str r3, [sp, #0x14]
ldr r3, [sp, #0xC]
rsb r1, r3, #0x7F
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x18
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x10]
bl MUL
str r0, [sp, #0x454]
ldr r3, [sp, #0xC]
rsb r1, r3, #0x7F
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x18
add r3, r3, r2
add r3, r3, #4
ldr r1, [r3]
ldr r0, [sp, #0x418]
bl MUL
str r0, [sp, #0x458]
ldr r2, [sp, #0x454]
ldr r3, [sp, #0x458]
sub r3, r2, r3
str r3, [sp, #0x424]
; Line 281
ldr r2, [sp, #0xC]
mov r3, #2
mul r1, r2, r3
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #8]
add r3, r3, r2
ldr r3, [r3]
str r3, [sp]
; Line 282
ldr r2, [sp, #0xC]
mov r3, #2
mul r3, r2, r3
rsb r1, r3, #0xFF
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #8]
add r3, r3, r2
ldr r3, [r3]
str r3, [sp, #0x420]
; Line 283
ldr r1, [sp]
ldr r2, [sp, #0xC]
mov r3, #2
mul r0, r2, r3
mov r3, #4
mul r2, r0, r3
ldr r3, [sp, #0x488]
add r3, r3, r2
ldr r0, [r3]
bl MUL
str r0, [sp, #0x45C]
ldr r1, [sp, #0x420]
ldr r0, [sp, #4]
bl MUL
str r0, [sp, #0x460]
ldr r2, [sp, #0x45C]
ldr r3, [sp, #0x460]
add r0, r2, r3
ldr r2, [sp, #0xC]
mov r3, #2
mul r3, r2, r3
rsb r1, r3, #0xFF
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x484]
add r3, r3, r2
str r0, [r3]
ldr r1, [sp, #0x420]
ldr r2, [sp, #0xC]
mov r3, #2
mul r0, r2, r3
mov r3, #4
mul r2, r0, r3
ldr r3, [sp, #0x488]
add r3, r3, r2
ldr r0, [r3]
bl MUL
str r0, [sp, #0x464]
ldr r1, [sp]
ldr r0, [sp, #4]
bl MUL
str r0, [sp, #0x468]
ldr r2, [sp, #0x464]
ldr r3, [sp, #0x468]
sub r0, r2, r3
ldr r2, [sp, #0xC]
mov r3, #2
mul r1, r2, r3
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x484]
add r3, r3, r2
str r0, [r3]
; Line 284
ldr r2, [sp, #0xC]
mov r3, #2
mul r1, r2, r3
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x488]
add r2, r3, r2
ldr r3, [sp, #0x428]
str r3, [r2]
; Line 286
ldr r2, [sp, #0xC]
mov r3, #2
mul r3, r2, r3
add r1, r3, #1
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #8]
add r3, r3, r2
ldr r3, [r3]
str r3, [sp]
; Line 287
ldr r2, [sp, #0xC]
mov r3, #2
mul r3, r2, r3
rsb r1, r3, #0xFE
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #8]
add r3, r3, r2
ldr r3, [r3]
str r3, [sp, #0x420]
; Line 288
ldr r1, [sp, #0x420]
ldr r2, [sp, #0xC]
mov r3, #2
mul r3, r2, r3
add r0, r3, #1
mov r3, #4
mul r2, r0, r3
ldr r3, [sp, #0x488]
add r3, r3, r2
ldr r0, [r3]
bl MUL
str r0, [sp, #0x46C]
ldr r1, [sp]
ldr r0, [sp, #0x14]
bl MUL
str r0, [sp, #0x470]
ldr r2, [sp, #0x46C]
ldr r3, [sp, #0x470]
add r0, r2, r3
ldr r2, [sp, #0xC]
mov r3, #2
mul r3, r2, r3
add r1, r3, #1
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x484]
add r3, r3, r2
str r0, [r3]
ldr r1, [sp]
ldr r2, [sp, #0xC]
mov r3, #2
mul r3, r2, r3
add r0, r3, #1
mov r3, #4
mul r2, r0, r3
ldr r3, [sp, #0x488]
add r3, r3, r2
ldr r0, [r3]
bl MUL
str r0, [sp, #0x474]
ldr r1, [sp, #0x420]
ldr r0, [sp, #0x14]
bl MUL
str r0, [sp, #0x478]
ldr r2, [sp, #0x474]
ldr r3, [sp, #0x478]
sub r0, r2, r3
ldr r2, [sp, #0xC]
mov r3, #2
mul r3, r2, r3
rsb r1, r3, #0xFE
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x484]
add r3, r3, r2
str r0, [r3]
; Line 289
ldr r2, [sp, #0xC]
mov r3, #2
mul r3, r2, r3
add r1, r3, #1
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x488]
add r2, r3, r2
ldr r3, [sp, #0x424]
str r3, [r2]
; Line 290
b |$LN14@a52_imdct_|
|$LN13@a52_imdct_|
; Line 291
mov r12, #1, 22
orr r12, r12, #0x7C
add sp, sp, r12
ldmia sp, {sp, pc}
|$LN27@a52_imdct_|
DCD |post1|
DCD |pre1|
DCD |fftorder|
DCD |a52_imdct_window|
DCD 0xfffffb84
|$M1534|
ENDP ; |a52_imdct_512|
AREA |.pdata|, PDATA
|$T1543| DCD |$LN5@MUL|
DCD 0x40002104
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|MUL| PROC
; File d:\myproject\vs2005\tcpmp\tcpmp\ac3\liba52\a52_internal.h
; Line 184
|$LN5@MUL|
mov r12, sp
stmdb sp!, {r0, r1}
stmdb sp!, {r12, lr}
sub sp, sp, #8
|$M1540|
; Line 186
ldr r2, [sp, #0x10]
mov r3, #0xFF, 24
orr r3, r3, #0xFF
and r2, r2, r3
ldr r3, [sp, #0x14]
mov r3, r3, asr #16
mul r0, r2, r3
ldr r3, [sp, #0x10]
mov r1, r3, asr #16
ldr r2, [sp, #0x14]
mov r3, #0xFF, 24
orr r3, r3, #0xFF
and r3, r2, r3
mul r3, r1, r3
add r3, r0, r3
str r3, [sp]
; Line 187
ldr r3, [sp]
mov r1, r3, asr #14
ldr r3, [sp, #0x10]
mov r2, r3, asr #16
ldr r3, [sp, #0x14]
mov r3, r3, asr #16
mul r3, r2, r3
mov r3, r3, lsl #2
add r3, r1, r3
str r3, [sp, #4]
; Line 188
ldr r0, [sp, #4]
add sp, sp, #8
ldmia sp, {sp, pc}
|$M1541|
ENDP ; |MUL|
AREA |.bss|, NOINIT
|roots128| % 0x7c
|roots64| % 0x3c
AREA |.pdata|, PDATA
|$T1548| DCD |$LN5@ifft128_c|
DCD 0x40001c03
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|ifft128_c| PROC
; File d:\myproject\vs2005\tcpmp\tcpmp\ac3\liba52\imdct.c
; Line 245
|$LN5@ifft128_c|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r12, lr}
|$M1545|
; Line 246
ldr r0, [sp, #8]
bl ifft32
; Line 247
ldr r3, [sp, #8]
add r0, r3, #1, 24
bl ifft16
; Line 248
ldr r3, [sp, #8]
add r0, r3, #6, 26
bl ifft16
; Line 249
mov r2, #0x10
ldr r1, [pc, #0x34]
ldr r0, [sp, #8]
bl ifft_pass
; Line 251
ldr r3, [sp, #8]
add r0, r3, #2, 24
bl ifft32
; Line 252
ldr r3, [sp, #8]
add r0, r3, #3, 24
bl ifft32
; Line 253
mov r2, #0x20
ldr r1, [pc, #8]
ldr r0, [sp, #8]
bl ifft_pass
; Line 254
ldmia sp, {sp, pc}
|$LN6@ifft128_c|
DCD |roots128|
DCD |roots64|
|$M1546|
ENDP ; |ifft128_c|
AREA |.pdata|, PDATA
|$T1554| DCD |$LN20@ifft_pass|
DCD 0x40014304
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|ifft_pass| PROC
; Line 193
|$LN20@ifft_pass|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r12, lr}
sub sp, sp, #0x50
|$M1551|
; Line 200
ldr r3, [sp, #0x58]
add r3, r3, #8
str r3, [sp, #0x58]
; Line 201
ldr r1, [sp, #0x60]
mov r3, #8
mul r2, r1, r3
ldr r3, [sp, #0x58]
add r3, r3, r2
str r3, [sp, #0x2C]
; Line 202
ldr r2, [sp, #0x60]
mov r3, #2
mul r1, r2, r3
mov r3, #8
mul r2, r1, r3
ldr r3, [sp, #0x58]
add r3, r3, r2
str r3, [sp, #0xC]
; Line 203
ldr r2, [sp, #0x60]
mov r3, #3
mul r1, r2, r3
mov r3, #8
mul r2, r1, r3
ldr r3, [sp, #0x58]
add r3, r3, r2
str r3, [sp, #0x18]
; Line 205
ldr r3, [sp, #0xC]
sub r2, r3, #8
ldr r3, [sp, #0x18]
sub r3, r3, #8
ldr r2, [r2]
ldr r3, [r3]
add r3, r2, r3
str r3, [sp, #0x20]
ldr r3, [sp, #0xC]
sub r2, r3, #4
ldr r3, [sp, #0x18]
sub r3, r3, #4
ldr r2, [r2]
ldr r3, [r3]
add r3, r2, r3
str r3, [sp, #0x14]
ldr r3, [sp, #0xC]
sub r2, r3, #4
ldr r3, [sp, #0x18]
sub r3, r3, #4
ldr r2, [r2]
ldr r3, [r3]
sub r3, r2, r3
str r3, [sp, #8]
ldr r3, [sp, #0x18]
sub r2, r3, #8
ldr r3, [sp, #0xC]
sub r3, r3, #8
ldr r2, [r2]
ldr r3, [r3]
sub r3, r2, r3
str r3, [sp, #0x28]
ldr r3, [sp, #0x58]
sub r3, r3, #8
ldr r2, [r3]
ldr r3, [sp, #0x20]
sub r2, r2, r3
ldr r3, [sp, #0xC]
sub r3, r3, #8
str r2, [r3]
ldr r3, [sp, #0x58]
sub r3, r3, #4
ldr r2, [r3]
ldr r3, [sp, #0x14]
sub r2, r2, r3
ldr r3, [sp, #0xC]
sub r3, r3, #4
str r2, [r3]
ldr r3, [sp, #0x2C]
sub r3, r3, #8
ldr r2, [r3]
ldr r3, [sp, #8]
sub r2, r2, r3
ldr r3, [sp, #0x18]
sub r3, r3, #8
str r2, [r3]
ldr r3, [sp, #0x2C]
sub r3, r3, #4
ldr r2, [r3]
ldr r3, [sp, #0x28]
sub r2, r2, r3
ldr r3, [sp, #0x18]
sub r3, r3, #4
str r2, [r3]
ldr r3, [sp, #0x58]
sub r3, r3, #8
ldr r2, [r3]
ldr r3, [sp, #0x20]
add r2, r2, r3
ldr r3, [sp, #0x58]
sub r3, r3, #8
str r2, [r3]
ldr r3, [sp, #0x58]
sub r3, r3, #4
ldr r2, [r3]
ldr r3, [sp, #0x14]
add r2, r2, r3
ldr r3, [sp, #0x58]
sub r3, r3, #4
str r2, [r3]
ldr r3, [sp, #0x2C]
sub r3, r3, #8
ldr r2, [r3]
ldr r3, [sp, #8]
add r2, r2, r3
ldr r3, [sp, #0x2C]
sub r3, r3, #8
str r2, [r3]
ldr r3, [sp, #0x2C]
sub r3, r3, #4
ldr r2, [r3]
ldr r3, [sp, #0x28]
add r2, r2, r3
ldr r3, [sp, #0x2C]
sub r3, r3, #4
str r2, [r3]
; Line 207
ldr r3, [sp, #0x60]
sub r3, r3, #1
str r3, [sp]
|$LN12@ifft_pass|
; Line 211
ldr r3, [sp, #0xC]
add r3, r3, #4
ldr r1, [r3]
ldr r0, [sp]
mov r3, #2
mul r2, r0, r3
ldr r3, [sp, #0x60]
sub r0, r2, r3
mov r3, #4
mul r2, r0, r3
ldr r3, [sp, #0x5C]
add r3, r3, r2
ldr r0, [r3]
bl MUL
str r0, [sp, #0x30]
ldr r3, [sp, #0xC]
ldr r1, [r3]
ldr r3, [sp, #0x5C]
ldr r0, [r3]
bl MUL
str r0, [sp, #0x34]
ldr r2, [sp, #0x30]
ldr r3, [sp, #0x34]
add r3, r2, r3
str r3, [sp, #0x1C]
ldr r3, [sp, #0xC]
add r3, r3, #4
ldr r1, [r3]
ldr r3, [sp, #0x5C]
ldr r0, [r3]
bl MUL
str r0, [sp, #0x38]
ldr r3, [sp, #0xC]
ldr r1, [r3]
ldr r0, [sp]
mov r3, #2
mul r2, r0, r3
ldr r3, [sp, #0x60]
sub r0, r2, r3
mov r3, #4
mul r2, r0, r3
ldr r3, [sp, #0x5C]
add r3, r3, r2
ldr r0, [r3]
bl MUL
str r0, [sp, #0x3C]
ldr r2, [sp, #0x38]
ldr r3, [sp, #0x3C]
sub r3, r2, r3
str r3, [sp, #0x10]
ldr r3, [sp, #0x18]
ldr r1, [r3]
ldr r0, [sp]
mov r3, #2
mul r2, r0, r3
ldr r3, [sp, #0x60]
sub r0, r2, r3
mov r3, #4
mul r2, r0, r3
ldr r3, [sp, #0x5C]
add r3, r3, r2
ldr r0, [r3]
bl MUL
str r0, [sp, #0x40]
ldr r3, [sp, #0x18]
add r3, r3, #4
ldr r1, [r3]
ldr r3, [sp, #0x5C]
ldr r0, [r3]
bl MUL
str r0, [sp, #0x44]
ldr r2, [sp, #0x40]
ldr r3, [sp, #0x44]
add r3, r2, r3
str r3, [sp, #0x24]
ldr r3, [sp, #0x18]
ldr r1, [r3]
ldr r3, [sp, #0x5C]
ldr r0, [r3]
bl MUL
str r0, [sp, #0x48]
ldr r3, [sp, #0x18]
add r3, r3, #4
ldr r1, [r3]
ldr r0, [sp]
mov r3, #2
mul r2, r0, r3
ldr r3, [sp, #0x60]
sub r0, r2, r3
mov r3, #4
mul r2, r0, r3
ldr r3, [sp, #0x5C]
add r3, r3, r2
ldr r0, [r3]
bl MUL
str r0, [sp, #0x4C]
ldr r2, [sp, #0x48]
ldr r3, [sp, #0x4C]
sub r3, r2, r3
str r3, [sp, #4]
ldr r2, [sp, #0x1C]
ldr r3, [sp, #4]
add r3, r2, r3
str r3, [sp, #0x20]
ldr r2, [sp, #0x10]
ldr r3, [sp, #0x24]
add r3, r2, r3
str r3, [sp, #0x14]
ldr r2, [sp, #0x10]
ldr r3, [sp, #0x24]
sub r3, r2, r3
str r3, [sp, #8]
ldr r2, [sp, #4]
ldr r3, [sp, #0x1C]
sub r3, r2, r3
str r3, [sp, #0x28]
ldr r3, [sp, #0x58]
ldr r2, [r3]
ldr r3, [sp, #0x20]
sub r2, r2, r3
ldr r3, [sp, #0xC]
str r2, [r3]
ldr r3, [sp, #0x58]
add r3, r3, #4
ldr r2, [r3]
ldr r3, [sp, #0x14]
sub r2, r2, r3
ldr r3, [sp, #0xC]
add r3, r3, #4
str r2, [r3]
ldr r3, [sp, #0x2C]
ldr r2, [r3]
ldr r3, [sp, #8]
sub r2, r2, r3
ldr r3, [sp, #0x18]
str r2, [r3]
ldr r3, [sp, #0x2C]
add r3, r3, #4
ldr r2, [r3]
ldr r3, [sp, #0x28]
sub r2, r2, r3
ldr r3, [sp, #0x18]
add r3, r3, #4
str r2, [r3]
ldr r3, [sp, #0x58]
ldr r2, [r3]
ldr r3, [sp, #0x20]
add r2, r2, r3
ldr r3, [sp, #0x58]
str r2, [r3]
ldr r3, [sp, #0x58]
add r3, r3, #4
ldr r2, [r3]
ldr r3, [sp, #0x14]
add r2, r2, r3
ldr r3, [sp, #0x58]
add r3, r3, #4
str r2, [r3]
ldr r3, [sp, #0x2C]
ldr r2, [r3]
ldr r3, [sp, #8]
add r2, r2, r3
ldr r3, [sp, #0x2C]
str r2, [r3]
ldr r3, [sp, #0x2C]
add r3, r3, #4
ldr r2, [r3]
ldr r3, [sp, #0x28]
add r2, r2, r3
ldr r3, [sp, #0x2C]
add r3, r3, #4
str r2, [r3]
; Line 212
ldr r3, [sp, #0x58]
add r3, r3, #8
str r3, [sp, #0x58]
; Line 213
ldr r3, [sp, #0x2C]
add r3, r3, #8
str r3, [sp, #0x2C]
; Line 214
ldr r3, [sp, #0xC]
add r3, r3, #8
str r3, [sp, #0xC]
; Line 215
ldr r3, [sp, #0x18]
add r3, r3, #8
str r3, [sp, #0x18]
; Line 216
ldr r3, [sp, #0x5C]
add r3, r3, #4
str r3, [sp, #0x5C]
; Line 217
ldr r3, [sp]
sub r3, r3, #1
str r3, [sp]
ldr r3, [sp]
cmp r3, #0
bne |$LN12@ifft_pass|
; Line 218
add sp, sp, #0x50
ldmia sp, {sp, pc}
|$M1552|
ENDP ; |ifft_pass|
AREA |.bss|, NOINIT
|roots16| % 0xc
AREA |.pdata|, PDATA
|$T1559| DCD |$LN5@ifft16|
DCD 0x40001103
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|ifft16| PROC
; Line 221
|$LN5@ifft16|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r12, lr}
|$M1556|
; Line 222
ldr r0, [sp, #8]
bl ifft8
; Line 223
ldr r3, [sp, #8]
add r0, r3, #0x40
bl ifft4
; Line 224
ldr r3, [sp, #8]
add r0, r3, #0x60
bl ifft4
; Line 225
mov r2, #4
ldr r1, [pc, #8]
ldr r0, [sp, #8]
bl ifft_pass
; Line 226
ldmia sp, {sp, pc}
|$LN6@ifft16|
DCD |roots16|
|$M1557|
ENDP ; |ifft16|
AREA |.pdata|, PDATA
|$T1565| DCD |$LN5@ifft4|
DCD 0x40007304
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|ifft4| PROC
; Line 88
|$LN5@ifft4|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r12, lr}
sub sp, sp, #0x20
|$M1562|
; Line 91
ldr r3, [sp, #0x28]
add r1, r3, #8
ldr r3, [sp, #0x28]
ldr r2, [r3]
ldr r3, [r1]
add r3, r2, r3
str r3, [sp, #0x14]
; Line 92
ldr r3, [sp, #0x28]
add r2, r3, #0x18
ldr r3, [sp, #0x28]
add r3, r3, #0x10
ldr r2, [r2]
ldr r3, [r3]
add r3, r2, r3
str r3, [sp, #0xC]
; Line 93
ldr r3, [sp, #0x28]
add r2, r3, #4
ldr r3, [sp, #0x28]
add r3, r3, #0xC
ldr r2, [r2]
ldr r3, [r3]
add r3, r2, r3
str r3, [sp, #4]
; Line 94
ldr r3, [sp, #0x28]
add r2, r3, #0x14
ldr r3, [sp, #0x28]
add r3, r3, #0x1C
ldr r2, [r2]
ldr r3, [r3]
add r3, r2, r3
str r3, [sp, #0x1C]
; Line 95
ldr r3, [sp, #0x28]
add r1, r3, #8
ldr r3, [sp, #0x28]
ldr r2, [r3]
ldr r3, [r1]
sub r3, r2, r3
str r3, [sp, #0x10]
; Line 96
ldr r3, [sp, #0x28]
add r2, r3, #4
ldr r3, [sp, #0x28]
add r3, r3, #0xC
ldr r2, [r2]
ldr r3, [r3]
sub r3, r2, r3
str r3, [sp, #8]
; Line 97
ldr r3, [sp, #0x28]
add r2, r3, #0x14
ldr r3, [sp, #0x28]
add r3, r3, #0x1C
ldr r2, [r2]
ldr r3, [r3]
sub r3, r2, r3
str r3, [sp]
; Line 98
ldr r3, [sp, #0x28]
add r2, r3, #0x18
ldr r3, [sp, #0x28]
add r3, r3, #0x10
ldr r2, [r2]
ldr r3, [r3]
sub r3, r2, r3
str r3, [sp, #0x18]
; Line 100
ldr r2, [sp, #0x14]
ldr r3, [sp, #0xC]
add r2, r2, r3
ldr r3, [sp, #0x28]
str r2, [r3]
; Line 101
ldr r2, [sp, #4]
ldr r3, [sp, #0x1C]
add r2, r2, r3
ldr r3, [sp, #0x28]
add r3, r3, #4
str r2, [r3]
; Line 102
ldr r2, [sp, #0x14]
ldr r3, [sp, #0xC]
sub r2, r2, r3
ldr r3, [sp, #0x28]
add r3, r3, #0x10
str r2, [r3]
; Line 103
ldr r2, [sp, #4]
ldr r3, [sp, #0x1C]
sub r2, r2, r3
ldr r3, [sp, #0x28]
add r3, r3, #0x14
str r2, [r3]
; Line 104
ldr r2, [sp, #0x10]
ldr r3, [sp]
add r2, r2, r3
ldr r3, [sp, #0x28]
add r3, r3, #8
str r2, [r3]
; Line 105
ldr r2, [sp, #8]
ldr r3, [sp, #0x18]
add r2, r2, r3
ldr r3, [sp, #0x28]
add r3, r3, #0xC
str r2, [r3]
; Line 106
ldr r2, [sp, #0x10]
ldr r3, [sp]
sub r2, r2, r3
ldr r3, [sp, #0x28]
add r3, r3, #0x18
str r2, [r3]
; Line 107
ldr r2, [sp, #8]
ldr r3, [sp, #0x18]
sub r2, r2, r3
ldr r3, [sp, #0x28]
add r3, r3, #0x1C
str r2, [r3]
; Line 108
add sp, sp, #0x20
ldmia sp, {sp, pc}
|$M1563|
ENDP ; |ifft4|
AREA |.pdata|, PDATA
|$T1570| DCD |$LN11@ifft8|
DCD 0x4000f004
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|ifft8| PROC
; Line 182
|$LN11@ifft8|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r12, lr}
sub sp, sp, #0x30
|$M1567|
; Line 185
ldr r0, [sp, #0x38]
bl ifft4
; Line 186
ldr r3, [sp, #0x38]
add r0, r3, #0x20
bl ifft2
; Line 187
ldr r3, [sp, #0x38]
add r0, r3, #0x30
bl ifft2
; Line 188
ldr r3, [sp, #0x38]
add r2, r3, #0x20
ldr r3, [sp, #0x38]
add r3, r3, #0x30
ldr r2, [r2]
ldr r3, [r3]
add r3, r2, r3
str r3, [sp, #0x14]
ldr r3, [sp, #0x38]
add r2, r3, #0x24
ldr r3, [sp, #0x38]
add r3, r3, #0x34
ldr r2, [r2]
ldr r3, [r3]
add r3, r2, r3
str r3, [sp, #0xC]
ldr r3, [sp, #0x38]
add r2, r3, #0x24
ldr r3, [sp, #0x38]
add r3, r3, #0x34
ldr r2, [r2]
ldr r3, [r3]
sub r3, r2, r3
str r3, [sp, #4]
ldr r3, [sp, #0x38]
add r2, r3, #0x30
ldr r3, [sp, #0x38]
add r3, r3, #0x20
ldr r2, [r2]
ldr r3, [r3]
sub r3, r2, r3
str r3, [sp, #0x1C]
ldr r3, [sp, #0x38]
ldr r2, [r3]
ldr r3, [sp, #0x14]
sub r2, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #0x20
str r2, [r3]
ldr r3, [sp, #0x38]
add r3, r3, #4
ldr r2, [r3]
ldr r3, [sp, #0xC]
sub r2, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #0x24
str r2, [r3]
ldr r3, [sp, #0x38]
add r3, r3, #0x10
ldr r2, [r3]
ldr r3, [sp, #4]
sub r2, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #0x30
str r2, [r3]
ldr r3, [sp, #0x38]
add r3, r3, #0x14
ldr r2, [r3]
ldr r3, [sp, #0x1C]
sub r2, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #0x34
str r2, [r3]
ldr r3, [sp, #0x38]
ldr r2, [r3]
ldr r3, [sp, #0x14]
add r2, r2, r3
ldr r3, [sp, #0x38]
str r2, [r3]
ldr r3, [sp, #0x38]
add r3, r3, #4
ldr r2, [r3]
ldr r3, [sp, #0xC]
add r2, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #4
str r2, [r3]
ldr r3, [sp, #0x38]
add r3, r3, #0x10
ldr r2, [r3]
ldr r3, [sp, #4]
add r2, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #0x10
str r2, [r3]
ldr r3, [sp, #0x38]
add r3, r3, #0x14
ldr r2, [r3]
ldr r3, [sp, #0x1C]
add r2, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #0x14
str r2, [r3]
; Line 189
ldr r3, [pc, #0x210]
ldr r1, [r3, #4]
ldr r3, [sp, #0x38]
add r2, r3, #0x28
ldr r3, [sp, #0x38]
add r3, r3, #0x2C
ldr r2, [r2]
ldr r3, [r3]
add r0, r2, r3
bl MUL
str r0, [sp, #0x20]
ldr r3, [sp, #0x20]
str r3, [sp, #0x10]
ldr r3, [pc, #0x1DC]
ldr r1, [r3, #4]
ldr r3, [sp, #0x38]
add r2, r3, #0x2C
ldr r3, [sp, #0x38]
add r3, r3, #0x28
ldr r2, [r2]
ldr r3, [r3]
sub r0, r2, r3
bl MUL
str r0, [sp, #0x24]
ldr r3, [sp, #0x24]
str r3, [sp, #8]
ldr r3, [pc, #0x1A8]
ldr r1, [r3, #4]
ldr r3, [sp, #0x38]
add r2, r3, #0x38
ldr r3, [sp, #0x38]
add r3, r3, #0x3C
ldr r2, [r2]
ldr r3, [r3]
sub r0, r2, r3
bl MUL
str r0, [sp, #0x28]
ldr r3, [sp, #0x28]
str r3, [sp]
ldr r3, [pc, #0x174]
ldr r1, [r3, #4]
ldr r3, [sp, #0x38]
add r2, r3, #0x3C
ldr r3, [sp, #0x38]
add r3, r3, #0x38
ldr r2, [r2]
ldr r3, [r3]
add r0, r2, r3
bl MUL
str r0, [sp, #0x2C]
ldr r3, [sp, #0x2C]
str r3, [sp, #0x18]
ldr r2, [sp, #0x10]
ldr r3, [sp]
add r3, r2, r3
str r3, [sp, #0x14]
ldr r2, [sp, #8]
ldr r3, [sp, #0x18]
add r3, r2, r3
str r3, [sp, #0xC]
ldr r2, [sp, #8]
ldr r3, [sp, #0x18]
sub r3, r2, r3
str r3, [sp, #4]
ldr r2, [sp]
ldr r3, [sp, #0x10]
sub r3, r2, r3
str r3, [sp, #0x1C]
ldr r3, [sp, #0x38]
add r3, r3, #8
ldr r2, [r3]
ldr r3, [sp, #0x14]
sub r2, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #0x28
str r2, [r3]
ldr r3, [sp, #0x38]
add r3, r3, #0xC
ldr r2, [r3]
ldr r3, [sp, #0xC]
sub r2, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #0x2C
str r2, [r3]
ldr r3, [sp, #0x38]
add r3, r3, #0x18
ldr r2, [r3]
ldr r3, [sp, #4]
sub r2, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #0x38
str r2, [r3]
ldr r3, [sp, #0x38]
add r3, r3, #0x1C
ldr r2, [r3]
ldr r3, [sp, #0x1C]
sub r2, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #0x3C
str r2, [r3]
ldr r3, [sp, #0x38]
add r3, r3, #8
ldr r2, [r3]
ldr r3, [sp, #0x14]
add r2, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #8
str r2, [r3]
ldr r3, [sp, #0x38]
add r3, r3, #0xC
ldr r2, [r3]
ldr r3, [sp, #0xC]
add r2, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #0xC
str r2, [r3]
ldr r3, [sp, #0x38]
add r3, r3, #0x18
ldr r2, [r3]
ldr r3, [sp, #4]
add r2, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #0x18
str r2, [r3]
ldr r3, [sp, #0x38]
add r3, r3, #0x1C
ldr r2, [r3]
ldr r3, [sp, #0x1C]
add r2, r2, r3
ldr r3, [sp, #0x38]
add r3, r3, #0x1C
str r2, [r3]
; Line 190
add sp, sp, #0x30
ldmia sp, {sp, pc}
|$LN12@ifft8|
DCD |roots16|
|$M1568|
ENDP ; |ifft8|
AREA |.pdata|, PDATA
|$T1576| DCD |$LN5@ifft2|
DCD 0x40002f04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|ifft2| PROC
; Line 76
|$LN5@ifft2|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r12, lr}
sub sp, sp, #8
|$M1573|
; Line 79
ldr r3, [sp, #0x10]
ldr r3, [r3]
str r3, [sp, #4]
; Line 80
ldr r3, [sp, #0x10]
add r3, r3, #4
ldr r3, [r3]
str r3, [sp]
; Line 81
ldr r3, [sp, #0x10]
add r1, r3, #8
ldr r3, [sp, #0x10]
ldr r2, [r3]
ldr r3, [r1]
add r2, r2, r3
ldr r3, [sp, #0x10]
str r2, [r3]
; Line 82
ldr r3, [sp, #0x10]
add r2, r3, #4
ldr r3, [sp, #0x10]
add r3, r3, #0xC
ldr r2, [r2]
ldr r3, [r3]
add r2, r2, r3
ldr r3, [sp, #0x10]
add r3, r3, #4
str r2, [r3]
; Line 83
ldr r3, [sp, #0x10]
add r3, r3, #8
ldr r2, [sp, #4]
ldr r3, [r3]
sub r2, r2, r3
ldr r3, [sp, #0x10]
add r3, r3, #8
str r2, [r3]
; Line 84
ldr r3, [sp, #0x10]
add r3, r3, #0xC
ldr r2, [sp]
ldr r3, [r3]
sub r2, r2, r3
ldr r3, [sp, #0x10]
add r3, r3, #0xC
str r2, [r3]
; Line 85
add sp, sp, #8
ldmia sp, {sp, pc}
|$M1574|
ENDP ; |ifft2|
AREA |.bss|, NOINIT
|roots32| % 0x1c
AREA |.pdata|, PDATA
|$T1581| DCD |$LN5@ifft32|
DCD 0x40001103
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|ifft32| PROC
; Line 229
|$LN5@ifft32|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r12, lr}
|$M1578|
; Line 230
ldr r0, [sp, #8]
bl ifft16
; Line 231
ldr r3, [sp, #8]
add r0, r3, #0x80
bl ifft8
; Line 232
ldr r3, [sp, #8]
add r0, r3, #0xC0
bl ifft8
; Line 233
mov r2, #8
ldr r1, [pc, #8]
ldr r0, [sp, #8]
bl ifft_pass
; Line 234
ldmia sp, {sp, pc}
|$LN6@ifft32|
DCD |roots32|
|$M1579|
ENDP ; |ifft32|
EXPORT |a52_imdct_256|
AREA |.bss|, NOINIT
|post2| % 0x100
|pre2| % 0x200
AREA |.pdata|, PDATA
|$T1587| DCD |$LN41@a52_imdct_@2|
DCD 0x4002d205
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|a52_imdct_256| PROC
; Line 294
|$LN41@a52_imdct_@2|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r12, lr}
ldr r12, [pc, #0xB30]
add sp, sp, r12
|$M1584|
; Line 297
ldr r3, [pc, #0xB24]
str r3, [sp, #0xC]
; Line 301
mov r3, #0
str r3, [sp, #0x210]
b |$LN36@a52_imdct_@2|
|$LN35@a52_imdct_@2|
ldr r3, [sp, #0x210]
add r3, r3, #1
str r3, [sp, #0x210]
|$LN36@a52_imdct_@2|
ldr r3, [sp, #0x210]
cmp r3, #0x40
bge |$LN34@a52_imdct_@2|
; Line 302
ldr r2, [pc, #0xAF4]
ldr r3, [sp, #0x210]
add r3, r2, r3
ldrb r3, [r3]
str r3, [sp, #0x22C]
; Line 303
ldr r1, [sp, #0x210]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0xAD0]
add r3, r3, r2
ldr r3, [r3]
str r3, [sp, #0x214]
; Line 304
ldr r1, [sp, #0x210]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0xAB4]
add r3, r3, r2
add r3, r3, #4
ldr r3, [r3]
str r3, [sp, #0x228]
; Line 305
ldr r3, [sp, #0x22C]
rsb r1, r3, #0xFE
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E4]
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x228]
bl MUL
str r0, [sp, #0x43C]
ldr r1, [sp, #0x22C]
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E4]
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x214]
bl MUL
str r0, [sp, #0x440]
ldr r2, [sp, #0x43C]
ldr r3, [sp, #0x440]
add r0, r2, r3
ldr r1, [sp, #0x210]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x8F, 30
add r3, r3, r2
str r0, [r3]
ldr r3, [sp, #0x22C]
rsb r1, r3, #0xFE
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E4]
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x214]
bl MUL
str r0, [sp, #0x444]
ldr r1, [sp, #0x22C]
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E4]
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x228]
bl MUL
str r0, [sp, #0x448]
ldr r2, [sp, #0x444]
ldr r3, [sp, #0x448]
sub r0, r2, r3
ldr r1, [sp, #0x210]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x8F, 30
add r3, r3, r2
add r3, r3, #4
str r0, [r3]
; Line 306
ldr r3, [sp, #0x22C]
rsb r1, r3, #0xFF
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E4]
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x228]
bl MUL
str r0, [sp, #0x44C]
ldr r3, [sp, #0x22C]
add r1, r3, #1
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E4]
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x214]
bl MUL
str r0, [sp, #0x450]
ldr r2, [sp, #0x44C]
ldr r3, [sp, #0x450]
add r0, r2, r3
ldr r1, [sp, #0x210]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x10
add r3, r3, r2
str r0, [r3]
ldr r3, [sp, #0x22C]
rsb r1, r3, #0xFF
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E4]
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x214]
bl MUL
str r0, [sp, #0x454]
ldr r3, [sp, #0x22C]
add r1, r3, #1
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E4]
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x228]
bl MUL
str r0, [sp, #0x458]
ldr r2, [sp, #0x454]
ldr r3, [sp, #0x458]
sub r0, r2, r3
ldr r1, [sp, #0x210]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x10
add r3, r3, r2
add r3, r3, #4
str r0, [r3]
; Line 307
b |$LN35@a52_imdct_@2|
|$LN34@a52_imdct_@2|
; Line 309
add r0, sp, #0x8F, 30
bl ifft64_c
; Line 310
add r0, sp, #0x10
bl ifft64_c
; Line 314
mov r3, #0
str r3, [sp, #0x210]
b |$LN27@a52_imdct_@2|
|$LN26@a52_imdct_@2|
ldr r3, [sp, #0x210]
add r3, r3, #1
str r3, [sp, #0x210]
|$LN27@a52_imdct_@2|
ldr r3, [sp, #0x210]
cmp r3, #0x20
bge |$LN25@a52_imdct_@2|
; Line 316
ldr r1, [sp, #0x210]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0x888]
add r3, r3, r2
ldr r3, [r3]
str r3, [sp, #0x214]
; Line 317
ldr r1, [sp, #0x210]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0x86C]
add r3, r3, r2
add r3, r3, #4
ldr r3, [r3]
str r3, [sp, #0x228]
; Line 318
ldr r1, [sp, #0x210]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x8F, 30
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x214]
bl MUL
str r0, [sp, #0x45C]
ldr r1, [sp, #0x210]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x8F, 30
add r3, r3, r2
add r3, r3, #4
ldr r1, [r3]
ldr r0, [sp, #0x228]
bl MUL
str r0, [sp, #0x460]
ldr r2, [sp, #0x45C]
ldr r3, [sp, #0x460]
add r3, r2, r3
str r3, [sp, #8]
ldr r1, [sp, #0x210]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x8F, 30
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x228]
bl MUL
str r0, [sp, #0x464]
ldr r1, [sp, #0x210]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x8F, 30
add r3, r3, r2
add r3, r3, #4
ldr r1, [r3]
ldr r0, [sp, #0x214]
bl MUL
str r0, [sp, #0x468]
ldr r2, [sp, #0x464]
ldr r3, [sp, #0x468]
sub r3, r2, r3
str r3, [sp, #0x238]
; Line 319
ldr r3, [sp, #0x210]
rsb r1, r3, #0x3F
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x8F, 30
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x228]
bl MUL
str r0, [sp, #0x46C]
ldr r3, [sp, #0x210]
rsb r1, r3, #0x3F
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x8F, 30
add r3, r3, r2
add r3, r3, #4
ldr r1, [r3]
ldr r0, [sp, #0x214]
bl MUL
str r0, [sp, #0x470]
ldr r2, [sp, #0x46C]
ldr r3, [sp, #0x470]
add r3, r2, r3
str r3, [sp, #0x21C]
ldr r3, [sp, #0x210]
rsb r1, r3, #0x3F
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x8F, 30
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x214]
bl MUL
str r0, [sp, #0x474]
ldr r3, [sp, #0x210]
rsb r1, r3, #0x3F
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x8F, 30
add r3, r3, r2
add r3, r3, #4
ldr r1, [r3]
ldr r0, [sp, #0x228]
bl MUL
str r0, [sp, #0x478]
ldr r2, [sp, #0x474]
ldr r3, [sp, #0x478]
sub r3, r2, r3
str r3, [sp, #0x234]
; Line 320
ldr r1, [sp, #0x210]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x10
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x214]
bl MUL
str r0, [sp, #0x47C]
ldr r1, [sp, #0x210]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x10
add r3, r3, r2
add r3, r3, #4
ldr r1, [r3]
ldr r0, [sp, #0x228]
bl MUL
str r0, [sp, #0x480]
ldr r2, [sp, #0x47C]
ldr r3, [sp, #0x480]
add r3, r2, r3
str r3, [sp, #4]
ldr r1, [sp, #0x210]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x10
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x228]
bl MUL
str r0, [sp, #0x484]
ldr r1, [sp, #0x210]
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x10
add r3, r3, r2
add r3, r3, #4
ldr r1, [r3]
ldr r0, [sp, #0x214]
bl MUL
str r0, [sp, #0x488]
ldr r2, [sp, #0x484]
ldr r3, [sp, #0x488]
sub r3, r2, r3
str r3, [sp, #0x224]
; Line 321
ldr r3, [sp, #0x210]
rsb r1, r3, #0x3F
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x10
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x228]
bl MUL
str r0, [sp, #0x48C]
ldr r3, [sp, #0x210]
rsb r1, r3, #0x3F
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x10
add r3, r3, r2
add r3, r3, #4
ldr r1, [r3]
ldr r0, [sp, #0x214]
bl MUL
str r0, [sp, #0x490]
ldr r2, [sp, #0x48C]
ldr r3, [sp, #0x490]
add r3, r2, r3
str r3, [sp, #0x220]
ldr r3, [sp, #0x210]
rsb r1, r3, #0x3F
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x10
add r3, r3, r2
ldr r1, [r3]
ldr r0, [sp, #0x214]
bl MUL
str r0, [sp, #0x494]
ldr r3, [sp, #0x210]
rsb r1, r3, #0x3F
mov r3, #8
mul r2, r1, r3
add r3, sp, #0x10
add r3, r3, r2
add r3, r3, #4
ldr r1, [r3]
ldr r0, [sp, #0x228]
bl MUL
str r0, [sp, #0x498]
ldr r2, [sp, #0x494]
ldr r3, [sp, #0x498]
sub r3, r2, r3
str r3, [sp, #0x218]
; Line 323
ldr r2, [sp, #0x210]
mov r3, #2
mul r1, r2, r3
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0xC]
add r3, r3, r2
ldr r3, [r3]
str r3, [sp]
; Line 324
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
rsb r1, r3, #0xFF
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0xC]
add r3, r3, r2
ldr r3, [r3]
str r3, [sp, #0x230]
; Line 325
ldr r1, [sp]
ldr r2, [sp, #0x210]
mov r3, #2
mul r0, r2, r3
mov r3, #4
mul r2, r0, r3
ldr r3, [sp, #0x4E8]
add r3, r3, r2
ldr r0, [r3]
bl MUL
str r0, [sp, #0x49C]
ldr r1, [sp, #0x230]
ldr r0, [sp, #8]
bl MUL
str r0, [sp, #0x4A0]
ldr r2, [sp, #0x49C]
ldr r3, [sp, #0x4A0]
add r0, r2, r3
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
rsb r1, r3, #0xFF
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E4]
add r3, r3, r2
str r0, [r3]
ldr r1, [sp, #0x230]
ldr r2, [sp, #0x210]
mov r3, #2
mul r0, r2, r3
mov r3, #4
mul r2, r0, r3
ldr r3, [sp, #0x4E8]
add r3, r3, r2
ldr r0, [r3]
bl MUL
str r0, [sp, #0x4A4]
ldr r1, [sp]
ldr r0, [sp, #8]
bl MUL
str r0, [sp, #0x4A8]
ldr r2, [sp, #0x4A4]
ldr r3, [sp, #0x4A8]
sub r0, r2, r3
ldr r2, [sp, #0x210]
mov r3, #2
mul r1, r2, r3
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E4]
add r3, r3, r2
str r0, [r3]
; Line 326
ldr r2, [sp, #0x210]
mov r3, #2
mul r1, r2, r3
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E8]
add r2, r3, r2
ldr r3, [sp, #0x224]
str r3, [r2]
; Line 328
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
add r1, r3, #0x80
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0xC]
add r3, r3, r2
ldr r3, [r3]
str r3, [sp]
; Line 329
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
rsb r1, r3, #0x7F
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0xC]
add r3, r3, r2
ldr r3, [r3]
str r3, [sp, #0x230]
; Line 330
ldr r1, [sp, #0x230]
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
rsb r0, r3, #0x7F
mov r3, #4
mul r2, r0, r3
ldr r3, [sp, #0x4E8]
add r3, r3, r2
ldr r0, [r3]
bl MUL
str r0, [sp, #0x4AC]
ldr r1, [sp]
ldr r0, [sp, #0x238]
bl MUL
str r0, [sp, #0x4B0]
ldr r2, [sp, #0x4AC]
ldr r3, [sp, #0x4B0]
add r0, r2, r3
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
add r1, r3, #0x80
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E4]
add r3, r3, r2
str r0, [r3]
ldr r1, [sp]
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
rsb r0, r3, #0x7F
mov r3, #4
mul r2, r0, r3
ldr r3, [sp, #0x4E8]
add r3, r3, r2
ldr r0, [r3]
bl MUL
str r0, [sp, #0x4B4]
ldr r1, [sp, #0x230]
ldr r0, [sp, #0x238]
bl MUL
str r0, [sp, #0x4B8]
ldr r2, [sp, #0x4B4]
ldr r3, [sp, #0x4B8]
sub r0, r2, r3
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
rsb r1, r3, #0x7F
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E4]
add r3, r3, r2
str r0, [r3]
; Line 331
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
rsb r1, r3, #0x7F
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E8]
add r2, r3, r2
ldr r3, [sp, #4]
str r3, [r2]
; Line 333
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
add r1, r3, #1
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0xC]
add r3, r3, r2
ldr r3, [r3]
str r3, [sp]
; Line 334
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
rsb r1, r3, #0xFE
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0xC]
add r3, r3, r2
ldr r3, [r3]
str r3, [sp, #0x230]
; Line 335
ldr r1, [sp]
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
add r0, r3, #1
mov r3, #4
mul r2, r0, r3
ldr r3, [sp, #0x4E8]
add r3, r3, r2
ldr r0, [r3]
bl MUL
str r0, [sp, #0x4BC]
ldr r1, [sp, #0x230]
ldr r0, [sp, #0x234]
bl MUL
str r0, [sp, #0x4C0]
ldr r2, [sp, #0x4BC]
ldr r3, [sp, #0x4C0]
add r0, r2, r3
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
rsb r1, r3, #0xFE
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E4]
add r3, r3, r2
str r0, [r3]
ldr r1, [sp, #0x230]
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
add r0, r3, #1
mov r3, #4
mul r2, r0, r3
ldr r3, [sp, #0x4E8]
add r3, r3, r2
ldr r0, [r3]
bl MUL
str r0, [sp, #0x4C4]
ldr r1, [sp]
ldr r0, [sp, #0x234]
bl MUL
str r0, [sp, #0x4C8]
ldr r2, [sp, #0x4C4]
ldr r3, [sp, #0x4C8]
sub r0, r2, r3
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
add r1, r3, #1
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E4]
add r3, r3, r2
str r0, [r3]
; Line 336
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
add r1, r3, #1
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E8]
add r2, r3, r2
ldr r3, [sp, #0x220]
str r3, [r2]
; Line 338
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
add r1, r3, #0x81
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0xC]
add r3, r3, r2
ldr r3, [r3]
str r3, [sp]
; Line 339
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
rsb r1, r3, #0x7E
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0xC]
add r3, r3, r2
ldr r3, [r3]
str r3, [sp, #0x230]
; Line 340
ldr r1, [sp, #0x230]
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
rsb r0, r3, #0x7E
mov r3, #4
mul r2, r0, r3
ldr r3, [sp, #0x4E8]
add r3, r3, r2
ldr r0, [r3]
bl MUL
str r0, [sp, #0x4CC]
ldr r1, [sp]
ldr r0, [sp, #0x21C]
bl MUL
str r0, [sp, #0x4D0]
ldr r2, [sp, #0x4CC]
ldr r3, [sp, #0x4D0]
add r0, r2, r3
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
add r1, r3, #0x81
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E4]
add r3, r3, r2
str r0, [r3]
ldr r1, [sp]
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
rsb r0, r3, #0x7E
mov r3, #4
mul r2, r0, r3
ldr r3, [sp, #0x4E8]
add r3, r3, r2
ldr r0, [r3]
bl MUL
str r0, [sp, #0x4D4]
ldr r1, [sp, #0x230]
ldr r0, [sp, #0x21C]
bl MUL
str r0, [sp, #0x4D8]
ldr r2, [sp, #0x4D4]
ldr r3, [sp, #0x4D8]
sub r0, r2, r3
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
rsb r1, r3, #0x7E
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E4]
add r3, r3, r2
str r0, [r3]
; Line 341
ldr r2, [sp, #0x210]
mov r3, #2
mul r3, r2, r3
rsb r1, r3, #0x7E
mov r3, #4
mul r2, r1, r3
ldr r3, [sp, #0x4E8]
add r2, r3, r2
ldr r3, [sp, #0x218]
str r3, [r2]
; Line 342
b |$LN26@a52_imdct_@2|
|$LN25@a52_imdct_@2|
; Line 343
mov r12, #1, 22
orr r12, r12, #0xDC
add sp, sp, r12
ldmia sp, {sp, pc}
|$LN42@a52_imdct_@2|
DCD |post2|
DCD |pre2|
DCD |fftorder|
DCD |a52_imdct_window|
DCD 0xfffffb24
|$M1585|
ENDP ; |a52_imdct_256|
AREA |.pdata|, PDATA
|$T1593| DCD |$LN5@ifft64_c|
DCD 0x40001103
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|ifft64_c| PROC
; Line 237
|$LN5@ifft64_c|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r12, lr}
|$M1590|
; Line 238
ldr r0, [sp, #8]
bl ifft32
; Line 239
ldr r3, [sp, #8]
add r0, r3, #1, 24
bl ifft16
; Line 240
ldr r3, [sp, #8]
add r0, r3, #6, 26
bl ifft16
; Line 241
mov r2, #0x10
ldr r1, [pc, #8]
ldr r0, [sp, #8]
bl ifft_pass
; Line 242
ldmia sp, {sp, pc}
|$LN6@ifft64_c|
DCD |roots64|
|$M1591|
ENDP ; |ifft64_c|
EXPORT |a52_imdct_init|
IMPORT |sin|
IMPORT |cos|
IMPORT |sqrt|
IMPORT |__imp___rt_sdiv|
IMPORT |__imp___divd|
IMPORT |__imp___negd|
IMPORT |__imp___subd|
IMPORT |__imp___itod|
IMPORT |__imp___addd|
IMPORT |__imp___muld|
IMPORT |__imp___dtoi|
AREA |.pdata|, PDATA
|$T1686| DCD |$LN38@a52_imdct_@3|
DCD 0x40035905
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|a52_imdct_init| PROC
; Line 385
|$LN38@a52_imdct_@3|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r4, r12, lr}
ldr r12, [pc, #0xD4C]
add sp, sp, r12
|$M1683|
; Line 392
mov r3, #0
str r3, [sp, #0x804]
mov r3, #0
str r3, [sp, #0x808]
; Line 393
mov r3, #0
str r3, [sp]
b |$LN33@a52_imdct_@3|
|$LN32@a52_imdct_@3|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN33@a52_imdct_@3|
ldr r3, [sp]
cmp r3, #1, 24
bge |$LN31@a52_imdct_@3|
; Line 394
ldr r3, [sp]
rsb r2, r3, #1, 24
ldr r3, [sp]
mul r0, r3, r2
ldr r3, [pc, #0xCAC]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r2, [pc, #0xCEC]
ldr r3, [pc, #0xCE4]
ldr lr, [pc, #0xC84]
ldr r4, [lr]
mov lr, pc
mov pc, r4
ldr r2, [pc, #0xCD4]
ldr r3, [pc, #0xCCC]
ldr lr, [pc, #0xC6C]
ldr r4, [lr]
mov lr, pc
mov pc, r4
bl besselI0
str r1, [sp, #0x814]
str r0, [sp, #0x810]
ldr r0, [sp, #0x804]
ldr r1, [sp, #0x808]
ldr r2, [sp, #0x810]
ldr r3, [sp, #0x814]
ldr lr, [pc, #0xC4C]
ldr r4, [lr]
mov lr, pc
mov pc, r4
str r0, [sp, #0x804]
str r1, [sp, #0x808]
; Line 395
ldr r1, [sp]
mov r3, #8
mul r2, r1, r3
add r3, sp, #4
add r3, r3, r2
str r3, [sp, #0x818]
ldr r2, [sp, #0x804]
ldr r3, [sp, #0x818]
str r2, [r3]
ldr r2, [sp, #0x808]
ldr r3, [sp, #0x818]
str r2, [r3, #4]
; Line 396
b |$LN32@a52_imdct_@3|
|$LN31@a52_imdct_@3|
; Line 397
ldr r0, [sp, #0x804]
ldr r1, [sp, #0x808]
mov r2, #0
mov r3, #0xFF, 10
orr r3, r3, #3, 12
ldr lr, [pc, #0xBEC]
ldr r4, [lr]
mov lr, pc
mov pc, r4
str r0, [sp, #0x804]
str r1, [sp, #0x808]
; Line 398
mov r3, #0
str r3, [sp]
b |$LN30@a52_imdct_@3|
|$LN29@a52_imdct_@3|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN30@a52_imdct_@3|
ldr r3, [sp]
cmp r3, #1, 24
bge |$LN28@a52_imdct_@3|
; Line 399
ldr r1, [sp]
mov r3, #8
mul r2, r1, r3
add r3, sp, #4
add r3, r3, r2
str r3, [sp, #0x81C]
ldr r3, [sp, #0x81C]
ldr r0, [r3]
ldr r3, [sp, #0x81C]
ldr r1, [r3, #4]
ldr r2, [sp, #0x804]
ldr r3, [sp, #0x808]
ldr lr, [pc, #0xBCC]
ldr r4, [lr]
mov lr, pc
mov pc, r4
bl sqrt
str r1, [sp, #0x824]
str r0, [sp, #0x820]
ldr r0, [sp, #0x820]
ldr r1, [sp, #0x824]
mov r2, #0
mov r3, #0x41, 8
orr r3, r3, #0xD, 12
ldr lr, [pc, #0xB44]
ldr r4, [lr]
mov lr, pc
mov pc, r4
ldr r3, [pc, #0xB30]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r1, [sp]
mov r3, #4
mul r2, r1, r3
ldr r3, [pc, #0xB6C]
add r3, r3, r2
str r0, [r3]
b |$LN29@a52_imdct_@3|
|$LN28@a52_imdct_@3|
; Line 401
mov r3, #0
str r3, [sp]
b |$LN27@a52_imdct_@3|
|$LN26@a52_imdct_@3|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN27@a52_imdct_@3|
ldr r3, [sp]
cmp r3, #3
bge |$LN25@a52_imdct_@3|
; Line 402
ldr r3, [sp]
add r0, r3, #1
ldr r3, [pc, #0xAEC]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r3, r1
mov r2, r0
ldr r0, [pc, #0xACC]
ldr r1, [pc, #0xB10]
ldr lr, [pc, #0xABC]
ldr r4, [lr]
mov lr, pc
mov pc, r4
bl cos
str r1, [sp, #0x82C]
str r0, [sp, #0x828]
ldr r0, [sp, #0x828]
ldr r1, [sp, #0x82C]
mov r2, #0
mov r3, #0x41, 8
orr r3, r3, #0xD, 12
ldr lr, [pc, #0xA8C]
ldr r4, [lr]
mov lr, pc
mov pc, r4
ldr r3, [pc, #0xA78]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r1, [sp]
mov r3, #4
mul r2, r1, r3
ldr r3, [pc, #0xAAC]
add r3, r3, r2
str r0, [r3]
b |$LN26@a52_imdct_@3|
|$LN25@a52_imdct_@3|
; Line 404
mov r3, #0
str r3, [sp]
b |$LN24@a52_imdct_@3|
|$LN23@a52_imdct_@3|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN24@a52_imdct_@3|
ldr r3, [sp]
cmp r3, #7
bge |$LN22@a52_imdct_@3|
; Line 405
ldr r3, [sp]
add r0, r3, #1
ldr r3, [pc, #0xA34]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r3, r1
mov r2, r0
ldr r0, [pc, #0xA14]
ldr r1, [pc, #0xA50]
ldr lr, [pc, #0xA04]
ldr r4, [lr]
mov lr, pc
mov pc, r4
bl cos
str r1, [sp, #0x834]
str r0, [sp, #0x830]
ldr r0, [sp, #0x830]
ldr r1, [sp, #0x834]
mov r2, #0
mov r3, #0x41, 8
orr r3, r3, #0xD, 12
ldr lr, [pc, #0x9D4]
ldr r4, [lr]
mov lr, pc
mov pc, r4
ldr r3, [pc, #0x9C0]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r1, [sp]
mov r3, #4
mul r2, r1, r3
ldr r3, [pc, #0x9EC]
add r3, r3, r2
str r0, [r3]
b |$LN23@a52_imdct_@3|
|$LN22@a52_imdct_@3|
; Line 407
mov r3, #0
str r3, [sp]
b |$LN21@a52_imdct_@3|
|$LN20@a52_imdct_@3|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN21@a52_imdct_@3|
ldr r3, [sp]
cmp r3, #0xF
bge |$LN19@a52_imdct_@3|
; Line 408
ldr r3, [sp]
add r0, r3, #1
ldr r3, [pc, #0x97C]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r3, r1
mov r2, r0
ldr r0, [pc, #0x95C]
ldr r1, [pc, #0x990]
ldr lr, [pc, #0x94C]
ldr r4, [lr]
mov lr, pc
mov pc, r4
bl cos
str r1, [sp, #0x83C]
str r0, [sp, #0x838]
ldr r0, [sp, #0x838]
ldr r1, [sp, #0x83C]
mov r2, #0
mov r3, #0x41, 8
orr r3, r3, #0xD, 12
ldr lr, [pc, #0x91C]
ldr r4, [lr]
mov lr, pc
mov pc, r4
ldr r3, [pc, #0x908]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r1, [sp]
mov r3, #4
mul r2, r1, r3
ldr r3, [pc, #0x92C]
add r3, r3, r2
str r0, [r3]
b |$LN20@a52_imdct_@3|
|$LN19@a52_imdct_@3|
; Line 410
mov r3, #0
str r3, [sp]
b |$LN18@a52_imdct_@3|
|$LN17@a52_imdct_@3|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN18@a52_imdct_@3|
ldr r3, [sp]
cmp r3, #0x1F
bge |$LN16@a52_imdct_@3|
; Line 411
ldr r3, [sp]
add r0, r3, #1
ldr r3, [pc, #0x8C4]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r3, r1
mov r2, r0
ldr r0, [pc, #0x8A4]
ldr r1, [pc, #0x8D0]
ldr lr, [pc, #0x894]
ldr r4, [lr]
mov lr, pc
mov pc, r4
bl cos
str r1, [sp, #0x844]
str r0, [sp, #0x840]
ldr r0, [sp, #0x840]
ldr r1, [sp, #0x844]
mov r2, #0
mov r3, #0x41, 8
orr r3, r3, #0xD, 12
ldr lr, [pc, #0x864]
ldr r4, [lr]
mov lr, pc
mov pc, r4
ldr r3, [pc, #0x850]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r1, [sp]
mov r3, #4
mul r2, r1, r3
ldr r3, [pc, #0x86C]
add r3, r3, r2
str r0, [r3]
b |$LN17@a52_imdct_@3|
|$LN16@a52_imdct_@3|
; Line 413
mov r3, #0
str r3, [sp]
b |$LN15@a52_imdct_@3|
|$LN14@a52_imdct_@3|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN15@a52_imdct_@3|
ldr r3, [sp]
cmp r3, #0x40
bge |$LN13@a52_imdct_@3|
; Line 414
ldr r2, [pc, #0x824]
ldr r3, [sp]
add r3, r2, r3
ldrb r3, [r3]
mov r1, r3
mov r0, #2
ldr r3, [pc, #0x808]
ldr r3, [r3]
mov lr, pc
mov pc, r3
add r3, r0, #0x40
str r3, [sp, #0x80C]
; Line 415
ldr r0, [sp, #0x80C]
ldr r3, [pc, #0x7E0]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r2, #0
mov r3, #0xFF, 10
orr r3, r3, #1, 12
ldr lr, [pc, #0x7CC]
ldr r4, [lr]
mov lr, pc
mov pc, r4
mov r3, r1
mov r2, r0
ldr r0, [pc, #0x7A4]
ldr r1, [pc, #0x7C0]
ldr lr, [pc, #0x794]
ldr r4, [lr]
mov lr, pc
mov pc, r4
bl cos
str r1, [sp, #0x84C]
str r0, [sp, #0x848]
ldr r0, [sp, #0x848]
ldr r1, [sp, #0x84C]
mov r2, #0
mov r3, #0x41, 8
orr r3, r3, #0xD, 12
ldr lr, [pc, #0x764]
ldr r4, [lr]
mov lr, pc
mov pc, r4
ldr r3, [pc, #0x750]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r1, [sp]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0x764]
add r3, r3, r2
str r0, [r3]
; Line 416
ldr r0, [sp, #0x80C]
ldr r3, [pc, #0x738]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r2, #0
mov r3, #0xFF, 10
orr r3, r3, #1, 12
ldr lr, [pc, #0x724]
ldr r4, [lr]
mov lr, pc
mov pc, r4
mov r3, r1
mov r2, r0
ldr r0, [pc, #0x6FC]
ldr r1, [pc, #0x718]
ldr lr, [pc, #0x6EC]
ldr r4, [lr]
mov lr, pc
mov pc, r4
bl sin
str r1, [sp, #0x854]
str r0, [sp, #0x850]
ldr r0, [sp, #0x850]
ldr r1, [sp, #0x854]
mov r2, #0
mov r3, #0x41, 8
orr r3, r3, #0xD, 12
ldr lr, [pc, #0x6BC]
ldr r4, [lr]
mov lr, pc
mov pc, r4
ldr r3, [pc, #0x6A8]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r1, [sp]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0x6BC]
add r3, r3, r2
add r3, r3, #4
str r0, [r3]
; Line 417
b |$LN14@a52_imdct_@3|
|$LN13@a52_imdct_@3|
; Line 419
mov r3, #0x40
str r3, [sp]
b |$LN12@a52_imdct_@3|
|$LN11@a52_imdct_@3|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN12@a52_imdct_@3|
ldr r3, [sp]
cmp r3, #0x80
bge |$LN10@a52_imdct_@3|
; Line 420
ldr r2, [pc, #0x678]
ldr r3, [sp]
add r3, r2, r3
ldrb r3, [r3]
mov r1, r3
mov r0, #2
ldr r3, [pc, #0x65C]
ldr r3, [r3]
mov lr, pc
mov pc, r3
add r3, r0, #0x40
str r3, [sp, #0x80C]
; Line 421
ldr r0, [sp, #0x80C]
ldr r3, [pc, #0x634]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r2, #0
mov r3, #0xFF, 10
orr r3, r3, #1, 12
ldr lr, [pc, #0x620]
ldr r4, [lr]
mov lr, pc
mov pc, r4
mov r3, r1
mov r2, r0
ldr r0, [pc, #0x5F8]
ldr r1, [pc, #0x614]
ldr lr, [pc, #0x5E8]
ldr r4, [lr]
mov lr, pc
mov pc, r4
bl cos
str r1, [sp, #0x85C]
str r0, [sp, #0x858]
ldr r0, [sp, #0x858]
ldr r1, [sp, #0x85C]
ldr r3, [pc, #0x5F4]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r2, #0
mov r3, #0x41, 8
orr r3, r3, #0xD, 12
ldr lr, [pc, #0x5A8]
ldr r4, [lr]
mov lr, pc
mov pc, r4
ldr r3, [pc, #0x594]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r1, [sp]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0x5A8]
add r3, r3, r2
str r0, [r3]
; Line 422
ldr r0, [sp, #0x80C]
ldr r3, [pc, #0x57C]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r2, #0
mov r3, #0xFF, 10
orr r3, r3, #1, 12
ldr lr, [pc, #0x568]
ldr r4, [lr]
mov lr, pc
mov pc, r4
mov r3, r1
mov r2, r0
ldr r0, [pc, #0x540]
ldr r1, [pc, #0x55C]
ldr lr, [pc, #0x530]
ldr r4, [lr]
mov lr, pc
mov pc, r4
bl sin
str r1, [sp, #0x864]
str r0, [sp, #0x860]
ldr r0, [sp, #0x860]
ldr r1, [sp, #0x864]
ldr r3, [pc, #0x53C]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r2, #0
mov r3, #0x41, 8
orr r3, r3, #0xD, 12
ldr lr, [pc, #0x4F0]
ldr r4, [lr]
mov lr, pc
mov pc, r4
ldr r3, [pc, #0x4DC]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r1, [sp]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0x4F0]
add r3, r3, r2
add r3, r3, #4
str r0, [r3]
; Line 423
b |$LN11@a52_imdct_@3|
|$LN10@a52_imdct_@3|
; Line 425
mov r3, #0
str r3, [sp]
b |$LN9@a52_imdct_@3|
|$LN8@a52_imdct_@3|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN9@a52_imdct_@3|
ldr r3, [sp]
cmp r3, #0x40
bge |$LN7@a52_imdct_@3|
; Line 426
ldr r0, [sp]
ldr r3, [pc, #0x498]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r2, #0
mov r3, #0xFF, 10
orr r3, r3, #2, 12
ldr lr, [pc, #0x478]
ldr r4, [lr]
mov lr, pc
mov pc, r4
mov r3, r1
mov r2, r0
ldr r0, [pc, #0x45C]
ldr r1, [pc, #0x478]
ldr lr, [pc, #0x44C]
ldr r4, [lr]
mov lr, pc
mov pc, r4
bl cos
str r1, [sp, #0x86C]
str r0, [sp, #0x868]
ldr r0, [sp, #0x868]
ldr r1, [sp, #0x86C]
mov r2, #0
mov r3, #0x41, 8
orr r3, r3, #0xD, 12
ldr lr, [pc, #0x41C]
ldr r4, [lr]
mov lr, pc
mov pc, r4
ldr r3, [pc, #0x408]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r1, [sp]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0x414]
add r3, r3, r2
str r0, [r3]
; Line 427
ldr r0, [sp]
ldr r3, [pc, #0x3F0]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r2, #0
mov r3, #0xFF, 10
orr r3, r3, #2, 12
ldr lr, [pc, #0x3D0]
ldr r4, [lr]
mov lr, pc
mov pc, r4
mov r3, r1
mov r2, r0
ldr r0, [pc, #0x3B4]
ldr r1, [pc, #0x3D0]
ldr lr, [pc, #0x3A4]
ldr r4, [lr]
mov lr, pc
mov pc, r4
bl sin
str r1, [sp, #0x874]
str r0, [sp, #0x870]
ldr r0, [sp, #0x870]
ldr r1, [sp, #0x874]
mov r2, #0
mov r3, #0x41, 8
orr r3, r3, #0xD, 12
ldr lr, [pc, #0x374]
ldr r4, [lr]
mov lr, pc
mov pc, r4
ldr r3, [pc, #0x360]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r1, [sp]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0x36C]
add r3, r3, r2
add r3, r3, #4
str r0, [r3]
; Line 428
b |$LN8@a52_imdct_@3|
|$LN7@a52_imdct_@3|
; Line 430
mov r3, #0
str r3, [sp]
b |$LN6@a52_imdct_@3|
|$LN5@a52_imdct_@3|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN6@a52_imdct_@3|
ldr r3, [sp]
cmp r3, #0x40
bge |$LN4@a52_imdct_@3|
; Line 431
ldr r2, [pc, #0x330]
ldr r3, [sp]
add r3, r2, r3
ldrb r3, [r3]
mov r1, r3
mov r0, #4
ldr r3, [pc, #0x314]
ldr r3, [r3]
mov lr, pc
mov pc, r3
str r0, [sp, #0x80C]
; Line 432
ldr r0, [sp, #0x80C]
ldr r3, [pc, #0x2F0]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r2, #0
mov r3, #0xFF, 10
orr r3, r3, #1, 12
ldr lr, [pc, #0x2DC]
ldr r4, [lr]
mov lr, pc
mov pc, r4
mov r3, r1
mov r2, r0
ldr r0, [pc, #0x2B4]
ldr r1, [pc, #0x2AC]
ldr lr, [pc, #0x2A4]
ldr r4, [lr]
mov lr, pc
mov pc, r4
bl cos
str r1, [sp, #0x87C]
str r0, [sp, #0x878]
ldr r0, [sp, #0x878]
ldr r1, [sp, #0x87C]
mov r2, #0
mov r3, #0x41, 8
orr r3, r3, #0xD, 12
ldr lr, [pc, #0x274]
ldr r4, [lr]
mov lr, pc
mov pc, r4
ldr r3, [pc, #0x260]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r1, [sp]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0x25C]
add r3, r3, r2
str r0, [r3]
; Line 433
ldr r0, [sp, #0x80C]
ldr r3, [pc, #0x248]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r2, #0
mov r3, #0xFF, 10
orr r3, r3, #1, 12
ldr lr, [pc, #0x234]
ldr r4, [lr]
mov lr, pc
mov pc, r4
mov r3, r1
mov r2, r0
ldr r0, [pc, #0x20C]
ldr r1, [pc, #0x204]
ldr lr, [pc, #0x1FC]
ldr r4, [lr]
mov lr, pc
mov pc, r4
bl sin
str r1, [sp, #0x884]
str r0, [sp, #0x880]
ldr r0, [sp, #0x880]
ldr r1, [sp, #0x884]
mov r2, #0
mov r3, #0x41, 8
orr r3, r3, #0xD, 12
ldr lr, [pc, #0x1CC]
ldr r4, [lr]
mov lr, pc
mov pc, r4
ldr r3, [pc, #0x1B8]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r1, [sp]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0x1B4]
add r3, r3, r2
add r3, r3, #4
str r0, [r3]
; Line 434
b |$LN5@a52_imdct_@3|
|$LN4@a52_imdct_@3|
; Line 436
mov r3, #0
str r3, [sp]
b |$LN3@a52_imdct_@3|
|$LN2@a52_imdct_@3|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN3@a52_imdct_@3|
ldr r3, [sp]
cmp r3, #0x20
bge |$LN1@a52_imdct_@3|
; Line 437
ldr r0, [sp]
ldr r3, [pc, #0x174]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r2, #0
mov r3, #0xFF, 10
orr r3, r3, #2, 12
ldr lr, [pc, #0x154]
ldr r4, [lr]
mov lr, pc
mov pc, r4
mov r3, r1
mov r2, r0
ldr r0, [pc, #0x138]
ldr r1, [pc, #0x130]
ldr lr, [pc, #0x128]
ldr r4, [lr]
mov lr, pc
mov pc, r4
bl cos
str r1, [sp, #0x88C]
str r0, [sp, #0x888]
ldr r0, [sp, #0x888]
ldr r1, [sp, #0x88C]
mov r2, #0
mov r3, #0x41, 8
orr r3, r3, #0xD, 12
ldr lr, [pc, #0xF8]
ldr r4, [lr]
mov lr, pc
mov pc, r4
ldr r3, [pc, #0xE4]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r1, [sp]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0xC4]
add r3, r3, r2
str r0, [r3]
; Line 438
ldr r0, [sp]
ldr r3, [pc, #0xCC]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r2, #0
mov r3, #0xFF, 10
orr r3, r3, #2, 12
ldr lr, [pc, #0xAC]
ldr r4, [lr]
mov lr, pc
mov pc, r4
mov r3, r1
mov r2, r0
ldr r0, [pc, #0x90]
ldr r1, [pc, #0x88]
ldr lr, [pc, #0x80]
ldr r4, [lr]
mov lr, pc
mov pc, r4
bl sin
str r1, [sp, #0x894]
str r0, [sp, #0x890]
ldr r0, [sp, #0x890]
ldr r1, [sp, #0x894]
mov r2, #0
mov r3, #0x41, 8
orr r3, r3, #0xD, 12
ldr lr, [pc, #0x50]
ldr r4, [lr]
mov lr, pc
mov pc, r4
ldr r3, [pc, #0x3C]
ldr r3, [r3]
mov lr, pc
mov pc, r3
ldr r1, [sp]
mov r3, #8
mul r2, r1, r3
ldr r3, [pc, #0x1C]
add r3, r3, r2
add r3, r3, #4
str r0, [r3]
; Line 439
b |$LN2@a52_imdct_@3|
|$LN1@a52_imdct_@3|
; Line 470
mov r12, #2, 22
orr r12, r12, #0x98
add sp, sp, r12
ldmia sp, {r4, sp, pc}
|$LN39@a52_imdct_@3|
DCD |post2|
DCD |__imp___dtoi|
DCD |__imp___muld|
DCD 0x3f9921fb
DCD 0x54442d18
DCD |__imp___addd|
DCD |__imp___itod|
DCD |pre2|
DCD |__imp___subd|
DCD |__imp___rt_sdiv|
DCD |fftorder|
DCD |post1|
DCD 0x3f8921fb
DCD |pre1|
DCD |__imp___negd|
DCD |roots128|
DCD 0x3fa921fb
DCD |roots64|
DCD 0x3fb921fb
DCD |roots32|
DCD 0x3fc921fb
DCD |roots16|
DCD 0x3fd921fb
DCD |a52_imdct_window|
DCD |__imp___divd|
DCD 0x3faf6a7a
DCD 0x2955385e
DCD 0xfffff768
|$M1684|
ENDP ; |a52_imdct_init|
AREA |.pdata|, PDATA
|$T1697| DCD |$LN8@besselI0|
DCD 0x40003f04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|besselI0| PROC
; Line 347
|$LN8@besselI0|
mov r12, sp
stmdb sp!, {r0, r1}
stmdb sp!, {r4, r5, r12, lr}
sub sp, sp, #0x14
|$M1694|
; Line 348
mov r3, #0
str r3, [sp, #4]
mov r3, #0xFF, 10
orr r3, r3, #3, 12
str r3, [sp, #8]
; Line 349
mov r3, #0x64
str r3, [sp]
|$LN3@besselI0|
; Line 352
ldr r0, [sp, #4]
ldr r1, [sp, #8]
ldr r2, [sp, #0x24]
ldr r3, [sp, #0x28]
ldr lr, [pc, #0xB4]
ldr r4, [lr]
mov lr, pc
mov pc, r4
mov r5, r1
mov r4, r0
ldr r2, [sp]
ldr r3, [sp]
mul r0, r2, r3
ldr r3, [pc, #0x8C]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r3, r1
mov r2, r0
mov r0, r4
mov r1, r5
ldr lr, [pc, #0x68]
ldr r4, [lr]
mov lr, pc
mov pc, r4
mov r2, #0
mov r3, #0xFF, 10
orr r3, r3, #3, 12
ldr lr, [pc, #0x48]
ldr r4, [lr]
mov lr, pc
mov pc, r4
str r0, [sp, #4]
str r1, [sp, #8]
; Line 353
ldr r3, [sp]
sub r3, r3, #1
str r3, [sp]
ldr r3, [sp]
cmp r3, #0
bne |$LN3@besselI0|
; Line 354
ldr r2, [sp, #4]
ldr r3, [sp, #8]
str r2, [sp, #0xC]
; Line 355
str r3, [sp, #0x10]
ldr r0, [sp, #0xC]
ldr r1, [sp, #0x10]
add sp, sp, #0x14
ldmia sp, {r4, r5, sp, pc}
|$LN9@besselI0|
DCD |__imp___addd|
DCD |__imp___divd|
DCD |__imp___itod|
DCD |__imp___muld|
|$M1695|
ENDP ; |besselI0|
END