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

2051 lines
49 KiB
NASM
Raw Normal View History

2019-05-01 12:32:35 +00:00
; Listing generated by Microsoft (R) Optimizing Compiler Version 14.00.50727
TTL d:\MyProject\VS2005\Tcpmp\tcpmp\amr\26204\dec_dtx.c
CODE32
AREA |.drectve|, DRECTVE
DCB "-defaultlib:LIBCMT "
DCB "-defaultlib:OLDNAMES "
EXPORT |D_DTX_reset|
IMPORT |memcpy|
AREA |.pdata|, PDATA
|$T1529| DCD |$LN9@D_DTX_rese|
DCD 0x40007f04
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_DTX_reset| PROC
; File d:\myproject\vs2005\tcpmp\tcpmp\amr\26204\dec_dtx.c
; Line 46
|$LN9@D_DTX_rese|
mov r12, sp
stmdb sp!, {r0, r1}
stmdb sp!, {r12, lr}
sub sp, sp, #8
|$M1526|
; Line 49
ldr r3, [sp, #0x10]
cmp r3, #0
bne |$LN4@D_DTX_rese|
; Line 51
mvn r3, #0
str r3, [sp, #4]
b |$LN5@D_DTX_rese|
|$LN4@D_DTX_rese|
; Line 53
ldr r3, [sp, #0x10]
add r3, r3, #1, 24
add r2, r3, #0x5E
mov r3, #0
strh r3, [r2]
; Line 54
ldr r3, [sp, #0x10]
add r2, r3, #0x15, 28
mov r3, #2, 20
strh r3, [r2]
; Line 55
ldr r3, [sp, #0x10]
add r3, r3, #1, 24
add r2, r3, #0x52
mov r3, #0xD, 24
orr r3, r3, #0xAC
strh r3, [r2]
; Line 56
ldr r3, [sp, #0x10]
add r2, r3, #0x55, 30
mov r3, #0xD, 24
orr r3, r3, #0xAC
strh r3, [r2]
; Line 59
ldr r3, [sp, #0x10]
add r3, r3, #1, 24
add r2, r3, #0x56
mov r3, #0x55, 24
orr r3, r3, #0x55
strh r3, [r2]
; Line 60
ldr r3, [sp, #0x10]
add r2, r3, #0x56, 30
mov r3, #0
strh r3, [r2]
; Line 63
mov r2, #0x20
ldr r1, [sp, #0x14]
ldr r3, [sp, #0x10]
add r0, r3, #1, 24
bl memcpy
; Line 64
mov r2, #0x20
ldr r1, [sp, #0x14]
ldr r3, [sp, #0x10]
add r0, r3, #0x12, 28
bl memcpy
; Line 66
mov r3, #0
str r3, [sp]
b |$LN3@D_DTX_rese|
|$LN2@D_DTX_rese|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN3@D_DTX_rese|
ldr r3, [sp]
cmp r3, #8
bge |$LN1@D_DTX_rese|
; Line 68
mov r2, #0x20
ldr r1, [sp, #0x14]
ldr r0, [sp]
mov r3, #0x10
mul lr, r0, r3
mov r3, #2
mul r0, lr, r3
ldr r3, [sp, #0x10]
add r0, r3, r0
bl memcpy
; Line 69
ldr r3, [sp, #0x10]
add r1, r3, #5, 26
ldr r2, [sp]
mov r3, #2
mul r3, r2, r3
add r2, r1, r3
mov r3, #0xD, 24
orr r3, r3, #0xAC
strh r3, [r2]
; Line 70
b |$LN2@D_DTX_rese|
|$LN1@D_DTX_rese|
; Line 71
ldr r3, [sp, #0x10]
add r3, r3, #1, 24
add r2, r3, #0x63
mov r3, #7
strb r3, [r2]
; Line 72
ldr r3, [sp, #0x10]
add r2, r3, #0x16, 28
mov r3, #0x7F
strb r3, [r2]
; Line 73
ldr r3, [sp, #0x10]
add r2, r3, #0x59, 30
mov r3, #0
strb r3, [r2]
; Line 74
ldr r3, [sp, #0x10]
add r3, r3, #1, 24
add r2, r3, #0x65
mov r3, #0
strb r3, [r2]
; Line 75
ldr r3, [sp, #0x10]
add r3, r3, #1, 24
add r2, r3, #0x66
mov r3, #0
strb r3, [r2]
; Line 76
ldr r3, [sp, #0x10]
add r3, r3, #1, 24
add r2, r3, #0x61
mov r3, #0
strb r3, [r2]
; Line 77
ldr r3, [sp, #0x10]
add r3, r3, #1, 24
add r2, r3, #0x62
mov r3, #0
strb r3, [r2]
; Line 78
ldr r3, [sp, #0x10]
add r3, r3, #1, 24
add r2, r3, #0x5A
mov r3, #0x55, 24
orr r3, r3, #0x55
strh r3, [r2]
; Line 79
ldr r3, [sp, #0x10]
add r2, r3, #0x57, 30
mov r3, #0
strh r3, [r2]
; Line 81
mov r3, #0
str r3, [sp, #4]
|$LN5@D_DTX_rese|
; Line 82
ldr r0, [sp, #4]
add sp, sp, #8
ldmia sp, {sp, pc}
|$M1527|
ENDP ; |D_DTX_reset|
EXPORT |D_DTX_init|
IMPORT |malloc|
AREA |.pdata|, PDATA
|$T1535| DCD |$LN7@D_DTX_init|
DCD 0x40002304
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_DTX_init| PROC
; Line 98
|$LN7@D_DTX_init|
mov r12, sp
stmdb sp!, {r0, r1}
stmdb sp!, {r12, lr}
sub sp, sp, #0xC
|$M1532|
; Line 101
ldr r3, [sp, #0x14]
cmp r3, #0
bne |$LN2@D_DTX_init|
; Line 103
mvn r3, #0
str r3, [sp, #4]
b |$LN3@D_DTX_init|
|$LN2@D_DTX_init|
; Line 106
ldr r2, [sp, #0x14]
mov r3, #0
str r3, [r2]
; Line 109
mov r0, #0x5A, 30
bl malloc
str r0, [sp, #8]
ldr r3, [sp, #8]
str r3, [sp]
ldr r3, [sp]
cmp r3, #0
bne |$LN1@D_DTX_init|
; Line 111
mvn r3, #0
str r3, [sp, #4]
b |$LN3@D_DTX_init|
|$LN1@D_DTX_init|
; Line 114
ldr r1, [sp, #0x18]
ldr r0, [sp]
bl D_DTX_reset
; Line 115
ldr r2, [sp]
ldr r3, [sp, #0x14]
str r2, [r3]
; Line 117
mov r3, #0
str r3, [sp, #4]
|$LN3@D_DTX_init|
; Line 118
ldr r0, [sp, #4]
add sp, sp, #0xC
ldmia sp, {sp, pc}
|$M1533|
ENDP ; |D_DTX_init|
EXPORT |D_DTX_exit|
IMPORT |free|
AREA |.pdata|, PDATA
|$T1540| DCD |$LN7@D_DTX_exit|
DCD 0x40001203
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_DTX_exit| PROC
; Line 134
|$LN7@D_DTX_exit|
mov r12, sp
stmdb sp!, {r0}
stmdb sp!, {r12, lr}
|$M1537|
; Line 135
ldr r3, [sp, #8]
cmp r3, #0
beq |$LN1@D_DTX_exit|
ldr r3, [sp, #8]
ldr r3, [r3]
cmp r3, #0
bne |$LN2@D_DTX_exit|
|$LN1@D_DTX_exit|
; Line 137
b |$LN3@D_DTX_exit|
|$LN2@D_DTX_exit|
; Line 141
ldr r3, [sp, #8]
ldr r0, [r3]
bl free
; Line 142
ldr r2, [sp, #8]
mov r3, #0
str r3, [r2]
|$LN3@D_DTX_exit|
; Line 145
ldmia sp, {sp, pc}
|$M1538|
ENDP ; |D_DTX_exit|
EXPORT |D_DTX_rx_handler|
IMPORT |D_UTIL_saturate|
AREA |.pdata|, PDATA
|$T1584| DCD |$LN63@D_DTX_rx_h|
DCD 0x40017104
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_DTX_rx_handler| PROC
; Line 183
|$LN63@D_DTX_rx_h|
mov r12, sp
stmdb sp!, {r0, r1}
stmdb sp!, {r12, lr}
sub sp, sp, #0x58
|$M1581|
; Line 193
ldrb r3, [sp, #0x64]
cmp r3, #4
bne |$LN25@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #8]
b |$LN26@D_DTX_rx_h|
|$LN25@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #8]
|$LN26@D_DTX_rx_h|
ldrb r3, [sp, #0x64]
cmp r3, #5
bne |$LN23@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0xC]
b |$LN24@D_DTX_rx_h|
|$LN23@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0xC]
|$LN24@D_DTX_rx_h|
ldrb r3, [sp, #0x64]
cmp r3, #6
bne |$LN27@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x10]
b |$LN28@D_DTX_rx_h|
|$LN27@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x10]
|$LN28@D_DTX_rx_h|
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r3, r3, #0x61
ldrb r3, [r3]
cmp r3, #1
bne |$LN31@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x14]
b |$LN32@D_DTX_rx_h|
|$LN31@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x14]
|$LN32@D_DTX_rx_h|
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r3, r3, #0x61
ldrb r3, [r3]
cmp r3, #2
bne |$LN29@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x18]
b |$LN30@D_DTX_rx_h|
|$LN29@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x18]
|$LN30@D_DTX_rx_h|
ldrb r3, [sp, #0x64]
cmp r3, #7
bne |$LN35@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x1C]
b |$LN36@D_DTX_rx_h|
|$LN35@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x1C]
|$LN36@D_DTX_rx_h|
ldrb r3, [sp, #0x64]
cmp r3, #3
bne |$LN33@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x20]
b |$LN34@D_DTX_rx_h|
|$LN33@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x20]
|$LN34@D_DTX_rx_h|
ldrb r3, [sp, #0x64]
cmp r3, #2
bne |$LN37@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x24]
b |$LN38@D_DTX_rx_h|
|$LN37@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x24]
|$LN38@D_DTX_rx_h|
ldr r2, [sp, #8]
ldr r3, [sp, #0xC]
orr r2, r2, r3
ldr r3, [sp, #0x10]
orr r0, r2, r3
ldr r2, [sp, #0x14]
ldr r3, [sp, #0x18]
orr r1, r2, r3
ldr r2, [sp, #0x1C]
ldr r3, [sp, #0x20]
orr r2, r2, r3
ldr r3, [sp, #0x24]
orr r3, r2, r3
and r3, r1, r3
orrs r3, r0, r3
beq |$LN20@D_DTX_rx_h|
; Line 195
mov r3, #1
strb r3, [sp, #1]
; Line 200
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r3, r3, #0x61
ldrb r3, [r3]
cmp r3, #2
bne |$LN47@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x28]
b |$LN48@D_DTX_rx_h|
|$LN47@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x28]
|$LN48@D_DTX_rx_h|
ldrb r3, [sp, #0x64]
cmp r3, #6
bne |$LN41@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x2C]
b |$LN42@D_DTX_rx_h|
|$LN41@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x2C]
|$LN42@D_DTX_rx_h|
ldrb r3, [sp, #0x64]
cmp r3, #4
bne |$LN39@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x30]
b |$LN40@D_DTX_rx_h|
|$LN39@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x30]
|$LN40@D_DTX_rx_h|
ldrb r3, [sp, #0x64]
cmp r3, #2
bne |$LN43@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x34]
b |$LN44@D_DTX_rx_h|
|$LN43@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x34]
|$LN44@D_DTX_rx_h|
ldrb r3, [sp, #0x64]
cmp r3, #7
bne |$LN45@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x38]
b |$LN46@D_DTX_rx_h|
|$LN45@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x38]
|$LN46@D_DTX_rx_h|
ldr r2, [sp, #0x2C]
ldr r3, [sp, #0x30]
orr r2, r2, r3
ldr r3, [sp, #0x34]
orr r2, r2, r3
ldr r3, [sp, #0x38]
orr r2, r2, r3
ldr r3, [sp, #0x28]
tst r3, r2
beq |$LN19@D_DTX_rx_h|
; Line 202
mov r3, #2
strb r3, [sp, #1]
|$LN19@D_DTX_rx_h|
; Line 207
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r3, r3, #0x5E
ldrsh r3, [r3]
add r0, r3, #1
bl D_UTIL_saturate
strh r0, [sp, #0x3C]
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r2, r3, #0x5E
ldrsh r3, [sp, #0x3C]
strh r3, [r2]
; Line 210
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r3, r3, #0x5E
ldrsh r3, [r3]
cmp r3, #0x32
ble |$LN18@D_DTX_rx_h|
; Line 212
mov r3, #2
strb r3, [sp, #1]
|$LN18@D_DTX_rx_h|
; Line 215
b |$LN17@D_DTX_rx_h|
|$LN20@D_DTX_rx_h|
; Line 217
mov r3, #0
strb r3, [sp, #1]
; Line 218
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r2, r3, #0x5E
mov r3, #0
strh r3, [r2]
|$LN17@D_DTX_rx_h|
; Line 226
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r3, r3, #0x62
ldrb r3, [r3]
cmp r3, #0
bne |$LN51@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x40]
b |$LN52@D_DTX_rx_h|
|$LN51@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x40]
|$LN52@D_DTX_rx_h|
ldrb r3, [sp, #0x64]
cmp r3, #5
bne |$LN49@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x44]
b |$LN50@D_DTX_rx_h|
|$LN49@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x44]
|$LN50@D_DTX_rx_h|
ldr r2, [sp, #0x40]
ldr r3, [sp, #0x44]
tst r2, r3
beq |$LN16@D_DTX_rx_h|
; Line 228
ldr r3, [sp, #0x60]
add r2, r3, #0x16, 28
mov r3, #0
strb r3, [r2]
|$LN16@D_DTX_rx_h|
; Line 235
ldr r3, [sp, #0x60]
add r3, r3, #0x16, 28
ldrb r3, [r3]
add r3, r3, #1
and r2, r3, #0xFF
ldr r3, [sp, #0x60]
add r3, r3, #0x16, 28
strb r2, [r3]
; Line 238
ldr r3, [sp, #0x60]
add r3, r3, #0x16, 28
ldrb r3, [r3]
cmp r3, #0x7F
ble |$LN15@D_DTX_rx_h|
; Line 240
ldr r3, [sp, #0x60]
add r2, r3, #0x16, 28
mov r3, #0x7F
strb r3, [r2]
|$LN15@D_DTX_rx_h|
; Line 243
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r2, r3, #0x66
mov r3, #0
strb r3, [r2]
; Line 246
ldrb r3, [sp, #0x64]
cmp r3, #4
bne |$LN55@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x48]
b |$LN56@D_DTX_rx_h|
|$LN55@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x48]
|$LN56@D_DTX_rx_h|
ldrb r3, [sp, #0x64]
cmp r3, #5
bne |$LN53@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x4C]
b |$LN54@D_DTX_rx_h|
|$LN53@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x4C]
|$LN54@D_DTX_rx_h|
ldrb r3, [sp, #0x64]
cmp r3, #6
bne |$LN57@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x50]
b |$LN58@D_DTX_rx_h|
|$LN57@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x50]
|$LN58@D_DTX_rx_h|
ldrb r3, [sp, #0x64]
cmp r3, #7
bne |$LN59@D_DTX_rx_h|
mov r3, #1
str r3, [sp, #0x54]
b |$LN60@D_DTX_rx_h|
|$LN59@D_DTX_rx_h|
mov r3, #0
str r3, [sp, #0x54]
|$LN60@D_DTX_rx_h|
ldr r2, [sp, #0x48]
ldr r3, [sp, #0x4C]
orr r2, r2, r3
ldr r3, [sp, #0x50]
orr r2, r2, r3
ldr r3, [sp, #0x54]
orrs r3, r2, r3
beq |$LN14@D_DTX_rx_h|
; Line 248
mov r3, #1
strb r3, [sp]
; Line 250
b |$LN13@D_DTX_rx_h|
|$LN14@D_DTX_rx_h|
; Line 252
mov r3, #0
strb r3, [sp]
|$LN13@D_DTX_rx_h|
; Line 255
ldrb r3, [sp]
cmp r3, #0
bne |$LN12@D_DTX_rx_h|
; Line 257
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r2, r3, #0x63
mov r3, #7
strb r3, [r2]
; Line 259
b |$LN11@D_DTX_rx_h|
|$LN12@D_DTX_rx_h|
; Line 261
ldr r3, [sp, #0x60]
add r3, r3, #0x16, 28
ldrb r3, [r3]
cmp r3, #0x1E
ble |$LN10@D_DTX_rx_h|
; Line 263
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r2, r3, #0x66
mov r3, #1
strb r3, [r2]
; Line 264
ldr r3, [sp, #0x60]
add r2, r3, #0x16, 28
mov r3, #0
strb r3, [r2]
; Line 265
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r2, r3, #0x63
mov r3, #0
strb r3, [r2]
b |$LN9@D_DTX_rx_h|
|$LN10@D_DTX_rx_h|
; Line 267
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r3, r3, #0x63
ldrb r3, [r3]
cmp r3, #0
bne |$LN8@D_DTX_rx_h|
; Line 269
ldr r3, [sp, #0x60]
add r2, r3, #0x16, 28
mov r3, #0
strb r3, [r2]
; Line 271
b |$LN7@D_DTX_rx_h|
|$LN8@D_DTX_rx_h|
; Line 273
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r3, r3, #0x63
ldrb r3, [r3]
sub r3, r3, #1
and r2, r3, #0xFF
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r3, r3, #0x63
strb r2, [r3]
|$LN7@D_DTX_rx_h|
|$LN9@D_DTX_rx_h|
|$LN11@D_DTX_rx_h|
; Line 277
ldrb r3, [sp, #1]
cmp r3, #0
beq |$LN6@D_DTX_rx_h|
; Line 285
ldr r3, [sp, #0x60]
add r2, r3, #0x59, 30
mov r3, #0
strb r3, [r2]
; Line 286
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r2, r3, #0x65
mov r3, #0
strb r3, [r2]
; Line 288
ldrb r3, [sp, #0x64]
cmp r3, #4
bne |$LN5@D_DTX_rx_h|
; Line 290
ldr r3, [sp, #0x60]
add r2, r3, #0x59, 30
mov r3, #1
strb r3, [r2]
b |$LN4@D_DTX_rx_h|
|$LN5@D_DTX_rx_h|
; Line 292
ldrb r3, [sp, #0x64]
cmp r3, #5
bne |$LN3@D_DTX_rx_h|
; Line 294
ldr r3, [sp, #0x60]
add r2, r3, #0x59, 30
mov r3, #1
strb r3, [r2]
; Line 295
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r2, r3, #0x65
mov r3, #1
strb r3, [r2]
b |$LN2@D_DTX_rx_h|
|$LN3@D_DTX_rx_h|
; Line 297
ldrb r3, [sp, #0x64]
cmp r3, #6
bne |$LN1@D_DTX_rx_h|
; Line 299
ldr r3, [sp, #0x60]
add r2, r3, #0x59, 30
mov r3, #1
strb r3, [r2]
; Line 300
ldr r3, [sp, #0x60]
add r3, r3, #1, 24
add r2, r3, #0x66
mov r3, #0
strb r3, [r2]
|$LN1@D_DTX_rx_h|
|$LN2@D_DTX_rx_h|
|$LN4@D_DTX_rx_h|
|$LN6@D_DTX_rx_h|
; Line 304
ldrb r3, [sp, #1]
strb r3, [sp, #4]
; Line 307
ldrb r0, [sp, #4]
add sp, sp, #0x58
ldmia sp, {sp, pc}
|$M1582|
ENDP ; |D_DTX_rx_handler|
EXPORT |D_DTX_exe|
IMPORT |D_UTIL_normalised_inverse_sqrt|
IMPORT |D_UTIL_dot_product12|
IMPORT |D_UTIL_random|
IMPORT |D_UTIL_norm_l|
IMPORT |D_UTIL_pow2|
IMPORT |D_LPC_isf_noise_d|
IMPORT |memset|
IMPORT |__imp___rt_sdiv|
AREA |.pdata|, PDATA
|$T1596| DCD |$LN54@D_DTX_exe|
DCD 0x4002d904
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_DTX_exe| PROC
; Line 405
|$LN54@D_DTX_exe|
mov r12, sp
stmdb sp!, {r0 - r3}
stmdb sp!, {r12, lr}
sub sp, sp, #0x90
|$M1593|
; Line 424
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x66
ldrb r3, [r3]
cmp r3, #0
beq |$LN50@D_DTX_exe|
mov r3, #1
str r3, [sp, #0x78]
b |$LN51@D_DTX_exe|
|$LN50@D_DTX_exe|
mov r3, #0
str r3, [sp, #0x78]
|$LN51@D_DTX_exe|
ldr r3, [sp, #0x98]
add r3, r3, #0x59, 30
ldrb r3, [r3]
cmp r3, #0
beq |$LN48@D_DTX_exe|
mov r3, #1
str r3, [sp, #0x7C]
b |$LN49@D_DTX_exe|
|$LN48@D_DTX_exe|
mov r3, #0
str r3, [sp, #0x7C]
|$LN49@D_DTX_exe|
ldr r2, [sp, #0x78]
ldr r3, [sp, #0x7C]
tst r2, r3
beq |$LN45@D_DTX_exe|
; Line 430
ldr r3, [sp, #0x98]
add r3, r3, #0x56, 30
ldrsh r3, [r3]
add r3, r3, #1
str r3, [sp, #0x54]
; Line 432
ldr r3, [sp, #0x54]
cmp r3, #8
bne |$LN44@D_DTX_exe|
; Line 434
mov r3, #0
str r3, [sp, #0x54]
|$LN44@D_DTX_exe|
; Line 438
mov r2, #0x20
ldr r3, [sp, #0x98]
add r3, r3, #0x56, 30
ldrsh r1, [r3]
mov r3, #0x10
mul r0, r1, r3
mov r3, #2
mul r1, r0, r3
ldr r3, [sp, #0x98]
add r1, r3, r1
ldr r0, [sp, #0x54]
mov r3, #0x10
mul lr, r0, r3
mov r3, #2
mul r0, lr, r3
ldr r3, [sp, #0x98]
add r0, r3, r0
bl memcpy
; Line 440
ldr r3, [sp, #0x98]
add r1, r3, #5, 26
ldr r3, [sp, #0x98]
add r3, r3, #0x56, 30
ldrsh r2, [r3]
mov r3, #2
mul r3, r2, r3
add r0, r1, r3
ldr r3, [sp, #0x98]
add r1, r3, #5, 26
ldr r2, [sp, #0x54]
mov r3, #2
mul r3, r2, r3
add r2, r1, r3
ldrsh r3, [r0]
strh r3, [r2]
; Line 443
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r2, r3, #0x52
mov r3, #0
strh r3, [r2]
; Line 444
mov r2, #0x40
mov r1, #0
add r0, sp, #0xC
bl memset
; Line 447
mov r3, #0
str r3, [sp, #0x4C]
b |$LN43@D_DTX_exe|
|$LN42@D_DTX_exe|
ldr r3, [sp, #0x4C]
add r3, r3, #1
str r3, [sp, #0x4C]
|$LN43@D_DTX_exe|
ldr r3, [sp, #0x4C]
cmp r3, #8
bge |$LN41@D_DTX_exe|
; Line 453
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x52
ldrsh r0, [r3]
ldr r3, [sp, #0x98]
add r1, r3, #5, 26
ldr r2, [sp, #0x4C]
mov r3, #2
mul r3, r2, r3
add r3, r1, r3
ldrsh r3, [r3]
add r3, r0, r3
mov r2, r3, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x52
strh r2, [r3]
; Line 455
mov r3, #0
str r3, [sp, #0x74]
b |$LN40@D_DTX_exe|
|$LN39@D_DTX_exe|
ldr r3, [sp, #0x74]
add r3, r3, #1
str r3, [sp, #0x74]
|$LN40@D_DTX_exe|
ldr r3, [sp, #0x74]
cmp r3, #0x10
bge |$LN38@D_DTX_exe|
; Line 457
ldr r1, [sp, #0x74]
mov r3, #4
mul r2, r1, r3
add r3, sp, #0xC
add r0, r3, r2
ldr r1, [sp, #0x4C]
mov r3, #0x10
mul r2, r1, r3
ldr r3, [sp, #0x74]
add r1, r2, r3
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x98]
add r3, r3, r2
ldrsh r2, [r3]
ldr r3, [r0]
add r0, r3, r2
ldr r1, [sp, #0x74]
mov r3, #4
mul r2, r1, r3
add r3, sp, #0xC
add r3, r3, r2
str r0, [r3]
; Line 458
b |$LN39@D_DTX_exe|
|$LN38@D_DTX_exe|
; Line 459
b |$LN42@D_DTX_exe|
|$LN41@D_DTX_exe|
; Line 462
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x52
ldrsh r3, [r3]
mov r3, r3, asr #1
mov r2, r3, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x52
strh r2, [r3]
; Line 468
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x52
ldrsh r3, [r3]
add r3, r3, #1, 22
mov r2, r3, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x52
strh r2, [r3]
; Line 470
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x52
ldrsh r3, [r3]
cmp r3, #0
bpl |$LN37@D_DTX_exe|
; Line 472
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r2, r3, #0x52
mov r3, #0
strh r3, [r2]
|$LN37@D_DTX_exe|
; Line 475
mov r3, #0
str r3, [sp, #0x74]
b |$LN36@D_DTX_exe|
|$LN35@D_DTX_exe|
ldr r3, [sp, #0x74]
add r3, r3, #1
str r3, [sp, #0x74]
|$LN36@D_DTX_exe|
ldr r3, [sp, #0x74]
cmp r3, #0x10
bge |$LN34@D_DTX_exe|
; Line 477
ldr r1, [sp, #0x74]
mov r3, #4
mul r2, r1, r3
add r3, sp, #0xC
add r3, r3, r2
ldr r3, [r3]
mov r3, r3, asr #3
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r3, [sp, #0x98]
add r1, r3, #1, 24
ldr r2, [sp, #0x74]
mov r3, #2
mul r3, r2, r3
add r3, r1, r3
strh r0, [r3]
; Line 478
b |$LN35@D_DTX_exe|
|$LN34@D_DTX_exe|
|$LN45@D_DTX_exe|
; Line 481
ldr r3, [sp, #0x98]
add r3, r3, #0x59, 30
ldrb r3, [r3]
cmp r3, #0
beq |$LN33@D_DTX_exe|
; Line 487
mov r2, #0x20
ldr r3, [sp, #0x98]
add r1, r3, #1, 24
ldr r3, [sp, #0x98]
add r0, r3, #0x12, 28
bl memcpy
; Line 488
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r1, r3, #0x52
ldr r3, [sp, #0x98]
add r2, r3, #0x55, 30
ldrsh r3, [r1]
strh r3, [r2]
; Line 490
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x65
ldrb r3, [r3]
cmp r3, #0
beq |$LN32@D_DTX_exe|
; Line 499
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x5E
ldrsh r3, [r3]
strh r3, [sp, #0x50]
; Line 501
ldrsh r3, [sp, #0x50]
cmp r3, #0x20
ble |$LN31@D_DTX_exe|
; Line 503
mov r3, #0x20
strh r3, [sp, #0x50]
|$LN31@D_DTX_exe|
; Line 506
ldrsh r3, [sp, #0x50]
cmp r3, #2
blt |$LN30@D_DTX_exe|
; Line 509
ldrsh r3, [sp, #0x50]
mov r0, r3, lsl #10
mov r1, #2, 8
ldr r3, [pc, #0x790]
ldr r3, [r3]
mov lr, pc
mov pc, r3
mov r2, r0, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0x98]
add r3, r3, #0x15, 28
strh r2, [r3]
; Line 511
b |$LN29@D_DTX_exe|
|$LN30@D_DTX_exe|
; Line 513
ldr r3, [sp, #0x98]
add r2, r3, #0x15, 28
mov r3, #1, 18
strh r3, [r2]
|$LN29@D_DTX_exe|
; Line 516
ldr r3, [sp, #0x98]
add r1, r3, #1, 24
ldr r3, [sp, #0xA8]
ldr r0, [r3]
bl D_LPC_isf_noise_d
; Line 517
ldr r3, [sp, #0xA8]
ldr r3, [r3]
add r2, r3, #0xA
ldr r3, [sp, #0xA8]
str r2, [r3]
; Line 518
ldr r3, [sp, #0xA8]
ldr r3, [r3]
ldrsh r3, [r3]
strh r3, [sp, #0x52]
ldr r3, [sp, #0xA8]
ldr r3, [r3]
add r2, r3, #2
ldr r3, [sp, #0xA8]
str r2, [r3]
; Line 521
ldr r3, [sp, #0xA8]
ldr r1, [r3]
ldr r3, [sp, #0x98]
add r2, r3, #0x57, 30
ldrsh r3, [r1]
strh r3, [r2]
ldr r3, [sp, #0xA8]
ldr r3, [r3]
add r2, r3, #2
ldr r3, [sp, #0xA8]
str r2, [r3]
; Line 527
ldrsh r3, [sp, #0x52]
mov r3, r3, lsl #9
mov r2, r3, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x52
strh r2, [r3]
; Line 530
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x52
ldrsh r2, [r3]
mov r3, #3, 20
orr r3, r3, #0xC3
mul r3, r2, r3
mov r3, r3, asr #15
mov r2, r3, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x52
strh r2, [r3]
; Line 538
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x62
ldrb r3, [r3]
cmp r3, #0
beq |$LN27@D_DTX_exe|
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x61
ldrb r3, [r3]
cmp r3, #0
bne |$LN28@D_DTX_exe|
|$LN27@D_DTX_exe|
; Line 540
mov r2, #0x20
ldr r3, [sp, #0x98]
add r1, r3, #1, 24
ldr r3, [sp, #0x98]
add r0, r3, #0x12, 28
bl memcpy
; Line 541
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r1, r3, #0x52
ldr r3, [sp, #0x98]
add r2, r3, #0x55, 30
ldrsh r3, [r1]
strh r3, [r2]
|$LN28@D_DTX_exe|
|$LN32@D_DTX_exe|
|$LN33@D_DTX_exe|
; Line 546
ldr r3, [sp, #0x98]
add r3, r3, #0x59, 30
ldrb r3, [r3]
cmp r3, #0
beq |$LN26@D_DTX_exe|
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x65
ldrb r3, [r3]
cmp r3, #0
beq |$LN26@D_DTX_exe|
; Line 548
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r2, r3, #0x5E
mov r3, #0
strh r3, [r2]
|$LN26@D_DTX_exe|
; Line 552
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x5E
ldrsh r3, [r3]
cmp r3, #0x20
bge |$LN25@D_DTX_exe|
; Line 554
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x5E
ldrsh r3, [r3]
mov r3, r3, lsl #10
str r3, [sp, #0x60]
; Line 556
b |$LN24@D_DTX_exe|
|$LN25@D_DTX_exe|
; Line 558
mov r3, #0x7F, 24
orr r3, r3, #0xFF
str r3, [sp, #0x60]
|$LN24@D_DTX_exe|
; Line 561
ldr r3, [sp, #0x98]
add r3, r3, #0x15, 28
ldrsh r3, [r3]
ldr r2, [sp, #0x60]
mul r3, r2, r3
mov r3, r3, asr #15
str r3, [sp, #0x60]
; Line 564
ldr r3, [sp, #0x60]
cmp r3, #1, 22
ble |$LN23@D_DTX_exe|
; Line 566
mov r3, #1, 22
str r3, [sp, #0x60]
|$LN23@D_DTX_exe|
; Line 568
ldr r3, [sp, #0x60]
mov r3, r3, lsl #4
str r3, [sp, #0x60]
; Line 569
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x52
ldrsh r3, [r3]
ldr r2, [sp, #0x60]
mul r3, r2, r3
mov r3, r3, lsl #1
str r3, [sp, #0x5C]
; Line 571
mov r3, #0
str r3, [sp, #0x4C]
b |$LN22@D_DTX_exe|
|$LN21@D_DTX_exe|
ldr r3, [sp, #0x4C]
add r3, r3, #1
str r3, [sp, #0x4C]
|$LN22@D_DTX_exe|
ldr r3, [sp, #0x4C]
cmp r3, #0x10
bge |$LN20@D_DTX_exe|
; Line 574
ldr r3, [sp, #0x98]
add r1, r3, #1, 24
ldr r2, [sp, #0x4C]
mov r3, #2
mul r3, r2, r3
add r3, r1, r3
ldrsh r3, [r3]
ldr r2, [sp, #0x60]
mul r3, r2, r3
mov r3, r3, asr #15
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp, #0x4C]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0xA4]
add r3, r3, r2
strh r0, [r3]
; Line 575
b |$LN21@D_DTX_exe|
|$LN20@D_DTX_exe|
; Line 576
ldr r3, [sp, #0x60]
rsb r3, r3, #1, 18
str r3, [sp, #0x60]
; Line 579
ldr r3, [sp, #0x98]
add r3, r3, #0x55, 30
ldrsh r3, [r3]
ldr r2, [sp, #0x60]
mul r3, r2, r3
mov r2, r3, lsl #1
ldr r3, [sp, #0x5C]
add r3, r3, r2
str r3, [sp, #0x5C]
; Line 581
mov r3, #0
str r3, [sp, #0x4C]
b |$LN19@D_DTX_exe|
|$LN18@D_DTX_exe|
ldr r3, [sp, #0x4C]
add r3, r3, #1
str r3, [sp, #0x4C]
|$LN19@D_DTX_exe|
ldr r3, [sp, #0x4C]
cmp r3, #0x10
bge |$LN17@D_DTX_exe|
; Line 584
ldr r1, [sp, #0x4C]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0xA4]
add r3, r3, r2
ldrsh r0, [r3]
ldr r3, [sp, #0x98]
add r1, r3, #0x12, 28
ldr r2, [sp, #0x4C]
mov r3, #2
mul r3, r2, r3
add r3, r1, r3
ldrsh r3, [r3]
ldr r2, [sp, #0x60]
mul r3, r2, r3
mov r3, r3, asr #15
add r3, r0, r3
str r3, [sp, #0x70]
; Line 585
ldr r3, [sp, #0x70]
mov r3, r3, lsl #1
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp, #0x4C]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0xA4]
add r3, r3, r2
strh r0, [r3]
; Line 586
b |$LN18@D_DTX_exe|
|$LN17@D_DTX_exe|
; Line 589
ldr r3, [sp, #0x98]
add r3, r3, #0x57, 30
ldrsh r3, [r3]
cmp r3, #0
beq |$LN16@D_DTX_exe|
; Line 591
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r2, r3, #0x5A
add r1, sp, #0x5C
ldr r0, [sp, #0xA4]
bl D_DTX_cn_dithering
|$LN16@D_DTX_exe|
; Line 595
ldr r3, [sp, #0x5C]
mov r3, r3, asr #9
str r3, [sp, #0x5C]
; Line 598
ldr r3, [sp, #0x5C]
mov r3, r3, asr #16
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp, #0x6E]
; Line 601
ldrsh r3, [sp, #0x6E]
mov r2, r3, lsl #16
ldr r3, [sp, #0x5C]
sub r3, r3, r2
mov r3, r3, asr #1
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp, #0x6C]
; Line 608
ldrsh r3, [sp, #0x6E]
add r3, r3, #0xF
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp, #0x6E]
; Line 611
ldrsh r1, [sp, #0x6C]
ldrsh r0, [sp, #0x6E]
bl D_UTIL_pow2
str r0, [sp, #0x80]
ldr r3, [sp, #0x80]
str r3, [sp, #0x64]
; Line 612
ldr r0, [sp, #0x64]
bl D_UTIL_norm_l
strh r0, [sp, #0x84]
ldrsh r3, [sp, #0x84]
str r3, [sp, #0x68]
; Line 613
ldr r2, [sp, #0x64]
ldr r3, [sp, #0x68]
mov r3, r2, lsl r3
str r3, [sp, #0x64]
; Line 614
ldr r3, [sp, #0x68]
rsb r3, r3, #0xF
str r3, [sp, #0x68]
; Line 615
ldr r3, [sp, #0x64]
mov r3, r3, asr #16
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp]
; Line 618
mov r3, #0
str r3, [sp, #0x4C]
b |$LN15@D_DTX_exe|
|$LN14@D_DTX_exe|
ldr r3, [sp, #0x4C]
add r3, r3, #1
str r3, [sp, #0x4C]
|$LN15@D_DTX_exe|
ldr r3, [sp, #0x4C]
cmp r3, #1, 24
bge |$LN13@D_DTX_exe|
; Line 620
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r0, r3, #0x56
bl D_UTIL_random
strh r0, [sp, #0x86]
ldrsh r3, [sp, #0x86]
mov r3, r3, asr #4
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp, #0x4C]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x9C]
add r3, r3, r2
strh r0, [r3]
; Line 621
b |$LN14@D_DTX_exe|
|$LN13@D_DTX_exe|
; Line 625
add r3, sp, #8
mov r2, #1, 24
ldr r1, [sp, #0x9C]
ldr r0, [sp, #0x9C]
bl D_UTIL_dot_product12
str r0, [sp, #0x88]
ldr r3, [sp, #0x88]
str r3, [sp, #0x58]
; Line 626
add r1, sp, #8
add r0, sp, #0x58
bl D_UTIL_normalised_inverse_sqrt
; Line 627
ldr r3, [sp, #0x58]
mov r3, r3, asr #16
str r3, [sp, #4]
; Line 628
ldrsh r2, [sp]
ldr r3, [sp, #4]
mul r3, r2, r3
mov r3, r3, asr #15
str r3, [sp, #4]
; Line 631
ldrsh r2, [sp, #8]
ldr r3, [sp, #0x68]
add r3, r3, r2
add r3, r3, #4
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp, #8]
; Line 633
ldrsh r3, [sp, #8]
cmp r3, #0
bmi |$LN12@D_DTX_exe|
; Line 635
mov r3, #0
str r3, [sp, #0x4C]
b |$LN11@D_DTX_exe|
|$LN10@D_DTX_exe|
ldr r3, [sp, #0x4C]
add r3, r3, #1
str r3, [sp, #0x4C]
|$LN11@D_DTX_exe|
ldr r3, [sp, #0x4C]
cmp r3, #1, 24
bge |$LN9@D_DTX_exe|
; Line 637
ldr r1, [sp, #0x4C]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x9C]
add r3, r3, r2
ldrsh r2, [r3]
ldr r3, [sp, #4]
mul r3, r2, r3
mov r3, r3, asr #15
str r3, [sp, #0x70]
; Line 638
ldrsh r2, [sp, #8]
ldr r3, [sp, #0x70]
mov r3, r3, lsl r2
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp, #0x4C]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x9C]
add r3, r3, r2
strh r0, [r3]
; Line 639
b |$LN10@D_DTX_exe|
|$LN9@D_DTX_exe|
; Line 641
b |$LN8@D_DTX_exe|
|$LN12@D_DTX_exe|
; Line 643
ldrsh r3, [sp, #8]
rsb r3, r3, #0
mov r3, r3, lsl #16
mov r3, r3, asr #16
strh r3, [sp, #8]
; Line 645
mov r3, #0
str r3, [sp, #0x4C]
b |$LN7@D_DTX_exe|
|$LN6@D_DTX_exe|
ldr r3, [sp, #0x4C]
add r3, r3, #1
str r3, [sp, #0x4C]
|$LN7@D_DTX_exe|
ldr r3, [sp, #0x4C]
cmp r3, #1, 24
bge |$LN5@D_DTX_exe|
; Line 647
ldr r1, [sp, #0x4C]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x9C]
add r3, r3, r2
ldrsh r2, [r3]
ldr r3, [sp, #4]
mul r3, r2, r3
mov r3, r3, asr #15
str r3, [sp, #0x70]
; Line 648
ldrsh r2, [sp, #8]
ldr r3, [sp, #0x70]
mov r3, r3, asr r2
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp, #0x4C]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x9C]
add r3, r3, r2
strh r0, [r3]
; Line 649
b |$LN6@D_DTX_exe|
|$LN5@D_DTX_exe|
|$LN8@D_DTX_exe|
; Line 652
ldrsh r3, [sp, #0xA0]
cmp r3, #2
bne |$LN4@D_DTX_exe|
; Line 658
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x5E
ldrsh r3, [r3]
strh r3, [sp, #0x50]
; Line 660
ldrsh r3, [sp, #0x50]
cmp r3, #0x20
ble |$LN3@D_DTX_exe|
; Line 662
mov r3, #0x20
strh r3, [sp, #0x50]
|$LN3@D_DTX_exe|
; Line 665
ldrsh r3, [sp, #0x50]
mov r0, r3, lsl #10
mov r1, #2, 8
ldr r3, [pc, #0x10C]
ldr r3, [r3]
mov lr, pc
mov pc, r3
bl D_UTIL_saturate
strh r0, [sp, #0x8C]
ldr r3, [sp, #0x98]
add r2, r3, #0x15, 28
ldrsh r3, [sp, #0x8C]
strh r3, [r2]
; Line 666
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r2, r3, #0x5E
mov r3, #0
strh r3, [r2]
; Line 667
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r1, r3, #0x52
ldr r3, [sp, #0x98]
add r2, r3, #0x55, 30
ldrsh r3, [r1]
strh r3, [r2]
; Line 670
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x52
ldrsh r3, [r3]
sub r0, r3, #0x40
bl D_UTIL_saturate
strh r0, [sp, #0x8E]
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r2, r3, #0x52
ldrsh r3, [sp, #0x8E]
strh r3, [r2]
|$LN4@D_DTX_exe|
; Line 675
ldr r3, [sp, #0x98]
add r3, r3, #0x59, 30
ldrb r3, [r3]
cmp r3, #0
beq |$LN2@D_DTX_exe|
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x65
ldrb r3, [r3]
cmp r3, #0
bne |$LN1@D_DTX_exe|
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x65
ldrb r3, [r3]
cmp r3, #0
bne |$LN2@D_DTX_exe|
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r3, r3, #0x66
ldrb r3, [r3]
cmp r3, #0
beq |$LN2@D_DTX_exe|
|$LN1@D_DTX_exe|
; Line 677
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r2, r3, #0x5E
mov r3, #0
strh r3, [r2]
; Line 678
ldr r3, [sp, #0x98]
add r3, r3, #1, 24
add r2, r3, #0x62
mov r3, #1
strb r3, [r2]
|$LN2@D_DTX_exe|
; Line 682
add sp, sp, #0x90
ldmia sp, {sp, pc}
|$LN55@D_DTX_exe|
DCD |__imp___rt_sdiv|
|$M1594|
ENDP ; |D_DTX_exe|
AREA |.pdata|, PDATA
|$T1602| DCD |$LN14@D_DTX_cn_d|
DCD 0x4000a704
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_DTX_cn_dithering| PROC
; Line 326
|$LN14@D_DTX_cn_d|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r12, lr}
sub sp, sp, #0x24
|$M1599|
; Line 330
ldr r0, [sp, #0x34]
bl D_UTIL_random
strh r0, [sp, #0x18]
ldrsh r3, [sp, #0x18]
mov r3, r3, asr #1
str r3, [sp, #0xC]
; Line 331
ldr r0, [sp, #0x34]
bl D_UTIL_random
strh r0, [sp, #0x1A]
ldrsh r3, [sp, #0x1A]
mov r3, r3, asr #1
str r3, [sp, #0x14]
; Line 332
ldr r2, [sp, #0xC]
ldr r3, [sp, #0x14]
add r3, r2, r3
str r3, [sp, #0xC]
; Line 333
ldr r2, [sp, #0xC]
mov r3, #0x4B
mul r3, r2, r3
mov r2, r3, lsl #1
ldr r3, [sp, #0x30]
ldr r3, [r3]
add r2, r3, r2
ldr r3, [sp, #0x30]
str r2, [r3]
; Line 335
ldr r3, [sp, #0x30]
ldr r3, [r3]
cmp r3, #0
bge |$LN9@D_DTX_cn_d|
; Line 337
ldr r2, [sp, #0x30]
mov r3, #0
str r3, [r2]
|$LN9@D_DTX_cn_d|
; Line 341
mov r3, #1, 24
str r3, [sp, #8]
; Line 342
ldr r0, [sp, #0x34]
bl D_UTIL_random
strh r0, [sp, #0x1C]
ldrsh r3, [sp, #0x1C]
mov r3, r3, asr #1
str r3, [sp, #0xC]
; Line 343
ldr r0, [sp, #0x34]
bl D_UTIL_random
strh r0, [sp, #0x1E]
ldrsh r3, [sp, #0x1E]
mov r3, r3, asr #1
str r3, [sp, #0x14]
; Line 344
ldr r2, [sp, #0xC]
ldr r3, [sp, #0x14]
add r3, r2, r3
str r3, [sp, #0xC]
; Line 345
ldr r3, [sp, #0x2C]
ldrsh r1, [r3]
ldr r2, [sp, #0xC]
ldr r3, [sp, #8]
mul r3, r2, r3
add r3, r3, #1, 18
mov r3, r3, asr #15
add r3, r1, r3
str r3, [sp, #4]
; Line 348
ldr r3, [sp, #4]
cmp r3, #0x80
bge |$LN8@D_DTX_cn_d|
; Line 350
ldr r2, [sp, #0x2C]
mov r3, #0x80
strh r3, [r2]
; Line 352
b |$LN7@D_DTX_cn_d|
|$LN8@D_DTX_cn_d|
; Line 354
ldr r3, [sp, #4]
mov r2, r3, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0x2C]
strh r2, [r3]
|$LN7@D_DTX_cn_d|
; Line 357
mov r3, #1
str r3, [sp]
b |$LN6@D_DTX_cn_d|
|$LN5@D_DTX_cn_d|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN6@D_DTX_cn_d|
ldr r3, [sp]
cmp r3, #0xF
bge |$LN4@D_DTX_cn_d|
; Line 359
ldr r3, [sp, #8]
add r3, r3, #2
str r3, [sp, #8]
; Line 360
ldr r0, [sp, #0x34]
bl D_UTIL_random
strh r0, [sp, #0x20]
ldrsh r3, [sp, #0x20]
mov r3, r3, asr #1
str r3, [sp, #0xC]
; Line 361
ldr r0, [sp, #0x34]
bl D_UTIL_random
strh r0, [sp, #0x22]
ldrsh r3, [sp, #0x22]
mov r3, r3, asr #1
str r3, [sp, #0x14]
; Line 362
ldr r2, [sp, #0xC]
ldr r3, [sp, #0x14]
add r3, r2, r3
str r3, [sp, #0xC]
; Line 363
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x2C]
add r3, r3, r2
ldrsh r1, [r3]
ldr r2, [sp, #0xC]
ldr r3, [sp, #8]
mul r3, r2, r3
add r3, r3, #1, 18
mov r3, r3, asr #15
add r3, r1, r3
str r3, [sp, #4]
; Line 364
ldr r3, [sp]
sub r1, r3, #1
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x2C]
add r3, r3, r2
ldrsh r2, [r3]
ldr r3, [sp, #4]
sub r3, r3, r2
str r3, [sp, #0x10]
; Line 367
ldr r3, [sp, #0x10]
cmp r3, #7, 26
bge |$LN3@D_DTX_cn_d|
; Line 369
ldr r3, [sp]
sub r1, r3, #1
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x2C]
add r3, r3, r2
ldrsh r3, [r3]
add r3, r3, #7, 26
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x2C]
add r3, r3, r2
strh r0, [r3]
; Line 371
b |$LN2@D_DTX_cn_d|
|$LN3@D_DTX_cn_d|
; Line 373
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, #0x2C]
add r3, r3, r2
strh r0, [r3]
|$LN2@D_DTX_cn_d|
; Line 375
b |$LN5@D_DTX_cn_d|
|$LN4@D_DTX_cn_d|
; Line 378
ldr r3, [sp, #0x2C]
add r3, r3, #0x1C
ldrsh r3, [r3]
cmp r3, #1, 18
ble |$LN1@D_DTX_cn_d|
; Line 380
ldr r3, [sp, #0x2C]
add r2, r3, #0x1C
mov r3, #1, 18
strh r3, [r2]
|$LN1@D_DTX_cn_d|
; Line 384
add sp, sp, #0x24
ldmia sp, {sp, pc}
|$M1600|
ENDP ; |D_DTX_cn_dithering|
EXPORT |D_DTX_activity_update|
IMPORT |D_UTIL_log2|
AREA |.pdata|, PDATA
|$T1607| DCD |$LN10@D_DTX_acti|
DCD 0x40006104
; Function compile flags: /Odsp
AREA |.text|, CODE, ARM
|D_DTX_activity_update| PROC
; Line 700
|$LN10@D_DTX_acti|
mov r12, sp
stmdb sp!, {r0 - r2}
stmdb sp!, {r12, lr}
sub sp, sp, #0x10
|$M1604|
; Line 706
ldr r3, [sp, #0x18]
add r3, r3, #0x56, 30
ldrsh r3, [r3]
add r3, r3, #1
mov r2, r3, lsl #16
mov r2, r2, asr #16
ldr r3, [sp, #0x18]
add r3, r3, #0x56, 30
strh r2, [r3]
; Line 708
ldr r3, [sp, #0x18]
add r3, r3, #0x56, 30
ldrsh r3, [r3]
cmp r3, #8
bne |$LN5@D_DTX_acti|
; Line 710
ldr r3, [sp, #0x18]
add r2, r3, #0x56, 30
mov r3, #0
strh r3, [r2]
|$LN5@D_DTX_acti|
; Line 713
mov r2, #0x20
ldr r1, [sp, #0x1C]
ldr r3, [sp, #0x18]
add r3, r3, #0x56, 30
ldrsh r0, [r3]
mov r3, #0x10
mul lr, r0, r3
mov r3, #2
mul r0, lr, r3
ldr r3, [sp, #0x18]
add r0, r3, r0
bl memcpy
; Line 716
mov r3, #0
str r3, [sp, #8]
; Line 718
mov r3, #0
str r3, [sp]
b |$LN4@D_DTX_acti|
|$LN3@D_DTX_acti|
ldr r3, [sp]
add r3, r3, #1
str r3, [sp]
|$LN4@D_DTX_acti|
ldr r3, [sp]
cmp r3, #1, 24
bge |$LN2@D_DTX_acti|
; Line 720
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
ldrsh r0, [r3]
ldr r1, [sp]
mov r3, #2
mul r2, r1, r3
ldr r3, [sp, #0x20]
add r3, r3, r2
ldrsh r3, [r3]
mul r2, r0, r3
ldr r3, [sp, #8]
add r3, r3, r2
str r3, [sp, #8]
; Line 721
ldr r3, [sp, #8]
cmn r3, #7, 2
ble |$LN1@D_DTX_acti|
; Line 723
mvn r3, #3, 2
str r3, [sp, #8]
; Line 724
b |$LN2@D_DTX_acti|
|$LN1@D_DTX_acti|
; Line 726
b |$LN3@D_DTX_acti|
|$LN2@D_DTX_acti|
; Line 732
add r2, sp, #0xC
add r1, sp, #0xE
ldr r0, [sp, #8]
bl D_UTIL_log2
; Line 738
ldrsh r3, [sp, #0xE]
mov r3, r3, lsl #7
str r3, [sp, #4]
; Line 739
ldrsh r3, [sp, #0xC]
mov r2, r3, asr #8
ldr r3, [sp, #4]
add r3, r3, r2
str r3, [sp, #4]
; Line 742
ldr r3, [sp, #4]
sub r3, r3, #1, 22
str r3, [sp, #4]
; Line 745
ldr r3, [sp, #4]
mov r0, r3, lsl #16
mov r0, r0, asr #16
ldr r3, [sp, #0x18]
add r1, r3, #5, 26
ldr r3, [sp, #0x18]
add r3, r3, #0x56, 30
ldrsh r2, [r3]
mov r3, #2
mul r3, r2, r3
add r3, r1, r3
strh r0, [r3]
; Line 748
add sp, sp, #0x10
ldmia sp, {sp, pc}
|$M1605|
ENDP ; |D_DTX_activity_update|
END