2051 lines
49 KiB
NASM
Executable File
2051 lines
49 KiB
NASM
Executable File
; 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
|