summaryrefslogtreecommitdiff
path: root/asm/emerald.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/emerald.s')
-rw-r--r--asm/emerald.s22333
1 files changed, 9 insertions, 22324 deletions
diff --git a/asm/emerald.s b/asm/emerald.s
index 6d189ab2d..cef2de1a0 100644
--- a/asm/emerald.s
+++ b/asm/emerald.s
@@ -920799,22327 +920799,12 @@ _081DB66C:
.pool
thumb_func_end sub_81DB620
- .incbin "base_emerald.gba", 0x1db67c, 0x2ded70 - 0x1db67c
- thumb_func_start sub_82DED70
-sub_82DED70: @ 82DED70
- push {r4,lr}
- ldr r4, _082DEE78
- eors r3, r1
- movs r2, 0x20
-_082DED78:
- lsrs r3, 1
- bcc _082DED7E
- eors r3, r4
-_082DED7E:
- subs r2, 0x1
- bne _082DED78
- pop {r4,pc}
- thumb_func_end sub_82DED70
-
- thumb_func_start sub_82DED84
-sub_82DED84: @ 82DED84
- ldr r1, [r0, 0x28]
- cmp r1, 0
- beq _082DEDAA
- ldrb r1, [r0, 0x1]
- adds r1, 0x1
- strb r1, [r0, 0x1]
- ldrb r1, [r0, 0x2]
- cmp r1, 0x2
- beq _082DEDF4
- ldr r3, _082DF038
- ldrh r2, [r3, 0x8]
- movs r1, 0
- strh r1, [r3, 0x8]
- ldrb r1, [r0]
- cmp r1, 0xA
- bgt _082DEDA8
- adds r1, 0x1
- strb r1, [r0]
-_082DEDA8:
- strh r2, [r3, 0x8]
-_082DEDAA:
- bcs sub_82DEE98
- ldrb r1, [r0, 0x2]
- cmp r1, 0
- bne _082DEDF6
- ldr r1, [r0, 0x24]
- ldr r2, [r0, 0x20]
- subs r1, r2
- beq _082DEE76
- cmp r1, 0xA0
- bcc _082DEE76
- push {r4-r6}
- movs r1, 0x98
- adds r2, 0x4
- ldr r4, _082DEE80
-_082DEDC6:
- ldm r2!, {r5}
- ldm r4!, {r6}
- cmp r5, r6
- bne _082DEDDC
- subs r1, 0x4
- bne _082DEDC6
- ldm r2!, {r5}
- ldm r4!, {r6}
- eors r5, r6
- lsrs r5, 8
- str r2, [r0, 0x20]
-_082DEDDC:
- pop {r4-r6}
- bne sub_82DEE98
- movs r1, 0x1
- strb r1, [r0, 0x2]
- ldr r1, [r0, 0x4]
- ldr r2, [r0, 0x8]
- eors r1, r2
- str r1, [r0, 0x18]
- ldr r2, _082DEE7C
- muls r1, r2
- adds r1, 0x1
- str r1, [r0, 0x14]
-_082DEDF4:
- bx lr
-_082DEDF6:
- ldr r1, [r0, 0x24]
- mov r12, r1
- ldr r3, [r0, 0x18]
- push {r4-r7}
- ldr r4, [r0, 0x20]
- ldr r5, _082DEE7C
- ldr r6, [r0, 0x14]
- ldr r7, _082DEE78
-_082DEE06:
- cmp r4, r12
- bcs _082DEE26
- ldr r1, [r4]
- eors r1, r6
- adds r1, r3
- stm r4!, {r1}
- eors r3, r1
- movs r2, 0x20
-_082DEE16:
- lsrs r3, 1
- bcc _082DEE1C
- eors r3, r7
-_082DEE1C:
- subs r2, 0x1
- bne _082DEE16
- muls r6, r5
- adds r6, 0x1
- b _082DEE06
-_082DEE26:
- str r4, [r0, 0x20]
- str r6, [r0, 0x14]
- pop {r4-r7}
- str r3, [r0, 0x18]
- ldrh r1, [r0, 0x12]
- cmp r1, 0
- bne _082DEE76
- ldr r1, [r0, 0x24]
- ldr r2, [r0, 0x20]
- cmp r1, r2
- bne _082DEE76
- ldr r1, [r0, 0xC]
- cmp r1, 0
- beq _082DEE60
- ldrh r1, [r0, 0x10]
- cmp r1, 0
- beq _082DEDF4
- mov r12, lr
- movs r1, 0xBB
- ldr r3, [r0, 0xC]
- bl sub_82DED70
- ldrh r1, [r0, 0x10]
- mov lr, r12
- subs r1, r3
- bne sub_82DEE98
- movs r1, 0x2
- strb r1, [r0, 0x2]
- bx lr
-_082DEE60:
- mov r12, lr
- ldrb r1, [r0, 0x3]
- lsls r1, 24
- subs r1, 0x1
- str r1, [r0, 0xC]
- bl sub_82DED70
- lsls r3, 8
- adds r3, 0xFF
- str r3, [r0, 0x1C]
- bx r12
-_082DEE76:
- bx lr
- .align 2, 0
-_082DEE78: .4byte 0x0000a1c1
-_082DEE7C: .4byte 0x6177614b
-_082DEE80: .4byte RomHeaderNintendoLogo
- thumb_func_end sub_82DED84
-
- thumb_func_start sub_82DEE84
-sub_82DEE84: @ 82DEE84
- ldrb r1, [r0, 0x2]
- cmp r1, 0x2
- bne _082DEE96
- ldr r3, _082DF038
- movs r1, 0
- strh r1, [r3, 0x8]
- ldr r1, _082DF048
- adds r1, 0xC0
- bx r1
-_082DEE96:
- bx lr
- thumb_func_end sub_82DEE84
-
- thumb_func_start sub_82DEE98
-sub_82DEE98: @ 82DEE98
- ldr r3, _082DF038
- ldrh r2, [r3, 0x8]
- movs r1, 0
- strh r1, [r3, 0x8]
- adr r3, _082DEEF8
- str r3, [r0, 0x28]
- ldrb r3, [r0, 0x3]
- push {r3}
- ldrb r3, [r0, 0x1]
- push {r0,r3}
- adds r3, r0, 0
- adds r3, 0x20
-_082DEEB0:
- stm r0!, {r1}
- cmp r0, r3
- bcc _082DEEB0
- pop {r0,r3}
- lsrs r3, 1
- strb r3, [r0, 0x3]
- pop {r3}
- strb r3, [r0, 0x1]
- ldr r3, _082DF03C
- lsls r0, r3, 10
- strh r0, [r3, 0x14]
- movs r0, 0xC0
- lsls r0, 8
- strh r0, [r3, 0x14]
- movs r0, 0x47
- strh r0, [r3, 0x20]
- strh r1, [r3, 0x38]
- ldr r3, _082DF038
- movs r0, 0x80
- strh r0, [r3, 0x2]
- ldrh r1, [r3]
- orrs r1, r0
- strh r1, [r3]
- strh r2, [r3, 0x8]
- bx lr
- thumb_func_end sub_82DEE98
-
- non_word_aligned_thumb_func_start sub_82DEEE2
-sub_82DEEE2: @ 82DEEE2
- ldr r3, _082DF03C
- ldrh r1, [r3, 0x20]
- strh r1, [r3, 0x20]
- movs r2, 0
- strb r2, [r0]
- ldr r2, [r0, 0x28]
- cmp r2, 0
- beq _082DEF04
- lsrs r1, 1
- bcs _082DEF06
- mov pc, r2
-_082DEEF8:
- movs r2, 0
- strh r2, [r3, 0x38]
-_082DEEFC:
- str r2, [r0, 0x28]
-_082DEEFE:
- ldr r3, _082DF040
- ldrh r1, [r3, 0x2]
- strb r1, [r0, 0x3]
-_082DEF04:
- bx lr
-_082DEF06:
- ldr r1, [r3, 0x30]
- ldr r1, _082DF044
- str r1, [r3, 0x34]
- movs r1, 0x10
- strh r1, [r3, 0x38]
- ldrb r1, [r0, 0x3]
- strb r1, [r0, 0x9]
- ldrb r1, [r0, 0x2]
- cmp r1, 0
- bne _082DEEF8
- ldr r1, _082DF048
- str r1, [r0, 0x20]
- str r1, [r0, 0x24]
- adr r2, .Lsub_82DEF24
- b _082DEEFC
- thumb_func_end sub_82DEEE2
-
- thumb_func_start sub_82DEF24
-.Lsub_82DEF24:
-sub_82DEF24: @ 82DEF24
- lsls r1, 31
- bcc _082DEEF8
- bmi _082DEF34
- adr r2, .Lsub_82DEF30
- b _082DEEFC
- thumb_func_end sub_82DEF24
-
- thumb_func_start sub_82DEF30
-.Lsub_82DEF30:
-sub_82DEF30: @ 82DEF30
- lsrs r1, 1
- bcc _082DEEF8
-_082DEF34:
- ldr r1, [r3, 0x30]
- ldr r2, _082DF044
- cmp r1, r2
- bne _082DEEF8
- ldrb r1, [r0, 0x3]
- strb r1, [r0, 0xB]
- adr r2, .Lsub_82DEF44
- b _082DEEFC
- thumb_func_end sub_82DEF30
-
- thumb_func_start sub_82DEF44
-.Lsub_82DEF44:
-sub_82DEF44: @ 82DEF44
- lsrs r1, 1
- bcc _082DEEF8
- ldr r1, [r3, 0x30]
- lsrs r2, r1, 24
- cmp r2, 0xDD
- bne _082DEEF8
- str r1, [r0, 0x4]
- ldrb r1, [r0, 0x1]
- strb r1, [r0, 0xA]
- movs r2, 0
- movs r3, 0
- ldr r1, [r0, 0x8]
- lsrs r1, 8
-_082DEF5E:
- lsrs r1, 1
- adcs r2, r3
- cmp r1, 0
- bne _082DEF5E
- cmp r2, 0xE
- bgt _082DEF70
- cmp r2, 0x7
- bge _082DEF72
- movs r1, 0xFF
-_082DEF70:
- strb r1, [r0, 0xA]
-_082DEF72:
- ldr r1, [r0, 0x8]
- adds r1, 0xEE
- ldr r3, _082DF03C
- str r1, [r3, 0x34]
- movs r1, 0x30
- strh r1, [r3, 0x38]
- adr r2, .Lsub_82DEF84
- b _082DEEFC
- thumb_func_end sub_82DEF44
-
- thumb_func_start sub_82DEF84
-.Lsub_82DEF84:
-sub_82DEF84: @ 82DEF84
- lsls r1, 31
- bcc _082DEEF8
- bmi _082DEF94
- adr r2, .Lsub_82DEF90
- b _082DEEFC
- thumb_func_end sub_82DEF84
-
- thumb_func_start sub_82DEF90
-.Lsub_82DEF90:
-sub_82DEF90: @ 82DEF90
- lsrs r1, 1
- bcc _082DEEF8
-_082DEF94:
- ldr r1, [r3, 0x30]
- ldr r2, _082DF034
- cmp r1, r2
- bcs _082DEEF8
- adds r1, 0x1
- adds r1, r1
- strh r1, [r0, 0x12]
- ldrb r1, [r0, 0x2]
- cmp r1, 0
-_082DEFA6:
- bne _082DEEF8
- ldr r1, _082DF048
- str r1, [r0, 0x20]
- str r1, [r0, 0x24]
- adr r2, .Lsub_82DEFB4
- b _082DEEFC
- thumb_func_end sub_82DEF90
-
- thumb_func_start sub_82DEFB4
-.Lsub_82DEFB4:
-sub_82DEFB4: @ 82DEFB4
- lsrs r1, 1
- bcc _082DEEF8
- ldr r2, [r0, 0x24]
- movs r1, 0x4
- ands r1, r2
- adds r1, 0x8
- lsls r1, 2
- strh r1, [r3, 0x38]
- ldr r1, [r3, 0x30]
- stm r2!, {r1}
- str r2, [r0, 0x24]
- ldrh r1, [r0, 0x12]
- subs r1, 0x1
- strh r1, [r0, 0x12]
- bne _082DEEFE
-_082DEFD2:
- ldrb r1, [r0, 0x1]
- lsls r1, 8
- adds r1, 0xCC
- str r1, [r3, 0x34]
- adr r2, _082DEFE0
- b _082DEEFC
- .align 2, 0
-_082DEFE0:
- lsls r1, 31
-_082DEFE2:
- bcc _082DEEF8
- ldr r1, [r0, 0x1C]
- cmp r1, 0
- beq _082DEFD2
- str r1, [r3, 0x34]
- adr r2, .Lsub_82DEFF0
- b _082DEEFC
- thumb_func_end sub_82DEFB4
-
- thumb_func_start sub_82DEFF0
-.Lsub_82DEFF0:
-sub_82DEFF0: @ 82DEFF0
- lsls r1, 31
- bcc _082DEFE2
- bmi _082DF000
- adr r2, .L_082DEFFC
- b _082DEEFC
- .align 2, 0
-.L_082DEFFC:
-_082DEFFC:
- lsrs r1, 1
- bcc _082DEFE2
-_082DF000:
- ldr r1, [r3, 0x30]
- lsrs r2, r1, 24
- cmp r2, 0xBB
- bne _082DEFA6
- strh r1, [r0, 0x10]
- adr r2, .Lsub_82DF010
- b _082DEEFC
- thumb_func_end sub_82DEFF0
-
- thumb_func_start sub_82DF010
-.Lsub_82DF010:
-sub_82DF010: @ 82DF010
- b _082DEEF8
- thumb_func_end sub_82DF010
-
- non_word_aligned_thumb_func_start sub_82DF012
-sub_82DF012: @ 82DF012
- ldr r3, _082DF038
- ldrh r2, [r3, 0x8]
- movs r1, 0
- strh r1, [r3, 0x8]
- ldr r3, _082DF03C
- movs r0, 0x7
- strh r0, [r3, 0x20]
- lsls r0, r3, 10
- strh r0, [r3, 0x14]
- ldr r3, _082DF038
- movs r0, 0x80
- strh r0, [r3, 0x2]
- ldrh r1, [r3]
- bics r1, r0
- strh r1, [r3]
- strh r2, [r3, 0x8]
- bx lr
- .align 2, 0
-_082DF034: .4byte 0x00004000
-_082DF038: .4byte 0x04000200
-_082DF03C: .4byte 0x04000120
-_082DF040: .4byte 0x04000004
-_082DF044: .4byte 0x45565841
-_082DF048: .4byte 0x02000000
- thumb_func_end sub_82DF012
-
- thumb_func_start umul3232H32
-umul3232H32: @ 82DF04C
- adr r2, _082DF050
- bx r2
- .arm
-_082DF050:
- umull r2, r3, r0, r1
- add r0, r3, 0
- bx lr
- thumb_func_end umul3232H32
-
- .thumb
- thumb_func_start SoundMain
-SoundMain: @ 82DF05C
- ldr r0, _082DF0C8
- ldr r0, [r0]
- ldr r2, _082DF0CC
- ldr r3, [r0]
- cmp r2, r3
- beq _082DF06A
- bx lr
-_082DF06A:
- adds r3, 0x1
- str r3, [r0]
- push {r4-r7,lr}
- mov r1, r8
- mov r2, r9
- mov r3, r10
- mov r4, r11
- push {r0-r4}
- sub sp, 0x18
- ldrb r1, [r0, 0xC]
- cmp r1, 0
- beq _082DF08E
- ldr r2, _082DF0D4
- ldrb r2, [r2]
- cmp r2, 0xA0
- bcs _082DF08C
- adds r2, 0xE4
-_082DF08C:
- adds r1, r2
-_082DF08E:
- str r1, [sp, 0x14]
- ldr r3, [r0, 0x20]
- cmp r3, 0
- beq _082DF09E
- ldr r0, [r0, 0x24]
- bl _082DF496
- ldr r0, [sp, 0x18]
-_082DF09E:
- ldr r3, [r0, 0x28]
- bl _082DF496
- ldr r0, [sp, 0x18]
- ldr r3, [r0, 0x10]
- mov r8, r3
- ldr r5, _082DF0D8
- adds r5, r0
- ldrb r4, [r0, 0x4]
- subs r7, r4, 0x1
- bls _082DF0BE
- ldrb r1, [r0, 0xB]
- subs r1, r7
- mov r2, r8
- muls r2, r1
- adds r5, r2
-_082DF0BE:
- str r5, [sp, 0x8]
- ldr r6, _082DF0DC
- ldr r3, _082DF0D0
- bx r3
- .align 2, 0
-_082DF0C8: .4byte 0x03007ff0
-_082DF0CC: .4byte 0x68736d53
-_082DF0D0: .4byte 0x03001aa9
-_082DF0D4: .4byte 0x04000006
-_082DF0D8: .4byte 0x00000350
-_082DF0DC: .4byte 0x00000630
- thumb_func_end SoundMain
-
- thumb_func_start SoundMainRAM
-SoundMainRAM: @ 82DF0E0
- ldrb r3, [r0, 0x5]
- cmp r3, 0
- beq _082DF140
- adr r1, _082DF0EC
- bx r1
- .arm
-_082DF0EC:
- cmp r4, 0x2
- addeq r7, r0, 0x350
- addne r7, r5, r8
- mov r4, r8
-_082DF0FC:
- ldrsb r0, [r5, r6]
- ldrsb r1, [r5]
- add r0, r0, r1
- ldrsb r1, [r7, r6]
- add r0, r0, r1
- ldrsb r1, [r7], 0x1
- add r0, r0, r1
- mul r1, r0, r3
- mov r0, r1, asr 9
- tst r0, 0x80
- addne r0, r0, 0x1
- strb r0, [r5, r6]
- strb r0, [r5], 0x1
- subs r4, r4, 0x1
- bgt _082DF0FC
- add r0, pc, 0x2F
- bx r0
- .thumb
-_082DF140:
- movs r0, 0
- mov r1, r8
- adds r6, r5
- lsrs r1, 3
- bcc _082DF14E
- stm r5!, {r0}
- stm r6!, {r0}
-_082DF14E:
- lsrs r1, 1
- bcc _082DF15A
- stm r5!, {r0}
- stm r6!, {r0}
- stm r5!, {r0}
- stm r6!, {r0}
-_082DF15A:
- stm r5!, {r0}
- stm r6!, {r0}
- stm r5!, {r0}
- stm r6!, {r0}
- stm r5!, {r0}
- stm r6!, {r0}
- stm r5!, {r0}
- stm r6!, {r0}
- subs r1, 0x1
- bgt _082DF15A
- ldr r4, [sp, 0x18]
- ldr r0, [r4, 0x18]
- mov r12, r0
- ldrb r0, [r4, 0x6]
- adds r4, 0x50
-_082DF178:
- str r0, [sp, 0x4]
- ldr r3, [r4, 0x24]
- ldr r0, [sp, 0x14]
- cmp r0, 0
- beq _082DF198
- ldr r1, _082DF194
- ldrb r1, [r1]
- cmp r1, 0xA0
- bcs _082DF18C
- adds r1, 0xE4
-_082DF18C:
- cmp r1, r0
- bcc _082DF198
- b _082DF482
- .align 2, 0
-_082DF194: .4byte 0x04000006
-_082DF198:
- ldrb r6, [r4]
- movs r0, 0xC7
- tst r0, r6
- bne _082DF1A2
- b _082DF478
-_082DF1A2:
- movs r0, 0x80
- tst r0, r6
- beq _082DF1D8
- movs r0, 0x40
- tst r0, r6
- bne _082DF1E8
- movs r6, 0x3
- strb r6, [r4]
- adds r0, r3, 0
- adds r0, 0x10
- ldr r1, [r4, 0x18]
- adds r0, r1
- str r0, [r4, 0x28]
- ldr r0, [r3, 0xC]
- subs r0, r1
- str r0, [r4, 0x18]
- movs r5, 0
- strb r5, [r4, 0x9]
- str r5, [r4, 0x1C]
- ldrb r2, [r3, 0x3]
- movs r0, 0xC0
- tst r0, r2
- beq _082DF230
- movs r0, 0x10
- orrs r6, r0
- strb r6, [r4]
- b _082DF230
-_082DF1D8:
- ldrb r5, [r4, 0x9]
- movs r0, 0x4
- tst r0, r6
- beq _082DF1EE
- ldrb r0, [r4, 0xD]
- subs r0, 0x1
- strb r0, [r4, 0xD]
- bhi _082DF23E
-_082DF1E8:
- movs r0, 0
- strb r0, [r4]
- b _082DF478
-_082DF1EE:
- movs r0, 0x40
- tst r0, r6
- beq _082DF20E
- ldrb r0, [r4, 0x7]
- muls r5, r0
- lsrs r5, 8
- ldrb r0, [r4, 0xC]
- cmp r5, r0
- bhi _082DF23E
-_082DF200:
- ldrb r5, [r4, 0xC]
- cmp r5, 0
- beq _082DF1E8
- movs r0, 0x4
- orrs r6, r0
- strb r6, [r4]
- b _082DF23E
-_082DF20E:
- movs r2, 0x3
- ands r2, r6
- cmp r2, 0x2
- bne _082DF22C
- ldrb r0, [r4, 0x5]
- muls r5, r0
- lsrs r5, 8
- ldrb r0, [r4, 0x6]
- cmp r5, r0
- bhi _082DF23E
- adds r5, r0, 0
- beq _082DF200
- subs r6, 0x1
- strb r6, [r4]
- b _082DF23E
-_082DF22C:
- cmp r2, 0x3
- bne _082DF23E
-_082DF230:
- ldrb r0, [r4, 0x4]
- adds r5, r0
- cmp r5, 0xFF
- bcc _082DF23E
- movs r5, 0xFF
- subs r6, 0x1
- strb r6, [r4]
-_082DF23E:
- strb r5, [r4, 0x9]
- ldr r0, [sp, 0x18]
- ldrb r0, [r0, 0x7]
- adds r0, 0x1
- muls r0, r5
- lsrs r5, r0, 4
- ldrb r0, [r4, 0x2]
- muls r0, r5
- lsrs r0, 8
- strb r0, [r4, 0xA]
- ldrb r0, [r4, 0x3]
- muls r0, r5
- lsrs r0, 8
- strb r0, [r4, 0xB]
- movs r0, 0x10
- ands r0, r6
- str r0, [sp, 0x10]
- beq _082DF272
- adds r0, r3, 0
- adds r0, 0x10
- ldr r1, [r3, 0x8]
- adds r0, r1
- str r0, [sp, 0xC]
- ldr r0, [r3, 0xC]
- subs r0, r1
- str r0, [sp, 0x10]
-_082DF272:
- ldr r5, [sp, 0x8]
- ldr r2, [r4, 0x18]
- ldr r3, [r4, 0x28]
- adr r0, _082DF27C
- bx r0
- .arm
-_082DF27C:
- str r8, [sp]
- ldr r9, [r4, 0x1C]
- ldrb r10, [r4, 0xA]
- ldrb r11, [r4, 0xB]
- ldrb r0, [r4, 0x1]
- tst r0, 0x30
- beq _082DF2A0
- bl sub_82DF49C
- b _082DF460
-_082DF2A0:
- mov r10, r10, lsl 16
- mov r11, r11, lsl 16
- ldrb r0, [r4, 0x1]
- tst r0, 0x8
- beq _082DF3D4
-_082DF2B4:
- cmp r2, 0x4
- ble _082DF324
- subs r2, r2, r8
- movgt r9, 0
- bgt _082DF2E0
- mov r9, r8
- add r2, r2, r8
- sub r8, r2, 0x4
- sub r9, r9, r8
- ands r2, r2, 0x3
- moveq r2, 0x4
-_082DF2E0:
- ldr r6, [r5]
- ldr r7, [r5, 0x630]
-_082DF2E8:
- ldrsb r0, [r3], 0x1
- mul r1, r10, r0
- bic r1, r1, 0xFF0000
- add r6, r1, r6, ror 8
- mul r1, r11, r0
- bic r1, r1, 0xFF0000
- add r7, r1, r7, ror 8
- adds r5, r5, 0x40000000
- bcc _082DF2E8
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- subs r8, r8, 0x4
- bgt _082DF2E0
- adds r8, r8, r9
- beq _082DF464
-_082DF324:
- ldr r6, [r5]
- ldr r7, [r5, 0x630]
-_082DF32C:
- ldrsb r0, [r3], 0x1
- mul r1, r10, r0
- bic r1, r1, 0xFF0000
- add r6, r1, r6, ror 8
- mul r1, r11, r0
- bic r1, r1, 0xFF0000
- add r7, r1, r7, ror 8
- subs r2, r2, 0x1
- beq _082DF39C
-_082DF350:
- adds r5, r5, 0x40000000
- bcc _082DF32C
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- subs r8, r8, 0x4
- bgt _082DF2B4
- b _082DF464
-_082DF36C:
- ldr r0, [sp, 0x18]
- cmp r0, 0
- beq _082DF390
- ldr r3, [sp, 0x14]
- rsb lr, r2, 0
-_082DF380:
- adds r2, r0, r2
- bgt _082DF434
- sub lr, lr, r0
- b _082DF380
-_082DF390:
- ldmia sp!, {r4,r12}
- mov r2, 0
- b _082DF3AC
-_082DF39C:
- ldr r2, [sp, 0x10]
- cmp r2, 0
- ldrne r3, [sp, 0xC]
- bne _082DF350
-_082DF3AC:
- strb r2, [r4]
- mov r0, r5, lsr 30
- bic r5, r5, 0xC0000000
- rsb r0, r0, 0x3
- mov r0, r0, lsl 3
- mov r6, r6, ror r0
- mov r7, r7, ror r0
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- b _082DF46C
-_082DF3D4:
- stmdb sp!, {r4,r12}
- ldr r1, [r4, 0x20]
- mul r4, r12, r1
- ldrsb r0, [r3]
- ldrsb r1, [r3, 0x1]!
- sub r1, r1, r0
-_082DF3EC:
- ldr r6, [r5]
- ldr r7, [r5, 0x630]
-_082DF3F4:
- mul lr, r9, r1
- add lr, r0, lr, asr 23
- mul r12, r10, lr
- bic r12, r12, 0xFF0000
- add r6, r12, r6, ror 8
- mul r12, r11, lr
- bic r12, r12, 0xFF0000
- add r7, r12, r7, ror 8
- add r9, r9, r4
- movs lr, r9, lsr 23
- beq _082DF440
- bic r9, r9, 0x3F800000
- subs r2, r2, lr
- ble _082DF36C
- subs lr, lr, 0x1
- addeq r0, r0, r1
-_082DF434:
- ldrsbne r0, [r3, lr]!
- ldrsb r1, [r3, 0x1]!
- sub r1, r1, r0
-_082DF440:
- adds r5, r5, 0x40000000
- bcc _082DF3F4
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- subs r8, r8, 0x4
- bgt _082DF3EC
- sub r3, r3, 0x1
- ldmia sp!, {r4,r12}
-_082DF460:
- str r9, [r4, 0x1C]
-_082DF464:
- str r2, [r4, 0x18]
- str r3, [r4, 0x28]
-_082DF46C:
- ldr r8, [sp]
- add r0, pc, 0x1
- bx r0
- .thumb
-_082DF478:
- ldr r0, [sp, 0x4]
- subs r0, 0x1
- ble _082DF482
- adds r4, 0x40
- b _082DF178
-_082DF482:
- ldr r0, [sp, 0x18]
- ldr r3, _082DF498
- str r3, [r0]
- add sp, 0x1C
- pop {r0-r7}
- mov r8, r0
- mov r9, r1
- mov r10, r2
- mov r11, r3
- pop {r3}
-_082DF496:
- bx r3
- .align 2, 0
-_082DF498: .4byte 0x68736d53
- thumb_func_end SoundMainRAM
-
- .arm
- arm_func_start sub_82DF49C
-sub_82DF49C: @ 82DF49C
- ldr r6, [r4, 0x24]
- ldrb r0, [r4]
- tst r0, 0x20
- bne _082DF4EC
- orr r0, r0, 0x20
- strb r0, [r4]
- ldrb r0, [r4, 0x1]
- tst r0, 0x10
- beq _082DF4D4
- ldr r1, [r6, 0xC]
- add r1, r1, r6, lsl 1
- add r1, r1, 0x20
- sub r3, r1, r3
- str r3, [r4, 0x28]
-_082DF4D4:
- ldrh r0, [r6]
- cmp r0, 0
- beq _082DF4EC
- sub r3, r3, r6
- sub r3, r3, 0x10
- str r3, [r4, 0x28]
-_082DF4EC:
- stmdb sp!, {r8,r12,lr}
- mov r10, r10, lsl 16
- mov r11, r11, lsl 16
- ldr r1, [r4, 0x20]
- ldrb r0, [r4, 0x1]
- tst r0, 0x8
- movne r8, 0x800000
- muleq r8, r12, r1
- ldrh r0, [r6]
- cmp r0, 0
- beq _082DF6A0
- mov r0, 0xFF000000
- str r0, [r4, 0x3C]
- ldrb r0, [r4, 0x1]
- tst r0, 0x10
- bne _082DF5F8
- bl sub_82DF758
- mov r0, r1
- add r3, r3, 0x1
- bl sub_82DF758
- sub r1, r1, r0
-_082DF540:
- ldr r6, [r5]
- ldr r7, [r5, 0x630]
-_082DF548:
- mul lr, r9, r1
- add lr, r0, lr, asr 23
- mul r12, r10, lr
- bic r12, r12, 0xFF0000
- add r6, r12, r6, ror 8
- mul r12, r11, lr
- bic r12, r12, 0xFF0000
- add r7, r12, r7, ror 8
- add r9, r9, r8
- movs lr, r9, lsr 23
- beq _082DF5A8
- bic r9, r9, 0x3F800000
- subs r2, r2, lr
- ble _082DF5D0
- subs lr, lr, 0x1
- bne _082DF590
- add r0, r0, r1
- b _082DF59C
-_082DF590:
- add r3, r3, lr
- bl sub_82DF758
- mov r0, r1
-_082DF59C:
- add r3, r3, 0x1
- bl sub_82DF758
- sub r1, r1, r0
-_082DF5A8:
- adds r5, r5, 0x40000000
- bcc _082DF548
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- ldr r6, [sp]
- subs r6, r6, 0x4
- str r6, [sp]
- bgt _082DF540
- sub r3, r3, 0x1
- b _082DF728
-_082DF5D0:
- ldr r0, [sp, 0x1C]
- cmp r0, 0
- beq _082DF72C
- ldr r3, [r4, 0x24]
- ldr r3, [r3, 0x8]
- rsb lr, r2, 0
-_082DF5E8:
- adds r2, r2, r0
- bgt _082DF590
- sub lr, lr, r0
- b _082DF5E8
-_082DF5F8:
- sub r3, r3, 0x1
- bl sub_82DF758
- mov r0, r1
- sub r3, r3, 0x1
- bl sub_82DF758
- sub r1, r1, r0
-_082DF610:
- ldr r6, [r5]
- ldr r7, [r5, 0x630]
-_082DF618:
- mul lr, r9, r1
- add lr, r0, lr, asr 23
- mul r12, r10, lr
- bic r12, r12, 0xFF0000
- add r6, r12, r6, ror 8
- mul r12, r11, lr
- bic r12, r12, 0xFF0000
- add r7, r12, r7, ror 8
- add r9, r9, r8
- movs lr, r9, lsr 23
- beq _082DF678
- bic r9, r9, 0x3F800000
- subs r2, r2, lr
- ble _082DF72C
- subs lr, lr, 0x1
- bne _082DF660
- add r0, r0, r1
- b _082DF66C
-_082DF660:
- sub r3, r3, lr
- bl sub_82DF758
- mov r0, r1
-_082DF66C:
- sub r3, r3, 0x1
- bl sub_82DF758
- sub r1, r1, r0
-_082DF678:
- adds r5, r5, 0x40000000
- bcc _082DF618
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- ldr r6, [sp]
- subs r6, r6, 0x4
- str r6, [sp]
- bgt _082DF610
- add r3, r3, 0x2
- b _082DF728
-_082DF6A0:
- ldrb r0, [r4, 0x1]
- tst r0, 0x10
- beq _082DF728
- ldrsb r0, [r3, -0x1]!
- ldrsb r1, [r3, -0x1]
- sub r1, r1, r0
-_082DF6B8:
- ldr r6, [r5]
- ldr r7, [r5, 0x630]
-_082DF6C0:
- mul lr, r9, r1
- add lr, r0, lr, asr 23
- mul r12, r10, lr
- bic r12, r12, 0xFF0000
- add r6, r12, r6, ror 8
- mul r12, r11, lr
- bic r12, r12, 0xFF0000
- add r7, r12, r7, ror 8
- add r9, r9, r8
- movs lr, r9, lsr 23
- beq _082DF704
- bic r9, r9, 0x3F800000
- subs r2, r2, lr
- ble _082DF72C
- ldrsb r0, [r3, -lr]!
- ldrsb r1, [r3, -0x1]
- sub r1, r1, r0
-_082DF704:
- adds r5, r5, 0x40000000
- bcc _082DF6C0
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- ldr r6, [sp]
- subs r6, r6, 0x4
- str r6, [sp]
- bgt _082DF6B8
- add r3, r3, 0x1
-_082DF728:
- ldmia sp!, {r8,r12,pc}
-_082DF72C:
- mov r2, 0
- strb r2, [r4]
- mov r0, r5, lsr 30
- bic r5, r5, 0xC0000000
- rsb r0, r0, 0x3
- mov r0, r0, lsl 3
- mov r6, r6, ror r0
- mov r7, r7, ror r0
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- ldmia sp!, {r8,r12,pc}
- arm_func_end sub_82DF49C
-
- arm_func_start sub_82DF758
-sub_82DF758: @ 82DF758
- stmdb sp!, {r0,r2,r5-r7,lr}
- mov r0, r3, lsr 6
- ldr r1, [r4, 0x3C]
- cmp r0, r1
- beq _082DF7CC
- str r0, [r4, 0x3C]
- mov r1, 0x21
- mul r2, r1, r0
- ldr r1, [r4, 0x24]
- add r2, r2, r1
- add r2, r2, 0x10
- ldr r5, _082DF7DC
- ldr r6, _082DF7E0
- mov r7, 0x40
- ldrb lr, [r2], 0x1
- strb lr, [r5], 0x1
- ldrb r1, [r2], 0x1
- b _082DF7B4
-_082DF7A0:
- ldrb r1, [r2], 0x1
- mov r0, r1, lsr 4
- ldrsb r0, [r6, r0]
- add lr, lr, r0
- strb lr, [r5], 0x1
-_082DF7B4:
- and r0, r1, 0xF
- ldrsb r0, [r6, r0]
- add lr, lr, r0
- strb lr, [r5], 0x1
- subs r7, r7, 0x2
- bgt _082DF7A0
-_082DF7CC:
- ldr r5, _082DF7DC
- and r0, r3, 0x3F
- ldrsb r1, [r5, r0]
- ldmia sp!, {r0,r2,r5-r7,pc}
- .align 2, 0
-_082DF7DC: .4byte 0x03001300
-_082DF7E0: .4byte 0x08675a70
- arm_func_end sub_82DF758
-
- .thumb
- thumb_func_start SoundMainBTM
-SoundMainBTM: @ 82DF7E4
- mov r12, r4
- movs r1, 0
- movs r2, 0
- movs r3, 0
- movs r4, 0
- stm r0!, {r1-r4}
- stm r0!, {r1-r4}
- stm r0!, {r1-r4}
- stm r0!, {r1-r4}
- mov r4, r12
- bx lr
- thumb_func_end SoundMainBTM
-
- thumb_func_start ClearChain
-ClearChain: @ 82DF7FC
- ldr r3, [r0, 0x2C]
- cmp r3, 0
- beq _082DF81A
- ldr r1, [r0, 0x34]
- ldr r2, [r0, 0x30]
- cmp r2, 0
- beq _082DF80E
- str r1, [r2, 0x34]
- b _082DF810
-_082DF80E:
- str r1, [r3, 0x20]
-_082DF810:
- cmp r1, 0
- beq _082DF816
- str r2, [r1, 0x30]
-_082DF816:
- movs r1, 0
- str r1, [r0, 0x2C]
-_082DF81A:
- bx lr
- thumb_func_end ClearChain
-
- thumb_func_start ply_fine
-ply_fine: @ 82DF81C
- push {r4,r5,lr}
- adds r5, r1, 0
- ldr r4, [r5, 0x20]
- cmp r4, 0
- beq _082DF840
-_082DF826:
- ldrb r1, [r4]
- movs r0, 0xC7
- tst r0, r1
- beq _082DF834
- movs r0, 0x40
- orrs r1, r0
- strb r1, [r4]
-_082DF834:
- adds r0, r4, 0
- bl ClearChain
- ldr r4, [r4, 0x34]
- cmp r4, 0
- bne _082DF826
-_082DF840:
- movs r0, 0
- strb r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end ply_fine
-
- thumb_func_start MPlyJmpTblCopy
-MPlyJmpTblCopy: @ 82DF84C
- mov r12, lr
- movs r1, 0x24
- ldr r2, _082DF87C
-_082DF852:
- ldr r3, [r2]
- bl chk_adr_r2
- stm r0!, {r3}
- adds r2, 0x4
- subs r1, 0x1
- bgt _082DF852
- bx r12
- thumb_func_end MPlyJmpTblCopy
-
- thumb_func_start ldrb_r3_r2
-ldrb_r3_r2: @ 82DF864
- ldrb r3, [r2]
- thumb_func_end ldrb_r3_r2
-
- non_word_aligned_thumb_func_start chk_adr_r2
-chk_adr_r2: @ 82DF866
- push {r0}
- lsrs r0, r2, 25
- bne _082DF878
- ldr r0, _082DF87C
- cmp r2, r0
- bcc _082DF876
- lsrs r0, r2, 14
- beq _082DF878
-_082DF876:
- movs r3, 0
-_082DF878:
- pop {r0}
- bx lr
- .align 2, 0
-_082DF87C: .4byte 0x086759e0
- thumb_func_end chk_adr_r2
-
- thumb_func_start ld_r3_tp_adr_i
-ld_r3_tp_adr_i: @ 82DF880
- ldr r2, [r1, 0x40]
-_082DF882:
- adds r3, r2, 0x1
- str r3, [r1, 0x40]
- ldrb r3, [r2]
- b chk_adr_r2
- thumb_func_end ld_r3_tp_adr_i
-
- thumb_func_start ply_goto
-ply_goto: @ 82DF88C
- push {lr}
-_082DF88E:
- ldr r2, [r1, 0x40]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- ldrb r3, [r2, 0x2]
- orrs r0, r3
- lsls r0, 8
- ldrb r3, [r2, 0x1]
- orrs r0, r3
- lsls r0, 8
- bl ldrb_r3_r2
- orrs r0, r3
- str r0, [r1, 0x40]
- pop {r0}
- bx r0
- thumb_func_end ply_goto
-
- thumb_func_start ply_patt
-ply_patt: @ 82DF8AC
- ldrb r2, [r1, 0x2]
- cmp r2, 0x3
- bcs _082DF8C4
- lsls r2, 2
- adds r3, r1, r2
- ldr r2, [r1, 0x40]
- adds r2, 0x4
- str r2, [r3, 0x44]
- ldrb r2, [r1, 0x2]
- adds r2, 0x1
- strb r2, [r1, 0x2]
- b ply_goto
-_082DF8C4:
- b ply_fine
- thumb_func_end ply_patt
-
- thumb_func_start play_pend
-play_pend: @ 82DF8C8
- ldrb r2, [r1, 0x2]
- cmp r2, 0
- beq _082DF8DA
- subs r2, 0x1
- strb r2, [r1, 0x2]
- lsls r2, 2
- adds r3, r1, r2
- ldr r2, [r3, 0x44]
- str r2, [r1, 0x40]
-_082DF8DA:
- bx lr
- thumb_func_end play_pend
-
- thumb_func_start ply_rept
-ply_rept: @ 82DF8DC
- push {lr}
- ldr r2, [r1, 0x40]
- ldrb r3, [r2]
- cmp r3, 0
- bne _082DF8EC
- adds r2, 0x1
- str r2, [r1, 0x40]
- b _082DF88E
-_082DF8EC:
- ldrb r3, [r1, 0x3]
- adds r3, 0x1
- strb r3, [r1, 0x3]
- mov r12, r3
- bl ld_r3_tp_adr_i
- cmp r12, r3
- bcs _082DF8FE
- b _082DF88E
-_082DF8FE:
- movs r3, 0
- strb r3, [r1, 0x3]
- adds r2, 0x5
- str r2, [r1, 0x40]
- pop {r0}
- bx r0
- thumb_func_end ply_rept
-
- thumb_func_start ply_prio
-ply_prio: @ 82DF90C
- mov r12, lr
- bl ld_r3_tp_adr_i
- strb r3, [r1, 0x1D]
- bx r12
- thumb_func_end ply_prio
-
- thumb_func_start ply_tempo
-ply_tempo: @ 82DF918
- mov r12, lr
- bl ld_r3_tp_adr_i
- lsls r3, 1
- strh r3, [r0, 0x1C]
- ldrh r2, [r0, 0x1E]
- muls r3, r2
- lsrs r3, 8
- strh r3, [r0, 0x20]
- bx r12
- thumb_func_end ply_tempo
-
- thumb_func_start ply_keysh
-ply_keysh: @ 82DF92C
- mov r12, lr
- bl ld_r3_tp_adr_i
- strb r3, [r1, 0xA]
- ldrb r3, [r1]
- movs r2, 0xC
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end ply_keysh
-
- thumb_func_start ply_voice
-ply_voice: @ 82DF940
- mov r12, lr
- ldr r2, [r1, 0x40]
- ldrb r3, [r2]
- adds r2, 0x1
- str r2, [r1, 0x40]
- lsls r2, r3, 1
- adds r2, r3
- lsls r2, 2
- ldr r3, [r0, 0x30]
- adds r2, r3
- ldr r3, [r2]
- bl chk_adr_r2
- str r3, [r1, 0x24]
- ldr r3, [r2, 0x4]
- bl chk_adr_r2
- str r3, [r1, 0x28]
- ldr r3, [r2, 0x8]
- bl chk_adr_r2
- str r3, [r1, 0x2C]
- bx r12
- thumb_func_end ply_voice
-
- thumb_func_start ply_vol
-ply_vol: @ 82DF970
- mov r12, lr
- bl ld_r3_tp_adr_i
- strb r3, [r1, 0x12]
- ldrb r3, [r1]
- movs r2, 0x3
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end ply_vol
-
- thumb_func_start ply_pan
-ply_pan: @ 82DF984
- mov r12, lr
- bl ld_r3_tp_adr_i
- subs r3, 0x40
- strb r3, [r1, 0x14]
- ldrb r3, [r1]
- movs r2, 0x3
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end ply_pan
-
- thumb_func_start ply_bend
-ply_bend: @ 82DF998
- mov r12, lr
- bl ld_r3_tp_adr_i
- subs r3, 0x40
- strb r3, [r1, 0xE]
- ldrb r3, [r1]
- movs r2, 0xC
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end ply_bend
-
- thumb_func_start ply_bendr
-ply_bendr: @ 82DF9AC
- mov r12, lr
- bl ld_r3_tp_adr_i
- strb r3, [r1, 0xF]
- ldrb r3, [r1]
- movs r2, 0xC
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end ply_bendr
-
- thumb_func_start ply_lfodl
-ply_lfodl: @ 82DF9C0
- mov r12, lr
- bl ld_r3_tp_adr_i
- strb r3, [r1, 0x1B]
- bx r12
- thumb_func_end ply_lfodl
-
- thumb_func_start ply_modt
-ply_modt: @ 82DF9CC
- mov r12, lr
- bl ld_r3_tp_adr_i
- ldrb r0, [r1, 0x18]
- cmp r0, r3
- beq _082DF9E2
- strb r3, [r1, 0x18]
- ldrb r3, [r1]
- movs r2, 0xF
- orrs r3, r2
- strb r3, [r1]
-_082DF9E2:
- bx r12
- thumb_func_end ply_modt
-
- thumb_func_start ply_tune
-ply_tune: @ 82DF9E4
- mov r12, lr
- bl ld_r3_tp_adr_i
- subs r3, 0x40
- strb r3, [r1, 0xC]
- ldrb r3, [r1]
- movs r2, 0xC
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end ply_tune
-
- thumb_func_start ply_port
-ply_port: @ 82DF9F8
- mov r12, lr
- ldr r2, [r1, 0x40]
- ldrb r3, [r2]
- adds r2, 0x1
- ldr r0, _082DFA0C
- adds r0, r3
- bl _082DF882
- strb r3, [r0]
- bx r12
- .align 2, 0
-_082DFA0C: .4byte 0x04000060
- thumb_func_end ply_port
-
- thumb_func_start SoundVSync_rev01
-SoundVSync_rev01: @ 82DFA10
- ldr r0, _082DFCBC
- ldr r0, [r0]
- ldr r2, _082DFCC0
- ldr r3, [r0]
- subs r3, r2
- cmp r3, 0x1
- bhi _082DFA50
- ldrb r1, [r0, 0x4]
- subs r1, 0x1
- strb r1, [r0, 0x4]
- bgt _082DFA50
- ldrb r1, [r0, 0xB]
- strb r1, [r0, 0x4]
- ldr r2, _082DFA54
- ldr r1, [r2, 0x8]
- lsls r1, 7
- bcc _082DFA36
- ldr r1, _082DFA58
- str r1, [r2, 0x8]
-_082DFA36:
- ldr r1, [r2, 0x14]
- lsls r1, 7
- bcc _082DFA40
- ldr r1, _082DFA58
- str r1, [r2, 0x14]
-_082DFA40:
- movs r1, 0x4
- lsls r1, 8
- strh r1, [r2, 0xA]
- strh r1, [r2, 0x16]
- movs r1, 0xB6
- lsls r1, 8
- strh r1, [r2, 0xA]
- strh r1, [r2, 0x16]
-_082DFA50:
- bx lr
- .align 2, 0
-_082DFA54: .4byte 0x040000bc
-_082DFA58: .4byte 0x84400004
- thumb_func_end SoundVSync_rev01
-
- thumb_func_start MPlayMain_rev01
-MPlayMain_rev01: @ 82DFA5C
- ldr r2, _082DFCC0
- ldr r3, [r0, 0x34]
- cmp r2, r3
- beq _082DFA66
- bx lr
-_082DFA66:
- adds r3, 0x1
- str r3, [r0, 0x34]
- push {r0,lr}
- ldr r3, [r0, 0x38]
- cmp r3, 0
- beq _082DFA78
- ldr r0, [r0, 0x3C]
- bl _082DFCB4
-_082DFA78:
- pop {r0}
- push {r4-r7}
- mov r4, r8
- mov r5, r9
- mov r6, r10
- mov r7, r11
- push {r4-r7}
- adds r7, r0, 0
- ldr r0, [r7, 0x4]
- cmp r0, 0
- bge _082DFA90
- b _082DFCA4
-_082DFA90:
- ldr r0, _082DFCBC
- ldr r0, [r0]
- mov r8, r0
- adds r0, r7, 0
- bl FadeOutBody_rev01
- ldr r0, [r7, 0x4]
- cmp r0, 0
- bge _082DFAA4
- b _082DFCA4
-_082DFAA4:
- ldrh r0, [r7, 0x22]
- ldrh r1, [r7, 0x20]
- adds r0, r1
- b _082DFBF4
-_082DFAAC:
- ldrb r6, [r7, 0x8]
- ldr r5, [r7, 0x2C]
- movs r3, 0x1
- movs r4, 0
-_082DFAB4:
- ldrb r0, [r5]
- movs r1, 0x80
- tst r1, r0
- bne _082DFABE
- b _082DFBD0
-_082DFABE:
- mov r10, r3
- orrs r4, r3
- mov r11, r4
- ldr r4, [r5, 0x20]
- cmp r4, 0
- beq _082DFAF2
-_082DFACA:
- ldrb r1, [r4]
- movs r0, 0xC7
- tst r0, r1
- beq _082DFAE6
- ldrb r0, [r4, 0x10]
- cmp r0, 0
- beq _082DFAEC
- subs r0, 0x1
- strb r0, [r4, 0x10]
- bne _082DFAEC
- movs r0, 0x40
- orrs r1, r0
- strb r1, [r4]
- b _082DFAEC
-_082DFAE6:
- adds r0, r4, 0
- bl ClearChain_rev
-_082DFAEC:
- ldr r4, [r4, 0x34]
- cmp r4, 0
- bne _082DFACA
-_082DFAF2:
- ldrb r3, [r5]
- movs r0, 0x40
- tst r0, r3
- beq _082DFB70
- adds r0, r5, 0
- bl Clear64byte_rev
- movs r0, 0x80
- strb r0, [r5]
- movs r0, 0x2
- strb r0, [r5, 0xF]
- movs r0, 0x40
- strb r0, [r5, 0x13]
- movs r0, 0x16
- strb r0, [r5, 0x19]
- movs r0, 0x1
- adds r1, r5, 0x6
- strb r0, [r1, 0x1E]
- b _082DFB70
-_082DFB18:
- ldr r2, [r5, 0x40]
- ldrb r1, [r2]
- cmp r1, 0x80
- bcs _082DFB24
- ldrb r1, [r5, 0x7]
- b _082DFB2E
-_082DFB24:
- adds r2, 0x1
- str r2, [r5, 0x40]
- cmp r1, 0xBD
- bcc _082DFB2E
- strb r1, [r5, 0x7]
-_082DFB2E:
- cmp r1, 0xCF
- bcc _082DFB44
- mov r0, r8
- ldr r3, [r0, 0x38]
- adds r0, r1, 0
- subs r0, 0xCF
- adds r1, r7, 0
- adds r2, r5, 0
- bl _082DFCB4
- b _082DFB70
-_082DFB44:
- cmp r1, 0xB0
- bls _082DFB66
- adds r0, r1, 0
- subs r0, 0xB1
- strb r0, [r7, 0xA]
- mov r3, r8
- ldr r3, [r3, 0x34]
- lsls r0, 2
- ldr r3, [r3, r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl _082DFCB4
- ldrb r0, [r5]
- cmp r0, 0
- beq _082DFBCC
- b _082DFB70
-_082DFB66:
- ldr r0, _082DFCB8
- subs r1, 0x80
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r5, 0x1]
-_082DFB70:
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- beq _082DFB18
- subs r0, 0x1
- strb r0, [r5, 0x1]
- ldrb r1, [r5, 0x19]
- cmp r1, 0
- beq _082DFBCC
- ldrb r0, [r5, 0x17]
- cmp r0, 0
- beq _082DFBCC
- ldrb r0, [r5, 0x1C]
- cmp r0, 0
- beq _082DFB92
- subs r0, 0x1
- strb r0, [r5, 0x1C]
- b _082DFBCC
-_082DFB92:
- ldrb r0, [r5, 0x1A]
- adds r0, r1
- strb r0, [r5, 0x1A]
- adds r1, r0, 0
- subs r0, 0x40
- lsls r0, 24
- bpl _082DFBA6
- lsls r2, r1, 24
- asrs r2, 24
- b _082DFBAA
-_082DFBA6:
- movs r0, 0x80
- subs r2, r0, r1
-_082DFBAA:
- ldrb r0, [r5, 0x17]
- muls r0, r2
- asrs r2, r0, 6
- ldrb r0, [r5, 0x16]
- eors r0, r2
- lsls r0, 24
- beq _082DFBCC
- strb r2, [r5, 0x16]
- ldrb r0, [r5]
- ldrb r1, [r5, 0x18]
- cmp r1, 0
- bne _082DFBC6
- movs r1, 0xC
- b _082DFBC8
-_082DFBC6:
- movs r1, 0x3
-_082DFBC8:
- orrs r0, r1
- strb r0, [r5]
-_082DFBCC:
- mov r3, r10
- mov r4, r11
-_082DFBD0:
- subs r6, 0x1
- ble _082DFBDC
- movs r0, 0x50
- adds r5, r0
- lsls r3, 1
- b _082DFAB4
-_082DFBDC:
- ldr r0, [r7, 0xC]
- adds r0, 0x1
- str r0, [r7, 0xC]
- cmp r4, 0
- bne _082DFBEE
- movs r0, 0x80
- lsls r0, 24
- str r0, [r7, 0x4]
- b _082DFCA4
-_082DFBEE:
- str r4, [r7, 0x4]
- ldrh r0, [r7, 0x22]
- subs r0, 0x96
-_082DFBF4:
- strh r0, [r7, 0x22]
- cmp r0, 0x96
- bcc _082DFBFC
- b _082DFAAC
-_082DFBFC:
- ldrb r2, [r7, 0x8]
- ldr r5, [r7, 0x2C]
-_082DFC00:
- ldrb r0, [r5]
- movs r1, 0x80
- tst r1, r0
- beq _082DFC9A
- movs r1, 0xF
- tst r1, r0
- beq _082DFC9A
- mov r9, r2
- adds r0, r7, 0
- adds r1, r5, 0
- bl TrkVolPitSet_rev01
- ldr r4, [r5, 0x20]
- cmp r4, 0
- beq _082DFC90
-_082DFC1E:
- ldrb r1, [r4]
- movs r0, 0xC7
- tst r0, r1
- bne _082DFC2E
- adds r0, r4, 0
- bl ClearChain_rev
- b _082DFC8A
-_082DFC2E:
- ldrb r0, [r4, 0x1]
- movs r6, 0x7
- ands r6, r0
- ldrb r3, [r5]
- movs r0, 0x3
- tst r0, r3
- beq _082DFC4C
- bl ChnVolSetAsm
- cmp r6, 0
- beq _082DFC4C
- ldrb r0, [r4, 0x1D]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1D]
-_082DFC4C:
- ldrb r3, [r5]
- movs r0, 0xC
- tst r0, r3
- beq _082DFC8A
- ldrb r1, [r4, 0x8]
- movs r0, 0x8
- ldrsb r0, [r5, r0]
- adds r2, r1, r0
- bpl _082DFC60
- movs r2, 0
-_082DFC60:
- cmp r6, 0
- beq _082DFC7E
- mov r0, r8
- ldr r3, [r0, 0x30]
- adds r1, r2, 0
- ldrb r2, [r5, 0x9]
- adds r0, r6, 0
- bl _082DFCB4
- str r0, [r4, 0x20]
- ldrb r0, [r4, 0x1D]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4, 0x1D]
- b _082DFC8A
-_082DFC7E:
- adds r1, r2, 0
- ldrb r2, [r5, 0x9]
- ldr r0, [r4, 0x24]
- bl MidiKey2fr
- str r0, [r4, 0x20]
-_082DFC8A:
- ldr r4, [r4, 0x34]
- cmp r4, 0
- bne _082DFC1E
-_082DFC90:
- ldrb r0, [r5]
- movs r1, 0xF0
- ands r0, r1
- strb r0, [r5]
- mov r2, r9
-_082DFC9A:
- subs r2, 0x1
- ble _082DFCA4
- movs r0, 0x50
- adds r5, r0
- bgt _082DFC00
-_082DFCA4:
- ldr r0, _082DFCC0
- str r0, [r7, 0x34]
- pop {r0-r7}
- mov r8, r0
- mov r9, r1
- mov r10, r2
- mov r11, r3
- pop {r3}
-_082DFCB4:
- bx r3
- .align 2, 0
-_082DFCB8: .4byte 0x08675c64
-_082DFCBC: .4byte 0x03007ff0
-_082DFCC0: .4byte 0x68736d53
- thumb_func_end MPlayMain_rev01
-
- thumb_func_start TrackStop_rev01
-TrackStop_rev01: @ 82DFCC4
- push {r4-r6,lr}
- adds r5, r1, 0
- ldrb r1, [r5]
- movs r0, 0x80
- tst r0, r1
- beq _082DFCFC
- ldr r4, [r5, 0x20]
- cmp r4, 0
- beq _082DFCFA
- movs r6, 0
-_082DFCD8:
- ldrb r0, [r4]
- cmp r0, 0
- beq _082DFCF2
- ldrb r0, [r4, 0x1]
- movs r3, 0x7
- ands r0, r3
- beq _082DFCF0
- ldr r3, _082DFD04
- ldr r3, [r3]
- ldr r3, [r3, 0x2C]
- bl _082DFCB4
-_082DFCF0:
- strb r6, [r4]
-_082DFCF2:
- str r6, [r4, 0x2C]
- ldr r4, [r4, 0x34]
- cmp r4, 0
- bne _082DFCD8
-_082DFCFA:
- str r4, [r5, 0x20]
-_082DFCFC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_082DFD04: .4byte 0x03007ff0
- thumb_func_end TrackStop_rev01
-
- thumb_func_start ChnVolSetAsm
-ChnVolSetAsm: @ 82DFD08
- ldrb r1, [r4, 0x12]
- movs r0, 0x14
- ldrsb r2, [r4, r0]
- movs r3, 0x80
- adds r3, r2
- muls r3, r1
- ldrb r0, [r5, 0x10]
- muls r0, r3
- asrs r0, 14
- cmp r0, 0xFF
- bls _082DFD20
- movs r0, 0xFF
-_082DFD20:
- strb r0, [r4, 0x2]
- movs r3, 0x7F
- subs r3, r2
- muls r3, r1
- ldrb r0, [r5, 0x11]
- muls r0, r3
- asrs r0, 14
- cmp r0, 0xFF
- bls _082DFD34
- movs r0, 0xFF
-_082DFD34:
- strb r0, [r4, 0x3]
- bx lr
- thumb_func_end ChnVolSetAsm
-
- thumb_func_start ply_note_rev01
-ply_note_rev01: @ 82DFD38
- push {r4-r7,lr}
- mov r4, r8
- mov r5, r9
- mov r6, r10
- mov r7, r11
- push {r4-r7}
- sub sp, 0x18
- str r1, [sp]
- adds r5, r2, 0
- ldr r1, _082DFF34
- ldr r1, [r1]
- str r1, [sp, 0x4]
- ldr r1, _082DFF38
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r5, 0x4]
- ldr r3, [r5, 0x40]
- ldrb r0, [r3]
- cmp r0, 0x80
- bcs _082DFD7E
- strb r0, [r5, 0x5]
- adds r3, 0x1
- ldrb r0, [r3]
- cmp r0, 0x80
- bcs _082DFD7C
- strb r0, [r5, 0x6]
- adds r3, 0x1
- ldrb r0, [r3]
- cmp r0, 0x80
- bcs _082DFD7C
- ldrb r1, [r5, 0x4]
- adds r1, r0
- strb r1, [r5, 0x4]
- adds r3, 0x1
-_082DFD7C:
- str r3, [r5, 0x40]
-_082DFD7E:
- movs r0, 0
- str r0, [sp, 0x14]
- adds r4, r5, 0
- adds r4, 0x24
- ldrb r2, [r4]
- movs r0, 0xC0
- tst r0, r2
- beq _082DFDD0
- ldrb r3, [r5, 0x5]
- movs r0, 0x40
- tst r0, r2
- beq _082DFD9E
- ldr r1, [r5, 0x2C]
- adds r1, r3
- ldrb r0, [r1]
- b _082DFDA0
-_082DFD9E:
- adds r0, r3, 0
-_082DFDA0:
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, [r5, 0x28]
- adds r1, r0
- mov r9, r1
- mov r6, r9
- ldrb r1, [r6]
- movs r0, 0xC0
- tst r0, r1
- beq _082DFDB8
- b _082DFF22
-_082DFDB8:
- movs r0, 0x80
- tst r0, r2
- beq _082DFDD4
- ldrb r1, [r6, 0x3]
- movs r0, 0x80
- tst r0, r1
- beq _082DFDCC
- subs r1, 0xC0
- lsls r1, 1
- str r1, [sp, 0x14]
-_082DFDCC:
- ldrb r3, [r6, 0x1]
- b _082DFDD4
-_082DFDD0:
- mov r9, r4
- ldrb r3, [r5, 0x5]
-_082DFDD4:
- str r3, [sp, 0x8]
- ldr r6, [sp]
- ldrb r1, [r6, 0x9]
- ldrb r0, [r5, 0x1D]
- adds r0, r1
- cmp r0, 0xFF
- bls _082DFDE4
- movs r0, 0xFF
-_082DFDE4:
- str r0, [sp, 0x10]
- mov r6, r9
- ldrb r0, [r6]
- movs r6, 0x7
- ands r6, r0
- str r6, [sp, 0xC]
- beq _082DFE24
- ldr r0, [sp, 0x4]
- ldr r4, [r0, 0x1C]
- cmp r4, 0
- bne _082DFDFC
- b _082DFF22
-_082DFDFC:
- subs r6, 0x1
- lsls r0, r6, 6
- adds r4, r0
- ldrb r1, [r4]
- movs r0, 0xC7
- tst r0, r1
- beq _082DFE78
- movs r0, 0x40
- tst r0, r1
- bne _082DFE78
- ldrb r1, [r4, 0x13]
- ldr r0, [sp, 0x10]
- cmp r1, r0
- bcc _082DFE78
- beq _082DFE1C
- b _082DFF22
-_082DFE1C:
- ldr r0, [r4, 0x2C]
- cmp r0, r5
- bcs _082DFE78
- b _082DFF22
-_082DFE24:
- ldr r6, [sp, 0x10]
- adds r7, r5, 0
- movs r2, 0
- mov r8, r2
- ldr r4, [sp, 0x4]
- ldrb r3, [r4, 0x6]
- adds r4, 0x50
-_082DFE32:
- ldrb r1, [r4]
- movs r0, 0xC7
- tst r0, r1
- beq _082DFE78
- movs r0, 0x40
- tst r0, r1
- beq _082DFE4C
- cmp r2, 0
- bne _082DFE50
- adds r2, 0x1
- ldrb r6, [r4, 0x13]
- ldr r7, [r4, 0x2C]
- b _082DFE6A
-_082DFE4C:
- cmp r2, 0
- bne _082DFE6C
-_082DFE50:
- ldrb r0, [r4, 0x13]
- cmp r0, r6
- bcs _082DFE5C
- adds r6, r0, 0
- ldr r7, [r4, 0x2C]
- b _082DFE6A
-_082DFE5C:
- bhi _082DFE6C
- ldr r0, [r4, 0x2C]
- cmp r0, r7
- bls _082DFE68
- adds r7, r0, 0
- b _082DFE6A
-_082DFE68:
- bcc _082DFE6C
-_082DFE6A:
- mov r8, r4
-_082DFE6C:
- adds r4, 0x40
- subs r3, 0x1
- bgt _082DFE32
- mov r4, r8
- cmp r4, 0
- beq _082DFF22
-_082DFE78:
- adds r0, r4, 0
- bl ClearChain_rev
- movs r1, 0
- str r1, [r4, 0x30]
- ldr r3, [r5, 0x20]
- str r3, [r4, 0x34]
- cmp r3, 0
- beq _082DFE8C
- str r4, [r3, 0x30]
-_082DFE8C:
- str r4, [r5, 0x20]
- str r5, [r4, 0x2C]
- ldrb r0, [r5, 0x1B]
- strb r0, [r5, 0x1C]
- cmp r0, r1
- beq _082DFE9E
- adds r1, r5, 0
- bl clear_modM
-_082DFE9E:
- ldr r0, [sp]
- adds r1, r5, 0
- bl TrkVolPitSet_rev01
- ldr r0, [r5, 0x4]
- str r0, [r4, 0x10]
- ldr r0, [sp, 0x10]
- strb r0, [r4, 0x13]
- ldr r0, [sp, 0x8]
- strb r0, [r4, 0x8]
- ldr r0, [sp, 0x14]
- strb r0, [r4, 0x14]
- mov r6, r9
- ldrb r0, [r6]
- strb r0, [r4, 0x1]
- ldr r7, [r6, 0x4]
- str r7, [r4, 0x24]
- ldr r0, [r6, 0x8]
- str r0, [r4, 0x4]
- ldrh r0, [r5, 0x1E]
- strh r0, [r4, 0xC]
- bl ChnVolSetAsm
- ldrb r1, [r4, 0x8]
- movs r0, 0x8
- ldrsb r0, [r5, r0]
- adds r3, r1, r0
- bpl _082DFED8
- movs r3, 0
-_082DFED8:
- ldr r6, [sp, 0xC]
- cmp r6, 0
- beq _082DFF06
- mov r6, r9
- ldrb r0, [r6, 0x2]
- strb r0, [r4, 0x1E]
- ldrb r1, [r6, 0x3]
- movs r0, 0x80
- tst r0, r1
- bne _082DFEF2
- movs r0, 0x70
- tst r0, r1
- bne _082DFEF4
-_082DFEF2:
- movs r1, 0x8
-_082DFEF4:
- strb r1, [r4, 0x1F]
- ldrb r2, [r5, 0x9]
- adds r1, r3, 0
- ldr r0, [sp, 0xC]
- ldr r3, [sp, 0x4]
- ldr r3, [r3, 0x30]
- bl _082DFCB4
- b _082DFF14
-_082DFF06:
- ldr r0, [r5, 0x3C]
- str r0, [r4, 0x18]
- ldrb r2, [r5, 0x9]
- adds r1, r3, 0
- adds r0, r7, 0
- bl MidiKey2fr
-_082DFF14:
- str r0, [r4, 0x20]
- movs r0, 0x80
- strb r0, [r4]
- ldrb r1, [r5]
- movs r0, 0xF0
- ands r0, r1
- strb r0, [r5]
-_082DFF22:
- add sp, 0x18
- pop {r0-r7}
- mov r8, r0
- mov r9, r1
- mov r10, r2
- mov r11, r3
- pop {r0}
- bx r0
- .align 2, 0
-_082DFF34: .4byte 0x03007ff0
-_082DFF38: .4byte 0x08675c64
- thumb_func_end ply_note_rev01
-
- thumb_func_start ply_endtie_rev01
-ply_endtie_rev01: @ 82DFF3C
- push {r4,r5}
- ldr r2, [r1, 0x40]
- ldrb r3, [r2]
- cmp r3, 0x80
- bcs _082DFF4E
- strb r3, [r1, 0x5]
- adds r2, 0x1
- str r2, [r1, 0x40]
- b _082DFF50
-_082DFF4E:
- ldrb r3, [r1, 0x5]
-_082DFF50:
- ldr r1, [r1, 0x20]
- cmp r1, 0
- beq _082DFF78
- movs r4, 0x83
- movs r5, 0x40
-_082DFF5A:
- ldrb r2, [r1]
- tst r2, r4
- beq _082DFF72
- tst r2, r5
- bne _082DFF72
- ldrb r0, [r1, 0x11]
- cmp r0, r3
- bne _082DFF72
- movs r0, 0x40
- orrs r2, r0
- strb r2, [r1]
- b _082DFF78
-_082DFF72:
- ldr r1, [r1, 0x34]
- cmp r1, 0
- bne _082DFF5A
-_082DFF78:
- pop {r4,r5}
- bx lr
- thumb_func_end ply_endtie_rev01
-
- thumb_func_start clear_modM
-clear_modM: @ 82DFF7C
- movs r2, 0
- strb r2, [r1, 0x16]
- strb r2, [r1, 0x1A]
- ldrb r2, [r1, 0x18]
- cmp r2, 0
- bne _082DFF8C
- movs r2, 0xC
- b _082DFF8E
-_082DFF8C:
- movs r2, 0x3
-_082DFF8E:
- ldrb r3, [r1]
- orrs r3, r2
- strb r3, [r1]
- bx lr
- thumb_func_end clear_modM
-
- thumb_func_start ld_r3_tp_adr_i_rev
-ld_r3_tp_adr_i_rev: @ 82DFF98
- ldr r2, [r1, 0x40]
- adds r3, r2, 0x1
- str r3, [r1, 0x40]
- ldrb r3, [r2]
- bx lr
- thumb_func_end ld_r3_tp_adr_i_rev
-
- thumb_func_start ply_lfos_rev01
-ply_lfos_rev01: @ 82DFFA4
- mov r12, lr
- bl ld_r3_tp_adr_i_rev
- strb r3, [r1, 0x19]
- cmp r3, 0
- bne _082DFFB4
- bl clear_modM
-_082DFFB4:
- bx r12
- thumb_func_end ply_lfos_rev01
-
- thumb_func_start ply_mod_rev01
-ply_mod_rev01: @ 82DFFB8
- mov r12, lr
- bl ld_r3_tp_adr_i_rev
- strb r3, [r1, 0x17]
- cmp r3, 0
- bne _082DFFC8
- bl clear_modM
-_082DFFC8:
- bx r12
- thumb_func_end ply_mod_rev01
-
- thumb_func_start MidiKey2fr
-MidiKey2fr: @ 82DFFCC
- push {r4-r7,lr}
- mov r12, r0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r7, r2, 24
- cmp r6, 0xB2
- bls _082DFFE0
- movs r6, 0xB2
- movs r7, 0xFF
- lsls r7, 24
-_082DFFE0:
- ldr r3, _082E0028
- adds r0, r6, r3
- ldrb r5, [r0]
- ldr r4, _082E002C
- movs r2, 0xF
- adds r0, r5, 0
- ands r0, r2
- lsls r0, 2
- adds r0, r4
- lsrs r1, r5, 4
- ldr r5, [r0]
- lsrs r5, r1
- adds r0, r6, 0x1
- adds r0, r3
- ldrb r1, [r0]
- adds r0, r1, 0
- ands r0, r2
- lsls r0, 2
- adds r0, r4
- lsrs r1, 4
- ldr r0, [r0]
- lsrs r0, r1
- mov r1, r12
- ldr r4, [r1, 0x4]
- subs r0, r5
- adds r1, r7, 0
- bl umul3232H32
- adds r1, r0, 0
- adds r1, r5, r1
- adds r0, r4, 0
- bl umul3232H32
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_082E0028: .4byte 0x08675a80
-_082E002C: .4byte 0x08675b34
- thumb_func_end MidiKey2fr
-
- thumb_func_start DummyFunc
-DummyFunc: @ 82E0030
- bx lr
- thumb_func_end DummyFunc
-
- thumb_func_start MPlayContinue
-MPlayContinue: @ 82E0034
- adds r2, r0, 0
- ldr r3, [r2, 0x34]
- ldr r0, _082E0048
- cmp r3, r0
- bne _082E0046
- ldr r0, [r2, 0x4]
- ldr r1, _082E004C
- ands r0, r1
- str r0, [r2, 0x4]
-_082E0046:
- bx lr
- .align 2, 0
-_082E0048: .4byte 0x68736d53
-_082E004C: .4byte 0x7fffffff
- thumb_func_end MPlayContinue
-
- thumb_func_start MPlayFadeOut
-MPlayFadeOut: @ 82E0050
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r3, [r2, 0x34]
- ldr r0, _082E006C
- cmp r3, r0
- bne _082E0068
- strh r1, [r2, 0x26]
- strh r1, [r2, 0x24]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r2, 0x28]
-_082E0068:
- bx lr
- .align 2, 0
-_082E006C: .4byte 0x68736d53
- thumb_func_end MPlayFadeOut
-
- thumb_func_start m4aSoundInit
-m4aSoundInit: @ 82E0070
- push {r4-r6,lr}
- ldr r0, _082E00F0
- movs r1, 0x2
- negs r1, r1
- ands r0, r1
- ldr r1, _082E00F4
- ldr r2, _082E00F8
- bl CpuSet
- ldr r0, _082E00FC
- bl SoundInit_rev01
- ldr r0, _082E0100
- bl MPlayExtender
- ldr r0, _082E0104
- bl SoundMode_rev01
- ldr r0, _082E0108
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _082E00BE
- ldr r6, _082E010C
- adds r5, r0, 0
-_082E00A2:
- ldr r4, [r6]
- ldr r1, [r6, 0x4]
- ldrb r2, [r6, 0x8]
- adds r0, r4, 0
- bl MPlayOpen_rev01
- ldrh r0, [r6, 0xA]
- strb r0, [r4, 0xB]
- ldr r0, _082E0110
- str r0, [r4, 0x18]
- adds r6, 0xC
- subs r5, 0x1
- cmp r5, 0
- bne _082E00A2
-_082E00BE:
- ldr r0, _082E0114
- ldr r1, _082E0118
- movs r2, 0x34
- bl memcpy
- movs r5, 0
- movs r6, 0
-_082E00CC:
- lsls r0, r5, 6
- ldr r1, _082E011C
- adds r0, r1
- ldr r4, _082E0120
- adds r4, r6, r4
- adds r1, r4, 0
- movs r2, 0x2
- bl MPlayOpen_rev01
- movs r0, 0
- str r0, [r4, 0x20]
- adds r6, 0xA0
- adds r5, 0x1
- cmp r5, 0x1
- ble _082E00CC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_082E00F0: .4byte SoundMainRAM + 1
-_082E00F4: .4byte 0x03001aa8
-_082E00F8: .4byte 0x04000200
-_082E00FC: .4byte 0x03006380
-_082E0100: .4byte 0x030074f0
-_082E0104: .4byte 0x0094c500
-_082E0108: .4byte 0x00000004
-_082E010C: .4byte 0x086b49c0
-_082E0110: .4byte 0x030077f0
-_082E0114: .4byte 0x030077b0
-_082E0118: .4byte 0x08675c98
-_082E011C: .4byte 0x030073a0
-_082E0120: .4byte 0x03007670
- thumb_func_end m4aSoundInit
-
- thumb_func_start m4aSoundMain
-m4aSoundMain: @ 82E0124
- push {lr}
- bl SoundMain
- pop {r0}
- bx r0
- thumb_func_end m4aSoundMain
-
- thumb_func_start m4aSongNumStart
-m4aSongNumStart: @ 82E0130
- push {lr}
- lsls r0, 16
- ldr r2, _082E0154
- ldr r1, _082E0158
- lsrs r0, 13
- adds r0, r1
- ldrh r3, [r0, 0x4]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r1, r2
- ldr r2, [r1]
- ldr r1, [r0]
- adds r0, r2, 0
- bl MPlayStart_rev01
- pop {r0}
- bx r0
- .align 2, 0
-_082E0154: .4byte 0x086b49c0
-_082E0158: .4byte 0x086b49f0
- thumb_func_end m4aSongNumStart
-
- thumb_func_start m4aSongNumStartOrChange
-m4aSongNumStartOrChange: @ 82E015C
- push {lr}
- lsls r0, 16
- ldr r2, _082E0188
- ldr r1, _082E018C
- lsrs r0, 13
- adds r0, r1
- ldrh r3, [r0, 0x4]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- ldr r3, [r1]
- ldr r2, [r0]
- cmp r3, r2
- beq _082E0190
- adds r0, r1, 0
- adds r1, r2, 0
- bl MPlayStart_rev01
- b _082E01A4
- .align 2, 0
-_082E0188: .4byte 0x086b49c0
-_082E018C: .4byte 0x086b49f0
-_082E0190:
- ldr r2, [r1, 0x4]
- ldrh r0, [r1, 0x4]
- cmp r0, 0
- beq _082E019C
- cmp r2, 0
- bge _082E01A4
-_082E019C:
- adds r0, r1, 0
- adds r1, r3, 0
- bl MPlayStart_rev01
-_082E01A4:
- pop {r0}
- bx r0
- thumb_func_end m4aSongNumStartOrChange
-
- thumb_func_start m4aSongNumStartOrContinue
-m4aSongNumStartOrContinue: @ 82E01A8
- push {lr}
- lsls r0, 16
- ldr r2, _082E01D4
- ldr r1, _082E01D8
- lsrs r0, 13
- adds r0, r1
- ldrh r3, [r0, 0x4]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- ldr r3, [r1]
- ldr r2, [r0]
- cmp r3, r2
- beq _082E01DC
- adds r0, r1, 0
- adds r1, r2, 0
- bl MPlayStart_rev01
- b _082E01F8
- .align 2, 0
-_082E01D4: .4byte 0x086b49c0
-_082E01D8: .4byte 0x086b49f0
-_082E01DC:
- ldr r2, [r1, 0x4]
- ldrh r0, [r1, 0x4]
- cmp r0, 0
- bne _082E01EE
- adds r0, r1, 0
- adds r1, r3, 0
- bl MPlayStart_rev01
- b _082E01F8
-_082E01EE:
- cmp r2, 0
- bge _082E01F8
- adds r0, r1, 0
- bl MPlayContinue
-_082E01F8:
- pop {r0}
- bx r0
- thumb_func_end m4aSongNumStartOrContinue
-
- thumb_func_start m4aSongNumStop
-m4aSongNumStop: @ 82E01FC
- push {lr}
- lsls r0, 16
- ldr r2, _082E0228
- ldr r1, _082E022C
- lsrs r0, 13
- adds r0, r1
- ldrh r3, [r0, 0x4]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r1, r2
- ldr r2, [r1]
- ldr r1, [r2]
- ldr r0, [r0]
- cmp r1, r0
- bne _082E0222
- adds r0, r2, 0
- bl MPlayStop_rev01
-_082E0222:
- pop {r0}
- bx r0
- .align 2, 0
-_082E0228: .4byte 0x086b49c0
-_082E022C: .4byte 0x086b49f0
- thumb_func_end m4aSongNumStop
-
- thumb_func_start m4aSongNumContinue
-m4aSongNumContinue: @ 82E0230
- push {lr}
- lsls r0, 16
- ldr r2, _082E025C
- ldr r1, _082E0260
- lsrs r0, 13
- adds r0, r1
- ldrh r3, [r0, 0x4]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r1, r2
- ldr r2, [r1]
- ldr r1, [r2]
- ldr r0, [r0]
- cmp r1, r0
- bne _082E0256
- adds r0, r2, 0
- bl MPlayContinue
-_082E0256:
- pop {r0}
- bx r0
- .align 2, 0
-_082E025C: .4byte 0x086b49c0
-_082E0260: .4byte 0x086b49f0
- thumb_func_end m4aSongNumContinue
-
- thumb_func_start m4aMPlayAllStop
-m4aMPlayAllStop: @ 82E0264
- push {r4,r5,lr}
- ldr r0, _082E029C
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _082E0282
- ldr r5, _082E02A0
- adds r4, r0, 0
-_082E0274:
- ldr r0, [r5]
- bl MPlayStop_rev01
- adds r5, 0xC
- subs r4, 0x1
- cmp r4, 0
- bne _082E0274
-_082E0282:
- ldr r5, _082E02A4
- movs r4, 0x1
-_082E0286:
- adds r0, r5, 0
- bl MPlayStop_rev01
- adds r5, 0x40
- subs r4, 0x1
- cmp r4, 0
- bge _082E0286
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E029C: .4byte 0x00000004
-_082E02A0: .4byte 0x086b49c0
-_082E02A4: .4byte 0x030073a0
- thumb_func_end m4aMPlayAllStop
-
- thumb_func_start m4aMPlayContinue
-m4aMPlayContinue: @ 82E02A8
- push {lr}
- bl MPlayContinue
- pop {r0}
- bx r0
- thumb_func_end m4aMPlayContinue
-
- thumb_func_start m4aMPlayAllContinue
-m4aMPlayAllContinue: @ 82E02B2
- push {r4,r5,lr}
- ldr r0, _082E02EC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _082E02D2
- ldr r5, _082E02F0
- adds r4, r0, 0
-_082E02C4:
- ldr r0, [r5]
- bl MPlayContinue
- adds r5, 0xC
- subs r4, 0x1
- cmp r4, 0
- bne _082E02C4
-_082E02D2:
- ldr r5, _082E02F4
- movs r4, 0x1
-_082E02D6:
- adds r0, r5, 0
- bl MPlayContinue
- adds r5, 0x40
- subs r4, 0x1
- cmp r4, 0
- bge _082E02D6
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E02EC: .4byte 0x00000004
-_082E02F0: .4byte 0x086b49c0
-_082E02F4: .4byte 0x030073a0
- thumb_func_end m4aMPlayAllContinue
-
- thumb_func_start m4aMPlayFadeOut
-m4aMPlayFadeOut: @ 82E02F8
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl MPlayFadeOut
- pop {r0}
- bx r0
- thumb_func_end m4aMPlayFadeOut
-
- thumb_func_start sub_82E0308
-sub_82E0308: @ 82E0308
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r3, [r2, 0x34]
- ldr r0, _082E0320
- cmp r3, r0
- bne _082E031E
- strh r1, [r2, 0x26]
- strh r1, [r2, 0x24]
- ldr r0, _082E0324
- strh r0, [r2, 0x28]
-_082E031E:
- bx lr
- .align 2, 0
-_082E0320: .4byte 0x68736d53
-_082E0324: .4byte 0x00000101
- thumb_func_end sub_82E0308
-
- thumb_func_start sub_82E0328
-sub_82E0328: @ 82E0328
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r3, [r2, 0x34]
- ldr r0, _082E0348
- cmp r3, r0
- bne _082E0346
- strh r1, [r2, 0x26]
- strh r1, [r2, 0x24]
- movs r0, 0x2
- strh r0, [r2, 0x28]
- ldr r0, [r2, 0x4]
- ldr r1, _082E034C
- ands r0, r1
- str r0, [r2, 0x4]
-_082E0346:
- bx lr
- .align 2, 0
-_082E0348: .4byte 0x68736d53
-_082E034C: .4byte 0x7fffffff
- thumb_func_end sub_82E0328
-
- thumb_func_start m4aMPlayImmInit
-m4aMPlayImmInit: @ 82E0350
- push {r4-r7,lr}
- ldrb r5, [r0, 0x8]
- ldr r4, [r0, 0x2C]
- cmp r5, 0
- ble _082E0392
- movs r7, 0x80
-_082E035C:
- ldrb r1, [r4]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _082E038A
- movs r6, 0x40
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _082E038A
- adds r0, r4, 0
- bl Clear64byte_rev
- strb r7, [r4]
- movs r0, 0x2
- strb r0, [r4, 0xF]
- strb r6, [r4, 0x13]
- movs r0, 0x16
- strb r0, [r4, 0x19]
- adds r1, r4, 0
- adds r1, 0x24
- movs r0, 0x1
- strb r0, [r1]
-_082E038A:
- subs r5, 0x1
- adds r4, 0x50
- cmp r5, 0
- bgt _082E035C
-_082E0392:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end m4aMPlayImmInit
-
- thumb_func_start MPlayExtender
-MPlayExtender: @ 82E0398
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r1, _082E0460
- movs r0, 0x8F
- strh r0, [r1]
- ldr r3, _082E0464
- movs r2, 0
- strh r2, [r3]
- ldr r0, _082E0468
- movs r1, 0x8
- strb r1, [r0]
- adds r0, 0x6
- strb r1, [r0]
- adds r0, 0x10
- strb r1, [r0]
- subs r0, 0x14
- movs r1, 0x80
- strb r1, [r0]
- adds r0, 0x8
- strb r1, [r0]
- adds r0, 0x10
- strb r1, [r0]
- subs r0, 0xD
- strb r2, [r0]
- movs r0, 0x77
- strb r0, [r3]
- ldr r0, _082E046C
- ldr r4, [r0]
- ldr r6, [r4]
- ldr r0, _082E0470
- cmp r6, r0
- bne _082E0458
- adds r0, r6, 0x1
- str r0, [r4]
- ldr r1, _082E0474
- ldr r0, _082E0478
- str r0, [r1, 0x20]
- ldr r0, _082E047C
- str r0, [r1, 0x44]
- ldr r0, _082E0480
- str r0, [r1, 0x4C]
- ldr r0, _082E0484
- str r0, [r1, 0x70]
- ldr r0, _082E0488
- str r0, [r1, 0x74]
- ldr r0, _082E048C
- str r0, [r1, 0x78]
- ldr r0, _082E0490
- str r0, [r1, 0x7C]
- adds r2, r1, 0
- adds r2, 0x80
- ldr r0, _082E0494
- str r0, [r2]
- adds r1, 0x84
- ldr r0, _082E0498
- str r0, [r1]
- str r5, [r4, 0x1C]
- ldr r0, _082E049C
- str r0, [r4, 0x28]
- ldr r0, _082E04A0
- str r0, [r4, 0x2C]
- ldr r0, _082E04A4
- str r0, [r4, 0x30]
- ldr r0, _082E04A8
- movs r1, 0
- strb r0, [r4, 0xC]
- str r1, [sp]
- ldr r2, _082E04AC
- mov r0, sp
- adds r1, r5, 0
- bl CpuSet
- movs r0, 0x1
- strb r0, [r5, 0x1]
- movs r0, 0x11
- strb r0, [r5, 0x1C]
- adds r1, r5, 0
- adds r1, 0x41
- movs r0, 0x2
- strb r0, [r1]
- adds r1, 0x1B
- movs r0, 0x22
- strb r0, [r1]
- adds r1, 0x25
- movs r0, 0x3
- strb r0, [r1]
- adds r1, 0x1B
- movs r0, 0x44
- strb r0, [r1]
- adds r1, 0x24
- movs r0, 0x4
- strb r0, [r1, 0x1]
- movs r0, 0x88
- strb r0, [r1, 0x1C]
- str r6, [r4]
-_082E0458:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_082E0460: .4byte 0x04000084
-_082E0464: .4byte 0x04000080
-_082E0468: .4byte 0x04000063
-_082E046C: .4byte 0x03007ff0
-_082E0470: .4byte 0x68736d53
-_082E0474: .4byte 0x03007460
-_082E0478: .4byte ply_memacc + 1
-_082E047C: .4byte ply_lfos_rev01 + 1
-_082E0480: .4byte ply_mod_rev01 + 1
-_082E0484: .4byte ply_xcmd + 1
-_082E0488: .4byte ply_endtie_rev01 + 1
-_082E048C: .4byte SampFreqSet_rev01 + 1
-_082E0490: .4byte TrackStop_rev01 + 1
-_082E0494: .4byte FadeOutBody_rev01 + 1
-_082E0498: .4byte TrkVolPitSet_rev01 + 1
-_082E049C: .4byte CgbSound + 1
-_082E04A0: .4byte CgbOscOff + 1
-_082E04A4: .4byte MidiKey2CgbFr + 1
-_082E04A8: .4byte 0x00000000
-_082E04AC: .4byte 0x05000040
- thumb_func_end MPlayExtender
-
- thumb_func_start MusicPlayerJumpTableCopy
-MusicPlayerJumpTableCopy: @ 82E04B0
- swi 0x2A
- bx lr
- thumb_func_end MusicPlayerJumpTableCopy
-
- thumb_func_start ClearChain_rev
-ClearChain_rev: @ 82E04B4
- push {lr}
- ldr r1, _082E04C4
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_082E04C4: .4byte 0x030074e8
- thumb_func_end ClearChain_rev
-
- thumb_func_start Clear64byte_rev
-Clear64byte_rev: @ 82E04C8
- push {lr}
- ldr r1, _082E04D8
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_082E04D8: .4byte 0x030074ec
- thumb_func_end Clear64byte_rev
-
- thumb_func_start SoundInit_rev01
-SoundInit_rev01: @ 82E04DC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r3, 0
- str r3, [r5]
- ldr r1, _082E0594
- ldr r0, [r1]
- movs r2, 0x80
- lsls r2, 18
- ands r0, r2
- cmp r0, 0
- beq _082E04F8
- ldr r0, _082E0598
- str r0, [r1]
-_082E04F8:
- ldr r1, _082E059C
- ldr r0, [r1]
- ands r0, r2
- cmp r0, 0
- beq _082E0506
- ldr r0, _082E0598
- str r0, [r1]
-_082E0506:
- ldr r0, _082E05A0
- movs r2, 0x80
- lsls r2, 3
- adds r1, r2, 0
- strh r1, [r0]
- adds r0, 0xC
- strh r1, [r0]
- ldr r1, _082E05A4
- movs r0, 0x8F
- strh r0, [r1]
- subs r1, 0x2
- ldr r2, _082E05A8
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, _082E05AC
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldr r1, _082E05B0
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r5, r2
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _082E05B4
- str r0, [r1]
- adds r1, 0x8
- movs r2, 0x98
- lsls r2, 4
- adds r0, r5, r2
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _082E05B8
- str r0, [r1]
- ldr r0, _082E05BC
- str r5, [r0]
- str r3, [sp]
- ldr r2, _082E05C0
- mov r0, sp
- adds r1, r5, 0
- bl CpuSet
- movs r0, 0x8
- strb r0, [r5, 0x6]
- movs r0, 0xF
- strb r0, [r5, 0x7]
- ldr r0, _082E05C4
- str r0, [r5, 0x38]
- ldr r0, _082E05C8
- str r0, [r5, 0x28]
- str r0, [r5, 0x2C]
- str r0, [r5, 0x30]
- str r0, [r5, 0x3C]
- ldr r4, _082E05CC
- adds r0, r4, 0
- bl MPlyJmpTblCopy
- str r4, [r5, 0x34]
- movs r0, 0x80
- lsls r0, 11
- bl SampFreqSet_rev01
- ldr r0, _082E05D0
- str r0, [r5]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E0594: .4byte 0x040000c4
-_082E0598: .4byte 0x84400004
-_082E059C: .4byte 0x040000d0
-_082E05A0: .4byte 0x040000c6
-_082E05A4: .4byte 0x04000084
-_082E05A8: .4byte 0x0000a90e
-_082E05AC: .4byte 0x04000089
-_082E05B0: .4byte 0x040000bc
-_082E05B4: .4byte 0x040000a0
-_082E05B8: .4byte 0x040000a4
-_082E05BC: .4byte 0x03007ff0
-_082E05C0: .4byte 0x050003ec
-_082E05C4: .4byte ply_note_rev01 + 1
-_082E05C8: .4byte DummyFunc_rev + 1
-_082E05CC: .4byte 0x03007460
-_082E05D0: .4byte 0x68736d53
- thumb_func_end SoundInit_rev01
-
- thumb_func_start SampFreqSet_rev01
-SampFreqSet_rev01: @ 82E05D4
- push {r4-r6,lr}
- adds r2, r0, 0
- ldr r0, _082E0654
- ldr r4, [r0]
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r2
- lsrs r2, r0, 16
- movs r6, 0
- strb r2, [r4, 0x8]
- ldr r1, _082E0658
- subs r0, r2, 0x1
- lsls r0, 1
- adds r0, r1
- ldrh r5, [r0]
- str r5, [r4, 0x10]
- movs r0, 0xC6
- lsls r0, 3
- adds r1, r5, 0
- bl __divsi3
- strb r0, [r4, 0xB]
- ldr r0, _082E065C
- muls r0, r5
- ldr r1, _082E0660
- adds r0, r1
- ldr r1, _082E0664
- bl __divsi3
- adds r1, r0, 0
- str r1, [r4, 0x14]
- movs r0, 0x80
- lsls r0, 17
- bl __divsi3
- adds r0, 0x1
- asrs r0, 1
- str r0, [r4, 0x18]
- ldr r0, _082E0668
- strh r6, [r0]
- ldr r4, _082E066C
- ldr r0, _082E0670
- adds r1, r5, 0
- bl __divsi3
- negs r0, r0
- strh r0, [r4]
- bl SoundVSyncOn_rev01
- ldr r1, _082E0674
-_082E0638:
- ldrb r0, [r1]
- cmp r0, 0x9F
- beq _082E0638
- ldr r1, _082E0674
-_082E0640:
- ldrb r0, [r1]
- cmp r0, 0x9F
- bne _082E0640
- ldr r1, _082E0668
- movs r0, 0x80
- strh r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_082E0654: .4byte 0x03007ff0
-_082E0658: .4byte 0x08675b64
-_082E065C: .4byte 0x00091d1b
-_082E0660: .4byte 0x00001388
-_082E0664: .4byte 0x00002710
-_082E0668: .4byte 0x04000102
-_082E066C: .4byte 0x04000100
-_082E0670: .4byte 0x00044940
-_082E0674: .4byte 0x04000006
- thumb_func_end SampFreqSet_rev01
-
- thumb_func_start SoundMode_rev01
-SoundMode_rev01: @ 82E0678
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r0, _082E0704
- ldr r5, [r0]
- ldr r1, [r5]
- ldr r0, _082E0708
- cmp r1, r0
- bne _082E06FE
- adds r0, r1, 0x1
- str r0, [r5]
- movs r4, 0xFF
- ands r4, r3
- cmp r4, 0
- beq _082E069A
- movs r0, 0x7F
- ands r4, r0
- strb r4, [r5, 0x5]
-_082E069A:
- movs r4, 0xF0
- lsls r4, 4
- ands r4, r3
- cmp r4, 0
- beq _082E06BA
- lsrs r0, r4, 8
- strb r0, [r5, 0x6]
- movs r4, 0xC
- adds r0, r5, 0
- adds r0, 0x50
- movs r1, 0
-_082E06B0:
- strb r1, [r0]
- subs r4, 0x1
- adds r0, 0x40
- cmp r4, 0
- bne _082E06B0
-_082E06BA:
- movs r4, 0xF0
- lsls r4, 8
- ands r4, r3
- cmp r4, 0
- beq _082E06C8
- lsrs r0, r4, 12
- strb r0, [r5, 0x7]
-_082E06C8:
- movs r4, 0xB0
- lsls r4, 16
- ands r4, r3
- cmp r4, 0
- beq _082E06E6
- movs r0, 0xC0
- lsls r0, 14
- ands r0, r4
- lsrs r4, r0, 14
- ldr r2, _082E070C
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- orrs r0, r4
- strb r0, [r2]
-_082E06E6:
- movs r4, 0xF0
- lsls r4, 12
- ands r4, r3
- cmp r4, 0
- beq _082E06FA
- bl SoundVSyncOff_rev01
- adds r0, r4, 0
- bl SampFreqSet_rev01
-_082E06FA:
- ldr r0, _082E0708
- str r0, [r5]
-_082E06FE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E0704: .4byte 0x03007ff0
-_082E0708: .4byte 0x68736d53
-_082E070C: .4byte 0x04000089
- thumb_func_end SoundMode_rev01
-
- thumb_func_start SoundClear_rev01
-SoundClear_rev01: @ 82E0710
- push {r4-r7,lr}
- ldr r0, _082E075C
- ldr r6, [r0]
- ldr r1, [r6]
- ldr r0, _082E0760
- cmp r1, r0
- bne _082E0756
- adds r0, r1, 0x1
- str r0, [r6]
- movs r5, 0xC
- adds r4, r6, 0
- adds r4, 0x50
- movs r0, 0
-_082E072A:
- strb r0, [r4]
- subs r5, 0x1
- adds r4, 0x40
- cmp r5, 0
- bgt _082E072A
- ldr r4, [r6, 0x1C]
- cmp r4, 0
- beq _082E0752
- movs r5, 0x1
- movs r7, 0
-_082E073E:
- lsls r0, r5, 24
- lsrs r0, 24
- ldr r1, [r6, 0x2C]
- bl _call_via_r1
- strb r7, [r4]
- adds r5, 0x1
- adds r4, 0x40
- cmp r5, 0x4
- ble _082E073E
-_082E0752:
- ldr r0, _082E0760
- str r0, [r6]
-_082E0756:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E075C: .4byte 0x03007ff0
-_082E0760: .4byte 0x68736d53
- thumb_func_end SoundClear_rev01
-
- thumb_func_start SoundVSyncOff_rev01
-SoundVSyncOff_rev01: @ 82E0764
- push {lr}
- sub sp, 0x4
- ldr r0, _082E07C4
- ldr r2, [r0]
- ldr r1, [r2]
- ldr r3, _082E07C8
- adds r0, r1, r3
- cmp r0, 0x1
- bhi _082E07BC
- adds r0, r1, 0
- adds r0, 0xA
- str r0, [r2]
- ldr r1, _082E07CC
- ldr r0, [r1]
- movs r3, 0x80
- lsls r3, 18
- ands r0, r3
- cmp r0, 0
- beq _082E078E
- ldr r0, _082E07D0
- str r0, [r1]
-_082E078E:
- ldr r1, _082E07D4
- ldr r0, [r1]
- ands r0, r3
- cmp r0, 0
- beq _082E079C
- ldr r0, _082E07D0
- str r0, [r1]
-_082E079C:
- ldr r0, _082E07D8
- movs r3, 0x80
- lsls r3, 3
- adds r1, r3, 0
- strh r1, [r0]
- adds r0, 0xC
- strh r1, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xD4
- lsls r0, 2
- adds r1, r2, r0
- ldr r2, _082E07DC
- mov r0, sp
- bl CpuSet
-_082E07BC:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_082E07C4: .4byte 0x03007ff0
-_082E07C8: .4byte 0x978c92ad
-_082E07CC: .4byte 0x040000c4
-_082E07D0: .4byte 0x84400004
-_082E07D4: .4byte 0x040000d0
-_082E07D8: .4byte 0x040000c6
-_082E07DC: .4byte 0x05000318
- thumb_func_end SoundVSyncOff_rev01
-
- thumb_func_start SoundVSyncOn_rev01
-SoundVSyncOn_rev01: @ 82E07E0
- push {r4,lr}
- ldr r0, _082E0810
- ldr r2, [r0]
- ldr r3, [r2]
- ldr r0, _082E0814
- cmp r3, r0
- beq _082E0808
- ldr r0, _082E0818
- movs r4, 0xB6
- lsls r4, 8
- adds r1, r4, 0
- strh r1, [r0]
- adds r0, 0xC
- strh r1, [r0]
- ldrb r0, [r2, 0x4]
- movs r0, 0
- strb r0, [r2, 0x4]
- adds r0, r3, 0
- subs r0, 0xA
- str r0, [r2]
-_082E0808:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_082E0810: .4byte 0x03007ff0
-_082E0814: .4byte 0x68736d53
-_082E0818: .4byte 0x040000c6
- thumb_func_end SoundVSyncOn_rev01
-
- thumb_func_start MPlayOpen_rev01
-MPlayOpen_rev01: @ 82E081C
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r4, 0
- beq _082E0880
- cmp r4, 0x10
- bls _082E0830
- movs r4, 0x10
-_082E0830:
- ldr r0, _082E0888
- ldr r5, [r0]
- ldr r1, [r5]
- ldr r0, _082E088C
- cmp r1, r0
- bne _082E0880
- adds r0, r1, 0x1
- str r0, [r5]
- adds r0, r7, 0
- bl Clear64byte_rev
- str r6, [r7, 0x2C]
- strb r4, [r7, 0x8]
- movs r0, 0x80
- lsls r0, 24
- str r0, [r7, 0x4]
- cmp r4, 0
- beq _082E0864
- movs r1, 0
-_082E0856:
- strb r1, [r6]
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, 0x50
- cmp r4, 0
- bne _082E0856
-_082E0864:
- ldr r0, [r5, 0x20]
- cmp r0, 0
- beq _082E0874
- str r0, [r7, 0x38]
- ldr r0, [r5, 0x24]
- str r0, [r7, 0x3C]
- movs r0, 0
- str r0, [r5, 0x20]
-_082E0874:
- str r7, [r5, 0x24]
- ldr r0, _082E0890
- str r0, [r5, 0x20]
- ldr r0, _082E088C
- str r0, [r5]
- str r0, [r7, 0x34]
-_082E0880:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E0888: .4byte 0x03007ff0
-_082E088C: .4byte 0x68736d53
-_082E0890: .4byte MPlayMain_rev01 + 1
- thumb_func_end MPlayOpen_rev01
-
- thumb_func_start MPlayStart_rev01
-MPlayStart_rev01: @ 82E0894
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r7, r1, 0
- ldr r1, [r5, 0x34]
- ldr r0, _082E0974
- cmp r1, r0
- bne _082E096A
- ldrb r0, [r5, 0xB]
- ldrb r2, [r7, 0x2]
- cmp r0, 0
- beq _082E08D6
- ldr r0, [r5]
- cmp r0, 0
- beq _082E08C0
- ldr r1, [r5, 0x2C]
- movs r0, 0x40
- ldrb r1, [r1]
- ands r0, r1
- cmp r0, 0
- bne _082E08CC
-_082E08C0:
- ldr r1, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- cmp r0, 0
- beq _082E08D6
- cmp r1, 0
- blt _082E08D6
-_082E08CC:
- ldrb r0, [r7, 0x2]
- adds r2, r0, 0
- ldrb r0, [r5, 0x9]
- cmp r0, r2
- bhi _082E096A
-_082E08D6:
- ldr r0, [r5, 0x34]
- adds r0, 0x1
- str r0, [r5, 0x34]
- movs r1, 0
- str r1, [r5, 0x4]
- str r7, [r5]
- ldr r0, [r7, 0x4]
- str r0, [r5, 0x30]
- strb r2, [r5, 0x9]
- str r1, [r5, 0xC]
- movs r0, 0x96
- strh r0, [r5, 0x1C]
- strh r0, [r5, 0x20]
- adds r0, 0x6A
- strh r0, [r5, 0x1E]
- strh r1, [r5, 0x22]
- strh r1, [r5, 0x24]
- movs r6, 0
- ldr r4, [r5, 0x2C]
- ldrb r1, [r7]
- cmp r6, r1
- bge _082E0936
- ldrb r0, [r5, 0x8]
- cmp r6, r0
- bge _082E0956
- mov r8, r6
-_082E090A:
- adds r0, r5, 0
- adds r1, r4, 0
- bl TrackStop_rev01
- movs r0, 0xC0
- strb r0, [r4]
- mov r1, r8
- str r1, [r4, 0x20]
- lsls r1, r6, 2
- adds r0, r7, 0
- adds r0, 0x8
- adds r0, r1
- ldr r0, [r0]
- str r0, [r4, 0x40]
- adds r6, 0x1
- adds r4, 0x50
- ldrb r0, [r7]
- cmp r6, r0
- bge _082E0936
- ldrb r1, [r5, 0x8]
- cmp r6, r1
- blt _082E090A
-_082E0936:
- ldrb r0, [r5, 0x8]
- cmp r6, r0
- bge _082E0956
- movs r1, 0
- mov r8, r1
-_082E0940:
- adds r0, r5, 0
- adds r1, r4, 0
- bl TrackStop_rev01
- mov r0, r8
- strb r0, [r4]
- adds r6, 0x1
- adds r4, 0x50
- ldrb r1, [r5, 0x8]
- cmp r6, r1
- blt _082E0940
-_082E0956:
- movs r0, 0x80
- ldrb r1, [r7, 0x3]
- ands r0, r1
- cmp r0, 0
- beq _082E0966
- ldrb r0, [r7, 0x3]
- bl SoundMode_rev01
-_082E0966:
- ldr r0, _082E0974
- str r0, [r5, 0x34]
-_082E096A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E0974: .4byte 0x68736d53
- thumb_func_end MPlayStart_rev01
-
- thumb_func_start MPlayStop_rev01
-MPlayStop_rev01: @ 82E0978
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r1, [r6, 0x34]
- ldr r0, _082E09B4
- cmp r1, r0
- bne _082E09AE
- adds r0, r1, 0x1
- str r0, [r6, 0x34]
- ldr r0, [r6, 0x4]
- movs r1, 0x80
- lsls r1, 24
- orrs r0, r1
- str r0, [r6, 0x4]
- ldrb r4, [r6, 0x8]
- ldr r5, [r6, 0x2C]
- cmp r4, 0
- ble _082E09AA
-_082E099A:
- adds r0, r6, 0
- adds r1, r5, 0
- bl TrackStop_rev01
- subs r4, 0x1
- adds r5, 0x50
- cmp r4, 0
- bgt _082E099A
-_082E09AA:
- ldr r0, _082E09B4
- str r0, [r6, 0x34]
-_082E09AE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_082E09B4: .4byte 0x68736d53
- thumb_func_end MPlayStop_rev01
-
- thumb_func_start FadeOutBody_rev01
-FadeOutBody_rev01: @ 82E09B8
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r1, [r6, 0x24]
- cmp r1, 0
- beq _082E0A7A
- ldrh r0, [r6, 0x26]
- subs r0, 0x1
- strh r0, [r6, 0x26]
- ldr r3, _082E09F8
- adds r2, r3, 0
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _082E0A7A
- strh r1, [r6, 0x26]
- ldrh r1, [r6, 0x28]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _082E09FC
- adds r0, r1, 0
- adds r0, 0x10
- strh r0, [r6, 0x28]
- ands r0, r2
- cmp r0, 0xFF
- bls _082E0A4E
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r6, 0x28]
- strh r3, [r6, 0x24]
- b _082E0A4E
- .align 2, 0
-_082E09F8: .4byte 0x0000ffff
-_082E09FC:
- adds r0, r1, 0
- subs r0, 0x10
- strh r0, [r6, 0x28]
- ands r0, r2
- lsls r0, 16
- cmp r0, 0
- bgt _082E0A4E
- ldrb r5, [r6, 0x8]
- ldr r4, [r6, 0x2C]
- cmp r5, 0
- ble _082E0A2E
-_082E0A12:
- adds r0, r6, 0
- adds r1, r4, 0
- bl TrackStop_rev01
- movs r0, 0x1
- ldrh r7, [r6, 0x28]
- ands r0, r7
- cmp r0, 0
- bne _082E0A26
- strb r0, [r4]
-_082E0A26:
- subs r5, 0x1
- adds r4, 0x50
- cmp r5, 0
- bgt _082E0A12
-_082E0A2E:
- movs r0, 0x1
- ldrh r1, [r6, 0x28]
- ands r0, r1
- cmp r0, 0
- beq _082E0A42
- ldr r0, [r6, 0x4]
- movs r1, 0x80
- lsls r1, 24
- orrs r0, r1
- b _082E0A46
-_082E0A42:
- movs r0, 0x80
- lsls r0, 24
-_082E0A46:
- str r0, [r6, 0x4]
- movs r0, 0
- strh r0, [r6, 0x24]
- b _082E0A7A
-_082E0A4E:
- ldrb r5, [r6, 0x8]
- ldr r4, [r6, 0x2C]
- cmp r5, 0
- ble _082E0A7A
- movs r3, 0x80
- movs r7, 0
- movs r2, 0x3
-_082E0A5C:
- ldrb r1, [r4]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _082E0A72
- ldrh r7, [r6, 0x28]
- lsrs r0, r7, 2
- strb r0, [r4, 0x13]
- adds r0, r1, 0
- orrs r0, r2
- strb r0, [r4]
-_082E0A72:
- subs r5, 0x1
- adds r4, 0x50
- cmp r5, 0
- bgt _082E0A5C
-_082E0A7A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end FadeOutBody_rev01
-
- thumb_func_start TrkVolPitSet_rev01
-TrkVolPitSet_rev01: @ 82E0A80
- push {r4,lr}
- adds r2, r1, 0
- movs r0, 0x1
- ldrb r1, [r2]
- ands r0, r1
- cmp r0, 0
- beq _082E0AE4
- ldrb r3, [r2, 0x13]
- ldrb r1, [r2, 0x12]
- adds r0, r3, 0
- muls r0, r1
- lsrs r3, r0, 5
- ldrb r4, [r2, 0x18]
- cmp r4, 0x1
- bne _082E0AA8
- movs r0, 0x16
- ldrsb r0, [r2, r0]
- adds r0, 0x80
- muls r0, r3
- lsrs r3, r0, 7
-_082E0AA8:
- movs r0, 0x14
- ldrsb r0, [r2, r0]
- lsls r0, 1
- movs r1, 0x15
- ldrsb r1, [r2, r1]
- adds r1, r0, r1
- cmp r4, 0x2
- bne _082E0ABE
- movs r0, 0x16
- ldrsb r0, [r2, r0]
- adds r1, r0
-_082E0ABE:
- movs r0, 0x80
- negs r0, r0
- cmp r1, r0
- bge _082E0ACA
- adds r1, r0, 0
- b _082E0AD0
-_082E0ACA:
- cmp r1, 0x7F
- ble _082E0AD0
- movs r1, 0x7F
-_082E0AD0:
- adds r0, r1, 0
- adds r0, 0x80
- muls r0, r3
- lsrs r0, 8
- strb r0, [r2, 0x10]
- movs r0, 0x7F
- subs r0, r1
- muls r0, r3
- lsrs r0, 8
- strb r0, [r2, 0x11]
-_082E0AE4:
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- adds r3, r1, 0
- cmp r0, 0
- beq _082E0B28
- movs r0, 0xE
- ldrsb r0, [r2, r0]
- ldrb r1, [r2, 0xF]
- muls r0, r1
- movs r1, 0xC
- ldrsb r1, [r2, r1]
- adds r1, r0
- lsls r1, 2
- movs r0, 0xA
- ldrsb r0, [r2, r0]
- lsls r0, 8
- adds r1, r0
- movs r0, 0xB
- ldrsb r0, [r2, r0]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0xD]
- adds r1, r0, r1
- ldrb r0, [r2, 0x18]
- cmp r0, 0
- bne _082E0B22
- movs r0, 0x16
- ldrsb r0, [r2, r0]
- lsls r0, 4
- adds r1, r0
-_082E0B22:
- asrs r0, r1, 8
- strb r0, [r2, 0x8]
- strb r1, [r2, 0x9]
-_082E0B28:
- movs r0, 0xFA
- ands r0, r3
- strb r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end TrkVolPitSet_rev01
-
- thumb_func_start MidiKey2CgbFr
-MidiKey2CgbFr: @ 82E0B34
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r12, r2
- cmp r0, 0x4
- bne _082E0B6C
- cmp r5, 0x14
- bhi _082E0B50
- movs r5, 0
- b _082E0B5E
-_082E0B50:
- adds r0, r5, 0
- subs r0, 0x15
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3B
- bls _082E0B5E
- movs r5, 0x3B
-_082E0B5E:
- ldr r0, _082E0B68
- adds r0, r5, r0
- ldrb r0, [r0]
- b _082E0BCE
- .align 2, 0
-_082E0B68: .4byte 0x08675c18
-_082E0B6C:
- cmp r5, 0x23
- bhi _082E0B78
- movs r0, 0
- mov r12, r0
- movs r5, 0
- b _082E0B8A
-_082E0B78:
- adds r0, r5, 0
- subs r0, 0x24
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x82
- bls _082E0B8A
- movs r5, 0x82
- movs r1, 0xFF
- mov r12, r1
-_082E0B8A:
- ldr r3, _082E0BD4
- adds r0, r5, r3
- ldrb r6, [r0]
- ldr r4, _082E0BD8
- movs r2, 0xF
- adds r0, r6, 0
- ands r0, r2
- lsls r0, 1
- adds r0, r4
- movs r7, 0
- ldrsh r1, [r0, r7]
- asrs r0, r6, 4
- adds r6, r1, 0
- asrs r6, r0
- adds r0, r5, 0x1
- adds r0, r3
- ldrb r1, [r0]
- adds r0, r1, 0
- ands r0, r2
- lsls r0, 1
- adds r0, r4
- movs r2, 0
- ldrsh r0, [r0, r2]
- asrs r1, 4
- asrs r0, r1
- subs r0, r6
- mov r7, r12
- muls r7, r0
- adds r0, r7, 0
- asrs r0, 8
- adds r0, r6, r0
- movs r1, 0x80
- lsls r1, 4
- adds r0, r1
-_082E0BCE:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_082E0BD4: .4byte 0x08675b7c
-_082E0BD8: .4byte 0x08675c00
- thumb_func_end MidiKey2CgbFr
-
- thumb_func_start CgbOscOff
-CgbOscOff: @ 82E0BDC
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x2
- beq _082E0C04
- cmp r0, 0x2
- bgt _082E0BF0
- cmp r0, 0x1
- beq _082E0BF6
- b _082E0C18
-_082E0BF0:
- cmp r1, 0x3
- beq _082E0C0C
- b _082E0C18
-_082E0BF6:
- ldr r1, _082E0C00
- movs r0, 0x8
- strb r0, [r1]
- adds r1, 0x2
- b _082E0C20
- .align 2, 0
-_082E0C00: .4byte 0x04000063
-_082E0C04:
- ldr r1, _082E0C08
- b _082E0C1A
- .align 2, 0
-_082E0C08: .4byte 0x04000069
-_082E0C0C:
- ldr r1, _082E0C14
- movs r0, 0
- b _082E0C22
- .align 2, 0
-_082E0C14: .4byte 0x04000070
-_082E0C18:
- ldr r1, _082E0C28
-_082E0C1A:
- movs r0, 0x8
- strb r0, [r1]
- adds r1, 0x4
-_082E0C20:
- movs r0, 0x80
-_082E0C22:
- strb r0, [r1]
- bx lr
- .align 2, 0
-_082E0C28: .4byte 0x04000079
- thumb_func_end CgbOscOff
-
- thumb_func_start CgbModVol
-CgbModVol: @ 82E0C2C
- push {r4,lr}
- adds r2, r0, 0
- ldr r0, _082E0C5C
- ldr r1, [r0]
- movs r0, 0x1
- ldrb r1, [r1, 0x9]
- ands r0, r1
- cmp r0, 0
- bne _082E0C6C
- ldrb r0, [r2, 0x2]
- lsls r1, r0, 24
- lsrs r4, r1, 24
- ldrb r3, [r2, 0x3]
- lsls r0, r3, 24
- lsrs r3, r0, 24
- cmp r4, r3
- bcc _082E0C60
- lsrs r0, r1, 25
- cmp r0, r3
- bcc _082E0C6C
- movs r0, 0xF
- strb r0, [r2, 0x1B]
- b _082E0C7A
- .align 2, 0
-_082E0C5C: .4byte 0x03007ff0
-_082E0C60:
- lsrs r0, 25
- cmp r0, r4
- bcc _082E0C6C
- movs r0, 0xF0
- strb r0, [r2, 0x1B]
- b _082E0C7A
-_082E0C6C:
- movs r0, 0xFF
- strb r0, [r2, 0x1B]
- ldrb r1, [r2, 0x3]
- ldrb r3, [r2, 0x2]
- adds r0, r1, r3
- lsrs r0, 4
- b _082E0C8A
-_082E0C7A:
- ldrb r1, [r2, 0x3]
- ldrb r3, [r2, 0x2]
- adds r0, r1, r3
- lsrs r0, 4
- strb r0, [r2, 0xA]
- cmp r0, 0xF
- bls _082E0C8C
- movs r0, 0xF
-_082E0C8A:
- strb r0, [r2, 0xA]
-_082E0C8C:
- ldrb r1, [r2, 0x6]
- ldrb r3, [r2, 0xA]
- adds r0, r1, 0
- muls r0, r3
- adds r0, 0xF
- asrs r0, 4
- strb r0, [r2, 0x19]
- ldrb r0, [r2, 0x1C]
- ldrb r1, [r2, 0x1B]
- ands r0, r1
- strb r0, [r2, 0x1B]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end CgbModVol
-
- thumb_func_start CgbSound
-CgbSound: @ 82E0CA8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r0, _082E0CC8
- ldr r0, [r0]
- str r0, [sp, 0x4]
- ldrb r0, [r0, 0xA]
- cmp r0, 0
- beq _082E0CCC
- subs r0, 0x1
- ldr r1, [sp, 0x4]
- strb r0, [r1, 0xA]
- b _082E0CD2
- .align 2, 0
-_082E0CC8: .4byte 0x03007ff0
-_082E0CCC:
- movs r0, 0xE
- ldr r2, [sp, 0x4]
- strb r0, [r2, 0xA]
-_082E0CD2:
- movs r6, 0x1
- ldr r0, [sp, 0x4]
- ldr r4, [r0, 0x1C]
-_082E0CD8:
- ldrb r1, [r4]
- movs r0, 0xC7
- ands r0, r1
- adds r2, r6, 0x1
- mov r10, r2
- movs r2, 0x40
- adds r2, r4
- mov r9, r2
- cmp r0, 0
- bne _082E0CEE
- b _082E10D8
-_082E0CEE:
- cmp r6, 0x2
- beq _082E0D20
- cmp r6, 0x2
- bgt _082E0CFC
- cmp r6, 0x1
- beq _082E0D02
- b _082E0D58
-_082E0CFC:
- cmp r6, 0x3
- beq _082E0D38
- b _082E0D58
-_082E0D02:
- ldr r0, _082E0D14
- str r0, [sp, 0x8]
- ldr r7, _082E0D18
- ldr r2, _082E0D1C
- str r2, [sp, 0xC]
- adds r0, 0x4
- str r0, [sp, 0x10]
- adds r2, 0x2
- b _082E0D68
- .align 2, 0
-_082E0D14: .4byte 0x04000060
-_082E0D18: .4byte 0x04000062
-_082E0D1C: .4byte 0x04000063
-_082E0D20:
- ldr r0, _082E0D2C
- str r0, [sp, 0x8]
- ldr r7, _082E0D30
- ldr r2, _082E0D34
- b _082E0D60
- .align 2, 0
-_082E0D2C: .4byte 0x04000061
-_082E0D30: .4byte 0x04000068
-_082E0D34: .4byte 0x04000069
-_082E0D38:
- ldr r0, _082E0D4C
- str r0, [sp, 0x8]
- ldr r7, _082E0D50
- ldr r2, _082E0D54
- str r2, [sp, 0xC]
- adds r0, 0x4
- str r0, [sp, 0x10]
- adds r2, 0x2
- b _082E0D68
- .align 2, 0
-_082E0D4C: .4byte 0x04000070
-_082E0D50: .4byte 0x04000072
-_082E0D54: .4byte 0x04000073
-_082E0D58:
- ldr r0, _082E0DB8
- str r0, [sp, 0x8]
- ldr r7, _082E0DBC
- ldr r2, _082E0DC0
-_082E0D60:
- str r2, [sp, 0xC]
- adds r0, 0xB
- str r0, [sp, 0x10]
- adds r2, 0x4
-_082E0D68:
- str r2, [sp, 0x14]
- ldr r0, [sp, 0x4]
- ldrb r0, [r0, 0xA]
- str r0, [sp]
- ldr r2, [sp, 0xC]
- ldrb r0, [r2]
- mov r8, r0
- adds r2, r1, 0
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _082E0E5E
- movs r3, 0x40
- adds r0, r3, 0
- ands r0, r2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0x1
- mov r10, r0
- movs r1, 0x40
- adds r1, r4
- mov r9, r1
- cmp r5, 0
- bne _082E0E82
- movs r0, 0x3
- strb r0, [r4]
- strb r0, [r4, 0x1D]
- adds r0, r4, 0
- str r3, [sp, 0x18]
- bl CgbModVol
- ldr r3, [sp, 0x18]
- cmp r6, 0x2
- beq _082E0DD0
- cmp r6, 0x2
- bgt _082E0DC4
- cmp r6, 0x1
- beq _082E0DCA
- b _082E0E24
- .align 2, 0
-_082E0DB8: .4byte 0x04000071
-_082E0DBC: .4byte 0x04000078
-_082E0DC0: .4byte 0x04000079
-_082E0DC4:
- cmp r6, 0x3
- beq _082E0DDC
- b _082E0E24
-_082E0DCA:
- ldrb r0, [r4, 0x1F]
- ldr r2, [sp, 0x8]
- strb r0, [r2]
-_082E0DD0:
- ldr r0, [r4, 0x24]
- lsls r0, 6
- ldrb r1, [r4, 0x1E]
- adds r0, r1, r0
- strb r0, [r7]
- b _082E0E30
-_082E0DDC:
- ldr r1, [r4, 0x24]
- ldr r0, [r4, 0x28]
- cmp r1, r0
- beq _082E0E04
- ldr r2, [sp, 0x8]
- strb r3, [r2]
- ldr r1, _082E0E18
- ldr r2, [r4, 0x24]
- ldr r0, [r2]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r2, 0x4]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r2, 0x8]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r2, 0xC]
- str r0, [r1]
- str r2, [r4, 0x28]
-_082E0E04:
- ldr r0, [sp, 0x8]
- strb r5, [r0]
- ldrb r0, [r4, 0x1E]
- strb r0, [r7]
- ldrb r0, [r4, 0x1E]
- cmp r0, 0
- beq _082E0E1C
- movs r0, 0xC0
- b _082E0E3E
- .align 2, 0
-_082E0E18: .4byte 0x04000090
-_082E0E1C:
- movs r1, 0x80
- negs r1, r1
- strb r1, [r4, 0x1A]
- b _082E0E40
-_082E0E24:
- ldrb r0, [r4, 0x1E]
- strb r0, [r7]
- ldr r0, [r4, 0x24]
- lsls r0, 3
- ldr r2, [sp, 0x10]
- strb r0, [r2]
-_082E0E30:
- ldrb r0, [r4, 0x4]
- adds r0, 0x8
- mov r8, r0
- ldrb r0, [r4, 0x1E]
- cmp r0, 0
- beq _082E0E3E
- movs r0, 0x40
-_082E0E3E:
- strb r0, [r4, 0x1A]
-_082E0E40:
- ldrb r1, [r4, 0x4]
- movs r2, 0
- strb r1, [r4, 0xB]
- movs r0, 0xFF
- ands r0, r1
- adds r1, r6, 0x1
- mov r10, r1
- movs r1, 0x40
- adds r1, r4
- mov r9, r1
- cmp r0, 0
- bne _082E0E5A
- b _082E0F96
-_082E0E5A:
- strb r2, [r4, 0x9]
- b _082E0FC4
-_082E0E5E:
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _082E0E90
- ldrb r0, [r4, 0xD]
- subs r0, 0x1
- strb r0, [r4, 0xD]
- movs r2, 0xFF
- ands r0, r2
- lsls r0, 24
- adds r1, r6, 0x1
- mov r10, r1
- movs r2, 0x40
- adds r2, r4
- mov r9, r2
- cmp r0, 0
- ble _082E0E82
- b _082E0FD6
-_082E0E82:
- lsls r0, r6, 24
- lsrs r0, 24
- bl CgbOscOff
- movs r0, 0
- strb r0, [r4]
- b _082E10D4
-_082E0E90:
- movs r0, 0x40
- ands r0, r1
- adds r2, r6, 0x1
- mov r10, r2
- movs r2, 0x40
- adds r2, r4
- mov r9, r2
- cmp r0, 0
- beq _082E0ED0
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _082E0ED0
- movs r0, 0xFC
- ands r0, r1
- movs r2, 0
- strb r0, [r4]
- ldrb r1, [r4, 0x7]
- strb r1, [r4, 0xB]
- movs r0, 0xFF
- ands r0, r1
- cmp r0, 0
- beq _082E0F02
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
- cmp r6, 0x3
- beq _082E0FC4
- ldrb r2, [r4, 0x7]
- mov r8, r2
- b _082E0FC4
-_082E0ED0:
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- bne _082E0FC4
- cmp r6, 0x3
- bne _082E0EE2
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
-_082E0EE2:
- adds r0, r4, 0
- bl CgbModVol
- movs r0, 0x3
- ldrb r2, [r4]
- ands r0, r2
- cmp r0, 0
- bne _082E0F36
- ldrb r0, [r4, 0x9]
- subs r0, 0x1
- strb r0, [r4, 0x9]
- movs r1, 0xFF
- ands r0, r1
- lsls r0, 24
- cmp r0, 0
- bgt _082E0F32
-_082E0F02:
- ldrb r2, [r4, 0xC]
- ldrb r1, [r4, 0xA]
- adds r0, r2, 0
- muls r0, r1
- adds r0, 0xFF
- asrs r0, 8
- movs r1, 0
- strb r0, [r4, 0x9]
- lsls r0, 24
- cmp r0, 0
- beq _082E0E82
- movs r0, 0x4
- ldrb r2, [r4]
- orrs r0, r2
- strb r0, [r4]
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
- cmp r6, 0x3
- beq _082E0FD6
- movs r2, 0x8
- mov r8, r2
- b _082E0FD6
-_082E0F32:
- ldrb r0, [r4, 0x7]
- b _082E0FC2
-_082E0F36:
- cmp r0, 0x1
- bne _082E0F42
-_082E0F3A:
- ldrb r0, [r4, 0x19]
- strb r0, [r4, 0x9]
- movs r0, 0x7
- b _082E0FC2
-_082E0F42:
- cmp r0, 0x2
- bne _082E0F86
- ldrb r0, [r4, 0x9]
- subs r0, 0x1
- strb r0, [r4, 0x9]
- movs r1, 0xFF
- ands r0, r1
- lsls r0, 24
- ldrb r2, [r4, 0x19]
- lsls r1, r2, 24
- cmp r0, r1
- bgt _082E0F82
-_082E0F5A:
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- bne _082E0F6A
- movs r0, 0xFC
- ldrb r1, [r4]
- ands r0, r1
- strb r0, [r4]
- b _082E0F02
-_082E0F6A:
- ldrb r0, [r4]
- subs r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
- ldrb r2, [r4, 0x1D]
- orrs r0, r2
- strb r0, [r4, 0x1D]
- cmp r6, 0x3
- beq _082E0F3A
- movs r0, 0x8
- mov r8, r0
- b _082E0F3A
-_082E0F82:
- ldrb r0, [r4, 0x5]
- b _082E0FC2
-_082E0F86:
- ldrb r0, [r4, 0x9]
- adds r0, 0x1
- strb r0, [r4, 0x9]
- movs r1, 0xFF
- ands r0, r1
- ldrb r2, [r4, 0xA]
- cmp r0, r2
- bcc _082E0FC0
-_082E0F96:
- ldrb r0, [r4]
- subs r0, 0x1
- movs r2, 0
- strb r0, [r4]
- ldrb r1, [r4, 0x5]
- strb r1, [r4, 0xB]
- movs r0, 0xFF
- ands r0, r1
- cmp r0, 0
- beq _082E0F5A
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
- ldrb r0, [r4, 0xA]
- strb r0, [r4, 0x9]
- cmp r6, 0x3
- beq _082E0FC4
- ldrb r2, [r4, 0x5]
- mov r8, r2
- b _082E0FC4
-_082E0FC0:
- ldrb r0, [r4, 0x4]
-_082E0FC2:
- strb r0, [r4, 0xB]
-_082E0FC4:
- ldrb r0, [r4, 0xB]
- subs r0, 0x1
- strb r0, [r4, 0xB]
- ldr r0, [sp]
- cmp r0, 0
- bne _082E0FD6
- subs r0, 0x1
- str r0, [sp]
- b _082E0ED0
-_082E0FD6:
- movs r0, 0x2
- ldrb r1, [r4, 0x1D]
- ands r0, r1
- cmp r0, 0
- beq _082E104E
- cmp r6, 0x3
- bgt _082E1016
- movs r0, 0x8
- ldrb r2, [r4, 0x1]
- ands r0, r2
- cmp r0, 0
- beq _082E1016
- ldr r0, _082E1000
- ldrb r0, [r0]
- cmp r0, 0x3F
- bgt _082E1008
- ldr r0, [r4, 0x20]
- adds r0, 0x2
- ldr r1, _082E1004
- b _082E1012
- .align 2, 0
-_082E1000: .4byte 0x04000089
-_082E1004: .4byte 0x000007fc
-_082E1008:
- cmp r0, 0x7F
- bgt _082E1016
- ldr r0, [r4, 0x20]
- adds r0, 0x1
- ldr r1, _082E1024
-_082E1012:
- ands r0, r1
- str r0, [r4, 0x20]
-_082E1016:
- cmp r6, 0x4
- beq _082E1028
- ldr r0, [r4, 0x20]
- ldr r1, [sp, 0x10]
- strb r0, [r1]
- b _082E1036
- .align 2, 0
-_082E1024: .4byte 0x000007fe
-_082E1028:
- ldr r2, [sp, 0x10]
- ldrb r0, [r2]
- movs r1, 0x8
- ands r1, r0
- ldr r0, [r4, 0x20]
- orrs r0, r1
- strb r0, [r2]
-_082E1036:
- movs r0, 0xC0
- ldrb r1, [r4, 0x1A]
- ands r0, r1
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r0, r1, r0
- strb r0, [r4, 0x1A]
- movs r2, 0xFF
- ands r0, r2
- ldr r1, [sp, 0x14]
- strb r0, [r1]
-_082E104E:
- movs r0, 0x1
- ldrb r2, [r4, 0x1D]
- ands r0, r2
- cmp r0, 0
- beq _082E10D4
- ldr r1, _082E1098
- ldrb r0, [r1]
- ldrb r2, [r4, 0x1C]
- bics r0, r2
- ldrb r2, [r4, 0x1B]
- orrs r0, r2
- strb r0, [r1]
- cmp r6, 0x3
- bne _082E10A0
- ldr r0, _082E109C
- ldrb r1, [r4, 0x9]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, [sp, 0xC]
- strb r0, [r2]
- movs r1, 0x80
- adds r0, r1, 0
- ldrb r2, [r4, 0x1A]
- ands r0, r2
- cmp r0, 0
- beq _082E10D4
- ldr r0, [sp, 0x8]
- strb r1, [r0]
- ldrb r0, [r4, 0x1A]
- ldr r1, [sp, 0x14]
- strb r0, [r1]
- movs r0, 0x7F
- ldrb r2, [r4, 0x1A]
- ands r0, r2
- strb r0, [r4, 0x1A]
- b _082E10D4
- .align 2, 0
-_082E1098: .4byte 0x04000081
-_082E109C: .4byte 0x08675c54
-_082E10A0:
- movs r0, 0xF
- mov r1, r8
- ands r1, r0
- mov r8, r1
- ldrb r2, [r4, 0x9]
- lsls r0, r2, 4
- add r0, r8
- ldr r1, [sp, 0xC]
- strb r0, [r1]
- movs r2, 0x80
- ldrb r0, [r4, 0x1A]
- orrs r0, r2
- ldr r1, [sp, 0x14]
- strb r0, [r1]
- cmp r6, 0x1
- bne _082E10D4
- ldr r0, [sp, 0x8]
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _082E10D4
- ldrb r0, [r4, 0x1A]
- orrs r0, r2
- ldr r1, [sp, 0x14]
- strb r0, [r1]
-_082E10D4:
- movs r0, 0
- strb r0, [r4, 0x1D]
-_082E10D8:
- mov r6, r10
- mov r4, r9
- cmp r6, 0x4
- bgt _082E10E2
- b _082E0CD8
-_082E10E2:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end CgbSound
-
- thumb_func_start MPlayTempoControl
-MPlayTempoControl: @ 82E10F4
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r3, [r2, 0x34]
- ldr r0, _082E1118
- cmp r3, r0
- bne _082E1110
- strh r1, [r2, 0x1E]
- ldrh r4, [r2, 0x1C]
- adds r0, r1, 0
- muls r0, r4
- asrs r0, 8
- strh r0, [r2, 0x20]
-_082E1110:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_082E1118: .4byte 0x68736d53
- thumb_func_end MPlayTempoControl
-
- thumb_func_start MPlayVolumeControl
-MPlayVolumeControl: @ 82E111C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r6, r2, 16
- ldr r3, [r4, 0x34]
- ldr r0, _082E1180
- cmp r3, r0
- bne _082E1174
- adds r0, r3, 0x1
- str r0, [r4, 0x34]
- ldrb r2, [r4, 0x8]
- ldr r1, [r4, 0x2C]
- movs r5, 0x1
- cmp r2, 0
- ble _082E1170
- movs r0, 0x80
- mov r8, r0
- lsrs r6, 18
- movs r0, 0x3
- mov r12, r0
-_082E114C:
- adds r0, r7, 0
- ands r0, r5
- cmp r0, 0
- beq _082E1166
- ldrb r3, [r1]
- mov r0, r8
- ands r0, r3
- cmp r0, 0
- beq _082E1166
- strb r6, [r1, 0x13]
- mov r0, r12
- orrs r0, r3
- strb r0, [r1]
-_082E1166:
- subs r2, 0x1
- adds r1, 0x50
- lsls r5, 1
- cmp r2, 0
- bgt _082E114C
-_082E1170:
- ldr r0, _082E1180
- str r0, [r4, 0x34]
-_082E1174:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E1180: .4byte 0x68736d53
- thumb_func_end MPlayVolumeControl
-
- thumb_func_start MPlayPitchControl
-MPlayPitchControl: @ 82E1184
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r12, r1
- lsls r2, 16
- lsrs r6, r2, 16
- ldr r3, [r4, 0x34]
- ldr r0, _082E11F4
- cmp r3, r0
- bne _082E11E6
- adds r0, r3, 0x1
- str r0, [r4, 0x34]
- ldrb r2, [r4, 0x8]
- ldr r3, [r4, 0x2C]
- movs r5, 0x1
- cmp r2, 0
- ble _082E11E2
- movs r0, 0x80
- mov r9, r0
- lsls r0, r6, 16
- asrs r7, r0, 24
- movs r0, 0xC
- mov r8, r0
-_082E11BC:
- mov r0, r12
- ands r0, r5
- cmp r0, 0
- beq _082E11D8
- ldrb r1, [r3]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _082E11D8
- strb r7, [r3, 0xB]
- strb r6, [r3, 0xD]
- mov r0, r8
- orrs r0, r1
- strb r0, [r3]
-_082E11D8:
- subs r2, 0x1
- adds r3, 0x50
- lsls r5, 1
- cmp r2, 0
- bgt _082E11BC
-_082E11E2:
- ldr r0, _082E11F4
- str r0, [r4, 0x34]
-_082E11E6:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E11F4: .4byte 0x68736d53
- thumb_func_end MPlayPitchControl
-
- thumb_func_start MPlayPanpotControl
-MPlayPanpotControl: @ 82E11F8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r3, [r4, 0x34]
- ldr r0, _082E125C
- cmp r3, r0
- bne _082E1250
- adds r0, r3, 0x1
- str r0, [r4, 0x34]
- ldrb r2, [r4, 0x8]
- ldr r1, [r4, 0x2C]
- movs r5, 0x1
- cmp r2, 0
- ble _082E124C
- movs r0, 0x80
- mov r8, r0
- movs r0, 0x3
- mov r12, r0
-_082E1228:
- adds r0, r7, 0
- ands r0, r5
- cmp r0, 0
- beq _082E1242
- ldrb r3, [r1]
- mov r0, r8
- ands r0, r3
- cmp r0, 0
- beq _082E1242
- strb r6, [r1, 0x15]
- mov r0, r12
- orrs r0, r3
- strb r0, [r1]
-_082E1242:
- subs r2, 0x1
- adds r1, 0x50
- lsls r5, 1
- cmp r2, 0
- bgt _082E1228
-_082E124C:
- ldr r0, _082E125C
- str r0, [r4, 0x34]
-_082E1250:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E125C: .4byte 0x68736d53
- thumb_func_end MPlayPanpotControl
-
- thumb_func_start MP_clear_modM
-MP_clear_modM: @ 82E1260
- adds r1, r0, 0
- movs r2, 0
- movs r0, 0
- strb r0, [r1, 0x1A]
- strb r0, [r1, 0x16]
- ldrb r0, [r1, 0x18]
- cmp r0, 0
- bne _082E1274
- movs r0, 0xC
- b _082E1276
-_082E1274:
- movs r0, 0x3
-_082E1276:
- ldrb r2, [r1]
- orrs r0, r2
- strb r0, [r1]
- bx lr
- thumb_func_end MP_clear_modM
-
- thumb_func_start MPlayModDepthSet
-MPlayModDepthSet: @ 82E1280
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r1, [r6, 0x34]
- ldr r0, _082E12F0
- cmp r1, r0
- bne _082E12E0
- adds r0, r1, 0x1
- str r0, [r6, 0x34]
- ldrb r5, [r6, 0x8]
- ldr r4, [r6, 0x2C]
- movs r7, 0x1
- cmp r5, 0
- ble _082E12DC
- mov r9, r8
-_082E12B0:
- mov r0, r10
- ands r0, r7
- cmp r0, 0
- beq _082E12D2
- movs r0, 0x80
- ldrb r1, [r4]
- ands r0, r1
- cmp r0, 0
- beq _082E12D2
- mov r0, r8
- strb r0, [r4, 0x17]
- mov r1, r9
- cmp r1, 0
- bne _082E12D2
- adds r0, r4, 0
- bl MP_clear_modM
-_082E12D2:
- subs r5, 0x1
- adds r4, 0x50
- lsls r7, 1
- cmp r5, 0
- bgt _082E12B0
-_082E12DC:
- ldr r0, _082E12F0
- str r0, [r6, 0x34]
-_082E12E0:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E12F0: .4byte 0x68736d53
- thumb_func_end MPlayModDepthSet
-
- thumb_func_start MPlayLFOSpeedSet
-MPlayLFOSpeedSet: @ 82E12F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r1, [r6, 0x34]
- ldr r0, _082E1364
- cmp r1, r0
- bne _082E1354
- adds r0, r1, 0x1
- str r0, [r6, 0x34]
- ldrb r5, [r6, 0x8]
- ldr r4, [r6, 0x2C]
- movs r7, 0x1
- cmp r5, 0
- ble _082E1350
- mov r9, r8
-_082E1324:
- mov r0, r10
- ands r0, r7
- cmp r0, 0
- beq _082E1346
- movs r0, 0x80
- ldrb r1, [r4]
- ands r0, r1
- cmp r0, 0
- beq _082E1346
- mov r0, r8
- strb r0, [r4, 0x19]
- mov r1, r9
- cmp r1, 0
- bne _082E1346
- adds r0, r4, 0
- bl MP_clear_modM
-_082E1346:
- subs r5, 0x1
- adds r4, 0x50
- lsls r7, 1
- cmp r5, 0
- bgt _082E1324
-_082E1350:
- ldr r0, _082E1364
- str r0, [r6, 0x34]
-_082E1354:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E1364: .4byte 0x68736d53
- thumb_func_end MPlayLFOSpeedSet
-
- thumb_func_start ply_memacc
-ply_memacc: @ 82E1368
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r1, [r6, 0x40]
- ldrb r5, [r1]
- adds r2, r1, 0x1
- str r2, [r6, 0x40]
- ldr r0, [r4, 0x18]
- ldrb r1, [r1, 0x1]
- adds r3, r1, r0
- adds r0, r2, 0x1
- str r0, [r6, 0x40]
- ldrb r2, [r2, 0x1]
- adds r0, 0x1
- str r0, [r6, 0x40]
- cmp r5, 0x11
- bls _082E138C
- b _082E14BA
-_082E138C:
- lsls r0, r5, 2
- ldr r1, _082E1398
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_082E1398: .4byte _082E139C
- .align 2, 0
-_082E139C:
- .4byte _082E13E4
- .4byte _082E13E8
- .4byte _082E13F0
- .4byte _082E13F8
- .4byte _082E1402
- .4byte _082E1410
- .4byte _082E141E
- .4byte _082E1426
- .4byte _082E142E
- .4byte _082E1436
- .4byte _082E143E
- .4byte _082E1446
- .4byte _082E144E
- .4byte _082E145C
- .4byte _082E146A
- .4byte _082E1478
- .4byte _082E1486
- .4byte _082E1494
-_082E13E4:
- strb r2, [r3]
- b _082E14BA
-_082E13E8:
- ldrb r1, [r3]
- adds r0, r1, r2
- strb r0, [r3]
- b _082E14BA
-_082E13F0:
- ldrb r1, [r3]
- subs r0, r1, r2
- strb r0, [r3]
- b _082E14BA
-_082E13F8:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r3]
- b _082E14BA
-_082E1402:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r1, [r3]
- ldrb r0, [r0]
- adds r0, r1, r0
- strb r0, [r3]
- b _082E14BA
-_082E1410:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r1, [r3]
- ldrb r0, [r0]
- subs r0, r1, r0
- strb r0, [r3]
- b _082E14BA
-_082E141E:
- ldrb r3, [r3]
- cmp r3, r2
- beq _082E14A0
- b _082E14B4
-_082E1426:
- ldrb r3, [r3]
- cmp r3, r2
- bne _082E14A0
- b _082E14B4
-_082E142E:
- ldrb r3, [r3]
- cmp r3, r2
- bhi _082E14A0
- b _082E14B4
-_082E1436:
- ldrb r3, [r3]
- cmp r3, r2
- bcs _082E14A0
- b _082E14B4
-_082E143E:
- ldrb r3, [r3]
- cmp r3, r2
- bls _082E14A0
- b _082E14B4
-_082E1446:
- ldrb r3, [r3]
- cmp r3, r2
- bcc _082E14A0
- b _082E14B4
-_082E144E:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- beq _082E14A0
- b _082E14B4
-_082E145C:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- bne _082E14A0
- b _082E14B4
-_082E146A:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- bhi _082E14A0
- b _082E14B4
-_082E1478:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- bcs _082E14A0
- b _082E14B4
-_082E1486:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- bls _082E14A0
- b _082E14B4
-_082E1494:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- bcs _082E14B4
-_082E14A0:
- ldr r0, _082E14B0
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- bl _call_via_r2
- b _082E14BA
- .align 2, 0
-_082E14B0: .4byte 0x03007464
-_082E14B4:
- ldr r0, [r6, 0x40]
- adds r0, 0x4
- str r0, [r6, 0x40]
-_082E14BA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end ply_memacc
-
- thumb_func_start ply_xcmd
-ply_xcmd: @ 82E14C0
- push {lr}
- ldr r2, [r1, 0x40]
- ldrb r3, [r2]
- adds r2, 0x1
- str r2, [r1, 0x40]
- ldr r2, _082E14DC
- lsls r3, 2
- adds r3, r2
- ldr r2, [r3]
- bl _call_via_r2
- pop {r0}
- bx r0
- .align 2, 0
-_082E14DC: .4byte 0x08675ccc
- thumb_func_end ply_xcmd
-
- thumb_func_start ply_xxx
-ply_xxx: @ 82E14E0
- push {lr}
- ldr r2, _082E14F0
- ldr r2, [r2]
- bl _call_via_r2
- pop {r0}
- bx r0
- .align 2, 0
-_082E14F0: .4byte 0x03007460
- thumb_func_end ply_xxx
-
- thumb_func_start ply_xwave
-ply_xwave: @ 82E14F4
- push {r4,lr}
- ldr r2, [r1, 0x40]
- ldr r0, _082E152C
- ands r4, r0
- ldrb r0, [r2]
- orrs r4, r0
- ldrb r0, [r2, 0x1]
- lsls r3, r0, 8
- ldr r0, _082E1530
- ands r4, r0
- orrs r4, r3
- ldrb r0, [r2, 0x2]
- lsls r3, r0, 16
- ldr r0, _082E1534
- ands r4, r0
- orrs r4, r3
- ldrb r0, [r2, 0x3]
- lsls r3, r0, 24
- ldr r0, _082E1538
- ands r4, r0
- orrs r4, r3
- str r4, [r1, 0x28]
- adds r2, 0x4
- str r2, [r1, 0x40]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_082E152C: .4byte 0xffffff00
-_082E1530: .4byte 0xffff00ff
-_082E1534: .4byte 0xff00ffff
-_082E1538: .4byte 0x00ffffff
- thumb_func_end ply_xwave
-
- thumb_func_start ply_xtype
-ply_xtype: @ 82E153C
- ldr r0, [r1, 0x40]
- ldrb r2, [r0]
- adds r0, r1, 0
- adds r0, 0x24
- strb r2, [r0]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xtype
-
- thumb_func_start ply_xatta
-ply_xatta: @ 82E1550
- ldr r0, [r1, 0x40]
- ldrb r2, [r0]
- adds r0, r1, 0
- adds r0, 0x2C
- strb r2, [r0]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xatta
-
- thumb_func_start ply_xdeca
-ply_xdeca: @ 82E1564
- ldr r0, [r1, 0x40]
- ldrb r0, [r0]
- adds r2, r1, 0
- adds r2, 0x2D
- strb r0, [r2]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xdeca
-
- thumb_func_start ply_xsust
-ply_xsust: @ 82E1578
- ldr r0, [r1, 0x40]
- ldrb r0, [r0]
- adds r2, r1, 0
- adds r2, 0x2E
- strb r0, [r2]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xsust
-
- thumb_func_start ply_xrele
-ply_xrele: @ 82E158C
- ldr r0, [r1, 0x40]
- ldrb r0, [r0]
- adds r2, r1, 0
- adds r2, 0x2F
- strb r0, [r2]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xrele
-
- thumb_func_start ply_xiecv
-ply_xiecv: @ 82E15A0
- ldr r0, [r1, 0x40]
- ldrb r2, [r0]
- strb r2, [r1, 0x1E]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xiecv
-
- thumb_func_start ply_xiecl
-ply_xiecl: @ 82E15AC
- ldr r0, [r1, 0x40]
- ldrb r2, [r0]
- strb r2, [r1, 0x1F]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xiecl
-
- thumb_func_start ply_xleng
-ply_xleng: @ 82E15B8
- ldr r0, [r1, 0x40]
- ldrb r0, [r0]
- adds r2, r1, 0
- adds r2, 0x26
- strb r0, [r2]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xleng
-
- thumb_func_start ply_xswee
-ply_xswee: @ 82E15CC
- ldr r0, [r1, 0x40]
- ldrb r0, [r0]
- adds r2, r1, 0
- adds r2, 0x27
- strb r0, [r2]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xswee
-
- thumb_func_start ply_xcmd0C
-ply_xcmd0C: @ 82E15E0
- push {r4,lr}
- adds r3, r1, 0
- ldr r4, [r3, 0x40]
- ldr r0, _082E1610
- ands r2, r0
- ldrb r0, [r4]
- orrs r2, r0
- ldrb r0, [r4, 0x1]
- lsls r1, r0, 8
- ldr r0, _082E1614
- ands r2, r0
- orrs r2, r1
- ldrh r1, [r3, 0x3A]
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r1, r0
- bcs _082E1618
- adds r0, r1, 0x1
- strh r0, [r3, 0x3A]
- subs r0, r4, 0x2
- str r0, [r3, 0x40]
- movs r0, 0x1
- strb r0, [r3, 0x1]
- b _082E1620
- .align 2, 0
-_082E1610: .4byte 0xffffff00
-_082E1614: .4byte 0xffff00ff
-_082E1618:
- movs r0, 0
- strh r0, [r3, 0x3A]
- adds r0, r4, 0x2
- str r0, [r3, 0x40]
-_082E1620:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ply_xcmd0C
-
- thumb_func_start ply_xcmd0D
-ply_xcmd0D: @ 82E1628
- push {r4,lr}
- ldr r2, [r1, 0x40]
- ldr r0, _082E1660
- ands r4, r0
- ldrb r0, [r2]
- orrs r4, r0
- ldrb r0, [r2, 0x1]
- lsls r3, r0, 8
- ldr r0, _082E1664
- ands r4, r0
- orrs r4, r3
- ldrb r0, [r2, 0x2]
- lsls r3, r0, 16
- ldr r0, _082E1668
- ands r4, r0
- orrs r4, r3
- ldrb r0, [r2, 0x3]
- lsls r3, r0, 24
- ldr r0, _082E166C
- ands r4, r0
- orrs r4, r3
- str r4, [r1, 0x3C]
- adds r2, 0x4
- str r2, [r1, 0x40]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_082E1660: .4byte 0xffffff00
-_082E1664: .4byte 0xffff00ff
-_082E1668: .4byte 0xff00ffff
-_082E166C: .4byte 0x00ffffff
- thumb_func_end ply_xcmd0D
-
- thumb_func_start DummyFunc_rev
-DummyFunc_rev: @ 82E1670
- bx lr
- thumb_func_end DummyFunc_rev
-
- thumb_func_start sub_82E1674
-sub_82E1674: @ 82E1674
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- movs r6, 0
- movs r1, 0
- movs r4, 0
- ldr r0, _082E1730
- mov r8, r0
- ldr r7, _082E1734
- ldr r0, _082E1738
- mov r10, r0
- mov r5, r8
- adds r5, 0xC
- movs r3, 0
- ldr r0, _082E173C
- mov r12, r0
-_082E169A:
- mov r0, r12
- adds r2, r3, r0
- ldrb r0, [r2]
- cmp r0, 0
- bne _082E16B0
- ldr r0, [r2, 0x20]
- cmp r0, 0
- beq _082E16C6
- ldr r0, [r0, 0x2C]
- cmp r0, r2
- bne _082E16C6
-_082E16B0:
- ldr r0, [r5]
- cmp r6, r0
- bcs _082E16BA
- adds r6, r0, 0
- adds r1, r4, 0
-_082E16BA:
- adds r5, 0x40
- adds r3, 0xA0
- adds r4, 0x1
- cmp r4, 0x1
- ble _082E169A
- adds r4, r1, 0
-_082E16C6:
- lsls r5, r4, 6
- add r5, r8
- ldr r0, [r5, 0x34]
- adds r0, 0x1
- str r0, [r5, 0x34]
- movs r0, 0x34
- muls r4, r0
- adds r6, r4, r7
- adds r0, r6, 0
- mov r1, r10
- movs r2, 0x34
- bl memcpy
- adds r0, r7, 0x4
- adds r0, r4, r0
- mov r1, r9
- str r1, [r0]
- adds r1, r7, 0
- adds r1, 0x8
- adds r1, r4, r1
- adds r0, r7, 0
- adds r0, 0x11
- adds r0, r4, r0
- str r0, [r1]
- adds r1, r7, 0
- adds r1, 0xC
- adds r1, r4, r1
- adds r0, r7, 0
- adds r0, 0x18
- adds r0, r4, r0
- str r0, [r1]
- adds r0, r7, 0
- adds r0, 0x14
- adds r0, r4, r0
- adds r1, r7, 0
- adds r1, 0x1A
- adds r4, r1
- str r4, [r0]
- ldr r0, _082E1740
- str r0, [r5, 0x34]
- adds r0, r5, 0
- adds r1, r6, 0
- bl MPlayStart_rev01
- adds r0, r5, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_082E1730: .4byte 0x030073a0
-_082E1734: .4byte 0x03007330
-_082E1738: .4byte 0x030077b0
-_082E173C: .4byte 0x03007670
-_082E1740: .4byte 0x68736d53
- thumb_func_end sub_82E1674
-
- thumb_func_start sub_82E1744
-sub_82E1744: @ 82E1744
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _082E1754
- movs r1, 0x7F
- ands r0, r1
- strb r0, [r2, 0x1D]
- bx lr
- .align 2, 0
-_082E1754: .4byte 0x030077b0
- thumb_func_end sub_82E1744
-
- thumb_func_start sub_82E1758
-sub_82E1758: @ 82E1758
- ldr r2, _082E176C
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x40
- movs r1, 0x7F
- ands r0, r1
- adds r2, 0x28
- strb r0, [r2]
- bx lr
- .align 2, 0
-_082E176C: .4byte 0x030077b0
- thumb_func_end sub_82E1758
-
- thumb_func_start sub_82E1770
-sub_82E1770: @ 82E1770
- push {r4-r6,lr}
- lsls r0, 16
- ldr r3, _082E17A4
- ldrb r2, [r3, 0x19]
- ldrb r4, [r3, 0x12]
- subs r1, r2, r4
- lsls r1, 24
- lsrs r1, 24
- movs r6, 0x80
- lsls r6, 16
- adds r0, r6
- asrs r2, r0, 24
- movs r5, 0x7F
- movs r4, 0x7F
- ands r2, r4
- movs r6, 0x2A
- strb r2, [r6, r3]
- asrs r0, 17
- ands r0, r4
- strb r0, [r3, 0x12]
- adds r1, r0
- ands r1, r5
- strb r1, [r3, 0x19]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_082E17A4: .4byte 0x030077b0
- thumb_func_end sub_82E1770
-
- thumb_func_start sub_82E17A8
-sub_82E17A8: @ 82E17A8
- ldr r1, _082E17B0
- strh r0, [r1, 0x2E]
- bx lr
- .align 2, 0
-_082E17B0: .4byte 0x030077b0
- thumb_func_end sub_82E17A8
-
- thumb_func_start sub_82E17B4
-sub_82E17B4: @ 82E17B4
- ldr r1, _082E17BC
- adds r1, 0x26
- strb r0, [r1]
- bx lr
- .align 2, 0
-_082E17BC: .4byte 0x030077b0
- thumb_func_end sub_82E17B4
-
- thumb_func_start sub_82E17C0
-sub_82E17C0: @ 82E17C0
- ldr r1, _082E17C8
- str r0, [r1, 0x20]
- bx lr
- .align 2, 0
-_082E17C8: .4byte 0x030077b0
- thumb_func_end sub_82E17C0
-
- thumb_func_start sub_82E17CC
-sub_82E17CC: @ 82E17CC
- ldr r1, [r0, 0x2C]
- ldr r0, [r1, 0x20]
- cmp r0, 0
- beq _082E17DE
- ldr r0, [r0, 0x2C]
- cmp r0, r1
- bne _082E17DE
- movs r0, 0x1
- b _082E17E0
-_082E17DE:
- movs r0, 0
-_082E17E0:
- bx lr
- thumb_func_end sub_82E17CC
-
- thumb_func_start sub_82E17E4
-sub_82E17E4: @ 82E17E4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r0, 0
- beq _082E1804
- ldr r2, _082E1800
- movs r0, 0x2
- strb r0, [r2]
- ldrb r3, [r2, 0x12]
- adds r0, r3, r1
- movs r1, 0x7F
- ands r0, r1
- strb r0, [r2, 0x19]
- b _082E180A
- .align 2, 0
-_082E1800: .4byte 0x030077b0
-_082E1804:
- ldr r1, _082E180C
- movs r0, 0x1
- strb r0, [r1]
-_082E180A:
- bx lr
- .align 2, 0
-_082E180C: .4byte 0x030077b0
- thumb_func_end sub_82E17E4
-
- thumb_func_start sub_82E1810
-sub_82E1810: @ 82E1810
- ldr r1, _082E1828
- ldr r2, [r1]
- cmp r0, 0
- beq _082E1834
- ldr r1, _082E182C
- ldr r3, _082E1830
- adds r0, r3, 0
- strh r0, [r1]
- movs r0, 0xFE
- ldrb r1, [r2, 0x9]
- ands r0, r1
- b _082E1842
- .align 2, 0
-_082E1828: .4byte 0x03007ff0
-_082E182C: .4byte 0x04000082
-_082E1830: .4byte 0x0000210e
-_082E1834:
- ldr r1, _082E1848
- ldr r3, _082E184C
- adds r0, r3, 0
- strh r0, [r1]
- movs r0, 0x1
- ldrb r1, [r2, 0x9]
- orrs r0, r1
-_082E1842:
- strb r0, [r2, 0x9]
- bx lr
- .align 2, 0
-_082E1848: .4byte 0x04000082
-_082E184C: .4byte 0x00003302
- thumb_func_end sub_82E1810
-
- thumb_func_start sub_82E1850
-sub_82E1850: @ 82E1850
- ldr r1, _082E1858
- strb r0, [r1, 0x2]
- bx lr
- .align 2, 0
-_082E1858: .4byte 0x030077b0
- thumb_func_end sub_82E1850
-
- thumb_func_start SwitchFlashBank
-SwitchFlashBank: @ 82E185C
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _082E1878
- movs r1, 0xAA
- strb r1, [r3]
- ldr r2, _082E187C
- movs r1, 0x55
- strb r1, [r2]
- movs r1, 0xB0
- strb r1, [r3]
- movs r1, 0xE0
- lsls r1, 20
- strb r0, [r1]
- bx lr
- .align 2, 0
-_082E1878: .4byte 0x0e005555
-_082E187C: .4byte 0x0e002aaa
- thumb_func_end SwitchFlashBank
-
- thumb_func_start ReadFlashID
-ReadFlashID: @ 82E1880
- push {r4,r5,lr}
- sub sp, 0x44
- mov r0, sp
- bl SetReadFlash1
- mov r5, sp
- adds r5, 0x1
- ldr r2, _082E18A8
- movs r0, 0xAA
- strb r0, [r2]
- ldr r1, _082E18AC
- movs r0, 0x55
- strb r0, [r1]
- movs r0, 0x90
- strb r0, [r2]
- add r1, sp, 0x40
- ldr r2, _082E18B0
- adds r0, r2, 0
- b _082E18B8
- .align 2, 0
-_082E18A8: .4byte 0x0e005555
-_082E18AC: .4byte 0x0e002aaa
-_082E18B0: .4byte 0x00004e20
-_082E18B4:
- ldrh r0, [r1]
- subs r0, 0x1
-_082E18B8:
- strh r0, [r1]
- ldrh r0, [r1]
- cmp r0, 0
- bne _082E18B4
- ldr r0, _082E18F4
- bl _call_via_r5
- lsls r0, 24
- lsrs r4, r0, 16
- movs r0, 0xE0
- lsls r0, 20
- bl _call_via_r5
- lsls r0, 24
- lsrs r0, 24
- orrs r4, r0
- ldr r1, _082E18F8
- movs r0, 0xAA
- strb r0, [r1]
- ldr r2, _082E18FC
- movs r0, 0x55
- strb r0, [r2]
- movs r0, 0xF0
- strb r0, [r1]
- strb r0, [r1]
- add r1, sp, 0x40
- ldr r2, _082E1900
- adds r0, r2, 0
- b _082E1908
- .align 2, 0
-_082E18F4: .4byte 0x0e000001
-_082E18F8: .4byte 0x0e005555
-_082E18FC: .4byte 0x0e002aaa
-_082E1900: .4byte 0x00004e20
-_082E1904:
- ldrh r0, [r1]
- subs r0, 0x1
-_082E1908:
- strh r0, [r1]
- ldrh r0, [r1]
- cmp r0, 0
- bne _082E1904
- adds r0, r4, 0
- add sp, 0x44
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ReadFlashID
-
- thumb_func_start FlashTimerIntr
-FlashTimerIntr: @ 82E191C
- push {lr}
- ldr r1, _082E193C
- ldrh r0, [r1]
- cmp r0, 0
- beq _082E1938
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _082E1938
- ldr r1, _082E1940
- movs r0, 0x1
- strb r0, [r1]
-_082E1938:
- pop {r0}
- bx r0
- .align 2, 0
-_082E193C: .4byte 0x03001a72
-_082E1940: .4byte 0x03007840
- thumb_func_end FlashTimerIntr
-
- thumb_func_start SetFlashTimerIntr
-SetFlashTimerIntr: @ 82E1944
- push {lr}
- adds r2, r1, 0
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bhi _082E1978
- ldr r0, _082E1968
- strb r1, [r0]
- ldr r1, _082E196C
- ldrb r0, [r0]
- lsls r0, 2
- ldr r3, _082E1970
- adds r0, r3
- str r0, [r1]
- ldr r0, _082E1974
- str r0, [r2]
- movs r0, 0
- b _082E197A
- .align 2, 0
-_082E1968: .4byte 0x03001a70
-_082E196C: .4byte 0x03001a74
-_082E1970: .4byte 0x04000100
-_082E1974: .4byte FlashTimerIntr + 1
-_082E1978:
- movs r0, 0x1
-_082E197A:
- pop {r1}
- bx r1
- thumb_func_end SetFlashTimerIntr
-
- thumb_func_start StartFlashTimer
-StartFlashTimer: @ 82E1980
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _082E1A04
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 1
- ldr r0, [r1]
- adds r2, r0
- ldr r1, _082E1A08
- ldr r0, _082E1A0C
- mov r9, r0
- ldrh r0, [r0]
- strh r0, [r1]
- movs r3, 0
- mov r1, r9
- strh r3, [r1]
- ldr r0, _082E1A10
- mov r8, r0
- ldr r4, [r0]
- strh r3, [r4, 0x2]
- ldr r6, _082E1A14
- ldr r1, _082E1A18
- mov r10, r1
- ldrb r1, [r1]
- movs r5, 0x8
- adds r0, r5, 0
- lsls r0, r1
- adds r1, r0, 0
- ldrh r0, [r6]
- orrs r0, r1
- strh r0, [r6]
- ldr r0, _082E1A1C
- strb r3, [r0]
- ldr r1, _082E1A20
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- ldrh r0, [r2]
- strh r0, [r4]
- adds r0, r4, 0x2
- mov r1, r8
- str r0, [r1]
- ldrh r0, [r2, 0x2]
- strh r0, [r4, 0x2]
- str r4, [r1]
- ldr r1, _082E1A24
- mov r2, r10
- ldrb r0, [r2]
- lsls r5, r0
- strh r5, [r1]
- movs r0, 0x1
- mov r3, r9
- strh r0, [r3]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_082E1A04: .4byte 0x03007864
-_082E1A08: .4byte 0x03001a78
-_082E1A0C: .4byte 0x04000208
-_082E1A10: .4byte 0x03001a74
-_082E1A14: .4byte 0x04000200
-_082E1A18: .4byte 0x03001a70
-_082E1A1C: .4byte 0x03007840
-_082E1A20: .4byte 0x03001a72
-_082E1A24: .4byte 0x04000202
- thumb_func_end StartFlashTimer
-
- thumb_func_start StopFlashTimer
-StopFlashTimer: @ 82E1A28
- ldr r3, _082E1A58
- movs r1, 0
- strh r1, [r3]
- ldr r2, _082E1A5C
- ldr r0, [r2]
- strh r1, [r0]
- adds r0, 0x2
- str r0, [r2]
- strh r1, [r0]
- subs r0, 0x2
- str r0, [r2]
- ldr r2, _082E1A60
- ldr r0, _082E1A64
- ldrb r0, [r0]
- movs r1, 0x8
- lsls r1, r0
- ldrh r0, [r2]
- bics r0, r1
- strh r0, [r2]
- ldr r0, _082E1A68
- ldrh r0, [r0]
- strh r0, [r3]
- bx lr
- .align 2, 0
-_082E1A58: .4byte 0x04000208
-_082E1A5C: .4byte 0x03001a74
-_082E1A60: .4byte 0x04000200
-_082E1A64: .4byte 0x03001a70
-_082E1A68: .4byte 0x03001a78
- thumb_func_end StopFlashTimer
-
- thumb_func_start ReadFlash1
-ReadFlash1: @ 82E1A6C
- ldrb r0, [r0]
- bx lr
- thumb_func_end ReadFlash1
-
- thumb_func_start SetReadFlash1
-SetReadFlash1: @ 82E1A70
- push {lr}
- adds r2, r0, 0
- ldr r1, _082E1A8C
- adds r0, r2, 0x1
- str r0, [r1]
- ldr r3, _082E1A90
- movs r0, 0x1
- eors r3, r0
- ldr r0, _082E1A94
- ldr r1, _082E1A90
- subs r0, r1
- lsls r0, 15
- b _082E1AA4
- .align 2, 0
-_082E1A8C: .4byte 0x03007844
-_082E1A90: .4byte ReadFlash1 + 1
-_082E1A94: .4byte SetReadFlash1 + 1
-_082E1A98:
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- subs r0, r1, 0x1
- lsls r0, 16
-_082E1AA4:
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E1A98
- pop {r0}
- bx r0
- thumb_func_end SetReadFlash1
-
- thumb_func_start ReadFlash_Core
-ReadFlash_Core: @ 82E1AB0
- push {r4,lr}
- adds r4, r0, 0
- subs r3, r2, 0x1
- cmp r2, 0
- beq _082E1ACC
- movs r2, 0x1
- negs r2, r2
-_082E1ABE:
- ldrb r0, [r4]
- strb r0, [r1]
- adds r4, 0x1
- adds r1, 0x1
- subs r3, 0x1
- cmp r3, r2
- bne _082E1ABE
-_082E1ACC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ReadFlash_Core
-
- thumb_func_start ReadFlash
-ReadFlash: @ 82E1AD4
- push {r4-r7,lr}
- sub sp, 0x80
- adds r5, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- lsls r3, r0, 16
- lsrs r4, r3, 16
- ldr r2, _082E1B20
- ldrh r0, [r2]
- ldr r1, _082E1B24
- ands r0, r1
- movs r1, 0x3
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _082E1B28
- ldr r0, [r0]
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 10
- cmp r1, r0
- bne _082E1B0C
- lsrs r0, r3, 20
- lsls r0, 24
- lsrs r0, 24
- bl SwitchFlashBank
- movs r0, 0xF
- ands r4, r0
-_082E1B0C:
- ldr r3, _082E1B2C
- movs r0, 0x1
- eors r3, r0
- mov r2, sp
- ldr r0, _082E1B30
- ldr r1, _082E1B2C
- subs r0, r1
- lsls r0, 15
- b _082E1B40
- .align 2, 0
-_082E1B20: .4byte 0x04000204
-_082E1B24: .4byte 0x0000fffc
-_082E1B28: .4byte 0x03007850
-_082E1B2C: .4byte ReadFlash_Core + 1
-_082E1B30: .4byte ReadFlash + 1
-_082E1B34:
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- subs r0, r1, 0x1
- lsls r0, 16
-_082E1B40:
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E1B34
- mov r3, sp
- adds r3, 0x1
- ldr r0, _082E1B6C
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r4, r0
- adds r0, r4, 0
- movs r2, 0xE0
- lsls r2, 20
- adds r1, r5, r2
- adds r0, r1
- adds r1, r6, 0
- adds r2, r7, 0
- bl _call_via_r3
- add sp, 0x80
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E1B6C: .4byte 0x03007850
- thumb_func_end ReadFlash
-
- thumb_func_start VerifyFlashSector_Core
-VerifyFlashSector_Core: @ 82E1B70
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r3, r1, 0
- subs r4, r2, 0x1
- cmp r2, 0
- beq _082E1B96
- movs r2, 0x1
- negs r2, r2
-_082E1B80:
- ldrb r1, [r3]
- ldrb r0, [r5]
- adds r5, 0x1
- adds r3, 0x1
- cmp r1, r0
- beq _082E1B90
- subs r0, r3, 0x1
- b _082E1B98
-_082E1B90:
- subs r4, 0x1
- cmp r4, r2
- bne _082E1B80
-_082E1B96:
- movs r0, 0
-_082E1B98:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end VerifyFlashSector_Core
-
- thumb_func_start VerifyFlashSector
-VerifyFlashSector: @ 82E1BA0
- push {r4,r5,lr}
- sub sp, 0x100
- adds r5, r1, 0
- lsls r3, r0, 16
- lsrs r4, r3, 16
- ldr r2, _082E1BE8
- ldrh r0, [r2]
- ldr r1, _082E1BEC
- ands r0, r1
- movs r1, 0x3
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _082E1BF0
- ldr r0, [r0]
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 10
- cmp r1, r0
- bne _082E1BD4
- lsrs r0, r3, 20
- lsls r0, 24
- lsrs r0, 24
- bl SwitchFlashBank
- movs r0, 0xF
- ands r4, r0
-_082E1BD4:
- ldr r3, _082E1BF4
- movs r0, 0x1
- eors r3, r0
- mov r2, sp
- ldr r0, _082E1BF8
- ldr r1, _082E1BF4
- subs r0, r1
- lsls r0, 15
- b _082E1C08
- .align 2, 0
-_082E1BE8: .4byte 0x04000204
-_082E1BEC: .4byte 0x0000fffc
-_082E1BF0: .4byte 0x03007850
-_082E1BF4: .4byte VerifyFlashSector_Core + 1
-_082E1BF8: .4byte VerifyFlashSector + 1
-_082E1BFC:
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- subs r0, r1, 0x1
- lsls r0, 16
-_082E1C08:
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E1BFC
- mov r3, sp
- adds r3, 0x1
- ldr r0, _082E1C34
- ldr r0, [r0]
- ldrb r1, [r0, 0x8]
- lsls r4, r1
- adds r1, r4, 0
- movs r2, 0xE0
- lsls r2, 20
- adds r1, r2
- ldrh r2, [r0, 0x4]
- adds r0, r5, 0
- bl _call_via_r3
- add sp, 0x100
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_082E1C34: .4byte 0x03007850
- thumb_func_end VerifyFlashSector
-
- thumb_func_start VerifyFlashSectorFirstNBytes
-VerifyFlashSectorFirstNBytes: @ 82E1C38
- push {r4-r6,lr}
- sub sp, 0x100
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r2, r0, 16
- lsrs r4, r2, 16
- ldr r0, _082E1C80
- ldr r0, [r0]
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 10
- cmp r1, r0
- bne _082E1C60
- lsrs r0, r2, 20
- lsls r0, 24
- lsrs r0, 24
- bl SwitchFlashBank
- movs r0, 0xF
- ands r4, r0
-_082E1C60:
- ldr r2, _082E1C84
- ldrh r0, [r2]
- ldr r1, _082E1C88
- ands r0, r1
- movs r1, 0x3
- orrs r0, r1
- strh r0, [r2]
- ldr r3, _082E1C8C
- movs r0, 0x1
- eors r3, r0
- mov r2, sp
- ldr r0, _082E1C90
- ldr r1, _082E1C8C
- subs r0, r1
- lsls r0, 15
- b _082E1CA0
- .align 2, 0
-_082E1C80: .4byte 0x03007850
-_082E1C84: .4byte 0x04000204
-_082E1C88: .4byte 0x0000fffc
-_082E1C8C: .4byte VerifyFlashSector_Core + 1
-_082E1C90: .4byte VerifyFlashSector + 1
-_082E1C94:
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- subs r0, r1, 0x1
- lsls r0, 16
-_082E1CA0:
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E1C94
- mov r3, sp
- adds r3, 0x1
- ldr r0, _082E1CCC
- ldr r0, [r0]
- ldrb r1, [r0, 0x8]
- lsls r4, r1
- adds r1, r4, 0
- movs r0, 0xE0
- lsls r0, 20
- adds r1, r0
- adds r0, r5, 0
- adds r2, r6, 0
- bl _call_via_r3
- add sp, 0x100
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_082E1CCC: .4byte 0x03007850
- thumb_func_end VerifyFlashSectorFirstNBytes
-
- thumb_func_start ProgramFlashSectorsAndVerify
-ProgramFlashSectorsAndVerify: @ 82E1CD0
- push {r4-r6,lr}
- adds r5, r1, 0
- lsls r0, 16
- lsrs r4, r0, 16
- movs r6, 0
- b _082E1CE2
-_082E1CDC:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_082E1CE2:
- cmp r6, 0x2
- bhi _082E1D08
- ldr r0, _082E1D10
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl _call_via_r2
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- bne _082E1CDC
- adds r0, r4, 0
- adds r1, r5, 0
- bl VerifyFlashSector
- adds r2, r0, 0
- cmp r2, 0
- bne _082E1CDC
-_082E1D08:
- adds r0, r2, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_082E1D10: .4byte 0x0300784c
- thumb_func_end ProgramFlashSectorsAndVerify
-
- thumb_func_start ProgramFlashSectorsVerifyFirstNBytes
-ProgramFlashSectorsVerifyFirstNBytes: @ 82E1D14
- push {r4-r7,lr}
- adds r5, r1, 0
- adds r7, r2, 0
- lsls r0, 16
- lsrs r4, r0, 16
- movs r6, 0
- b _082E1D28
-_082E1D22:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_082E1D28:
- cmp r6, 0x2
- bhi _082E1D50
- ldr r0, _082E1D58
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl _call_via_r2
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _082E1D22
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r7, 0
- bl VerifyFlashSectorFirstNBytes
- adds r3, r0, 0
- cmp r3, 0
- bne _082E1D22
-_082E1D50:
- adds r0, r3, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_082E1D58: .4byte 0x0300784c
- thumb_func_end ProgramFlashSectorsVerifyFirstNBytes
-
- thumb_func_start IdentifyFlash
-IdentifyFlash: @ 82E1D5C
- push {r4,lr}
- ldr r2, _082E1D7C
- ldrh r0, [r2]
- ldr r1, _082E1D80
- ands r0, r1
- movs r1, 0x3
- orrs r0, r1
- strh r0, [r2]
- bl ReadFlashID
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r2, _082E1D84
- movs r4, 0x1
- b _082E1D8A
- .align 2, 0
-_082E1D7C: .4byte 0x04000204
-_082E1D80: .4byte 0x0000fffc
-_082E1D84: .4byte 0x089a30d0
-_082E1D88:
- adds r2, 0x4
-_082E1D8A:
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- beq _082E1D9E
- ldrh r0, [r1, 0x2C]
- cmp r3, r0
- bne _082E1D88
- movs r4, 0
-_082E1D9E:
- ldr r1, _082E1DE0
- ldr r0, [r2]
- ldr r0, [r0]
- str r0, [r1]
- ldr r1, _082E1DE4
- ldr r0, [r2]
- ldr r0, [r0, 0x4]
- str r0, [r1]
- ldr r1, _082E1DE8
- ldr r0, [r2]
- ldr r0, [r0, 0x8]
- str r0, [r1]
- ldr r1, _082E1DEC
- ldr r0, [r2]
- ldr r0, [r0, 0xC]
- str r0, [r1]
- ldr r1, _082E1DF0
- ldr r0, [r2]
- ldr r0, [r0, 0x10]
- str r0, [r1]
- ldr r1, _082E1DF4
- ldr r0, [r2]
- ldr r0, [r0, 0x14]
- str r0, [r1]
- ldr r1, _082E1DF8
- ldr r0, [r2]
- adds r0, 0x18
- str r0, [r1]
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_082E1DE0: .4byte 0x03007854
-_082E1DE4: .4byte 0x0300784c
-_082E1DE8: .4byte 0x0300785c
-_082E1DEC: .4byte 0x03007860
-_082E1DF0: .4byte 0x03007848
-_082E1DF4: .4byte 0x03007864
-_082E1DF8: .4byte 0x03007850
- thumb_func_end IdentifyFlash
-
- thumb_func_start PollingSR_COMMON
-PollingSR_COMMON: @ 82E1DFC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r2, 24
- lsrs r5, r2, 24
- movs r0, 0
- mov r8, r0
- adds r0, r7, 0
- bl StartFlashTimer
- ldr r6, _082E1E20
- ldr r1, _082E1E24
- mov r9, r1
- b _082E1E60
- .align 2, 0
-_082E1E20: .4byte 0x03007844
-_082E1E24: .4byte 0x0e005555
-_082E1E28:
- movs r0, 0xF0
- mov r1, r9
- strb r0, [r1]
- movs r0, 0xA0
- lsls r0, 8
- b _082E1E56
-_082E1E34:
- ldr r0, _082E1E5C
- ldrb r0, [r0]
- cmp r0, 0
- beq _082E1E60
- ldr r1, [r6]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r5
- beq _082E1E88
- movs r0, 0xF0
- mov r1, r9
- strb r0, [r1]
- movs r0, 0xC0
- lsls r0, 8
-_082E1E56:
- orrs r7, r0
- mov r8, r7
- b _082E1E88
- .align 2, 0
-_082E1E5C: .4byte 0x03007840
-_082E1E60:
- ldr r1, [r6]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r5
- beq _082E1E88
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _082E1E34
- ldr r1, [r6]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r5
- bne _082E1E28
-_082E1E88:
- bl StopFlashTimer
- mov r0, r8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end PollingSR_COMMON
-
- thumb_func_start EraseFlashChip
-EraseFlashChip: @ 82E1E9C
- push {r4-r6,lr}
- sub sp, 0x40
- ldr r5, _082E1EF8
- ldrh r1, [r5]
- ldr r6, _082E1EFC
- ands r1, r6
- ldr r0, _082E1F00
- ldr r0, [r0]
- ldrh r0, [r0, 0x10]
- orrs r1, r0
- strh r1, [r5]
- ldr r1, _082E1F04
- movs r4, 0xAA
- strb r4, [r1]
- ldr r3, _082E1F08
- movs r2, 0x55
- strb r2, [r3]
- movs r0, 0x80
- strb r0, [r1]
- strb r4, [r1]
- strb r2, [r3]
- movs r0, 0x10
- strb r0, [r1]
- mov r0, sp
- bl SetReadFlash1
- ldr r0, _082E1F0C
- movs r1, 0xE0
- lsls r1, 20
- ldr r3, [r0]
- movs r0, 0x3
- movs r2, 0xFF
- bl _call_via_r3
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r5]
- ands r1, r6
- movs r2, 0x3
- orrs r1, r2
- strh r1, [r5]
- add sp, 0x40
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_082E1EF8: .4byte 0x04000204
-_082E1EFC: .4byte 0x0000fffc
-_082E1F00: .4byte 0x03007850
-_082E1F04: .4byte 0x0e005555
-_082E1F08: .4byte 0x0e002aaa
-_082E1F0C: .4byte 0x03007848
- thumb_func_end EraseFlashChip
-
- thumb_func_start EraseFlashSector
-EraseFlashSector: @ 82E1F10
- push {r4-r7,lr}
- sub sp, 0x40
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _082E1F28
- ldr r0, [r0]
- ldrh r0, [r0, 0xA]
- cmp r6, r0
- bcc _082E1F30
- ldr r0, _082E1F2C
- b _082E1FD0
- .align 2, 0
-_082E1F28: .4byte 0x03007850
-_082E1F2C: .4byte 0x000080ff
-_082E1F30:
- lsrs r0, r6, 4
- lsls r0, 24
- lsrs r0, 24
- bl SwitchFlashBank
- movs r0, 0xF
- ands r6, r0
- movs r7, 0
-_082E1F40:
- ldr r3, _082E1FA8
- ldrh r1, [r3]
- ldr r0, _082E1FAC
- ands r1, r0
- ldr r0, _082E1FB0
- ldr r2, [r0]
- ldrh r0, [r2, 0x10]
- orrs r1, r0
- strh r1, [r3]
- ldrb r4, [r2, 0x8]
- adds r0, r6, 0
- lsls r0, r4
- adds r4, r0, 0
- movs r0, 0xE0
- lsls r0, 20
- adds r4, r0
- ldr r1, _082E1FB4
- movs r5, 0xAA
- strb r5, [r1]
- ldr r3, _082E1FB8
- movs r2, 0x55
- strb r2, [r3]
- movs r0, 0x80
- strb r0, [r1]
- strb r5, [r1]
- strb r2, [r3]
- movs r0, 0x30
- strb r0, [r4]
- mov r0, sp
- bl SetReadFlash1
- ldr r0, _082E1FBC
- ldr r3, [r0]
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0xFF
- bl _call_via_r3
- lsls r0, 16
- lsrs r3, r0, 16
- movs r0, 0xA0
- lsls r0, 8
- ands r0, r3
- cmp r0, 0
- beq _082E1FC0
- cmp r7, 0x3
- bhi _082E1FC0
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- b _082E1F40
- .align 2, 0
-_082E1FA8: .4byte 0x04000204
-_082E1FAC: .4byte 0x0000fffc
-_082E1FB0: .4byte 0x03007850
-_082E1FB4: .4byte 0x0e005555
-_082E1FB8: .4byte 0x0e002aaa
-_082E1FBC: .4byte 0x03007848
-_082E1FC0:
- ldr r2, _082E1FD8
- ldrh r0, [r2]
- ldr r1, _082E1FDC
- ands r0, r1
- movs r1, 0x3
- orrs r0, r1
- strh r0, [r2]
- adds r0, r3, 0
-_082E1FD0:
- add sp, 0x40
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_082E1FD8: .4byte 0x04000204
-_082E1FDC: .4byte 0x0000fffc
- thumb_func_end EraseFlashSector
-
- thumb_func_start ProgramFlashByte
-ProgramFlashByte: @ 82E1FE0
- push {r4-r7,lr}
- sub sp, 0x40
- adds r6, r1, 0
- lsls r1, r0, 16
- lsrs r4, r1, 16
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r5, _082E2050
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- cmp r6, r0
- bcs _082E2068
- lsrs r0, r1, 20
- lsls r0, 24
- lsrs r0, 24
- bl SwitchFlashBank
- movs r0, 0xF
- ldr r1, [r5]
- ands r4, r0
- ldrb r1, [r1, 0x8]
- lsls r4, r1
- movs r1, 0xE0
- lsls r1, 20
- adds r0, r6, r1
- adds r4, r0
- mov r0, sp
- bl SetReadFlash1
- ldr r2, _082E2054
- ldrh r0, [r2]
- ldr r1, _082E2058
- ands r0, r1
- ldr r1, [r5]
- ldrh r1, [r1, 0x10]
- orrs r0, r1
- strh r0, [r2]
- ldr r2, _082E205C
- movs r0, 0xAA
- strb r0, [r2]
- ldr r1, _082E2060
- movs r0, 0x55
- strb r0, [r1]
- movs r0, 0xA0
- strb r0, [r2]
- strb r7, [r4]
- ldr r0, _082E2064
- ldr r3, [r0]
- movs r0, 0x1
- adds r1, r4, 0
- adds r2, r7, 0
- bl _call_via_r3
- lsls r0, 16
- lsrs r0, 16
- b _082E206C
- .align 2, 0
-_082E2050: .4byte 0x03007850
-_082E2054: .4byte 0x04000204
-_082E2058: .4byte 0x0000fffc
-_082E205C: .4byte 0x0e005555
-_082E2060: .4byte 0x0e002aaa
-_082E2064: .4byte 0x03007848
-_082E2068:
- movs r0, 0x80
- lsls r0, 8
-_082E206C:
- add sp, 0x40
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ProgramFlashByte
-
- thumb_func_start ProgramFlashByteInternal
-ProgramFlashByteInternal: @ 82E2074
- push {r4,lr}
- ldr r4, _082E20A0
- movs r2, 0xAA
- strb r2, [r4]
- ldr r3, _082E20A4
- movs r2, 0x55
- strb r2, [r3]
- movs r2, 0xA0
- strb r2, [r4]
- ldrb r2, [r0]
- strb r2, [r1]
- ldr r3, _082E20A8
- ldrb r2, [r0]
- ldr r3, [r3]
- movs r0, 0x1
- bl _call_via_r3
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_082E20A0: .4byte 0x0e005555
-_082E20A4: .4byte 0x0e002aaa
-_082E20A8: .4byte 0x03007848
- thumb_func_end ProgramFlashByteInternal
-
- thumb_func_start ProgramFlashSector
-ProgramFlashSector: @ 82E20AC
- push {r4-r7,lr}
- sub sp, 0x40
- adds r7, r1, 0
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _082E20C4
- ldr r0, [r0]
- ldrh r0, [r0, 0xA]
- cmp r4, r0
- bcc _082E20CC
- ldr r0, _082E20C8
- b _082E2146
- .align 2, 0
-_082E20C4: .4byte 0x03007850
-_082E20C8: .4byte 0x000080ff
-_082E20CC:
- adds r0, r4, 0
- bl EraseFlashSector
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _082E2144
- lsrs r0, r4, 4
- lsls r0, 24
- lsrs r0, 24
- bl SwitchFlashBank
- movs r0, 0xF
- ands r4, r0
- mov r0, sp
- bl SetReadFlash1
- ldr r3, _082E2114
- ldrh r1, [r3]
- ldr r0, _082E2118
- ands r1, r0
- ldr r0, _082E211C
- ldr r2, [r0]
- ldrh r0, [r2, 0x10]
- orrs r1, r0
- strh r1, [r3]
- ldr r1, _082E2120
- ldr r0, [r2, 0x4]
- strh r0, [r1]
- ldrb r0, [r2, 0x8]
- lsls r4, r0
- movs r0, 0xE0
- lsls r0, 20
- adds r4, r0
- adds r6, r1, 0
- b _082E212E
- .align 2, 0
-_082E2114: .4byte 0x04000204
-_082E2118: .4byte 0x0000fffc
-_082E211C: .4byte 0x03007850
-_082E2120: .4byte 0x03007858
-_082E2124:
- ldrh r0, [r6]
- subs r0, 0x1
- strh r0, [r6]
- adds r7, 0x1
- adds r4, 0x1
-_082E212E:
- ldrh r0, [r6]
- cmp r0, 0
- beq _082E2144
- adds r0, r7, 0
- adds r1, r4, 0
- bl ProgramFlashByteInternal
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _082E2124
-_082E2144:
- adds r0, r5, 0
-_082E2146:
- add sp, 0x40
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ProgramFlashSector
-
- thumb_func_start sub_82E2150
-sub_82E2150: @ 82E2150
- push {r7,lr}
- mov r7, sp
- bl sub_82E29F0
- ldr r0, _082E2164
- movs r1, 0
- strb r1, [r0]
- pop {r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E2164: .4byte 0x03001a7e
- thumb_func_end sub_82E2150
-
- thumb_func_start sub_82E2168
-sub_82E2168: @ 82E2168
- push {r7,lr}
- mov r7, sp
- bl sub_82E2A04
- ldr r0, _082E217C
- movs r1, 0x1
- strb r1, [r0]
- pop {r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E217C: .4byte 0x03001a7e
- thumb_func_end sub_82E2168
-
- thumb_func_start sub_82E2180
-sub_82E2180: @ 82E2180
- push {r7,lr}
- sub sp, 0x10
- mov r7, sp
- adds r1, r7, 0x4
- adds r0, r1, 0
- bl sub_82E22DC
- lsls r1, r0, 24
- lsrs r0, r1, 24
- cmp r0, 0
- bne _082E219A
- movs r0, 0
- b _082E224E
-_082E219A:
- adds r0, r7, 0
- movs r1, 0
- strb r1, [r0]
- adds r0, r7, 0x4
- ldrb r1, [r0, 0x7]
- movs r2, 0xC0
- adds r0, r1, 0
- ands r0, r2
- adds r2, r0, 0
- lsls r1, r2, 24
- lsrs r0, r1, 24
- cmp r0, 0x80
- beq _082E21CA
- adds r0, r7, 0x4
- ldrb r1, [r0, 0x7]
- movs r2, 0xC0
- adds r0, r1, 0
- ands r0, r2
- adds r2, r0, 0
- lsls r1, r2, 24
- lsrs r0, r1, 24
- cmp r0, 0
- bne _082E21E8
- b _082E21CA
-_082E21CA:
- bl sub_82E2258
- lsls r1, r0, 24
- lsrs r0, r1, 24
- cmp r0, 0
- bne _082E21DA
- movs r0, 0
- b _082E224E
-_082E21DA:
- adds r1, r7, 0
- adds r0, r7, 0
- adds r1, r7, 0
- ldrb r2, [r1]
- adds r1, r2, 0x1
- adds r2, r1, 0
- strb r2, [r0]
-_082E21E8:
- adds r1, r7, 0x4
- adds r0, r1, 0
- bl sub_82E259C
- adds r0, r7, 0x4
- ldrb r1, [r0, 0x6]
- movs r2, 0x80
- adds r0, r1, 0
- ands r0, r2
- adds r2, r0, 0
- lsls r1, r2, 24
- lsrs r0, r1, 24
- cmp r0, 0
- beq _082E2236
- bl sub_82E2258
- lsls r1, r0, 24
- lsrs r0, r1, 24
- cmp r0, 0
- bne _082E2228
- adds r0, r7, 0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r1, r0, 0
- movs r2, 0xF
- adds r0, r1, 0
- bics r0, r2
- adds r1, r0, 0
- lsls r0, r1, 24
- lsrs r1, r0, 24
- adds r0, r1, 0
- b _082E224E
-_082E2228:
- adds r1, r7, 0
- adds r0, r7, 0
- adds r1, r7, 0
- ldrb r2, [r1]
- adds r1, r2, 0x1
- adds r2, r1, 0
- strb r2, [r0]
-_082E2236:
- adds r0, r7, 0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r1, r0, 0
- movs r2, 0x1
- adds r0, r1, 0
- orrs r0, r2
- adds r1, r0, 0
- lsls r0, r1, 24
- lsrs r1, r0, 24
- adds r0, r1, 0
- b _082E224E
-_082E224E:
- add sp, 0x10
- pop {r7}
- pop {r1}
- bx r1
- thumb_func_end sub_82E2180
-
- thumb_func_start sub_82E2258
-sub_82E2258: @ 82E2258
- push {r7,lr}
- sub sp, 0x10
- mov r7, sp
- ldr r0, _082E226C
- ldrb r1, [r0]
- cmp r1, 0x1
- bne _082E2270
- movs r0, 0
- b _082E22D4
- .align 2, 0
-_082E226C: .4byte 0x03001a7e
-_082E2270:
- ldr r0, _082E22C8
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _082E22CC
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E22CC
- movs r1, 0x5
- strh r1, [r0]
- ldr r0, _082E22D0
- movs r1, 0x7
- strh r1, [r0]
- movs r0, 0x60
- bl sub_82E2820
- ldr r0, _082E22CC
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E22CC
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E22C8
- movs r1, 0
- strb r1, [r0]
- adds r0, r7, 0x4
- ldrb r1, [r0, 0x7]
- movs r2, 0
- ands r1, r2
- adds r2, r1, 0
- movs r3, 0x40
- adds r1, r2, 0
- orrs r1, r3
- adds r2, r1, 0
- strb r2, [r0, 0x7]
- adds r1, r7, 0x4
- adds r0, r1, 0
- bl sub_82E23A8
- adds r1, r7, 0
- strb r0, [r1]
- adds r0, r7, 0
- ldrb r1, [r0]
- adds r0, r1, 0
- b _082E22D4
- .align 2, 0
-_082E22C8: .4byte 0x03001a7e
-_082E22CC: .4byte _080000C4
-_082E22D0: .4byte _080000C6
-_082E22D4:
- add sp, 0x10
- pop {r7}
- pop {r1}
- bx r1
- thumb_func_end sub_82E2258
-
- thumb_func_start sub_82E22DC
-sub_82E22DC: @ 82E22DC
- push {r4,r7,lr}
- sub sp, 0x8
- mov r7, sp
- str r0, [r7]
- ldr r0, _082E22F0
- ldrb r1, [r0]
- cmp r1, 0x1
- bne _082E22F4
- movs r0, 0
- b _082E23A0
- .align 2, 0
-_082E22F0: .4byte 0x03001a7e
-_082E22F4:
- ldr r0, _082E2394
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _082E2398
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E2398
- movs r1, 0x5
- strh r1, [r0]
- ldr r0, _082E239C
- movs r1, 0x7
- strh r1, [r0]
- movs r0, 0x63
- bl sub_82E2820
- ldr r0, _082E239C
- movs r1, 0x5
- strh r1, [r0]
- bl sub_82E2964
- adds r1, r7, 0x4
- strb r0, [r1]
- ldr r0, [r7]
- adds r1, r7, 0x4
- ldrb r2, [r1]
- movs r3, 0xC0
- adds r1, r2, 0
- ands r1, r3
- adds r2, r7, 0x4
- ldrb r3, [r2]
- movs r4, 0x20
- adds r2, r3, 0
- ands r2, r4
- adds r4, r2, 0
- lsls r3, r4, 24
- lsrs r2, r3, 24
- lsrs r3, r2, 3
- adds r2, r3, 0
- orrs r1, r2
- adds r2, r7, 0x4
- ldrb r3, [r2]
- movs r4, 0x8
- adds r2, r3, 0
- ands r2, r4
- adds r4, r2, 0
- lsls r3, r4, 24
- lsrs r2, r3, 24
- lsrs r3, r2, 2
- adds r2, r3, 0
- orrs r1, r2
- adds r2, r7, 0x4
- ldrb r3, [r2]
- movs r4, 0x2
- adds r2, r3, 0
- ands r2, r4
- adds r4, r2, 0
- lsls r3, r4, 24
- lsrs r2, r3, 24
- lsrs r3, r2, 1
- adds r2, r3, 0
- orrs r1, r2
- ldrb r2, [r0, 0x7]
- movs r3, 0
- ands r2, r3
- adds r3, r2, 0
- adds r2, r3, 0
- orrs r2, r1
- adds r1, r2, 0
- strb r1, [r0, 0x7]
- ldr r0, _082E2398
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E2398
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E2394
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _082E23A0
- .align 2, 0
-_082E2394: .4byte 0x03001a7e
-_082E2398: .4byte _080000C4
-_082E239C: .4byte _080000C6
-_082E23A0:
- add sp, 0x8
- pop {r4,r7}
- pop {r1}
- bx r1
- thumb_func_end sub_82E22DC
-
- thumb_func_start sub_82E23A8
-sub_82E23A8: @ 82E23A8
- push {r4,r7,lr}
- sub sp, 0x8
- mov r7, sp
- str r0, [r7]
- ldr r0, _082E23BC
- ldrb r1, [r0]
- cmp r1, 0x1
- bne _082E23C0
- movs r0, 0
- b _082E2448
- .align 2, 0
-_082E23BC: .4byte 0x03001a7e
-_082E23C0:
- ldr r0, _082E243C
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _082E2440
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E2440
- movs r1, 0x5
- strh r1, [r0]
- adds r0, r7, 0x4
- ldr r1, [r7]
- ldrb r2, [r1, 0x7]
- movs r3, 0x4
- adds r1, r2, 0
- ands r1, r3
- adds r2, r1, 0
- lsls r1, r2, 3
- ldr r2, [r7]
- ldrb r3, [r2, 0x7]
- movs r4, 0x2
- adds r2, r3, 0
- ands r2, r4
- adds r3, r2, 0
- lsls r2, r3, 2
- adds r3, r2, 0
- movs r4, 0x40
- adds r2, r3, 0
- orrs r2, r4
- orrs r1, r2
- ldr r2, [r7]
- ldrb r3, [r2, 0x7]
- movs r4, 0x1
- adds r2, r3, 0
- ands r2, r4
- adds r3, r2, 0
- lsls r2, r3, 1
- orrs r1, r2
- adds r2, r1, 0
- strb r2, [r0]
- ldr r0, _082E2444
- movs r1, 0x7
- strh r1, [r0]
- movs r0, 0x62
- bl sub_82E2820
- adds r0, r7, 0x4
- ldrb r1, [r0]
- adds r0, r1, 0
- bl sub_82E28C4
- ldr r0, _082E2440
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E2440
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E243C
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _082E2448
- .align 2, 0
-_082E243C: .4byte 0x03001a7e
-_082E2440: .4byte _080000C4
-_082E2444: .4byte _080000C6
-_082E2448:
- add sp, 0x8
- pop {r4,r7}
- pop {r1}
- bx r1
- thumb_func_end sub_82E23A8
-
- thumb_func_start sub_82E2450
-sub_82E2450: @ 82E2450
- push {r7,lr}
- sub sp, 0x8
- mov r7, sp
- str r0, [r7]
- ldr r0, _082E2464
- ldrb r1, [r0]
- cmp r1, 0x1
- bne _082E2468
- movs r0, 0
- b _082E24F8
- .align 2, 0
-_082E2464: .4byte 0x03001a7e
-_082E2468:
- ldr r0, _082E249C
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _082E24A0
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E24A0
- movs r1, 0x5
- strh r1, [r0]
- ldr r0, _082E24A4
- movs r1, 0x7
- strh r1, [r0]
- movs r0, 0x65
- bl sub_82E2820
- ldr r0, _082E24A4
- movs r1, 0x5
- strh r1, [r0]
- adds r0, r7, 0x4
- movs r1, 0
- strb r1, [r0]
-_082E2492:
- adds r0, r7, 0x4
- ldrb r1, [r0]
- cmp r1, 0x6
- bls _082E24A8
- b _082E24C6
- .align 2, 0
-_082E249C: .4byte 0x03001a7e
-_082E24A0: .4byte _080000C4
-_082E24A4: .4byte _080000C6
-_082E24A8:
- bl sub_82E2964
- adds r1, r7, 0x4
- ldrb r2, [r1]
- ldr r3, [r7]
- adds r1, r2, r3
- strb r0, [r1]
- adds r1, r7, 0x4
- adds r0, r7, 0x4
- adds r1, r7, 0x4
- ldrb r2, [r1]
- adds r1, r2, 0x1
- adds r2, r1, 0
- strb r2, [r0]
- b _082E2492
-_082E24C6:
- ldr r1, [r7]
- adds r0, r1, 0x4
- ldr r2, [r7]
- adds r1, r2, 0x4
- ldrb r2, [r1]
- movs r3, 0x7F
- adds r1, r2, 0
- ands r1, r3
- adds r2, r1, 0
- strb r2, [r0]
- ldr r0, _082E24F0
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E24F0
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E24F4
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _082E24F8
- .align 2, 0
-_082E24F0: .4byte _080000C4
-_082E24F4: .4byte 0x03001a7e
-_082E24F8:
- add sp, 0x8
- pop {r7}
- pop {r1}
- bx r1
- thumb_func_end sub_82E2450
-
- thumb_func_start sub_82E2500
-sub_82E2500: @ 82E2500
- push {r7,lr}
- sub sp, 0x8
- mov r7, sp
- str r0, [r7]
- ldr r0, _082E2514
- ldrb r1, [r0]
- cmp r1, 0x1
- bne _082E2518
- movs r0, 0
- b _082E2594
- .align 2, 0
-_082E2514: .4byte 0x03001a7e
-_082E2518:
- ldr r0, _082E2548
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _082E254C
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E254C
- movs r1, 0x5
- strh r1, [r0]
- ldr r0, _082E2550
- movs r1, 0x7
- strh r1, [r0]
- movs r0, 0x64
- bl sub_82E2820
- adds r0, r7, 0x4
- movs r1, 0
- strb r1, [r0]
-_082E253C:
- adds r0, r7, 0x4
- ldrb r1, [r0]
- cmp r1, 0x6
- bls _082E2554
- b _082E2574
- .align 2, 0
-_082E2548: .4byte 0x03001a7e
-_082E254C: .4byte _080000C4
-_082E2550: .4byte _080000C6
-_082E2554:
- adds r0, r7, 0x4
- ldrb r1, [r0]
- ldr r2, [r7]
- adds r0, r1, r2
- ldrb r1, [r0]
- adds r0, r1, 0
- bl sub_82E28C4
- adds r1, r7, 0x4
- adds r0, r7, 0x4
- adds r1, r7, 0x4
- ldrb r2, [r1]
- adds r1, r2, 0x1
- adds r2, r1, 0
- strb r2, [r0]
- b _082E253C
-_082E2574:
- ldr r0, _082E258C
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E258C
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E2590
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _082E2594
- .align 2, 0
-_082E258C: .4byte _080000C4
-_082E2590: .4byte 0x03001a7e
-_082E2594:
- add sp, 0x8
- pop {r7}
- pop {r1}
- bx r1
- thumb_func_end sub_82E2500
-
- thumb_func_start sub_82E259C
-sub_82E259C: @ 82E259C
- push {r7,lr}
- sub sp, 0x8
- mov r7, sp
- str r0, [r7]
- ldr r0, _082E25B0
- ldrb r1, [r0]
- cmp r1, 0x1
- bne _082E25B4
- movs r0, 0
- b _082E2648
- .align 2, 0
-_082E25B0: .4byte 0x03001a7e
-_082E25B4:
- ldr r0, _082E25E8
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _082E25EC
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E25EC
- movs r1, 0x5
- strh r1, [r0]
- ldr r0, _082E25F0
- movs r1, 0x7
- strh r1, [r0]
- movs r0, 0x67
- bl sub_82E2820
- ldr r0, _082E25F0
- movs r1, 0x5
- strh r1, [r0]
- adds r0, r7, 0x4
- movs r1, 0
- strb r1, [r0]
-_082E25DE:
- adds r0, r7, 0x4
- ldrb r1, [r0]
- cmp r1, 0x2
- bls _082E25F4
- b _082E2614
- .align 2, 0
-_082E25E8: .4byte 0x03001a7e
-_082E25EC: .4byte _080000C4
-_082E25F0: .4byte _080000C6
-_082E25F4:
- bl sub_82E2964
- adds r1, r7, 0x4
- ldrb r2, [r1]
- ldr r3, [r7]
- adds r1, r2, r3
- adds r2, r1, 0x4
- strb r0, [r2]
- adds r1, r7, 0x4
- adds r0, r7, 0x4
- adds r1, r7, 0x4
- ldrb r2, [r1]
- adds r1, r2, 0x1
- adds r2, r1, 0
- strb r2, [r0]
- b _082E25DE
-_082E2614:
- ldr r1, [r7]
- adds r0, r1, 0x4
- ldr r2, [r7]
- adds r1, r2, 0x4
- ldrb r2, [r1]
- movs r3, 0x7F
- adds r1, r2, 0
- ands r1, r3
- adds r2, r1, 0
- strb r2, [r0]
- ldr r0, _082E2640
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E2640
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E2644
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _082E2648
- .align 2, 0
-_082E2640: .4byte _080000C4
-_082E2644: .4byte 0x03001a7e
-_082E2648:
- add sp, 0x8
- pop {r7}
- pop {r1}
- bx r1
- thumb_func_end sub_82E259C
-
- thumb_func_start sub_82E2650
-sub_82E2650: @ 82E2650
- push {r7,lr}
- sub sp, 0x8
- mov r7, sp
- str r0, [r7]
- ldr r0, _082E2664
- ldrb r1, [r0]
- cmp r1, 0x1
- bne _082E2668
- movs r0, 0
- b _082E26E4
- .align 2, 0
-_082E2664: .4byte 0x03001a7e
-_082E2668:
- ldr r0, _082E2698
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _082E269C
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E269C
- movs r1, 0x5
- strh r1, [r0]
- ldr r0, _082E26A0
- movs r1, 0x7
- strh r1, [r0]
- movs r0, 0x66
- bl sub_82E2820
- adds r0, r7, 0x4
- movs r1, 0
- strb r1, [r0]
-_082E268C:
- adds r0, r7, 0x4
- ldrb r1, [r0]
- cmp r1, 0x2
- bls _082E26A4
- b _082E26C6
- .align 2, 0
-_082E2698: .4byte 0x03001a7e
-_082E269C: .4byte _080000C4
-_082E26A0: .4byte _080000C6
-_082E26A4:
- adds r0, r7, 0x4
- ldrb r1, [r0]
- ldr r2, [r7]
- adds r0, r1, r2
- adds r1, r0, 0x4
- ldrb r2, [r1]
- adds r0, r2, 0
- bl sub_82E28C4
- adds r1, r7, 0x4
- adds r0, r7, 0x4
- adds r1, r7, 0x4
- ldrb r2, [r1]
- adds r1, r2, 0x1
- adds r2, r1, 0
- strb r2, [r0]
- b _082E268C
-_082E26C6:
- ldr r0, _082E26DC
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E26DC
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E26E0
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _082E26E4
- .align 2, 0
-_082E26DC: .4byte _080000C4
-_082E26E0: .4byte 0x03001a7e
-_082E26E4:
- add sp, 0x8
- pop {r7}
- pop {r1}
- bx r1
- thumb_func_end sub_82E2650
-
- thumb_func_start sub_82E26EC
-sub_82E26EC: @ 82E26EC
- push {r4,r7,lr}
- sub sp, 0xC
- mov r7, sp
- str r0, [r7]
- ldr r0, _082E2700
- ldrb r1, [r0]
- cmp r1, 0x1
- bne _082E2704
- movs r0, 0
- b _082E2818
- .align 2, 0
-_082E2700: .4byte 0x03001a7e
-_082E2704:
- ldr r0, _082E276C
- movs r1, 0x1
- strb r1, [r0]
- adds r0, r7, 0
- adds r0, 0x8
- ldr r1, [r7]
- ldrb r2, [r1, 0x8]
- movs r3, 0xF
- adds r1, r2, 0
- ands r1, r3
- ldr r2, [r7]
- ldrb r3, [r2, 0x8]
- lsrs r2, r3, 4
- adds r3, r2, 0
- movs r4, 0xF
- adds r2, r3, 0
- ands r2, r4
- adds r4, r2, 0
- lsls r3, r4, 24
- lsrs r2, r3, 24
- adds r4, r2, 0
- lsls r3, r4, 2
- adds r3, r2
- lsls r2, r3, 1
- adds r1, r2
- ldrb r2, [r0]
- movs r3, 0
- ands r2, r3
- adds r3, r2, 0
- adds r2, r3, 0
- orrs r2, r1
- adds r1, r2, 0
- strb r1, [r0]
- adds r0, r7, 0
- adds r0, 0x8
- ldrb r1, [r0]
- cmp r1, 0xB
- bhi _082E2770
- adds r0, r7, 0
- adds r0, 0x8
- ldr r1, [r7]
- ldrb r2, [r0]
- movs r3, 0
- ands r2, r3
- adds r3, r2, 0
- ldrb r1, [r1, 0x8]
- adds r2, r3, 0
- orrs r2, r1
- adds r1, r2, 0
- strb r1, [r0]
- b _082E278E
- .align 2, 0
-_082E276C: .4byte 0x03001a7e
-_082E2770:
- adds r0, r7, 0
- adds r0, 0x8
- ldr r1, [r7]
- ldrb r2, [r1, 0x8]
- movs r3, 0x80
- adds r1, r2, 0
- orrs r1, r3
- ldrb r2, [r0]
- movs r3, 0
- ands r2, r3
- adds r3, r2, 0
- adds r2, r3, 0
- orrs r2, r1
- adds r1, r2, 0
- strb r1, [r0]
-_082E278E:
- adds r0, r7, 0
- adds r0, 0x8
- ldr r1, [r7]
- ldrb r2, [r0, 0x1]
- movs r3, 0
- ands r2, r3
- adds r3, r2, 0
- ldrb r1, [r1, 0x9]
- adds r2, r3, 0
- orrs r2, r1
- adds r1, r2, 0
- strb r1, [r0, 0x1]
- ldr r0, _082E27D0
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E27D0
- movs r1, 0x5
- strh r1, [r0]
- ldr r0, _082E27D4
- movs r1, 0x7
- strh r1, [r0]
- movs r0, 0x68
- bl sub_82E2820
- adds r0, r7, 0x4
- movs r1, 0
- strb r1, [r0]
-_082E27C4:
- adds r0, r7, 0x4
- ldrb r1, [r0]
- cmp r1, 0x1
- bls _082E27D8
- b _082E27FA
- .align 2, 0
-_082E27D0: .4byte _080000C4
-_082E27D4: .4byte _080000C6
-_082E27D8:
- adds r0, r7, 0
- adds r0, 0x8
- adds r1, r7, 0x4
- ldrb r2, [r1]
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r1, 0
- bl sub_82E28C4
- adds r1, r7, 0x4
- adds r0, r7, 0x4
- adds r1, r7, 0x4
- ldrb r2, [r1]
- adds r1, r2, 0x1
- adds r2, r1, 0
- strb r2, [r0]
- b _082E27C4
-_082E27FA:
- ldr r0, _082E2810
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E2810
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _082E2814
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _082E2818
- .align 2, 0
-_082E2810: .4byte _080000C4
-_082E2814: .4byte 0x03001a7e
-_082E2818:
- add sp, 0xC
- pop {r4,r7}
- pop {r1}
- bx r1
- thumb_func_end sub_82E26EC
-
- thumb_func_start sub_82E2820
-sub_82E2820: @ 82E2820
- push {r4,r5,r7,lr}
- sub sp, 0x4
- mov r7, sp
- adds r1, r0, 0
- adds r2, r7, 0
- strb r1, [r2]
- adds r1, r7, 0x1
- movs r2, 0
- strb r2, [r1]
-_082E2832:
- adds r1, r7, 0x1
- ldrb r2, [r1]
- cmp r2, 0x7
- bls _082E283C
- b _082E28BC
-_082E283C:
- adds r1, r7, 0x2
- adds r3, r7, 0
- ldrb r2, [r3]
- adds r3, r7, 0x1
- ldrb r4, [r3]
- movs r5, 0x7
- subs r3, r5, r4
- asrs r2, r3
- adds r3, r2, 0
- movs r4, 0x1
- adds r2, r3, 0
- ands r2, r4
- adds r3, r2, 0
- strb r3, [r1]
- ldr r1, _082E28B8
- adds r2, r7, 0x2
- ldrb r3, [r2]
- adds r2, r3, 0
- lsls r3, r2, 1
- adds r2, r3, 0
- movs r3, 0x4
- orrs r2, r3
- adds r3, r2, 0
- strh r3, [r1]
- ldr r1, _082E28B8
- adds r2, r7, 0x2
- ldrb r3, [r2]
- adds r2, r3, 0
- lsls r3, r2, 1
- adds r2, r3, 0
- movs r3, 0x4
- orrs r2, r3
- adds r3, r2, 0
- strh r3, [r1]
- ldr r1, _082E28B8
- adds r2, r7, 0x2
- ldrb r3, [r2]
- adds r2, r3, 0
- lsls r3, r2, 1
- adds r2, r3, 0
- movs r3, 0x4
- orrs r2, r3
- adds r3, r2, 0
- strh r3, [r1]
- ldr r1, _082E28B8
- adds r2, r7, 0x2
- ldrb r3, [r2]
- adds r2, r3, 0
- lsls r3, r2, 1
- adds r2, r3, 0
- movs r3, 0x5
- orrs r2, r3
- adds r3, r2, 0
- strh r3, [r1]
- adds r2, r7, 0x1
- adds r1, r7, 0x1
- adds r2, r7, 0x1
- ldrb r3, [r2]
- adds r2, r3, 0x1
- adds r3, r2, 0
- strb r3, [r1]
- b _082E2832
- .align 2, 0
-_082E28B8: .4byte _080000C4
-_082E28BC:
- add sp, 0x4
- pop {r4,r5,r7}
- pop {r1}
- bx r1
- thumb_func_end sub_82E2820
-
- thumb_func_start sub_82E28C4
-sub_82E28C4: @ 82E28C4
- push {r4,r7,lr}
- sub sp, 0x4
- mov r7, sp
- adds r1, r0, 0
- adds r2, r7, 0
- strb r1, [r2]
- adds r1, r7, 0x1
- movs r2, 0
- strb r2, [r1]
-_082E28D6:
- adds r1, r7, 0x1
- ldrb r2, [r1]
- cmp r2, 0x7
- bls _082E28E0
- b _082E295C
-_082E28E0:
- adds r1, r7, 0x2
- adds r3, r7, 0
- ldrb r2, [r3]
- adds r3, r7, 0x1
- ldrb r4, [r3]
- asrs r2, r4
- adds r3, r2, 0
- movs r4, 0x1
- adds r2, r3, 0
- ands r2, r4
- adds r3, r2, 0
- strb r3, [r1]
- ldr r1, _082E2958
- adds r2, r7, 0x2
- ldrb r3, [r2]
- adds r2, r3, 0
- lsls r3, r2, 1
- adds r2, r3, 0
- movs r3, 0x4
- orrs r2, r3
- adds r3, r2, 0
- strh r3, [r1]
- ldr r1, _082E2958
- adds r2, r7, 0x2
- ldrb r3, [r2]
- adds r2, r3, 0
- lsls r3, r2, 1
- adds r2, r3, 0
- movs r3, 0x4
- orrs r2, r3
- adds r3, r2, 0
- strh r3, [r1]
- ldr r1, _082E2958
- adds r2, r7, 0x2
- ldrb r3, [r2]
- adds r2, r3, 0
- lsls r3, r2, 1
- adds r2, r3, 0
- movs r3, 0x4
- orrs r2, r3
- adds r3, r2, 0
- strh r3, [r1]
- ldr r1, _082E2958
- adds r2, r7, 0x2
- ldrb r3, [r2]
- adds r2, r3, 0
- lsls r3, r2, 1
- adds r2, r3, 0
- movs r3, 0x5
- orrs r2, r3
- adds r3, r2, 0
- strh r3, [r1]
- adds r2, r7, 0x1
- adds r1, r7, 0x1
- adds r2, r7, 0x1
- ldrb r3, [r2]
- adds r2, r3, 0x1
- adds r3, r2, 0
- strb r3, [r1]
- b _082E28D6
- .align 2, 0
-_082E2958: .4byte _080000C4
-_082E295C:
- add sp, 0x4
- pop {r4,r7}
- pop {r1}
- bx r1
- thumb_func_end sub_82E28C4
-
- thumb_func_start sub_82E2964
-sub_82E2964: @ 82E2964
- push {r7,lr}
- sub sp, 0x4
- mov r7, sp
- adds r0, r7, 0
- movs r1, 0
- strb r1, [r0]
-_082E2970:
- adds r0, r7, 0
- ldrb r1, [r0]
- cmp r1, 0x7
- bls _082E297A
- b _082E29E0
-_082E297A:
- ldr r0, _082E29DC
- movs r1, 0x4
- strh r1, [r0]
- ldr r0, _082E29DC
- movs r1, 0x4
- strh r1, [r0]
- ldr r0, _082E29DC
- movs r1, 0x4
- strh r1, [r0]
- ldr r0, _082E29DC
- movs r1, 0x4
- strh r1, [r0]
- ldr r0, _082E29DC
- movs r1, 0x4
- strh r1, [r0]
- ldr r0, _082E29DC
- movs r1, 0x5
- strh r1, [r0]
- adds r0, r7, 0x1
- ldr r1, _082E29DC
- ldrh r2, [r1]
- movs r3, 0x2
- adds r1, r2, 0
- ands r1, r3
- adds r3, r1, 0
- lsls r2, r3, 16
- lsrs r1, r2, 16
- lsrs r2, r1, 1
- adds r1, r2, 0
- strb r1, [r0]
- adds r0, r7, 0x2
- adds r1, r7, 0x2
- ldrb r2, [r1]
- lsrs r1, r2, 1
- adds r2, r7, 0x1
- ldrb r3, [r2]
- lsls r2, r3, 7
- orrs r1, r2
- adds r2, r1, 0
- strb r2, [r0]
- adds r1, r7, 0
- adds r0, r7, 0
- adds r1, r7, 0
- ldrb r2, [r1]
- adds r1, r2, 0x1
- adds r2, r1, 0
- strb r2, [r0]
- b _082E2970
- .align 2, 0
-_082E29DC: .4byte _080000C4
-_082E29E0:
- adds r0, r7, 0x2
- ldrb r1, [r0]
- adds r0, r1, 0
- b _082E29E8
-_082E29E8:
- add sp, 0x4
- pop {r7}
- pop {r1}
- bx r1
- thumb_func_end sub_82E2964
-
- thumb_func_start sub_82E29F0
-sub_82E29F0: @ 82E29F0
- push {r7,lr}
- mov r7, sp
- ldr r0, _082E2A00
- movs r1, 0x1
- strh r1, [r0]
- pop {r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E2A00: .4byte _080000C8
- thumb_func_end sub_82E29F0
-
- thumb_func_start sub_82E2A04
-sub_82E2A04: @ 82E2A04
- push {r7,lr}
- mov r7, sp
- ldr r0, _082E2A14
- movs r1, 0
- strh r1, [r0]
- pop {r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E2A14: .4byte _080000C8
- thumb_func_end sub_82E2A04
-
- thumb_func_start STWI_init_all
-STWI_init_all: @ 82E2A18
- push {r4,lr}
- adds r3, r0, 0
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0x1
- bne _082E2A54
- adds r2, r3, 0
- adds r2, 0xE8
- str r2, [r1]
- ldr r1, _082E2A40
- ldr r0, _082E2A44
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _082E2A48
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, _082E2A4C
- ldr r2, _082E2A50
- adds r0, r3, r2
- b _082E2A5E
- .align 2, 0
-_082E2A40: .4byte 0x040000d4
-_082E2A44: .4byte IntrSIO32
-_082E2A48: .4byte 0x800004b0
-_082E2A4C: .4byte 0x03007868
-_082E2A50: .4byte 0x00000a48
-_082E2A54:
- ldr r0, _082E2AD8
- str r0, [r1]
- ldr r1, _082E2ADC
- adds r0, r3, 0
- adds r0, 0xE8
-_082E2A5E:
- str r0, [r1]
- adds r2, r1, 0
- ldr r1, [r2]
- str r3, [r1, 0x28]
- adds r0, r3, 0
- adds r0, 0x74
- str r0, [r1, 0x24]
- ldrb r0, [r1, 0x14]
- movs r4, 0
- movs r0, 0x1
- strb r0, [r1, 0x14]
- ldr r0, [r2]
- str r4, [r0]
- strb r4, [r0, 0x4]
- ldr r0, [r2]
- strb r4, [r0, 0x5]
- ldr r0, [r2]
- strb r4, [r0, 0x7]
- ldr r0, [r2]
- strb r4, [r0, 0x8]
- ldr r0, [r2]
- strb r4, [r0, 0x9]
- ldr r0, [r2]
- str r4, [r0, 0xC]
- ldrb r1, [r0, 0x10]
- strb r4, [r0, 0x10]
- ldr r0, [r2]
- ldrh r1, [r0, 0x12]
- movs r1, 0
- strh r4, [r0, 0x12]
- strb r1, [r0, 0x15]
- ldr r0, [r2]
- adds r0, 0x2C
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r1, _082E2AE0
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xC
- ldr r2, _082E2AE4
- adds r0, r2, 0
- strh r0, [r1]
- bl STWI_init_Callback_M
- bl STWI_init_Callback_S
- ldr r3, _082E2AE8
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, _082E2AEC
- ldrh r0, [r4]
- movs r1, 0x80
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_082E2AD8: .4byte IntrSIO32
-_082E2ADC: .4byte 0x03007868
-_082E2AE0: .4byte 0x04000134
-_082E2AE4: .4byte 0x00005003
-_082E2AE8: .4byte 0x04000208
-_082E2AEC: .4byte 0x04000200
- thumb_func_end STWI_init_all
-
- thumb_func_start STWI_init_timer
-STWI_init_timer: @ 82E2AF0
- push {r4,r5,lr}
- ldr r2, _082E2B1C
- str r2, [r0]
- ldr r5, _082E2B20
- ldr r0, [r5]
- movs r4, 0
- strb r1, [r0, 0xA]
- ldr r3, _082E2B24
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, _082E2B28
- ldr r1, [r5]
- movs r0, 0x8
- ldrb r1, [r1, 0xA]
- lsls r0, r1
- ldrh r1, [r4]
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E2B1C: .4byte STWI_intr_timer + 1
-_082E2B20: .4byte 0x03007868
-_082E2B24: .4byte 0x04000208
-_082E2B28: .4byte 0x04000200
- thumb_func_end STWI_init_timer
-
- thumb_func_start AgbRFU_SoftReset
-AgbRFU_SoftReset: @ 82E2B2C
- push {r4,r5,lr}
- ldr r5, _082E2BC4
- movs r1, 0x80
- lsls r1, 8
- adds r0, r1, 0
- strh r0, [r5]
- ldr r2, _082E2BC8
- adds r0, r2, 0
- strh r0, [r5]
- ldr r1, _082E2BCC
- ldr r0, [r1]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r3, _082E2BD0
- adds r2, r0, r3
- ldr r4, _082E2BD4
- adds r3, r0, r4
- movs r0, 0
- strh r0, [r3]
- strh r0, [r2]
- movs r0, 0x83
- strh r0, [r3]
- ldrh r0, [r2]
- adds r4, r1, 0
- cmp r0, 0x11
- bhi _082E2B6C
- ldr r0, _082E2BD8
- adds r1, r0, 0
-_082E2B64:
- strh r1, [r5]
- ldrh r0, [r2]
- cmp r0, 0x11
- bls _082E2B64
-_082E2B6C:
- movs r0, 0x3
- strh r0, [r3]
- ldr r1, _082E2BC4
- ldr r2, _082E2BC8
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xC
- ldr r3, _082E2BDC
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, [r4]
- movs r2, 0
- str r2, [r0]
- strb r2, [r0, 0x4]
- ldr r0, [r4]
- strb r2, [r0, 0x5]
- ldr r0, [r4]
- strb r2, [r0, 0x6]
- ldr r0, [r4]
- strb r2, [r0, 0x7]
- ldr r0, [r4]
- strb r2, [r0, 0x8]
- ldr r0, [r4]
- strb r2, [r0, 0x9]
- ldr r0, [r4]
- str r2, [r0, 0xC]
- ldrb r1, [r0, 0x10]
- strb r2, [r0, 0x10]
- ldr r1, [r4]
- ldrh r0, [r1, 0x12]
- movs r3, 0
- strh r2, [r1, 0x12]
- ldrb r0, [r1, 0x14]
- movs r0, 0x1
- strb r0, [r1, 0x14]
- ldr r0, [r4]
- strb r3, [r0, 0x15]
- ldr r0, [r4]
- adds r0, 0x2C
- ldrb r1, [r0]
- strb r3, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E2BC4: .4byte 0x04000134
-_082E2BC8: .4byte 0x000080a0
-_082E2BCC: .4byte 0x03007868
-_082E2BD0: .4byte 0x04000100
-_082E2BD4: .4byte 0x04000102
-_082E2BD8: .4byte 0x000080a2
-_082E2BDC: .4byte 0x00005003
- thumb_func_end AgbRFU_SoftReset
-
- thumb_func_start STWI_set_MS_mode
-STWI_set_MS_mode: @ 82E2BE0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _082E2BF0
- ldr r1, [r1]
- ldrb r2, [r1, 0x14]
- strb r0, [r1, 0x14]
- bx lr
- .align 2, 0
-_082E2BF0: .4byte 0x03007868
- thumb_func_end STWI_set_MS_mode
-
- thumb_func_start STWI_read_status
-STWI_read_status: @ 82E2BF4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _082E2C20
- cmp r0, 0x1
- bgt _082E2C0A
- cmp r0, 0
- beq _082E2C14
- b _082E2C48
-_082E2C0A:
- cmp r1, 0x2
- beq _082E2C2C
- cmp r1, 0x3
- beq _082E2C3C
- b _082E2C48
-_082E2C14:
- ldr r0, _082E2C1C
- ldr r0, [r0]
- ldrh r0, [r0, 0x12]
- b _082E2C4A
- .align 2, 0
-_082E2C1C: .4byte 0x03007868
-_082E2C20:
- ldr r0, _082E2C28
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- b _082E2C4A
- .align 2, 0
-_082E2C28: .4byte 0x03007868
-_082E2C2C:
- ldr r0, _082E2C38
- ldr r0, [r0]
- ldr r0, [r0]
- lsls r0, 16
- lsrs r0, 16
- b _082E2C4A
- .align 2, 0
-_082E2C38: .4byte 0x03007868
-_082E2C3C:
- ldr r0, _082E2C44
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- b _082E2C4A
- .align 2, 0
-_082E2C44: .4byte 0x03007868
-_082E2C48:
- ldr r0, _082E2C50
-_082E2C4A:
- pop {r1}
- bx r1
- .align 2, 0
-_082E2C50: .4byte 0x0000ffff
- thumb_func_end STWI_read_status
-
- thumb_func_start STWI_init_Callback_M
-STWI_init_Callback_M: @ 82E2C54
- push {lr}
- movs r0, 0
- bl STWI_set_Callback_M
- pop {r0}
- bx r0
- thumb_func_end STWI_init_Callback_M
-
- thumb_func_start STWI_init_Callback_S
-STWI_init_Callback_S: @ 82E2C60
- push {lr}
- movs r0, 0
- bl STWI_set_Callback_S
- pop {r0}
- bx r0
- thumb_func_end STWI_init_Callback_S
-
- thumb_func_start STWI_set_Callback_M
-STWI_set_Callback_M: @ 82E2C6C
- ldr r1, _082E2C74
- ldr r1, [r1]
- str r0, [r1, 0x18]
- bx lr
- .align 2, 0
-_082E2C74: .4byte 0x03007868
- thumb_func_end STWI_set_Callback_M
-
- thumb_func_start STWI_set_Callback_S
-STWI_set_Callback_S: @ 82E2C78
- ldr r1, _082E2C80
- ldr r1, [r1]
- str r0, [r1, 0x1C]
- bx lr
- .align 2, 0
-_082E2C80: .4byte 0x03007868
- thumb_func_end STWI_set_Callback_S
-
- thumb_func_start STWI_set_Callback_ID
-STWI_set_Callback_ID: @ 82E2C84
- ldr r1, _082E2C8C
- ldr r1, [r1]
- str r0, [r1, 0x20]
- bx lr
- .align 2, 0
-_082E2C8C: .4byte 0x03007868
- thumb_func_end STWI_set_Callback_ID
-
- thumb_func_start STWI_poll_CommandEnd
-STWI_poll_CommandEnd: @ 82E2C90
- push {lr}
- ldr r0, _082E2CB4
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- adds r3, r0, 0
- cmp r1, 0x1
- bne _082E2CAA
- adds r1, r2, 0
-_082E2CA4:
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _082E2CA4
-_082E2CAA:
- ldr r0, [r3]
- ldrh r0, [r0, 0x12]
- pop {r1}
- bx r1
- .align 2, 0
-_082E2CB4: .4byte 0x03007868
- thumb_func_end STWI_poll_CommandEnd
-
- thumb_func_start STWI_send_ResetREQ
-STWI_send_ResetREQ: @ 82E2CB8
- push {lr}
- movs r0, 0x10
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E2CD2
- ldr r0, _082E2CD8
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E2CD2:
- pop {r0}
- bx r0
- .align 2, 0
-_082E2CD8: .4byte 0x03007868
- thumb_func_end STWI_send_ResetREQ
-
- thumb_func_start STWI_send_LinkStatusREQ
-STWI_send_LinkStatusREQ: @ 82E2CDC
- push {lr}
- movs r0, 0x11
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E2CF6
- ldr r0, _082E2CFC
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E2CF6:
- pop {r0}
- bx r0
- .align 2, 0
-_082E2CFC: .4byte 0x03007868
- thumb_func_end STWI_send_LinkStatusREQ
-
- thumb_func_start STWI_send_VersionStatusREQ
-STWI_send_VersionStatusREQ: @ 82E2D00
- push {lr}
- movs r0, 0x12
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E2D1A
- ldr r0, _082E2D20
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E2D1A:
- pop {r0}
- bx r0
- .align 2, 0
-_082E2D20: .4byte 0x03007868
- thumb_func_end STWI_send_VersionStatusREQ
-
- thumb_func_start STWI_send_SystemStatusREQ
-STWI_send_SystemStatusREQ: @ 82E2D24
- push {lr}
- movs r0, 0x13
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E2D3E
- ldr r0, _082E2D44
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E2D3E:
- pop {r0}
- bx r0
- .align 2, 0
-_082E2D44: .4byte 0x03007868
- thumb_func_end STWI_send_SystemStatusREQ
-
- thumb_func_start STWI_send_SlotStatusREQ
-STWI_send_SlotStatusREQ: @ 82E2D48
- push {lr}
- movs r0, 0x14
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E2D62
- ldr r0, _082E2D68
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E2D62:
- pop {r0}
- bx r0
- .align 2, 0
-_082E2D68: .4byte 0x03007868
- thumb_func_end STWI_send_SlotStatusREQ
-
- thumb_func_start STWI_send_ConfigStatusREQ
-STWI_send_ConfigStatusREQ: @ 82E2D6C
- push {lr}
- movs r0, 0x15
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E2D86
- ldr r0, _082E2D8C
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E2D86:
- pop {r0}
- bx r0
- .align 2, 0
-_082E2D8C: .4byte 0x03007868
- thumb_func_end STWI_send_ConfigStatusREQ
-
- thumb_func_start STWI_send_GameConfigREQ
-STWI_send_GameConfigREQ: @ 82E2D90
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x16
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _082E2DDC
- ldr r2, _082E2DE4
- ldr r1, [r2]
- movs r0, 0x6
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r1, [r0, 0x24]
- adds r1, 0x4
- ldrh r0, [r4]
- strh r0, [r1]
- adds r1, 0x2
- adds r4, 0x2
- movs r2, 0xD
-_082E2DBA:
- ldrb r0, [r4]
- strb r0, [r1]
- adds r1, 0x1
- adds r4, 0x1
- subs r2, 0x1
- cmp r2, 0
- bge _082E2DBA
- movs r2, 0x7
-_082E2DCA:
- ldrb r0, [r5]
- strb r0, [r1]
- adds r1, 0x1
- adds r5, 0x1
- subs r2, 0x1
- cmp r2, 0
- bge _082E2DCA
- bl STWI_start_Command
-_082E2DDC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E2DE4: .4byte 0x03007868
- thumb_func_end STWI_send_GameConfigREQ
-
- thumb_func_start STWI_send_SystemConfigREQ
-STWI_send_SystemConfigREQ: @ 82E2DE8
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- movs r0, 0x17
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _082E2E1E
- ldr r2, _082E2E24
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r0, [r0, 0x24]
- adds r0, 0x4
- strb r4, [r0]
- adds r0, 0x1
- strb r5, [r0]
- adds r0, 0x1
- strh r6, [r0]
- bl STWI_start_Command
-_082E2E1E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_082E2E24: .4byte 0x03007868
- thumb_func_end STWI_send_SystemConfigREQ
-
- thumb_func_start STWI_send_SC_StartREQ
-STWI_send_SC_StartREQ: @ 82E2E28
- push {lr}
- movs r0, 0x19
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E2E42
- ldr r0, _082E2E48
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E2E42:
- pop {r0}
- bx r0
- .align 2, 0
-_082E2E48: .4byte 0x03007868
- thumb_func_end STWI_send_SC_StartREQ
-
- thumb_func_start STWI_send_SC_PollingREQ
-STWI_send_SC_PollingREQ: @ 82E2E4C
- push {lr}
- movs r0, 0x1A
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E2E66
- ldr r0, _082E2E6C
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E2E66:
- pop {r0}
- bx r0
- .align 2, 0
-_082E2E6C: .4byte 0x03007868
- thumb_func_end STWI_send_SC_PollingREQ
-
- thumb_func_start STWI_send_SC_EndREQ
-STWI_send_SC_EndREQ: @ 82E2E70
- push {lr}
- movs r0, 0x1B
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E2E8A
- ldr r0, _082E2E90
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E2E8A:
- pop {r0}
- bx r0
- .align 2, 0
-_082E2E90: .4byte 0x03007868
- thumb_func_end STWI_send_SC_EndREQ
-
- thumb_func_start STWI_send_SP_StartREQ
-STWI_send_SP_StartREQ: @ 82E2E94
- push {lr}
- movs r0, 0x1C
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E2EAE
- ldr r0, _082E2EB4
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E2EAE:
- pop {r0}
- bx r0
- .align 2, 0
-_082E2EB4: .4byte 0x03007868
- thumb_func_end STWI_send_SP_StartREQ
-
- thumb_func_start STWI_send_SP_PollingREQ
-STWI_send_SP_PollingREQ: @ 82E2EB8
- push {lr}
- movs r0, 0x1D
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E2ED2
- ldr r0, _082E2ED8
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E2ED2:
- pop {r0}
- bx r0
- .align 2, 0
-_082E2ED8: .4byte 0x03007868
- thumb_func_end STWI_send_SP_PollingREQ
-
- thumb_func_start STWI_send_SP_EndREQ
-STWI_send_SP_EndREQ: @ 82E2EDC
- push {lr}
- movs r0, 0x1E
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E2EF6
- ldr r0, _082E2EFC
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E2EF6:
- pop {r0}
- bx r0
- .align 2, 0
-_082E2EFC: .4byte 0x03007868
- thumb_func_end STWI_send_SP_EndREQ
-
- thumb_func_start STWI_send_CP_StartREQ
-STWI_send_CP_StartREQ: @ 82E2F00
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x1F
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _082E2F24
- ldr r2, _082E2F2C
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r0, [r0, 0x24]
- str r4, [r0, 0x4]
- bl STWI_start_Command
-_082E2F24:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_082E2F2C: .4byte 0x03007868
- thumb_func_end STWI_send_CP_StartREQ
-
- thumb_func_start STWI_send_CP_PollingREQ
-STWI_send_CP_PollingREQ: @ 82E2F30
- push {lr}
- movs r0, 0x20
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E2F4A
- ldr r0, _082E2F50
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E2F4A:
- pop {r0}
- bx r0
- .align 2, 0
-_082E2F50: .4byte 0x03007868
- thumb_func_end STWI_send_CP_PollingREQ
-
- thumb_func_start STWI_send_CP_EndREQ
-STWI_send_CP_EndREQ: @ 82E2F54
- push {lr}
- movs r0, 0x21
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E2F6E
- ldr r0, _082E2F74
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E2F6E:
- pop {r0}
- bx r0
- .align 2, 0
-_082E2F74: .4byte 0x03007868
- thumb_func_end STWI_send_CP_EndREQ
-
- thumb_func_start STWI_send_DataTxREQ
-STWI_send_DataTxREQ: @ 82E2F78
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r4, r1, 24
- lsrs r5, r4, 24
- movs r0, 0x24
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _082E2FB6
- lsrs r2, r4, 26
- movs r0, 0x3
- ands r0, r5
- cmp r0, 0
- beq _082E2F98
- adds r2, 0x1
-_082E2F98:
- ldr r1, _082E2FBC
- ldr r0, [r1]
- strb r2, [r0, 0x4]
- ldr r0, [r1]
- ldr r1, [r0, 0x24]
- adds r1, 0x4
- ldrb r2, [r0, 0x4]
- movs r0, 0x80
- lsls r0, 19
- orrs r2, r0
- adds r0, r6, 0
- bl CpuSet
- bl STWI_start_Command
-_082E2FB6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_082E2FBC: .4byte 0x03007868
- thumb_func_end STWI_send_DataTxREQ
-
- thumb_func_start STWI_send_DataTxAndChangeREQ
-STWI_send_DataTxAndChangeREQ: @ 82E2FC0
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r4, r1, 24
- lsrs r5, r4, 24
- movs r0, 0x25
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _082E2FFE
- lsrs r2, r4, 26
- movs r0, 0x3
- ands r0, r5
- cmp r0, 0
- beq _082E2FE0
- adds r2, 0x1
-_082E2FE0:
- ldr r1, _082E3004
- ldr r0, [r1]
- strb r2, [r0, 0x4]
- ldr r0, [r1]
- ldr r1, [r0, 0x24]
- adds r1, 0x4
- ldrb r2, [r0, 0x4]
- movs r0, 0x80
- lsls r0, 19
- orrs r2, r0
- adds r0, r6, 0
- bl CpuSet
- bl STWI_start_Command
-_082E2FFE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_082E3004: .4byte 0x03007868
- thumb_func_end STWI_send_DataTxAndChangeREQ
-
- thumb_func_start STWI_send_DataRxREQ
-STWI_send_DataRxREQ: @ 82E3008
- push {lr}
- movs r0, 0x26
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E3022
- ldr r0, _082E3028
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E3022:
- pop {r0}
- bx r0
- .align 2, 0
-_082E3028: .4byte 0x03007868
- thumb_func_end STWI_send_DataRxREQ
-
- thumb_func_start STWI_send_MS_ChangeREQ
-STWI_send_MS_ChangeREQ: @ 82E302C
- push {lr}
- movs r0, 0x27
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E3046
- ldr r0, _082E304C
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E3046:
- pop {r0}
- bx r0
- .align 2, 0
-_082E304C: .4byte 0x03007868
- thumb_func_end STWI_send_MS_ChangeREQ
-
- thumb_func_start STWI_send_DataReadyAndChangeREQ
-STWI_send_DataReadyAndChangeREQ: @ 82E3050
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- movs r0, 0x28
- bl STWI_init
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _082E3096
- cmp r4, 0
- bne _082E3078
- ldr r0, _082E3074
- ldr r0, [r0]
- strb r3, [r0, 0x4]
- b _082E3092
- .align 2, 0
-_082E3074: .4byte 0x03007868
-_082E3078:
- ldr r2, _082E309C
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r0, [r0, 0x24]
- adds r0, 0x4
- strb r5, [r0]
- adds r0, 0x1
- strb r3, [r0]
- adds r0, 0x1
- strb r3, [r0]
- strb r3, [r0, 0x1]
-_082E3092:
- bl STWI_start_Command
-_082E3096:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E309C: .4byte 0x03007868
- thumb_func_end STWI_send_DataReadyAndChangeREQ
-
- thumb_func_start STWI_send_DisconnectedAndChangeREQ
-STWI_send_DisconnectedAndChangeREQ: @ 82E30A0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- movs r0, 0x29
- bl STWI_init
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _082E30D6
- ldr r2, _082E30DC
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r0, [r0, 0x24]
- adds r0, 0x4
- strb r4, [r0]
- adds r0, 0x1
- strb r5, [r0]
- adds r0, 0x1
- strb r3, [r0]
- strb r3, [r0, 0x1]
- bl STWI_start_Command
-_082E30D6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E30DC: .4byte 0x03007868
- thumb_func_end STWI_send_DisconnectedAndChangeREQ
-
- thumb_func_start STWI_send_ResumeRetransmitAndChangeREQ
-STWI_send_ResumeRetransmitAndChangeREQ: @ 82E30E0
- push {lr}
- movs r0, 0x37
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E30FA
- ldr r0, _082E3100
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E30FA:
- pop {r0}
- bx r0
- .align 2, 0
-_082E3100: .4byte 0x03007868
- thumb_func_end STWI_send_ResumeRetransmitAndChangeREQ
-
- thumb_func_start STWI_send_DisconnectREQ
-STWI_send_DisconnectREQ: @ 82E3104
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x30
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _082E3128
- ldr r2, _082E3130
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r0, [r0, 0x24]
- str r4, [r0, 0x4]
- bl STWI_start_Command
-_082E3128:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_082E3130: .4byte 0x03007868
- thumb_func_end STWI_send_DisconnectREQ
-
- thumb_func_start STWI_send_TestModeREQ
-STWI_send_TestModeREQ: @ 82E3134
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- movs r0, 0x31
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _082E3160
- ldr r2, _082E3168
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r1, [r0, 0x24]
- lsls r0, r4, 8
- orrs r0, r5
- str r0, [r1, 0x4]
- bl STWI_start_Command
-_082E3160:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E3168: .4byte 0x03007868
- thumb_func_end STWI_send_TestModeREQ
-
- thumb_func_start STWI_send_CPR_StartREQ
-STWI_send_CPR_StartREQ: @ 82E316C
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- lsrs r6, r2, 24
- movs r0, 0x32
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _082E319E
- ldr r2, _082E31A4
- ldr r1, [r2]
- movs r0, 0x2
- strb r0, [r1, 0x4]
- lsls r0, r5, 16
- orrs r0, r4
- ldr r1, [r2]
- ldr r1, [r1, 0x24]
- str r0, [r1, 0x4]
- str r6, [r1, 0x8]
- bl STWI_start_Command
-_082E319E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_082E31A4: .4byte 0x03007868
- thumb_func_end STWI_send_CPR_StartREQ
-
- thumb_func_start STWI_send_CPR_PollingREQ
-STWI_send_CPR_PollingREQ: @ 82E31A8
- push {lr}
- movs r0, 0x33
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E31C2
- ldr r0, _082E31C8
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E31C2:
- pop {r0}
- bx r0
- .align 2, 0
-_082E31C8: .4byte 0x03007868
- thumb_func_end STWI_send_CPR_PollingREQ
-
- thumb_func_start STWI_send_CPR_EndREQ
-STWI_send_CPR_EndREQ: @ 82E31CC
- push {lr}
- movs r0, 0x34
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E31E6
- ldr r0, _082E31EC
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E31E6:
- pop {r0}
- bx r0
- .align 2, 0
-_082E31EC: .4byte 0x03007868
- thumb_func_end STWI_send_CPR_EndREQ
-
- thumb_func_start STWI_send_StopModeREQ
-STWI_send_StopModeREQ: @ 82E31F0
- push {lr}
- movs r0, 0x3D
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E320A
- ldr r0, _082E3210
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_082E320A:
- pop {r0}
- bx r0
- .align 2, 0
-_082E3210: .4byte 0x03007868
- thumb_func_end STWI_send_StopModeREQ
-
- thumb_func_start STWI_intr_timer
-STWI_intr_timer: @ 82E3214
- push {r4,lr}
- ldr r4, _082E322C
- ldr r1, [r4]
- ldr r0, [r1, 0xC]
- cmp r0, 0x2
- beq _082E323A
- cmp r0, 0x2
- bgt _082E3230
- cmp r0, 0x1
- beq _082E3248
- b _082E3270
- .align 2, 0
-_082E322C: .4byte 0x03007868
-_082E3230:
- cmp r0, 0x3
- beq _082E3252
- cmp r0, 0x4
- beq _082E3248
- b _082E3270
-_082E323A:
- ldrb r0, [r1, 0x10]
- movs r0, 0x1
- strb r0, [r1, 0x10]
- movs r0, 0x32
- bl STWI_set_timer
- b _082E3270
-_082E3248:
- bl STWI_stop_timer
- bl STWI_restart_Command
- b _082E3270
-_082E3252:
- ldrb r0, [r1, 0x10]
- movs r0, 0x1
- strb r0, [r1, 0x10]
- bl STWI_stop_timer
- bl STWI_reset_ClockCounter
- ldr r0, [r4]
- ldr r2, [r0, 0x18]
- cmp r2, 0
- beq _082E3270
- movs r0, 0xFF
- movs r1, 0
- bl _call_via_r2
-_082E3270:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end STWI_intr_timer
-
- thumb_func_start STWI_set_timer
-STWI_set_timer: @ 82E3278
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r5, r3, 0
- ldr r2, _082E32A8
- ldr r0, [r2]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r1, _082E32AC
- adds r4, r0, r1
- adds r1, 0x2
- adds r7, r0, r1
- ldr r1, _082E32B0
- movs r0, 0
- strh r0, [r1]
- adds r6, r2, 0
- cmp r3, 0x50
- beq _082E32D0
- cmp r3, 0x50
- bgt _082E32B4
- cmp r3, 0x32
- beq _082E32BE
- b _082E32FC
- .align 2, 0
-_082E32A8: .4byte 0x03007868
-_082E32AC: .4byte 0x04000100
-_082E32B0: .4byte 0x04000208
-_082E32B4:
- cmp r5, 0x64
- beq _082E32E0
- cmp r5, 0x82
- beq _082E32F0
- b _082E32FC
-_082E32BE:
- ldr r1, _082E32CC
- adds r0, r1, 0
- strh r0, [r4]
- ldr r1, [r6]
- movs r0, 0x1
- b _082E32FA
- .align 2, 0
-_082E32CC: .4byte 0x0000fccb
-_082E32D0:
- ldr r1, _082E32DC
- adds r0, r1, 0
- strh r0, [r4]
- ldr r1, [r6]
- movs r0, 0x2
- b _082E32FA
- .align 2, 0
-_082E32DC: .4byte 0x0000fae0
-_082E32E0:
- ldr r1, _082E32EC
- adds r0, r1, 0
- strh r0, [r4]
- ldr r1, [r6]
- movs r0, 0x3
- b _082E32FA
- .align 2, 0
-_082E32EC: .4byte 0x0000f996
-_082E32F0:
- ldr r1, _082E3318
- adds r0, r1, 0
- strh r0, [r4]
- ldr r1, [r6]
- movs r0, 0x4
-_082E32FA:
- str r0, [r1, 0xC]
-_082E32FC:
- movs r0, 0xC3
- strh r0, [r7]
- ldr r2, _082E331C
- ldr r1, [r6]
- movs r0, 0x8
- ldrb r1, [r1, 0xA]
- lsls r0, r1
- strh r0, [r2]
- ldr r1, _082E3320
- movs r0, 0x1
- strh r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E3318: .4byte 0x0000f7ad
-_082E331C: .4byte 0x04000202
-_082E3320: .4byte 0x04000208
- thumb_func_end STWI_set_timer
-
- thumb_func_start STWI_stop_timer
-STWI_stop_timer: @ 82E3324
- ldr r2, _082E3344
- ldr r0, [r2]
- movs r1, 0
- str r1, [r0, 0xC]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r3, _082E3348
- adds r0, r3
- strh r1, [r0]
- ldr r0, [r2]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r2, _082E334C
- adds r0, r2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_082E3344: .4byte 0x03007868
-_082E3348: .4byte 0x04000100
-_082E334C: .4byte 0x04000102
- thumb_func_end STWI_stop_timer
-
- thumb_func_start STWI_init
-STWI_init: @ 82E3350
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- ldr r0, _082E337C
- ldrh r0, [r0]
- cmp r0, 0
- bne _082E3384
- ldr r0, _082E3380
- ldr r1, [r0]
- ldrh r0, [r1, 0x12]
- movs r0, 0x6
- strh r0, [r1, 0x12]
- ldr r2, [r1, 0x18]
- cmp r2, 0
- beq _082E33CE
- ldrh r1, [r1, 0x12]
- adds r0, r5, 0
- bl _call_via_r2
- b _082E33CE
- .align 2, 0
-_082E337C: .4byte 0x04000208
-_082E3380: .4byte 0x03007868
-_082E3384:
- ldr r4, _082E33B0
- ldr r2, [r4]
- adds r3, r2, 0
- adds r3, 0x2C
- ldrb r0, [r3]
- cmp r0, 0x1
- bne _082E33B4
- ldrh r0, [r2, 0x12]
- movs r1, 0
- movs r0, 0x2
- strh r0, [r2, 0x12]
- ldrb r0, [r3]
- strb r1, [r3]
- ldr r0, [r4]
- ldr r2, [r0, 0x18]
- cmp r2, 0
- beq _082E33CE
- ldrh r1, [r0, 0x12]
- adds r0, r5, 0
- bl _call_via_r2
- b _082E33CE
- .align 2, 0
-_082E33B0: .4byte 0x03007868
-_082E33B4:
- ldrb r0, [r2, 0x14]
- cmp r0, 0
- bne _082E33D2
- ldrh r0, [r2, 0x12]
- movs r0, 0x4
- strh r0, [r2, 0x12]
- ldr r3, [r2, 0x18]
- cmp r3, 0
- beq _082E33CE
- ldrh r1, [r2, 0x12]
- adds r0, r5, 0
- bl _call_via_r3
-_082E33CE:
- movs r0, 0x1
- b _082E341A
-_082E33D2:
- ldrb r0, [r3]
- movs r1, 0
- movs r0, 0x1
- strb r0, [r3]
- ldr r0, [r4]
- strb r6, [r0, 0x6]
- ldr r0, [r4]
- str r1, [r0]
- strb r1, [r0, 0x4]
- ldr r0, [r4]
- strb r1, [r0, 0x5]
- ldr r0, [r4]
- strb r1, [r0, 0x7]
- ldr r0, [r4]
- strb r1, [r0, 0x8]
- ldr r0, [r4]
- strb r1, [r0, 0x9]
- ldr r0, [r4]
- str r1, [r0, 0xC]
- ldrb r2, [r0, 0x10]
- strb r1, [r0, 0x10]
- ldr r0, [r4]
- ldrh r2, [r0, 0x12]
- movs r2, 0
- strh r1, [r0, 0x12]
- strb r2, [r0, 0x15]
- ldr r1, _082E3420
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xC
- ldr r2, _082E3424
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
-_082E341A:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_082E3420: .4byte 0x04000134
-_082E3424: .4byte 0x00005003
- thumb_func_end STWI_init
-
- thumb_func_start STWI_start_Command
-STWI_start_Command: @ 82E3428
- push {r4,r5,lr}
- ldr r5, _082E3480
- ldr r0, [r5]
- ldr r3, [r0, 0x24]
- ldrb r1, [r0, 0x4]
- lsls r1, 8
- ldrb r0, [r0, 0x6]
- ldr r2, _082E3484
- orrs r0, r2
- orrs r1, r0
- str r1, [r3]
- ldr r2, _082E3488
- ldr r1, [r5]
- ldr r0, [r1, 0x24]
- ldr r0, [r0]
- str r0, [r2]
- movs r2, 0
- str r2, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x5]
- ldr r4, _082E348C
- ldrh r3, [r4]
- strh r2, [r4]
- ldr r2, _082E3490
- ldr r1, [r5]
- movs r0, 0x8
- ldrb r1, [r1, 0xA]
- lsls r0, r1
- ldrh r1, [r2]
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strh r0, [r2]
- strh r3, [r4]
- ldr r1, _082E3494
- ldr r2, _082E3498
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_082E3480: .4byte 0x03007868
-_082E3484: .4byte 0x99660000
-_082E3488: .4byte 0x04000120
-_082E348C: .4byte 0x04000208
-_082E3490: .4byte 0x04000200
-_082E3494: .4byte 0x04000128
-_082E3498: .4byte 0x00005083
- thumb_func_end STWI_start_Command
-
- thumb_func_start STWI_restart_Command
-STWI_restart_Command: @ 82E349C
- push {r4,lr}
- ldr r4, _082E34B4
- ldr r2, [r4]
- ldrb r0, [r2, 0x15]
- adds r3, r4, 0
- cmp r0, 0x1
- bhi _082E34B8
- adds r0, 0x1
- strb r0, [r2, 0x15]
- bl STWI_start_Command
- b _082E3512
- .align 2, 0
-_082E34B4: .4byte 0x03007868
-_082E34B8:
- ldrb r0, [r2, 0x6]
- cmp r0, 0x27
- beq _082E34CA
- cmp r0, 0x25
- beq _082E34CA
- cmp r0, 0x35
- beq _082E34CA
- cmp r0, 0x37
- bne _082E34EC
-_082E34CA:
- ldr r0, [r3]
- ldrh r1, [r0, 0x12]
- movs r2, 0
- movs r1, 0x1
- strh r1, [r0, 0x12]
- adds r0, 0x2C
- ldrb r1, [r0]
- strb r2, [r0]
- ldr r1, [r3]
- ldr r2, [r1, 0x18]
- cmp r2, 0
- beq _082E3512
- ldrb r0, [r1, 0x6]
- ldrh r1, [r1, 0x12]
- bl _call_via_r2
- b _082E3512
-_082E34EC:
- ldrh r0, [r2, 0x12]
- movs r1, 0
- movs r0, 0x1
- strh r0, [r2, 0x12]
- adds r0, r2, 0
- adds r0, 0x2C
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r1, [r4]
- ldr r2, [r1, 0x18]
- cmp r2, 0
- beq _082E350C
- ldrb r0, [r1, 0x6]
- ldrh r1, [r1, 0x12]
- bl _call_via_r2
-_082E350C:
- ldr r1, [r4]
- movs r0, 0x4
- str r0, [r1]
-_082E3512:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end STWI_restart_Command
-
- thumb_func_start STWI_reset_ClockCounter
-STWI_reset_ClockCounter: @ 82E351C
- ldr r3, _082E3548
- ldr r1, [r3]
- movs r0, 0x5
- str r0, [r1]
- movs r2, 0
- strb r2, [r1, 0x4]
- ldr r0, [r3]
- strb r2, [r0, 0x5]
- ldr r1, _082E354C
- movs r0, 0x80
- lsls r0, 24
- str r0, [r1]
- adds r1, 0x8
- strh r2, [r1]
- ldr r2, _082E3550
- adds r0, r2, 0
- strh r0, [r1]
- adds r2, 0x7F
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- bx lr
- .align 2, 0
-_082E3548: .4byte 0x03007868
-_082E354C: .4byte 0x04000120
-_082E3550: .4byte 0x00005003
- thumb_func_end STWI_reset_ClockCounter
-
- .arm
- arm_func_start IntrSIO32
-IntrSIO32: @ 82E3554
- mov r12, sp
- stmdb sp!, {r11,r12,lr,pc}
- ldr r3, _082E35B4
- ldr r0, [r3]
- ldr r2, [r0]
- sub r11, r12, 0x4
- cmp r2, 0xA
- bne _082E3590
- ldr r0, [r0, 0x20]
- cmp r0, 0
- ldmdbeq r11, {r11,sp,lr}
- bxeq lr
- bl sub_82E3EB0
- ldmdb r11, {r11,sp,lr}
- bx lr
-_082E3590:
- ldrb r3, [r0, 0x14]
- cmp r3, 0x1
- bne _082E35A8
- bl sio32intr_clock_master
- ldmdb r11, {r11,sp,lr}
- bx lr
-_082E35A8:
- bl sio32intr_clock_slave
- ldmdb r11, {r11,sp,lr}
- bx lr
- .align 2, 0
-_082E35B4: .4byte 0x03007868
- arm_func_end IntrSIO32
-
- arm_func_start sio32intr_clock_master
-sio32intr_clock_master: @ 82E35B8
- mov r12, sp
- stmdb sp!, {r4-r6,r11,r12,lr,pc}
- mov r0, 0x50
- sub r11, r12, 0x4
- bl STWI_set_timer_in_RAM
- mov r4, 0x120
- ldr r2, _082E382C
- add r4, r4, 0x4000000
- ldr lr, [r4]
- ldr r12, [r2]
- ldr r3, [r12]
- mov r6, r2
- cmp r3, 0
- bne _082E3638
- cmp lr, 0x80000000
- bne _082E36B8
- ldrb r2, [r12, 0x5]
- ldrb r3, [r12, 0x4]
- cmp r2, r3
- bhi _082E3628
- ldr r3, [r12, 0x24]
- mov r1, r2
- ldr r2, [r3, r1, lsl 2]
- str r2, [r4]
- ldrb r3, [r12, 0x5]
- add r3, r3, 0x1
- strb r3, [r12, 0x5]
- b _082E3714
-_082E3628:
- mov r3, 0x1
- str r3, [r12]
- str lr, [r4]
- b _082E3714
-_082E3638:
- ldr r3, [r12]
- cmp r3, 0x1
- bne _082E36C8
- mov r3, 0x99000000
- add r3, r3, 0x660000
- mov r5, 0x80000000
- and r2, lr, r5, asr 15
- cmp r2, r3
- bne _082E36B8
- mov r3, 0
- strb r3, [r12, 0x8]
- ldr r1, [r6]
- ldrb r0, [r1, 0x8]
- ldr r2, [r1, 0x28]
- str lr, [r2, r0, lsl 2]
- ldrb r3, [r1, 0x8]
- add r3, r3, 0x1
- strb r3, [r1, 0x8]
- ldr r2, [r6]
- strb lr, [r2, 0x9]
- ldr r3, [r6]
- mov r2, lr, lsr 8
- strb r2, [r3, 0x7]
- ldr r1, [r6]
- ldrb r2, [r1, 0x7]
- ldrb r3, [r1, 0x8]
- cmp r2, r3
- bcc _082E3700
- mov r3, 0x2
- str r3, [r1]
- str r5, [r4]
- b _082E3714
-_082E36B8:
- bl STWI_stop_timer_in_RAM
- mov r0, 0x82
- bl STWI_set_timer_in_RAM
- b _082E3840
-_082E36C8:
- ldr r3, [r12]
- cmp r3, 0x2
- bne _082E3714
- ldrb r1, [r12, 0x8]
- ldr r2, [r12, 0x28]
- str lr, [r2, r1, lsl 2]
- ldrb r3, [r12, 0x8]
- add r3, r3, 0x1
- strb r3, [r12, 0x8]
- ldr r1, [r6]
- ldrb r2, [r1, 0x7]
- ldrb r3, [r1, 0x8]
- cmp r2, r3
- bcs _082E370C
-_082E3700:
- mov r3, 0x3
- str r3, [r1]
- b _082E3714
-_082E370C:
- mov r3, 0x80000000
- str r3, [r4]
-_082E3714:
- mov r0, 0x1
- bl handshake_wait
- mov r0, r0, lsl 16
- cmp r0, 0x10000
- beq _082E3840
- mov r4, 0x128
- add r4, r4, 0x4000000
- mov r5, 0x5000
- add r3, r5, 0xB
- strh r3, [r4]
- mov r0, 0
- bl handshake_wait
- mov r0, r0, lsl 16
- cmp r0, 0x10000
- beq _082E3840
- bl STWI_stop_timer_in_RAM
- ldr r1, [r6]
- ldr r0, [r1]
- cmp r0, 0x3
- bne _082E3830
- ldrb r3, [r1, 0x9]
- cmp r3, 0xA5
- cmpne r3, 0xA7
- beq _082E3788
- and r3, r3, 0xFF
- cmp r3, 0xB5
- beq _082E3788
- cmp r3, 0xB7
- bne _082E37D0
-_082E3788:
- mov r1, 0x120
- add r1, r1, 0x4000000
- mov r12, 0x128
- add r12, r12, 0x4000000
- ldr r0, [r6]
- mov r3, 0
- strb r3, [r0, 0x14]
- mov r2, 0x80000000
- str r2, [r1]
- add r3, r3, 0x5000
- add r2, r3, 0x2
- strh r2, [r12]
- add r3, r3, 0x82
- strh r3, [r12]
- ldr r2, [r6]
- mov r3, 0x5
- str r3, [r2]
- b _082E3800
-_082E37D0:
- cmp r3, 0xEE
- bne _082E37F0
- add r3, r5, 0x3
- strh r3, [r4]
- mov r2, 0x4
- str r2, [r1]
- strh r0, [r1, 0x12]
- b _082E3800
-_082E37F0:
- add r3, r5, 0x3
- strh r3, [r4]
- mov r2, 0x4
- str r2, [r1]
-_082E3800:
- ldr r2, [r6]
- mov r3, 0
- strb r3, [r2, 0x2C]
- ldr r0, [r6]
- ldr r2, [r0, 0x18]
- cmp r2, r3
- beq _082E3840
- ldrh r1, [r0, 0x12]
- ldrb r0, [r0, 0x6]
- bl sub_82E3EA8
- b _082E3840
- .align 2, 0
-_082E382C: .4byte 0x03007868
-_082E3830:
- add r3, r5, 0x3
- strh r3, [r4]
- add r2, r5, 0x83
- strh r2, [r4]
-_082E3840:
- ldmdb r11, {r4-r6,r11,sp,lr}
- bx lr
- arm_func_end sio32intr_clock_master
-
- arm_func_start sio32intr_clock_slave
-sio32intr_clock_slave: @ 82E3848
- mov r12, sp
- stmdb sp!, {r4-r6,r11,r12,lr,pc}
- ldr r4, _082E3BF4
- mov r0, 0x64
- ldr r3, [r4]
- mov r6, 0
- strb r6, [r3, 0x10]
- sub r11, r12, 0x4
- bl STWI_set_timer_in_RAM
- mov r0, r6
- bl handshake_wait
- mov r0, r0, lsl 16
- cmp r0, 0x10000
- mov r5, r4
- beq _082E3C4C
- mov r3, 0x128
- add r3, r3, 0x4000000
- mov r2, 0x5000
- add r2, r2, 0xA
- strh r2, [r3]
- mov lr, 0x120
- ldr r0, [r5]
- add lr, lr, 0x4000000
- ldr r12, [lr]
- ldr r3, [r0]
- cmp r3, 0x5
- bne _082E3978
- ldr r3, [r0, 0x28]
- mov r4, 0x1
- mov r0, 0x99000000
- str r12, [r3]
- add r0, r0, 0x660000
- ldr r2, [r5]
- mov r3, r0, lsr 16
- strb r4, [r2, 0x5]
- cmp r3, r12, lsr 16
- bne _082E3AC4
- ldr r3, [r5]
- mov r2, r12, lsr 8
- strb r2, [r3, 0x4]
- ldr r2, [r5]
- strb r12, [r2, 0x6]
- ldr r1, [r5]
- ldrb r3, [r1, 0x4]
- cmp r3, r6
- bne _082E395C
- ldrb r2, [r1, 0x6]
- sub r3, r2, 0x27
- cmp r2, 0x36
- cmpne r3, 0x2
- bhi _082E3930
- add r3, r2, 0x80
- strb r3, [r1, 0x9]
- ldr r2, [r5]
- ldrb r3, [r2, 0x9]
- ldr r1, [r2, 0x24]
- add r3, r3, r0
- b _082E39E0
-_082E3930:
- ldr r2, [r1, 0x24]
- ldr r3, _082E3BF8
- str r3, [r2]
- ldr r2, [r5]
- ldrb r3, [r2, 0x6]
- sub r3, r3, 0x10
- cmp r3, 0x2D
- bhi _082E3A18
- ldr r3, [r2, 0x24]
- str r4, [r3, 0x4]
- b _082E3A24
-_082E395C:
- mov r3, 0x80000000
- str r3, [lr]
- strb r4, [r1, 0x5]
- ldr r2, [r5]
- add r3, r3, 0x80000006
- str r3, [r2]
- b _082E3AD4
-_082E3978:
- ldr r3, [r0]
- cmp r3, 0x6
- bne _082E3A78
- ldrb r1, [r0, 0x5]
- ldr r2, [r0, 0x28]
- str r12, [r2, r1, lsl 2]
- ldrb r3, [r0, 0x5]
- add r3, r3, 0x1
- strb r3, [r0, 0x5]
- ldr r1, [r5]
- ldrb r2, [r1, 0x4]
- ldrb r3, [r1, 0x5]
- cmp r2, r3
- bcs _082E3A6C
- ldrb r2, [r1, 0x6]
- sub r3, r2, 0x28
- cmp r2, 0x36
- cmpne r3, 0x1
- bhi _082E39F0
- add r3, r2, 0x80
- strb r3, [r1, 0x9]
- ldr r2, [r5]
- ldrb r3, [r2, 0x9]
- ldr r1, [r2, 0x24]
- orr r3, r3, 0x99000000
- orr r3, r3, 0x660000
-_082E39E0:
- str r3, [r1]
- ldr r2, [r5]
- strb r6, [r2, 0x7]
- b _082E3A3C
-_082E39F0:
- ldr r2, [r1, 0x24]
- ldr r3, _082E3BF8
- str r3, [r2]
- ldr r2, [r5]
- ldrb r3, [r2, 0x6]
- sub r3, r3, 0x10
- cmp r3, 0x2D
- ldrls r2, [r2, 0x24]
- movls r3, 0x1
- bls _082E3A20
-_082E3A18:
- ldr r2, [r2, 0x24]
- mov r3, 0x2
-_082E3A20:
- str r3, [r2, 0x4]
-_082E3A24:
- ldr r2, [r5]
- mov r3, 0x1
- strb r3, [r2, 0x7]
- ldr r1, [r5]
- add r3, r3, 0x2
- strh r3, [r1, 0x12]
-_082E3A3C:
- ldr r0, [r5]
- ldr r2, [r0, 0x24]
- mov r3, 0x120
- ldr r1, [r2]
- add r3, r3, 0x4000000
- str r1, [r3]
- mov r2, 0x1
- strb r2, [r0, 0x8]
- ldr r1, [r5]
- mov r3, 0x7
- str r3, [r1]
- b _082E3AD4
-_082E3A6C:
- mov r3, 0x80000000
- str r3, [lr]
- b _082E3AD4
-_082E3A78:
- ldr r3, [r0]
- cmp r3, 0x7
- bne _082E3AD4
- cmp r12, 0x80000000
- bne _082E3AC4
- ldrb r2, [r0, 0x7]
- ldrb r3, [r0, 0x8]
- cmp r2, r3
- movcc r3, 0x8
- strcc r3, [r0]
- bcc _082E3AD4
- ldrb r1, [r0, 0x8]
- ldr r3, [r0, 0x24]
- ldr r2, [r3, r1, lsl 2]
- str r2, [lr]
- ldrb r3, [r0, 0x8]
- add r3, r3, 0x1
- strb r3, [r0, 0x8]
- b _082E3AD4
-_082E3AC4:
- bl STWI_stop_timer_in_RAM
- mov r0, 0x64
- bl STWI_set_timer_in_RAM
- b _082E3C4C
-_082E3AD4:
- mov r0, 0x1
- bl handshake_wait
- mov r0, r0, lsl 16
- cmp r0, 0x10000
- beq _082E3C4C
- mov r6, r5
- ldr r3, [r6]
- ldr r2, [r3]
- cmp r2, 0x8
- bne _082E3B9C
- mov r4, 0x128
- add r4, r4, 0x4000000
- mov r3, 0x5000
- add r3, r3, 0x2
- strh r3, [r4]
- bl STWI_stop_timer_in_RAM
- ldr r0, [r6]
- ldrh r3, [r0, 0x12]
- cmp r3, 0x3
- bne _082E3B48
- bl STWI_init_slave
- ldr r3, [r6]
- ldr r1, [r3, 0x1C]
- cmp r1, 0
- beq _082E3C4C
- mov r0, 0x1EC
- add r0, r0, 0x2
- bl sub_82E3EAC
- b _082E3C4C
-_082E3B48:
- mov r3, 0x120
- add r3, r3, 0x4000000
- mov r1, 0
- str r1, [r3]
- mov r2, 0x5000
- strh r1, [r4]
- add r2, r2, 0x3
- strh r2, [r4]
- mov r3, 0x1
- strb r3, [r0, 0x14]
- ldr r0, [r5]
- ldr r2, [r0, 0x1C]
- str r1, [r0]
- cmp r2, r1
- beq _082E3C4C
- ldrb r3, [r0, 0x4]
- ldrb r0, [r0, 0x6]
- mov r1, r2
- orr r0, r0, r3, lsl 8
- bl sub_82E3EAC
- b _082E3C4C
-_082E3B9C:
- mov r3, 0x208
- add r3, r3, 0x4000000
- mov r2, 0
- strh r2, [r3]
- mov r1, 0x100
- add r2, r1, 0x4000002
- ldrh r3, [r2]
- tst r3, 0x80
- beq _082E3C20
- ldrh r3, [r2]
- tst r3, 0x3
- bne _082E3BFC
- mov r2, 0xFF00
- add r1, r1, 0x4000000
- ldrh r3, [r1]
- add r2, r2, 0x9B
- cmp r3, r2
- bls _082E3C20
-_082E3BE4:
- ldrh r3, [r1]
- cmp r3, r2
- bhi _082E3BE4
- b _082E3C20
- .align 2, 0
-_082E3BF4: .4byte 0x03007868
-_082E3BF8: .4byte 0x996601ee
-_082E3BFC:
- mov r2, 0xFF00
- add r1, r1, 0x4000000
- ldrh r3, [r1]
- add r2, r2, 0xFE
- cmp r3, r2
- bls _082E3C20
-_082E3C14:
- ldrh r3, [r1]
- cmp r3, r2
- bhi _082E3C14
-_082E3C20:
- mov r1, 0x128
- add r1, r1, 0x4000000
- mov r0, 0x208
- add r0, r0, 0x4000000
- mov r3, 0x5000
- add r2, r3, 0x2
- strh r2, [r1]
- add r3, r3, 0x82
- strh r3, [r1]
- mov r2, 0x1
- strh r2, [r0]
-_082E3C4C:
- ldmdb r11, {r4-r6,r11,sp,lr}
- bx lr
- arm_func_end sio32intr_clock_slave
-
- arm_func_start handshake_wait
-handshake_wait: @ 82E3C54
- mov r12, sp
- stmdb sp!, {r11,r12,lr,pc}
- mov r1, 0x128
- add r1, r1, 0x4000000
- mov r0, r0, lsl 16
- ldr r2, _082E3CB8
- sub r11, r12, 0x4
- mov lr, r0, lsr 14
- ldr r12, [r2]
-_082E3C78:
- ldrb r3, [r12, 0x10]
- and r0, r3, 0xFF
- cmp r0, 0x1
- beq _082E3CA4
- ldrh r3, [r1]
- and r3, r3, 0x4
- cmp r3, lr
- bne _082E3C78
- mov r0, 0
- ldmdb r11, {r11,sp,lr}
- bx lr
-_082E3CA4:
- ldr r2, [r2]
- mov r3, 0
- strb r3, [r2, 0x10]
- ldmdb r11, {r11,sp,lr}
- bx lr
- .align 2, 0
-_082E3CB8: .4byte 0x03007868
- arm_func_end handshake_wait
-
- arm_func_start STWI_set_timer_in_RAM
-STWI_set_timer_in_RAM: @ 82E3CBC
- mov r12, sp
- stmdb sp!, {r4,r5,r11,r12,lr,pc}
- mov r1, 0x208
- add r1, r1, 0x4000000
- mov r3, 0
- sub r11, r12, 0x4
- ldr r12, _082E3D74
- and lr, r0, 0xFF
- ldr r2, [r12]
- cmp lr, 0x50
- ldrb r0, [r2, 0xA]
- mov r4, r12
- mov r2, lr
- strh r3, [r1]
- mov r0, r0, lsl 2
- add r3, r3, 0x100
- add r1, r3, 0x4000000
- add r3, r3, 0x4000002
- add r5, r0, r3
- beq _082E3D44
- bgt _082E3D1C
- cmp lr, 0x32
- beq _082E3D30
- b _082E3D90
-_082E3D1C:
- cmp r2, 0x64
- beq _082E3D5C
- cmp r2, 0x82
- beq _082E3D78
- b _082E3D90
-_082E3D30:
- mvn r3, 0x334
- strh r3, [r0, r1]
- ldr r2, [r4]
- mov r3, 0x1
- b _082E3D8C
-_082E3D44:
- mov r3, 0xAE000000
- mov r3, r3, asr 20
- strh r3, [r0, r1]
- ldr r2, [r4]
- mov r3, 0x2
- b _082E3D8C
-_082E3D5C:
- mvn r3, 0x660
- sub r3, r3, 0x9
- strh r3, [r0, r1]
- ldr r2, [r4]
- mov r3, 0x3
- b _082E3D8C
- .align 2, 0
-_082E3D74: .4byte 0x03007868
-_082E3D78:
- mvn r3, 0x850
- sub r3, r3, 0x2
- strh r3, [r0, r1]
- ldr r2, [r4]
- mov r3, 0x4
-_082E3D8C:
- str r3, [r2, 0xC]
-_082E3D90:
- mov r12, 0x200
- add r12, r12, 0x4000002
- mov r3, 0xC3
- strh r3, [r5]
- mov r1, 0x208
- ldr r2, [r4]
- add r1, r1, 0x4000000
- ldrb r0, [r2, 0xA]
- sub r3, r3, 0xBB
- mov r3, r3, lsl r0
- strh r3, [r12]
- mov r2, 0x1
- strh r2, [r1]
- ldmdb r11, {r4,r5,r11,sp,lr}
- bx lr
- arm_func_end STWI_set_timer_in_RAM
-
- arm_func_start STWI_stop_timer_in_RAM
-STWI_stop_timer_in_RAM: @ 82E3DCC
- mov r12, sp
- stmdb sp!, {r11,r12,lr,pc}
- mov r1, 0x100
- ldr lr, _082E3E18
- add r0, r1, 0x4000000
- ldr r2, [lr]
- sub r11, r12, 0x4
- ldrb r3, [r2, 0xA]
- mov r12, 0
- str r12, [r2, 0xC]
- mov r3, r3, lsl 2
- strh r12, [r3, r0]
- ldr r2, [lr]
- ldrb r3, [r2, 0xA]
- add r1, r1, 0x4000002
- mov r3, r3, lsl 2
- strh r12, [r3, r1]
- ldmdb r11, {r11,sp,lr}
- bx lr
- .align 2, 0
-_082E3E18: .4byte 0x03007868
- arm_func_end STWI_stop_timer_in_RAM
-
- arm_func_start STWI_init_slave
-STWI_init_slave: @ 82E3E1C
- mov r12, sp
- stmdb sp!, {r11,r12,lr,pc}
- ldr r0, _082E3EA4
- ldr r2, [r0]
- mov r3, 0x5
- str r3, [r2]
- mov r1, 0
- strb r1, [r2, 0x14]
- ldr r3, [r0]
- strb r1, [r3, 0x4]
- ldr r2, [r0]
- strb r1, [r2, 0x5]
- ldr r3, [r0]
- strb r1, [r3, 0x6]
- ldr r2, [r0]
- strb r1, [r2, 0x7]
- ldr r3, [r0]
- strb r1, [r3, 0x8]
- ldr r2, [r0]
- strb r1, [r2, 0x9]
- ldr r3, [r0]
- str r1, [r3, 0xC]
- sub r11, r12, 0x4
- strb r1, [r3, 0x10]
- mov r2, 0x128
- ldr r12, [r0]
- add r2, r2, 0x4000000
- strh r1, [r12, 0x12]
- mov r3, 0x5000
- strb r1, [r12, 0x15]
- add r3, r3, 0x82
- strh r3, [r2]
- ldmdb r11, {r11,sp,lr}
- bx lr
- .align 2, 0
-_082E3EA4: .4byte 0x03007868
- arm_func_end STWI_init_slave
-
- arm_func_start sub_82E3EA8
-sub_82E3EA8: @ 82E3EA8
- bx r2
- arm_func_end sub_82E3EA8
-
- arm_func_start sub_82E3EAC
-sub_82E3EAC: @ 82E3EAC
- bx r1
- arm_func_end sub_82E3EAC
-
- arm_func_start sub_82E3EB0
-sub_82E3EB0: @ 82E3EB0
- bx r0
- arm_func_end sub_82E3EB0
-
- .thumb
- thumb_func_start rfu_initializeAPI
-rfu_initializeAPI: @ 82E3EB4
- push {r4-r7,lr}
- adds r4, r0, 0
- mov r12, r2
- lsls r1, 16
- lsrs r2, r1, 16
- lsls r3, 24
- lsrs r7, r3, 24
- movs r0, 0xF0
- lsls r0, 20
- ands r0, r4
- movs r1, 0x80
- lsls r1, 18
- cmp r0, r1
- bne _082E3ED4
- cmp r7, 0
- bne _082E3EDC
-_082E3ED4:
- movs r0, 0x3
- ands r0, r4
- cmp r0, 0
- beq _082E3EE0
-_082E3EDC:
- movs r0, 0x2
- b _082E3FB8
-_082E3EE0:
- cmp r7, 0
- beq _082E3EEC
- ldr r3, _082E3EE8
- b _082E3EEE
- .align 2, 0
-_082E3EE8: .4byte 0x00000e64
-_082E3EEC:
- ldr r3, _082E3EF8
-_082E3EEE:
- cmp r2, r3
- bcs _082E3EFC
- movs r0, 0x1
- b _082E3FB8
- .align 2, 0
-_082E3EF8: .4byte 0x00000504
-_082E3EFC:
- ldr r0, _082E3FC0
- str r4, [r0]
- ldr r1, _082E3FC4
- adds r0, r4, 0
- adds r0, 0xB4
- str r0, [r1]
- ldr r1, _082E3FC8
- adds r0, 0x28
- str r0, [r1]
- ldr r2, _082E3FCC
- movs r1, 0xDE
- lsls r1, 1
- adds r0, r4, r1
- str r0, [r2]
- ldr r1, _082E3FD0
- movs r3, 0xDF
- lsls r3, 2
- adds r0, r4, r3
- str r0, [r1]
- movs r5, 0x1
- adds r6, r2, 0
- adds r4, r1, 0
-_082E3F28:
- lsls r2, r5, 2
- adds r3, r2, r6
- subs r1, r5, 0x1
- lsls r1, 2
- adds r0, r1, r6
- ldr r0, [r0]
- adds r0, 0x70
- str r0, [r3]
- adds r2, r4
- adds r1, r4
- ldr r0, [r1]
- adds r0, 0x1C
- str r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _082E3F28
- ldr r0, _082E3FC8
- ldr r1, [r0]
- adds r1, 0xDC
- ldr r4, _082E3FD0
- ldr r0, [r4, 0xC]
- adds r0, 0x1C
- str r0, [r1]
- mov r1, r12
- adds r2, r7, 0
- bl STWI_init_all
- bl rfu_STC_clearAPIVariables
- movs r5, 0
- ldr r3, _082E3FCC
- movs r2, 0
-_082E3F6C:
- lsls r1, r5, 2
- adds r0, r1, r3
- ldr r0, [r0]
- str r2, [r0, 0x68]
- str r2, [r0, 0x6C]
- adds r1, r4
- ldr r0, [r1]
- str r2, [r0, 0x14]
- str r2, [r0, 0x18]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _082E3F6C
- ldr r4, _082E3FD4
- movs r0, 0x2
- negs r0, r0
- ands r4, r0
- ldr r1, _082E3FC8
- ldr r0, [r1]
- adds r2, r0, 0
- adds r2, 0x8
- movs r3, 0x2F
- ldr r5, _082E3FD8
-_082E3F9C:
- ldrh r0, [r4]
- strh r0, [r2]
- adds r4, 0x2
- adds r2, 0x2
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r5
- bne _082E3F9C
- ldr r1, [r1]
- adds r0, r1, 0
- adds r0, 0x9
- str r0, [r1, 0x4]
- movs r0, 0
-_082E3FB8:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_082E3FC0: .4byte 0x03007890
-_082E3FC4: .4byte 0x03007894
-_082E3FC8: .4byte 0x03007898
-_082E3FCC: .4byte 0x03007880
-_082E3FD0: .4byte 0x03007870
-_082E3FD4: .4byte sub_82E53F4 + 1
-_082E3FD8: .4byte 0x0000ffff
- thumb_func_end rfu_initializeAPI
-
- thumb_func_start rfu_STC_clearAPIVariables
-rfu_STC_clearAPIVariables: @ 82E3FDC
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r1, _082E4050
- ldrh r0, [r1]
- adds r7, r0, 0
- movs r6, 0
- strh r6, [r1]
- ldr r5, _082E4054
- ldr r1, [r5]
- ldrb r4, [r1]
- mov r0, sp
- strh r6, [r0]
- ldr r2, _082E4058
- bl CpuSet
- ldr r2, [r5]
- movs r0, 0x8
- ands r4, r0
- movs r1, 0
- strb r4, [r2]
- mov r0, sp
- adds r0, 0x2
- strh r1, [r0]
- ldr r4, _082E405C
- ldr r1, [r4]
- ldr r2, _082E4060
- bl CpuSet
- ldr r1, [r4]
- movs r0, 0x4
- strb r0, [r1, 0x9]
- ldr r0, [r5]
- strb r6, [r0, 0x6]
- ldr r1, [r4]
- movs r0, 0xFF
- strb r0, [r1]
- bl rfu_clearAllSlot
- ldr r0, [r5]
- strb r6, [r0, 0x9]
- movs r2, 0
- movs r3, 0
-_082E4030:
- ldr r0, [r5]
- lsls r1, r2, 1
- adds r0, 0x12
- adds r0, r1
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _082E4030
- ldr r0, _082E4050
- strh r7, [r0]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E4050: .4byte 0x04000208
-_082E4054: .4byte 0x03007894
-_082E4058: .4byte 0x01000014
-_082E405C: .4byte 0x03007890
-_082E4060: .4byte 0x0100005a
- thumb_func_end rfu_STC_clearAPIVariables
-
- thumb_func_start rfu_REQ_PARENT_resumeRetransmitAndChange
-rfu_REQ_PARENT_resumeRetransmitAndChange: @ 82E4064
- push {lr}
- ldr r0, _082E4074
- bl STWI_set_Callback_M
- bl STWI_send_ResumeRetransmitAndChangeREQ
- pop {r0}
- bx r0
- .align 2, 0
-_082E4074: .4byte rfu_STC_REQ_callback + 1
- thumb_func_end rfu_REQ_PARENT_resumeRetransmitAndChange
-
- thumb_func_start rfu_UNI_PARENT_getDRAC_ACK
-rfu_UNI_PARENT_getDRAC_ACK: @ 82E4078
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0
- strb r0, [r4]
- ldr r5, _082E4090
- ldr r0, [r5]
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _082E4094
- movs r0, 0xC0
- lsls r0, 2
- b _082E40BA
- .align 2, 0
-_082E4090: .4byte 0x03007890
-_082E4094:
- bl rfu_getSTWIRecvBuffer
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0x28
- beq _082E40A4
- cmp r0, 0x36
- bne _082E40B8
-_082E40A4:
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _082E40B0
- ldr r0, [r5]
- ldrb r0, [r0, 0x2]
- b _082E40B2
-_082E40B0:
- ldrb r0, [r1, 0x4]
-_082E40B2:
- strb r0, [r4]
- movs r0, 0
- b _082E40BA
-_082E40B8:
- movs r0, 0x10
-_082E40BA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end rfu_UNI_PARENT_getDRAC_ACK
-
- thumb_func_start rfu_setTimerInterrupt
-rfu_setTimerInterrupt: @ 82E40C0
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- lsls r2, 24
- lsrs r2, 24
- adds r1, r2, 0
- bl STWI_init_timer
- pop {r0}
- bx r0
- thumb_func_end rfu_setTimerInterrupt
-
- thumb_func_start rfu_getSTWIRecvBuffer
-rfu_getSTWIRecvBuffer: @ 82E40D4
- ldr r0, _082E40E0
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_082E40E0: .4byte 0x03007898
- thumb_func_end rfu_getSTWIRecvBuffer
-
- thumb_func_start rfu_setMSCCallback
-rfu_setMSCCallback: @ 82E40E4
- push {lr}
- bl STWI_set_Callback_S
- pop {r0}
- bx r0
- thumb_func_end rfu_setMSCCallback
-
- thumb_func_start rfu_setREQCallback
-rfu_setREQCallback: @ 82E40F0
- push {lr}
- adds r1, r0, 0
- ldr r0, _082E4108
- ldr r0, [r0]
- str r1, [r0]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bl rfu_enableREQCallback
- pop {r0}
- bx r0
- .align 2, 0
-_082E4108: .4byte 0x03007898
- thumb_func_end rfu_setREQCallback
-
- thumb_func_start rfu_enableREQCallback
-rfu_enableREQCallback: @ 82E410C
- push {lr}
- lsls r0, 24
- cmp r0, 0
- beq _082E4124
- ldr r0, _082E4120
- ldr r2, [r0]
- ldrb r1, [r2]
- movs r0, 0x8
- orrs r0, r1
- b _082E412E
- .align 2, 0
-_082E4120: .4byte 0x03007894
-_082E4124:
- ldr r0, _082E4134
- ldr r2, [r0]
- ldrb r1, [r2]
- movs r0, 0xF7
- ands r0, r1
-_082E412E:
- strb r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_082E4134: .4byte 0x03007894
- thumb_func_end rfu_enableREQCallback
-
- thumb_func_start rfu_STC_REQ_callback
-rfu_STC_REQ_callback: @ 82E4138
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r0, _082E416C
- bl STWI_set_Callback_M
- ldr r0, _082E4170
- ldr r0, [r0]
- strh r4, [r0, 0x1C]
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _082E4166
- ldr r0, _082E4174
- ldr r0, [r0]
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl _call_via_r2
-_082E4166:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E416C: .4byte rfu_CB_defaultCallback + 1
-_082E4170: .4byte 0x03007894
-_082E4174: .4byte 0x03007898
- thumb_func_end rfu_STC_REQ_callback
-
- thumb_func_start rfu_CB_defaultCallback
-rfu_CB_defaultCallback: @ 82E4178
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- cmp r0, 0xFF
- bne _082E41D4
- ldr r0, _082E41DC
- ldr r0, [r0]
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _082E41A2
- ldr r0, _082E41E0
- ldr r0, [r0]
- ldr r2, [r0]
- movs r0, 0xFF
- adds r1, r3, 0
- bl _call_via_r2
-_082E41A2:
- ldr r0, _082E41E4
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- adds r5, r0, 0
- orrs r5, r1
- movs r4, 0
-_082E41B0:
- adds r0, r5, 0
- asrs r0, r4
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _082E41C2
- adds r0, r4, 0
- bl rfu_STC_removeLinkData
-_082E41C2:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _082E41B0
- ldr r0, _082E41E4
- ldr r1, [r0]
- movs r0, 0xFF
- strb r0, [r1]
-_082E41D4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E41DC: .4byte 0x03007894
-_082E41E0: .4byte 0x03007898
-_082E41E4: .4byte 0x03007890
- thumb_func_end rfu_CB_defaultCallback
-
- thumb_func_start rfu_waitREQComplete
-rfu_waitREQComplete: @ 82E41E8
- push {lr}
- bl STWI_poll_CommandEnd
- ldr r0, _082E41F8
- ldr r0, [r0]
- ldrh r0, [r0, 0x1C]
- pop {r1}
- bx r1
- .align 2, 0
-_082E41F8: .4byte 0x03007894
- thumb_func_end rfu_waitREQComplete
-
- thumb_func_start rfu_REQ_RFUStatus
-rfu_REQ_RFUStatus: @ 82E41FC
- push {lr}
- ldr r0, _082E420C
- bl STWI_set_Callback_M
- bl STWI_send_SystemStatusREQ
- pop {r0}
- bx r0
- .align 2, 0
-_082E420C: .4byte rfu_STC_REQ_callback + 1
- thumb_func_end rfu_REQ_RFUStatus
-
- thumb_func_start rfu_getRFUStatus
-rfu_getRFUStatus: @ 82E4210
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _082E4228
- ldr r0, [r5]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x93
- beq _082E422C
- movs r0, 0x10
- b _082E4246
- .align 2, 0
-_082E4228: .4byte 0x03007898
-_082E422C:
- bl STWI_poll_CommandEnd
- lsls r0, 16
- cmp r0, 0
- bne _082E4240
- ldr r0, [r5]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x7]
- b _082E4242
-_082E4240:
- movs r0, 0xFF
-_082E4242:
- strb r0, [r4]
- movs r0, 0
-_082E4246:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end rfu_getRFUStatus
-
- thumb_func_start sub_82E424C
-sub_82E424C: @ 82E424C
- push {lr}
- ldr r2, _082E4254
- ldr r3, _082E4258
- b _082E4266
- .align 2, 0
-_082E4254: .4byte 0x089a324c
-_082E4258: .4byte 0x030000f0
- thumb_func_end sub_82E424C
-
- thumb_func_start sub_82E425C
-sub_82E425C: @ 82E425C
- ldrb r0, [r3]
- adds r3, 0x1
- adds r2, 0x1
- cmp r1, r0
- bne _082E42BC
-_082E4266:
- ldrb r1, [r2]
- cmp r1, 0
- bne sub_82E425C
- movs r2, 0xC0
- lsls r2, 18
- movs r3, 0
- movs r1, 0
-_082E4274:
- ldrh r0, [r2]
- adds r0, r3, r0
- lsls r0, 16
- lsrs r3, r0, 16
- adds r2, 0x2
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x59
- bls _082E4274
- ldr r0, _082E42B0
- ldrh r0, [r0]
- cmp r3, r0
- bne _082E42BC
- movs r0, 0xC0
- lsls r0, 18
- ldr r1, _082E42B4
- ldr r1, [r1]
- movs r2, 0x5A
- bl CpuSet
- ldr r0, _082E42B8
- ldr r2, [r0]
- ldrb r1, [r2]
- movs r0, 0x80
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0
- b _082E42BE
- .align 2, 0
-_082E42B0: .4byte 0x030000fa
-_082E42B4: .4byte 0x03007890
-_082E42B8: .4byte 0x03007894
-_082E42BC:
- movs r0, 0x1
-_082E42BE:
- pop {r1}
- bx r1
- thumb_func_end sub_82E425C
-
- thumb_func_start rfu_REQ_stopMode
-rfu_REQ_stopMode: @ 82E42C4
- push {lr}
- ldr r0, _082E42E4
- ldrh r0, [r0]
- cmp r0, 0
- bne _082E42EC
- movs r0, 0x3D
- movs r1, 0x6
- bl rfu_STC_REQ_callback
- ldr r0, _082E42E8
- ldr r1, [r0]
- ldrh r0, [r1, 0x12]
- movs r0, 0x6
- strh r0, [r1, 0x12]
- b _082E4362
- .align 2, 0
-_082E42E4: .4byte 0x04000208
-_082E42E8: .4byte 0x03007868
-_082E42EC:
- bl AgbRFU_SoftReset
- bl rfu_STC_clearAPIVariables
- movs r0, 0x8
- bl sub_82E6D6C
- ldr r1, _082E433C
- cmp r0, r1
- bne _082E4350
- ldr r0, _082E4340
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r2, _082E4344
- adds r1, r0, r2
- movs r0, 0
- str r0, [r1]
- movs r0, 0x83
- lsls r0, 16
- str r0, [r1]
- ldr r0, [r1]
- lsls r0, 16
- ldr r2, _082E4348
- ldr r3, _082E434C
- cmp r0, r2
- bhi _082E432A
-_082E4322:
- ldr r0, [r1]
- lsls r0, 16
- cmp r0, r2
- bls _082E4322
-_082E432A:
- movs r0, 0
- str r0, [r1]
- adds r0, r3, 0
- bl STWI_set_Callback_M
- bl STWI_send_StopModeREQ
- b _082E4362
- .align 2, 0
-_082E433C: .4byte 0x00008001
-_082E4340: .4byte 0x03007868
-_082E4344: .4byte 0x04000100
-_082E4348: .4byte 0x0105ffff
-_082E434C: .4byte rfu_CB_stopMode + 1
-_082E4350:
- ldr r1, _082E4368
- movs r2, 0x80
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0x3D
- movs r1, 0
- bl rfu_STC_REQ_callback
-_082E4362:
- pop {r0}
- bx r0
- .align 2, 0
-_082E4368: .4byte 0x04000128
- thumb_func_end rfu_REQ_stopMode
-
- thumb_func_start rfu_CB_stopMode
-rfu_CB_stopMode: @ 82E436C
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 16
- lsrs r1, 16
- adds r2, r1, 0
- cmp r2, 0
- bne _082E4386
- ldr r1, _082E4394
- movs r4, 0x80
- lsls r4, 6
- adds r0, r4, 0
- strh r0, [r1]
-_082E4386:
- adds r0, r3, 0
- adds r1, r2, 0
- bl rfu_STC_REQ_callback
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_082E4394: .4byte 0x04000128
- thumb_func_end rfu_CB_stopMode
-
- thumb_func_start rfu_REQBN_softReset_and_checkID
-rfu_REQBN_softReset_and_checkID: @ 82E4398
- push {lr}
- ldr r0, _082E43A8
- ldrh r0, [r0]
- cmp r0, 0
- bne _082E43AC
- movs r0, 0x1
- negs r0, r0
- b _082E43CC
- .align 2, 0
-_082E43A8: .4byte 0x04000208
-_082E43AC:
- bl AgbRFU_SoftReset
- bl rfu_STC_clearAPIVariables
- movs r0, 0x1E
- bl sub_82E6D6C
- adds r2, r0, 0
- cmp r2, 0
- bne _082E43CA
- ldr r1, _082E43D0
- movs r3, 0x80
- lsls r3, 6
- adds r0, r3, 0
- strh r0, [r1]
-_082E43CA:
- adds r0, r2, 0
-_082E43CC:
- pop {r1}
- bx r1
- .align 2, 0
-_082E43D0: .4byte 0x04000128
- thumb_func_end rfu_REQBN_softReset_and_checkID
-
- thumb_func_start rfu_REQ_reset
-rfu_REQ_reset: @ 82E43D4
- push {lr}
- ldr r0, _082E43E4
- bl STWI_set_Callback_M
- bl STWI_send_ResetREQ
- pop {r0}
- bx r0
- .align 2, 0
-_082E43E4: .4byte rfu_CB_reset + 1
- thumb_func_end rfu_REQ_reset
-
- thumb_func_start rfu_CB_reset
-rfu_CB_reset: @ 82E43E8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r1, 16
- adds r4, r1, 0
- cmp r4, 0
- bne _082E43FC
- bl rfu_STC_clearAPIVariables
-_082E43FC:
- adds r0, r5, 0
- adds r1, r4, 0
- bl rfu_STC_REQ_callback
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end rfu_CB_reset
-
- thumb_func_start rfu_REQ_configSystem
-rfu_REQ_configSystem: @ 82E440C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, _082E4444
- bl STWI_set_Callback_M
- movs r0, 0x3
- ands r4, r0
- movs r0, 0x3C
- orrs r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl STWI_send_SystemConfigREQ
- cmp r6, 0
- bne _082E444C
- ldr r0, _082E4448
- ldr r1, [r0]
- movs r0, 0x1
- strh r0, [r1, 0x1A]
- b _082E4466
- .align 2, 0
-_082E4444: .4byte rfu_STC_REQ_callback + 1
-_082E4448: .4byte 0x03007894
-_082E444C:
- ldr r5, _082E446C
- ldrh r4, [r5]
- movs r0, 0
- strh r0, [r5]
- movs r0, 0x96
- lsls r0, 2
- adds r1, r6, 0
- bl Div
- ldr r1, _082E4470
- ldr r1, [r1]
- strh r0, [r1, 0x1A]
- strh r4, [r5]
-_082E4466:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_082E446C: .4byte 0x04000208
-_082E4470: .4byte 0x03007894
- thumb_func_end rfu_REQ_configSystem
-
- thumb_func_start rfu_REQ_configGameData
-rfu_REQ_configGameData: @ 82E4474
- push {r4-r7,lr}
- sub sp, 0x10
- adds r4, r2, 0
- adds r7, r3, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r2, r1, 16
- adds r5, r4, 0
- mov r0, sp
- strb r1, [r0]
- lsrs r2, 24
- strb r2, [r0, 0x1]
- cmp r6, 0
- beq _082E449A
- movs r1, 0x80
- orrs r2, r1
- movs r1, 0
- orrs r2, r1
- strb r2, [r0, 0x1]
-_082E449A:
- movs r2, 0x2
- ldr r0, _082E44FC
- mov r12, r0
-_082E44A0:
- mov r3, sp
- adds r1, r3, r2
- ldrb r0, [r4]
- strb r0, [r1]
- adds r4, 0x1
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xE
- bls _082E44A0
- movs r3, 0
- adds r1, r7, 0
- movs r2, 0
-_082E44BA:
- ldrb r0, [r1]
- adds r0, r3, r0
- lsls r0, 24
- adds r1, 0x1
- lsrs r0, 24
- ldrb r3, [r5]
- adds r0, r3
- lsls r0, 24
- lsrs r3, r0, 24
- adds r5, 0x1
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _082E44BA
- mov r1, sp
- mvns r0, r3
- strb r0, [r1, 0xF]
- cmp r6, 0
- beq _082E44E6
- movs r0, 0
- strb r0, [r1, 0xE]
-_082E44E6:
- mov r0, r12
- bl STWI_set_Callback_M
- mov r0, sp
- adds r1, r7, 0
- bl STWI_send_GameConfigREQ
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E44FC: .4byte rfu_CB_configGameData + 1
- thumb_func_end rfu_REQ_configGameData
-
- thumb_func_start rfu_CB_configGameData
-rfu_CB_configGameData: @ 82E4500
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r1, 16
- lsrs r7, r1, 16
- cmp r7, 0
- bne _082E458A
- ldr r0, _082E4544
- ldr r0, [r0]
- ldr r1, [r0, 0x24]
- ldr r0, _082E4548
- ldr r6, [r0]
- ldrb r2, [r1, 0x4]
- adds r5, r6, 0
- adds r5, 0x98
- strh r2, [r5]
- ldrb r0, [r1, 0x5]
- lsls r3, r0, 8
- orrs r3, r2
- strh r3, [r5]
- adds r4, r1, 0x6
- movs r1, 0x80
- lsls r1, 8
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _082E454C
- eors r3, r1
- strh r3, [r5]
- adds r1, r6, 0
- adds r1, 0x97
- movs r0, 0x1
- b _082E4552
- .align 2, 0
-_082E4544: .4byte 0x03007868
-_082E4548: .4byte 0x03007890
-_082E454C:
- adds r1, r6, 0
- adds r1, 0x97
- movs r0, 0
-_082E4552:
- strb r0, [r1]
- movs r2, 0
- ldr r3, _082E4598
-_082E4558:
- ldr r0, [r3]
- adds r0, 0x9A
- adds r0, r2
- ldrb r1, [r4]
- strb r1, [r0]
- adds r4, 0x1
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xC
- bls _082E4558
- adds r4, 0x1
- movs r2, 0
- ldr r3, _082E4598
-_082E4574:
- ldr r0, [r3]
- adds r0, 0xA9
- adds r0, r2
- ldrb r1, [r4]
- strb r1, [r0]
- adds r4, 0x1
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _082E4574
-_082E458A:
- mov r0, r12
- adds r1, r7, 0
- bl rfu_STC_REQ_callback
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E4598: .4byte 0x03007890
- thumb_func_end rfu_CB_configGameData
-
- thumb_func_start rfu_REQ_startSearchChild
-rfu_REQ_startSearchChild: @ 82E459C
- push {r4,lr}
- movs r1, 0
- ldr r4, _082E45E4
- ldr r3, _082E45E8
- movs r2, 0
-_082E45A6:
- ldr r0, [r3]
- adds r0, 0xE
- adds r0, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _082E45A6
- adds r0, r4, 0
- bl STWI_set_Callback_M
- bl STWI_send_SystemStatusREQ
- bl STWI_poll_CommandEnd
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E45F0
- ldr r0, _082E45EC
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _082E45F6
- movs r0, 0x1
- bl rfu_STC_clearLinkStatus
- b _082E45F6
- .align 2, 0
-_082E45E4: .4byte rfu_CB_defaultCallback + 1
-_082E45E8: .4byte 0x03007894
-_082E45EC: .4byte 0x03007898
-_082E45F0:
- movs r0, 0x19
- bl rfu_STC_REQ_callback
-_082E45F6:
- ldr r0, _082E4608
- bl STWI_set_Callback_M
- bl STWI_send_SC_StartREQ
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_082E4608: .4byte rfu_CB_startSearchChild + 1
- thumb_func_end rfu_REQ_startSearchChild
-
- thumb_func_start rfu_CB_startSearchChild
-rfu_CB_startSearchChild: @ 82E460C
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 16
- lsrs r1, 16
- adds r2, r1, 0
- cmp r2, 0
- bne _082E4624
- ldr r0, _082E4630
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x9]
-_082E4624:
- adds r0, r3, 0
- adds r1, r2, 0
- bl rfu_STC_REQ_callback
- pop {r0}
- bx r0
- .align 2, 0
-_082E4630: .4byte 0x03007894
- thumb_func_end rfu_CB_startSearchChild
-
- thumb_func_start rfu_STC_clearLinkStatus
-rfu_STC_clearLinkStatus: @ 82E4634
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl rfu_clearAllSlot
- cmp r4, 0
- beq _082E465C
- mov r0, sp
- movs r5, 0
- strh r5, [r0]
- ldr r4, _082E4690
- ldr r1, [r4]
- adds r1, 0x14
- ldr r2, _082E4694
- bl CpuSet
- ldr r0, [r4]
- strb r5, [r0, 0x8]
-_082E465C:
- movs r1, 0
- ldr r2, _082E4690
- adds r4, r2, 0
- movs r3, 0
-_082E4664:
- ldr r0, [r4]
- adds r0, 0xA
- adds r0, r1
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _082E4664
- ldr r0, [r2]
- movs r1, 0
- strb r1, [r0, 0x1]
- ldr r0, [r2]
- strb r1, [r0, 0x2]
- ldr r0, [r2]
- strb r1, [r0, 0x3]
- ldr r0, [r2]
- strb r1, [r0, 0x7]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E4690: .4byte 0x03007890
-_082E4694: .4byte 0x01000040
- thumb_func_end rfu_STC_clearLinkStatus
-
- thumb_func_start rfu_REQ_pollSearchChild
-rfu_REQ_pollSearchChild: @ 82E4698
- push {lr}
- ldr r0, _082E46A8
- bl STWI_set_Callback_M
- bl STWI_send_SC_PollingREQ
- pop {r0}
- bx r0
- .align 2, 0
-_082E46A8: .4byte rfu_CB_pollAndEndSearchChild + 1
- thumb_func_end rfu_REQ_pollSearchChild
-
- thumb_func_start rfu_REQ_endSearchChild
-rfu_REQ_endSearchChild: @ 82E46AC
- push {lr}
- ldr r0, _082E46BC
- bl STWI_set_Callback_M
- bl STWI_send_SC_EndREQ
- pop {r0}
- bx r0
- .align 2, 0
-_082E46BC: .4byte rfu_CB_pollAndEndSearchChild + 1
- thumb_func_end rfu_REQ_endSearchChild
-
- thumb_func_start rfu_CB_pollAndEndSearchChild
-rfu_CB_pollAndEndSearchChild: @ 82E46C0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r6, r1, 16
- cmp r6, 0
- bne _082E46D2
- bl rfu_STC_readChildList
-_082E46D2:
- cmp r4, 0x1A
- bne _082E4714
- ldr r5, _082E4708
- ldr r0, [r5]
- adds r0, 0x94
- ldrh r0, [r0]
- cmp r0, 0
- bne _082E4730
- ldr r0, _082E470C
- bl STWI_set_Callback_M
- bl STWI_send_SystemStatusREQ
- bl STWI_poll_CommandEnd
- lsls r0, 16
- cmp r0, 0
- bne _082E4730
- ldr r1, [r5]
- ldr r0, _082E4710
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrh r0, [r0, 0x4]
- adds r1, 0x94
- strh r0, [r1]
- b _082E4730
- .align 2, 0
-_082E4708: .4byte 0x03007890
-_082E470C: .4byte rfu_CB_defaultCallback + 1
-_082E4710: .4byte 0x03007898
-_082E4714:
- cmp r4, 0x1B
- bne _082E4730
- ldr r0, _082E4740
- ldr r1, [r0]
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _082E4728
- adds r1, 0x94
- movs r0, 0
- strh r0, [r1]
-_082E4728:
- ldr r0, _082E4744
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x9]
-_082E4730:
- adds r0, r4, 0
- adds r1, r6, 0
- bl rfu_STC_REQ_callback
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_082E4740: .4byte 0x03007890
-_082E4744: .4byte 0x03007894
- thumb_func_end rfu_CB_pollAndEndSearchChild
-
- thumb_func_start rfu_STC_readChildList
-rfu_STC_readChildList: @ 82E4748
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _082E47F8
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r7, [r0, 0x1]
- adds r6, r0, 0x4
- cmp r7, 0
- beq _082E47EE
- ldr r0, _082E47FC
- mov r8, r0
- ldr r1, _082E4800
- mov r12, r1
-_082E4766:
- ldrb r4, [r6, 0x2]
- cmp r4, 0x3
- bhi _082E47E2
- mov r2, r12
- ldr r1, [r2]
- ldrb r0, [r1, 0x2]
- asrs r0, r4
- movs r5, 0x1
- ands r0, r5
- cmp r0, 0
- bne _082E47E2
- ldrb r0, [r1, 0x3]
- asrs r0, r4
- ands r0, r5
- cmp r0, 0
- bne _082E47E2
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xE
- adds r0, r4
- movs r1, 0xF0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xA
- adds r0, r4
- movs r1, 0x10
- strb r1, [r0]
- ldr r2, [r2]
- adds r0, r5, 0
- lsls r0, r4
- ldrb r1, [r2, 0x2]
- orrs r0, r1
- strb r0, [r2, 0x2]
- mov r2, r12
- ldr r1, [r2]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- ldr r1, [r2]
- lsls r3, r4, 5
- adds r1, r3
- ldrh r0, [r6]
- strh r0, [r1, 0x14]
- strb r4, [r1, 0x16]
- ldr r0, [r2]
- strb r5, [r0]
- mov r0, r8
- ldr r2, [r0]
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- mov r2, r8
- ldr r1, [r2]
- lsls r0, r4, 1
- adds r1, 0x12
- adds r1, r0
- mov r2, r12
- ldr r0, [r2]
- adds r0, r3
- ldrh r0, [r0, 0x14]
- strh r0, [r1]
-_082E47E2:
- subs r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r6, 0x4
- cmp r7, 0
- bne _082E4766
-_082E47EE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E47F8: .4byte 0x03007898
-_082E47FC: .4byte 0x03007894
-_082E4800: .4byte 0x03007890
- thumb_func_end rfu_STC_readChildList
-
- thumb_func_start rfu_REQ_startSearchParent
-rfu_REQ_startSearchParent: @ 82E4804
- push {lr}
- ldr r0, _082E4814
- bl STWI_set_Callback_M
- bl STWI_send_SP_StartREQ
- pop {r0}
- bx r0
- .align 2, 0
-_082E4814: .4byte rfu_CB_startSearchParent + 1
- thumb_func_end rfu_REQ_startSearchParent
-
- thumb_func_start rfu_CB_startSearchParent
-rfu_CB_startSearchParent: @ 82E4818
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r1, 16
- adds r4, r1, 0
- cmp r4, 0
- bne _082E482E
- movs r0, 0
- bl rfu_STC_clearLinkStatus
-_082E482E:
- adds r0, r5, 0
- adds r1, r4, 0
- bl rfu_STC_REQ_callback
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end rfu_CB_startSearchParent
-
- thumb_func_start rfu_REQ_pollSearchParent
-rfu_REQ_pollSearchParent: @ 82E483C
- push {lr}
- ldr r0, _082E484C
- bl STWI_set_Callback_M
- bl STWI_send_SP_PollingREQ
- pop {r0}
- bx r0
- .align 2, 0
-_082E484C: .4byte sub_82E4850 + 1
- thumb_func_end rfu_REQ_pollSearchParent
-
- thumb_func_start sub_82E4850
-sub_82E4850: @ 82E4850
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r1, 16
- adds r4, r1, 0
- cmp r4, 0
- bne _082E4864
- bl rfu_STC_readParentCandidateList
-_082E4864:
- adds r0, r5, 0
- adds r1, r4, 0
- bl rfu_STC_REQ_callback
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_82E4850
-
- thumb_func_start rfu_REQ_endSearchParent
-rfu_REQ_endSearchParent: @ 82E4874
- push {lr}
- ldr r0, _082E4884
- bl STWI_set_Callback_M
- bl STWI_send_SP_EndREQ
- pop {r0}
- bx r0
- .align 2, 0
-_082E4884: .4byte rfu_STC_REQ_callback + 1
- thumb_func_end rfu_REQ_endSearchParent
-
- thumb_func_start rfu_STC_readParentCandidateList
-rfu_STC_readParentCandidateList: @ 82E4888
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r0, sp
- movs r4, 0
- strh r4, [r0]
- ldr r5, _082E4930
- ldr r1, [r5]
- adds r1, 0x14
- ldr r2, _082E4934
- bl CpuSet
- ldr r0, _082E4938
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r2, [r0]
- ldrb r7, [r2, 0x1]
- adds r2, 0x4
- ldr r0, [r5]
- strb r4, [r0, 0x8]
- movs r6, 0
- cmp r7, 0
- beq _082E498C
- mov r12, r5
- ldr r0, _082E493C
- mov r8, r0
-_082E48BE:
- subs r0, r7, 0x7
- lsls r0, 24
- lsrs r7, r0, 24
- adds r1, r2, 0x6
- adds r2, 0x13
- ldrb r0, [r2]
- mvns r0, r0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r2, 0x1
- movs r4, 0
- movs r3, 0
- adds r6, 0x1
-_082E48D8:
- ldrb r0, [r2]
- adds r0, r4, r0
- lsls r0, 24
- adds r2, 0x1
- lsrs r0, 24
- ldrb r4, [r1]
- adds r0, r4
- lsls r0, 24
- lsrs r4, r0, 24
- adds r1, 0x1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x7
- bls _082E48D8
- cmp r4, r5
- bne _082E4980
- subs r2, 0x1C
- mov r0, r12
- ldr r1, [r0]
- ldrb r0, [r1, 0x8]
- lsls r0, 5
- adds r0, 0x14
- adds r4, r1, r0
- ldrh r0, [r2]
- movs r3, 0
- strh r0, [r4]
- adds r2, 0x2
- ldrb r0, [r2]
- strb r0, [r4, 0x2]
- adds r2, 0x2
- ldrh r1, [r2]
- mov r0, r8
- ands r0, r1
- strh r0, [r4, 0x4]
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _082E4940
- movs r0, 0x1
- strb r0, [r4, 0x3]
- b _082E4942
- .align 2, 0
-_082E4930: .4byte 0x03007890
-_082E4934: .4byte 0x01000040
-_082E4938: .4byte 0x03007898
-_082E493C: .4byte 0x00007fff
-_082E4940:
- strb r3, [r4, 0x3]
-_082E4942:
- adds r2, 0x2
- movs r3, 0
- adds r5, r4, 0
- adds r5, 0x15
- adds r4, 0x6
-_082E494C:
- adds r1, r4, r3
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xC
- bls _082E494C
- adds r2, 0x1
- movs r3, 0
- adds r4, r5, 0
-_082E4964:
- adds r1, r4, r3
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x7
- bls _082E4964
- mov r4, r12
- ldr r1, [r4]
- ldrb r0, [r1, 0x8]
- adds r0, 0x1
- strb r0, [r1, 0x8]
-_082E4980:
- lsls r0, r6, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bhi _082E498C
- cmp r7, 0
- bne _082E48BE
-_082E498C:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end rfu_STC_readParentCandidateList
-
- thumb_func_start rfu_REQ_startConnectParent
-rfu_REQ_startConnectParent: @ 82E4998
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r3, 0
- movs r2, 0
- ldr r1, _082E49E4
- ldr r0, [r1]
- ldrh r0, [r0, 0x14]
- cmp r0, r4
- beq _082E49C4
- adds r5, r1, 0
-_082E49AE:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bhi _082E49C4
- ldr r0, [r5]
- lsls r1, r2, 5
- adds r0, r1
- ldrh r0, [r0, 0x14]
- cmp r0, r4
- bne _082E49AE
-_082E49C4:
- cmp r2, 0x4
- bne _082E49CC
- movs r3, 0x80
- lsls r3, 1
-_082E49CC:
- cmp r3, 0
- bne _082E49F0
- ldr r0, _082E49E8
- ldr r0, [r0]
- strh r4, [r0, 0x1E]
- ldr r0, _082E49EC
- bl STWI_set_Callback_M
- adds r0, r4, 0
- bl STWI_send_CP_StartREQ
- b _082E49F8
- .align 2, 0
-_082E49E4: .4byte 0x03007890
-_082E49E8: .4byte 0x03007894
-_082E49EC: .4byte rfu_STC_REQ_callback + 1
-_082E49F0:
- movs r0, 0x1F
- adds r1, r3, 0
- bl rfu_STC_REQ_callback
-_082E49F8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end rfu_REQ_startConnectParent
-
- thumb_func_start rfu_REQ_pollConnectParent
-rfu_REQ_pollConnectParent: @ 82E4A00
- push {lr}
- ldr r0, _082E4A10
- bl STWI_set_Callback_M
- bl STWI_send_CP_PollingREQ
- pop {r0}
- bx r0
- .align 2, 0
-_082E4A10: .4byte rfu_CB_pollConnectParent + 1
- thumb_func_end rfu_REQ_pollConnectParent
-
- thumb_func_start rfu_CB_pollConnectParent
-rfu_CB_pollConnectParent: @ 82E4A14
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x24]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x28]
- cmp r1, 0
- bne _082E4B16
- ldr r0, _082E4AD0
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrh r5, [r0, 0x4]
- ldrb r1, [r0, 0x6]
- mov r10, r1
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _082E4B16
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r1
- lsrs r2, r0, 24
- ldr r4, _082E4AD4
- ldr r3, [r4]
- ldrb r1, [r3, 0x2]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _082E4B16
- adds r0, r2, 0
- orrs r0, r1
- strb r0, [r3, 0x2]
- ldr r1, [r4]
- ldrb r0, [r1, 0x3]
- bics r0, r2
- strb r0, [r1, 0x3]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x94
- movs r2, 0
- strh r5, [r0]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- ldr r0, [r4]
- strb r2, [r0]
- ldr r3, _082E4AD8
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r0, 0x80
- orrs r0, r1
- strb r0, [r2]
- movs r5, 0
- adds r7, r4, 0
- add r6, sp, 0x20
- movs r0, 0
- mov r8, r0
-_082E4A92:
- ldr r2, [r7]
- lsls r4, r5, 5
- adds r0, r2, r4
- ldr r1, [r3]
- ldrh r0, [r0, 0x14]
- ldrh r1, [r1, 0x1E]
- cmp r0, r1
- bne _082E4AEA
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _082E4AE0
- mov r9, sp
- adds r0, r4, 0
- adds r0, 0x14
- adds r0, r2, r0
- mov r1, sp
- movs r2, 0x10
- bl CpuSet
- mov r1, r8
- strh r1, [r6]
- ldr r1, [r7]
- adds r1, 0x14
- adds r0, r6, 0
- ldr r2, _082E4ADC
- bl CpuSet
- ldr r0, [r7]
- mov r1, r8
- strb r1, [r0, 0x8]
- b _082E4AF4
- .align 2, 0
-_082E4AD0: .4byte 0x03007898
-_082E4AD4: .4byte 0x03007890
-_082E4AD8: .4byte 0x03007894
-_082E4ADC: .4byte 0x01000040
-_082E4AE0:
- adds r0, r4, 0
- adds r0, 0x14
- adds r2, r0
- mov r9, r2
- b _082E4AF4
-_082E4AEA:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _082E4A92
-_082E4AF4:
- cmp r5, 0x3
- bhi _082E4B16
- ldr r4, _082E4B30
- mov r0, r10
- lsls r5, r0, 5
- adds r0, r5, 0
- adds r0, 0x14
- ldr r1, [r4]
- adds r1, r0
- mov r0, r9
- movs r2, 0x10
- bl CpuSet
- ldr r0, [r4]
- adds r0, r5
- mov r1, r10
- strb r1, [r0, 0x16]
-_082E4B16:
- ldr r0, [sp, 0x24]
- ldr r1, [sp, 0x28]
- bl rfu_STC_REQ_callback
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E4B30: .4byte 0x03007890
- thumb_func_end rfu_CB_pollConnectParent
-
- thumb_func_start rfu_getConnectParentStatus
-rfu_getConnectParentStatus: @ 82E4B34
- push {lr}
- adds r3, r0, 0
- movs r0, 0xFF
- strb r0, [r3]
- ldr r0, _082E4B54
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r2, [r0]
- ldrb r0, [r2]
- adds r0, 0x60
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _082E4B58
- movs r0, 0x10
- b _082E4B64
- .align 2, 0
-_082E4B54: .4byte 0x03007898
-_082E4B58:
- adds r2, 0x6
- ldrb r0, [r2]
- strb r0, [r1]
- ldrb r0, [r2, 0x1]
- strb r0, [r3]
- movs r0, 0
-_082E4B64:
- pop {r1}
- bx r1
- thumb_func_end rfu_getConnectParentStatus
-
- thumb_func_start rfu_REQ_endConnectParent
-rfu_REQ_endConnectParent: @ 82E4B68
- push {lr}
- ldr r0, _082E4B94
- bl STWI_set_Callback_M
- bl STWI_send_CP_EndREQ
- ldr r0, _082E4B98
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r1, [r0]
- ldrb r0, [r1, 0x6]
- cmp r0, 0x3
- bhi _082E4B90
- ldr r0, _082E4B9C
- ldr r0, [r0]
- adds r0, 0xA
- ldrb r1, [r1, 0x6]
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_082E4B90:
- pop {r0}
- bx r0
- .align 2, 0
-_082E4B94: .4byte rfu_CB_pollConnectParent + 1
-_082E4B98: .4byte 0x03007898
-_082E4B9C: .4byte 0x03007894
- thumb_func_end rfu_REQ_endConnectParent
-
- thumb_func_start rfu_syncVBlank
-rfu_syncVBlank: @ 82E4BA0
- push {r4,r5,lr}
- bl rfu_NI_checkCommFailCounter
- ldr r0, _082E4BE8
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _082E4C78
- ldr r4, _082E4BEC
- ldr r1, [r4]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _082E4BBE
- subs r0, 0x1
- strb r0, [r1, 0x6]
-_082E4BBE:
- bl rfu_getMasterSlave
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, [r4]
- ldrb r1, [r2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _082E4BF0
- cmp r3, 0
- bne _082E4BFE
- movs r0, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r1, [r4]
- movs r0, 0xB4
- lsls r0, 1
- strh r0, [r1, 0x20]
- b _082E4BFA
- .align 2, 0
-_082E4BE8: .4byte 0x03007890
-_082E4BEC: .4byte 0x03007894
-_082E4BF0:
- cmp r3, 0
- beq _082E4C10
- movs r0, 0xFB
- ands r0, r1
- strb r0, [r2]
-_082E4BFA:
- cmp r3, 0
- beq _082E4C10
-_082E4BFE:
- ldr r3, _082E4C0C
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r0, 0xFD
- ands r0, r1
- b _082E4C1A
- .align 2, 0
-_082E4C0C: .4byte 0x03007894
-_082E4C10:
- ldr r3, _082E4C6C
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r0, 0x2
- orrs r0, r1
-_082E4C1A:
- strb r0, [r2]
- ldr r3, [r3]
- ldrb r1, [r3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _082E4C78
- ldrh r0, [r3, 0x20]
- cmp r0, 0
- bne _082E4C74
- movs r0, 0xFB
- ands r0, r1
- strb r0, [r3]
- ldr r0, _082E4C70
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- adds r5, r0, 0
- orrs r5, r1
- movs r4, 0
-_082E4C42:
- adds r0, r5, 0
- asrs r0, r4
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _082E4C54
- adds r0, r4, 0
- bl rfu_STC_removeLinkData
-_082E4C54:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _082E4C42
- ldr r0, _082E4C70
- ldr r1, [r0]
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0x1
- b _082E4C7A
- .align 2, 0
-_082E4C6C: .4byte 0x03007894
-_082E4C70: .4byte 0x03007890
-_082E4C74:
- subs r0, 0x1
- strh r0, [r3, 0x20]
-_082E4C78:
- movs r0, 0
-_082E4C7A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end rfu_syncVBlank
-
- thumb_func_start rfu_REQBN_watchLink
-rfu_REQBN_watchLink: @ 82E4C80
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r8, r1
- str r2, [sp]
- str r3, [sp, 0x4]
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0
- str r1, [sp, 0xC]
- mov r2, r8
- strb r1, [r2]
- mov r0, sp
- ldrb r1, [r0, 0xC]
- ldr r0, [sp]
- strb r1, [r0]
- mov r2, sp
- ldrb r0, [r2, 0xC]
- ldr r2, [sp, 0x4]
- strb r0, [r2]
- ldr r5, _082E4D20
- ldr r0, [r5]
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _082E4CBE
- b _082E504E
-_082E4CBE:
- ldr r0, _082E4D24
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _082E4CCA
- b _082E504E
-_082E4CCA:
- ldr r3, _082E4D28
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r4, 0x4
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _082E4CE0
- movs r0, 0xB4
- lsls r0, 1
- strh r0, [r2, 0x20]
-_082E4CE0:
- ldr r1, [r3]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _082E4CEE
- strb r4, [r1, 0x6]
- movs r1, 0x1
- str r1, [sp, 0x8]
-_082E4CEE:
- lsls r0, r6, 24
- lsrs r0, 24
- cmp r0, 0x29
- bne _082E4D30
- ldr r0, _082E4D2C
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- mov r2, r8
- strb r0, [r2]
- ldrb r0, [r1, 0x5]
- ldr r1, [sp]
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _082E4D18
- ldr r0, [r5]
- ldrb r0, [r0, 0x2]
- strb r0, [r2]
-_082E4D18:
- movs r2, 0x2
- str r2, [sp, 0x8]
- b _082E4D88
- .align 2, 0
-_082E4D20: .4byte 0x03007890
-_082E4D24: .4byte 0x03007868
-_082E4D28: .4byte 0x03007894
-_082E4D2C: .4byte 0x03007898
-_082E4D30:
- movs r0, 0x9B
- lsls r0, 1
- cmp r6, r0
- bne _082E4D80
- ldr r0, _082E4DDC
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r6, [r0, 0x5]
- ldr r0, [r5]
- ldrb r0, [r0, 0x2]
- eors r6, r0
- ands r6, r0
- mov r0, r8
- strb r6, [r0]
- movs r0, 0x1
- ldr r1, [sp]
- strb r0, [r1]
- movs r5, 0
-_082E4D56:
- mov r2, r8
- ldrb r0, [r2]
- asrs r0, r5
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _082E4D76
- ldr r0, _082E4DE0
- ldr r0, [r0]
- adds r0, 0xA
- adds r0, r5
- movs r1, 0
- strb r1, [r0]
- adds r0, r5, 0
- bl rfu_STC_removeLinkData
-_082E4D76:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _082E4D56
-_082E4D80:
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bne _082E4D88
- b _082E504E
-_082E4D88:
- ldr r4, _082E4DDC
- ldr r0, [r4]
- adds r0, 0xDC
- ldr r0, [r0]
- ldr r1, [r0]
- str r1, [sp, 0x10]
- ldr r0, [r0, 0x4]
- str r0, [sp, 0x14]
- ldr r0, _082E4DE4
- bl STWI_set_Callback_M
- bl STWI_send_LinkStatusREQ
- bl STWI_poll_CommandEnd
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- cmp r0, 0
- bne _082E4DE8
- ldr r0, [r4]
- adds r0, 0xDC
- ldr r0, [r0]
- adds r2, r0, 0x4
- movs r5, 0
- ldr r3, _082E4DE0
-_082E4DBC:
- ldr r0, [r3]
- adds r0, 0xA
- adds r0, r5
- ldrb r1, [r2]
- strb r1, [r0]
- adds r2, 0x1
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _082E4DBC
- movs r2, 0
- mov r9, r2
- movs r5, 0
- b _082E4DF4
- .align 2, 0
-_082E4DDC: .4byte 0x03007898
-_082E4DE0: .4byte 0x03007890
-_082E4DE4: .4byte rfu_CB_defaultCallback + 1
-_082E4DE8:
- movs r0, 0x11
- ldr r1, [sp, 0xC]
- bl rfu_STC_REQ_callback
- ldr r0, [sp, 0xC]
- b _082E5050
-_082E4DF4:
- ldr r1, _082E4E7C
- ldr r0, [r1]
- adds r0, 0xE
- adds r2, r0, r5
- ldrb r0, [r2]
- adds r3, r1, 0
- cmp r0, 0
- beq _082E4E1A
- subs r0, 0x4
- strb r0, [r2]
- ldr r0, _082E4E80
- ldr r0, [r0]
- adds r0, 0xA
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0xF
- bhi _082E4E1A
- movs r0, 0x10
- strb r0, [r1]
-_082E4E1A:
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r5
- lsrs r6, r0, 24
- adds r0, r5, 0x1
- mov r10, r0
- ldr r1, [sp, 0xC]
- cmp r1, 0
- beq _082E4E2E
- b _082E5002
-_082E4E2E:
- ldr r2, [sp, 0x8]
- cmp r2, 0x1
- bne _082E4F10
- ldr r4, _082E4E80
- ldr r1, [r4]
- ldrb r0, [r1, 0x2]
- ands r0, r6
- cmp r0, 0
- beq _082E4F10
- adds r0, r1, 0
- adds r0, 0xA
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _082E4F04
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _082E4E84
- ldr r1, [r3]
- adds r1, 0xA
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0xA
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x3
- bls _082E4F10
- mov r0, r8
- ldrb r1, [r0]
- adds r0, r6, 0
- orrs r0, r1
- mov r1, r8
- strb r0, [r1]
- ldr r0, [sp]
- strb r2, [r0]
- b _082E4F10
- .align 2, 0
-_082E4E7C: .4byte 0x03007894
-_082E4E80: .4byte 0x03007890
-_082E4E84:
- bl STWI_send_SystemStatusREQ
- bl STWI_poll_CommandEnd
- lsls r0, 16
- cmp r0, 0
- bne _082E4F10
- ldr r0, _082E4EB4
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _082E4EB8
- mov r2, r8
- ldrb r1, [r2]
- adds r0, r6, 0
- orrs r0, r1
- strb r0, [r2]
- mov r0, sp
- ldrb r1, [r0, 0x8]
- ldr r0, [sp]
- b _082E4F0E
- .align 2, 0
-_082E4EB4: .4byte 0x03007898
-_082E4EB8:
- ldr r2, _082E4F00
- ldr r1, [r2]
- adds r1, 0xA
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- ldr r2, [r2]
- lsrs r0, 24
- ldrh r1, [r2, 0x1A]
- cmp r0, r1
- bls _082E4F10
- adds r0, r2, 0
- adds r0, 0xA
- adds r0, r5
- mov r2, sp
- ldrb r2, [r2, 0xC]
- strb r2, [r0]
- ldr r0, [r4]
- ldrb r0, [r0, 0x2]
- bl STWI_send_DisconnectREQ
- bl STWI_poll_CommandEnd
- mov r0, r8
- ldrb r1, [r0]
- adds r0, r6, 0
- orrs r0, r1
- mov r1, r8
- strb r0, [r1]
- mov r2, sp
- ldrb r0, [r2, 0x8]
- ldr r2, [sp]
- strb r0, [r2]
- b _082E4F10
- .align 2, 0
-_082E4F00: .4byte 0x03007894
-_082E4F04:
- ldr r0, [r3]
- adds r0, 0xA
- adds r0, r5
- mov r1, sp
- ldrb r1, [r1, 0xC]
-_082E4F0E:
- strb r1, [r0]
-_082E4F10:
- ldr r2, _082E4F70
- mov r12, r2
- ldr r1, [r2]
- ldrb r7, [r1]
- adds r0, r5, 0x1
- mov r10, r0
- cmp r7, 0x1
- bne _082E5002
- adds r0, r1, 0
- adds r0, 0xA
- adds r4, r0, r5
- ldrb r3, [r4]
- cmp r3, 0
- beq _082E5002
- ldrb r2, [r1, 0x3]
- adds r0, r6, 0
- ands r0, r2
- cmp r0, 0
- beq _082E4F7E
- cmp r3, 0xA
- bls _082E4F78
- ldr r2, [sp, 0x4]
- ldrb r1, [r2]
- adds r0, r6, 0
- orrs r0, r1
- strb r0, [r2]
- mov r0, r12
- ldr r2, [r0]
- ldrb r1, [r2, 0x2]
- adds r0, r6, 0
- orrs r0, r1
- movs r3, 0
- strb r0, [r2, 0x2]
- mov r2, r12
- ldr r1, [r2]
- ldrb r0, [r1, 0x3]
- bics r0, r6
- strb r0, [r1, 0x3]
- ldr r1, [r2]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- ldr r0, _082E4F74
- ldr r0, [r0]
- adds r0, 0xA
- adds r0, r5
- strb r3, [r0]
- b _082E5002
- .align 2, 0
-_082E4F70: .4byte 0x03007890
-_082E4F74: .4byte 0x03007894
-_082E4F78:
- movs r0, 0
- strb r0, [r4]
- b _082E5002
-_082E4F7E:
- ldrb r0, [r1, 0x2]
- orrs r0, r2
- ands r0, r6
- cmp r0, 0
- bne _082E5002
- bl STWI_send_SlotStatusREQ
- bl STWI_poll_CommandEnd
- ldr r0, _082E4FC8
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r2, [r0]
- ldrb r0, [r2, 0x1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r2, 0x8
- cmp r3, 0
- beq _082E5002
- ldrh r4, [r2]
- ldrb r0, [r2, 0x2]
- cmp r0, r5
- bne _082E4FD0
- ldr r0, _082E4FCC
- ldr r0, [r0]
- lsls r1, r5, 1
- adds r0, 0x12
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- bne _082E4FD0
- lsls r7, r5
- mov r0, r9
- orrs r0, r7
- lsls r0, 24
- b _082E4FFE
- .align 2, 0
-_082E4FC8: .4byte 0x03007898
-_082E4FCC: .4byte 0x03007894
-_082E4FD0:
- adds r2, 0x4
- subs r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _082E5002
- ldrh r4, [r2]
- ldrb r0, [r2, 0x2]
- cmp r0, r5
- bne _082E4FD0
- ldr r0, _082E5060
- ldr r0, [r0]
- lsls r1, r5, 1
- adds r0, 0x12
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- bne _082E4FD0
- movs r0, 0x1
- lsls r0, r5
- mov r1, r9
- orrs r1, r0
- lsls r0, r1, 24
-_082E4FFE:
- lsrs r0, 24
- mov r9, r0
-_082E5002:
- ldr r0, _082E5064
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- mov r2, r8
- ldrb r0, [r2]
- ands r0, r1
- ands r6, r0
- cmp r6, 0
- beq _082E501C
- adds r0, r5, 0
- movs r1, 0
- bl rfu_STC_removeLinkData
-_082E501C:
- mov r1, r10
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bhi _082E5028
- b _082E4DF4
-_082E5028:
- mov r2, r9
- cmp r2, 0
- beq _082E5038
- mov r0, r9
- bl STWI_send_DisconnectREQ
- bl STWI_poll_CommandEnd
-_082E5038:
- ldr r1, _082E5068
- ldr r0, [r1]
- adds r0, 0xDC
- ldr r0, [r0]
- ldr r2, [sp, 0x10]
- str r2, [r0]
- ldr r0, [r1]
- adds r0, 0xDC
- ldr r0, [r0]
- ldr r1, [sp, 0x14]
- str r1, [r0, 0x4]
-_082E504E:
- movs r0, 0
-_082E5050:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_082E5060: .4byte 0x03007894
-_082E5064: .4byte 0x03007890
-_082E5068: .4byte 0x03007898
- thumb_func_end rfu_REQBN_watchLink
-
- thumb_func_start rfu_STC_removeLinkData
-rfu_STC_removeLinkData: @ 82E506C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r12, r1
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r7
- lsrs r6, r0, 24
- ldr r0, _082E511C
- ldr r0, [r0]
- adds r0, 0xE
- adds r0, r7
- movs r1, 0
- strb r1, [r0]
- ldr r1, _082E5120
- ldr r4, [r1]
- ldrb r0, [r4, 0x2]
- ands r0, r6
- mov r8, r1
- cmp r0, 0
- beq _082E50AA
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _082E50AA
- subs r0, 0x1
- strb r0, [r4, 0x1]
-_082E50AA:
- mov r3, r8
- ldr r2, [r3]
- mvns r5, r6
- ldrb r1, [r2, 0x2]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2, 0x2]
- ldr r2, [r3]
- ldrb r1, [r2, 0x3]
- adds r0, r6, 0
- orrs r0, r1
- strb r0, [r2, 0x3]
- ldr r3, [r3]
- ldr r0, [r3]
- ldr r1, _082E5124
- ands r0, r1
- cmp r0, 0
- bne _082E50D2
- movs r0, 0xFF
- strb r0, [r3]
-_082E50D2:
- mov r0, r12
- cmp r0, 0
- beq _082E5110
- mov r1, sp
- movs r4, 0
- movs r0, 0
- strh r0, [r1]
- lsls r0, r7, 5
- adds r0, 0x14
- mov r2, r8
- ldr r1, [r2]
- adds r1, r0
- ldr r2, _082E5128
- mov r0, sp
- bl CpuSet
- mov r0, r8
- ldr r2, [r0]
- ldrb r1, [r2, 0x3]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2, 0x3]
- mov r2, r8
- ldr r1, [r2]
- ldrb r0, [r1, 0x7]
- ands r5, r0
- strb r5, [r1, 0x7]
- ldr r0, [r2]
- adds r0, 0xA
- adds r0, r7
- strb r4, [r0]
-_082E5110:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E511C: .4byte 0x03007894
-_082E5120: .4byte 0x03007890
-_082E5124: .4byte 0x00ff00ff
-_082E5128: .4byte 0x01000010
- thumb_func_end rfu_STC_removeLinkData
-
- thumb_func_start rfu_REQ_disconnect
-rfu_REQ_disconnect: @ 82E512C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, _082E5170
- ldr r1, [r2]
- ldrb r0, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- orrs r0, r1
- ands r0, r4
- cmp r0, 0
- beq _082E51B0
- ldr r0, _082E5174
- ldr r1, [r0]
- strb r4, [r1, 0x5]
- ldr r2, [r2]
- ldrb r1, [r2]
- adds r3, r0, 0
- cmp r1, 0xFF
- bne _082E5178
- ldr r0, [r3]
- ldrb r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _082E5178
- ldrb r0, [r2, 0x3]
- ands r0, r4
- cmp r0, 0
- beq _082E51B0
- movs r0, 0x30
- movs r1, 0
- bl rfu_CB_disconnect
- b _082E51B0
- .align 2, 0
-_082E5170: .4byte 0x03007890
-_082E5174: .4byte 0x03007894
-_082E5178:
- ldr r0, [r3]
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- beq _082E51A4
- ldr r0, _082E51A0
- bl STWI_set_Callback_M
- bl STWI_send_SC_EndREQ
- bl STWI_poll_CommandEnd
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _082E51A4
- movs r0, 0x1B
- bl rfu_STC_REQ_callback
- b _082E51B0
- .align 2, 0
-_082E51A0: .4byte rfu_CB_defaultCallback + 1
-_082E51A4:
- ldr r0, _082E51B8
- bl STWI_set_Callback_M
- adds r0, r4, 0
- bl STWI_send_DisconnectREQ
-_082E51B0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_082E51B8: .4byte rfu_CB_disconnect + 1
- thumb_func_end rfu_REQ_disconnect
-
- thumb_func_start rfu_CB_disconnect
-rfu_CB_disconnect: @ 82E51BC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- cmp r5, 0x3
- bne _082E51F8
- ldr r0, _082E528C
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- bne _082E51F8
- ldr r0, _082E5290
- bl STWI_set_Callback_M
- bl STWI_send_SystemStatusREQ
- bl STWI_poll_CommandEnd
- lsls r0, 16
- cmp r0, 0
- bne _082E51F8
- ldr r0, _082E5294
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _082E51F8
- movs r5, 0
-_082E51F8:
- ldr r3, _082E5298
- ldr r2, [r3]
- ldr r0, _082E528C
- ldr r1, [r0]
- ldrb r0, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- orrs r0, r1
- ldrb r1, [r2, 0x5]
- ands r0, r1
- strb r0, [r2, 0x5]
- ldr r0, _082E5294
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r1, [r0]
- ldr r0, [r3]
- ldrb r0, [r0, 0x5]
- strb r0, [r1, 0x8]
- cmp r5, 0
- bne _082E5246
- movs r4, 0
-_082E5220:
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r4
- lsrs r0, 24
- ldr r1, _082E5298
- ldr r1, [r1]
- ldrb r1, [r1, 0x5]
- ands r0, r1
- cmp r0, 0
- beq _082E523C
- adds r0, r4, 0
- movs r1, 0x1
- bl rfu_STC_removeLinkData
-_082E523C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _082E5220
-_082E5246:
- ldr r0, _082E528C
- ldr r2, [r0]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- orrs r0, r1
- cmp r0, 0
- bne _082E5258
- movs r0, 0xFF
- strb r0, [r2]
-_082E5258:
- adds r0, r6, 0
- adds r1, r5, 0
- bl rfu_STC_REQ_callback
- ldr r0, _082E5298
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- beq _082E5286
- ldr r0, _082E5290
- bl STWI_set_Callback_M
- bl STWI_send_SC_StartREQ
- bl STWI_poll_CommandEnd
- adds r5, r0, 0
- cmp r5, 0
- beq _082E5286
- movs r0, 0x19
- adds r1, r5, 0
- bl rfu_STC_REQ_callback
-_082E5286:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_082E528C: .4byte 0x03007890
-_082E5290: .4byte rfu_CB_defaultCallback + 1
-_082E5294: .4byte 0x03007898
-_082E5298: .4byte 0x03007894
- thumb_func_end rfu_CB_disconnect
-
- thumb_func_start rfu_REQ_CHILD_startConnectRecovery
-rfu_REQ_CHILD_startConnectRecovery: @ 82E529C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _082E52EC
- ldr r0, [r0]
- strb r5, [r0, 0x5]
- movs r4, 0
- movs r0, 0x1
- ands r0, r5
- ldr r2, _082E52F0
- cmp r0, 0
- bne _082E52CA
- movs r1, 0x1
-_082E52B6:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bhi _082E52CA
- adds r0, r5, 0
- asrs r0, r4
- ands r0, r1
- cmp r0, 0
- beq _082E52B6
-_082E52CA:
- adds r0, r2, 0
- bl STWI_set_Callback_M
- ldr r0, _082E52F4
- ldr r1, [r0]
- lsls r0, r4, 5
- adds r0, r1, r0
- ldrh r0, [r0, 0x14]
- adds r1, 0x94
- ldrh r1, [r1]
- adds r2, r5, 0
- bl STWI_send_CPR_StartREQ
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E52EC: .4byte 0x03007894
-_082E52F0: .4byte rfu_STC_REQ_callback + 1
-_082E52F4: .4byte 0x03007890
- thumb_func_end rfu_REQ_CHILD_startConnectRecovery
-
- thumb_func_start rfu_REQ_CHILD_pollConnectRecovery
-rfu_REQ_CHILD_pollConnectRecovery: @ 82E52F8
- push {lr}
- ldr r0, _082E5308
- bl STWI_set_Callback_M
- bl STWI_send_CPR_PollingREQ
- pop {r0}
- bx r0
- .align 2, 0
-_082E5308: .4byte rfu_CB_CHILD_pollConnectRecovery + 1
- thumb_func_end rfu_REQ_CHILD_pollConnectRecovery
-
- thumb_func_start rfu_CB_CHILD_pollConnectRecovery
-rfu_CB_CHILD_pollConnectRecovery: @ 82E530C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 16
- lsrs r7, r1, 16
- cmp r7, 0
- bne _082E5390
- ldr r0, _082E53A4
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _082E5390
- ldr r0, _082E53A8
- ldr r1, [r0]
- ldrb r1, [r1, 0x5]
- adds r6, r0, 0
- cmp r1, 0
- beq _082E5390
- ldr r1, _082E53AC
- ldr r0, [r1]
- strb r7, [r0]
- movs r4, 0
- adds r5, r1, 0
- mov r12, r4
-_082E5346:
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r4
- lsrs r3, r0, 24
- ldr r2, [r5]
- ldr r0, [r6]
- ldrb r0, [r0, 0x5]
- ands r0, r3
- ldrb r1, [r2, 0x3]
- ands r0, r1
- cmp r0, 0
- beq _082E5380
- ldrb r1, [r2, 0x2]
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r5]
- ldrb r0, [r1, 0x3]
- bics r0, r3
- strb r0, [r1, 0x3]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- ldr r0, [r6]
- adds r0, 0xA
- adds r0, r4
- mov r1, r12
- strb r1, [r0]
-_082E5380:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _082E5346
- ldr r1, [r6]
- movs r0, 0
- strb r0, [r1, 0x5]
-_082E5390:
- mov r0, r8
- adds r1, r7, 0
- bl rfu_STC_REQ_callback
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E53A4: .4byte 0x03007898
-_082E53A8: .4byte 0x03007894
-_082E53AC: .4byte 0x03007890
- thumb_func_end rfu_CB_CHILD_pollConnectRecovery
-
- thumb_func_start rfu_CHILD_getConnectRecoveryStatus
-rfu_CHILD_getConnectRecoveryStatus: @ 82E53B0
- push {lr}
- adds r2, r0, 0
- movs r0, 0xFF
- strb r0, [r2]
- ldr r0, _082E53D0
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x4D
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _082E53D4
- movs r0, 0x10
- b _082E53DA
- .align 2, 0
-_082E53D0: .4byte 0x03007898
-_082E53D4:
- ldrb r0, [r1, 0x4]
- strb r0, [r2]
- movs r0, 0
-_082E53DA:
- pop {r1}
- bx r1
- thumb_func_end rfu_CHILD_getConnectRecoveryStatus
-
- thumb_func_start rfu_REQ_CHILD_endConnectRecovery
-rfu_REQ_CHILD_endConnectRecovery: @ 82E53E0
- push {lr}
- ldr r0, _082E53F0
- bl STWI_set_Callback_M
- bl STWI_send_CPR_EndREQ
- pop {r0}
- bx r0
- .align 2, 0
-_082E53F0: .4byte rfu_CB_CHILD_pollConnectRecovery + 1
- thumb_func_end rfu_REQ_CHILD_endConnectRecovery
-
- thumb_func_start sub_82E53F4
-sub_82E53F4: @ 82E53F4
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r3, [r5]
- ldr r1, [r6]
- subs r2, 0x1
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _082E5418
- adds r4, r0, 0
- thumb_func_end sub_82E53F4
-
- non_word_aligned_thumb_func_start sub_82E540A
-sub_82E540A: @ 82E540A
- ldrb r0, [r3]
- strb r0, [r1]
- adds r3, 0x1
- adds r1, 0x1
- subs r2, 0x1
- cmp r2, r4
- bne sub_82E540A
-_082E5418:
- str r3, [r5]
- str r1, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_82E540A
-
- thumb_func_start rfu_REQ_changeMasterSlave
-rfu_REQ_changeMasterSlave: @ 82E5424
- push {lr}
- movs r0, 0x1
- bl STWI_read_status
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _082E5444
- ldr r0, _082E5440
- bl STWI_set_Callback_M
- bl STWI_send_MS_ChangeREQ
- b _082E544C
- .align 2, 0
-_082E5440: .4byte rfu_STC_REQ_callback + 1
-_082E5444:
- movs r0, 0x27
- movs r1, 0
- bl rfu_STC_REQ_callback
-_082E544C:
- pop {r0}
- bx r0
- thumb_func_end rfu_REQ_changeMasterSlave
-
- thumb_func_start rfu_getMasterSlave
-rfu_getMasterSlave: @ 82E5450
- push {lr}
- movs r0, 0x1
- bl STWI_read_status
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1
- bne _082E547E
- ldr r0, _082E5484
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- beq _082E547E
- ldrb r0, [r1, 0x6]
- cmp r0, 0x27
- beq _082E547C
- cmp r0, 0x25
- beq _082E547C
- cmp r0, 0x37
- bne _082E547E
-_082E547C:
- movs r2, 0
-_082E547E:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .align 2, 0
-_082E5484: .4byte 0x03007868
- thumb_func_end rfu_getMasterSlave
-
- thumb_func_start rfu_clearAllSlot
-rfu_clearAllSlot: @ 82E5488
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r1, _082E550C
- ldrh r0, [r1]
- mov r8, r0
- movs r0, 0
- strh r0, [r1]
- movs r5, 0
- mov r0, sp
- adds r0, 0x2
- movs r7, 0
- adds r6, r0, 0
-_082E54A4:
- mov r0, sp
- strh r7, [r0]
- ldr r0, _082E5510
- lsls r4, r5, 2
- adds r0, r4, r0
- ldr r1, [r0]
- mov r0, sp
- ldr r2, _082E5514
- bl CpuSet
- strh r7, [r6]
- ldr r0, _082E5518
- adds r4, r0
- ldr r1, [r4]
- adds r0, r6, 0
- ldr r2, _082E551C
- bl CpuSet
- ldr r3, _082E5520
- ldr r0, [r3]
- adds r0, 0x10
- adds r0, r5
- movs r1, 0x10
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _082E54A4
- ldr r2, [r3]
- movs r1, 0
- movs r0, 0x57
- strb r0, [r2, 0xF]
- ldr r0, [r3]
- strb r1, [r0, 0x4]
- ldr r0, [r3]
- strb r1, [r0, 0x5]
- ldr r0, [r3]
- strb r1, [r0, 0x6]
- ldr r0, _082E5524
- ldr r0, [r0]
- strb r1, [r0, 0x2]
- ldr r0, _082E550C
- mov r1, r8
- strh r1, [r0]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E550C: .4byte 0x04000208
-_082E5510: .4byte 0x03007880
-_082E5514: .4byte 0x01000034
-_082E5518: .4byte 0x03007870
-_082E551C: .4byte 0x0100000a
-_082E5520: .4byte 0x03007890
-_082E5524: .4byte 0x03007894
- thumb_func_end rfu_clearAllSlot
-
- thumb_func_start rfu_STC_releaseFrame
-rfu_STC_releaseFrame: @ 82E5528
- push {r4-r6,lr}
- adds r4, r2, 0
- lsls r0, 24
- lsrs r2, r0, 24
- adds r5, r2, 0
- lsls r1, 24
- lsrs r3, r1, 24
- ldr r0, _082E5560
- ldr r0, [r0]
- ldrb r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _082E5568
- ldr r6, _082E5564
- cmp r3, 0
- bne _082E5554
- ldr r1, [r6]
- ldrb r0, [r1, 0xF]
- ldrh r4, [r4, 0x2E]
- adds r0, r4
- strb r0, [r1, 0xF]
-_082E5554:
- ldr r1, [r6]
- ldrb r0, [r1, 0xF]
- adds r0, 0x3
- strb r0, [r1, 0xF]
- b _082E5588
- .align 2, 0
-_082E5560: .4byte 0x03007894
-_082E5564: .4byte 0x03007890
-_082E5568:
- ldr r6, _082E5590
- cmp r3, 0
- bne _082E557C
- ldr r1, [r6]
- adds r1, 0x10
- adds r1, r2
- ldrb r0, [r1]
- ldrh r4, [r4, 0x2E]
- adds r0, r4
- strb r0, [r1]
-_082E557C:
- ldr r1, [r6]
- adds r1, 0x10
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x2
- strb r0, [r1]
-_082E5588:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_082E5590: .4byte 0x03007890
- thumb_func_end rfu_STC_releaseFrame
-
- thumb_func_start rfu_clearSlot
-rfu_clearSlot: @ 82E5594
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r7, 0x3
- bls _082E55B4
- movs r0, 0x80
- lsls r0, 3
- b _082E572C
-_082E55B4:
- movs r0, 0xF
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _082E55C4
- movs r0, 0xC0
- lsls r0, 3
- b _082E572C
-_082E55C4:
- ldr r1, _082E5608
- ldrh r0, [r1]
- mov r10, r0
- movs r0, 0
- strh r0, [r1]
- movs r0, 0xC
- mov r2, r8
- ands r0, r2
- cmp r0, 0
- beq _082E568C
- movs r3, 0
- ldr r1, _082E560C
- lsls r0, r7, 2
- adds r0, r1
- mov r9, r0
-_082E55E2:
- movs r4, 0
- cmp r3, 0
- bne _082E5614
- movs r0, 0x4
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _082E5634
- mov r2, r9
- ldr r4, [r2]
- ldr r0, _082E5610
- ldr r2, [r0]
- adds r0, r4, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- ldrb r0, [r2, 0x4]
- bics r0, r1
- strb r0, [r2, 0x4]
- b _082E5634
- .align 2, 0
-_082E5608: .4byte 0x04000208
-_082E560C: .4byte 0x03007880
-_082E5610: .4byte 0x03007890
-_082E5614:
- movs r0, 0x8
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _082E5634
- mov r2, r9
- ldr r0, [r2]
- adds r4, r0, 0
- adds r4, 0x34
- ldr r0, _082E56C8
- ldr r2, [r0]
- movs r1, 0x1
- lsls r1, r7
- ldrb r0, [r2, 0x5]
- bics r0, r1
- strb r0, [r2, 0x5]
-_082E5634:
- adds r6, r3, 0x1
- cmp r4, 0
- beq _082E5684
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _082E5674
- lsls r1, r3, 24
- lsrs r1, 24
- adds r0, r7, 0
- adds r2, r4, 0
- bl rfu_STC_releaseFrame
- movs r1, 0
- adds r2, r4, 0
- adds r2, 0x2C
- movs r5, 0x1
- movs r3, 0
-_082E565E:
- ldrb r0, [r2]
- asrs r0, r1
- ands r0, r5
- cmp r0, 0
- beq _082E566A
- strh r3, [r4, 0x2]
-_082E566A:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _082E565E
-_082E5674:
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- mov r0, sp
- adds r1, r4, 0
- ldr r2, _082E56CC
- bl CpuSet
-_082E5684:
- lsls r0, r6, 16
- lsrs r3, r0, 16
- cmp r3, 0x1
- bls _082E55E2
-_082E568C:
- movs r0, 0x1
- mov r4, r8
- ands r0, r4
- cmp r0, 0
- beq _082E5702
- ldr r1, _082E56D0
- lsls r0, r7, 2
- adds r0, r1
- ldr r3, [r0]
- ldrh r1, [r3]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _082E56F4
- ldr r0, _082E56D4
- ldr r0, [r0]
- ldrb r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _082E56D8
- ldr r2, _082E56C8
- ldr r1, [r2]
- ldrb r0, [r1, 0xF]
- adds r0, 0x3
- ldrb r4, [r3, 0x4]
- adds r0, r4
- strb r0, [r1, 0xF]
- b _082E56EA
- .align 2, 0
-_082E56C8: .4byte 0x03007890
-_082E56CC: .4byte 0x0100001a
-_082E56D0: .4byte 0x03007870
-_082E56D4: .4byte 0x03007894
-_082E56D8:
- ldr r2, _082E573C
- ldr r1, [r2]
- adds r1, 0x10
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x2
- ldrb r4, [r3, 0x4]
- adds r0, r4
- strb r0, [r1]
-_082E56EA:
- ldr r2, [r2]
- ldrb r1, [r3, 0x3]
- ldrb r0, [r2, 0x6]
- bics r0, r1
- strb r0, [r2, 0x6]
-_082E56F4:
- mov r0, sp
- movs r1, 0
- strh r1, [r0]
- ldr r2, _082E5740
- adds r1, r3, 0
- bl CpuSet
-_082E5702:
- movs r0, 0x2
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _082E5724
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, _082E5744
- lsls r0, r7, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0xC
- ldr r2, _082E5748
- mov r0, sp
- bl CpuSet
-_082E5724:
- ldr r0, _082E574C
- mov r2, r10
- strh r2, [r0]
- movs r0, 0
-_082E572C:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_082E573C: .4byte 0x03007890
-_082E5740: .4byte 0x01000006
-_082E5744: .4byte 0x03007870
-_082E5748: .4byte 0x01000004
-_082E574C: .4byte 0x04000208
- thumb_func_end rfu_clearSlot
-
- thumb_func_start rfu_setRecvBuffer
-rfu_setRecvBuffer: @ 82E5750
- push {r4-r6,lr}
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r3, r0, 24
- adds r2, r3, 0
- lsls r1, 24
- lsrs r1, 24
- adds r4, r1, 0
- cmp r1, 0x3
- bls _082E576C
- movs r0, 0x80
- lsls r0, 3
- b _082E57A4
-_082E576C:
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- beq _082E5788
- ldr r0, _082E5784
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- str r5, [r0, 0x68]
- str r6, [r0, 0x6C]
- b _082E57A2
- .align 2, 0
-_082E5784: .4byte 0x03007880
-_082E5788:
- movs r0, 0x10
- ands r2, r0
- cmp r2, 0
- bne _082E5796
- movs r0, 0xC0
- lsls r0, 3
- b _082E57A4
-_082E5796:
- ldr r0, _082E57AC
- lsls r1, r4, 2
- adds r1, r0
- ldr r0, [r1]
- str r5, [r0, 0x14]
- str r6, [r0, 0x18]
-_082E57A2:
- movs r0, 0
-_082E57A4:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_082E57AC: .4byte 0x03007870
- thumb_func_end rfu_setRecvBuffer
-
- thumb_func_start rfu_NI_setSendData
-rfu_NI_setSendData: @ 82E57B0
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- str r3, [sp]
- movs r0, 0x20
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl rfu_STC_setSendData_org
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end rfu_NI_setSendData
-
- thumb_func_start rfu_UNI_setSendData
-rfu_UNI_setSendData: @ 82E57DC
- push {lr}
- sub sp, 0x4
- adds r3, r1, 0
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _082E57F8
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _082E57FC
- adds r0, r2, 0x3
- b _082E57FE
- .align 2, 0
-_082E57F8: .4byte 0x03007890
-_082E57FC:
- adds r0, r2, 0x2
-_082E57FE:
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- bl rfu_STC_setSendData_org
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end rfu_UNI_setSendData
-
- thumb_func_start rfu_NI_CHILD_setSendGameName
-rfu_NI_CHILD_setSendGameName: @ 82E5818
- push {lr}
- sub sp, 0x4
- adds r2, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x80
- lsls r1, 17
- lsls r1, r0
- lsrs r1, 24
- ldr r0, _082E5848
- ldr r3, [r0]
- adds r3, 0x98
- movs r0, 0x1A
- str r0, [sp]
- movs r0, 0x40
- bl rfu_STC_setSendData_org
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_082E5848: .4byte 0x03007890
- thumb_func_end rfu_NI_CHILD_setSendGameName
-
- thumb_func_start rfu_STC_setSendData_org
-rfu_STC_setSendData_org: @ 82E584C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- str r3, [sp]
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r0, _082E5878
- ldr r2, [r0]
- ldrb r1, [r2]
- mov r10, r0
- cmp r1, 0xFF
- bne _082E5880
- ldr r0, _082E587C
- b _082E5A36
- .align 2, 0
-_082E5878: .4byte 0x03007890
-_082E587C: .4byte 0x00000301
-_082E5880:
- movs r0, 0xF
- ands r0, r3
- cmp r0, 0
- bne _082E588E
- movs r0, 0x80
- lsls r0, 3
- b _082E5A36
-_082E588E:
- ldrb r0, [r2, 0x2]
- ldrb r1, [r2, 0x3]
- orrs r0, r1
- ands r0, r3
- cmp r0, r3
- beq _082E58A4
- ldr r0, _082E58A0
- b _082E5A36
- .align 2, 0
-_082E58A0: .4byte 0x00000401
-_082E58A4:
- movs r0, 0x10
- ands r0, r6
- cmp r0, 0
- beq _082E58B0
- ldrb r0, [r2, 0x6]
- b _082E58B2
-_082E58B0:
- ldrb r0, [r2, 0x4]
-_082E58B2:
- ands r0, r3
- cmp r0, 0
- beq _082E58C0
- ldr r0, _082E58BC
- b _082E5A36
- .align 2, 0
-_082E58BC: .4byte 0x00000402
-_082E58C0:
- movs r2, 0
- movs r0, 0x1
- ands r0, r3
- ldr r4, _082E58F0
- cmp r0, 0
- bne _082E58E2
- movs r1, 0x1
-_082E58CE:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bhi _082E58E2
- adds r0, r3, 0
- asrs r0, r2
- ands r0, r1
- cmp r0, 0
- beq _082E58CE
-_082E58E2:
- mov r0, r10
- ldr r1, [r0]
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _082E58F4
- adds r1, 0xF
- b _082E58FE
- .align 2, 0
-_082E58F0: .4byte 0x089a3220
-_082E58F4:
- cmp r0, 0
- bne _082E5900
- adds r0, r2, 0
- adds r0, 0x10
- adds r1, r0
-_082E58FE:
- mov r9, r1
-_082E5900:
- mov r1, r10
- ldr r0, [r1]
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r4
- ldrb r4, [r0]
- mov r0, r9
- ldrb r0, [r0]
- cmp r8, r0
- bhi _082E5918
- cmp r8, r4
- bhi _082E591E
-_082E5918:
- movs r0, 0xA0
- lsls r0, 3
- b _082E5A36
-_082E591E:
- ldr r1, _082E596C
- ldrh r0, [r1]
- str r0, [sp, 0x4]
- movs r7, 0
- strh r7, [r1]
- movs r0, 0x20
- ands r0, r6
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _082E5938
- cmp r6, 0x40
- bne _082E59F4
-_082E5938:
- ldr r1, _082E5970
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- mov r12, r0
- movs r1, 0
- strh r1, [r0, 0x18]
- mov r1, r12
- adds r1, 0x2D
- mov r2, r12
- str r1, [r2, 0x4]
- movs r0, 0x7
- str r0, [r2, 0x14]
- mov r0, r12
- adds r0, 0x2C
- strb r3, [r0]
- strb r3, [r2, 0x1A]
- mov r2, r8
- subs r0, r2, r4
- mov r2, r12
- strh r0, [r2, 0x2E]
- cmp r5, 0
- beq _082E5974
- strb r7, [r1]
- b _082E5978
- .align 2, 0
-_082E596C: .4byte 0x04000208
-_082E5970: .4byte 0x03007880
-_082E5974:
- movs r0, 0x1
- strb r0, [r1]
-_082E5978:
- ldr r0, [sp, 0x28]
- mov r1, r12
- str r0, [r1, 0x30]
- ldr r2, [sp]
- str r2, [r1, 0x28]
- movs r1, 0
- mov r0, r12
- strb r1, [r0, 0x1F]
- adds r0, 0x20
- strb r1, [r0]
- mov r4, r12
- adds r4, 0x1B
- movs r6, 0
- mov r2, r12
- adds r2, 0x21
- movs r5, 0x1
-_082E5998:
- adds r0, r4, r1
- strb r6, [r0]
- adds r0, r2, r1
- strb r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _082E5998
- movs r2, 0
- movs r5, 0x1
- ldr r4, _082E59EC
- movs r1, 0
-_082E59B2:
- adds r0, r3, 0
- asrs r0, r2
- ands r0, r5
- cmp r0, 0
- beq _082E59C4
- lsls r0, r2, 2
- adds r0, r4
- ldr r0, [r0]
- strh r1, [r0, 0x2]
-_082E59C4:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _082E59B2
- mov r1, r10
- ldr r2, [r1]
- ldrb r1, [r2, 0x4]
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2, 0x4]
- mov r2, r9
- ldrb r0, [r2]
- mov r1, r8
- subs r0, r1
- strb r0, [r2]
- ldr r0, _082E59F0
- mov r2, r12
- strh r0, [r2]
- b _082E5A2C
- .align 2, 0
-_082E59EC: .4byte 0x03007880
-_082E59F0: .4byte 0x00008021
-_082E59F4:
- movs r0, 0x10
- ands r0, r6
- cmp r0, 0
- beq _082E5A2C
- ldr r1, _082E5A48
- lsls r0, r2, 2
- adds r0, r1
- ldr r1, [r0]
- strb r3, [r1, 0x3]
- ldr r0, [sp]
- str r0, [r1, 0x8]
- mov r2, r8
- subs r0, r2, r4
- strh r0, [r1, 0x4]
- mov r2, r9
- ldrb r0, [r2]
- mov r2, r8
- subs r0, r2
- mov r2, r9
- strb r0, [r2]
- ldr r0, _082E5A4C
- strh r0, [r1]
- mov r0, r10
- ldr r2, [r0]
- ldrb r1, [r2, 0x6]
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2, 0x6]
-_082E5A2C:
- ldr r0, _082E5A50
- mov r1, sp
- ldrh r1, [r1, 0x4]
- strh r1, [r0]
- movs r0, 0
-_082E5A36:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_082E5A48: .4byte 0x03007870
-_082E5A4C: .4byte 0x00008024
-_082E5A50: .4byte 0x04000208
- thumb_func_end rfu_STC_setSendData_org
-
- thumb_func_start rfu_changeSendTarget
-rfu_changeSendTarget: @ 82E5A54
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- cmp r7, 0x3
- bls _082E5A78
- movs r0, 0x80
- lsls r0, 3
- b _082E5BAC
-_082E5A78:
- cmp r0, 0x20
- bne _082E5B18
- ldr r0, _082E5B08
- mov r12, r0
- lsls r0, r7, 2
- add r0, r12
- ldr r5, [r0]
- ldrh r2, [r5]
- ldr r1, _082E5B0C
- adds r0, r1, 0
- ands r0, r2
- cmp r0, r1
- bne _082E5B2E
- ldrb r0, [r5, 0x1A]
- adds r3, r6, 0
- eors r3, r0
- adds r2, r3, 0
- ands r2, r6
- cmp r2, 0
- bne _082E5B66
- cmp r3, 0
- bne _082E5AA6
- b _082E5BAA
-_082E5AA6:
- ldr r1, _082E5B10
- ldrh r0, [r1]
- mov r8, r0
- strh r2, [r1]
- movs r2, 0
- mvns r1, r3
- str r1, [sp]
- lsls r4, r6, 24
- mov r10, r4
- movs r0, 0x1
- mov r9, r0
- movs r1, 0
-_082E5ABE:
- adds r0, r3, 0
- asrs r0, r2
- mov r4, r9
- ands r0, r4
- cmp r0, 0
- beq _082E5AD2
- lsls r0, r2, 2
- add r0, r12
- ldr r0, [r0]
- strh r1, [r0, 0x2]
-_082E5AD2:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _082E5ABE
- ldr r0, _082E5B14
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- ldr r2, [sp]
- ands r2, r0
- strb r2, [r1, 0x4]
- strb r6, [r5, 0x1A]
- mov r0, r10
- cmp r0, 0
- bne _082E5AFE
- adds r0, r7, 0
- movs r1, 0
- adds r2, r5, 0
- bl rfu_STC_releaseFrame
- movs r0, 0x27
- strh r0, [r5]
-_082E5AFE:
- ldr r0, _082E5B10
- mov r1, r8
- strh r1, [r0]
- b _082E5BAA
- .align 2, 0
-_082E5B08: .4byte 0x03007880
-_082E5B0C: .4byte 0x00008020
-_082E5B10: .4byte 0x04000208
-_082E5B14: .4byte 0x03007890
-_082E5B18:
- cmp r3, 0x10
- bne _082E5BA4
- ldr r3, _082E5B34
- lsls r1, r7, 2
- adds r0, r1, r3
- ldr r0, [r0]
- ldrh r2, [r0]
- ldr r0, _082E5B38
- adds r5, r3, 0
- cmp r2, r0
- beq _082E5B40
-_082E5B2E:
- ldr r0, _082E5B3C
- b _082E5BAC
- .align 2, 0
-_082E5B34: .4byte 0x03007870
-_082E5B38: .4byte 0x00008024
-_082E5B3C: .4byte 0x00000403
-_082E5B40:
- movs r3, 0
- movs r2, 0
- adds r4, r5, 0
-_082E5B46:
- cmp r2, r7
- beq _082E5B54
- lsls r0, r2, 2
- adds r0, r4
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- orrs r3, r0
-_082E5B54:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _082E5B46
- adds r2, r6, 0
- ands r2, r3
- cmp r2, 0
- beq _082E5B70
-_082E5B66:
- ldr r0, _082E5B6C
- b _082E5BAC
- .align 2, 0
-_082E5B6C: .4byte 0x00000404
-_082E5B70:
- ldr r3, _082E5B9C
- ldrh r0, [r3]
- mov r8, r0
- strh r2, [r3]
- ldr r4, _082E5BA0
- ldr r2, [r4]
- adds r5, r1, r5
- ldr r0, [r5]
- ldrb r1, [r0, 0x3]
- ldrb r0, [r2, 0x6]
- bics r0, r1
- strb r0, [r2, 0x6]
- ldr r2, [r4]
- ldrb r1, [r2, 0x6]
- adds r0, r6, 0
- orrs r0, r1
- strb r0, [r2, 0x6]
- ldr r0, [r5]
- strb r6, [r0, 0x3]
- mov r2, r8
- strh r2, [r3]
- b _082E5BAA
- .align 2, 0
-_082E5B9C: .4byte 0x04000208
-_082E5BA0: .4byte 0x03007890
-_082E5BA4:
- movs r0, 0xC0
- lsls r0, 3
- b _082E5BAC
-_082E5BAA:
- movs r0, 0
-_082E5BAC:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end rfu_changeSendTarget
-
- thumb_func_start rfu_NI_stopReceivingData
-rfu_NI_stopReceivingData: @ 82E5BBC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _082E5BCC
- movs r0, 0x80
- lsls r0, 3
- b _082E5C26
-_082E5BCC:
- ldr r1, _082E5BF8
- lsls r0, r3, 2
- adds r0, r1
- ldr r2, [r0]
- adds r5, r2, 0
- adds r5, 0x34
- ldr r1, _082E5BFC
- ldrh r0, [r1]
- adds r4, r0, 0
- movs r0, 0
- strh r0, [r1]
- ldrh r1, [r2, 0x34]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _082E5C20
- ldr r0, _082E5C00
- cmp r1, r0
- bne _082E5C04
- movs r0, 0x48
- b _082E5C06
- .align 2, 0
-_082E5BF8: .4byte 0x03007880
-_082E5BFC: .4byte 0x04000208
-_082E5C00: .4byte 0x00008043
-_082E5C04:
- movs r0, 0x47
-_082E5C06:
- strh r0, [r2, 0x34]
- ldr r0, _082E5C2C
- ldr r2, [r0]
- movs r1, 0x1
- lsls r1, r3
- ldrb r0, [r2, 0x5]
- bics r0, r1
- strb r0, [r2, 0x5]
- adds r0, r3, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl rfu_STC_releaseFrame
-_082E5C20:
- ldr r0, _082E5C30
- strh r4, [r0]
- movs r0, 0
-_082E5C26:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_082E5C2C: .4byte 0x03007890
-_082E5C30: .4byte 0x04000208
- thumb_func_end rfu_NI_stopReceivingData
-
- thumb_func_start rfu_UNI_changeAndReadySendData
-rfu_UNI_changeAndReadySendData: @ 82E5C34
- push {r4-r7,lr}
- adds r7, r1, 0
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r2, 24
- lsrs r5, r2, 24
- cmp r0, 0x3
- bls _082E5C4C
- movs r0, 0x80
- lsls r0, 3
- b _082E5CC0
-_082E5C4C:
- ldr r1, _082E5C60
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- ldrh r1, [r4]
- ldr r0, _082E5C64
- cmp r1, r0
- beq _082E5C6C
- ldr r0, _082E5C68
- b _082E5CC0
- .align 2, 0
-_082E5C60: .4byte 0x03007870
-_082E5C64: .4byte 0x00008024
-_082E5C68: .4byte 0x00000403
-_082E5C6C:
- ldr r0, _082E5C80
- ldr r1, [r0]
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _082E5C84
- adds r6, r1, 0
- adds r6, 0xF
- ldrb r0, [r4, 0x4]
- ldrb r1, [r1, 0xF]
- b _082E5C92
- .align 2, 0
-_082E5C80: .4byte 0x03007890
-_082E5C84:
- adds r0, r3, 0
- adds r0, 0x10
- adds r6, r1, r0
- adds r1, 0x10
- adds r1, r3
- ldrb r0, [r4, 0x4]
- ldrb r1, [r1]
-_082E5C92:
- adds r0, r1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r5
- bcc _082E5CBC
- ldr r2, _082E5CB8
- ldrh r1, [r2]
- movs r0, 0
- strh r0, [r2]
- str r7, [r4, 0x8]
- subs r0, r3, r5
- strb r0, [r6]
- strh r5, [r4, 0x4]
- movs r0, 0x1
- strb r0, [r4, 0x2]
- strh r1, [r2]
- movs r0, 0
- b _082E5CC0
- .align 2, 0
-_082E5CB8: .4byte 0x04000208
-_082E5CBC:
- movs r0, 0xA0
- lsls r0, 3
-_082E5CC0:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end rfu_UNI_changeAndReadySendData
-
- thumb_func_start rfu_UNI_readySendData
-rfu_UNI_readySendData: @ 82E5CC8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _082E5CE6
- ldr r1, _082E5CEC
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- ldrh r1, [r2]
- ldr r0, _082E5CF0
- cmp r1, r0
- bne _082E5CE6
- movs r0, 0x1
- strb r0, [r2, 0x2]
-_082E5CE6:
- pop {r0}
- bx r0
- .align 2, 0
-_082E5CEC: .4byte 0x03007870
-_082E5CF0: .4byte 0x00008024
- thumb_func_end rfu_UNI_readySendData
-
- thumb_func_start rfu_UNI_clearRecvNewDataFlag
-rfu_UNI_clearRecvNewDataFlag: @ 82E5CF4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _082E5D0A
- ldr r1, _082E5D10
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x12]
-_082E5D0A:
- pop {r0}
- bx r0
- .align 2, 0
-_082E5D10: .4byte 0x03007870
- thumb_func_end rfu_UNI_clearRecvNewDataFlag
-
- thumb_func_start rfu_REQ_sendData
-rfu_REQ_sendData: @ 82E5D14
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _082E5D60
- ldr r2, [r0]
- ldrb r1, [r2]
- adds r4, r0, 0
- cmp r1, 0xFF
- bne _082E5D28
- b _082E5E4E
-_082E5D28:
- cmp r1, 0x1
- bne _082E5DB8
- ldrb r0, [r2, 0x4]
- ldrb r1, [r2, 0x5]
- adds r3, r0, 0
- orrs r3, r1
- ldrb r0, [r2, 0x6]
- orrs r3, r0
- cmp r3, 0
- bne _082E5DB8
- ldr r0, _082E5D64
- ldr r2, [r0]
- ldrb r1, [r2, 0x3]
- adds r4, r0, 0
- cmp r1, 0
- beq _082E5D50
- movs r0, 0x10
- strb r0, [r2, 0x8]
- ldr r0, [r4]
- strb r3, [r0, 0x7]
-_082E5D50:
- ldr r1, [r4]
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- beq _082E5D68
- subs r0, 0x1
- strb r0, [r1, 0x8]
- b _082E5D6E
- .align 2, 0
-_082E5D60: .4byte 0x03007890
-_082E5D64: .4byte 0x03007894
-_082E5D68:
- ldrb r0, [r1, 0x7]
- adds r0, 0x1
- strb r0, [r1, 0x7]
-_082E5D6E:
- ldr r1, [r4]
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- bne _082E5D80
- ldrb r1, [r1, 0x7]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _082E5E12
-_082E5D80:
- ldr r4, _082E5DA4
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0x68]
- movs r0, 0xFF
- str r0, [r1, 0x78]
- ldr r0, _082E5DA8
- bl STWI_set_Callback_M
- cmp r5, 0
- bne _082E5DAC
- ldr r0, [r4]
- adds r0, 0x68
- movs r1, 0x1
- bl STWI_send_DataTxREQ
- b _082E5E4E
- .align 2, 0
-_082E5DA4: .4byte 0x03007898
-_082E5DA8: .4byte sub_82E5F00 + 1
-_082E5DAC:
- ldr r0, [r4]
- adds r0, 0x68
- movs r1, 0x1
- bl STWI_send_DataTxAndChangeREQ
- b _082E5E4E
-_082E5DB8:
- ldr r0, [r4]
- ldrb r0, [r0, 0xE]
- cmp r0, 0
- bne _082E5DC4
- bl rfu_constructSendLLFrame
-_082E5DC4:
- ldr r0, [r4]
- ldrb r0, [r0, 0xE]
- cmp r0, 0
- beq _082E5E12
- ldr r0, _082E5DF0
- bl STWI_set_Callback_M
- cmp r5, 0
- beq _082E5DFC
- ldr r0, _082E5DF4
- ldr r0, [r0]
- adds r0, 0x68
- ldr r1, _082E5DF8
- ldr r1, [r1]
- ldr r1, [r1, 0x24]
- adds r1, 0x4
- lsls r1, 24
- lsrs r1, 24
- bl STWI_send_DataTxAndChangeREQ
- b _082E5E4E
- .align 2, 0
-_082E5DF0: .4byte rfu_CB_sendData + 1
-_082E5DF4: .4byte 0x03007898
-_082E5DF8: .4byte 0x03007894
-_082E5DFC:
- ldr r0, _082E5E34
- ldr r0, [r0]
- adds r0, 0x68
- ldr r1, _082E5E38
- ldr r1, [r1]
- ldr r1, [r1, 0x24]
- adds r1, 0x4
- lsls r1, 24
- lsrs r1, 24
- bl STWI_send_DataTxREQ
-_082E5E12:
- cmp r5, 0
- beq _082E5E4E
- ldr r0, _082E5E3C
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _082E5E44
- ldr r0, _082E5E40
- ldr r0, [r0]
- ldr r1, [r0, 0x1C]
- cmp r1, 0
- beq _082E5E4E
- movs r0, 0x27
- bl _call_via_r1
- b _082E5E4E
- .align 2, 0
-_082E5E34: .4byte 0x03007898
-_082E5E38: .4byte 0x03007894
-_082E5E3C: .4byte 0x03007890
-_082E5E40: .4byte 0x03007868
-_082E5E44:
- ldr r0, _082E5E54
- bl STWI_set_Callback_M
- bl STWI_send_MS_ChangeREQ
-_082E5E4E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E5E54: .4byte rfu_CB_sendData2 + 1
- thumb_func_end rfu_REQ_sendData
-
- thumb_func_start rfu_CB_sendData
-rfu_CB_sendData: @ 82E5E58
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r1, 16
- lsrs r7, r1, 16
- cmp r7, 0
- bne _082E5EC2
- movs r6, 0
- ldr r0, _082E5EE0
- mov r8, r0
-_082E5E6C:
- ldr r0, _082E5EE4
- lsls r2, r6, 2
- adds r0, r2, r0
- ldr r1, [r0]
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _082E5E7E
- movs r0, 0
- strb r0, [r1, 0x2]
-_082E5E7E:
- ldr r0, _082E5EE8
- adds r0, r2, r0
- ldr r4, [r0]
- ldrh r0, [r4]
- cmp r0, r8
- bne _082E5EB8
- adds r0, r6, 0
- movs r1, 0
- adds r2, r4, 0
- bl rfu_STC_releaseFrame
- ldr r5, _082E5EEC
- ldr r2, [r5]
- ldrb r1, [r4, 0x1A]
- ldrb r0, [r2, 0x4]
- bics r0, r1
- strb r0, [r2, 0x4]
- adds r0, r4, 0
- adds r0, 0x2D
- ldrb r3, [r0]
- cmp r3, 0x1
- bne _082E5EB4
- ldr r1, [r5]
- lsls r3, r6
- ldrb r0, [r1, 0x7]
- orrs r3, r0
- strb r3, [r1, 0x7]
-_082E5EB4:
- movs r0, 0x26
- strh r0, [r4]
-_082E5EB8:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _082E5E6C
-_082E5EC2:
- ldr r0, _082E5EEC
- ldr r1, [r0]
- ldrb r0, [r1, 0xE]
- movs r0, 0
- strb r0, [r1, 0xE]
- movs r0, 0x24
- adds r1, r7, 0
- bl rfu_STC_REQ_callback
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E5EE0: .4byte 0x00008020
-_082E5EE4: .4byte 0x03007870
-_082E5EE8: .4byte 0x03007880
-_082E5EEC: .4byte 0x03007890
- thumb_func_end rfu_CB_sendData
-
- thumb_func_start rfu_CB_sendData2
-rfu_CB_sendData2: @ 82E5EF0
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x24
- bl rfu_STC_REQ_callback
- pop {r0}
- bx r0
- thumb_func_end rfu_CB_sendData2
-
- thumb_func_start sub_82E5F00
-sub_82E5F00: @ 82E5F00
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0
- beq _082E5F16
- movs r0, 0x24
- bl rfu_STC_REQ_callback
- b _082E5F22
-_082E5F16:
- cmp r0, 0xFF
- bne _082E5F22
- movs r0, 0xFF
- movs r1, 0
- bl rfu_STC_REQ_callback
-_082E5F22:
- pop {r0}
- bx r0
- thumb_func_end sub_82E5F00
-
- thumb_func_start rfu_constructSendLLFrame
-rfu_constructSendLLFrame: @ 82E5F28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, _082E5FD4
- ldr r2, [r0]
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _082E5F40
- b _082E6044
-_082E5F40:
- ldrb r0, [r2, 0x4]
- ldrb r1, [r2, 0x5]
- orrs r0, r1
- ldrb r1, [r2, 0x6]
- orrs r0, r1
- cmp r0, 0
- beq _082E6044
- ldrb r0, [r2, 0xE]
- movs r0, 0
- strb r0, [r2, 0xE]
- mov r8, r0
- ldr r0, _082E5FD8
- ldr r0, [r0]
- adds r0, 0x6C
- str r0, [sp]
- movs r6, 0
- movs r0, 0x80
- lsls r0, 8
- mov r9, r0
- ldr r1, _082E5FDC
- mov r10, r1
-_082E5F6A:
- movs r5, 0
- ldr r0, _082E5FE0
- lsls r7, r6, 2
- adds r4, r7, r0
- ldr r2, [r4]
- ldrh r1, [r2]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _082E5F8A
- adds r0, r6, 0
- mov r1, sp
- bl rfu_STC_NI_constructLLSF
- lsls r0, 16
- lsrs r5, r0, 16
-_082E5F8A:
- ldr r2, [r4]
- ldrh r1, [r2, 0x34]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _082E5FA6
- adds r2, 0x34
- adds r0, r6, 0
- mov r1, sp
- bl rfu_STC_NI_constructLLSF
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0
-_082E5FA6:
- ldr r0, _082E5FE4
- adds r0, r7, r0
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, r10
- bne _082E5FC0
- adds r0, r6, 0
- mov r1, sp
- bl rfu_STC_UNI_constructLLSF
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0
-_082E5FC0:
- cmp r5, 0
- beq _082E5FF4
- ldr r0, _082E5FD4
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _082E5FE8
- add r8, r5
- b _082E5FF4
- .align 2, 0
-_082E5FD4: .4byte 0x03007890
-_082E5FD8: .4byte 0x03007898
-_082E5FDC: .4byte 0x00008024
-_082E5FE0: .4byte 0x03007880
-_082E5FE4: .4byte 0x03007870
-_082E5FE8:
- adds r0, r7, r6
- adds r0, 0x8
- lsls r5, r0
- mov r2, r8
- orrs r2, r5
- mov r8, r2
-_082E5FF4:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _082E5F6A
- ldr r6, _082E6054
- mov r0, r8
- cmp r0, 0
- beq _082E603E
- ldr r2, [sp]
- movs r0, 0x3
- ands r0, r2
- ldr r5, _082E6058
- ldr r1, _082E605C
- cmp r0, 0
- beq _082E6026
- movs r4, 0
- movs r3, 0x3
-_082E6018:
- strb r4, [r2]
- adds r0, r2, 0x1
- str r0, [sp]
- adds r2, r0, 0
- ands r0, r3
- cmp r0, 0
- bne _082E6018
-_082E6026:
- ldr r0, [r1]
- mov r2, r8
- str r2, [r0, 0x68]
- ldr r0, [r5]
- ldrb r0, [r0]
- cmp r0, 0
- bne _082E603E
- ldr r0, [sp]
- subs r0, 0x6C
- ldr r1, [r1]
- subs r0, r1
- mov r8, r0
-_082E603E:
- ldr r0, [r6]
- mov r1, r8
- str r1, [r0, 0x24]
-_082E6044:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E6054: .4byte 0x03007894
-_082E6058: .4byte 0x03007890
-_082E605C: .4byte 0x03007898
- thumb_func_end rfu_constructSendLLFrame
-
- thumb_func_start rfu_STC_NI_constructLLSF
-rfu_STC_NI_constructLLSF: @ 82E6060
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r12, r1
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r2, _082E60DC
- ldr r0, [r2]
- ldrb r0, [r0]
- lsls r0, 4
- ldr r1, _082E60E0
- adds r0, r1
- mov r8, r0
- ldrh r1, [r4]
- ldr r0, _082E60E4
- cmp r1, r0
- bne _082E60CA
- adds r3, r4, 0
- adds r3, 0x20
- ldrb r1, [r3]
- lsls r1, 2
- adds r5, r4, 0x4
- adds r1, r5, r1
- ldr r2, [r4, 0x28]
- ldr r0, [r4, 0x30]
- adds r2, r0
- ldr r0, [r1]
- adds r6, r3, 0
- cmp r0, r2
- bcc _082E60CA
- movs r7, 0
-_082E60A8:
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _082E60B8
- strb r7, [r6]
-_082E60B8:
- ldrb r1, [r3]
- lsls r1, 2
- adds r1, r5, r1
- ldr r2, [r4, 0x28]
- ldr r0, [r4, 0x30]
- adds r2, r0
- ldr r0, [r1]
- cmp r0, r2
- bcs _082E60A8
-_082E60CA:
- ldrh r1, [r4]
- movs r0, 0x40
- ands r0, r1
- mov r9, r1
- cmp r0, 0
- beq _082E60E8
- movs r5, 0
- b _082E612C
- .align 2, 0
-_082E60DC: .4byte 0x03007890
-_082E60E0: .4byte 0x089a3220
-_082E60E4: .4byte 0x00008022
-_082E60E8:
- ldr r0, _082E6114
- cmp r9, r0
- bne _082E611C
- adds r3, r4, 0
- adds r3, 0x20
- ldrb r0, [r3]
- lsls r0, 2
- adds r1, r4, 0x4
- adds r1, r0
- ldrh r7, [r4, 0x2E]
- ldr r5, [r1]
- adds r2, r5, r7
- ldr r1, [r4, 0x28]
- ldr r0, [r4, 0x30]
- adds r0, r1, r0
- adds r6, r3, 0
- cmp r2, r0
- bls _082E6118
- subs r0, r5
- lsls r0, 16
- lsrs r5, r0, 16
- b _082E6130
- .align 2, 0
-_082E6114: .4byte 0x00008022
-_082E6118:
- adds r5, r7, 0
- b _082E6130
-_082E611C:
- ldrh r2, [r4, 0x2E]
- ldr r0, [r4, 0x14]
- cmp r0, r2
- bcc _082E6128
- adds r5, r2, 0
- b _082E612C
-_082E6128:
- lsls r0, 16
- lsrs r5, r0, 16
-_082E612C:
- adds r6, r4, 0
- adds r6, 0x20
-_082E6130:
- movs r3, 0xF
- mov r0, r9
- ands r3, r0
- mov r1, r8
- ldrb r1, [r1, 0x3]
- lsls r3, r1
- ldrb r0, [r4, 0x1F]
- mov r2, r8
- ldrb r2, [r2, 0x4]
- lsls r0, r2
- orrs r3, r0
- ldrb r1, [r6]
- adds r0, r1, 0
- mov r7, r8
- ldrb r7, [r7, 0x5]
- lsls r0, r7
- orrs r3, r0
- adds r0, r4, 0
- adds r0, 0x21
- adds r0, r1
- ldrb r0, [r0]
- mov r1, r8
- ldrb r1, [r1, 0x6]
- lsls r0, r1
- orrs r3, r0
- orrs r3, r5
- str r3, [sp]
- ldr r2, _082E61EC
- ldr r0, [r2]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _082E6178
- ldrb r0, [r4, 0x1A]
- lsls r0, 18
- orrs r3, r0
- str r3, [sp]
-_082E6178:
- mov r2, sp
- movs r3, 0
- mov r7, r8
- ldrb r7, [r7]
- cmp r3, r7
- bcs _082E61A2
-_082E6184:
- mov r0, r12
- ldr r1, [r0]
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r1, 0x1
- mov r7, r12
- str r1, [r7]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- mov r0, r8
- ldrb r0, [r0]
- cmp r3, r0
- bcc _082E6184
-_082E61A2:
- cmp r5, 0
- beq _082E61C2
- ldrb r1, [r6]
- lsls r1, 2
- adds r0, r4, 0x4
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x4]
- ldr r0, _082E61F0
- ldr r1, [r0]
- add r0, sp, 0x4
- ldr r3, [r1, 0x4]
- mov r1, r12
- adds r2, r5, 0
- bl _call_via_r3
-_082E61C2:
- ldrh r1, [r4]
- ldr r0, _082E61F4
- cmp r1, r0
- bne _082E61DC
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _082E61DC
- movs r0, 0
- strb r0, [r6]
-_082E61DC:
- ldr r0, _082E61EC
- ldr r2, [r0]
- ldrb r1, [r2]
- cmp r1, 0x1
- bne _082E61F8
- ldrb r0, [r2, 0xE]
- strb r1, [r2, 0xE]
- b _082E6206
- .align 2, 0
-_082E61EC: .4byte 0x03007890
-_082E61F0: .4byte 0x03007898
-_082E61F4: .4byte 0x00008022
-_082E61F8:
- movs r0, 0x1
- mov r1, r10
- lsls r0, r1
- ldrb r1, [r2, 0xE]
- orrs r0, r1
- ldrb r1, [r2, 0xE]
- strb r0, [r2, 0xE]
-_082E6206:
- mov r2, r8
- ldrb r0, [r2]
- adds r0, r5, r0
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end rfu_STC_NI_constructLLSF
-
- thumb_func_start rfu_STC_UNI_constructLLSF
-rfu_STC_UNI_constructLLSF: @ 82E6220
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r6, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, _082E6248
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _082E6244
- ldrb r0, [r4, 0x3]
- cmp r0, 0
- bne _082E624C
-_082E6244:
- movs r0, 0
- b _082E62E8
- .align 2, 0
-_082E6248: .4byte 0x03007870
-_082E624C:
- ldr r0, _082E62C4
- ldr r2, [r0]
- ldrb r0, [r2]
- lsls r0, 4
- ldr r1, _082E62C8
- adds r5, r0, r1
- ldrh r0, [r4]
- movs r1, 0xF
- ands r1, r0
- ldrb r0, [r5, 0x3]
- lsls r1, r0
- ldrh r0, [r4, 0x4]
- orrs r1, r0
- str r1, [sp]
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _082E6276
- ldrb r0, [r4, 0x3]
- lsls r0, 18
- orrs r1, r0
- str r1, [sp]
-_082E6276:
- mov r2, sp
- movs r3, 0
- ldr r1, _082E62CC
- mov r12, r1
- add r7, sp, 0x4
- ldrb r0, [r5]
- cmp r3, r0
- bcs _082E629E
-_082E6286:
- ldr r1, [r6]
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r1, 0x1
- str r1, [r6]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r1, [r5]
- cmp r3, r1
- bcc _082E6286
-_082E629E:
- ldr r0, [r4, 0x8]
- str r0, [sp, 0x4]
- mov r2, r12
- ldr r0, [r2]
- ldrh r2, [r4, 0x4]
- ldr r3, [r0, 0x4]
- adds r0, r7, 0
- adds r1, r6, 0
- bl _call_via_r3
- ldr r0, _082E62C4
- ldr r2, [r0]
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _082E62D0
- ldrb r0, [r2, 0xE]
- movs r0, 0x10
- b _082E62DC
- .align 2, 0
-_082E62C4: .4byte 0x03007890
-_082E62C8: .4byte 0x089a3220
-_082E62CC: .4byte 0x03007898
-_082E62D0:
- movs r0, 0x10
- mov r1, r8
- lsls r0, r1
- ldrb r1, [r2, 0xE]
- orrs r0, r1
- ldrb r1, [r2, 0xE]
-_082E62DC:
- strb r0, [r2, 0xE]
- ldrh r0, [r4, 0x4]
- ldrb r5, [r5]
- adds r0, r5
- lsls r0, 16
- lsrs r0, 16
-_082E62E8:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end rfu_STC_UNI_constructLLSF
-
- thumb_func_start rfu_REQ_recvData
-rfu_REQ_recvData: @ 82E62F4
- push {r4,lr}
- ldr r0, _082E6328
- ldr r4, [r0]
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _082E6320
- ldr r2, _082E632C
- ldr r3, [r2]
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- orrs r0, r1
- ldrb r1, [r4, 0x6]
- orrs r0, r1
- movs r1, 0
- strb r0, [r3, 0x3]
- ldr r0, [r2]
- strb r1, [r0, 0x4]
- ldr r0, _082E6330
- bl STWI_set_Callback_M
- bl STWI_send_DataRxREQ
-_082E6320:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_082E6328: .4byte 0x03007890
-_082E632C: .4byte 0x03007894
-_082E6330: .4byte rfu_CB_recvData + 1
- thumb_func_end rfu_REQ_recvData
-
- thumb_func_start rfu_CB_recvData
-rfu_CB_recvData: @ 82E6334
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- lsrs r7, r1, 16
- cmp r7, 0
- bne _082E63F8
- ldr r0, _082E6370
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _082E63F8
- ldr r0, _082E6374
- ldr r0, [r0]
- strb r7, [r0, 0x1]
- ldr r0, _082E6378
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _082E637C
- bl rfu_STC_PARENT_analyzeRecvPacket
- b _082E6380
- .align 2, 0
-_082E6370: .4byte 0x03007898
-_082E6374: .4byte 0x03007894
-_082E6378: .4byte 0x03007890
-_082E637C:
- bl rfu_STC_CHILD_analyzeRecvPacket
-_082E6380:
- movs r6, 0
- ldr r0, _082E6410
- mov r8, r0
- ldr r3, _082E6414
-_082E6388:
- ldr r0, _082E6418
- lsls r1, r6, 2
- adds r1, r0
- ldr r4, [r1]
- ldrh r0, [r4, 0x34]
- cmp r0, r8
- bne _082E63DA
- ldr r0, _082E641C
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- asrs r0, r6
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _082E63DA
- adds r5, r4, 0
- adds r5, 0x34
- adds r0, r4, 0
- adds r0, 0x61
- ldrb r2, [r0]
- cmp r2, 0x1
- bne _082E63BE
- ldr r1, [r3]
- lsls r2, r6
- ldrb r0, [r1, 0x7]
- orrs r2, r0
- strb r2, [r1, 0x7]
-_082E63BE:
- adds r0, r6, 0
- movs r1, 0x1
- adds r2, r5, 0
- str r3, [sp]
- bl rfu_STC_releaseFrame
- ldr r3, [sp]
- ldr r2, [r3]
- ldrb r1, [r5, 0x1A]
- ldrb r0, [r2, 0x5]
- bics r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x46
- strh r0, [r4, 0x34]
-_082E63DA:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _082E6388
- ldr r0, _082E641C
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _082E63F8
- adds r7, r0, 0
- movs r1, 0xE0
- lsls r1, 3
- adds r0, r1, 0
- orrs r7, r0
-_082E63F8:
- mov r0, r9
- adds r1, r7, 0
- bl rfu_STC_REQ_callback
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E6410: .4byte 0x00008043
-_082E6414: .4byte 0x03007890
-_082E6418: .4byte 0x03007880
-_082E641C: .4byte 0x03007894
- thumb_func_end rfu_CB_recvData
-
- thumb_func_start rfu_STC_PARENT_analyzeRecvPacket
-rfu_STC_PARENT_analyzeRecvPacket: @ 82E6420
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r1, _082E64B0
- ldr r0, [r1]
- adds r0, 0xDC
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- lsrs r3, r0, 8
- movs r5, 0
- mov r12, r1
- movs r7, 0x1F
- ldr r4, _082E64B4
- movs r6, 0x1
-_082E643A:
- mov r0, sp
- adds r1, r0, r5
- adds r0, r3, 0
- ands r0, r7
- strb r0, [r1]
- lsrs r3, 5
- cmp r0, 0
- bne _082E6456
- ldr r0, [r4]
- adds r1, r6, 0
- lsls r1, r5
- ldrb r2, [r0, 0x1]
- orrs r1, r2
- strb r1, [r0, 0x1]
-_082E6456:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _082E643A
- mov r1, r12
- ldr r0, [r1]
- adds r0, 0xDC
- ldr r0, [r0]
- adds r6, r0, 0
- adds r6, 0x8
- movs r5, 0
-_082E646E:
- mov r0, sp
- adds r1, r0, r5
- ldrb r0, [r1]
- adds r7, r5, 0x1
- cmp r0, 0
- beq _082E64A0
- adds r4, r1, 0
-_082E647C:
- ldrb r2, [r4]
- adds r0, r5, 0
- adds r1, r6, 0
- bl rfu_STC_analyzeLLSF
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0
- ldrb r1, [r4]
- subs r1, r0
- strb r1, [r4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _082E64A0
- lsls r0, r1, 24
- cmp r0, 0
- bne _082E647C
-_082E64A0:
- lsls r0, r7, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _082E646E
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E64B0: .4byte 0x03007898
-_082E64B4: .4byte 0x03007894
- thumb_func_end rfu_STC_PARENT_analyzeRecvPacket
-
- thumb_func_start rfu_STC_CHILD_analyzeRecvPacket
-rfu_STC_CHILD_analyzeRecvPacket: @ 82E64B8
- push {r4-r6,lr}
- ldr r0, _082E6508
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r1, [r0]
- ldrh r0, [r1, 0x4]
- movs r4, 0x7F
- ands r4, r0
- adds r5, r1, 0
- adds r5, 0x8
- cmp r4, 0
- bne _082E64D8
- ldr r0, _082E650C
- ldr r1, [r0]
- movs r0, 0xF
- strb r0, [r1, 0x1]
-_082E64D8:
- movs r0, 0x80
- lsls r0, 8
- adds r6, r0, 0
-_082E64DE:
- cmp r4, 0
- beq _082E6500
- movs r0, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl rfu_STC_analyzeLLSF
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- ands r0, r6
- cmp r0, 0
- beq _082E64DE
-_082E6500:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_082E6508: .4byte 0x03007898
-_082E650C: .4byte 0x03007894
- thumb_func_end rfu_STC_CHILD_analyzeRecvPacket
-
- thumb_func_start rfu_STC_analyzeLLSF
-rfu_STC_analyzeLLSF: @ 82E6510
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r7, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r2, 16
- lsrs r3, r2, 16
- ldr r2, _082E6544
- ldr r0, [r2]
- ldrb r0, [r0]
- mvns r0, r0
- movs r1, 0x1
- ands r0, r1
- lsls r0, 4
- ldr r1, _082E6548
- adds r6, r0, r1
- ldrb r0, [r6]
- cmp r3, r0
- bcs _082E654C
- adds r0, r3, 0
- b _082E673E
- .align 2, 0
-_082E6544: .4byte 0x03007890
-_082E6548: .4byte 0x089a3220
-_082E654C:
- movs r5, 0
- movs r4, 0
- ldrb r3, [r6, 0x1]
- ldrb r1, [r6, 0x7]
- mov r8, r1
- ldr r2, [sp]
- mov r9, r2
- cmp r4, r0
- bcs _082E6574
- adds r2, r0, 0
-_082E6560:
- ldrb r0, [r7]
- lsls r1, r4, 3
- lsls r0, r1
- orrs r5, r0
- adds r7, 0x1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r2
- bcc _082E6560
-_082E6574:
- adds r0, r5, 0
- lsrs r0, r3
- mov r3, r8
- ands r0, r3
- ldr r1, _082E664C
- mov r10, r1
- mov r3, r10
- mov r2, r9
- ands r3, r2
- orrs r3, r0
- str r3, [sp]
- adds r0, r5, 0
- ldrb r1, [r6, 0x2]
- lsrs r0, r1
- ldrb r1, [r6, 0x8]
- ands r0, r1
- lsls r0, 8
- ldr r4, _082E6650
- adds r2, r4, 0
- ands r2, r3
- orrs r2, r0
- str r2, [sp]
- adds r0, r5, 0
- ldrb r3, [r6, 0x3]
- lsrs r0, r3
- ldrb r1, [r6, 0x9]
- ands r0, r1
- lsls r0, 16
- ldr r3, _082E6654
- ands r3, r2
- orrs r3, r0
- str r3, [sp]
- adds r0, r5, 0
- ldrb r1, [r6, 0x4]
- lsrs r0, r1
- ldrb r1, [r6, 0xA]
- ands r0, r1
- lsls r0, 24
- ldr r2, _082E6658
- mov r8, r2
- mov r1, r8
- ands r1, r3
- orrs r1, r0
- mov r8, r1
- str r1, [sp]
- adds r1, r5, 0
- ldrb r2, [r6, 0x5]
- lsrs r1, r2
- ldrb r0, [r6, 0xB]
- ands r1, r0
- mov r9, sp
- ldr r2, [sp, 0x4]
- mov r3, r10
- ands r2, r3
- orrs r2, r1
- str r2, [sp, 0x4]
- adds r0, r5, 0
- ldrb r1, [r6, 0x6]
- lsrs r0, r1
- ldrb r1, [r6, 0xC]
- ands r0, r1
- lsls r0, 8
- ands r4, r2
- orrs r4, r0
- str r4, [sp, 0x4]
- ldrh r0, [r6, 0xE]
- ands r5, r0
- lsls r1, r5, 16
- ldr r0, _082E665C
- ands r0, r4
- orrs r0, r1
- str r0, [sp, 0x4]
- lsrs r0, 16
- ldrb r6, [r6]
- adds r0, r6
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- beq _082E661A
- b _082E673C
-_082E661A:
- ldr r2, _082E6660
- ldr r3, [r2]
- ldrb r2, [r3]
- cmp r2, 0x1
- bne _082E66D8
- ldrb r0, [r3, 0x2]
- mov r5, r12
- asrs r0, r5
- ands r0, r2
- cmp r0, 0
- bne _082E6632
- b _082E673C
-_082E6632:
- mov r1, r8
- lsrs r0, r1, 16
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _082E6664
- mov r0, r12
- mov r1, sp
- adds r2, r7, 0
- bl rfu_STC_UNI_receive
- b _082E673C
- .align 2, 0
-_082E664C: .4byte 0xffffff00
-_082E6650: .4byte 0xffff00ff
-_082E6654: .4byte 0xff00ffff
-_082E6658: .4byte 0x00ffffff
-_082E665C: .4byte 0x0000ffff
-_082E6660: .4byte 0x03007890
-_082E6664:
- mov r5, r9
- ldrb r0, [r5, 0x3]
- cmp r0, 0
- bne _082E6678
- mov r0, r12
- mov r1, sp
- adds r2, r7, 0
- bl rfu_STC_NI_receive_Receiver
- b _082E673C
-_082E6678:
- movs r4, 0
- ldr r1, _082E6690
- ldr r0, [r1]
- ldrb r0, [r0, 0x1A]
- mov r5, r12
- asrs r0, r5
- ands r0, r2
- cmp r0, 0
- beq _082E6694
- ldrb r0, [r3, 0x4]
- b _082E66BA
- .align 2, 0
-_082E6690: .4byte 0x03007880
-_082E6694:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bhi _082E673C
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x1A]
- mov r2, r12
- asrs r0, r2
- movs r2, 0x1
- ands r0, r2
- cmp r0, 0
- beq _082E6694
- ldr r3, _082E66D4
- ldr r0, [r3]
- ldrb r0, [r0, 0x4]
- mov r5, r12
-_082E66BA:
- asrs r0, r5
- ands r0, r2
- cmp r0, 0
- beq _082E6694
- cmp r4, 0x3
- bhi _082E673C
- adds r0, r4, 0
- mov r1, r12
- mov r2, sp
- adds r3, r7, 0
- bl rfu_STC_NI_receive_Sender
- b _082E673C
- .align 2, 0
-_082E66D4: .4byte 0x03007890
-_082E66D8:
- ldrb r1, [r3, 0x2]
- mov r2, r9
- ldrb r0, [r2, 0x1]
- adds r5, r1, 0
- ands r5, r0
- cmp r5, 0
- beq _082E673C
- movs r4, 0
- movs r6, 0x1
-_082E66EA:
- adds r0, r5, 0
- asrs r0, r4
- ands r0, r6
- cmp r0, 0
- beq _082E6732
- mov r1, sp
- ldrb r0, [r1, 0x2]
- cmp r0, 0x4
- bne _082E6706
- adds r0, r4, 0
- adds r2, r7, 0
- bl rfu_STC_UNI_receive
- b _082E6732
-_082E6706:
- ldrb r0, [r1, 0x3]
- cmp r0, 0
- bne _082E6718
- adds r0, r4, 0
- mov r1, sp
- adds r2, r7, 0
- bl rfu_STC_NI_receive_Receiver
- b _082E6732
-_082E6718:
- ldr r0, _082E6750
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- asrs r0, r4
- ands r0, r6
- cmp r0, 0
- beq _082E6732
- adds r0, r4, 0
- adds r1, r4, 0
- mov r2, sp
- adds r3, r7, 0
- bl rfu_STC_NI_receive_Sender
-_082E6732:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _082E66EA
-_082E673C:
- mov r0, r10
-_082E673E:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_082E6750: .4byte 0x03007890
- thumb_func_end rfu_STC_analyzeLLSF
-
- thumb_func_start rfu_STC_UNI_receive
-rfu_STC_UNI_receive: @ 82E6754
- push {r4-r7,lr}
- sub sp, 0x8
- adds r6, r1, 0
- str r2, [sp]
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, _082E6788
- lsls r1, r7, 2
- adds r1, r2
- ldr r3, [r1]
- adds r5, r3, 0
- adds r5, 0xC
- movs r4, 0
- movs r0, 0
- strh r0, [r5, 0x2]
- ldr r0, [r1]
- ldr r0, [r0, 0x18]
- adds r1, r2, 0
- ldrh r2, [r6, 0x6]
- cmp r0, r2
- bcs _082E6790
- movs r0, 0x49
- strh r0, [r3, 0xC]
- ldr r0, _082E678C
- strh r0, [r5, 0x2]
- b _082E67DE
- .align 2, 0
-_082E6788: .4byte 0x03007870
-_082E678C: .4byte 0x00000701
-_082E6790:
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _082E67A8
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- beq _082E67B4
- ldr r0, _082E67A4
- strh r0, [r5, 0x2]
- b _082E67DE
- .align 2, 0
-_082E67A4: .4byte 0x00000709
-_082E67A8:
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- beq _082E67B4
- movs r0, 0xE1
- lsls r0, 3
- strh r0, [r5, 0x2]
-_082E67B4:
- movs r4, 0
- ldr r0, _082E67FC
- strh r0, [r5]
- ldrh r0, [r6, 0x6]
- strh r0, [r5, 0x4]
- ldrh r2, [r6, 0x6]
- lsls r0, r7, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0, 0x14]
- str r0, [sp, 0x4]
- ldr r0, _082E6800
- ldr r0, [r0]
- add r1, sp, 0x4
- ldr r3, [r0, 0x4]
- mov r0, sp
- bl _call_via_r3
- movs r0, 0x1
- strb r0, [r5, 0x6]
- strh r4, [r5]
-_082E67DE:
- ldrh r0, [r5, 0x2]
- cmp r0, 0
- beq _082E67F2
- ldr r0, _082E6804
- ldr r2, [r0]
- movs r0, 0x10
- lsls r0, r7
- ldrb r1, [r2, 0x4]
- orrs r0, r1
- strb r0, [r2, 0x4]
-_082E67F2:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E67FC: .4byte 0x00008042
-_082E6800: .4byte 0x03007898
-_082E6804: .4byte 0x03007894
- thumb_func_end rfu_STC_UNI_receive
-
- thumb_func_start rfu_STC_NI_receive_Sender
-rfu_STC_NI_receive_Sender: @ 82E6808
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r2, 0
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r1, _082E68D4
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- mov r12, r0
- ldrh r0, [r0]
- mov r9, r0
- mov r0, r12
- adds r0, 0x21
- ldrb r2, [r6, 0x4]
- adds r0, r2
- ldrb r0, [r0]
- str r0, [sp]
- ldrb r2, [r6, 0x2]
- cmp r2, 0x2
- bne _082E6844
- ldr r0, _082E68D8
- cmp r9, r0
- beq _082E685E
-_082E6844:
- cmp r2, 0x1
- bne _082E684E
- ldr r0, _082E68DC
- cmp r9, r0
- beq _082E685E
-_082E684E:
- movs r3, 0x1B
- add r3, r12
- mov r8, r3
- cmp r2, 0x3
- bne _082E6882
- ldr r0, _082E68E0
- cmp r9, r0
- bne _082E6882
-_082E685E:
- ldrb r1, [r6, 0x4]
- mov r0, r12
- adds r0, 0x21
- adds r0, r1
- ldrb r0, [r0]
- movs r7, 0x1B
- add r7, r12
- mov r8, r7
- ldrb r2, [r6, 0x5]
- cmp r0, r2
- bne _082E6882
- adds r0, r7, r1
- movs r1, 0x1
- mov r3, r10
- lsls r1, r3
- ldrb r2, [r0]
- orrs r1, r2
- strb r1, [r0]
-_082E6882:
- ldrb r2, [r6, 0x4]
- mov r7, r8
- adds r0, r7, r2
- ldrb r0, [r0]
- mov r3, r12
- ldrb r1, [r3, 0x1A]
- ands r0, r1
- cmp r0, r1
- bne _082E697E
- adds r3, 0x21
- adds r2, r3, r2
- ldrb r0, [r2]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- movs r1, 0
- strb r0, [r2]
- ldrb r0, [r6, 0x4]
- add r0, r8
- strb r1, [r0]
- mov r7, r12
- ldrh r1, [r7]
- ldr r2, _082E68E4
- adds r0, r1, r2
- lsls r0, 16
- lsrs r0, 16
- adds r5, r3, 0
- cmp r0, 0x1
- bhi _082E6970
- ldr r0, _082E68DC
- cmp r1, r0
- bne _082E68E8
- ldrb r1, [r6, 0x4]
- lsls r1, 2
- subs r3, 0x1D
- adds r1, r3, r1
- ldrh r2, [r7, 0x2E]
- ldr r0, [r1]
- adds r0, r2
- str r0, [r1]
- b _082E68FE
- .align 2, 0
-_082E68D4: .4byte 0x03007880
-_082E68D8: .4byte 0x00008022
-_082E68DC: .4byte 0x00008021
-_082E68E0: .4byte 0x00008023
-_082E68E4: .4byte 0x00007fdf
-_082E68E8:
- ldrb r2, [r6, 0x4]
- lsls r2, 2
- mov r3, r12
- adds r3, 0x4
- adds r2, r3, r2
- mov r7, r12
- ldrh r1, [r7, 0x2E]
- lsls r1, 2
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
-_082E68FE:
- mov r0, r12
- ldrh r1, [r0, 0x2E]
- ldr r0, [r0, 0x14]
- subs r0, r1
- mov r1, r12
- str r0, [r1, 0x14]
- cmp r0, 0
- beq _082E6912
- cmp r0, 0
- bge _082E697E
-_082E6912:
- mov r0, r12
- adds r0, 0x20
- movs r2, 0
- strb r2, [r0]
- mov r7, r12
- ldrh r1, [r7]
- ldr r0, _082E6954
- cmp r1, r0
- bne _082E695C
- movs r4, 0
-_082E6926:
- adds r0, r5, r4
- movs r1, 0x1
- strb r1, [r0]
- lsls r1, r4, 2
- adds r1, r3, r1
- mov r2, r12
- ldrh r0, [r2, 0x2E]
- adds r2, r0, 0
- muls r2, r4
- mov r7, r12
- ldr r0, [r7, 0x28]
- adds r0, r2
- str r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _082E6926
- ldr r0, [r7, 0x30]
- str r0, [r7, 0x14]
- ldr r0, _082E6958
- strh r0, [r7]
- b _082E697E
- .align 2, 0
-_082E6954: .4byte 0x00008021
-_082E6958: .4byte 0x00008022
-_082E695C:
- strb r2, [r5]
- mov r0, r12
- str r2, [r0, 0x14]
- ldr r0, _082E696C
- mov r1, r12
- strh r0, [r1]
- b _082E697E
- .align 2, 0
-_082E696C: .4byte 0x00008023
-_082E6970:
- lsls r1, 16
- ldr r0, _082E69E0
- cmp r1, r0
- bne _082E697E
- ldr r0, _082E69E4
- mov r2, r12
- strh r0, [r2]
-_082E697E:
- mov r3, r12
- ldrh r0, [r3]
- cmp r0, r9
- bne _082E69A8
- ldrb r2, [r6, 0x4]
- mov r0, r12
- adds r0, 0x21
- adds r0, r2
- ldrb r0, [r0]
- ldr r7, [sp]
- cmp r0, r7
- bne _082E69A8
- mov r1, r8
- adds r0, r1, r2
- ldrb r0, [r0]
- mov r2, r10
- asrs r0, r2
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _082E69CE
-_082E69A8:
- ldr r4, _082E69E8
- ldrh r2, [r4]
- movs r0, 0
- strh r0, [r4]
- ldr r0, _082E69EC
- ldr r3, [r0]
- movs r0, 0x10
- mov r7, r10
- lsls r0, r7
- ldrb r1, [r3, 0x2]
- orrs r0, r1
- movs r1, 0
- strb r0, [r3, 0x2]
- lsls r0, r7, 2
- ldr r3, _082E69F0
- adds r0, r3
- ldr r0, [r0]
- strh r1, [r0, 0x2]
- strh r2, [r4]
-_082E69CE:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E69E0: .4byte 0x80230000
-_082E69E4: .4byte 0x00008020
-_082E69E8: .4byte 0x04000208
-_082E69EC: .4byte 0x03007894
-_082E69F0: .4byte 0x03007880
- thumb_func_end rfu_STC_NI_receive_Sender
-
- thumb_func_start rfu_STC_NI_receive_Receiver
-rfu_STC_NI_receive_Receiver: @ 82E69F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r1, 0
- str r2, [sp]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r7, 0
- ldr r1, _082E6A54
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r5, r4, 0
- adds r5, 0x34
- ldrh r0, [r4, 0x34]
- mov r9, r0
- ldrb r0, [r6, 0x4]
- adds r3, r4, 0
- adds r3, 0x55
- adds r0, r3, r0
- ldrb r0, [r0]
- mov r10, r0
- ldrb r0, [r6, 0x2]
- cmp r0, 0x3
- bne _082E6A64
- ldr r0, _082E6A58
- ldr r2, [r0]
- movs r0, 0x1
- mov r1, r8
- lsls r0, r1
- ldrb r1, [r2, 0x1]
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldrh r1, [r4, 0x34]
- ldr r0, _082E6A5C
- cmp r1, r0
- bne _082E6AAA
- adds r0, r4, 0
- adds r0, 0x54
- strb r7, [r0]
- strb r7, [r3]
- ldr r0, _082E6A60
- strh r0, [r4, 0x34]
- b _082E6AAA
- .align 2, 0
-_082E6A54: .4byte 0x03007880
-_082E6A58: .4byte 0x03007894
-_082E6A5C: .4byte 0x00008042
-_082E6A60: .4byte 0x00008043
-_082E6A64:
- cmp r0, 0x2
- bne _082E6A90
- ldr r0, _082E6A88
- cmp r9, r0
- bne _082E6A7C
- ldr r0, [r5, 0x14]
- cmp r0, 0
- bne _082E6A7C
- mov r0, r8
- adds r1, r5, 0
- bl rfu_STC_NI_initSlot_asRecvDataEntity
-_082E6A7C:
- ldrh r1, [r5]
- ldr r0, _082E6A8C
- cmp r1, r0
- bne _082E6AAA
- b _082E6AAE
- .align 2, 0
-_082E6A88: .4byte 0x00008041
-_082E6A8C: .4byte 0x00008042
-_082E6A90:
- cmp r0, 0x1
- bne _082E6AAA
- ldr r7, _082E6B5C
- cmp r9, r7
- beq _082E6AAE
- mov r0, r8
- adds r1, r5, 0
- bl rfu_STC_NI_initSlot_asRecvControllData
- ldrh r0, [r4, 0x34]
- cmp r0, r7
- bne _082E6B4A
- movs r7, 0x1
-_082E6AAA:
- cmp r7, 0
- beq _082E6B04
-_082E6AAE:
- ldrb r2, [r6, 0x5]
- ldrb r3, [r6, 0x4]
- adds r4, r5, 0
- adds r4, 0x21
- adds r0, r4, r3
- ldrb r0, [r0]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- cmp r2, r0
- bne _082E6B04
- ldr r0, _082E6B60
- ldr r0, [r0]
- lsls r1, r3, 2
- adds r1, 0x4
- adds r1, r5, r1
- ldrh r2, [r6, 0x6]
- ldr r3, [r0, 0x4]
- mov r0, sp
- bl _call_via_r3
- ldrh r1, [r5]
- ldr r0, _082E6B64
- cmp r1, r0
- bne _082E6AF4
- ldrb r0, [r6, 0x4]
- lsls r0, 2
- adds r2, r5, 0x4
- adds r2, r0
- ldrh r0, [r5, 0x2E]
- lsls r1, r0, 1
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
-_082E6AF4:
- ldrh r1, [r6, 0x6]
- ldr r0, [r5, 0x14]
- subs r0, r1
- str r0, [r5, 0x14]
- ldrb r0, [r6, 0x4]
- adds r0, r4, r0
- ldrb r1, [r6, 0x5]
- strb r1, [r0]
-_082E6B04:
- ldrh r0, [r5, 0x18]
- cmp r0, 0
- bne _082E6B4A
- ldrb r0, [r6, 0x4]
- adds r1, r5, 0
- adds r1, 0x20
- strb r0, [r1]
- ldrh r0, [r5]
- cmp r0, r9
- bne _082E6B2C
- adds r0, r5, 0
- adds r0, 0x21
- ldrb r2, [r6, 0x4]
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, r10
- bne _082E6B2C
- ldrb r6, [r6, 0x5]
- cmp r0, r6
- bne _082E6B4A
-_082E6B2C:
- ldr r3, _082E6B68
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r0, _082E6B6C
- ldr r4, [r0]
- movs r0, 0x1
- mov r1, r8
- lsls r0, r1
- ldrb r1, [r4, 0x2]
- orrs r0, r1
- movs r1, 0
- strb r0, [r4, 0x2]
- strh r1, [r5, 0x2]
- strh r2, [r3]
-_082E6B4A:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E6B5C: .4byte 0x00008041
-_082E6B60: .4byte 0x03007898
-_082E6B64: .4byte 0x00008042
-_082E6B68: .4byte 0x04000208
-_082E6B6C: .4byte 0x03007894
- thumb_func_end rfu_STC_NI_receive_Receiver
-
- thumb_func_start rfu_STC_NI_initSlot_asRecvControllData
-rfu_STC_NI_initSlot_asRecvControllData: @ 82E6B70
- push {r4-r7,lr}
- adds r2, r1, 0
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _082E6B8C
- ldr r3, [r0]
- ldrb r1, [r3]
- mov r12, r0
- cmp r1, 0x1
- bne _082E6B90
- movs r5, 0x3
- adds r1, r3, 0
- adds r1, 0xF
- b _082E6B98
- .align 2, 0
-_082E6B8C: .4byte 0x03007890
-_082E6B90:
- movs r5, 0x2
- adds r0, r4, 0
- adds r0, 0x10
- adds r1, r3, r0
-_082E6B98:
- movs r7, 0x1
- adds r0, r7, 0
- lsls r0, r4
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, r6, 0
- ldrh r3, [r2]
- cmp r3, 0
- bne _082E6BF6
- ldrb r0, [r1]
- cmp r0, r5
- bcs _082E6BD0
- movs r0, 0x49
- strh r0, [r2]
- ldr r0, _082E6BC8
- strh r0, [r2, 0x18]
- ldr r0, _082E6BCC
- ldr r2, [r0]
- ldrb r1, [r2, 0x4]
- adds r0, r6, 0
- orrs r0, r1
- strb r0, [r2, 0x4]
- b _082E6BF6
- .align 2, 0
-_082E6BC8: .4byte 0x00000702
-_082E6BCC: .4byte 0x03007894
-_082E6BD0:
- strh r3, [r2, 0x18]
- ldrb r0, [r1]
- subs r0, r5
- strb r0, [r1]
- adds r0, r2, 0
- adds r0, 0x2D
- str r0, [r2, 0x4]
- movs r0, 0x7
- str r0, [r2, 0x14]
- strb r7, [r2, 0x1F]
- strh r3, [r2, 0x2E]
- strb r4, [r2, 0x1A]
- ldr r0, _082E6BFC
- strh r0, [r2]
- mov r0, r12
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- orrs r4, r0
- strb r4, [r1, 0x5]
-_082E6BF6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E6BFC: .4byte 0x00008041
- thumb_func_end rfu_STC_NI_initSlot_asRecvControllData
-
- thumb_func_start rfu_STC_NI_initSlot_asRecvDataEntity
-rfu_STC_NI_initSlot_asRecvDataEntity: @ 82E6C00
- push {r4-r7,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- adds r0, 0x2D
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _082E6C24
- ldr r0, _082E6C20
- lsls r1, r5, 5
- adds r1, 0x14
- ldr r0, [r0]
- adds r0, r1
- adds r0, 0x4
- b _082E6C7A
- .align 2, 0
-_082E6C20: .4byte 0x03007890
-_082E6C24:
- ldr r1, _082E6C68
- lsls r0, r5, 2
- adds r0, r1
- ldr r2, [r0]
- ldr r1, [r4, 0x30]
- ldr r0, [r2, 0x6C]
- cmp r1, r0
- bls _082E6C78
- movs r1, 0x80
- lsls r1, 17
- lsls r1, r5
- lsrs r1, 24
- ldr r0, _082E6C6C
- ldr r3, [r0]
- ldrb r2, [r3, 0x4]
- adds r0, r1, 0
- orrs r0, r2
- strb r0, [r3, 0x4]
- ldr r0, _082E6C70
- ldr r2, [r0]
- ldrb r0, [r2, 0x5]
- bics r0, r1
- strb r0, [r2, 0x5]
- ldr r0, _082E6C74
- strh r0, [r4, 0x18]
- movs r0, 0x47
- strh r0, [r4]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl rfu_STC_releaseFrame
- b _082E6CAC
- .align 2, 0
-_082E6C68: .4byte 0x03007880
-_082E6C6C: .4byte 0x03007894
-_082E6C70: .4byte 0x03007890
-_082E6C74: .4byte 0x00000701
-_082E6C78:
- ldr r0, [r2, 0x68]
-_082E6C7A:
- str r0, [r4, 0x4]
- movs r3, 0
- adds r6, r4, 0
- adds r6, 0x21
- movs r7, 0
- adds r5, r4, 0x4
-_082E6C86:
- adds r0, r6, r3
- strb r7, [r0]
- lsls r1, r3, 2
- adds r1, r5, r1
- ldrh r0, [r4, 0x2E]
- adds r2, r0, 0
- muls r2, r3
- ldr r0, [r4, 0x4]
- adds r0, r2
- str r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _082E6C86
- ldr r0, [r4, 0x30]
- str r0, [r4, 0x14]
- ldr r0, _082E6CB4
- strh r0, [r4]
-_082E6CAC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E6CB4: .4byte 0x00008042
- thumb_func_end rfu_STC_NI_initSlot_asRecvDataEntity
-
- thumb_func_start rfu_NI_checkCommFailCounter
-rfu_NI_checkCommFailCounter: @ 82E6CB8
- push {r4-r7,lr}
- ldr r2, _082E6D44
- ldr r0, [r2]
- ldrb r1, [r0, 0x4]
- ldrb r0, [r0, 0x5]
- orrs r0, r1
- cmp r0, 0
- beq _082E6D3E
- ldr r1, _082E6D48
- ldrh r0, [r1]
- mov r12, r0
- movs r0, 0
- strh r0, [r1]
- ldr r1, _082E6D4C
- ldr r0, [r1]
- ldrb r0, [r0, 0x2]
- lsrs r7, r0, 4
- movs r3, 0
- adds r6, r1, 0
- adds r5, r2, 0
- ldr r4, _082E6D50
-_082E6CE2:
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r3
- lsrs r2, r0, 24
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- ands r0, r2
- cmp r0, 0
- beq _082E6D0A
- ldr r0, [r6]
- ldrb r0, [r0, 0x2]
- ands r0, r2
- cmp r0, 0
- bne _082E6D0A
- lsls r0, r3, 2
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x2]
- adds r0, 0x1
- strh r0, [r1, 0x2]
-_082E6D0A:
- ldr r0, [r5]
- ldrb r0, [r0, 0x5]
- ands r0, r2
- cmp r0, 0
- beq _082E6D28
- adds r0, r7, 0
- ands r0, r2
- cmp r0, 0
- bne _082E6D28
- lsls r0, r3, 2
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x36]
- adds r0, 0x1
- strh r0, [r1, 0x36]
-_082E6D28:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _082E6CE2
- ldr r0, [r6]
- movs r1, 0
- strb r1, [r0, 0x2]
- ldr r0, _082E6D48
- mov r1, r12
- strh r1, [r0]
-_082E6D3E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_082E6D44: .4byte 0x03007890
-_082E6D48: .4byte 0x04000208
-_082E6D4C: .4byte 0x03007894
-_082E6D50: .4byte 0x03007880
- thumb_func_end rfu_NI_checkCommFailCounter
-
- thumb_func_start rfu_REQ_noise
-rfu_REQ_noise: @ 82E6D54
- push {lr}
- ldr r0, _082E6D68
- bl STWI_set_Callback_M
- movs r0, 0x1
- movs r1, 0
- bl STWI_send_TestModeREQ
- pop {r0}
- bx r0
- .align 2, 0
-_082E6D68: .4byte rfu_STC_REQ_callback + 1
- thumb_func_end rfu_REQ_noise
-
- thumb_func_start sub_82E6D6C
-sub_82E6D6C: @ 82E6D6C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _082E6D84
- ldrh r0, [r0]
- cmp r0, 0
- bne _082E6D88
- movs r0, 0x1
- negs r0, r0
- b _082E6E08
- .align 2, 0
-_082E6D84: .4byte 0x04000208
-_082E6D88:
- ldr r0, _082E6DB4
- ldrh r0, [r0]
- mov r8, r0
- ldr r4, _082E6DB8
- ldr r1, [r4]
- movs r0, 0xA
- str r0, [r1]
- ldr r0, _082E6DBC
- bl STWI_set_Callback_ID
- bl sub_82E6E20
- ldr r0, [r4]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r1, _082E6DC0
- adds r4, r0, r1
- lsls r0, r5, 27
- lsrs r5, r0, 24
- movs r7, 0
- b _082E6DD6
- .align 2, 0
-_082E6DB4: .4byte 0x04000200
-_082E6DB8: .4byte 0x03007868
-_082E6DBC: .4byte sub_82E6F88 + 1
-_082E6DC0: .4byte 0x04000100
-_082E6DC4:
- strh r6, [r4, 0x2]
- strh r6, [r4]
- movs r0, 0x83
- strh r0, [r4, 0x2]
-_082E6DCC:
- ldrh r0, [r4]
- cmp r0, 0x1F
- bls _082E6DCC
- strh r7, [r4, 0x2]
- strh r7, [r4]
-_082E6DD6:
- subs r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xFF
- beq _082E6DEA
- bl sub_82E6E94
- adds r6, r0, 0
- cmp r6, 0
- beq _082E6DC4
-_082E6DEA:
- ldr r1, _082E6E14
- movs r0, 0
- strh r0, [r1]
- ldr r0, _082E6E18
- mov r2, r8
- strh r2, [r0]
- movs r0, 0x1
- strh r0, [r1]
- ldr r0, _082E6E1C
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1]
- bl STWI_set_Callback_ID
- adds r0, r6, 0
-_082E6E08:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_082E6E14: .4byte 0x04000208
-_082E6E18: .4byte 0x04000200
-_082E6E1C: .4byte 0x03007868
- thumb_func_end sub_82E6D6C
-
- thumb_func_start sub_82E6E20
-sub_82E6E20: @ 82E6E20
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r3, _082E6E78
- movs r4, 0
- strh r4, [r3]
- ldr r2, _082E6E7C
- ldr r0, _082E6E80
- ldr r0, [r0]
- movs r1, 0x8
- ldrb r0, [r0, 0xA]
- lsls r1, r0
- movs r5, 0x80
- orrs r1, r5
- ldrh r0, [r2]
- bics r0, r1
- strh r0, [r2]
- movs r0, 0x1
- strh r0, [r3]
- ldr r0, _082E6E84
- strh r4, [r0]
- subs r2, 0xD8
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1, 0
- strh r0, [r2]
- ldrh r0, [r2]
- movs r3, 0x81
- lsls r3, 7
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- movs r0, 0
- str r0, [sp]
- ldr r1, _082E6E88
- ldr r2, _082E6E8C
- mov r0, sp
- bl CpuSet
- ldr r0, _082E6E90
- strh r5, [r0]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E6E78: .4byte 0x04000208
-_082E6E7C: .4byte 0x04000200
-_082E6E80: .4byte 0x03007868
-_082E6E84: .4byte 0x04000134
-_082E6E88: .4byte 0x030078a0
-_082E6E8C: .4byte 0x05000003
-_082E6E90: .4byte 0x04000202
- thumb_func_end sub_82E6E20
-
- thumb_func_start sub_82E6E94
-sub_82E6E94: @ 82E6E94
- push {r4-r7,lr}
- ldr r0, _082E6EA8
- ldrb r1, [r0, 0x1]
- mov r12, r1
- adds r7, r0, 0
- cmp r1, 0
- beq _082E6EAC
- cmp r1, 0x1
- beq _082E6EE4
- b _082E6F7C
- .align 2, 0
-_082E6EA8: .4byte 0x030078a0
-_082E6EAC:
- movs r6, 0x1
- strb r6, [r7]
- ldr r3, _082E6ED8
- ldrh r0, [r3]
- movs r5, 0x1
- orrs r0, r5
- strh r0, [r3]
- ldr r4, _082E6EDC
- mov r0, r12
- strh r0, [r4]
- ldr r2, _082E6EE0
- ldrh r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strh r0, [r2]
- strh r6, [r4]
- strb r5, [r7, 0x1]
- ldrb r0, [r3]
- orrs r0, r1
- strb r0, [r3]
- b _082E6F80
- .align 2, 0
-_082E6ED8: .4byte 0x04000128
-_082E6EDC: .4byte 0x04000208
-_082E6EE0: .4byte 0x04000200
-_082E6EE4:
- ldrh r0, [r7, 0xA]
- cmp r0, 0
- bne _082E6F78
- ldrb r0, [r7]
- cmp r0, 0x1
- bne _082E6F14
- ldrh r0, [r7, 0x2]
- cmp r0, 0
- bne _082E6F80
- ldr r3, _082E6F0C
- strh r0, [r3]
- ldr r2, _082E6F10
- ldrh r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strh r0, [r2]
- mov r1, r12
- strh r1, [r3]
- b _082E6F80
- .align 2, 0
-_082E6F0C: .4byte 0x04000208
-_082E6F10: .4byte 0x04000128
-_082E6F14:
- ldrh r1, [r7, 0x4]
- ldr r0, _082E6F60
- cmp r1, r0
- beq _082E6F80
- ldrh r6, [r7, 0x2]
- cmp r6, 0
- bne _082E6F80
- ldr r4, _082E6F64
- strh r6, [r4]
- ldr r3, _082E6F68
- ldrh r1, [r3]
- ldr r0, _082E6F6C
- ands r0, r1
- strh r0, [r3]
- mov r7, r12
- strh r7, [r4]
- ldr r2, _082E6F70
- strh r6, [r2]
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1, 0
- strh r0, [r2]
- ldr r0, _082E6F74
- movs r5, 0x80
- strh r5, [r0]
- ldrh r0, [r2]
- movs r7, 0x81
- lsls r7, 7
- adds r1, r7, 0
- orrs r0, r1
- strh r0, [r2]
- strh r6, [r4]
- ldrh r0, [r3]
- orrs r0, r5
- strh r0, [r3]
- mov r0, r12
- strh r0, [r4]
- b _082E6F80
- .align 2, 0
-_082E6F60: .4byte 0x00008001
-_082E6F64: .4byte 0x04000208
-_082E6F68: .4byte 0x04000200
-_082E6F6C: .4byte 0x0000ff7f
-_082E6F70: .4byte 0x04000128
-_082E6F74: .4byte 0x04000202
-_082E6F78:
- movs r0, 0x2
- strb r0, [r7, 0x1]
-_082E6F7C:
- ldrh r0, [r7, 0xA]
- b _082E6F82
-_082E6F80:
- movs r0, 0
-_082E6F82:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_82E6E94
-
- thumb_func_start sub_82E6F88
-sub_82E6F88: @ 82E6F88
- push {r4,r5,lr}
- ldr r0, _082E6FD0
- ldr r5, [r0]
- ldr r0, _082E6FD4
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0x1
- beq sub_82E6FA2
- ldr r0, _082E6FD8
- ldrh r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strh r1, [r0]
- thumb_func_end sub_82E6F88
-
- non_word_aligned_thumb_func_start sub_82E6FA2
-sub_82E6FA2: @ 82E6FA2
- ldrb r2, [r4]
- lsls r1, r2, 4
- adds r0, r5, 0
- lsls r0, r1
- lsrs r1, r0, 16
- movs r0, 0x1
- subs r0, r2
- lsls r0, 4
- lsls r5, r0
- adds r0, r5, 0
- lsrs r5, r0, 16
- ldrh r0, [r4, 0xA]
- cmp r0, 0
- bne _082E6FF6
- ldrh r2, [r4, 0x6]
- cmp r1, r2
- bne _082E6FF4
- ldrh r3, [r4, 0x2]
- cmp r3, 0x3
- bls _082E6FDC
- strh r5, [r4, 0xA]
- b _082E6FF6
- .align 2, 0
-_082E6FD0: .4byte 0x04000120
-_082E6FD4: .4byte 0x030078a0
-_082E6FD8: .4byte 0x04000128
-_082E6FDC:
- ldrh r0, [r4, 0x4]
- mvns r0, r0
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bne _082E6FF6
- mvns r0, r2
- lsls r0, 16
- lsrs r0, 16
- cmp r5, r0
- bne _082E6FF6
- adds r0, r3, 0x1
-_082E6FF4:
- strh r0, [r4, 0x2]
-_082E6FF6:
- ldrh r0, [r4, 0x2]
- cmp r0, 0x3
- bhi _082E700C
- lsls r0, 1
- ldr r1, _082E7008
- adds r0, r1
- ldrh r0, [r0]
- b _082E700E
- .align 2, 0
-_082E7008: .4byte 0x089a3258
-_082E700C:
- ldr r0, _082E7064
-_082E700E:
- strh r0, [r4, 0x4]
- mvns r0, r5
- strh r0, [r4, 0x6]
- ldr r3, _082E7068
- ldrh r2, [r4, 0x4]
- ldrb r1, [r4]
- movs r0, 0x1
- subs r0, r1
- lsls r0, 4
- lsls r2, r0
- ldrh r0, [r4, 0x6]
- lsls r1, 4
- lsls r0, r1
- adds r2, r0
- str r2, [r3]
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _082E705C
- ldrh r0, [r4, 0x2]
- cmp r0, 0
- bne _082E703E
- ldr r0, _082E706C
- cmp r5, r0
- bne _082E705C
-_082E703E:
- movs r0, 0
- ldr r1, _082E7070
-_082E7042:
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r1
- bls _082E7042
- ldrh r0, [r4, 0xA]
- cmp r0, 0
- bne _082E705C
- ldr r0, _082E7074
- ldrh r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strh r1, [r0]
-_082E705C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_082E7064: .4byte 0x00008001
-_082E7068: .4byte 0x04000120
-_082E706C: .4byte 0x0000494e
-_082E7070: .4byte 0x00000257
-_082E7074: .4byte 0x04000128
- thumb_func_end sub_82E6FA2
-
- thumb_func_start ArcTan2
-ArcTan2: @ 82E7078
- swi 0xA
- bx lr
- thumb_func_end ArcTan2
-
- thumb_func_start BgAffineSet
-BgAffineSet: @ 82E707C
- swi 0xE
- bx lr
- thumb_func_end BgAffineSet
-
- thumb_func_start CpuFastSet
-CpuFastSet: @ 82E7080
- swi 0xC
- bx lr
- thumb_func_end CpuFastSet
-
- thumb_func_start CpuSet
-CpuSet: @ 82E7084
- swi 0xB
- bx lr
- thumb_func_end CpuSet
-
- thumb_func_start Div
-Div: @ 82E7088
- swi 0x6
- bx lr
- thumb_func_end Div
-
- thumb_func_start LZ77UnCompVram
-LZ77UnCompVram: @ 82E708C
- swi 0x12
- bx lr
- thumb_func_end LZ77UnCompVram
-
- thumb_func_start LZ77UnCompWram
-LZ77UnCompWram: @ 82E7090
- swi 0x11
- bx lr
- thumb_func_end LZ77UnCompWram
-
- thumb_func_start MultiBoot
-MultiBoot: @ 82E7094
- movs r1, 0x1
- swi 0x25
- bx lr
- thumb_func_end MultiBoot
-
- thumb_func_start ObjAffineSet
-ObjAffineSet: @ 82E709A
-_082E709C:
- swi 0xF
- bx lr
- thumb_func_end ObjAffineSet
-
- thumb_func_start RLUnCompVram
-RLUnCompVram: @ 82E70A0
- swi 0x15
- bx lr
- thumb_func_end RLUnCompVram
-
- thumb_func_start RLUnCompWram
-RLUnCompWram: @ 82E70A4
- swi 0x14
- bx lr
- thumb_func_end RLUnCompWram
-
- thumb_func_start RegisterRamReset
-RegisterRamReset: @ 82E70A8
- swi 0x1
- bx lr
- thumb_func_end RegisterRamReset
-
- thumb_func_start SoftReset
-SoftReset: @ 82E70AC
- ldr r3, _082E70BC
- movs r2, 0
- strb r2, [r3]
- ldr r1, _082E70C0
- mov sp, r1
- swi 0x1
- swi 0
- .align 2, 0
-_082E70BC: .4byte 0x04000208
-_082E70C0: .4byte 0x03007f00
- thumb_func_end SoftReset
-
- thumb_func_start Sqrt
-Sqrt: @ 82E70C4
- swi 0x8
- bx lr
- thumb_func_end Sqrt
-
- thumb_func_start VBlankIntrWait
-VBlankIntrWait: @ 82E70C8
- movs r2, 0
- swi 0x5
- bx lr
- thumb_func_end VBlankIntrWait
-
- thumb_func_start _call_via_r0
-_call_via_r0: @ 82E70D0
- bx r0
- mov r8, r8
- thumb_func_end _call_via_r0
-
- thumb_func_start _call_via_r1
-_call_via_r1: @ 82E70D4
- bx r1
- mov r8, r8
- thumb_func_end _call_via_r1
-
- thumb_func_start _call_via_r2
-_call_via_r2: @ 82E70D8
- bx r2
- mov r8, r8
- thumb_func_end _call_via_r2
-
- thumb_func_start _call_via_r3
-_call_via_r3: @ 82E70DC
- bx r3
- mov r8, r8
- thumb_func_end _call_via_r3
-
- thumb_func_start _call_via_r4
-_call_via_r4: @ 82E70E0
- bx r4
- mov r8, r8
- thumb_func_end _call_via_r4
-
- thumb_func_start _call_via_r5
-_call_via_r5: @ 82E70E4
- bx r5
- mov r8, r8
- thumb_func_end _call_via_r5
-
- thumb_func_start _call_via_r6
-_call_via_r6: @ 82E70E8
- bx r6
- mov r8, r8
- thumb_func_end _call_via_r6
-
- thumb_func_start _call_via_r7
-_call_via_r7: @ 82E70EC
- bx r7
- mov r8, r8
- thumb_func_end _call_via_r7
-
- thumb_func_start _call_via_r8
-_call_via_r8: @ 82E70F0
- bx r8
- mov r8, r8
- thumb_func_end _call_via_r8
-
- thumb_func_start _call_via_r9
-_call_via_r9: @ 82E70F4
- bx r9
- mov r8, r8
- thumb_func_end _call_via_r9
-
- thumb_func_start _call_via_sl
-_call_via_sl: @ 82E70F8
- bx r10
- mov r8, r8
- thumb_func_end _call_via_sl
-
- thumb_func_start _call_via_fp
-_call_via_fp: @ 82E70FC
- bx r11
- mov r8, r8
- thumb_func_end _call_via_fp
-
- thumb_func_start _call_via_ip
-_call_via_ip: @ 82E7100
- bx r12
- mov r8, r8
- thumb_func_end _call_via_ip
-
- thumb_func_start _call_via_sp
-_call_via_sp: @ 82E7104
- bx sp
- mov r8, r8
- thumb_func_end _call_via_sp
-
- thumb_func_start _call_via_lr
-_call_via_lr: @ 82E7108
- bx lr
- mov r8, r8
- thumb_func_end _call_via_lr
-
- thumb_func_start __divdi3
-__divdi3: @ 82E710C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- movs r4, 0
- str r4, [sp]
- adds r5, r1, 0
- adds r4, r0, 0
- cmp r5, 0
- bge _082E713C
- ldr r0, [sp]
- mvns r0, r0
- str r0, [sp]
- negs r0, r4
- adds r6, r0, 0
- negs r1, r5
- cmp r0, 0
- beq _082E7136
- subs r1, 0x1
-_082E7136:
- adds r7, r1, 0
- adds r5, r7, 0
- adds r4, r6, 0
-_082E713C:
- cmp r3, 0
- bge _082E7158
- ldr r1, [sp]
- mvns r1, r1
- str r1, [sp]
- negs r0, r2
- str r0, [sp, 0x4]
- negs r2, r3
- cmp r0, 0
- beq _082E7152
- subs r2, 0x1
-_082E7152:
- str r2, [sp, 0x8]
- ldr r2, [sp, 0x4]
- ldr r3, [sp, 0x8]
-_082E7158:
- adds r7, r2, 0
- adds r6, r3, 0
- mov r10, r4
- mov r8, r5
- cmp r6, 0
- beq _082E7166
- b _082E73B4
-_082E7166:
- cmp r7, r8
- bls _082E7240
- ldr r0, _082E717C
- cmp r7, r0
- bhi _082E7180
- movs r1, 0
- cmp r7, 0xFF
- bls _082E718A
- movs r1, 0x8
- b _082E718A
- .align 2, 0
-_082E717C: .4byte 0x0000ffff
-_082E7180:
- ldr r0, _082E7234
- movs r1, 0x18
- cmp r7, r0
- bhi _082E718A
- movs r1, 0x10
-_082E718A:
- ldr r0, _082E7238
- lsrs r2, r1
- adds r0, r2, r0
- ldrb r0, [r0]
- adds r0, r1
- movs r1, 0x20
- subs r2, r1, r0
- cmp r2, 0
- beq _082E71B2
- lsls r7, r2
- mov r3, r8
- lsls r3, r2
- subs r1, r2
- mov r0, r10
- lsrs r0, r1
- orrs r3, r0
- mov r8, r3
- mov r4, r10
- lsls r4, r2
- mov r10, r4
-_082E71B2:
- lsrs r0, r7, 16
- mov r9, r0
- ldr r1, _082E723C
- ands r1, r7
- str r1, [sp, 0xC]
- mov r0, r8
- mov r1, r9
- bl __umodsi3
- adds r4, r0, 0
- mov r0, r8
- mov r1, r9
- bl __udivsi3
- adds r6, r0, 0
- ldr r3, [sp, 0xC]
- adds r2, r6, 0
- muls r2, r3
- lsls r4, 16
- mov r1, r10
- lsrs r0, r1, 16
- orrs r4, r0
- cmp r4, r2
- bcs _082E71F2
- subs r6, 0x1
- adds r4, r7
- cmp r4, r7
- bcc _082E71F2
- cmp r4, r2
- bcs _082E71F2
- subs r6, 0x1
- adds r4, r7
-_082E71F2:
- subs r4, r2
- adds r0, r4, 0
- mov r1, r9
- bl __umodsi3
- adds r5, r0, 0
- adds r0, r4, 0
- mov r1, r9
- bl __udivsi3
- adds r1, r0, 0
- ldr r3, [sp, 0xC]
- adds r2, r1, 0
- muls r2, r3
- lsls r5, 16
- ldr r0, _082E723C
- mov r4, r10
- ands r4, r0
- orrs r5, r4
- cmp r5, r2
- bcs _082E722A
- subs r1, 0x1
- adds r5, r7
- cmp r5, r7
- bcc _082E722A
- cmp r5, r2
- bcs _082E722A
- subs r1, 0x1
-_082E722A:
- lsls r6, 16
- orrs r6, r1
- movs r0, 0
- str r0, [sp, 0x10]
- b _082E750A
- .align 2, 0
-_082E7234: .4byte 0x00ffffff
-_082E7238: .4byte 0x089a3270
-_082E723C: .4byte 0x0000ffff
-_082E7240:
- cmp r2, 0
- bne _082E724E
- movs r0, 0x1
- movs r1, 0
- bl __udivsi3
- adds r7, r0, 0
-_082E724E:
- adds r1, r7, 0
- ldr r0, _082E7260
- cmp r7, r0
- bhi _082E7264
- movs r2, 0
- cmp r7, 0xFF
- bls _082E726E
- movs r2, 0x8
- b _082E726E
- .align 2, 0
-_082E7260: .4byte 0x0000ffff
-_082E7264:
- ldr r0, _082E728C
- movs r2, 0x18
- cmp r7, r0
- bhi _082E726E
- movs r2, 0x10
-_082E726E:
- ldr r0, _082E7290
- lsrs r1, r2
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r0, r2
- movs r1, 0x20
- subs r2, r1, r0
- cmp r2, 0
- bne _082E7294
- mov r1, r8
- subs r1, r7
- mov r8, r1
- movs r2, 0x1
- str r2, [sp, 0x10]
- b _082E7332
- .align 2, 0
-_082E728C: .4byte 0x00ffffff
-_082E7290: .4byte 0x089a3270
-_082E7294:
- subs r1, r2
- lsls r7, r2
- mov r5, r8
- lsrs r5, r1
- mov r3, r8
- lsls r3, r2
- mov r0, r10
- lsrs r0, r1
- orrs r3, r0
- mov r8, r3
- mov r4, r10
- lsls r4, r2
- mov r10, r4
- lsrs r0, r7, 16
- mov r9, r0
- ldr r1, _082E73B0
- ands r1, r7
- str r1, [sp, 0x14]
- adds r0, r5, 0
- mov r1, r9
- bl __umodsi3
- adds r4, r0, 0
- adds r0, r5, 0
- mov r1, r9
- bl __udivsi3
- adds r6, r0, 0
- ldr r2, [sp, 0x14]
- adds r1, r6, 0
- muls r1, r2
- lsls r4, 16
- mov r3, r8
- lsrs r0, r3, 16
- orrs r4, r0
- cmp r4, r1
- bcs _082E72EE
- subs r6, 0x1
- adds r4, r7
- cmp r4, r7
- bcc _082E72EE
- cmp r4, r1
- bcs _082E72EE
- subs r6, 0x1
- adds r4, r7
-_082E72EE:
- subs r4, r1
- adds r0, r4, 0
- mov r1, r9
- bl __umodsi3
- adds r5, r0, 0
- adds r0, r4, 0
- mov r1, r9
- bl __udivsi3
- adds r2, r0, 0
- ldr r4, [sp, 0x14]
- adds r1, r2, 0
- muls r1, r4
- lsls r5, 16
- ldr r0, _082E73B0
- mov r3, r8
- ands r3, r0
- orrs r5, r3
- cmp r5, r1
- bcs _082E7328
- subs r2, 0x1
- adds r5, r7
- cmp r5, r7
- bcc _082E7328
- cmp r5, r1
- bcs _082E7328
- subs r2, 0x1
- adds r5, r7
-_082E7328:
- lsls r6, 16
- orrs r6, r2
- str r6, [sp, 0x10]
- subs r1, r5, r1
- mov r8, r1
-_082E7332:
- lsrs r4, r7, 16
- mov r9, r4
- ldr r0, _082E73B0
- ands r0, r7
- str r0, [sp, 0x18]
- mov r0, r8
- mov r1, r9
- bl __umodsi3
- adds r4, r0, 0
- mov r0, r8
- mov r1, r9
- bl __udivsi3
- adds r6, r0, 0
- ldr r1, [sp, 0x18]
- adds r2, r6, 0
- muls r2, r1
- lsls r4, 16
- mov r3, r10
- lsrs r0, r3, 16
- orrs r4, r0
- cmp r4, r2
- bcs _082E7372
- subs r6, 0x1
- adds r4, r7
- cmp r4, r7
- bcc _082E7372
- cmp r4, r2
- bcs _082E7372
- subs r6, 0x1
- adds r4, r7
-_082E7372:
- subs r4, r2
- adds r0, r4, 0
- mov r1, r9
- bl __umodsi3
- adds r5, r0, 0
- adds r0, r4, 0
- mov r1, r9
- bl __udivsi3
- adds r1, r0, 0
- ldr r4, [sp, 0x18]
- adds r2, r1, 0
- muls r2, r4
- lsls r5, 16
- ldr r0, _082E73B0
- mov r3, r10
- ands r3, r0
- orrs r5, r3
- cmp r5, r2
- bcs _082E73AA
- subs r1, 0x1
- adds r5, r7
- cmp r5, r7
- bcc _082E73AA
- cmp r5, r2
- bcs _082E73AA
- subs r1, 0x1
-_082E73AA:
- lsls r6, 16
- orrs r6, r1
- b _082E750A
- .align 2, 0
-_082E73B0: .4byte 0x0000ffff
-_082E73B4:
- cmp r6, r8
- bls _082E73C0
- movs r6, 0
- movs r4, 0
- str r4, [sp, 0x10]
- b _082E750A
-_082E73C0:
- adds r1, r6, 0
- ldr r0, _082E73D4
- cmp r6, r0
- bhi _082E73D8
- movs r2, 0
- cmp r6, 0xFF
- bls _082E73E2
- movs r2, 0x8
- b _082E73E2
- .align 2, 0
-_082E73D4: .4byte 0x0000ffff
-_082E73D8:
- ldr r0, _082E7404
- movs r2, 0x18
- cmp r6, r0
- bhi _082E73E2
- movs r2, 0x10
-_082E73E2:
- ldr r0, _082E7408
- lsrs r1, r2
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r0, r2
- movs r1, 0x20
- subs r2, r1, r0
- cmp r2, 0
- bne _082E7410
- cmp r8, r6
- bhi _082E73FC
- cmp r10, r7
- bcc _082E740C
-_082E73FC:
- movs r6, 0x1
- mov r1, r10
- b _082E7504
- .align 2, 0
-_082E7404: .4byte 0x00ffffff
-_082E7408: .4byte 0x089a3270
-_082E740C:
- movs r6, 0
- b _082E7506
-_082E7410:
- subs r1, r2
- lsls r6, r2
- adds r0, r7, 0
- lsrs r0, r1
- orrs r6, r0
- lsls r7, r2
- mov r5, r8
- lsrs r5, r1
- mov r3, r8
- lsls r3, r2
- mov r0, r10
- lsrs r0, r1
- orrs r3, r0
- mov r8, r3
- mov r4, r10
- lsls r4, r2
- mov r10, r4
- lsrs r0, r6, 16
- mov r9, r0
- ldr r1, _082E753C
- ands r1, r6
- str r1, [sp, 0x1C]
- adds r0, r5, 0
- mov r1, r9
- bl __umodsi3
- adds r4, r0, 0
- adds r0, r5, 0
- mov r1, r9
- bl __udivsi3
- adds r3, r0, 0
- ldr r2, [sp, 0x1C]
- adds r1, r3, 0
- muls r1, r2
- lsls r4, 16
- mov r2, r8
- lsrs r0, r2, 16
- orrs r4, r0
- cmp r4, r1
- bcs _082E7472
- subs r3, 0x1
- adds r4, r6
- cmp r4, r6
- bcc _082E7472
- cmp r4, r1
- bcs _082E7472
- subs r3, 0x1
- adds r4, r6
-_082E7472:
- subs r4, r1
- adds r0, r4, 0
- mov r1, r9
- str r3, [sp, 0x30]
- bl __umodsi3
- adds r5, r0, 0
- adds r0, r4, 0
- mov r1, r9
- bl __udivsi3
- adds r2, r0, 0
- ldr r4, [sp, 0x1C]
- adds r1, r2, 0
- muls r1, r4
- lsls r5, 16
- ldr r0, _082E753C
- mov r4, r8
- ands r4, r0
- orrs r5, r4
- ldr r3, [sp, 0x30]
- cmp r5, r1
- bcs _082E74B0
- subs r2, 0x1
- adds r5, r6
- cmp r5, r6
- bcc _082E74B0
- cmp r5, r1
- bcs _082E74B0
- subs r2, 0x1
- adds r5, r6
-_082E74B0:
- lsls r6, r3, 16
- orrs r6, r2
- subs r1, r5, r1
- mov r8, r1
- ldr r0, _082E753C
- mov r9, r0
- adds r1, r6, 0
- ands r1, r0
- lsrs r3, r6, 16
- adds r0, r7, 0
- mov r2, r9
- ands r0, r2
- lsrs r2, r7, 16
- adds r5, r1, 0
- muls r5, r0
- adds r4, r1, 0
- muls r4, r2
- adds r1, r3, 0
- muls r1, r0
- muls r3, r2
- lsrs r0, r5, 16
- adds r4, r0
- adds r4, r1
- cmp r4, r1
- bcs _082E74E8
- movs r0, 0x80
- lsls r0, 9
- adds r3, r0
-_082E74E8:
- lsrs r0, r4, 16
- adds r3, r0
- mov r1, r9
- ands r4, r1
- lsls r0, r4, 16
- ands r5, r1
- adds r1, r0, r5
- cmp r3, r8
- bhi _082E7502
- cmp r3, r8
- bne _082E7506
- cmp r1, r10
- bls _082E7506
-_082E7502:
- subs r6, 0x1
-_082E7504:
- subs r0, r1, r7
-_082E7506:
- movs r2, 0
- str r2, [sp, 0x10]
-_082E750A:
- str r6, [sp, 0x20]
- ldr r3, [sp, 0x10]
- str r3, [sp, 0x24]
- ldr r1, [sp, 0x20]
- ldr r2, [sp, 0x24]
- ldr r4, [sp]
- cmp r4, 0
- beq _082E752C
- negs r0, r1
- str r0, [sp, 0x28]
- negs r1, r2
- cmp r0, 0
- beq _082E7526
- subs r1, 0x1
-_082E7526:
- str r1, [sp, 0x2C]
- ldr r1, [sp, 0x28]
- ldr r2, [sp, 0x2C]
-_082E752C:
- adds r0, r1, 0
- adds r1, r2, 0
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7,pc}
- .align 2, 0
-_082E753C: .4byte 0x0000ffff
- thumb_func_end __divdi3
-
- thumb_func_start __divsi3
-__divsi3: @ 82E7540
- cmp r1, 0
- beq _082E75C8
- push {r4}
- adds r4, r0, 0
- eors r4, r1
- mov r12, r4
- movs r3, 0x1
- movs r2, 0
- cmp r1, 0
- bpl _082E7556
- negs r1, r1
-_082E7556:
- cmp r0, 0
- bpl _082E755C
- negs r0, r0
-_082E755C:
- cmp r0, r1
- bcc _082E75BA
- movs r4, 0x1
- lsls r4, 28
-_082E7564:
- cmp r1, r4
- bcs _082E7572
- cmp r1, r0
- bcs _082E7572
- lsls r1, 4
- lsls r3, 4
- b _082E7564
-_082E7572:
- lsls r4, 3
-_082E7574:
- cmp r1, r4
- bcs _082E7582
- cmp r1, r0
- bcs _082E7582
- lsls r1, 1
- lsls r3, 1
- b _082E7574
-_082E7582:
- cmp r0, r1
- bcc _082E758A
- subs r0, r1
- orrs r2, r3
-_082E758A:
- lsrs r4, r1, 1
- cmp r0, r4
- bcc _082E7596
- subs r0, r4
- lsrs r4, r3, 1
- orrs r2, r4
-_082E7596:
- lsrs r4, r1, 2
- cmp r0, r4
- bcc _082E75A2
- subs r0, r4
- lsrs r4, r3, 2
- orrs r2, r4
-_082E75A2:
- lsrs r4, r1, 3
- cmp r0, r4
- bcc _082E75AE
- subs r0, r4
- lsrs r4, r3, 3
- orrs r2, r4
-_082E75AE:
- cmp r0, 0
- beq _082E75BA
- lsrs r3, 4
- beq _082E75BA
- lsrs r1, 4
- b _082E7582
-_082E75BA:
- adds r0, r2, 0
- mov r4, r12
- cmp r4, 0
- bpl _082E75C4
- negs r0, r0
-_082E75C4:
- pop {r4}
- mov pc, lr
-_082E75C8:
- push {lr}
- bl nullsub_1
- movs r0, 0
- pop {pc}
- thumb_func_end __divsi3
-
- thumb_func_start nullsub_1
-nullsub_1: @ 82E75D4
- mov pc, lr
- thumb_func_end nullsub_1
-
- thumb_func_start __fixunsdfsi
-__fixunsdfsi: @ 82E75D8
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r0, 0
- ldr r3, _082E75F8
- ldr r2, _082E75F4
- bl __gedf2
- cmp r0, 0
- bge _082E75FC
- adds r1, r5, 0
- adds r0, r4, 0
- bl __fixdfsi
- b _082E7612
- .align 2, 0
-_082E75F4: .4byte 0x41e00000
-_082E75F8: .4byte 0x00000000
-_082E75FC:
- ldr r3, _082E7618
- ldr r2, _082E7614
- adds r1, r5, 0
- adds r0, r4, 0
- bl __adddf3
- bl __fixdfsi
- movs r1, 0x80
- lsls r1, 24
- adds r0, r1
-_082E7612:
- pop {r4,r5,pc}
- .align 2, 0
-_082E7614: .4byte 0xc1e00000
-_082E7618: .4byte 0x00000000
- thumb_func_end __fixunsdfsi
-
- thumb_func_start __fixunssfsi
-__fixunssfsi: @ 82E761C
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _082E7634
- bl __gesf2
- cmp r0, 0
- bge _082E7638
- adds r0, r4, 0
- bl __fixsfsi
- b _082E764A
- .align 2, 0
-_082E7634: .4byte 0x4f000000
-_082E7638:
- ldr r1, _082E764C
- adds r0, r4, 0
- bl __addsf3
- bl __fixsfsi
- movs r1, 0x80
- lsls r1, 24
- adds r0, r1
-_082E764A:
- pop {r4,pc}
- .align 2, 0
-_082E764C: .4byte 0xcf000000
- thumb_func_end __fixunssfsi
-
- thumb_func_start __modsi3
-__modsi3: @ 82E7650
- movs r3, 0x1
- cmp r1, 0
- beq _082E7714
- bpl _082E765A
- negs r1, r1
-_082E765A:
- push {r4}
- push {r0}
- cmp r0, 0
- bpl _082E7664
- negs r0, r0
-_082E7664:
- cmp r0, r1
- bcc _082E7708
- movs r4, 0x1
- lsls r4, 28
-_082E766C:
- cmp r1, r4
- bcs _082E767A
- cmp r1, r0
- bcs _082E767A
- lsls r1, 4
- lsls r3, 4
- b _082E766C
-_082E767A:
- lsls r4, 3
-_082E767C:
- cmp r1, r4
- bcs _082E768A
- cmp r1, r0
- bcs _082E768A
- lsls r1, 1
- lsls r3, 1
- b _082E767C
-_082E768A:
- movs r2, 0
- cmp r0, r1
- bcc _082E7692
- subs r0, r1
-_082E7692:
- lsrs r4, r1, 1
- cmp r0, r4
- bcc _082E76A4
- subs r0, r4
- mov r12, r3
- movs r4, 0x1
- rors r3, r4
- orrs r2, r3
- mov r3, r12
-_082E76A4:
- lsrs r4, r1, 2
- cmp r0, r4
- bcc _082E76B6
- subs r0, r4
- mov r12, r3
- movs r4, 0x2
- rors r3, r4
- orrs r2, r3
- mov r3, r12
-_082E76B6:
- lsrs r4, r1, 3
- cmp r0, r4
- bcc _082E76C8
- subs r0, r4
- mov r12, r3
- movs r4, 0x3
- rors r3, r4
- orrs r2, r3
- mov r3, r12
-_082E76C8:
- mov r12, r3
- cmp r0, 0
- beq _082E76D6
- lsrs r3, 4
- beq _082E76D6
- lsrs r1, 4
- b _082E768A
-_082E76D6:
- movs r4, 0xE
- lsls r4, 28
- ands r2, r4
- beq _082E7708
- mov r3, r12
- movs r4, 0x3
- rors r3, r4
- tst r2, r3
- beq _082E76EC
- lsrs r4, r1, 3
- adds r0, r4
-_082E76EC:
- mov r3, r12
- movs r4, 0x2
- rors r3, r4
- tst r2, r3
- beq _082E76FA
- lsrs r4, r1, 2
- adds r0, r4
-_082E76FA:
- mov r3, r12
- movs r4, 0x1
- rors r3, r4
- tst r2, r3
- beq _082E7708
- lsrs r4, r1, 1
- adds r0, r4
-_082E7708:
- pop {r4}
- cmp r4, 0
- bpl _082E7710
- negs r0, r0
-_082E7710:
- pop {r4}
- mov pc, lr
-_082E7714:
- push {lr}
- bl nullsub_1
- movs r0, 0
- pop {pc}
- thumb_func_end __modsi3
-
- thumb_func_start __muldi3
-__muldi3: @ 82E7720
- push {r4-r7,lr}
- sub sp, 0x10
- str r0, [sp]
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- ldr r3, [sp]
- ldr r0, _082E778C
- mov r12, r0
- adds r2, r3, 0
- ands r2, r0
- lsrs r3, 16
- ldr r1, [sp, 0x8]
- adds r0, r1, 0
- mov r4, r12
- ands r0, r4
- lsrs r1, 16
- adds r5, r2, 0
- muls r5, r0
- adds r4, r2, 0
- muls r4, r1
- adds r2, r3, 0
- muls r2, r0
- muls r3, r1
- lsrs r0, r5, 16
- adds r4, r0
- adds r4, r2
- cmp r4, r2
- bcs _082E7760
- movs r0, 0x80
- lsls r0, 9
- adds r3, r0
-_082E7760:
- lsrs r0, r4, 16
- adds r7, r3, r0
- mov r1, r12
- ands r4, r1
- lsls r0, r4, 16
- ands r5, r1
- adds r6, r0, 0
- orrs r6, r5
- adds r1, r7, 0
- adds r0, r6, 0
- ldr r3, [sp]
- ldr r4, [sp, 0xC]
- adds r2, r3, 0
- muls r2, r4
- ldr r5, [sp, 0x4]
- ldr r4, [sp, 0x8]
- adds r3, r5, 0
- muls r3, r4
- adds r2, r3
- adds r1, r7, r2
- add sp, 0x10
- pop {r4-r7,pc}
- .align 2, 0
-_082E778C: .4byte 0x0000ffff
- thumb_func_end __muldi3
-
- thumb_func_start __udivdi3
-__udivdi3: @ 82E7790
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- adds r7, r2, 0
- adds r6, r3, 0
- mov r10, r0
- mov r8, r1
- cmp r6, 0
- beq _082E77AA
- b _082E79F8
-_082E77AA:
- cmp r7, r8
- bls _082E7884
- ldr r0, _082E77C0
- cmp r7, r0
- bhi _082E77C4
- movs r1, 0
- cmp r7, 0xFF
- bls _082E77CE
- movs r1, 0x8
- b _082E77CE
- .align 2, 0
-_082E77C0: .4byte 0x0000ffff
-_082E77C4:
- ldr r0, _082E7878
- movs r1, 0x18
- cmp r7, r0
- bhi _082E77CE
- movs r1, 0x10
-_082E77CE:
- ldr r0, _082E787C
- lsrs r2, r1
- adds r0, r2, r0
- ldrb r0, [r0]
- adds r0, r1
- movs r1, 0x20
- subs r2, r1, r0
- cmp r2, 0
- beq _082E77FA
- lsls r7, r2
- mov r0, r8
- lsls r0, r2
- mov r8, r0
- subs r1, r2
- mov r0, r10
- lsrs r0, r1
- mov r1, r8
- orrs r1, r0
- mov r8, r1
- mov r3, r10
- lsls r3, r2
- mov r10, r3
-_082E77FA:
- lsrs r4, r7, 16
- mov r9, r4
- ldr r0, _082E7880
- ands r0, r7
- str r0, [sp]
- mov r0, r8
- mov r1, r9
- bl __umodsi3
- adds r4, r0, 0
- mov r0, r8
- mov r1, r9
- bl __udivsi3
- adds r6, r0, 0
- ldr r1, [sp]
- adds r2, r6, 0
- muls r2, r1
- lsls r4, 16
- mov r3, r10
- lsrs r0, r3, 16
- orrs r4, r0
- cmp r4, r2
- bcs _082E783A
- subs r6, 0x1
- adds r4, r7
- cmp r4, r7
- bcc _082E783A
- cmp r4, r2
- bcs _082E783A
- subs r6, 0x1
- adds r4, r7
-_082E783A:
- subs r4, r2
- adds r0, r4, 0
- mov r1, r9
- bl __umodsi3
- adds r5, r0, 0
- adds r0, r4, 0
- mov r1, r9
- bl __udivsi3
- adds r1, r0, 0
- ldr r4, [sp]
- adds r2, r1, 0
- muls r2, r4
- lsls r5, 16
- ldr r0, _082E7880
- mov r3, r10
- ands r3, r0
- orrs r5, r3
- cmp r5, r2
- bcs _082E7872
- subs r1, 0x1
- adds r5, r7
- cmp r5, r7
- bcc _082E7872
- cmp r5, r2
- bcs _082E7872
- subs r1, 0x1
-_082E7872:
- lsls r6, 16
- orrs r6, r1
- b _082E79FE
- .align 2, 0
-_082E7878: .4byte 0x00ffffff
-_082E787C: .4byte 0x089a3370
-_082E7880: .4byte 0x0000ffff
-_082E7884:
- cmp r2, 0
- bne _082E7892
- movs r0, 0x1
- movs r1, 0
- bl __udivsi3
- adds r7, r0, 0
-_082E7892:
- adds r1, r7, 0
- ldr r0, _082E78A4
- cmp r7, r0
- bhi _082E78A8
- movs r2, 0
- cmp r7, 0xFF
- bls _082E78B2
- movs r2, 0x8
- b _082E78B2
- .align 2, 0
-_082E78A4: .4byte 0x0000ffff
-_082E78A8:
- ldr r0, _082E78D0
- movs r2, 0x18
- cmp r7, r0
- bhi _082E78B2
- movs r2, 0x10
-_082E78B2:
- ldr r0, _082E78D4
- lsrs r1, r2
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r0, r2
- movs r1, 0x20
- subs r2, r1, r0
- cmp r2, 0
- bne _082E78D8
- mov r0, r8
- subs r0, r7
- mov r8, r0
- movs r1, 0x1
- str r1, [sp, 0x4]
- b _082E7976
- .align 2, 0
-_082E78D0: .4byte 0x00ffffff
-_082E78D4: .4byte 0x089a3370
-_082E78D8:
- subs r1, r2
- lsls r7, r2
- mov r5, r8
- lsrs r5, r1
- mov r3, r8
- lsls r3, r2
- mov r0, r10
- lsrs r0, r1
- orrs r3, r0
- mov r8, r3
- mov r4, r10
- lsls r4, r2
- mov r10, r4
- lsrs r0, r7, 16
- mov r9, r0
- ldr r1, _082E79F4
- ands r1, r7
- str r1, [sp, 0x8]
- adds r0, r5, 0
- mov r1, r9
- bl __umodsi3
- adds r4, r0, 0
- adds r0, r5, 0
- mov r1, r9
- bl __udivsi3
- adds r6, r0, 0
- ldr r2, [sp, 0x8]
- adds r1, r6, 0
- muls r1, r2
- lsls r4, 16
- mov r3, r8
- lsrs r0, r3, 16
- orrs r4, r0
- cmp r4, r1
- bcs _082E7932
- subs r6, 0x1
- adds r4, r7
- cmp r4, r7
- bcc _082E7932
- cmp r4, r1
- bcs _082E7932
- subs r6, 0x1
- adds r4, r7
-_082E7932:
- subs r4, r1
- adds r0, r4, 0
- mov r1, r9
- bl __umodsi3
- adds r5, r0, 0
- adds r0, r4, 0
- mov r1, r9
- bl __udivsi3
- adds r2, r0, 0
- ldr r4, [sp, 0x8]
- adds r1, r2, 0
- muls r1, r4
- lsls r5, 16
- ldr r0, _082E79F4
- mov r3, r8
- ands r3, r0
- orrs r5, r3
- cmp r5, r1
- bcs _082E796C
- subs r2, 0x1
- adds r5, r7
- cmp r5, r7
- bcc _082E796C
- cmp r5, r1
- bcs _082E796C
- subs r2, 0x1
- adds r5, r7
-_082E796C:
- lsls r6, 16
- orrs r6, r2
- str r6, [sp, 0x4]
- subs r1, r5, r1
- mov r8, r1
-_082E7976:
- lsrs r4, r7, 16
- mov r9, r4
- ldr r0, _082E79F4
- ands r0, r7
- str r0, [sp, 0xC]
- mov r0, r8
- mov r1, r9
- bl __umodsi3
- adds r4, r0, 0
- mov r0, r8
- mov r1, r9
- bl __udivsi3
- adds r6, r0, 0
- ldr r1, [sp, 0xC]
- adds r2, r6, 0
- muls r2, r1
- lsls r4, 16
- mov r3, r10
- lsrs r0, r3, 16
- orrs r4, r0
- cmp r4, r2
- bcs _082E79B6
- subs r6, 0x1
- adds r4, r7
- cmp r4, r7
- bcc _082E79B6
- cmp r4, r2
- bcs _082E79B6
- subs r6, 0x1
- adds r4, r7
-_082E79B6:
- subs r4, r2
- adds r0, r4, 0
- mov r1, r9
- bl __umodsi3
- adds r5, r0, 0
- adds r0, r4, 0
- mov r1, r9
- bl __udivsi3
- adds r1, r0, 0
- ldr r4, [sp, 0xC]
- adds r2, r1, 0
- muls r2, r4
- lsls r5, 16
- ldr r0, _082E79F4
- mov r3, r10
- ands r3, r0
- orrs r5, r3
- cmp r5, r2
- bcs _082E79EE
- subs r1, 0x1
- adds r5, r7
- cmp r5, r7
- bcc _082E79EE
- cmp r5, r2
- bcs _082E79EE
- subs r1, 0x1
-_082E79EE:
- lsls r6, 16
- orrs r6, r1
- b _082E7B4E
- .align 2, 0
-_082E79F4: .4byte 0x0000ffff
-_082E79F8:
- cmp r6, r8
- bls _082E7A04
- movs r6, 0
-_082E79FE:
- movs r4, 0
- str r4, [sp, 0x4]
- b _082E7B4E
-_082E7A04:
- adds r1, r6, 0
- ldr r0, _082E7A18
- cmp r6, r0
- bhi _082E7A1C
- movs r2, 0
- cmp r6, 0xFF
- bls _082E7A26
- movs r2, 0x8
- b _082E7A26
- .align 2, 0
-_082E7A18: .4byte 0x0000ffff
-_082E7A1C:
- ldr r0, _082E7A48
- movs r2, 0x18
- cmp r6, r0
- bhi _082E7A26
- movs r2, 0x10
-_082E7A26:
- ldr r0, _082E7A4C
- lsrs r1, r2
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r0, r2
- movs r1, 0x20
- subs r2, r1, r0
- cmp r2, 0
- bne _082E7A54
- cmp r8, r6
- bhi _082E7A40
- cmp r10, r7
- bcc _082E7A50
-_082E7A40:
- movs r6, 0x1
- mov r1, r10
- b _082E7B48
- .align 2, 0
-_082E7A48: .4byte 0x00ffffff
-_082E7A4C: .4byte 0x089a3370
-_082E7A50:
- movs r6, 0
- b _082E7B4A
-_082E7A54:
- subs r1, r2
- lsls r6, r2
- adds r0, r7, 0
- lsrs r0, r1
- orrs r6, r0
- lsls r7, r2
- mov r5, r8
- lsrs r5, r1
- mov r3, r8
- lsls r3, r2
- mov r0, r10
- lsrs r0, r1
- orrs r3, r0
- mov r8, r3
- mov r4, r10
- lsls r4, r2
- mov r10, r4
- lsrs r0, r6, 16
- mov r9, r0
- ldr r1, _082E7B64
- ands r1, r6
- str r1, [sp, 0x10]
- adds r0, r5, 0
- mov r1, r9
- bl __umodsi3
- adds r4, r0, 0
- adds r0, r5, 0
- mov r1, r9
- bl __udivsi3
- adds r3, r0, 0
- ldr r2, [sp, 0x10]
- adds r1, r3, 0
- muls r1, r2
- lsls r4, 16
- mov r2, r8
- lsrs r0, r2, 16
- orrs r4, r0
- cmp r4, r1
- bcs _082E7AB6
- subs r3, 0x1
- adds r4, r6
- cmp r4, r6
- bcc _082E7AB6
- cmp r4, r1
- bcs _082E7AB6
- subs r3, 0x1
- adds r4, r6
-_082E7AB6:
- subs r4, r1
- adds r0, r4, 0
- mov r1, r9
- str r3, [sp, 0x1C]
- bl __umodsi3
- adds r5, r0, 0
- adds r0, r4, 0
- mov r1, r9
- bl __udivsi3
- adds r2, r0, 0
- ldr r4, [sp, 0x10]
- adds r1, r2, 0
- muls r1, r4
- lsls r5, 16
- ldr r0, _082E7B64
- mov r4, r8
- ands r4, r0
- orrs r5, r4
- ldr r3, [sp, 0x1C]
- cmp r5, r1
- bcs _082E7AF4
- subs r2, 0x1
- adds r5, r6
- cmp r5, r6
- bcc _082E7AF4
- cmp r5, r1
- bcs _082E7AF4
- subs r2, 0x1
- adds r5, r6
-_082E7AF4:
- lsls r6, r3, 16
- orrs r6, r2
- subs r1, r5, r1
- mov r8, r1
- ldr r0, _082E7B64
- mov r9, r0
- adds r1, r6, 0
- ands r1, r0
- lsrs r3, r6, 16
- adds r0, r7, 0
- mov r2, r9
- ands r0, r2
- lsrs r2, r7, 16
- adds r5, r1, 0
- muls r5, r0
- adds r4, r1, 0
- muls r4, r2
- adds r1, r3, 0
- muls r1, r0
- muls r3, r2
- lsrs r0, r5, 16
- adds r4, r0
- adds r4, r1
- cmp r4, r1
- bcs _082E7B2C
- movs r0, 0x80
- lsls r0, 9
- adds r3, r0
-_082E7B2C:
- lsrs r0, r4, 16
- adds r3, r0
- mov r1, r9
- ands r4, r1
- lsls r0, r4, 16
- ands r5, r1
- adds r1, r0, r5
- cmp r3, r8
- bhi _082E7B46
- cmp r3, r8
- bne _082E7B4A
- cmp r1, r10
- bls _082E7B4A
-_082E7B46:
- subs r6, 0x1
-_082E7B48:
- subs r0, r1, r7
-_082E7B4A:
- movs r2, 0
- str r2, [sp, 0x4]
-_082E7B4E:
- str r6, [sp, 0x14]
- ldr r3, [sp, 0x4]
- str r3, [sp, 0x18]
- ldr r0, [sp, 0x14]
- ldr r1, [sp, 0x18]
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7,pc}
- .align 2, 0
-_082E7B64: .4byte 0x0000ffff
- thumb_func_end __udivdi3
-
- thumb_func_start __udivsi3
-__udivsi3: @ 82E7B68
- cmp r1, 0
- beq _082E7BD6
- movs r3, 0x1
- movs r2, 0
- push {r4}
- cmp r0, r1
- bcc _082E7BD0
- movs r4, 0x1
- lsls r4, 28
-_082E7B7A:
- cmp r1, r4
- bcs _082E7B88
- cmp r1, r0
- bcs _082E7B88
- lsls r1, 4
- lsls r3, 4
- b _082E7B7A
-_082E7B88:
- lsls r4, 3
-_082E7B8A:
- cmp r1, r4
- bcs _082E7B98
- cmp r1, r0
- bcs _082E7B98
- lsls r1, 1
- lsls r3, 1
- b _082E7B8A
-_082E7B98:
- cmp r0, r1
- bcc _082E7BA0
- subs r0, r1
- orrs r2, r3
-_082E7BA0:
- lsrs r4, r1, 1
- cmp r0, r4
- bcc _082E7BAC
- subs r0, r4
- lsrs r4, r3, 1
- orrs r2, r4
-_082E7BAC:
- lsrs r4, r1, 2
- cmp r0, r4
- bcc _082E7BB8
- subs r0, r4
- lsrs r4, r3, 2
- orrs r2, r4
-_082E7BB8:
- lsrs r4, r1, 3
- cmp r0, r4
- bcc _082E7BC4
- subs r0, r4
- lsrs r4, r3, 3
- orrs r2, r4
-_082E7BC4:
- cmp r0, 0
- beq _082E7BD0
- lsrs r3, 4
- beq _082E7BD0
- lsrs r1, 4
- b _082E7B98
-_082E7BD0:
- adds r0, r2, 0
- pop {r4}
- mov pc, lr
-_082E7BD6:
- push {lr}
- bl nullsub_1
- movs r0, 0
- pop {pc}
- thumb_func_end __udivsi3
-
- thumb_func_start __umodsi3
-__umodsi3: @ 82E7BE0
- cmp r1, 0
- beq _082E7C96
- movs r3, 0x1
- cmp r0, r1
- bcs _082E7BEC
- mov pc, lr
-_082E7BEC:
- push {r4}
- movs r4, 0x1
- lsls r4, 28
-_082E7BF2:
- cmp r1, r4
- bcs _082E7C00
- cmp r1, r0
- bcs _082E7C00
- lsls r1, 4
- lsls r3, 4
- b _082E7BF2
-_082E7C00:
- lsls r4, 3
-_082E7C02:
- cmp r1, r4
- bcs _082E7C10
- cmp r1, r0
- bcs _082E7C10
- lsls r1, 1
- lsls r3, 1
- b _082E7C02
-_082E7C10:
- movs r2, 0
- cmp r0, r1
- bcc _082E7C18
- subs r0, r1
-_082E7C18:
- lsrs r4, r1, 1
- cmp r0, r4
- bcc _082E7C2A
- subs r0, r4
- mov r12, r3
- movs r4, 0x1
- rors r3, r4
- orrs r2, r3
- mov r3, r12
-_082E7C2A:
- lsrs r4, r1, 2
- cmp r0, r4
- bcc _082E7C3C
- subs r0, r4
- mov r12, r3
- movs r4, 0x2
- rors r3, r4
- orrs r2, r3
- mov r3, r12
-_082E7C3C:
- lsrs r4, r1, 3
- cmp r0, r4
- bcc _082E7C4E
- subs r0, r4
- mov r12, r3
- movs r4, 0x3
- rors r3, r4
- orrs r2, r3
- mov r3, r12
-_082E7C4E:
- mov r12, r3
- cmp r0, 0
- beq _082E7C5C
- lsrs r3, 4
- beq _082E7C5C
- lsrs r1, 4
- b _082E7C10
-_082E7C5C:
- movs r4, 0xE
- lsls r4, 28
- ands r2, r4
- bne _082E7C68
- pop {r4}
- mov pc, lr
-_082E7C68:
- mov r3, r12
- movs r4, 0x3
- rors r3, r4
- tst r2, r3
- beq _082E7C76
- lsrs r4, r1, 3
- adds r0, r4
-_082E7C76:
- mov r3, r12
- movs r4, 0x2
- rors r3, r4
- tst r2, r3
- beq _082E7C84
- lsrs r4, r1, 2
- adds r0, r4
-_082E7C84:
- mov r3, r12
- movs r4, 0x1
- rors r3, r4
- tst r2, r3
- beq _082E7C92
- lsrs r4, r1, 1
- adds r0, r4
-_082E7C92:
- pop {r4}
- mov pc, lr
-_082E7C96:
- push {lr}
- bl nullsub_1
- movs r0, 0
- pop {pc}
- thumb_func_end __umodsi3
-
- thumb_func_start __pack_d
-__pack_d: @ 82E7CA0
- push {r4-r7,lr}
- sub sp, 0x8
- adds r1, r0, 0
- ldr r4, [r1, 0xC]
- ldr r5, [r1, 0x10]
- ldr r7, [r1, 0x4]
- movs r6, 0
- movs r2, 0
- ldr r0, [r1]
- cmp r0, 0x1
- bhi _082E7CB8
- movs r2, 0x1
-_082E7CB8:
- cmp r2, 0
- beq _082E7CD8
- ldr r6, _082E7CCC
- ldr r2, _082E7CD0
- ldr r3, _082E7CD4
- adds r0, r4, 0
- adds r1, r5, 0
- orrs r1, r3
- b _082E7D90
- .align 2, 0
-_082E7CCC: .4byte 0x000007ff
-_082E7CD0: .4byte 0x00000000
-_082E7CD4: .4byte 0x00080000
-_082E7CD8:
- movs r2, 0
- cmp r0, 0x4
- bne _082E7CE0
- movs r2, 0x1
-_082E7CE0:
- cmp r2, 0
- bne _082E7D2C
- movs r2, 0
- cmp r0, 0x2
- bne _082E7CEC
- movs r2, 0x1
-_082E7CEC:
- cmp r2, 0
- beq _082E7CF6
- movs r4, 0
- movs r5, 0
- b _082E7D94
-_082E7CF6:
- adds r0, r5, 0
- orrs r0, r4
- cmp r0, 0
- beq _082E7D94
- ldr r2, [r1, 0x8]
- ldr r0, _082E7D14
- cmp r2, r0
- bge _082E7D26
- subs r2, r0, r2
- cmp r2, 0x38
- ble _082E7D18
- movs r4, 0
- movs r5, 0
- b _082E7D86
- .align 2, 0
-_082E7D14: .4byte 0xfffffc02
-_082E7D18:
- adds r1, r5, 0
- adds r0, r4, 0
- bl __lshrdi3
- adds r5, r1, 0
- adds r4, r0, 0
- b _082E7D86
-_082E7D26:
- ldr r0, _082E7D34
- cmp r2, r0
- ble _082E7D3C
-_082E7D2C:
- ldr r6, _082E7D38
- movs r4, 0
- movs r5, 0
- b _082E7D94
- .align 2, 0
-_082E7D34: .4byte 0x000003ff
-_082E7D38: .4byte 0x000007ff
-_082E7D3C:
- ldr r0, _082E7D64
- adds r6, r2, r0
- movs r0, 0xFF
- adds r1, r4, 0
- ands r1, r0
- movs r2, 0
- cmp r1, 0x80
- bne _082E7D68
- cmp r2, 0
- bne _082E7D68
- adds r0, 0x1
- adds r1, r4, 0
- ands r1, r0
- adds r0, r2, 0
- orrs r0, r1
- cmp r0, 0
- beq _082E7D70
- movs r0, 0x80
- movs r1, 0
- b _082E7D6C
- .align 2, 0
-_082E7D64: .4byte 0x000003ff
-_082E7D68:
- movs r0, 0x7F
- movs r1, 0
-_082E7D6C:
- adds r4, r0
- adcs r5, r1
-_082E7D70:
- ldr r0, _082E7DD4
- cmp r5, r0
- bls _082E7D86
- lsls r3, r5, 31
- lsrs r2, r4, 1
- adds r0, r3, 0
- orrs r0, r2
- lsrs r1, r5, 1
- adds r5, r1, 0
- adds r4, r0, 0
- adds r6, 0x1
-_082E7D86:
- lsls r3, r5, 24
- lsrs r2, r4, 8
- adds r0, r3, 0
- orrs r0, r2
- lsrs r1, r5, 8
-_082E7D90:
- adds r5, r1, 0
- adds r4, r0, 0
-_082E7D94:
- str r4, [sp]
- ldr r2, _082E7DD8
- ands r2, r5
- ldr r0, [sp, 0x4]
- ldr r1, _082E7DDC
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x4]
- mov r2, sp
- ldr r1, _082E7DE0
- adds r0, r1, 0
- ands r6, r0
- lsls r1, r6, 4
- ldr r0, _082E7DE4
- ldrh r3, [r2, 0x6]
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x6]
- lsls r1, r7, 7
- movs r0, 0x7F
- ldrb r3, [r2, 0x7]
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x7]
- ldr r1, [sp]
- ldr r0, [sp, 0x4]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- add sp, 0x8
- pop {r4-r7,pc}
- .align 2, 0
-_082E7DD4: .4byte 0x1fffffff
-_082E7DD8: .4byte 0x000fffff
-_082E7DDC: .4byte 0xfff00000
-_082E7DE0: .4byte 0x000007ff
-_082E7DE4: .4byte 0xffff800f
- thumb_func_end __pack_d
-
- thumb_func_start __unpack_d
-__unpack_d: @ 82E7DE8
- push {r4-r7,lr}
- sub sp, 0x8
- adds r2, r0, 0
- adds r6, r1, 0
- ldr r1, [r2, 0x4]
- str r1, [sp]
- ldr r0, [r2]
- str r0, [sp, 0x4]
- mov r2, sp
- adds r4, r1, 0
- lsls r0, 12
- lsrs r5, r0, 12
- ldrh r3, [r2, 0x6]
- lsls r0, r3, 17
- lsrs r3, r0, 21
- ldrb r2, [r2, 0x7]
- lsrs r0, r2, 7
- str r0, [r6, 0x4]
- cmp r3, 0
- bne _082E7E5C
- orrs r1, r5
- cmp r1, 0
- bne _082E7E1C
- movs r0, 0x2
- str r0, [r6]
- b _082E7EB0
-_082E7E1C:
- ldr r0, _082E7E54
- str r0, [r6, 0x8]
- lsrs r3, r4, 24
- lsls r2, r5, 8
- adds r1, r3, 0
- orrs r1, r2
- lsls r0, r4, 8
- adds r5, r1, 0
- adds r4, r0, 0
- movs r0, 0x3
- str r0, [r6]
- ldr r0, _082E7E58
- cmp r5, r0
- bhi _082E7E8C
- adds r7, r0, 0
-_082E7E3A:
- lsrs r3, r4, 31
- lsls r2, r5, 1
- adds r1, r3, 0
- orrs r1, r2
- lsls r0, r4, 1
- adds r5, r1, 0
- adds r4, r0, 0
- ldr r0, [r6, 0x8]
- subs r0, 0x1
- str r0, [r6, 0x8]
- cmp r5, r7
- bls _082E7E3A
- b _082E7E8C
- .align 2, 0
-_082E7E54: .4byte 0xfffffc02
-_082E7E58: .4byte 0x0fffffff
-_082E7E5C:
- ldr r0, _082E7E70
- cmp r3, r0
- bne _082E7E92
- orrs r1, r5
- cmp r1, 0
- bne _082E7E74
- movs r0, 0x4
- str r0, [r6]
- b _082E7EB0
- .align 2, 0
-_082E7E70: .4byte 0x000007ff
-_082E7E74:
- movs r2, 0x80
- lsls r2, 12
- movs r0, 0
- adds r1, r5, 0
- ands r1, r2
- orrs r1, r0
- cmp r1, 0
- beq _082E7E8A
- movs r0, 0x1
- str r0, [r6]
- b _082E7E8C
-_082E7E8A:
- str r1, [r6]
-_082E7E8C:
- str r4, [r6, 0xC]
- str r5, [r6, 0x10]
- b _082E7EB0
-_082E7E92:
- ldr r1, _082E7EB4
- adds r0, r3, r1
- str r0, [r6, 0x8]
- movs r0, 0x3
- str r0, [r6]
- lsrs r3, r4, 24
- lsls r2, r5, 8
- adds r1, r3, 0
- orrs r1, r2
- lsls r0, r4, 8
- ldr r2, _082E7EB8
- ldr r3, _082E7EBC
- orrs r1, r3
- str r0, [r6, 0xC]
- str r1, [r6, 0x10]
-_082E7EB0:
- add sp, 0x8
- pop {r4-r7,pc}
- .align 2, 0
-_082E7EB4: .4byte 0xfffffc01
-_082E7EB8: .4byte 0x00000000
-_082E7EBC: .4byte 0x10000000
- thumb_func_end __unpack_d
-
- thumb_func_start __fpadd_parts_d
-__fpadd_parts_d: @ 82E7EC0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r3, r0, 0
- adds r4, r1, 0
- mov r10, r2
- movs r0, 0
- ldr r2, [r3]
- cmp r2, 0x1
- bhi _082E7EDC
- movs r0, 0x1
-_082E7EDC:
- cmp r0, 0
- beq _082E7EE4
-_082E7EE0:
- adds r0, r3, 0
- b _082E811C
-_082E7EE4:
- movs r1, 0
- ldr r0, [r4]
- cmp r0, 0x1
- bhi _082E7EEE
- movs r1, 0x1
-_082E7EEE:
- cmp r1, 0
- bne _082E7F66
- movs r1, 0
- cmp r2, 0x4
- bne _082E7EFA
- movs r1, 0x1
-_082E7EFA:
- cmp r1, 0
- beq _082E7F1C
- movs r1, 0
- cmp r0, 0x4
- bne _082E7F06
- movs r1, 0x1
-_082E7F06:
- cmp r1, 0
- beq _082E7EE0
- ldr r1, [r3, 0x4]
- ldr r0, [r4, 0x4]
- cmp r1, r0
- beq _082E7EE0
- ldr r0, _082E7F18
- b _082E811C
- .align 2, 0
-_082E7F18: .4byte 0x03001a80
-_082E7F1C:
- movs r1, 0
- cmp r0, 0x4
- bne _082E7F24
- movs r1, 0x1
-_082E7F24:
- cmp r1, 0
- bne _082E7F66
- movs r1, 0
- cmp r0, 0x2
- bne _082E7F30
- movs r1, 0x1
-_082E7F30:
- cmp r1, 0
- beq _082E7F58
- movs r0, 0
- cmp r2, 0x2
- bne _082E7F3C
- movs r0, 0x1
-_082E7F3C:
- cmp r0, 0
- beq _082E7EE0
- mov r1, r10
- adds r0, r3, 0
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r2,r5}
- stm r1!, {r2,r5}
- ldr r0, [r3, 0x4]
- ldr r1, [r4, 0x4]
- ands r0, r1
- mov r6, r10
- str r0, [r6, 0x4]
- b _082E811A
-_082E7F58:
- movs r1, 0
- ldr r0, [r3]
- cmp r0, 0x2
- bne _082E7F62
- movs r1, 0x1
-_082E7F62:
- cmp r1, 0
- beq _082E7F6A
-_082E7F66:
- adds r0, r4, 0
- b _082E811C
-_082E7F6A:
- ldr r0, [r3, 0x8]
- mov r9, r0
- ldr r1, [r4, 0x8]
- mov r8, r1
- ldr r6, [r3, 0xC]
- ldr r7, [r3, 0x10]
- ldr r0, [r4, 0xC]
- ldr r1, [r4, 0x10]
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r1, r9
- mov r2, r8
- subs r0, r1, r2
- cmp r0, 0
- bge _082E7F8A
- negs r0, r0
-_082E7F8A:
- cmp r0, 0x3F
- bgt _082E8008
- ldr r3, [r3, 0x4]
- mov r12, r3
- ldr r4, [r4, 0x4]
- str r4, [sp, 0x8]
- cmp r9, r8
- ble _082E7FD4
- mov r3, r9
- mov r4, r8
- subs r3, r4
- mov r8, r3
-_082E7FA2:
- movs r5, 0x1
- negs r5, r5
- add r8, r5
- ldr r2, [sp]
- movs r0, 0x1
- ands r2, r0
- movs r3, 0
- ldr r1, [sp, 0x4]
- lsls r5, r1, 31
- ldr r0, [sp]
- lsrs r4, r0, 1
- adds r0, r5, 0
- orrs r0, r4
- adds r4, r1, 0
- lsrs r1, r4, 1
- adds r5, r2, 0
- orrs r5, r0
- str r5, [sp]
- adds r4, r3, 0
- orrs r4, r1
- str r4, [sp, 0x4]
- mov r5, r8
- cmp r5, 0
- bne _082E7FA2
- mov r8, r9
-_082E7FD4:
- cmp r8, r9
- ble _082E8024
- mov r0, r8
- mov r1, r9
- subs r0, r1
- mov r9, r0
-_082E7FE0:
- movs r2, 0x1
- negs r2, r2
- add r9, r2
- movs r2, 0x1
- ands r2, r6
- movs r3, 0
- lsls r5, r7, 31
- lsrs r4, r6, 1
- adds r0, r5, 0
- orrs r0, r4
- lsrs r1, r7, 1
- adds r6, r2, 0
- orrs r6, r0
- adds r7, r3, 0
- orrs r7, r1
- mov r3, r9
- cmp r3, 0
- bne _082E7FE0
- mov r9, r8
- b _082E8024
-_082E8008:
- cmp r9, r8
- ble _082E8016
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- b _082E801C
-_082E8016:
- mov r9, r8
- movs r6, 0
- movs r7, 0
-_082E801C:
- ldr r3, [r3, 0x4]
- mov r12, r3
- ldr r4, [r4, 0x4]
- str r4, [sp, 0x8]
-_082E8024:
- ldr r1, [sp, 0x8]
- cmp r12, r1
- beq _082E80CC
- mov r2, r12
- cmp r2, 0
- beq _082E8046
- adds r1, r7, 0
- adds r0, r6, 0
- bl __negdi2
- adds r3, r1, 0
- adds r2, r0, 0
- ldr r4, [sp]
- ldr r5, [sp, 0x4]
- adds r2, r4
- adcs r3, r5
- b _082E8052
-_082E8046:
- adds r3, r7, 0
- adds r2, r6, 0
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- subs r2, r0
- sbcs r3, r1
-_082E8052:
- cmp r3, 0
- blt _082E8068
- movs r0, 0
- mov r1, r10
- str r0, [r1, 0x4]
- mov r4, r9
- str r4, [r1, 0x8]
- mov r5, r10
- str r2, [r5, 0xC]
- str r3, [r5, 0x10]
- b _082E8080
-_082E8068:
- movs r0, 0x1
- mov r6, r10
- str r0, [r6, 0x4]
- mov r0, r9
- str r0, [r6, 0x8]
- adds r1, r3, 0
- adds r0, r2, 0
- bl __negdi2
- mov r2, r10
- str r0, [r2, 0xC]
- str r1, [r2, 0x10]
-_082E8080:
- mov r4, r10
- ldr r2, [r4, 0xC]
- ldr r3, [r4, 0x10]
- movs r0, 0x1
- negs r0, r0
- asrs r1, r0, 31
-_082E808C:
- adds r2, r0
- adcs r3, r1
- ldr r0, _082E80C8
- cmp r3, r0
- bhi _082E80E4
- cmp r3, r0
- bne _082E80A2
- movs r0, 0x2
- negs r0, r0
- cmp r2, r0
- bhi _082E80E4
-_082E80A2:
- mov r5, r10
- ldr r0, [r5, 0xC]
- ldr r1, [r5, 0x10]
- lsrs r3, r0, 31
- lsls r2, r1, 1
- adds r1, r3, 0
- orrs r1, r2
- lsls r0, 1
- mov r6, r10
- str r0, [r6, 0xC]
- str r1, [r6, 0x10]
- ldr r2, [r6, 0x8]
- subs r2, 0x1
- str r2, [r6, 0x8]
- movs r2, 0x1
- negs r2, r2
- asrs r3, r2, 31
- b _082E808C
- .align 2, 0
-_082E80C8: .4byte 0x0fffffff
-_082E80CC:
- mov r0, r12
- mov r1, r10
- str r0, [r1, 0x4]
- mov r2, r9
- str r2, [r1, 0x8]
- ldr r3, [sp]
- ldr r4, [sp, 0x4]
- adds r6, r3
- adcs r7, r4
- mov r4, r10
- str r6, [r4, 0xC]
- str r7, [r4, 0x10]
-_082E80E4:
- movs r0, 0x3
- mov r5, r10
- str r0, [r5]
- ldr r1, [r5, 0x10]
- ldr r0, _082E8128
- cmp r1, r0
- bls _082E811A
- ldr r4, [r5, 0xC]
- ldr r5, [r5, 0x10]
- movs r2, 0x1
- adds r0, r4, 0
- ands r0, r2
- movs r1, 0
- lsls r6, r5, 31
- mov r8, r6
- lsrs r6, r4, 1
- mov r2, r8
- orrs r2, r6
- lsrs r3, r5, 1
- orrs r0, r2
- orrs r1, r3
- mov r2, r10
- str r0, [r2, 0xC]
- str r1, [r2, 0x10]
- ldr r0, [r2, 0x8]
- adds r0, 0x1
- str r0, [r2, 0x8]
-_082E811A:
- mov r0, r10
-_082E811C:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7,pc}
- .align 2, 0
-_082E8128: .4byte 0x1fffffff
- thumb_func_end __fpadd_parts_d
-
- thumb_func_start __adddf3
-__adddf3: @ 82E812C
- push {r4,lr}
- sub sp, 0x4C
- str r0, [sp, 0x3C]
- str r1, [sp, 0x40]
- str r2, [sp, 0x44]
- str r3, [sp, 0x48]
- add r0, sp, 0x3C
- mov r1, sp
- bl __unpack_d
- add r0, sp, 0x44
- add r4, sp, 0x14
- adds r1, r4, 0
- bl __unpack_d
- add r2, sp, 0x28
- mov r0, sp
- adds r1, r4, 0
- bl __fpadd_parts_d
- bl __pack_d
- add sp, 0x4C
- pop {r4,pc}
- thumb_func_end __adddf3
-
- thumb_func_start __subdf3
-__subdf3: @ 82E815C
- push {r4,lr}
- sub sp, 0x4C
- str r0, [sp, 0x3C]
- str r1, [sp, 0x40]
- str r2, [sp, 0x44]
- str r3, [sp, 0x48]
- add r0, sp, 0x3C
- mov r1, sp
- bl __unpack_d
- add r0, sp, 0x44
- add r4, sp, 0x14
- adds r1, r4, 0
- bl __unpack_d
- ldr r0, [r4, 0x4]
- movs r1, 0x1
- eors r0, r1
- str r0, [r4, 0x4]
- add r2, sp, 0x28
- mov r0, sp
- adds r1, r4, 0
- bl __fpadd_parts_d
- bl __pack_d
- add sp, 0x4C
- pop {r4,pc}
- thumb_func_end __subdf3
-
- thumb_func_start __muldf3
-__muldf3: @ 82E8194
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x74
- str r0, [sp, 0x3C]
- str r1, [sp, 0x40]
- str r2, [sp, 0x44]
- str r3, [sp, 0x48]
- add r0, sp, 0x3C
- mov r1, sp
- bl __unpack_d
- add r0, sp, 0x44
- add r4, sp, 0x14
- adds r1, r4, 0
- bl __unpack_d
- mov r8, sp
- add r0, sp, 0x28
- mov r10, r0
- movs r0, 0
- ldr r1, [sp]
- cmp r1, 0x1
- bhi _082E81CA
- movs r0, 0x1
-_082E81CA:
- cmp r0, 0
- bne _082E822E
- movs r2, 0
- ldr r0, [sp, 0x14]
- cmp r0, 0x1
- bhi _082E81D8
- movs r2, 0x1
-_082E81D8:
- cmp r2, 0
- beq _082E81E0
- ldr r0, [sp, 0x4]
- b _082E8250
-_082E81E0:
- movs r2, 0
- cmp r1, 0x4
- bne _082E81E8
- movs r2, 0x1
-_082E81E8:
- cmp r2, 0
- beq _082E81FA
- movs r1, 0
- cmp r0, 0x2
- bne _082E81F4
- movs r1, 0x1
-_082E81F4:
- cmp r1, 0
- bne _082E8212
- b _082E822E
-_082E81FA:
- movs r2, 0
- cmp r0, 0x4
- bne _082E8202
- movs r2, 0x1
-_082E8202:
- cmp r2, 0
- beq _082E8222
- movs r0, 0
- cmp r1, 0x2
- bne _082E820E
- movs r0, 0x1
-_082E820E:
- cmp r0, 0
- beq _082E821C
-_082E8212:
- ldr r0, _082E8218
- b _082E841A
- .align 2, 0
-_082E8218: .4byte 0x03001a80
-_082E821C:
- mov r1, r8
- ldr r0, [r1, 0x4]
- b _082E8250
-_082E8222:
- movs r2, 0
- cmp r1, 0x2
- bne _082E822A
- movs r2, 0x1
-_082E822A:
- cmp r2, 0
- beq _082E8240
-_082E822E:
- ldr r0, [sp, 0x4]
- ldr r1, [sp, 0x18]
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- str r1, [sp, 0x4]
- mov r0, sp
- b _082E841A
-_082E8240:
- movs r1, 0
- cmp r0, 0x2
- bne _082E8248
- movs r1, 0x1
-_082E8248:
- cmp r1, 0
- beq _082E8260
- mov r2, r8
- ldr r0, [r2, 0x4]
-_082E8250:
- ldr r1, [sp, 0x18]
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- str r1, [sp, 0x18]
- adds r0, r4, 0
- b _082E841A
-_082E8260:
- mov r4, r8
- ldr r0, [r4, 0xC]
- ldr r1, [r4, 0x10]
- adds r6, r0, 0
- movs r7, 0
- str r1, [sp, 0x4C]
- movs r5, 0
- str r5, [sp, 0x50]
- ldr r0, [sp, 0x20]
- ldr r1, [sp, 0x24]
- adds r4, r0, 0
- str r1, [sp, 0x54]
- movs r0, 0
- str r0, [sp, 0x58]
- adds r1, r5, 0
- adds r0, r4, 0
- adds r3, r7, 0
- adds r2, r6, 0
- bl __muldi3
- str r0, [sp, 0x5C]
- str r1, [sp, 0x60]
- ldr r0, [sp, 0x54]
- ldr r1, [sp, 0x58]
- adds r3, r7, 0
- adds r2, r6, 0
- bl __muldi3
- adds r7, r1, 0
- adds r6, r0, 0
- adds r1, r5, 0
- adds r0, r4, 0
- ldr r2, [sp, 0x4C]
- ldr r3, [sp, 0x50]
- bl __muldi3
- adds r5, r1, 0
- adds r4, r0, 0
- ldr r0, [sp, 0x54]
- ldr r1, [sp, 0x58]
- ldr r2, [sp, 0x4C]
- ldr r3, [sp, 0x50]
- bl __muldi3
- str r0, [sp, 0x64]
- str r1, [sp, 0x68]
- movs r1, 0
- movs r2, 0
- str r1, [sp, 0x6C]
- str r2, [sp, 0x70]
- adds r3, r7, 0
- adds r2, r6, 0
- adds r2, r4
- adcs r3, r5
- cmp r7, r3
- bhi _082E82D8
- cmp r7, r3
- bne _082E82E0
- cmp r6, r2
- bls _082E82E0
-_082E82D8:
- ldr r5, _082E8430
- ldr r4, _082E842C
- str r4, [sp, 0x6C]
- str r5, [sp, 0x70]
-_082E82E0:
- adds r1, r2, 0
- movs r6, 0
- adds r7, r1, 0
- ldr r0, [sp, 0x5C]
- ldr r1, [sp, 0x60]
- adds r6, r0
- adcs r7, r1
- cmp r1, r7
- bhi _082E82FC
- ldr r1, [sp, 0x60]
- cmp r1, r7
- bne _082E830C
- cmp r0, r6
- bls _082E830C
-_082E82FC:
- movs r0, 0x1
- movs r1, 0
- ldr r4, [sp, 0x6C]
- ldr r5, [sp, 0x70]
- adds r4, r0
- adcs r5, r1
- str r4, [sp, 0x6C]
- str r5, [sp, 0x70]
-_082E830C:
- adds r0, r3, 0
- adds r2, r0, 0
- movs r3, 0
- adds r5, r3, 0
- adds r4, r2, 0
- ldr r0, [sp, 0x64]
- ldr r1, [sp, 0x68]
- adds r4, r0
- adcs r5, r1
- ldr r1, [sp, 0x6C]
- ldr r2, [sp, 0x70]
- adds r4, r1
- adcs r5, r2
- mov r0, r8
- ldr r2, [r0, 0x8]
- ldr r0, [sp, 0x1C]
- adds r2, r0
- str r2, [sp, 0x30]
- mov r0, r8
- ldr r1, [r0, 0x4]
- ldr r0, [sp, 0x18]
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- str r0, [sp, 0x2C]
- adds r2, 0x4
- str r2, [sp, 0x30]
- ldr r0, _082E8434
- cmp r5, r0
- bls _082E838E
- movs r1, 0x1
- mov r9, r1
- mov r8, r0
- mov r12, r2
-_082E8352:
- movs r2, 0x1
- add r12, r2
- mov r0, r9
- ands r0, r4
- cmp r0, 0
- beq _082E8378
- lsls r3, r7, 31
- lsrs r2, r6, 1
- adds r0, r3, 0
- orrs r0, r2
- lsrs r1, r7, 1
- adds r7, r1, 0
- adds r6, r0, 0
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 24
- orrs r1, r7
- adds r7, r1, 0
- adds r6, r0, 0
-_082E8378:
- lsls r3, r5, 31
- lsrs r2, r4, 1
- adds r0, r3, 0
- orrs r0, r2
- lsrs r1, r5, 1
- adds r5, r1, 0
- adds r4, r0, 0
- cmp r5, r8
- bhi _082E8352
- mov r0, r12
- str r0, [sp, 0x30]
-_082E838E:
- ldr r0, _082E8438
- cmp r5, r0
- bhi _082E83E0
- movs r1, 0x80
- lsls r1, 24
- mov r9, r1
- mov r8, r0
- ldr r2, [sp, 0x30]
- mov r12, r2
-_082E83A0:
- movs r0, 0x1
- negs r0, r0
- add r12, r0
- lsrs r3, r4, 31
- lsls r2, r5, 1
- adds r1, r3, 0
- orrs r1, r2
- lsls r0, r4, 1
- adds r5, r1, 0
- adds r4, r0, 0
- movs r0, 0
- mov r1, r9
- ands r1, r7
- orrs r0, r1
- cmp r0, 0
- beq _082E83CA
- movs r0, 0x1
- orrs r0, r4
- adds r1, r5, 0
- adds r5, r1, 0
- adds r4, r0, 0
-_082E83CA:
- lsrs r3, r6, 31
- lsls r2, r7, 1
- adds r1, r3, 0
- orrs r1, r2
- lsls r0, r6, 1
- adds r7, r1, 0
- adds r6, r0, 0
- cmp r5, r8
- bls _082E83A0
- mov r1, r12
- str r1, [sp, 0x30]
-_082E83E0:
- movs r0, 0xFF
- adds r1, r4, 0
- ands r1, r0
- movs r2, 0
- cmp r1, 0x80
- bne _082E840E
- cmp r2, 0
- bne _082E840E
- adds r0, 0x1
- adds r1, r4, 0
- ands r1, r0
- adds r0, r2, 0
- orrs r0, r1
- cmp r0, 0
- bne _082E8406
- adds r0, r7, 0
- orrs r0, r6
- cmp r0, 0
- beq _082E840E
-_082E8406:
- movs r0, 0x80
- movs r1, 0
- adds r4, r0
- adcs r5, r1
-_082E840E:
- str r4, [sp, 0x34]
- str r5, [sp, 0x38]
- movs r0, 0x3
- mov r2, r10
- str r0, [r2]
- add r0, sp, 0x28
-_082E841A:
- bl __pack_d
- add sp, 0x74
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7,pc}
- .align 2, 0
-_082E842C: .4byte 0x00000000
-_082E8430: .4byte 0x00000001
-_082E8434: .4byte 0x1fffffff
-_082E8438: .4byte 0x0fffffff
- thumb_func_end __muldf3
-
- thumb_func_start __divdf3
-__divdf3: @ 82E843C
- push {r4-r7,lr}
- sub sp, 0x48
- str r0, [sp, 0x28]
- str r1, [sp, 0x2C]
- str r2, [sp, 0x30]
- str r3, [sp, 0x34]
- add r0, sp, 0x28
- mov r1, sp
- bl __unpack_d
- add r0, sp, 0x30
- add r4, sp, 0x14
- adds r1, r4, 0
- bl __unpack_d
- mov r12, sp
- movs r0, 0
- ldr r3, [sp]
- cmp r3, 0x1
- bhi _082E8466
- movs r0, 0x1
-_082E8466:
- cmp r0, 0
- beq _082E846E
- mov r1, sp
- b _082E85B0
-_082E846E:
- movs r0, 0
- ldr r2, [sp, 0x14]
- adds r5, r2, 0
- cmp r2, 0x1
- bhi _082E847A
- movs r0, 0x1
-_082E847A:
- cmp r0, 0
- beq _082E8482
- adds r1, r4, 0
- b _082E85B0
-_082E8482:
- ldr r0, [sp, 0x4]
- ldr r1, [sp, 0x18]
- eors r0, r1
- str r0, [sp, 0x4]
- movs r0, 0
- cmp r3, 0x4
- bne _082E8492
- movs r0, 0x1
-_082E8492:
- cmp r0, 0
- bne _082E84A2
- movs r4, 0
- cmp r3, 0x2
- bne _082E849E
- movs r4, 0x1
-_082E849E:
- cmp r4, 0
- beq _082E84B4
-_082E84A2:
- mov r1, r12
- ldr r0, [r1]
- cmp r0, r5
- beq _082E84AC
- b _082E85B0
-_082E84AC:
- ldr r1, _082E84B0
- b _082E85B0
- .align 2, 0
-_082E84B0: .4byte 0x03001a80
-_082E84B4:
- movs r0, 0
- cmp r2, 0x4
- bne _082E84BC
- movs r0, 0x1
-_082E84BC:
- cmp r0, 0
- beq _082E84CE
- movs r0, 0
- movs r1, 0
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- str r4, [sp, 0x8]
- mov r1, sp
- b _082E85B0
-_082E84CE:
- movs r0, 0
- cmp r2, 0x2
- bne _082E84D6
- movs r0, 0x1
-_082E84D6:
- cmp r0, 0
- beq _082E84E2
- movs r0, 0x4
- mov r2, r12
- str r0, [r2]
- b _082E85AE
-_082E84E2:
- mov r3, r12
- ldr r1, [r3, 0x8]
- ldr r0, [sp, 0x1C]
- subs r6, r1, r0
- str r6, [r3, 0x8]
- ldr r4, [r3, 0xC]
- ldr r5, [r3, 0x10]
- ldr r0, [sp, 0x20]
- ldr r1, [sp, 0x24]
- str r0, [sp, 0x38]
- str r1, [sp, 0x3C]
- cmp r1, r5
- bhi _082E8506
- ldr r1, [sp, 0x3C]
- cmp r1, r5
- bne _082E851A
- cmp r0, r4
- bls _082E851A
-_082E8506:
- lsrs r3, r4, 31
- lsls r2, r5, 1
- adds r1, r3, 0
- orrs r1, r2
- lsls r0, r4, 1
- adds r5, r1, 0
- adds r4, r0, 0
- subs r0, r6, 0x1
- mov r2, r12
- str r0, [r2, 0x8]
-_082E851A:
- ldr r7, _082E85C0
- ldr r6, _082E85BC
- movs r0, 0
- movs r1, 0
- str r0, [sp, 0x40]
- str r1, [sp, 0x44]
-_082E8526:
- ldr r1, [sp, 0x3C]
- cmp r1, r5
- bhi _082E854A
- cmp r1, r5
- bne _082E8536
- ldr r2, [sp, 0x38]
- cmp r2, r4
- bhi _082E854A
-_082E8536:
- ldr r0, [sp, 0x40]
- orrs r0, r6
- ldr r1, [sp, 0x44]
- orrs r1, r7
- str r0, [sp, 0x40]
- str r1, [sp, 0x44]
- ldr r0, [sp, 0x38]
- ldr r1, [sp, 0x3C]
- subs r4, r0
- sbcs r5, r1
-_082E854A:
- lsls r3, r7, 31
- lsrs r2, r6, 1
- adds r0, r3, 0
- orrs r0, r2
- lsrs r1, r7, 1
- adds r7, r1, 0
- adds r6, r0, 0
- lsrs r3, r4, 31
- lsls r2, r5, 1
- adds r1, r3, 0
- orrs r1, r2
- lsls r0, r4, 1
- adds r5, r1, 0
- adds r4, r0, 0
- adds r0, r7, 0
- orrs r0, r6
- cmp r0, 0
- bne _082E8526
- movs r0, 0xFF
- ldr r1, [sp, 0x40]
- ands r1, r0
- movs r2, 0
- cmp r1, 0x80
- bne _082E85A4
- cmp r2, 0
- bne _082E85A4
- adds r0, 0x1
- ldr r1, [sp, 0x40]
- ands r1, r0
- adds r0, r2, 0
- orrs r0, r1
- cmp r0, 0
- bne _082E8594
- adds r0, r5, 0
- orrs r0, r4
- cmp r0, 0
- beq _082E85A4
-_082E8594:
- movs r0, 0x80
- movs r1, 0
- ldr r2, [sp, 0x40]
- ldr r3, [sp, 0x44]
- adds r2, r0
- adcs r3, r1
- str r2, [sp, 0x40]
- str r3, [sp, 0x44]
-_082E85A4:
- ldr r0, [sp, 0x40]
- ldr r1, [sp, 0x44]
- mov r2, r12
- str r0, [r2, 0xC]
- str r1, [r2, 0x10]
-_082E85AE:
- mov r1, r12
-_082E85B0:
- adds r0, r1, 0
- bl __pack_d
- add sp, 0x48
- pop {r4-r7,pc}
- .align 2, 0
-_082E85BC: .4byte 0x00000000
-_082E85C0: .4byte 0x10000000
- thumb_func_end __divdf3
-
- thumb_func_start __fpcmp_parts_d
-__fpcmp_parts_d: @ 82E85C4
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- movs r0, 0
- ldr r1, [r5]
- cmp r1, 0x1
- bhi _082E85D4
- movs r0, 0x1
-_082E85D4:
- cmp r0, 0
- bne _082E85E6
- movs r0, 0
- ldr r2, [r6]
- cmp r2, 0x1
- bhi _082E85E2
- movs r0, 0x1
-_082E85E2:
- cmp r0, 0
- beq _082E85EA
-_082E85E6:
- movs r0, 0x1
- b _082E86C0
-_082E85EA:
- movs r0, 0
- cmp r1, 0x4
- bne _082E85F2
- movs r0, 0x1
-_082E85F2:
- cmp r0, 0
- beq _082E860A
- movs r0, 0
- cmp r2, 0x4
- bne _082E85FE
- movs r0, 0x1
-_082E85FE:
- cmp r0, 0
- beq _082E860A
- ldr r0, [r6, 0x4]
- ldr r1, [r5, 0x4]
- subs r0, r1
- b _082E86C0
-_082E860A:
- movs r1, 0
- ldr r0, [r5]
- cmp r0, 0x4
- bne _082E8614
- movs r1, 0x1
-_082E8614:
- cmp r1, 0
- bne _082E8662
- movs r1, 0
- cmp r2, 0x4
- bne _082E8620
- movs r1, 0x1
-_082E8620:
- cmp r1, 0
- beq _082E8632
-_082E8624:
- ldr r0, [r6, 0x4]
- movs r1, 0x1
- negs r1, r1
- cmp r0, 0
- beq _082E866C
- movs r1, 0x1
- b _082E866C
-_082E8632:
- movs r1, 0
- cmp r0, 0x2
- bne _082E863A
- movs r1, 0x1
-_082E863A:
- cmp r1, 0
- beq _082E864A
- movs r1, 0
- cmp r2, 0x2
- bne _082E8646
- movs r1, 0x1
-_082E8646:
- cmp r1, 0
- bne _082E86BE
-_082E864A:
- movs r1, 0
- cmp r0, 0x2
- bne _082E8652
- movs r1, 0x1
-_082E8652:
- cmp r1, 0
- bne _082E8624
- movs r0, 0
- cmp r2, 0x2
- bne _082E865E
- movs r0, 0x1
-_082E865E:
- cmp r0, 0
- beq _082E8670
-_082E8662:
- ldr r0, [r5, 0x4]
- movs r1, 0x1
- cmp r0, 0
- beq _082E866C
- subs r1, 0x2
-_082E866C:
- adds r0, r1, 0
- b _082E86C0
-_082E8670:
- ldr r0, [r6, 0x4]
- ldr r4, [r5, 0x4]
- cmp r4, r0
- beq _082E8682
-_082E8678:
- movs r0, 0x1
- cmp r4, 0
- beq _082E86C0
- subs r0, 0x2
- b _082E86C0
-_082E8682:
- ldr r1, [r5, 0x8]
- ldr r0, [r6, 0x8]
- cmp r1, r0
- bgt _082E8678
- cmp r1, r0
- bge _082E869A
-_082E868E:
- movs r0, 0x1
- negs r0, r0
- cmp r4, 0
- beq _082E86C0
- movs r0, 0x1
- b _082E86C0
-_082E869A:
- ldr r3, [r5, 0x10]
- ldr r2, [r6, 0x10]
- cmp r3, r2
- bhi _082E8678
- cmp r3, r2
- bne _082E86AE
- ldr r1, [r5, 0xC]
- ldr r0, [r6, 0xC]
- cmp r1, r0
- bhi _082E8678
-_082E86AE:
- cmp r2, r3
- bhi _082E868E
- cmp r2, r3
- bne _082E86BE
- ldr r1, [r6, 0xC]
- ldr r0, [r5, 0xC]
- cmp r1, r0
- bhi _082E868E
-_082E86BE:
- movs r0, 0
-_082E86C0:
- pop {r4-r6,pc}
- thumb_func_end __fpcmp_parts_d
-
- thumb_func_start __cmpdf2
-__cmpdf2: @ 82E86C4
- push {r4,lr}
- sub sp, 0x38
- str r0, [sp, 0x28]
- str r1, [sp, 0x2C]
- str r2, [sp, 0x30]
- str r3, [sp, 0x34]
- add r0, sp, 0x28
- mov r1, sp
- bl __unpack_d
- add r0, sp, 0x30
- add r4, sp, 0x14
- adds r1, r4, 0
- bl __unpack_d
- mov r0, sp
- adds r1, r4, 0
- bl __fpcmp_parts_d
- add sp, 0x38
- pop {r4,pc}
- thumb_func_end __cmpdf2
-
- thumb_func_start __eqdf2
-__eqdf2: @ 82E86F0
- push {r4,lr}
- sub sp, 0x38
- str r0, [sp, 0x28]
- str r1, [sp, 0x2C]
- str r2, [sp, 0x30]
- str r3, [sp, 0x34]
- add r0, sp, 0x28
- mov r1, sp
- bl __unpack_d
- add r0, sp, 0x30
- add r4, sp, 0x14
- adds r1, r4, 0
- bl __unpack_d
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x1
- bhi _082E8718
- movs r1, 0x1
-_082E8718:
- cmp r1, 0
- bne _082E872A
- movs r1, 0
- ldr r0, [sp, 0x14]
- cmp r0, 0x1
- bhi _082E8726
- movs r1, 0x1
-_082E8726:
- cmp r1, 0
- beq _082E872E
-_082E872A:
- movs r0, 0x1
- b _082E8736
-_082E872E:
- mov r0, sp
- adds r1, r4, 0
- bl __fpcmp_parts_d
-_082E8736:
- add sp, 0x38
- pop {r4,pc}
- thumb_func_end __eqdf2
-
- thumb_func_start __nedf2
-__nedf2: @ 82E873C
- push {r4,lr}
- sub sp, 0x38
- str r0, [sp, 0x28]
- str r1, [sp, 0x2C]
- str r2, [sp, 0x30]
- str r3, [sp, 0x34]
- add r0, sp, 0x28
- mov r1, sp
- bl __unpack_d
- add r0, sp, 0x30
- add r4, sp, 0x14
- adds r1, r4, 0
- bl __unpack_d
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x1
- bhi _082E8764
- movs r1, 0x1
-_082E8764:
- cmp r1, 0
- bne _082E8776
- movs r1, 0
- ldr r0, [sp, 0x14]
- cmp r0, 0x1
- bhi _082E8772
- movs r1, 0x1
-_082E8772:
- cmp r1, 0
- beq _082E877A
-_082E8776:
- movs r0, 0x1
- b _082E8782
-_082E877A:
- mov r0, sp
- adds r1, r4, 0
- bl __fpcmp_parts_d
-_082E8782:
- add sp, 0x38
- pop {r4,pc}
- thumb_func_end __nedf2
-
- thumb_func_start __gtdf2
-__gtdf2: @ 82E8788
- push {r4,lr}
- sub sp, 0x38
- str r0, [sp, 0x28]
- str r1, [sp, 0x2C]
- str r2, [sp, 0x30]
- str r3, [sp, 0x34]
- add r0, sp, 0x28
- mov r1, sp
- bl __unpack_d
- add r0, sp, 0x30
- add r4, sp, 0x14
- adds r1, r4, 0
- bl __unpack_d
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x1
- bhi _082E87B0
- movs r1, 0x1
-_082E87B0:
- cmp r1, 0
- bne _082E87C2
- movs r1, 0
- ldr r0, [sp, 0x14]
- cmp r0, 0x1
- bhi _082E87BE
- movs r1, 0x1
-_082E87BE:
- cmp r1, 0
- beq _082E87C8
-_082E87C2:
- movs r0, 0x1
- negs r0, r0
- b _082E87D0
-_082E87C8:
- mov r0, sp
- adds r1, r4, 0
- bl __fpcmp_parts_d
-_082E87D0:
- add sp, 0x38
- pop {r4,pc}
- thumb_func_end __gtdf2
-
- thumb_func_start __gedf2
-__gedf2: @ 82E87D4
- push {r4,lr}
- sub sp, 0x38
- str r0, [sp, 0x28]
- str r1, [sp, 0x2C]
- str r2, [sp, 0x30]
- str r3, [sp, 0x34]
- add r0, sp, 0x28
- mov r1, sp
- bl __unpack_d
- add r0, sp, 0x30
- add r4, sp, 0x14
- adds r1, r4, 0
- bl __unpack_d
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x1
- bhi _082E87FC
- movs r1, 0x1
-_082E87FC:
- cmp r1, 0
- bne _082E880E
- movs r1, 0
- ldr r0, [sp, 0x14]
- cmp r0, 0x1
- bhi _082E880A
- movs r1, 0x1
-_082E880A:
- cmp r1, 0
- beq _082E8814
-_082E880E:
- movs r0, 0x1
- negs r0, r0
- b _082E881C
-_082E8814:
- mov r0, sp
- adds r1, r4, 0
- bl __fpcmp_parts_d
-_082E881C:
- add sp, 0x38
- pop {r4,pc}
- thumb_func_end __gedf2
-
- thumb_func_start __ltdf2
-__ltdf2: @ 82E8820
- push {r4,lr}
- sub sp, 0x38
- str r0, [sp, 0x28]
- str r1, [sp, 0x2C]
- str r2, [sp, 0x30]
- str r3, [sp, 0x34]
- add r0, sp, 0x28
- mov r1, sp
- bl __unpack_d
- add r0, sp, 0x30
- add r4, sp, 0x14
- adds r1, r4, 0
- bl __unpack_d
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x1
- bhi _082E8848
- movs r1, 0x1
-_082E8848:
- cmp r1, 0
- bne _082E885A
- movs r1, 0
- ldr r0, [sp, 0x14]
- cmp r0, 0x1
- bhi _082E8856
- movs r1, 0x1
-_082E8856:
- cmp r1, 0
- beq _082E885E
-_082E885A:
- movs r0, 0x1
- b _082E8866
-_082E885E:
- mov r0, sp
- adds r1, r4, 0
- bl __fpcmp_parts_d
-_082E8866:
- add sp, 0x38
- pop {r4,pc}
- thumb_func_end __ltdf2
-
- thumb_func_start __ledf2
-__ledf2: @ 82E886C
- push {r4,lr}
- sub sp, 0x38
- str r0, [sp, 0x28]
- str r1, [sp, 0x2C]
- str r2, [sp, 0x30]
- str r3, [sp, 0x34]
- add r0, sp, 0x28
- mov r1, sp
- bl __unpack_d
- add r0, sp, 0x30
- add r4, sp, 0x14
- adds r1, r4, 0
- bl __unpack_d
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x1
- bhi _082E8894
- movs r1, 0x1
-_082E8894:
- cmp r1, 0
- bne _082E88A6
- movs r1, 0
- ldr r0, [sp, 0x14]
- cmp r0, 0x1
- bhi _082E88A2
- movs r1, 0x1
-_082E88A2:
- cmp r1, 0
- beq _082E88AA
-_082E88A6:
- movs r0, 0x1
- b _082E88B2
-_082E88AA:
- mov r0, sp
- adds r1, r4, 0
- bl __fpcmp_parts_d
-_082E88B2:
- add sp, 0x38
- pop {r4,pc}
- thumb_func_end __ledf2
-
- thumb_func_start __floatsidf
-__floatsidf: @ 82E88B8
- push {r4,r5,lr}
- sub sp, 0x14
- adds r2, r0, 0
- movs r0, 0x3
- str r0, [sp]
- lsrs r1, r2, 31
- str r1, [sp, 0x4]
- cmp r2, 0
- bne _082E88D0
- movs r0, 0x2
- str r0, [sp]
- b _082E8926
-_082E88D0:
- movs r0, 0x3C
- str r0, [sp, 0x8]
- cmp r1, 0
- beq _082E88F6
- movs r0, 0x80
- lsls r0, 24
- cmp r2, r0
- bne _082E88F0
- ldr r1, _082E88EC
- ldr r0, _082E88E8
- b _082E892C
- .align 2, 0
-_082E88E8: .4byte 0xc1e00000
-_082E88EC: .4byte 0x00000000
-_082E88F0:
- negs r0, r2
- asrs r1, r0, 31
- b _082E88FA
-_082E88F6:
- adds r0, r2, 0
- asrs r1, r2, 31
-_082E88FA:
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r0, [sp, 0x10]
- ldr r1, _082E8930
- cmp r0, r1
- bhi _082E8926
- adds r5, r1, 0
- ldr r4, [sp, 0x8]
-_082E890A:
- ldr r0, [sp, 0xC]
- ldr r1, [sp, 0x10]
- lsrs r3, r0, 31
- lsls r2, r1, 1
- adds r1, r3, 0
- orrs r1, r2
- lsls r0, 1
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- subs r4, 0x1
- ldr r0, [sp, 0x10]
- cmp r0, r5
- bls _082E890A
- str r4, [sp, 0x8]
-_082E8926:
- mov r0, sp
- bl __pack_d
-_082E892C:
- add sp, 0x14
- pop {r4,r5,pc}
- .align 2, 0
-_082E8930: .4byte 0x0fffffff
- thumb_func_end __floatsidf
-
- thumb_func_start __fixdfsi
-__fixdfsi: @ 82E8934
- push {lr}
- sub sp, 0x1C
- str r0, [sp, 0x14]
- str r1, [sp, 0x18]
- add r0, sp, 0x14
- mov r1, sp
- bl __unpack_d
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x2
- bne _082E894E
- movs r1, 0x1
-_082E894E:
- cmp r1, 0
- bne _082E8982
- movs r1, 0
- cmp r0, 0x1
- bhi _082E895A
- movs r1, 0x1
-_082E895A:
- cmp r1, 0
- bne _082E8982
- movs r1, 0
- cmp r0, 0x4
- bne _082E8966
- movs r1, 0x1
-_082E8966:
- cmp r1, 0
- beq _082E897C
-_082E896A:
- ldr r0, [sp, 0x4]
- ldr r1, _082E8978
- cmp r0, 0
- beq _082E89A0
- adds r1, 0x1
- b _082E89A0
- .align 2, 0
-_082E8978: .4byte 0x7fffffff
-_082E897C:
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bge _082E8986
-_082E8982:
- movs r0, 0
- b _082E89A2
-_082E8986:
- cmp r0, 0x1E
- bgt _082E896A
- movs r2, 0x3C
- subs r2, r0
- ldr r0, [sp, 0xC]
- ldr r1, [sp, 0x10]
- bl __lshrdi3
- adds r1, r0, 0
- ldr r0, [sp, 0x4]
- cmp r0, 0
- beq _082E89A0
- negs r1, r1
-_082E89A0:
- adds r0, r1, 0
-_082E89A2:
- add sp, 0x1C
- pop {pc}
- thumb_func_end __fixdfsi
-
- thumb_func_start __negdf2
-__negdf2: @ 82E89A8
- push {lr}
- sub sp, 0x1C
- str r0, [sp, 0x14]
- str r1, [sp, 0x18]
- add r0, sp, 0x14
- mov r1, sp
- bl __unpack_d
- movs r1, 0
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bne _082E89C2
- movs r1, 0x1
-_082E89C2:
- str r1, [sp, 0x4]
- mov r0, sp
- bl __pack_d
- add sp, 0x1C
- pop {pc}
- thumb_func_end __negdf2
-
- thumb_func_start __make_dp
-__make_dp: @ 82E89D0
- sub sp, 0x4
- push {r4,lr}
- sub sp, 0x14
- str r3, [sp, 0x1C]
- ldr r3, [sp, 0x1C]
- ldr r4, [sp, 0x20]
- str r0, [sp]
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- str r4, [sp, 0x10]
- mov r0, sp
- bl __pack_d
- add sp, 0x14
- pop {r4}
- pop {r3}
- add sp, 0x4
- bx r3
- thumb_func_end __make_dp
-
- thumb_func_start __truncdfsf2
-__truncdfsf2: @ 82E89F8
- push {r4,r5,lr}
- sub sp, 0x1C
- str r0, [sp, 0x14]
- str r1, [sp, 0x18]
- add r0, sp, 0x14
- mov r1, sp
- bl __unpack_d
- ldr r2, [sp, 0xC]
- ldr r3, [sp, 0x10]
- lsls r5, r3, 2
- lsrs r4, r2, 30
- adds r0, r5, 0
- orrs r0, r4
- adds r5, r0, 0
- ldr r4, _082E8A38
- adds r0, r2, 0
- ands r0, r4
- movs r1, 0
- orrs r0, r1
- cmp r0, 0
- beq _082E8A28
- movs r0, 0x1
- orrs r5, r0
-_082E8A28:
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- adds r3, r5, 0
- bl __make_fp
- add sp, 0x1C
- pop {r4,r5,pc}
- .align 2, 0
-_082E8A38: .4byte 0x3fffffff
- thumb_func_end __truncdfsf2
-
- thumb_func_start __pack_f
-__pack_f: @ 82E8A3C
- push {r4-r6,lr}
- ldr r2, [r0, 0xC]
- ldr r6, [r0, 0x4]
- movs r5, 0
- movs r1, 0
- ldr r3, [r0]
- cmp r3, 0x1
- bhi _082E8A4E
- movs r1, 0x1
-_082E8A4E:
- cmp r1, 0
- beq _082E8A5C
- movs r5, 0xFF
- movs r0, 0x80
- lsls r0, 13
- orrs r2, r0
- b _082E8AC2
-_082E8A5C:
- movs r1, 0
- cmp r3, 0x4
- bne _082E8A64
- movs r1, 0x1
-_082E8A64:
- cmp r1, 0
- bne _082E8A98
- movs r1, 0
- cmp r3, 0x2
- bne _082E8A70
- movs r1, 0x1
-_082E8A70:
- cmp r1, 0
- beq _082E8A78
- movs r2, 0
- b _082E8AC2
-_082E8A78:
- cmp r2, 0
- beq _082E8AC2
- ldr r0, [r0, 0x8]
- movs r3, 0x7E
- negs r3, r3
- cmp r0, r3
- bge _082E8A94
- subs r0, r3, r0
- cmp r0, 0x19
- ble _082E8A90
- movs r2, 0
- b _082E8AC0
-_082E8A90:
- lsrs r2, r0
- b _082E8AC0
-_082E8A94:
- cmp r0, 0x7F
- ble _082E8A9E
-_082E8A98:
- movs r5, 0xFF
- movs r2, 0
- b _082E8AC2
-_082E8A9E:
- adds r5, r0, 0
- adds r5, 0x7F
- movs r0, 0x7F
- ands r0, r2
- cmp r0, 0x40
- bne _082E8AB6
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _082E8AB8
- adds r2, 0x40
- b _082E8AB8
-_082E8AB6:
- adds r2, 0x3F
-_082E8AB8:
- cmp r2, 0
- bge _082E8AC0
- lsrs r2, 1
- adds r5, 0x1
-_082E8AC0:
- lsrs r2, 7
-_082E8AC2:
- ldr r0, _082E8AE4
- ands r2, r0
- ldr r0, _082E8AE8
- ands r4, r0
- orrs r4, r2
- movs r0, 0xFF
- ands r5, r0
- lsls r1, r5, 23
- ldr r0, _082E8AEC
- ands r4, r0
- orrs r4, r1
- lsls r1, r6, 31
- ldr r0, _082E8AF0
- ands r4, r0
- orrs r4, r1
- adds r0, r4, 0
- pop {r4-r6,pc}
- .align 2, 0
-_082E8AE4: .4byte 0x007fffff
-_082E8AE8: .4byte 0xff800000
-_082E8AEC: .4byte 0x807fffff
-_082E8AF0: .4byte 0x7fffffff
- thumb_func_end __pack_f
-
- thumb_func_start __unpack_f
-__unpack_f: @ 82E8AF4
- push {r4,lr}
- adds r3, r1, 0
- ldr r0, [r0]
- lsls r1, r0, 9
- lsrs r2, r1, 9
- lsls r1, r0, 1
- lsrs r1, 24
- lsrs r0, 31
- str r0, [r3, 0x4]
- cmp r1, 0
- bne _082E8B38
- cmp r2, 0
- bne _082E8B14
- movs r0, 0x2
- str r0, [r3]
- b _082E8B6C
-_082E8B14:
- adds r4, r1, 0
- subs r4, 0x7E
- str r4, [r3, 0x8]
- lsls r2, 7
- movs r0, 0x3
- str r0, [r3]
- ldr r1, _082E8B34
- cmp r2, r1
- bhi _082E8B54
- adds r0, r4, 0
-_082E8B28:
- lsls r2, 1
- subs r0, 0x1
- cmp r2, r1
- bls _082E8B28
- str r0, [r3, 0x8]
- b _082E8B54
- .align 2, 0
-_082E8B34: .4byte 0x3fffffff
-_082E8B38:
- cmp r1, 0xFF
- bne _082E8B58
- cmp r2, 0
- bne _082E8B46
- movs r0, 0x4
- str r0, [r3]
- b _082E8B6C
-_082E8B46:
- movs r0, 0x80
- lsls r0, 13
- ands r0, r2
- cmp r0, 0
- beq _082E8B52
- movs r0, 0x1
-_082E8B52:
- str r0, [r3]
-_082E8B54:
- str r2, [r3, 0xC]
- b _082E8B6C
-_082E8B58:
- adds r0, r1, 0
- subs r0, 0x7F
- str r0, [r3, 0x8]
- movs r0, 0x3
- str r0, [r3]
- lsls r0, r2, 7
- movs r1, 0x80
- lsls r1, 23
- orrs r0, r1
- str r0, [r3, 0xC]
-_082E8B6C:
- pop {r4,pc}
- thumb_func_end __unpack_f
-
- thumb_func_start __fpadd_parts_f
-__fpadd_parts_f: @ 82E8B70
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r7, r1, 0
- adds r5, r2, 0
- movs r0, 0
- ldr r2, [r6]
- cmp r2, 0x1
- bhi _082E8B86
- movs r0, 0x1
-_082E8B86:
- cmp r0, 0
- beq _082E8B8E
-_082E8B8A:
- adds r0, r6, 0
- b _082E8CE4
-_082E8B8E:
- movs r1, 0
- ldr r0, [r7]
- cmp r0, 0x1
- bhi _082E8B98
- movs r1, 0x1
-_082E8B98:
- cmp r1, 0
- bne _082E8C0C
- movs r1, 0
- cmp r2, 0x4
- bne _082E8BA4
- movs r1, 0x1
-_082E8BA4:
- cmp r1, 0
- beq _082E8BC4
- movs r1, 0
- cmp r0, 0x4
- bne _082E8BB0
- movs r1, 0x1
-_082E8BB0:
- cmp r1, 0
- beq _082E8B8A
- ldr r1, [r6, 0x4]
- ldr r0, [r7, 0x4]
- cmp r1, r0
- beq _082E8B8A
- ldr r0, _082E8BC0
- b _082E8CE4
- .align 2, 0
-_082E8BC0: .4byte 0x03001a98
-_082E8BC4:
- movs r1, 0
- cmp r0, 0x4
- bne _082E8BCC
- movs r1, 0x1
-_082E8BCC:
- cmp r1, 0
- bne _082E8C0C
- movs r1, 0
- cmp r0, 0x2
- bne _082E8BD8
- movs r1, 0x1
-_082E8BD8:
- cmp r1, 0
- beq _082E8BFE
- movs r0, 0
- cmp r2, 0x2
- bne _082E8BE4
- movs r0, 0x1
-_082E8BE4:
- cmp r0, 0
- beq _082E8B8A
- adds r1, r5, 0
- adds r0, r6, 0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, [r6, 0x4]
- ldr r1, [r7, 0x4]
- ands r0, r1
- str r0, [r5, 0x4]
- b _082E8CE2
-_082E8BFE:
- movs r1, 0
- ldr r0, [r6]
- cmp r0, 0x2
- bne _082E8C08
- movs r1, 0x1
-_082E8C08:
- cmp r1, 0
- beq _082E8C10
-_082E8C0C:
- adds r0, r7, 0
- b _082E8CE4
-_082E8C10:
- ldr r1, [r6, 0x8]
- ldr r3, [r7, 0x8]
- ldr r2, [r6, 0xC]
- ldr r4, [r7, 0xC]
- subs r0, r1, r3
- cmp r0, 0
- bge _082E8C20
- negs r0, r0
-_082E8C20:
- cmp r0, 0x1F
- bgt _082E8C64
- ldr r6, [r6, 0x4]
- ldr r7, [r7, 0x4]
- mov r8, r7
- cmp r1, r3
- ble _082E8C46
- movs r7, 0x1
- mov r12, r7
- subs r3, r1, r3
-_082E8C34:
- subs r3, 0x1
- adds r0, r4, 0
- mov r7, r12
- ands r0, r7
- lsrs r4, 1
- orrs r4, r0
- cmp r3, 0
- bne _082E8C34
- adds r3, r1, 0
-_082E8C46:
- cmp r3, r1
- ble _082E8C76
- movs r0, 0x1
- mov r12, r0
- subs r1, r3, r1
-_082E8C50:
- subs r1, 0x1
- adds r0, r2, 0
- mov r7, r12
- ands r0, r7
- lsrs r2, 1
- orrs r2, r0
- cmp r1, 0
- bne _082E8C50
- adds r1, r3, 0
- b _082E8C76
-_082E8C64:
- cmp r1, r3
- ble _082E8C6C
- movs r4, 0
- b _082E8C70
-_082E8C6C:
- adds r1, r3, 0
- movs r2, 0
-_082E8C70:
- ldr r6, [r6, 0x4]
- ldr r7, [r7, 0x4]
- mov r8, r7
-_082E8C76:
- cmp r6, r8
- beq _082E8CC0
- cmp r6, 0
- beq _082E8C82
- subs r3, r4, r2
- b _082E8C84
-_082E8C82:
- subs r3, r2, r4
-_082E8C84:
- cmp r3, 0
- blt _082E8C92
- movs r0, 0
- str r0, [r5, 0x4]
- str r1, [r5, 0x8]
- str r3, [r5, 0xC]
- b _082E8C9C
-_082E8C92:
- movs r0, 0x1
- str r0, [r5, 0x4]
- str r1, [r5, 0x8]
- negs r0, r3
- str r0, [r5, 0xC]
-_082E8C9C:
- ldr r1, [r5, 0xC]
- subs r0, r1, 0x1
- ldr r2, _082E8CBC
- cmp r0, r2
- bhi _082E8CC8
-_082E8CA6:
- lsls r0, r1, 1
- str r0, [r5, 0xC]
- ldr r1, [r5, 0x8]
- subs r1, 0x1
- str r1, [r5, 0x8]
- adds r1, r0, 0
- subs r0, r1, 0x1
- cmp r0, r2
- bls _082E8CA6
- b _082E8CC8
- .align 2, 0
-_082E8CBC: .4byte 0x3ffffffe
-_082E8CC0:
- str r6, [r5, 0x4]
- str r1, [r5, 0x8]
- adds r0, r2, r4
- str r0, [r5, 0xC]
-_082E8CC8:
- movs r0, 0x3
- str r0, [r5]
- ldr r1, [r5, 0xC]
- cmp r1, 0
- bge _082E8CE2
- movs r0, 0x1
- ands r0, r1
- lsrs r1, 1
- orrs r0, r1
- str r0, [r5, 0xC]
- ldr r0, [r5, 0x8]
- adds r0, 0x1
- str r0, [r5, 0x8]
-_082E8CE2:
- adds r0, r5, 0
-_082E8CE4:
- pop {r3}
- mov r8, r3
- pop {r4-r7,pc}
- thumb_func_end __fpadd_parts_f
-
- thumb_func_start __addsf3
-__addsf3: @ 82E8CEC
- push {r4,lr}
- sub sp, 0x38
- str r0, [sp, 0x30]
- str r1, [sp, 0x34]
- add r0, sp, 0x30
- mov r1, sp
- bl __unpack_f
- add r0, sp, 0x34
- add r4, sp, 0x10
- adds r1, r4, 0
- bl __unpack_f
- add r2, sp, 0x20
- mov r0, sp
- adds r1, r4, 0
- bl __fpadd_parts_f
- bl __pack_f
- add sp, 0x38
- pop {r4,pc}
- thumb_func_end __addsf3
-
- thumb_func_start __subsf3
-__subsf3: @ 82E8D18
- push {r4,lr}
- sub sp, 0x38
- str r0, [sp, 0x30]
- str r1, [sp, 0x34]
- add r0, sp, 0x30
- mov r1, sp
- bl __unpack_f
- add r0, sp, 0x34
- add r4, sp, 0x10
- adds r1, r4, 0
- bl __unpack_f
- ldr r0, [r4, 0x4]
- movs r1, 0x1
- eors r0, r1
- str r0, [r4, 0x4]
- add r2, sp, 0x20
- mov r0, sp
- adds r1, r4, 0
- bl __fpadd_parts_f
- bl __pack_f
- add sp, 0x38
- pop {r4,pc}
- thumb_func_end __subsf3
-
- thumb_func_start __mulsf3
-__mulsf3: @ 82E8D4C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x38
- str r0, [sp, 0x30]
- str r1, [sp, 0x34]
- add r0, sp, 0x30
- mov r1, sp
- bl __unpack_f
- add r0, sp, 0x34
- add r4, sp, 0x10
- adds r1, r4, 0
- bl __unpack_f
- mov r7, sp
- add r0, sp, 0x20
- mov r8, r0
- movs r0, 0
- ldr r1, [sp]
- mov r9, r8
- cmp r1, 0x1
- bhi _082E8D7E
- movs r0, 0x1
-_082E8D7E:
- cmp r0, 0
- bne _082E8DDC
- movs r2, 0
- ldr r0, [sp, 0x10]
- cmp r0, 0x1
- bhi _082E8D8C
- movs r2, 0x1
-_082E8D8C:
- cmp r2, 0
- beq _082E8D94
- ldr r0, [sp, 0x4]
- b _082E8DFC
-_082E8D94:
- movs r2, 0
- cmp r1, 0x4
- bne _082E8D9C
- movs r2, 0x1
-_082E8D9C:
- cmp r2, 0
- beq _082E8DAE
- movs r1, 0
- cmp r0, 0x2
- bne _082E8DA8
- movs r1, 0x1
-_082E8DA8:
- cmp r1, 0
- bne _082E8DC6
- b _082E8DDC
-_082E8DAE:
- movs r2, 0
- cmp r0, 0x4
- bne _082E8DB6
- movs r2, 0x1
-_082E8DB6:
- cmp r2, 0
- beq _082E8DD0
- movs r0, 0
- cmp r1, 0x2
- bne _082E8DC2
- movs r0, 0x1
-_082E8DC2:
- cmp r0, 0
- beq _082E8DFA
-_082E8DC6:
- ldr r0, _082E8DCC
- b _082E8E9E
- .align 2, 0
-_082E8DCC: .4byte 0x03001a98
-_082E8DD0:
- movs r2, 0
- cmp r1, 0x2
- bne _082E8DD8
- movs r2, 0x1
-_082E8DD8:
- cmp r2, 0
- beq _082E8DEE
-_082E8DDC:
- ldr r0, [sp, 0x4]
- ldr r1, [sp, 0x14]
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- str r1, [sp, 0x4]
- mov r0, sp
- b _082E8E9E
-_082E8DEE:
- movs r1, 0
- cmp r0, 0x2
- bne _082E8DF6
- movs r1, 0x1
-_082E8DF6:
- cmp r1, 0
- beq _082E8E0C
-_082E8DFA:
- ldr r0, [r7, 0x4]
-_082E8DFC:
- ldr r1, [sp, 0x14]
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- str r1, [sp, 0x14]
- adds r0, r4, 0
- b _082E8E9E
-_082E8E0C:
- ldr r0, [r7, 0xC]
- movs r1, 0
- ldr r2, [sp, 0x1C]
- movs r3, 0
- bl __muldi3
- adds r2, r1, 0
- adds r5, r2, 0
- adds r6, r0, 0
- ldr r4, [r7, 0x8]
- ldr r0, [sp, 0x18]
- adds r4, r0
- str r4, [sp, 0x28]
- ldr r1, [r7, 0x4]
- ldr r0, [sp, 0x14]
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- str r0, [sp, 0x24]
- adds r4, 0x2
- str r4, [sp, 0x28]
- cmp r2, 0
- bge _082E8E58
- movs r2, 0x1
- movs r1, 0x80
- lsls r1, 24
-_082E8E42:
- adds r4, 0x1
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _082E8E50
- lsrs r6, 1
- orrs r6, r1
-_082E8E50:
- lsrs r5, 1
- cmp r5, 0
- blt _082E8E42
- str r4, [sp, 0x28]
-_082E8E58:
- ldr r0, _082E8EAC
- cmp r5, r0
- bhi _082E8E7E
- movs r4, 0x80
- lsls r4, 24
- movs r3, 0x1
- adds r2, r0, 0
- ldr r1, [sp, 0x28]
-_082E8E68:
- subs r1, 0x1
- lsls r5, 1
- adds r0, r6, 0
- ands r0, r4
- cmp r0, 0
- beq _082E8E76
- orrs r5, r3
-_082E8E76:
- lsls r6, 1
- cmp r5, r2
- bls _082E8E68
- str r1, [sp, 0x28]
-_082E8E7E:
- movs r0, 0x7F
- ands r0, r5
- cmp r0, 0x40
- bne _082E8E94
- movs r0, 0x80
- ands r0, r5
- cmp r0, 0
- bne _082E8E92
- cmp r6, 0
- beq _082E8E94
-_082E8E92:
- adds r5, 0x40
-_082E8E94:
- str r5, [sp, 0x2C]
- movs r0, 0x3
- mov r1, r8
- str r0, [r1]
- mov r0, r9
-_082E8E9E:
- bl __pack_f
- add sp, 0x38
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7,pc}
- .align 2, 0
-_082E8EAC: .4byte 0x3fffffff
- thumb_func_end __mulsf3
-
- thumb_func_start __divsf3
-__divsf3: @ 82E8EB0
- push {r4-r6,lr}
- sub sp, 0x28
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- add r0, sp, 0x20
- mov r1, sp
- bl __unpack_f
- add r0, sp, 0x24
- add r5, sp, 0x10
- adds r1, r5, 0
- bl __unpack_f
- mov r4, sp
- movs r0, 0
- ldr r3, [sp]
- cmp r3, 0x1
- bhi _082E8ED6
- movs r0, 0x1
-_082E8ED6:
- cmp r0, 0
- beq _082E8EDE
- mov r1, sp
- b _082E8F90
-_082E8EDE:
- movs r0, 0
- ldr r2, [sp, 0x10]
- adds r6, r2, 0
- cmp r2, 0x1
- bhi _082E8EEA
- movs r0, 0x1
-_082E8EEA:
- cmp r0, 0
- beq _082E8EF2
- adds r1, r5, 0
- b _082E8F90
-_082E8EF2:
- ldr r0, [sp, 0x4]
- ldr r1, [sp, 0x14]
- eors r0, r1
- str r0, [sp, 0x4]
- movs r0, 0
- cmp r3, 0x4
- bne _082E8F02
- movs r0, 0x1
-_082E8F02:
- cmp r0, 0
- bne _082E8F12
- movs r0, 0
- cmp r3, 0x2
- bne _082E8F0E
- movs r0, 0x1
-_082E8F0E:
- cmp r0, 0
- beq _082E8F24
-_082E8F12:
- ldr r0, [r4]
- adds r1, r4, 0
- cmp r0, r6
- bne _082E8F90
- ldr r1, _082E8F20
- b _082E8F90
- .align 2, 0
-_082E8F20: .4byte 0x03001a98
-_082E8F24:
- movs r1, 0
- cmp r2, 0x4
- bne _082E8F2C
- movs r1, 0x1
-_082E8F2C:
- cmp r1, 0
- beq _082E8F38
- str r0, [sp, 0xC]
- str r0, [sp, 0x8]
- mov r1, sp
- b _082E8F90
-_082E8F38:
- movs r0, 0
- cmp r2, 0x2
- bne _082E8F40
- movs r0, 0x1
-_082E8F40:
- cmp r0, 0
- beq _082E8F4A
- movs r0, 0x4
- str r0, [r4]
- b _082E8F8E
-_082E8F4A:
- ldr r1, [r4, 0x8]
- ldr r0, [sp, 0x18]
- subs r0, r1, r0
- str r0, [r4, 0x8]
- ldr r2, [r4, 0xC]
- ldr r3, [sp, 0x1C]
- cmp r2, r3
- bcs _082E8F60
- lsls r2, 1
- subs r0, 0x1
- str r0, [r4, 0x8]
-_082E8F60:
- movs r0, 0x80
- lsls r0, 23
- movs r1, 0
-_082E8F66:
- cmp r2, r3
- bcc _082E8F6E
- orrs r1, r0
- subs r2, r3
-_082E8F6E:
- lsrs r0, 1
- lsls r2, 1
- cmp r0, 0
- bne _082E8F66
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x40
- bne _082E8F8C
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _082E8F8A
- cmp r2, 0
- beq _082E8F8C
-_082E8F8A:
- adds r1, 0x40
-_082E8F8C:
- str r1, [r4, 0xC]
-_082E8F8E:
- adds r1, r4, 0
-_082E8F90:
- adds r0, r1, 0
- bl __pack_f
- add sp, 0x28
- pop {r4-r6,pc}
- thumb_func_end __divsf3
-
- thumb_func_start __fpcmp_parts_f
-__fpcmp_parts_f: @ 82E8F9C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- ldr r2, [r4]
- cmp r2, 0x1
- bhi _082E8FAA
- movs r0, 0x1
-_082E8FAA:
- cmp r0, 0
- bne _082E8FBC
- movs r0, 0
- ldr r3, [r1]
- cmp r3, 0x1
- bhi _082E8FB8
- movs r0, 0x1
-_082E8FB8:
- cmp r0, 0
- beq _082E8FC0
-_082E8FBC:
- movs r0, 0x1
- b _082E907E
-_082E8FC0:
- movs r0, 0
- cmp r2, 0x4
- bne _082E8FC8
- movs r0, 0x1
-_082E8FC8:
- cmp r0, 0
- beq _082E8FE0
- movs r0, 0
- cmp r3, 0x4
- bne _082E8FD4
- movs r0, 0x1
-_082E8FD4:
- cmp r0, 0
- beq _082E8FE0
- ldr r0, [r1, 0x4]
- ldr r1, [r4, 0x4]
- subs r0, r1
- b _082E907E
-_082E8FE0:
- movs r2, 0
- ldr r0, [r4]
- cmp r0, 0x4
- bne _082E8FEA
- movs r2, 0x1
-_082E8FEA:
- cmp r2, 0
- bne _082E9038
- movs r2, 0
- cmp r3, 0x4
- bne _082E8FF6
- movs r2, 0x1
-_082E8FF6:
- cmp r2, 0
- beq _082E9008
-_082E8FFA:
- ldr r0, [r1, 0x4]
- movs r1, 0x1
- negs r1, r1
- cmp r0, 0
- beq _082E9042
- movs r1, 0x1
- b _082E9042
-_082E9008:
- movs r2, 0
- cmp r0, 0x2
- bne _082E9010
- movs r2, 0x1
-_082E9010:
- cmp r2, 0
- beq _082E9020
- movs r2, 0
- cmp r3, 0x2
- bne _082E901C
- movs r2, 0x1
-_082E901C:
- cmp r2, 0
- bne _082E907C
-_082E9020:
- movs r2, 0
- cmp r0, 0x2
- bne _082E9028
- movs r2, 0x1
-_082E9028:
- cmp r2, 0
- bne _082E8FFA
- movs r0, 0
- cmp r3, 0x2
- bne _082E9034
- movs r0, 0x1
-_082E9034:
- cmp r0, 0
- beq _082E9046
-_082E9038:
- ldr r0, [r4, 0x4]
- movs r1, 0x1
- cmp r0, 0
- beq _082E9042
- subs r1, 0x2
-_082E9042:
- adds r0, r1, 0
- b _082E907E
-_082E9046:
- ldr r3, [r4, 0x4]
- ldr r0, [r1, 0x4]
- cmp r3, r0
- beq _082E9058
-_082E904E:
- movs r0, 0x1
- cmp r3, 0
- beq _082E907E
- subs r0, 0x2
- b _082E907E
-_082E9058:
- ldr r2, [r4, 0x8]
- ldr r0, [r1, 0x8]
- cmp r2, r0
- bgt _082E904E
- cmp r2, r0
- bge _082E9070
-_082E9064:
- movs r0, 0x1
- negs r0, r0
- cmp r3, 0
- beq _082E907E
- movs r0, 0x1
- b _082E907E
-_082E9070:
- ldr r0, [r4, 0xC]
- ldr r1, [r1, 0xC]
- cmp r0, r1
- bhi _082E904E
- cmp r0, r1
- bcc _082E9064
-_082E907C:
- movs r0, 0
-_082E907E:
- pop {r4,pc}
- thumb_func_end __fpcmp_parts_f
-
- thumb_func_start __cmpsf2
-__cmpsf2: @ 82E9080
- push {r4,lr}
- sub sp, 0x28
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- add r0, sp, 0x20
- mov r1, sp
- bl __unpack_f
- add r0, sp, 0x24
- add r4, sp, 0x10
- adds r1, r4, 0
- bl __unpack_f
- mov r0, sp
- adds r1, r4, 0
- bl __fpcmp_parts_f
- add sp, 0x28
- pop {r4,pc}
- thumb_func_end __cmpsf2
-
- thumb_func_start __eqsf2
-__eqsf2: @ 82E90A8
- push {r4,lr}
- sub sp, 0x28
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- add r0, sp, 0x20
- mov r1, sp
- bl __unpack_f
- add r0, sp, 0x24
- add r4, sp, 0x10
- adds r1, r4, 0
- bl __unpack_f
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x1
- bhi _082E90CC
- movs r1, 0x1
-_082E90CC:
- cmp r1, 0
- bne _082E90DE
- movs r1, 0
- ldr r0, [sp, 0x10]
- cmp r0, 0x1
- bhi _082E90DA
- movs r1, 0x1
-_082E90DA:
- cmp r1, 0
- beq _082E90E2
-_082E90DE:
- movs r0, 0x1
- b _082E90EA
-_082E90E2:
- mov r0, sp
- adds r1, r4, 0
- bl __fpcmp_parts_f
-_082E90EA:
- add sp, 0x28
- pop {r4,pc}
- thumb_func_end __eqsf2
-
- thumb_func_start __nesf2
-__nesf2: @ 82E90F0
- push {r4,lr}
- sub sp, 0x28
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- add r0, sp, 0x20
- mov r1, sp
- bl __unpack_f
- add r0, sp, 0x24
- add r4, sp, 0x10
- adds r1, r4, 0
- bl __unpack_f
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x1
- bhi _082E9114
- movs r1, 0x1
-_082E9114:
- cmp r1, 0
- bne _082E9126
- movs r1, 0
- ldr r0, [sp, 0x10]
- cmp r0, 0x1
- bhi _082E9122
- movs r1, 0x1
-_082E9122:
- cmp r1, 0
- beq _082E912A
-_082E9126:
- movs r0, 0x1
- b _082E9132
-_082E912A:
- mov r0, sp
- adds r1, r4, 0
- bl __fpcmp_parts_f
-_082E9132:
- add sp, 0x28
- pop {r4,pc}
- thumb_func_end __nesf2
-
- thumb_func_start __gtsf2
-__gtsf2: @ 82E9138
- push {r4,lr}
- sub sp, 0x28
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- add r0, sp, 0x20
- mov r1, sp
- bl __unpack_f
- add r0, sp, 0x24
- add r4, sp, 0x10
- adds r1, r4, 0
- bl __unpack_f
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x1
- bhi _082E915C
- movs r1, 0x1
-_082E915C:
- cmp r1, 0
- bne _082E916E
- movs r1, 0
- ldr r0, [sp, 0x10]
- cmp r0, 0x1
- bhi _082E916A
- movs r1, 0x1
-_082E916A:
- cmp r1, 0
- beq _082E9174
-_082E916E:
- movs r0, 0x1
- negs r0, r0
- b _082E917C
-_082E9174:
- mov r0, sp
- adds r1, r4, 0
- bl __fpcmp_parts_f
-_082E917C:
- add sp, 0x28
- pop {r4,pc}
- thumb_func_end __gtsf2
-
- thumb_func_start __gesf2
-__gesf2: @ 82E9180
- push {r4,lr}
- sub sp, 0x28
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- add r0, sp, 0x20
- mov r1, sp
- bl __unpack_f
- add r0, sp, 0x24
- add r4, sp, 0x10
- adds r1, r4, 0
- bl __unpack_f
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x1
- bhi _082E91A4
- movs r1, 0x1
-_082E91A4:
- cmp r1, 0
- bne _082E91B6
- movs r1, 0
- ldr r0, [sp, 0x10]
- cmp r0, 0x1
- bhi _082E91B2
- movs r1, 0x1
-_082E91B2:
- cmp r1, 0
- beq _082E91BC
-_082E91B6:
- movs r0, 0x1
- negs r0, r0
- b _082E91C4
-_082E91BC:
- mov r0, sp
- adds r1, r4, 0
- bl __fpcmp_parts_f
-_082E91C4:
- add sp, 0x28
- pop {r4,pc}
- thumb_func_end __gesf2
-
- thumb_func_start __ltsf2
-__ltsf2: @ 82E91C8
- push {r4,lr}
- sub sp, 0x28
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- add r0, sp, 0x20
- mov r1, sp
- bl __unpack_f
- add r0, sp, 0x24
- add r4, sp, 0x10
- adds r1, r4, 0
- bl __unpack_f
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x1
- bhi _082E91EC
- movs r1, 0x1
-_082E91EC:
- cmp r1, 0
- bne _082E91FE
- movs r1, 0
- ldr r0, [sp, 0x10]
- cmp r0, 0x1
- bhi _082E91FA
- movs r1, 0x1
-_082E91FA:
- cmp r1, 0
- beq _082E9202
-_082E91FE:
- movs r0, 0x1
- b _082E920A
-_082E9202:
- mov r0, sp
- adds r1, r4, 0
- bl __fpcmp_parts_f
-_082E920A:
- add sp, 0x28
- pop {r4,pc}
- thumb_func_end __ltsf2
-
- thumb_func_start __lesf2
-__lesf2: @ 82E9210
- push {r4,lr}
- sub sp, 0x28
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- add r0, sp, 0x20
- mov r1, sp
- bl __unpack_f
- add r0, sp, 0x24
- add r4, sp, 0x10
- adds r1, r4, 0
- bl __unpack_f
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x1
- bhi _082E9234
- movs r1, 0x1
-_082E9234:
- cmp r1, 0
- bne _082E9246
- movs r1, 0
- ldr r0, [sp, 0x10]
- cmp r0, 0x1
- bhi _082E9242
- movs r1, 0x1
-_082E9242:
- cmp r1, 0
- beq _082E924A
-_082E9246:
- movs r0, 0x1
- b _082E9252
-_082E924A:
- mov r0, sp
- adds r1, r4, 0
- bl __fpcmp_parts_f
-_082E9252:
- add sp, 0x28
- pop {r4,pc}
- thumb_func_end __lesf2
-
- thumb_func_start __floatsisf
-__floatsisf: @ 82E9258
- push {lr}
- sub sp, 0x10
- adds r1, r0, 0
- movs r0, 0x3
- str r0, [sp]
- lsrs r2, r1, 31
- str r2, [sp, 0x4]
- cmp r1, 0
- bne _082E9270
- movs r0, 0x2
- str r0, [sp]
- b _082E92A8
-_082E9270:
- movs r0, 0x1E
- str r0, [sp, 0x8]
- cmp r2, 0
- beq _082E928E
- movs r0, 0x80
- lsls r0, 24
- cmp r1, r0
- bne _082E9288
- ldr r0, _082E9284
- b _082E92AE
- .align 2, 0
-_082E9284: .4byte 0xcf000000
-_082E9288:
- negs r0, r1
- str r0, [sp, 0xC]
- b _082E9290
-_082E928E:
- str r1, [sp, 0xC]
-_082E9290:
- ldr r2, [sp, 0xC]
- ldr r3, _082E92B4
- cmp r2, r3
- bhi _082E92A8
- ldr r1, [sp, 0x8]
-_082E929A:
- lsls r0, r2, 1
- subs r1, 0x1
- adds r2, r0, 0
- cmp r0, r3
- bls _082E929A
- str r1, [sp, 0x8]
- str r0, [sp, 0xC]
-_082E92A8:
- mov r0, sp
- bl __pack_f
-_082E92AE:
- add sp, 0x10
- pop {pc}
- .align 2, 0
-_082E92B4: .4byte 0x3fffffff
- thumb_func_end __floatsisf
-
- thumb_func_start __fixsfsi
-__fixsfsi: @ 82E92B8
- push {lr}
- sub sp, 0x14
- str r0, [sp, 0x10]
- add r0, sp, 0x10
- mov r1, sp
- bl __unpack_f
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x2
- bne _082E92D0
- movs r1, 0x1
-_082E92D0:
- cmp r1, 0
- bne _082E9302
- movs r1, 0
- cmp r0, 0x1
- bhi _082E92DC
- movs r1, 0x1
-_082E92DC:
- cmp r1, 0
- bne _082E9302
- movs r1, 0
- cmp r0, 0x4
- bne _082E92E8
- movs r1, 0x1
-_082E92E8:
- cmp r1, 0
- beq _082E92FC
-_082E92EC:
- ldr r0, [sp, 0x4]
- ldr r1, _082E92F8
- cmp r0, 0
- beq _082E931A
- adds r1, 0x1
- b _082E931A
- .align 2, 0
-_082E92F8: .4byte 0x7fffffff
-_082E92FC:
- ldr r1, [sp, 0x8]
- cmp r1, 0
- bge _082E9306
-_082E9302:
- movs r0, 0
- b _082E931C
-_082E9306:
- cmp r1, 0x1E
- bgt _082E92EC
- movs r0, 0x1E
- subs r0, r1
- ldr r1, [sp, 0xC]
- lsrs r1, r0
- ldr r0, [sp, 0x4]
- cmp r0, 0
- beq _082E931A
- negs r1, r1
-_082E931A:
- adds r0, r1, 0
-_082E931C:
- add sp, 0x14
- pop {pc}
- thumb_func_end __fixsfsi
-
- thumb_func_start __negsf2
-__negsf2: @ 82E9320
- push {lr}
- sub sp, 0x14
- str r0, [sp, 0x10]
- add r0, sp, 0x10
- mov r1, sp
- bl __unpack_f
- movs r1, 0
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bne _082E9338
- movs r1, 0x1
-_082E9338:
- str r1, [sp, 0x4]
- mov r0, sp
- bl __pack_f
- add sp, 0x14
- pop {pc}
- thumb_func_end __negsf2
-
- thumb_func_start __make_fp
-__make_fp: @ 82E9344
- push {lr}
- sub sp, 0x10
- str r0, [sp]
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- mov r0, sp
- bl __pack_f
- add sp, 0x10
- pop {pc}
- thumb_func_end __make_fp
-
- thumb_func_start __extendsfdf2
-__extendsfdf2: @ 82E935C
- push {r4-r6,lr}
- sub sp, 0x18
- str r0, [sp, 0x14]
- add r0, sp, 0x14
- add r1, sp, 0x4
- bl __unpack_f
- ldr r0, [sp, 0x4]
- ldr r1, [sp, 0x8]
- ldr r2, [sp, 0xC]
- ldr r3, [sp, 0x10]
- movs r4, 0
- lsrs r6, r3, 2
- lsls r5, r4, 30
- adds r4, r6, 0
- orrs r4, r5
- lsls r3, 30
- str r4, [sp]
- bl __make_dp
- add sp, 0x18
- pop {r4-r6,pc}
- thumb_func_end __extendsfdf2
-
- thumb_func_start __lshrdi3
-__lshrdi3: @ 82E9388
- push {r4-r6,lr}
- adds r6, r1, 0
- adds r5, r0, 0
- cmp r2, 0
- beq _082E93B8
- movs r0, 0x20
- subs r0, r2
- cmp r0, 0
- bgt _082E93A4
- movs r4, 0
- negs r0, r0
- adds r3, r6, 0
- lsrs r3, r0
- b _082E93B4
-_082E93A4:
- adds r1, r6, 0
- lsls r1, r0
- adds r4, r6, 0
- lsrs r4, r2
- adds r0, r5, 0
- lsrs r0, r2
- adds r3, r0, 0
- orrs r3, r1
-_082E93B4:
- adds r1, r4, 0
- adds r0, r3, 0
-_082E93B8:
- pop {r4-r6,pc}
- thumb_func_end __lshrdi3
-
- thumb_func_start __negdi2
-__negdi2: @ 82E93BC
- push {r4,lr}
- negs r2, r0
- adds r3, r2, 0
- negs r1, r1
- cmp r2, 0
- beq _082E93CA
- subs r1, 0x1
-_082E93CA:
- adds r4, r1, 0
- adds r1, r4, 0
- adds r0, r3, 0
- pop {r4,pc}
- thumb_func_end __negdi2
-
- thumb_func_start memcpy
-memcpy: @ 82E93D4
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r3, r1, 0
- cmp r2, 0xF
- bls _082E9414
- adds r0, r3, 0
- orrs r0, r5
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _082E9414
- adds r1, r5, 0
-_082E93EE:
- ldm r3!, {r0}
- stm r1!, {r0}
- ldm r3!, {r0}
- stm r1!, {r0}
- ldm r3!, {r0}
- stm r1!, {r0}
- ldm r3!, {r0}
- stm r1!, {r0}
- subs r2, 0x10
- cmp r2, 0xF
- bhi _082E93EE
- cmp r2, 0x3
- bls _082E9412
-_082E9408:
- ldm r3!, {r0}
- stm r1!, {r0}
- subs r2, 0x4
- cmp r2, 0x3
- bhi _082E9408
-_082E9412:
- adds r4, r1, 0
-_082E9414:
- subs r2, 0x1
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _082E942E
- adds r1, r0, 0
-_082E9420:
- ldrb r0, [r3]
- strb r0, [r4]
- adds r3, 0x1
- adds r4, 0x1
- subs r2, 0x1
- cmp r2, r1
- bne _082E9420
-_082E942E:
- adds r0, r5, 0
- pop {r4,r5,pc}
- thumb_func_end memcpy
-
- thumb_func_start memset
-memset: @ 82E9434
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r3, r5, 0
- cmp r2, 0x3
- bls _082E947A
- movs r0, 0x3
- ands r0, r5
- cmp r0, 0
- bne _082E947A
- adds r1, r5, 0
- movs r0, 0xFF
- ands r4, r0
- lsls r3, r4, 8
- orrs r3, r4
- lsls r0, r3, 16
- orrs r3, r0
- cmp r2, 0xF
- bls _082E946E
-_082E945A:
- stm r1!, {r3}
- stm r1!, {r3}
- stm r1!, {r3}
- stm r1!, {r3}
- subs r2, 0x10
- cmp r2, 0xF
- bhi _082E945A
- b _082E946E
-_082E946A:
- stm r1!, {r3}
- subs r2, 0x4
-_082E946E:
- cmp r2, 0x3
- bhi _082E946A
- adds r3, r1, 0
- b _082E947A
-_082E9476:
- strb r4, [r3]
- adds r3, 0x1
-_082E947A:
- adds r0, r2, 0
- subs r2, 0x1
- cmp r0, 0
- bne _082E9476
- adds r0, r5, 0
- pop {r4,r5,pc}
- thumb_func_end memset
-
- thumb_func_start strcmp
-strcmp: @ 82E9488
- push {r4,r5,lr}
- adds r2, r0, 0
- adds r3, r1, 0
- orrs r0, r3
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _082E94CE
- ldr r1, [r2]
- ldr r0, [r3]
- cmp r1, r0
- bne _082E94CE
- ldr r5, _082E94B4
- ldr r4, _082E94B8
-_082E94A4:
- ldr r1, [r2]
- adds r0, r1, r5
- bics r0, r1
- ands r0, r4
- cmp r0, 0
- beq _082E94BC
- movs r0, 0
- b _082E94E0
- .align 2, 0
-_082E94B4: .4byte 0xfefefeff
-_082E94B8: .4byte 0x80808080
-_082E94BC:
- adds r2, 0x4
- adds r3, 0x4
- ldr r1, [r2]
- ldr r0, [r3]
- cmp r1, r0
- beq _082E94A4
- b _082E94CE
-_082E94CA:
- adds r2, 0x1
- adds r3, 0x1
-_082E94CE:
- ldrb r0, [r2]
- cmp r0, 0
- beq _082E94DA
- ldrb r1, [r3]
- cmp r0, r1
- beq _082E94CA
-_082E94DA:
- ldrb r2, [r2]
- ldrb r3, [r3]
- subs r0, r2, r3
-_082E94E0:
- pop {r4,r5,pc}
- thumb_func_end strcmp
-
- thumb_func_start strcat
-strcat: @ 82E94E4
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r3, r6, 0
- adds r2, r1, 0
- adds r0, r2, 0
- orrs r0, r6
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _082E951C
- ldr r1, [r2]
- ldr r5, _082E9504
- adds r0, r1, r5
- bics r0, r1
- ldr r4, _082E9508
- b _082E9516
- .align 2, 0
-_082E9504: .4byte 0xfefefeff
-_082E9508: .4byte 0x80808080
-_082E950C:
- ldm r2!, {r0}
- stm r3!, {r0}
- ldr r1, [r2]
- adds r0, r1, r5
- bics r0, r1
-_082E9516:
- ands r0, r4
- cmp r0, 0
- beq _082E950C
-_082E951C:
- ldrb r0, [r2]
- strb r0, [r3]
- lsls r0, 24
- adds r2, 0x1
- adds r3, 0x1
- cmp r0, 0
- bne _082E951C
- adds r0, r6, 0
- pop {r4-r6,pc}
-
- .incbin "base_emerald.gba", 0x2e952e
+ .include "data1.s"
+ .include "unknown_lib_1.s"
+ .include "libmks4agb.s"
+ .include "libagbbackup.s"
+ .include "unknown_lib_2.s"
+ .include "librfu.s"
+ .include "libagbsyscall.s"
+ .include "libgcc.s"
+ .include "data2.s"