summaryrefslogtreecommitdiff
path: root/asm/m4a.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/m4a.s')
-rw-r--r--asm/m4a.s4625
1 files changed, 0 insertions, 4625 deletions
diff --git a/asm/m4a.s b/asm/m4a.s
deleted file mode 100644
index 7133670..0000000
--- a/asm/m4a.s
+++ /dev/null
@@ -1,4625 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start umul3232H32
-umul3232H32:
- adr r2, _080AE268
- bx r2
- .arm
-_080AE268:
- umull r2, r3, r0, r1
- add r0, r3, 0
- bx lr
- thumb_func_end umul3232H32
-
- thumb_func_start SoundMain
-SoundMain:
- ldr r0, _080AE2E0
- ldr r0, [r0]
- ldr r2, _080AE2E4
- ldr r3, [r0]
- cmp r2, r3
- beq _080AE282
- bx lr
-_080AE282:
- 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 _080AE2A6
- ldr r2, _080AE2EC
- ldrb r2, [r2]
- cmp r2, 0xA0
- bcs _080AE2A4
- adds r2, 0xE4
-_080AE2A4:
- adds r1, r2
-_080AE2A6:
- str r1, [sp, 0x14]
- ldr r3, [r0, 0x20]
- cmp r3, 0
- beq _080AE2B6
- ldr r0, [r0, 0x24]
- bl call_r3
- ldr r0, [sp, 0x18]
-_080AE2B6:
- ldr r3, [r0, 0x28]
- bl call_r3
- ldr r0, [sp, 0x18]
- ldr r3, [r0, 0x10]
- mov r8, r3
- ldr r5, _080AE2F0
- adds r5, r0
- ldrb r4, [r0, 0x4]
- subs r7, r4, 0x1
- bls _080AE2D6
- ldrb r1, [r0, 0xB]
- subs r1, r7
- mov r2, r8
- muls r2, r1
- adds r5, r2
-_080AE2D6:
- str r5, [sp, 0x8]
- ldr r6, _080AE2F4
- ldr r3, _080AE2E8
- bx r3
- .align 2, 0
-_080AE2E0: .4byte SOUND_INFO_PTR
-_080AE2E4: .4byte 0x68736d53
-_080AE2E8: .4byte SoundMainRAM_Buffer + 1
-_080AE2EC: .4byte 0x04000006
-_080AE2F0: .4byte 0x00000350
-_080AE2F4: .4byte 0x00000630
- thumb_func_end SoundMain
-
- thumb_func_start sub_80AE2F8
-sub_80AE2F8:
- ldrb r3, [r0, 0x5]
- cmp r3, 0
- beq _080AE358
- adr r1, _080AE304
- bx r1
- .arm
-_080AE304:
- cmp r4, 0x2
- addeq r7, r0, 0x350
- addne r7, r5, r8
- mov r4, r8
-_080AE314:
- 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 _080AE314
- add r0, pc, 0x2F
- bx r0
- .thumb
-_080AE358:
- movs r0, 0
- mov r1, r8
- adds r6, r5
- lsrs r1, 3
- bcc _080AE366
- stm r5!, {r0}
- stm r6!, {r0}
-_080AE366:
- lsrs r1, 1
- bcc _080AE372
- stm r5!, {r0}
- stm r6!, {r0}
- stm r5!, {r0}
- stm r6!, {r0}
-_080AE372:
- 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 _080AE372
- ldr r4, [sp, 0x18]
- ldr r0, [r4, 0x18]
- mov r12, r0
- ldrb r0, [r4, 0x6]
- adds r4, 0x50
-_080AE390:
- str r0, [sp, 0x4]
- ldr r3, [r4, 0x24]
- ldr r0, [sp, 0x14]
- cmp r0, 0
- beq _080AE3B0
- ldr r1, _080AE3AC
- ldrb r1, [r1]
- cmp r1, 0xA0
- bcs _080AE3A4
- adds r1, 0xE4
-_080AE3A4:
- cmp r1, r0
- bcc _080AE3B0
- b _080AE682
- .align 2, 0
-_080AE3AC: .4byte 0x04000006
-_080AE3B0:
- ldrb r6, [r4]
- movs r0, 0xC7
- tst r0, r6
- bne _080AE3BA
- b _080AE678
-_080AE3BA:
- movs r0, 0x80
- tst r0, r6
- beq _080AE3EA
- movs r0, 0x40
- tst r0, r6
- bne _080AE3FA
- movs r6, 0x3
- strb r6, [r4]
- adds r0, r3, 0
- adds r0, 0x10
- str r0, [r4, 0x28]
- ldr r0, [r3, 0xC]
- 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 _080AE442
- movs r0, 0x10
- orrs r6, r0
- strb r6, [r4]
- b _080AE442
-_080AE3EA:
- ldrb r5, [r4, 0x9]
- movs r0, 0x4
- tst r0, r6
- beq _080AE400
- ldrb r0, [r4, 0xD]
- subs r0, 0x1
- strb r0, [r4, 0xD]
- bhi _080AE450
-_080AE3FA:
- movs r0, 0
- strb r0, [r4]
- b _080AE678
-_080AE400:
- movs r0, 0x40
- tst r0, r6
- beq _080AE420
- ldrb r0, [r4, 0x7]
- muls r5, r0
- lsrs r5, 8
- ldrb r0, [r4, 0xC]
- cmp r5, r0
- bhi _080AE450
-_080AE412:
- ldrb r5, [r4, 0xC]
- cmp r5, 0
- beq _080AE3FA
- movs r0, 0x4
- orrs r6, r0
- strb r6, [r4]
- b _080AE450
-_080AE420:
- movs r2, 0x3
- ands r2, r6
- cmp r2, 0x2
- bne _080AE43E
- ldrb r0, [r4, 0x5]
- muls r5, r0
- lsrs r5, 8
- ldrb r0, [r4, 0x6]
- cmp r5, r0
- bhi _080AE450
- adds r5, r0, 0
- beq _080AE412
- subs r6, 0x1
- strb r6, [r4]
- b _080AE450
-_080AE43E:
- cmp r2, 0x3
- bne _080AE450
-_080AE442:
- ldrb r0, [r4, 0x4]
- adds r5, r0
- cmp r5, 0xFF
- bcc _080AE450
- movs r5, 0xFF
- subs r6, 0x1
- strb r6, [r4]
-_080AE450:
- 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 _080AE484
- 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]
-_080AE484:
- ldr r5, [sp, 0x8]
- ldr r2, [r4, 0x18]
- ldr r3, [r4, 0x28]
- adr r0, _080AE490
- bx r0
- .arm
-_080AE490:
- str r8, [sp]
- ldrb r10, [r4, 0xA]
- ldrb r11, [r4, 0xB]
- mov r10, r10, lsl 16
- mov r11, r11, lsl 16
- ldrb r0, [r4, 0x1]
- tst r0, 0x8
- beq _080AE5D0
-_080AE4B0:
- cmp r2, 0x4
- ble _080AE520
- subs r2, r2, r8
- movgt lr, 0
- bgt _080AE4DC
- mov lr, r8
- add r2, r2, r8
- sub r8, r2, 0x4
- sub lr, lr, r8
- ands r2, r2, 0x3
- moveq r2, 0x4
-_080AE4DC:
- ldr r6, [r5]
- ldr r7, [r5, 0x630]
-_080AE4E4:
- 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 _080AE4E4
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- subs r8, r8, 0x4
- bgt _080AE4DC
- adds r8, r8, lr
- beq _080AE664
-_080AE520:
- ldr r6, [r5]
- ldr r7, [r5, 0x630]
-_080AE528:
- 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 _080AE598
-_080AE54C:
- adds r5, r5, 0x40000000
- bcc _080AE528
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- subs r8, r8, 0x4
- bgt _080AE4B0
- b _080AE664
-_080AE568:
- ldr r0, [sp, 0x18]
- cmp r0, 0
- beq _080AE58C
- ldr r3, [sp, 0x14]
- rsb r9, r2, 0
-_080AE57C:
- adds r2, r0, r2
- bgt _080AE634
- sub r9, r9, r0
- b _080AE57C
-_080AE58C:
- ldmia sp!, {r4,r12}
- mov r2, 0
- b _080AE5A8
-_080AE598:
- ldr r2, [sp, 0x10]
- cmp r2, 0
- ldrne r3, [sp, 0xC]
- bne _080AE54C
-_080AE5A8:
- 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 _080AE66C
-_080AE5D0:
- stmdb sp!, {r4,r12}
- ldr lr, [r4, 0x1C]
- ldr r1, [r4, 0x20]
- mul r4, r12, r1
- ldrsb r0, [r3]
- ldrsb r1, [r3, 0x1]!
- sub r1, r1, r0
-_080AE5EC:
- ldr r6, [r5]
- ldr r7, [r5, 0x630]
-_080AE5F4:
- mul r9, lr, r1
- add r9, r0, r9, asr 23
- mul r12, r10, r9
- bic r12, r12, 0xFF0000
- add r6, r12, r6, ror 8
- mul r12, r11, r9
- bic r12, r12, 0xFF0000
- add r7, r12, r7, ror 8
- add lr, lr, r4
- movs r9, lr, lsr 23
- beq _080AE640
- bic lr, lr, 0x3F800000
- subs r2, r2, r9
- ble _080AE568
- subs r9, r9, 0x1
- addeq r0, r0, r1
-_080AE634:
- ldrsbne r0, [r3, r9]!
- ldrsb r1, [r3, 0x1]!
- sub r1, r1, r0
-_080AE640:
- adds r5, r5, 0x40000000
- bcc _080AE5F4
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- subs r8, r8, 0x4
- bgt _080AE5EC
- sub r3, r3, 0x1
- ldmia sp!, {r4,r12}
- str lr, [r4, 0x1C]
-_080AE664:
- str r2, [r4, 0x18]
- str r3, [r4, 0x28]
-_080AE66C:
- ldr r8, [sp]
- add r0, pc, 0x1
- bx r0
- .thumb
-_080AE678:
- ldr r0, [sp, 0x4]
- subs r0, 0x1
- ble _080AE682
- adds r4, 0x40
- b _080AE390
-_080AE682:
- ldr r0, [sp, 0x18]
- ldr r3, _080AE698
- str r3, [r0]
- add sp, 0x1C
- pop {r0-r7}
- mov r8, r0
- mov r9, r1
- mov r10, r2
- mov r11, r3
- pop {r3}
-
-call_r3:
- bx r3
-
- .align 2, 0
-_080AE698: .4byte 0x68736D53
- thumb_func_end sub_80AE2F8
-
- thumb_func_start sub_80AE69C
-sub_80AE69C:
- 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 sub_80AE69C
-
- thumb_func_start sub_80AE6B4
-sub_80AE6B4:
- ldr r3, [r0, 0x2C]
- cmp r3, 0
- beq _080AE6D2
- ldr r1, [r0, 0x34]
- ldr r2, [r0, 0x30]
- cmp r2, 0
- beq _080AE6C6
- str r1, [r2, 0x34]
- b _080AE6C8
-_080AE6C6:
- str r1, [r3, 0x20]
-_080AE6C8:
- cmp r1, 0
- beq _080AE6CE
- str r2, [r1, 0x30]
-_080AE6CE:
- movs r1, 0
- str r1, [r0, 0x2C]
-_080AE6D2:
- bx lr
- thumb_func_end sub_80AE6B4
-
- thumb_func_start sub_80AE6D4
-sub_80AE6D4:
- push {r4,r5,lr}
- adds r5, r1, 0
- ldr r4, [r5, 0x20]
- cmp r4, 0
- beq _080AE6F8
-_080AE6DE:
- ldrb r1, [r4]
- movs r0, 0xC7
- tst r0, r1
- beq _080AE6EC
- movs r0, 0x40
- orrs r1, r0
- strb r1, [r4]
-_080AE6EC:
- adds r0, r4, 0
- bl sub_80AE6B4
- ldr r4, [r4, 0x34]
- cmp r4, 0
- bne _080AE6DE
-_080AE6F8:
- movs r0, 0
- strb r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80AE6D4
-
- thumb_func_start sub_80AE704
-sub_80AE704:
- mov r12, lr
- movs r1, 0x24
- ldr r2, _080AE734
-_080AE70A:
- ldr r3, [r2]
- bl _080AE71E
- stm r0!, {r3}
- adds r2, 0x4
- subs r1, 0x1
- bgt _080AE70A
- bx r12
- thumb_func_end sub_80AE704
-
- .align 2, 0
- .thumb_func
-_080AE71C:
- ldrb r3, [r2]
-
- .thumb_func
-_080AE71E:
- push {r0}
- lsrs r0, r2, 25
- bne _080AE730
- ldr r0, _080AE734
- cmp r2, r0
- bcc _080AE72E
- lsrs r0, r2, 14
- beq _080AE730
-_080AE72E:
- movs r3, 0
-_080AE730:
- pop {r0}
- bx lr
- .align 2, 0
-_080AE734: .4byte gUnknown_826F98C
-
- thumb_func_start sub_80AE738
-sub_80AE738:
- ldr r2, [r1, 0x40]
-_080AE73A:
- adds r3, r2, 0x1
- str r3, [r1, 0x40]
- ldrb r3, [r2]
- b _080AE71E
- thumb_func_end sub_80AE738
-
- thumb_func_start sub_80AE744
-sub_80AE744:
- push {lr}
-_080AE746:
- 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 _080AE71C
- orrs r0, r3
- str r0, [r1, 0x40]
- pop {r0}
- bx r0
- thumb_func_end sub_80AE744
-
- thumb_func_start sub_80AE764
-sub_80AE764:
- ldrb r2, [r1, 0x2]
- cmp r2, 0x3
- bcs _080AE77C
- 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 sub_80AE744
-_080AE77C:
- b sub_80AE6D4
- thumb_func_end sub_80AE764
-
- thumb_func_start sub_80AE780
-sub_80AE780:
- ldrb r2, [r1, 0x2]
- cmp r2, 0
- beq _080AE792
- subs r2, 0x1
- strb r2, [r1, 0x2]
- lsls r2, 2
- adds r3, r1, r2
- ldr r2, [r3, 0x44]
- str r2, [r1, 0x40]
-_080AE792:
- bx lr
- thumb_func_end sub_80AE780
-
- thumb_func_start sub_80AE794
-sub_80AE794:
- push {lr}
- ldr r2, [r1, 0x40]
- ldrb r3, [r2]
- cmp r3, 0
- bne _080AE7A4
- adds r2, 0x1
- str r2, [r1, 0x40]
- b _080AE746
-_080AE7A4:
- ldrb r3, [r1, 0x3]
- adds r3, 0x1
- strb r3, [r1, 0x3]
- mov r12, r3
- bl sub_80AE738
- cmp r12, r3
- bcs _080AE7B6
- b _080AE746
-_080AE7B6:
- movs r3, 0
- strb r3, [r1, 0x3]
- adds r2, 0x5
- str r2, [r1, 0x40]
- pop {r0}
- bx r0
- thumb_func_end sub_80AE794
-
- thumb_func_start sub_80AE7C4
-sub_80AE7C4:
- mov r12, lr
- bl sub_80AE738
- strb r3, [r1, 0x1D]
- bx r12
- thumb_func_end sub_80AE7C4
-
- thumb_func_start sub_80AE7D0
-sub_80AE7D0:
- mov r12, lr
- bl sub_80AE738
- 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 sub_80AE7D0
-
- thumb_func_start sub_80AE7E4
-sub_80AE7E4:
- mov r12, lr
- bl sub_80AE738
- strb r3, [r1, 0xA]
- ldrb r3, [r1]
- movs r2, 0xC
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end sub_80AE7E4
-
- thumb_func_start sub_80AE7F8
-sub_80AE7F8:
- 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 _080AE71E
- str r3, [r1, 0x24]
- ldr r3, [r2, 0x4]
- bl _080AE71E
- str r3, [r1, 0x28]
- ldr r3, [r2, 0x8]
- bl _080AE71E
- str r3, [r1, 0x2C]
- bx r12
- thumb_func_end sub_80AE7F8
-
- thumb_func_start sub_80AE828
-sub_80AE828:
- mov r12, lr
- bl sub_80AE738
- strb r3, [r1, 0x12]
- ldrb r3, [r1]
- movs r2, 0x3
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end sub_80AE828
-
- thumb_func_start sub_80AE83C
-sub_80AE83C:
- mov r12, lr
- bl sub_80AE738
- subs r3, 0x40
- strb r3, [r1, 0x14]
- ldrb r3, [r1]
- movs r2, 0x3
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end sub_80AE83C
-
- thumb_func_start sub_80AE850
-sub_80AE850:
- mov r12, lr
- bl sub_80AE738
- subs r3, 0x40
- strb r3, [r1, 0xE]
- ldrb r3, [r1]
- movs r2, 0xC
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end sub_80AE850
-
- thumb_func_start sub_80AE864
-sub_80AE864:
- mov r12, lr
- bl sub_80AE738
- strb r3, [r1, 0xF]
- ldrb r3, [r1]
- movs r2, 0xC
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end sub_80AE864
-
- thumb_func_start sub_80AE878
-sub_80AE878:
- mov r12, lr
- bl sub_80AE738
- strb r3, [r1, 0x1B]
- bx r12
- thumb_func_end sub_80AE878
-
- thumb_func_start sub_80AE884
-sub_80AE884:
- mov r12, lr
- bl sub_80AE738
- ldrb r0, [r1, 0x18]
- cmp r0, r3
- beq _080AE89A
- strb r3, [r1, 0x18]
- ldrb r3, [r1]
- movs r2, 0xF
- orrs r3, r2
- strb r3, [r1]
-_080AE89A:
- bx r12
- thumb_func_end sub_80AE884
-
- thumb_func_start sub_80AE89C
-sub_80AE89C:
- mov r12, lr
- bl sub_80AE738
- subs r3, 0x40
- strb r3, [r1, 0xC]
- ldrb r3, [r1]
- movs r2, 0xC
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end sub_80AE89C
-
- thumb_func_start sub_80AE8B0
-sub_80AE8B0:
- mov r12, lr
- ldr r2, [r1, 0x40]
- ldrb r3, [r2]
- adds r2, 0x1
- ldr r0, _080AE8C4
- adds r0, r3
- bl _080AE73A
- strb r3, [r0]
- bx r12
- .align 2, 0
-_080AE8C4: .4byte 0x04000060
- thumb_func_end sub_80AE8B0
-
- thumb_func_start m4aSoundVSync
-m4aSoundVSync:
- ldr r0, _080AEB74
- ldr r0, [r0]
- ldr r2, _080AEB78
- ldr r3, [r0]
- subs r3, r2
- cmp r3, 0x1
- bhi _080AE908
- ldrb r1, [r0, 0x4]
- subs r1, 0x1
- strb r1, [r0, 0x4]
- bgt _080AE908
- ldrb r1, [r0, 0xB]
- strb r1, [r0, 0x4]
- ldr r2, _080AE90C
- ldr r1, [r2, 0x8]
- lsls r1, 7
- bcc _080AE8EE
- ldr r1, _080AE910
- str r1, [r2, 0x8]
-_080AE8EE:
- ldr r1, [r2, 0x14]
- lsls r1, 7
- bcc _080AE8F8
- ldr r1, _080AE910
- str r1, [r2, 0x14]
-_080AE8F8:
- 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]
-_080AE908:
- bx lr
- .align 2, 0
-_080AE90C: .4byte 0x040000bc
-_080AE910: .4byte 0x84400004
- thumb_func_end m4aSoundVSync
-
- thumb_func_start sub_80AE914
-sub_80AE914:
- ldr r2, _080AEB78
- ldr r3, [r0, 0x34]
- cmp r2, r3
- beq _080AE91E
- bx lr
-_080AE91E:
- adds r3, 0x1
- str r3, [r0, 0x34]
- push {r0,lr}
- ldr r3, [r0, 0x38]
- cmp r3, 0
- beq _080AE930
- ldr r0, [r0, 0x3C]
- bl _080AEB6C
-_080AE930:
- 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 _080AE948
- b _080AEB5C
-_080AE948:
- ldr r0, _080AEB74
- ldr r0, [r0]
- mov r8, r0
- adds r0, r7, 0
- bl sub_80AF800
- ldr r0, [r7, 0x4]
- cmp r0, 0
- bge _080AE95C
- b _080AEB5C
-_080AE95C:
- ldrh r0, [r7, 0x22]
- ldrh r1, [r7, 0x20]
- adds r0, r1
- b _080AEAAC
-_080AE964:
- ldrb r6, [r7, 0x8]
- ldr r5, [r7, 0x2C]
- movs r3, 0x1
- movs r4, 0
-_080AE96C:
- ldrb r0, [r5]
- movs r1, 0x80
- tst r1, r0
- bne _080AE976
- b _080AEA88
-_080AE976:
- mov r10, r3
- orrs r4, r3
- mov r11, r4
- ldr r4, [r5, 0x20]
- cmp r4, 0
- beq _080AE9AA
-_080AE982:
- ldrb r1, [r4]
- movs r0, 0xC7
- tst r0, r1
- beq _080AE99E
- ldrb r0, [r4, 0x10]
- cmp r0, 0
- beq _080AE9A4
- subs r0, 0x1
- strb r0, [r4, 0x10]
- bne _080AE9A4
- movs r0, 0x40
- orrs r1, r0
- strb r1, [r4]
- b _080AE9A4
-_080AE99E:
- adds r0, r4, 0
- bl sub_80AF2FC
-_080AE9A4:
- ldr r4, [r4, 0x34]
- cmp r4, 0
- bne _080AE982
-_080AE9AA:
- ldrb r3, [r5]
- movs r0, 0x40
- tst r0, r3
- beq _080AEA28
- adds r0, r5, 0
- bl sub_80AF310
- 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 _080AEA28
-_080AE9D0:
- ldr r2, [r5, 0x40]
- ldrb r1, [r2]
- cmp r1, 0x80
- bcs _080AE9DC
- ldrb r1, [r5, 0x7]
- b _080AE9E6
-_080AE9DC:
- adds r2, 0x1
- str r2, [r5, 0x40]
- cmp r1, 0xBD
- bcc _080AE9E6
- strb r1, [r5, 0x7]
-_080AE9E6:
- cmp r1, 0xCF
- bcc _080AE9FC
- mov r0, r8
- ldr r3, [r0, 0x38]
- adds r0, r1, 0
- subs r0, 0xCF
- adds r1, r7, 0
- adds r2, r5, 0
- bl _080AEB6C
- b _080AEA28
-_080AE9FC:
- cmp r1, 0xB0
- bls _080AEA1E
- 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 _080AEB6C
- ldrb r0, [r5]
- cmp r0, 0
- beq _080AEA84
- b _080AEA28
-_080AEA1E:
- ldr r0, _080AEB70
- subs r1, 0x80
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r5, 0x1]
-_080AEA28:
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- beq _080AE9D0
- subs r0, 0x1
- strb r0, [r5, 0x1]
- ldrb r1, [r5, 0x19]
- cmp r1, 0
- beq _080AEA84
- ldrb r0, [r5, 0x17]
- cmp r0, 0
- beq _080AEA84
- ldrb r0, [r5, 0x1C]
- cmp r0, 0
- beq _080AEA4A
- subs r0, 0x1
- strb r0, [r5, 0x1C]
- b _080AEA84
-_080AEA4A:
- ldrb r0, [r5, 0x1A]
- adds r0, r1
- strb r0, [r5, 0x1A]
- adds r1, r0, 0
- subs r0, 0x40
- lsls r0, 24
- bpl _080AEA5E
- lsls r2, r1, 24
- asrs r2, 24
- b _080AEA62
-_080AEA5E:
- movs r0, 0x80
- subs r2, r0, r1
-_080AEA62:
- ldrb r0, [r5, 0x17]
- muls r0, r2
- asrs r2, r0, 6
- ldrb r0, [r5, 0x16]
- eors r0, r2
- lsls r0, 24
- beq _080AEA84
- strb r2, [r5, 0x16]
- ldrb r0, [r5]
- ldrb r1, [r5, 0x18]
- cmp r1, 0
- bne _080AEA7E
- movs r1, 0xC
- b _080AEA80
-_080AEA7E:
- movs r1, 0x3
-_080AEA80:
- orrs r0, r1
- strb r0, [r5]
-_080AEA84:
- mov r3, r10
- mov r4, r11
-_080AEA88:
- subs r6, 0x1
- ble _080AEA94
- movs r0, 0x50
- adds r5, r0
- lsls r3, 1
- b _080AE96C
-_080AEA94:
- ldr r0, [r7, 0xC]
- adds r0, 0x1
- str r0, [r7, 0xC]
- cmp r4, 0
- bne _080AEAA6
- movs r0, 0x80
- lsls r0, 24
- str r0, [r7, 0x4]
- b _080AEB5C
-_080AEAA6:
- str r4, [r7, 0x4]
- ldrh r0, [r7, 0x22]
- subs r0, 0x96
-_080AEAAC:
- strh r0, [r7, 0x22]
- cmp r0, 0x96
- bcc _080AEAB4
- b _080AE964
-_080AEAB4:
- ldrb r2, [r7, 0x8]
- ldr r5, [r7, 0x2C]
-_080AEAB8:
- ldrb r0, [r5]
- movs r1, 0x80
- tst r1, r0
- beq _080AEB52
- movs r1, 0xF
- tst r1, r0
- beq _080AEB52
- mov r9, r2
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80AF8C8
- ldr r4, [r5, 0x20]
- cmp r4, 0
- beq _080AEB48
-_080AEAD6:
- ldrb r1, [r4]
- movs r0, 0xC7
- tst r0, r1
- bne _080AEAE6
- adds r0, r4, 0
- bl sub_80AF2FC
- b _080AEB42
-_080AEAE6:
- ldrb r0, [r4, 0x1]
- movs r6, 0x7
- ands r6, r0
- ldrb r3, [r5]
- movs r0, 0x3
- tst r0, r3
- beq _080AEB04
- bl sub_80AEBC0
- cmp r6, 0
- beq _080AEB04
- ldrb r0, [r4, 0x1D]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1D]
-_080AEB04:
- ldrb r3, [r5]
- movs r0, 0xC
- tst r0, r3
- beq _080AEB42
- ldrb r1, [r4, 0x8]
- movs r0, 0x8
- ldrsb r0, [r5, r0]
- adds r2, r1, r0
- bpl _080AEB18
- movs r2, 0
-_080AEB18:
- cmp r6, 0
- beq _080AEB36
- mov r0, r8
- ldr r3, [r0, 0x30]
- adds r1, r2, 0
- ldrb r2, [r5, 0x9]
- adds r0, r6, 0
- bl _080AEB6C
- str r0, [r4, 0x20]
- ldrb r0, [r4, 0x1D]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4, 0x1D]
- b _080AEB42
-_080AEB36:
- adds r1, r2, 0
- ldrb r2, [r5, 0x9]
- ldr r0, [r4, 0x24]
- bl sub_80AEE80
- str r0, [r4, 0x20]
-_080AEB42:
- ldr r4, [r4, 0x34]
- cmp r4, 0
- bne _080AEAD6
-_080AEB48:
- ldrb r0, [r5]
- movs r1, 0xF0
- ands r0, r1
- strb r0, [r5]
- mov r2, r9
-_080AEB52:
- subs r2, 0x1
- ble _080AEB5C
- movs r0, 0x50
- adds r5, r0
- bgt _080AEAB8
-_080AEB5C:
- ldr r0, _080AEB78
- str r0, [r7, 0x34]
- pop {r0-r7}
- mov r8, r0
- mov r9, r1
- mov r10, r2
- mov r11, r3
- pop {r3}
-_080AEB6C:
- bx r3
- .align 2, 0
-_080AEB70: .4byte gUnknown_826FC00
-_080AEB74: .4byte SOUND_INFO_PTR
-_080AEB78: .4byte 0x68736d53
- thumb_func_end sub_80AE914
-
- thumb_func_start sub_80AEB7C
-sub_80AEB7C:
- push {r4-r6,lr}
- adds r5, r1, 0
- ldrb r1, [r5]
- movs r0, 0x80
- tst r0, r1
- beq _080AEBB4
- ldr r4, [r5, 0x20]
- cmp r4, 0
- beq _080AEBB2
- movs r6, 0
-_080AEB90:
- ldrb r0, [r4]
- cmp r0, 0
- beq _080AEBAA
- ldrb r0, [r4, 0x1]
- movs r3, 0x7
- ands r0, r3
- beq _080AEBA8
- ldr r3, _080AEBBC
- ldr r3, [r3]
- ldr r3, [r3, 0x2C]
- bl _080AEB6C
-_080AEBA8:
- strb r6, [r4]
-_080AEBAA:
- str r6, [r4, 0x2C]
- ldr r4, [r4, 0x34]
- cmp r4, 0
- bne _080AEB90
-_080AEBB2:
- str r4, [r5, 0x20]
-_080AEBB4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AEBBC: .4byte SOUND_INFO_PTR
- thumb_func_end sub_80AEB7C
-
- thumb_func_start sub_80AEBC0
-sub_80AEBC0:
- 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 _080AEBD8
- movs r0, 0xFF
-_080AEBD8:
- 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 _080AEBEC
- movs r0, 0xFF
-_080AEBEC:
- strb r0, [r4, 0x3]
- bx lr
- thumb_func_end sub_80AEBC0
-
- thumb_func_start sub_80AEBF0
-sub_80AEBF0:
- 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, _080AEDE8
- ldr r1, [r1]
- str r1, [sp, 0x4]
- ldr r1, _080AEDEC
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r5, 0x4]
- ldr r3, [r5, 0x40]
- ldrb r0, [r3]
- cmp r0, 0x80
- bcs _080AEC36
- strb r0, [r5, 0x5]
- adds r3, 0x1
- ldrb r0, [r3]
- cmp r0, 0x80
- bcs _080AEC34
- strb r0, [r5, 0x6]
- adds r3, 0x1
- ldrb r0, [r3]
- cmp r0, 0x80
- bcs _080AEC34
- ldrb r1, [r5, 0x4]
- adds r1, r0
- strb r1, [r5, 0x4]
- adds r3, 0x1
-_080AEC34:
- str r3, [r5, 0x40]
-_080AEC36:
- movs r0, 0
- str r0, [sp, 0x14]
- adds r4, r5, 0
- adds r4, 0x24
- ldrb r2, [r4]
- movs r0, 0xC0
- tst r0, r2
- beq _080AEC88
- ldrb r3, [r5, 0x5]
- movs r0, 0x40
- tst r0, r2
- beq _080AEC56
- ldr r1, [r5, 0x2C]
- adds r1, r3
- ldrb r0, [r1]
- b _080AEC58
-_080AEC56:
- adds r0, r3, 0
-_080AEC58:
- 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 _080AEC70
- b _080AEDD6
-_080AEC70:
- movs r0, 0x80
- tst r0, r2
- beq _080AEC8C
- ldrb r1, [r6, 0x3]
- movs r0, 0x80
- tst r0, r1
- beq _080AEC84
- subs r1, 0xC0
- lsls r1, 1
- str r1, [sp, 0x14]
-_080AEC84:
- ldrb r3, [r6, 0x1]
- b _080AEC8C
-_080AEC88:
- mov r9, r4
- ldrb r3, [r5, 0x5]
-_080AEC8C:
- str r3, [sp, 0x8]
- ldr r6, [sp]
- ldrb r1, [r6, 0x9]
- ldrb r0, [r5, 0x1D]
- adds r0, r1
- cmp r0, 0xFF
- bls _080AEC9C
- movs r0, 0xFF
-_080AEC9C:
- str r0, [sp, 0x10]
- mov r6, r9
- ldrb r0, [r6]
- movs r6, 0x7
- ands r6, r0
- str r6, [sp, 0xC]
- beq _080AECDC
- ldr r0, [sp, 0x4]
- ldr r4, [r0, 0x1C]
- cmp r4, 0
- bne _080AECB4
- b _080AEDD6
-_080AECB4:
- subs r6, 0x1
- lsls r0, r6, 6
- adds r4, r0
- ldrb r1, [r4]
- movs r0, 0xC7
- tst r0, r1
- beq _080AED30
- movs r0, 0x40
- tst r0, r1
- bne _080AED30
- ldrb r1, [r4, 0x13]
- ldr r0, [sp, 0x10]
- cmp r1, r0
- bcc _080AED30
- beq _080AECD4
- b _080AEDD6
-_080AECD4:
- ldr r0, [r4, 0x2C]
- cmp r0, r5
- bcs _080AED30
- b _080AEDD6
-_080AECDC:
- 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
-_080AECEA:
- ldrb r1, [r4]
- movs r0, 0xC7
- tst r0, r1
- beq _080AED30
- movs r0, 0x40
- tst r0, r1
- beq _080AED04
- cmp r2, 0
- bne _080AED08
- adds r2, 0x1
- ldrb r6, [r4, 0x13]
- ldr r7, [r4, 0x2C]
- b _080AED22
-_080AED04:
- cmp r2, 0
- bne _080AED24
-_080AED08:
- ldrb r0, [r4, 0x13]
- cmp r0, r6
- bcs _080AED14
- adds r6, r0, 0
- ldr r7, [r4, 0x2C]
- b _080AED22
-_080AED14:
- bhi _080AED24
- ldr r0, [r4, 0x2C]
- cmp r0, r7
- bls _080AED20
- adds r7, r0, 0
- b _080AED22
-_080AED20:
- bcc _080AED24
-_080AED22:
- mov r8, r4
-_080AED24:
- adds r4, 0x40
- subs r3, 0x1
- bgt _080AECEA
- mov r4, r8
- cmp r4, 0
- beq _080AEDD6
-_080AED30:
- adds r0, r4, 0
- bl sub_80AF2FC
- movs r1, 0
- str r1, [r4, 0x30]
- ldr r3, [r5, 0x20]
- str r3, [r4, 0x34]
- cmp r3, 0
- beq _080AED44
- str r4, [r3, 0x30]
-_080AED44:
- str r4, [r5, 0x20]
- str r5, [r4, 0x2C]
- ldrb r0, [r5, 0x1B]
- strb r0, [r5, 0x1C]
- cmp r0, r1
- beq _080AED56
- adds r1, r5, 0
- bl sub_80AEE30
-_080AED56:
- ldr r0, [sp]
- adds r1, r5, 0
- bl sub_80AF8C8
- 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 sub_80AEBC0
- ldrb r1, [r4, 0x8]
- movs r0, 0x8
- ldrsb r0, [r5, r0]
- adds r3, r1, r0
- bpl _080AED90
- movs r3, 0
-_080AED90:
- ldr r6, [sp, 0xC]
- cmp r6, 0
- beq _080AEDBE
- mov r6, r9
- ldrb r0, [r6, 0x2]
- strb r0, [r4, 0x1E]
- ldrb r1, [r6, 0x3]
- movs r0, 0x80
- tst r0, r1
- bne _080AEDAA
- movs r0, 0x70
- tst r0, r1
- bne _080AEDAC
-_080AEDAA:
- movs r1, 0x8
-_080AEDAC:
- 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 _080AEB6C
- b _080AEDC8
-_080AEDBE:
- ldrb r2, [r5, 0x9]
- adds r1, r3, 0
- adds r0, r7, 0
- bl sub_80AEE80
-_080AEDC8:
- str r0, [r4, 0x20]
- movs r0, 0x80
- strb r0, [r4]
- ldrb r1, [r5]
- movs r0, 0xF0
- ands r0, r1
- strb r0, [r5]
-_080AEDD6:
- 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
-_080AEDE8: .4byte SOUND_INFO_PTR
-_080AEDEC: .4byte gUnknown_826FC00
- thumb_func_end sub_80AEBF0
-
- thumb_func_start sub_80AEDF0
-sub_80AEDF0:
- push {r4,r5}
- ldr r2, [r1, 0x40]
- ldrb r3, [r2]
- cmp r3, 0x80
- bcs _080AEE02
- strb r3, [r1, 0x5]
- adds r2, 0x1
- str r2, [r1, 0x40]
- b _080AEE04
-_080AEE02:
- ldrb r3, [r1, 0x5]
-_080AEE04:
- ldr r1, [r1, 0x20]
- cmp r1, 0
- beq _080AEE2C
- movs r4, 0x83
- movs r5, 0x40
-_080AEE0E:
- ldrb r2, [r1]
- tst r2, r4
- beq _080AEE26
- tst r2, r5
- bne _080AEE26
- ldrb r0, [r1, 0x11]
- cmp r0, r3
- bne _080AEE26
- movs r0, 0x40
- orrs r2, r0
- strb r2, [r1]
- b _080AEE2C
-_080AEE26:
- ldr r1, [r1, 0x34]
- cmp r1, 0
- bne _080AEE0E
-_080AEE2C:
- pop {r4,r5}
- bx lr
- thumb_func_end sub_80AEDF0
-
- thumb_func_start sub_80AEE30
-sub_80AEE30:
- movs r2, 0
- strb r2, [r1, 0x16]
- strb r2, [r1, 0x1A]
- ldrb r2, [r1, 0x18]
- cmp r2, 0
- bne _080AEE40
- movs r2, 0xC
- b _080AEE42
-_080AEE40:
- movs r2, 0x3
-_080AEE42:
- ldrb r3, [r1]
- orrs r3, r2
- strb r3, [r1]
- bx lr
- thumb_func_end sub_80AEE30
-
- thumb_func_start sub_80AEE4C
-sub_80AEE4C:
- ldr r2, [r1, 0x40]
- adds r3, r2, 0x1
- str r3, [r1, 0x40]
- ldrb r3, [r2]
- bx lr
- thumb_func_end sub_80AEE4C
-
- thumb_func_start sub_80AEE58
-sub_80AEE58:
- mov r12, lr
- bl sub_80AEE4C
- strb r3, [r1, 0x19]
- cmp r3, 0
- bne _080AEE68
- bl sub_80AEE30
-_080AEE68:
- bx r12
- thumb_func_end sub_80AEE58
-
- thumb_func_start sub_80AEE6C
-sub_80AEE6C:
- mov r12, lr
- bl sub_80AEE4C
- strb r3, [r1, 0x17]
- cmp r3, 0
- bne _080AEE7C
- bl sub_80AEE30
-_080AEE7C:
- bx r12
- thumb_func_end sub_80AEE6C
-
- thumb_func_start sub_80AEE80
-sub_80AEE80:
- push {r4-r7,lr}
- mov r12, r0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r7, r2, 24
- cmp r6, 0xB2
- bls _080AEE94
- movs r6, 0xB2
- movs r7, 0xFF
- lsls r7, 24
-_080AEE94:
- ldr r3, _080AEEDC
- adds r0, r6, r3
- ldrb r5, [r0]
- ldr r4, _080AEEE0
- 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
-_080AEEDC: .4byte gUnknown_826FA1C
-_080AEEE0: .4byte gUnknown_826FAD0
- thumb_func_end sub_80AEE80
-
- thumb_func_start nullsub_212
-nullsub_212:
- bx lr
- thumb_func_end nullsub_212
-
- thumb_func_start sub_80AEEE8
-sub_80AEEE8:
- adds r2, r0, 0
- ldr r3, [r2, 0x34]
- ldr r0, _080AEEFC
- cmp r3, r0
- bne _080AEEFA
- ldr r0, [r2, 0x4]
- ldr r1, _080AEF00
- ands r0, r1
- str r0, [r2, 0x4]
-_080AEEFA:
- bx lr
- .align 2, 0
-_080AEEFC: .4byte 0x68736d53
-_080AEF00: .4byte 0x7fffffff
- thumb_func_end sub_80AEEE8
-
- thumb_func_start sub_80AEF04
-sub_80AEF04:
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r3, [r2, 0x34]
- ldr r0, _080AEF20
- cmp r3, r0
- bne _080AEF1C
- strh r1, [r2, 0x26]
- strh r1, [r2, 0x24]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r2, 0x28]
-_080AEF1C:
- bx lr
- .align 2, 0
-_080AEF20: .4byte 0x68736d53
- thumb_func_end sub_80AEF04
-
- thumb_func_start sub_80AEF24
-sub_80AEF24:
- push {r4-r6,lr}
- ldr r0, _080AEF78
- movs r1, 0x2
- negs r1, r1
- ands r0, r1
- ldr r1, _080AEF7C
- ldr r2, _080AEF80
- bl CpuSet
- ldr r0, _080AEF84
- bl sub_80AF324
- ldr r0, _080AEF88
- bl sub_80AF1E0
- ldr r0, _080AEF8C
- bl sub_80AF4C0
- ldr r0, _080AEF90
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _080AEF72
- ldr r5, _080AEF94
- adds r6, r0, 0
-_080AEF56:
- ldr r4, [r5]
- ldr r1, [r5, 0x4]
- ldrb r2, [r5, 0x8]
- adds r0, r4, 0
- bl sub_80AF664
- ldrh r0, [r5, 0xA]
- strb r0, [r4, 0xB]
- ldr r0, _080AEF98
- str r0, [r4, 0x18]
- adds r5, 0xC
- subs r6, 0x1
- cmp r6, 0
- bne _080AEF56
-_080AEF72:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AEF78: .4byte sub_80AE2F8
-_080AEF7C: .4byte SoundMainRAM_Buffer
-_080AEF80: .4byte 0x04000100
-_080AEF84: .4byte gUnknown_2039ED0
-_080AEF88: .4byte gUnknown_203AF10
-_080AEF8C: .4byte 0x0096e500
-_080AEF90: .4byte 0x00000008
-_080AEF94: .4byte 0x09e8665c
-_080AEF98: .4byte gUnknown_2000A30
- thumb_func_end sub_80AEF24
-
- thumb_func_start m4aSoundMain
-m4aSoundMain:
- push {lr}
- bl SoundMain
- pop {r0}
- bx r0
- thumb_func_end m4aSoundMain
-
- thumb_func_start sub_80AEFA8
-sub_80AEFA8:
- push {lr}
- lsls r0, 16
- ldr r2, _080AEFCC
- ldr r1, _080AEFD0
- 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 sub_80AF6DC
- pop {r0}
- bx r0
- .align 2, 0
-_080AEFCC: .4byte 0x09e8665c
-_080AEFD0: .4byte 0x09e866bc
- thumb_func_end sub_80AEFA8
-
- thumb_func_start sub_80AEFD4
-sub_80AEFD4:
- push {lr}
- lsls r0, 16
- ldr r2, _080AF000
- ldr r1, _080AF004
- 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 _080AF008
- adds r0, r1, 0
- adds r1, r2, 0
- bl sub_80AF6DC
- b _080AF01C
- .align 2, 0
-_080AF000: .4byte 0x09e8665c
-_080AF004: .4byte 0x09e866bc
-_080AF008:
- ldr r2, [r1, 0x4]
- ldrh r0, [r1, 0x4]
- cmp r0, 0
- beq _080AF014
- cmp r2, 0
- bge _080AF01C
-_080AF014:
- adds r0, r1, 0
- adds r1, r3, 0
- bl sub_80AF6DC
-_080AF01C:
- pop {r0}
- bx r0
- thumb_func_end sub_80AEFD4
-
- thumb_func_start sub_80AF020
-sub_80AF020:
- push {lr}
- lsls r0, 16
- ldr r2, _080AF04C
- ldr r1, _080AF050
- 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 _080AF054
- adds r0, r1, 0
- adds r1, r2, 0
- bl sub_80AF6DC
- b _080AF070
- .align 2, 0
-_080AF04C: .4byte 0x09e8665c
-_080AF050: .4byte 0x09e866bc
-_080AF054:
- ldr r2, [r1, 0x4]
- ldrh r0, [r1, 0x4]
- cmp r0, 0
- bne _080AF066
- adds r0, r1, 0
- adds r1, r3, 0
- bl sub_80AF6DC
- b _080AF070
-_080AF066:
- cmp r2, 0
- bge _080AF070
- adds r0, r1, 0
- bl sub_80AEEE8
-_080AF070:
- pop {r0}
- bx r0
- thumb_func_end sub_80AF020
-
- thumb_func_start sub_80AF074
-sub_80AF074:
- push {lr}
- lsls r0, 16
- ldr r2, _080AF0A0
- ldr r1, _080AF0A4
- 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 _080AF09A
- adds r0, r2, 0
- bl sub_80AF7C0
-_080AF09A:
- pop {r0}
- bx r0
- .align 2, 0
-_080AF0A0: .4byte 0x09e8665c
-_080AF0A4: .4byte 0x09e866bc
- thumb_func_end sub_80AF074
-
- thumb_func_start sub_80AF0A8
-sub_80AF0A8:
- push {lr}
- lsls r0, 16
- ldr r2, _080AF0D4
- ldr r1, _080AF0D8
- 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 _080AF0CE
- adds r0, r2, 0
- bl sub_80AEEE8
-_080AF0CE:
- pop {r0}
- bx r0
- .align 2, 0
-_080AF0D4: .4byte 0x09e8665c
-_080AF0D8: .4byte 0x09e866bc
- thumb_func_end sub_80AF0A8
-
- thumb_func_start sub_80AF0DC
-sub_80AF0DC:
- push {r4,r5,lr}
- ldr r0, _080AF100
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _080AF0FA
- ldr r5, _080AF104
- adds r4, r0, 0
-_080AF0EC:
- ldr r0, [r5]
- bl sub_80AF7C0
- adds r5, 0xC
- subs r4, 0x1
- cmp r4, 0
- bne _080AF0EC
-_080AF0FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF100: .4byte 0x00000008
-_080AF104: .4byte 0x09e8665c
- thumb_func_end sub_80AF0DC
-
- thumb_func_start sub_80AF108
-sub_80AF108:
- push {lr}
- bl sub_80AEEE8
- pop {r0}
- bx r0
- thumb_func_end sub_80AF108
-
- thumb_func_start sub_80AF114
-sub_80AF114:
- push {r4,r5,lr}
- ldr r0, _080AF138
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _080AF132
- ldr r5, _080AF13C
- adds r4, r0, 0
-_080AF124:
- ldr r0, [r5]
- bl sub_80AEEE8
- adds r5, 0xC
- subs r4, 0x1
- cmp r4, 0
- bne _080AF124
-_080AF132:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF138: .4byte 0x00000008
-_080AF13C: .4byte 0x09e8665c
- thumb_func_end sub_80AF114
-
- thumb_func_start sub_80AF140
-sub_80AF140:
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl sub_80AEF04
- pop {r0}
- bx r0
- thumb_func_end sub_80AF140
-
- thumb_func_start sub_80AF150
-sub_80AF150:
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r3, [r2, 0x34]
- ldr r0, _080AF168
- cmp r3, r0
- bne _080AF166
- strh r1, [r2, 0x26]
- strh r1, [r2, 0x24]
- ldr r0, _080AF16C
- strh r0, [r2, 0x28]
-_080AF166:
- bx lr
- .align 2, 0
-_080AF168: .4byte 0x68736d53
-_080AF16C: .4byte 0x00000101
- thumb_func_end sub_80AF150
-
- thumb_func_start sub_80AF170
-sub_80AF170:
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r3, [r2, 0x34]
- ldr r0, _080AF190
- cmp r3, r0
- bne _080AF18E
- strh r1, [r2, 0x26]
- strh r1, [r2, 0x24]
- movs r0, 0x2
- strh r0, [r2, 0x28]
- ldr r0, [r2, 0x4]
- ldr r1, _080AF194
- ands r0, r1
- str r0, [r2, 0x4]
-_080AF18E:
- bx lr
- .align 2, 0
-_080AF190: .4byte 0x68736d53
-_080AF194: .4byte 0x7fffffff
- thumb_func_end sub_80AF170
-
- thumb_func_start sub_80AF198
-sub_80AF198:
- push {r4-r7,lr}
- ldrb r5, [r0, 0x8]
- ldr r4, [r0, 0x2C]
- cmp r5, 0
- ble _080AF1DA
- movs r7, 0x80
-_080AF1A4:
- ldrb r1, [r4]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _080AF1D2
- movs r6, 0x40
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080AF1D2
- adds r0, r4, 0
- bl sub_80AF310
- 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]
-_080AF1D2:
- subs r5, 0x1
- adds r4, 0x50
- cmp r5, 0
- bgt _080AF1A4
-_080AF1DA:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80AF198
-
- thumb_func_start sub_80AF1E0
-sub_80AF1E0:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r1, _080AF2A8
- movs r0, 0x8F
- strh r0, [r1]
- ldr r3, _080AF2AC
- movs r2, 0
- strh r2, [r3]
- ldr r0, _080AF2B0
- 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, _080AF2B4
- ldr r4, [r0]
- ldr r6, [r4]
- ldr r0, _080AF2B8
- cmp r6, r0
- bne _080AF2A0
- adds r0, r6, 0x1
- str r0, [r4]
- ldr r1, _080AF2BC
- ldr r0, _080AF2C0
- str r0, [r1, 0x20]
- ldr r0, _080AF2C4
- str r0, [r1, 0x44]
- ldr r0, _080AF2C8
- str r0, [r1, 0x4C]
- ldr r0, _080AF2CC
- str r0, [r1, 0x70]
- ldr r0, _080AF2D0
- str r0, [r1, 0x74]
- ldr r0, _080AF2D4
- str r0, [r1, 0x78]
- ldr r0, _080AF2D8
- str r0, [r1, 0x7C]
- adds r2, r1, 0
- adds r2, 0x80
- ldr r0, _080AF2DC
- str r0, [r2]
- adds r1, 0x84
- ldr r0, _080AF2E0
- str r0, [r1]
- str r5, [r4, 0x1C]
- ldr r0, _080AF2E4
- str r0, [r4, 0x28]
- ldr r0, _080AF2E8
- str r0, [r4, 0x2C]
- ldr r0, _080AF2EC
- str r0, [r4, 0x30]
- ldr r0, _080AF2F0
- movs r1, 0
- strb r0, [r4, 0xC]
- str r1, [sp]
- ldr r2, _080AF2F4
- 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]
-_080AF2A0:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF2A8: .4byte 0x04000084
-_080AF2AC: .4byte 0x04000080
-_080AF2B0: .4byte 0x04000063
-_080AF2B4: .4byte SOUND_INFO_PTR
-_080AF2B8: .4byte 0x68736d53
-_080AF2BC: .4byte gUnknown_203AE80
-_080AF2C0: .4byte sub_80B019C
-_080AF2C4: .4byte sub_80AEE58
-_080AF2C8: .4byte sub_80AEE6C
-_080AF2CC: .4byte sub_80B02F4
-_080AF2D0: .4byte sub_80AEDF0
-_080AF2D4: .4byte sub_80AF41C
-_080AF2D8: .4byte sub_80AEB7C
-_080AF2DC: .4byte sub_80AF800
-_080AF2E0: .4byte sub_80AF8C8
-_080AF2E4: .4byte sub_80AFADC
-_080AF2E8: .4byte sub_80AFA24
-_080AF2EC: .4byte sub_80AF97C
-_080AF2F0: .4byte 0x00000000
-_080AF2F4: .4byte 0x05000040
- thumb_func_end sub_80AF1E0
-
- thumb_func_start sub_80AF2F8
-sub_80AF2F8:
- swi 0x2A
- bx lr
- thumb_func_end sub_80AF2F8
-
- thumb_func_start sub_80AF2FC
-sub_80AF2FC:
- push {lr}
- ldr r1, _080AF30C
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080AF30C: .4byte gUnknown_203AF08
- thumb_func_end sub_80AF2FC
-
- thumb_func_start sub_80AF310
-sub_80AF310:
- push {lr}
- ldr r1, _080AF320
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080AF320: .4byte gUnknown_203AF0C
- thumb_func_end sub_80AF310
-
- thumb_func_start sub_80AF324
-sub_80AF324:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r3, 0
- str r3, [r5]
- ldr r1, _080AF3DC
- ldr r0, [r1]
- movs r2, 0x80
- lsls r2, 18
- ands r0, r2
- cmp r0, 0
- beq _080AF340
- ldr r0, _080AF3E0
- str r0, [r1]
-_080AF340:
- ldr r1, _080AF3E4
- ldr r0, [r1]
- ands r0, r2
- cmp r0, 0
- beq _080AF34E
- ldr r0, _080AF3E0
- str r0, [r1]
-_080AF34E:
- ldr r0, _080AF3E8
- movs r2, 0x80
- lsls r2, 3
- adds r1, r2, 0
- strh r1, [r0]
- adds r0, 0xC
- strh r1, [r0]
- ldr r1, _080AF3EC
- movs r0, 0x8F
- strh r0, [r1]
- subs r1, 0x2
- ldr r2, _080AF3F0
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, _080AF3F4
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldr r1, _080AF3F8
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r5, r2
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _080AF3FC
- str r0, [r1]
- adds r1, 0x8
- movs r2, 0x98
- lsls r2, 4
- adds r0, r5, r2
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _080AF400
- str r0, [r1]
- ldr r0, _080AF404
- str r5, [r0]
- str r3, [sp]
- ldr r2, _080AF408
- 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, _080AF40C
- str r0, [r5, 0x38]
- ldr r0, _080AF410
- str r0, [r5, 0x28]
- str r0, [r5, 0x2C]
- str r0, [r5, 0x30]
- str r0, [r5, 0x3C]
- ldr r4, _080AF414
- adds r0, r4, 0
- bl sub_80AE704
- str r4, [r5, 0x34]
- movs r0, 0x80
- lsls r0, 11
- bl sub_80AF41C
- ldr r0, _080AF418
- str r0, [r5]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF3DC: .4byte 0x040000c4
-_080AF3E0: .4byte 0x84400004
-_080AF3E4: .4byte 0x040000d0
-_080AF3E8: .4byte 0x040000c6
-_080AF3EC: .4byte 0x04000084
-_080AF3F0: .4byte 0x0000a90e
-_080AF3F4: .4byte 0x04000089
-_080AF3F8: .4byte 0x040000bc
-_080AF3FC: .4byte 0x040000a0
-_080AF400: .4byte 0x040000a4
-_080AF404: .4byte SOUND_INFO_PTR
-_080AF408: .4byte 0x050003ec
-_080AF40C: .4byte sub_80AEBF0
-_080AF410: .4byte nullsub_139
-_080AF414: .4byte gUnknown_203AE80
-_080AF418: .4byte 0x68736d53
- thumb_func_end sub_80AF324
-
- thumb_func_start sub_80AF41C
-sub_80AF41C:
- push {r4-r6,lr}
- adds r2, r0, 0
- ldr r0, _080AF49C
- 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, _080AF4A0
- 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, _080AF4A4
- muls r0, r5
- ldr r1, _080AF4A8
- adds r0, r1
- ldr r1, _080AF4AC
- 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, _080AF4B0
- strh r6, [r0]
- ldr r4, _080AF4B4
- ldr r0, _080AF4B8
- adds r1, r5, 0
- bl __divsi3
- negs r0, r0
- strh r0, [r4]
- bl sub_80AF628
- ldr r1, _080AF4BC
-_080AF480:
- ldrb r0, [r1]
- cmp r0, 0x9F
- beq _080AF480
- ldr r1, _080AF4BC
-_080AF488:
- ldrb r0, [r1]
- cmp r0, 0x9F
- bne _080AF488
- ldr r1, _080AF4B0
- movs r0, 0x80
- strh r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF49C: .4byte SOUND_INFO_PTR
-_080AF4A0: .4byte gUnknown_826FB00
-_080AF4A4: .4byte 0x00091d1b
-_080AF4A8: .4byte 0x00001388
-_080AF4AC: .4byte 0x00002710
-_080AF4B0: .4byte 0x04000102
-_080AF4B4: .4byte 0x04000100
-_080AF4B8: .4byte 0x00044940
-_080AF4BC: .4byte 0x04000006
- thumb_func_end sub_80AF41C
-
- thumb_func_start sub_80AF4C0
-sub_80AF4C0:
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r0, _080AF54C
- ldr r5, [r0]
- ldr r1, [r5]
- ldr r0, _080AF550
- cmp r1, r0
- bne _080AF546
- adds r0, r1, 0x1
- str r0, [r5]
- movs r4, 0xFF
- ands r4, r3
- cmp r4, 0
- beq _080AF4E2
- movs r0, 0x7F
- ands r4, r0
- strb r4, [r5, 0x5]
-_080AF4E2:
- movs r4, 0xF0
- lsls r4, 4
- ands r4, r3
- cmp r4, 0
- beq _080AF502
- lsrs r0, r4, 8
- strb r0, [r5, 0x6]
- movs r4, 0xC
- adds r0, r5, 0
- adds r0, 0x50
- movs r1, 0
-_080AF4F8:
- strb r1, [r0]
- subs r4, 0x1
- adds r0, 0x40
- cmp r4, 0
- bne _080AF4F8
-_080AF502:
- movs r4, 0xF0
- lsls r4, 8
- ands r4, r3
- cmp r4, 0
- beq _080AF510
- lsrs r0, r4, 12
- strb r0, [r5, 0x7]
-_080AF510:
- movs r4, 0xB0
- lsls r4, 16
- ands r4, r3
- cmp r4, 0
- beq _080AF52E
- movs r0, 0xC0
- lsls r0, 14
- ands r0, r4
- lsrs r4, r0, 14
- ldr r2, _080AF554
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- orrs r0, r4
- strb r0, [r2]
-_080AF52E:
- movs r4, 0xF0
- lsls r4, 12
- ands r4, r3
- cmp r4, 0
- beq _080AF542
- bl sub_80AF5AC
- adds r0, r4, 0
- bl sub_80AF41C
-_080AF542:
- ldr r0, _080AF550
- str r0, [r5]
-_080AF546:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF54C: .4byte SOUND_INFO_PTR
-_080AF550: .4byte 0x68736d53
-_080AF554: .4byte 0x04000089
- thumb_func_end sub_80AF4C0
-
- thumb_func_start sub_80AF558
-sub_80AF558:
- push {r4-r7,lr}
- ldr r0, _080AF5A4
- ldr r6, [r0]
- ldr r1, [r6]
- ldr r0, _080AF5A8
- cmp r1, r0
- bne _080AF59E
- adds r0, r1, 0x1
- str r0, [r6]
- movs r5, 0xC
- adds r4, r6, 0
- adds r4, 0x50
- movs r0, 0
-_080AF572:
- strb r0, [r4]
- subs r5, 0x1
- adds r4, 0x40
- cmp r5, 0
- bgt _080AF572
- ldr r4, [r6, 0x1C]
- cmp r4, 0
- beq _080AF59A
- movs r5, 0x1
- movs r7, 0
-_080AF586:
- 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 _080AF586
-_080AF59A:
- ldr r0, _080AF5A8
- str r0, [r6]
-_080AF59E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF5A4: .4byte SOUND_INFO_PTR
-_080AF5A8: .4byte 0x68736d53
- thumb_func_end sub_80AF558
-
- thumb_func_start sub_80AF5AC
-sub_80AF5AC:
- push {lr}
- sub sp, 0x4
- ldr r0, _080AF60C
- ldr r2, [r0]
- ldr r1, [r2]
- ldr r3, _080AF610
- adds r0, r1, r3
- cmp r0, 0x1
- bhi _080AF604
- adds r0, r1, 0
- adds r0, 0xA
- str r0, [r2]
- ldr r1, _080AF614
- ldr r0, [r1]
- movs r3, 0x80
- lsls r3, 18
- ands r0, r3
- cmp r0, 0
- beq _080AF5D6
- ldr r0, _080AF618
- str r0, [r1]
-_080AF5D6:
- ldr r1, _080AF61C
- ldr r0, [r1]
- ands r0, r3
- cmp r0, 0
- beq _080AF5E4
- ldr r0, _080AF618
- str r0, [r1]
-_080AF5E4:
- ldr r0, _080AF620
- 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, _080AF624
- mov r0, sp
- bl CpuSet
-_080AF604:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080AF60C: .4byte SOUND_INFO_PTR
-_080AF610: .4byte 0x978c92ad
-_080AF614: .4byte 0x040000c4
-_080AF618: .4byte 0x84400004
-_080AF61C: .4byte 0x040000d0
-_080AF620: .4byte 0x040000c6
-_080AF624: .4byte 0x05000318
- thumb_func_end sub_80AF5AC
-
- thumb_func_start sub_80AF628
-sub_80AF628:
- push {r4,lr}
- ldr r0, _080AF658
- ldr r2, [r0]
- ldr r3, [r2]
- ldr r0, _080AF65C
- cmp r3, r0
- beq _080AF650
- ldr r0, _080AF660
- 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]
-_080AF650:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF658: .4byte SOUND_INFO_PTR
-_080AF65C: .4byte 0x68736d53
-_080AF660: .4byte 0x040000c6
- thumb_func_end sub_80AF628
-
- thumb_func_start sub_80AF664
-sub_80AF664:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r4, 0
- beq _080AF6C8
- cmp r4, 0x10
- bls _080AF678
- movs r4, 0x10
-_080AF678:
- ldr r0, _080AF6D0
- ldr r5, [r0]
- ldr r1, [r5]
- ldr r0, _080AF6D4
- cmp r1, r0
- bne _080AF6C8
- adds r0, r1, 0x1
- str r0, [r5]
- adds r0, r7, 0
- bl sub_80AF310
- str r6, [r7, 0x2C]
- strb r4, [r7, 0x8]
- movs r0, 0x80
- lsls r0, 24
- str r0, [r7, 0x4]
- cmp r4, 0
- beq _080AF6AC
- movs r1, 0
-_080AF69E:
- strb r1, [r6]
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, 0x50
- cmp r4, 0
- bne _080AF69E
-_080AF6AC:
- ldr r0, [r5, 0x20]
- cmp r0, 0
- beq _080AF6BC
- str r0, [r7, 0x38]
- ldr r0, [r5, 0x24]
- str r0, [r7, 0x3C]
- movs r0, 0
- str r0, [r5, 0x20]
-_080AF6BC:
- str r7, [r5, 0x24]
- ldr r0, _080AF6D8
- str r0, [r5, 0x20]
- ldr r0, _080AF6D4
- str r0, [r5]
- str r0, [r7, 0x34]
-_080AF6C8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF6D0: .4byte SOUND_INFO_PTR
-_080AF6D4: .4byte 0x68736d53
-_080AF6D8: .4byte sub_80AE914
- thumb_func_end sub_80AF664
-
- thumb_func_start sub_80AF6DC
-sub_80AF6DC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r7, r1, 0
- ldr r1, [r5, 0x34]
- ldr r0, _080AF7BC
- cmp r1, r0
- bne _080AF7B2
- ldrb r0, [r5, 0xB]
- ldrb r2, [r7, 0x2]
- cmp r0, 0
- beq _080AF71E
- ldr r0, [r5]
- cmp r0, 0
- beq _080AF708
- ldr r1, [r5, 0x2C]
- movs r0, 0x40
- ldrb r1, [r1]
- ands r0, r1
- cmp r0, 0
- bne _080AF714
-_080AF708:
- ldr r1, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- cmp r0, 0
- beq _080AF71E
- cmp r1, 0
- blt _080AF71E
-_080AF714:
- ldrb r0, [r7, 0x2]
- adds r2, r0, 0
- ldrb r0, [r5, 0x9]
- cmp r0, r2
- bhi _080AF7B2
-_080AF71E:
- 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 _080AF77E
- ldrb r0, [r5, 0x8]
- cmp r6, r0
- bge _080AF79E
- mov r8, r6
-_080AF752:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80AEB7C
- 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 _080AF77E
- ldrb r1, [r5, 0x8]
- cmp r6, r1
- blt _080AF752
-_080AF77E:
- ldrb r0, [r5, 0x8]
- cmp r6, r0
- bge _080AF79E
- movs r1, 0
- mov r8, r1
-_080AF788:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80AEB7C
- mov r0, r8
- strb r0, [r4]
- adds r6, 0x1
- adds r4, 0x50
- ldrb r1, [r5, 0x8]
- cmp r6, r1
- blt _080AF788
-_080AF79E:
- movs r0, 0x80
- ldrb r1, [r7, 0x3]
- ands r0, r1
- cmp r0, 0
- beq _080AF7AE
- ldrb r0, [r7, 0x3]
- bl sub_80AF4C0
-_080AF7AE:
- ldr r0, _080AF7BC
- str r0, [r5, 0x34]
-_080AF7B2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF7BC: .4byte 0x68736d53
- thumb_func_end sub_80AF6DC
-
- thumb_func_start sub_80AF7C0
-sub_80AF7C0:
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r1, [r6, 0x34]
- ldr r0, _080AF7FC
- cmp r1, r0
- bne _080AF7F6
- 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 _080AF7F2
-_080AF7E2:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80AEB7C
- subs r4, 0x1
- adds r5, 0x50
- cmp r4, 0
- bgt _080AF7E2
-_080AF7F2:
- ldr r0, _080AF7FC
- str r0, [r6, 0x34]
-_080AF7F6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF7FC: .4byte 0x68736d53
- thumb_func_end sub_80AF7C0
-
- thumb_func_start sub_80AF800
-sub_80AF800:
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r1, [r6, 0x24]
- cmp r1, 0
- beq _080AF8C2
- ldrh r0, [r6, 0x26]
- subs r0, 0x1
- strh r0, [r6, 0x26]
- ldr r3, _080AF840
- adds r2, r3, 0
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _080AF8C2
- strh r1, [r6, 0x26]
- ldrh r1, [r6, 0x28]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080AF844
- adds r0, r1, 0
- adds r0, 0x10
- strh r0, [r6, 0x28]
- ands r0, r2
- cmp r0, 0xFF
- bls _080AF896
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r6, 0x28]
- strh r3, [r6, 0x24]
- b _080AF896
- .align 2, 0
-_080AF840: .4byte 0x0000ffff
-_080AF844:
- adds r0, r1, 0
- subs r0, 0x10
- strh r0, [r6, 0x28]
- ands r0, r2
- lsls r0, 16
- cmp r0, 0
- bgt _080AF896
- ldrb r5, [r6, 0x8]
- ldr r4, [r6, 0x2C]
- cmp r5, 0
- ble _080AF876
-_080AF85A:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80AEB7C
- movs r0, 0x1
- ldrh r7, [r6, 0x28]
- ands r0, r7
- cmp r0, 0
- bne _080AF86E
- strb r0, [r4]
-_080AF86E:
- subs r5, 0x1
- adds r4, 0x50
- cmp r5, 0
- bgt _080AF85A
-_080AF876:
- movs r0, 0x1
- ldrh r1, [r6, 0x28]
- ands r0, r1
- cmp r0, 0
- beq _080AF88A
- ldr r0, [r6, 0x4]
- movs r1, 0x80
- lsls r1, 24
- orrs r0, r1
- b _080AF88E
-_080AF88A:
- movs r0, 0x80
- lsls r0, 24
-_080AF88E:
- str r0, [r6, 0x4]
- movs r0, 0
- strh r0, [r6, 0x24]
- b _080AF8C2
-_080AF896:
- ldrb r5, [r6, 0x8]
- ldr r4, [r6, 0x2C]
- cmp r5, 0
- ble _080AF8C2
- movs r3, 0x80
- movs r7, 0
- movs r2, 0x3
-_080AF8A4:
- ldrb r1, [r4]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080AF8BA
- ldrh r7, [r6, 0x28]
- lsrs r0, r7, 2
- strb r0, [r4, 0x13]
- adds r0, r1, 0
- orrs r0, r2
- strb r0, [r4]
-_080AF8BA:
- subs r5, 0x1
- adds r4, 0x50
- cmp r5, 0
- bgt _080AF8A4
-_080AF8C2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80AF800
-
- thumb_func_start sub_80AF8C8
-sub_80AF8C8:
- push {r4,lr}
- adds r2, r1, 0
- movs r0, 0x1
- ldrb r1, [r2]
- ands r0, r1
- cmp r0, 0
- beq _080AF92C
- 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 _080AF8F0
- movs r0, 0x16
- ldrsb r0, [r2, r0]
- adds r0, 0x80
- muls r0, r3
- lsrs r3, r0, 7
-_080AF8F0:
- 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 _080AF906
- movs r0, 0x16
- ldrsb r0, [r2, r0]
- adds r1, r0
-_080AF906:
- movs r0, 0x80
- negs r0, r0
- cmp r1, r0
- bge _080AF912
- adds r1, r0, 0
- b _080AF918
-_080AF912:
- cmp r1, 0x7F
- ble _080AF918
- movs r1, 0x7F
-_080AF918:
- 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]
-_080AF92C:
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- adds r3, r1, 0
- cmp r0, 0
- beq _080AF970
- 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 _080AF96A
- movs r0, 0x16
- ldrsb r0, [r2, r0]
- lsls r0, 4
- adds r1, r0
-_080AF96A:
- asrs r0, r1, 8
- strb r0, [r2, 0x8]
- strb r1, [r2, 0x9]
-_080AF970:
- movs r0, 0xFA
- ands r0, r3
- strb r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AF8C8
-
- thumb_func_start sub_80AF97C
-sub_80AF97C:
- 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 _080AF9B4
- cmp r5, 0x14
- bhi _080AF998
- movs r5, 0
- b _080AF9A6
-_080AF998:
- adds r0, r5, 0
- subs r0, 0x15
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3B
- bls _080AF9A6
- movs r5, 0x3B
-_080AF9A6:
- ldr r0, _080AF9B0
- adds r0, r5, r0
- ldrb r0, [r0]
- b _080AFA16
- .align 2, 0
-_080AF9B0: .4byte gUnknown_826FBB4
-_080AF9B4:
- cmp r5, 0x23
- bhi _080AF9C0
- movs r0, 0
- mov r12, r0
- movs r5, 0
- b _080AF9D2
-_080AF9C0:
- adds r0, r5, 0
- subs r0, 0x24
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x82
- bls _080AF9D2
- movs r5, 0x82
- movs r1, 0xFF
- mov r12, r1
-_080AF9D2:
- ldr r3, _080AFA1C
- adds r0, r5, r3
- ldrb r6, [r0]
- ldr r4, _080AFA20
- 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
-_080AFA16:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AFA1C: .4byte gUnknown_826FB18
-_080AFA20: .4byte gUnknown_826FB9C
- thumb_func_end sub_80AF97C
-
- thumb_func_start sub_80AFA24
-sub_80AFA24:
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x2
- beq _080AFA4C
- cmp r0, 0x2
- bgt _080AFA38
- cmp r0, 0x1
- beq _080AFA3E
- b _080AFA60
-_080AFA38:
- cmp r1, 0x3
- beq _080AFA54
- b _080AFA60
-_080AFA3E:
- ldr r1, _080AFA48
- movs r0, 0x8
- strb r0, [r1]
- adds r1, 0x2
- b _080AFA68
- .align 2, 0
-_080AFA48: .4byte 0x04000063
-_080AFA4C:
- ldr r1, _080AFA50
- b _080AFA62
- .align 2, 0
-_080AFA50: .4byte 0x04000069
-_080AFA54:
- ldr r1, _080AFA5C
- movs r0, 0
- b _080AFA6A
- .align 2, 0
-_080AFA5C: .4byte 0x04000070
-_080AFA60:
- ldr r1, _080AFA70
-_080AFA62:
- movs r0, 0x8
- strb r0, [r1]
- adds r1, 0x4
-_080AFA68:
- movs r0, 0x80
-_080AFA6A:
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080AFA70: .4byte 0x04000079
- thumb_func_end sub_80AFA24
-
- thumb_func_start sub_80AFA74
-sub_80AFA74:
- push {r4,lr}
- adds r1, r0, 0
- ldrb r0, [r1, 0x2]
- lsls r2, r0, 24
- lsrs r4, r2, 24
- ldrb r3, [r1, 0x3]
- lsls r0, r3, 24
- lsrs r3, r0, 24
- cmp r4, r3
- bcc _080AFA94
- lsrs r0, r2, 25
- cmp r0, r3
- bcc _080AFAA0
- movs r0, 0xF
- strb r0, [r1, 0x1B]
- b _080AFAAE
-_080AFA94:
- lsrs r0, 25
- cmp r0, r4
- bcc _080AFAA0
- movs r0, 0xF0
- strb r0, [r1, 0x1B]
- b _080AFAAE
-_080AFAA0:
- movs r0, 0xFF
- strb r0, [r1, 0x1B]
- ldrb r2, [r1, 0x3]
- ldrb r3, [r1, 0x2]
- adds r0, r2, r3
- lsrs r0, 4
- b _080AFABE
-_080AFAAE:
- ldrb r2, [r1, 0x3]
- ldrb r3, [r1, 0x2]
- adds r0, r2, r3
- lsrs r0, 4
- strb r0, [r1, 0xA]
- cmp r0, 0xF
- bls _080AFAC0
- movs r0, 0xF
-_080AFABE:
- strb r0, [r1, 0xA]
-_080AFAC0:
- ldrb r2, [r1, 0x6]
- ldrb r3, [r1, 0xA]
- adds r0, r2, 0
- muls r0, r3
- adds r0, 0xF
- asrs r0, 4
- strb r0, [r1, 0x19]
- ldrb r0, [r1, 0x1C]
- ldrb r2, [r1, 0x1B]
- ands r0, r2
- strb r0, [r1, 0x1B]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AFA74
-
- thumb_func_start sub_80AFADC
-sub_80AFADC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r0, _080AFAFC
- ldr r0, [r0]
- str r0, [sp, 0x4]
- ldrb r0, [r0, 0xA]
- cmp r0, 0
- beq _080AFB00
- subs r0, 0x1
- ldr r1, [sp, 0x4]
- strb r0, [r1, 0xA]
- b _080AFB06
- .align 2, 0
-_080AFAFC: .4byte SOUND_INFO_PTR
-_080AFB00:
- movs r0, 0xE
- ldr r2, [sp, 0x4]
- strb r0, [r2, 0xA]
-_080AFB06:
- movs r6, 0x1
- ldr r0, [sp, 0x4]
- ldr r4, [r0, 0x1C]
-_080AFB0C:
- 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 _080AFB22
- b _080AFF0C
-_080AFB22:
- cmp r6, 0x2
- beq _080AFB54
- cmp r6, 0x2
- bgt _080AFB30
- cmp r6, 0x1
- beq _080AFB36
- b _080AFB8C
-_080AFB30:
- cmp r6, 0x3
- beq _080AFB6C
- b _080AFB8C
-_080AFB36:
- ldr r0, _080AFB48
- str r0, [sp, 0x8]
- ldr r7, _080AFB4C
- ldr r2, _080AFB50
- str r2, [sp, 0xC]
- adds r0, 0x4
- str r0, [sp, 0x10]
- adds r2, 0x2
- b _080AFB9C
- .align 2, 0
-_080AFB48: .4byte 0x04000060
-_080AFB4C: .4byte 0x04000062
-_080AFB50: .4byte 0x04000063
-_080AFB54:
- ldr r0, _080AFB60
- str r0, [sp, 0x8]
- ldr r7, _080AFB64
- ldr r2, _080AFB68
- b _080AFB94
- .align 2, 0
-_080AFB60: .4byte 0x04000061
-_080AFB64: .4byte 0x04000068
-_080AFB68: .4byte 0x04000069
-_080AFB6C:
- ldr r0, _080AFB80
- str r0, [sp, 0x8]
- ldr r7, _080AFB84
- ldr r2, _080AFB88
- str r2, [sp, 0xC]
- adds r0, 0x4
- str r0, [sp, 0x10]
- adds r2, 0x2
- b _080AFB9C
- .align 2, 0
-_080AFB80: .4byte 0x04000070
-_080AFB84: .4byte 0x04000072
-_080AFB88: .4byte 0x04000073
-_080AFB8C:
- ldr r0, _080AFBEC
- str r0, [sp, 0x8]
- ldr r7, _080AFBF0
- ldr r2, _080AFBF4
-_080AFB94:
- str r2, [sp, 0xC]
- adds r0, 0xB
- str r0, [sp, 0x10]
- adds r2, 0x4
-_080AFB9C:
- 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 _080AFC92
- 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 _080AFCB6
- movs r0, 0x3
- strb r0, [r4]
- strb r0, [r4, 0x1D]
- adds r0, r4, 0
- str r3, [sp, 0x18]
- bl sub_80AFA74
- ldr r3, [sp, 0x18]
- cmp r6, 0x2
- beq _080AFC04
- cmp r6, 0x2
- bgt _080AFBF8
- cmp r6, 0x1
- beq _080AFBFE
- b _080AFC58
- .align 2, 0
-_080AFBEC: .4byte 0x04000071
-_080AFBF0: .4byte 0x04000078
-_080AFBF4: .4byte 0x04000079
-_080AFBF8:
- cmp r6, 0x3
- beq _080AFC10
- b _080AFC58
-_080AFBFE:
- ldrb r0, [r4, 0x1F]
- ldr r2, [sp, 0x8]
- strb r0, [r2]
-_080AFC04:
- ldr r0, [r4, 0x24]
- lsls r0, 6
- ldrb r1, [r4, 0x1E]
- adds r0, r1, r0
- strb r0, [r7]
- b _080AFC64
-_080AFC10:
- ldr r1, [r4, 0x24]
- ldr r0, [r4, 0x28]
- cmp r1, r0
- beq _080AFC38
- ldr r2, [sp, 0x8]
- strb r3, [r2]
- ldr r1, _080AFC4C
- 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]
-_080AFC38:
- ldr r0, [sp, 0x8]
- strb r5, [r0]
- ldrb r0, [r4, 0x1E]
- strb r0, [r7]
- ldrb r0, [r4, 0x1E]
- cmp r0, 0
- beq _080AFC50
- movs r0, 0xC0
- b _080AFC72
- .align 2, 0
-_080AFC4C: .4byte 0x04000090
-_080AFC50:
- movs r1, 0x80
- negs r1, r1
- strb r1, [r4, 0x1A]
- b _080AFC74
-_080AFC58:
- ldrb r0, [r4, 0x1E]
- strb r0, [r7]
- ldr r0, [r4, 0x24]
- lsls r0, 3
- ldr r2, [sp, 0x10]
- strb r0, [r2]
-_080AFC64:
- ldrb r0, [r4, 0x4]
- adds r0, 0x8
- mov r8, r0
- ldrb r0, [r4, 0x1E]
- cmp r0, 0
- beq _080AFC72
- movs r0, 0x40
-_080AFC72:
- strb r0, [r4, 0x1A]
-_080AFC74:
- 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 _080AFC8E
- b _080AFDCA
-_080AFC8E:
- strb r2, [r4, 0x9]
- b _080AFDF8
-_080AFC92:
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _080AFCC4
- 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 _080AFCB6
- b _080AFE0A
-_080AFCB6:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_80AFA24
- movs r0, 0
- strb r0, [r4]
- b _080AFF08
-_080AFCC4:
- 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 _080AFD04
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080AFD04
- 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 _080AFD36
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
- cmp r6, 0x3
- beq _080AFDF8
- ldrb r2, [r4, 0x7]
- mov r8, r2
- b _080AFDF8
-_080AFD04:
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- bne _080AFDF8
- cmp r6, 0x3
- bne _080AFD16
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
-_080AFD16:
- adds r0, r4, 0
- bl sub_80AFA74
- movs r0, 0x3
- ldrb r2, [r4]
- ands r0, r2
- cmp r0, 0
- bne _080AFD6A
- ldrb r0, [r4, 0x9]
- subs r0, 0x1
- strb r0, [r4, 0x9]
- movs r1, 0xFF
- ands r0, r1
- lsls r0, 24
- cmp r0, 0
- bgt _080AFD66
-_080AFD36:
- 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 _080AFCB6
- 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 _080AFE0A
- movs r2, 0x8
- mov r8, r2
- b _080AFE0A
-_080AFD66:
- ldrb r0, [r4, 0x7]
- b _080AFDF6
-_080AFD6A:
- cmp r0, 0x1
- bne _080AFD76
-_080AFD6E:
- ldrb r0, [r4, 0x19]
- strb r0, [r4, 0x9]
- movs r0, 0x7
- b _080AFDF6
-_080AFD76:
- cmp r0, 0x2
- bne _080AFDBA
- 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 _080AFDB6
-_080AFD8E:
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- bne _080AFD9E
- movs r0, 0xFC
- ldrb r1, [r4]
- ands r0, r1
- strb r0, [r4]
- b _080AFD36
-_080AFD9E:
- 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 _080AFD6E
- movs r0, 0x8
- mov r8, r0
- b _080AFD6E
-_080AFDB6:
- ldrb r0, [r4, 0x5]
- b _080AFDF6
-_080AFDBA:
- 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 _080AFDF4
-_080AFDCA:
- 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 _080AFD8E
- 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 _080AFDF8
- ldrb r2, [r4, 0x5]
- mov r8, r2
- b _080AFDF8
-_080AFDF4:
- ldrb r0, [r4, 0x4]
-_080AFDF6:
- strb r0, [r4, 0xB]
-_080AFDF8:
- ldrb r0, [r4, 0xB]
- subs r0, 0x1
- strb r0, [r4, 0xB]
- ldr r0, [sp]
- cmp r0, 0
- bne _080AFE0A
- subs r0, 0x1
- str r0, [sp]
- b _080AFD04
-_080AFE0A:
- movs r0, 0x2
- ldrb r1, [r4, 0x1D]
- ands r0, r1
- cmp r0, 0
- beq _080AFE82
- cmp r6, 0x3
- bgt _080AFE4A
- movs r0, 0x8
- ldrb r2, [r4, 0x1]
- ands r0, r2
- cmp r0, 0
- beq _080AFE4A
- ldr r0, _080AFE34
- ldrb r0, [r0]
- cmp r0, 0x3F
- bgt _080AFE3C
- ldr r0, [r4, 0x20]
- adds r0, 0x2
- ldr r1, _080AFE38
- b _080AFE46
- .align 2, 0
-_080AFE34: .4byte 0x04000089
-_080AFE38: .4byte 0x000007fc
-_080AFE3C:
- cmp r0, 0x7F
- bgt _080AFE4A
- ldr r0, [r4, 0x20]
- adds r0, 0x1
- ldr r1, _080AFE58
-_080AFE46:
- ands r0, r1
- str r0, [r4, 0x20]
-_080AFE4A:
- cmp r6, 0x4
- beq _080AFE5C
- ldr r0, [r4, 0x20]
- ldr r1, [sp, 0x10]
- strb r0, [r1]
- b _080AFE6A
- .align 2, 0
-_080AFE58: .4byte 0x000007fe
-_080AFE5C:
- ldr r2, [sp, 0x10]
- ldrb r0, [r2]
- movs r1, 0x8
- ands r1, r0
- ldr r0, [r4, 0x20]
- orrs r0, r1
- strb r0, [r2]
-_080AFE6A:
- 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]
-_080AFE82:
- movs r0, 0x1
- ldrb r2, [r4, 0x1D]
- ands r0, r2
- cmp r0, 0
- beq _080AFF08
- ldr r1, _080AFECC
- ldrb r0, [r1]
- ldrb r2, [r4, 0x1C]
- bics r0, r2
- ldrb r2, [r4, 0x1B]
- orrs r0, r2
- strb r0, [r1]
- cmp r6, 0x3
- bne _080AFED4
- ldr r0, _080AFED0
- 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 _080AFF08
- 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 _080AFF08
- .align 2, 0
-_080AFECC: .4byte 0x04000081
-_080AFED0: .4byte gUnknown_826FBF0
-_080AFED4:
- 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 _080AFF08
- ldr r0, [sp, 0x8]
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080AFF08
- ldrb r0, [r4, 0x1A]
- orrs r0, r2
- ldr r1, [sp, 0x14]
- strb r0, [r1]
-_080AFF08:
- movs r0, 0
- strb r0, [r4, 0x1D]
-_080AFF0C:
- mov r6, r10
- mov r4, r9
- cmp r6, 0x4
- bgt _080AFF16
- b _080AFB0C
-_080AFF16:
- 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 sub_80AFADC
-
- thumb_func_start sub_80AFF28
-sub_80AFF28:
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r3, [r2, 0x34]
- ldr r0, _080AFF4C
- cmp r3, r0
- bne _080AFF44
- strh r1, [r2, 0x1E]
- ldrh r4, [r2, 0x1C]
- adds r0, r1, 0
- muls r0, r4
- asrs r0, 8
- strh r0, [r2, 0x20]
-_080AFF44:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AFF4C: .4byte 0x68736d53
- thumb_func_end sub_80AFF28
-
- thumb_func_start sub_80AFF50
-sub_80AFF50:
- 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, _080AFFB4
- cmp r3, r0
- bne _080AFFA8
- adds r0, r3, 0x1
- str r0, [r4, 0x34]
- ldrb r2, [r4, 0x8]
- ldr r1, [r4, 0x2C]
- movs r5, 0x1
- cmp r2, 0
- ble _080AFFA4
- movs r0, 0x80
- mov r8, r0
- lsrs r6, 18
- movs r0, 0x3
- mov r12, r0
-_080AFF80:
- adds r0, r7, 0
- ands r0, r5
- cmp r0, 0
- beq _080AFF9A
- ldrb r3, [r1]
- mov r0, r8
- ands r0, r3
- cmp r0, 0
- beq _080AFF9A
- strb r6, [r1, 0x13]
- mov r0, r12
- orrs r0, r3
- strb r0, [r1]
-_080AFF9A:
- subs r2, 0x1
- adds r1, 0x50
- lsls r5, 1
- cmp r2, 0
- bgt _080AFF80
-_080AFFA4:
- ldr r0, _080AFFB4
- str r0, [r4, 0x34]
-_080AFFA8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AFFB4: .4byte 0x68736d53
- thumb_func_end sub_80AFF50
-
- thumb_func_start sub_80AFFB8
-sub_80AFFB8:
- 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, _080B0028
- cmp r3, r0
- bne _080B001A
- adds r0, r3, 0x1
- str r0, [r4, 0x34]
- ldrb r2, [r4, 0x8]
- ldr r3, [r4, 0x2C]
- movs r5, 0x1
- cmp r2, 0
- ble _080B0016
- movs r0, 0x80
- mov r9, r0
- lsls r0, r6, 16
- asrs r7, r0, 24
- movs r0, 0xC
- mov r8, r0
-_080AFFF0:
- mov r0, r12
- ands r0, r5
- cmp r0, 0
- beq _080B000C
- ldrb r1, [r3]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _080B000C
- strb r7, [r3, 0xB]
- strb r6, [r3, 0xD]
- mov r0, r8
- orrs r0, r1
- strb r0, [r3]
-_080B000C:
- subs r2, 0x1
- adds r3, 0x50
- lsls r5, 1
- cmp r2, 0
- bgt _080AFFF0
-_080B0016:
- ldr r0, _080B0028
- str r0, [r4, 0x34]
-_080B001A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0028: .4byte 0x68736d53
- thumb_func_end sub_80AFFB8
-
- thumb_func_start sub_80B002C
-sub_80B002C:
- 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, _080B0090
- cmp r3, r0
- bne _080B0084
- adds r0, r3, 0x1
- str r0, [r4, 0x34]
- ldrb r2, [r4, 0x8]
- ldr r1, [r4, 0x2C]
- movs r5, 0x1
- cmp r2, 0
- ble _080B0080
- movs r0, 0x80
- mov r8, r0
- movs r0, 0x3
- mov r12, r0
-_080B005C:
- adds r0, r7, 0
- ands r0, r5
- cmp r0, 0
- beq _080B0076
- ldrb r3, [r1]
- mov r0, r8
- ands r0, r3
- cmp r0, 0
- beq _080B0076
- strb r6, [r1, 0x15]
- mov r0, r12
- orrs r0, r3
- strb r0, [r1]
-_080B0076:
- subs r2, 0x1
- adds r1, 0x50
- lsls r5, 1
- cmp r2, 0
- bgt _080B005C
-_080B0080:
- ldr r0, _080B0090
- str r0, [r4, 0x34]
-_080B0084:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0090: .4byte 0x68736d53
- thumb_func_end sub_80B002C
-
- thumb_func_start sub_80B0094
-sub_80B0094:
- 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 _080B00A8
- movs r0, 0xC
- b _080B00AA
-_080B00A8:
- movs r0, 0x3
-_080B00AA:
- ldrb r2, [r1]
- orrs r0, r2
- strb r0, [r1]
- bx lr
- thumb_func_end sub_80B0094
-
- thumb_func_start sub_80B00B4
-sub_80B00B4:
- 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, _080B0124
- cmp r1, r0
- bne _080B0114
- adds r0, r1, 0x1
- str r0, [r6, 0x34]
- ldrb r5, [r6, 0x8]
- ldr r4, [r6, 0x2C]
- movs r7, 0x1
- cmp r5, 0
- ble _080B0110
- mov r9, r8
-_080B00E4:
- mov r0, r10
- ands r0, r7
- cmp r0, 0
- beq _080B0106
- movs r0, 0x80
- ldrb r1, [r4]
- ands r0, r1
- cmp r0, 0
- beq _080B0106
- mov r0, r8
- strb r0, [r4, 0x17]
- mov r1, r9
- cmp r1, 0
- bne _080B0106
- adds r0, r4, 0
- bl sub_80B0094
-_080B0106:
- subs r5, 0x1
- adds r4, 0x50
- lsls r7, 1
- cmp r5, 0
- bgt _080B00E4
-_080B0110:
- ldr r0, _080B0124
- str r0, [r6, 0x34]
-_080B0114:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0124: .4byte 0x68736d53
- thumb_func_end sub_80B00B4
-
- thumb_func_start sub_80B0128
-sub_80B0128:
- 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, _080B0198
- cmp r1, r0
- bne _080B0188
- adds r0, r1, 0x1
- str r0, [r6, 0x34]
- ldrb r5, [r6, 0x8]
- ldr r4, [r6, 0x2C]
- movs r7, 0x1
- cmp r5, 0
- ble _080B0184
- mov r9, r8
-_080B0158:
- mov r0, r10
- ands r0, r7
- cmp r0, 0
- beq _080B017A
- movs r0, 0x80
- ldrb r1, [r4]
- ands r0, r1
- cmp r0, 0
- beq _080B017A
- mov r0, r8
- strb r0, [r4, 0x19]
- mov r1, r9
- cmp r1, 0
- bne _080B017A
- adds r0, r4, 0
- bl sub_80B0094
-_080B017A:
- subs r5, 0x1
- adds r4, 0x50
- lsls r7, 1
- cmp r5, 0
- bgt _080B0158
-_080B0184:
- ldr r0, _080B0198
- str r0, [r6, 0x34]
-_080B0188:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0198: .4byte 0x68736d53
- thumb_func_end sub_80B0128
-
- thumb_func_start sub_80B019C
-sub_80B019C:
- 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 _080B01C0
- b _080B02EE
-_080B01C0:
- lsls r0, r5, 2
- ldr r1, _080B01CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B01CC: .4byte _080B01D0
- .align 2, 0
-_080B01D0:
- .4byte _080B0218
- .4byte _080B021C
- .4byte _080B0224
- .4byte _080B022C
- .4byte _080B0236
- .4byte _080B0244
- .4byte _080B0252
- .4byte _080B025A
- .4byte _080B0262
- .4byte _080B026A
- .4byte _080B0272
- .4byte _080B027A
- .4byte _080B0282
- .4byte _080B0290
- .4byte _080B029E
- .4byte _080B02AC
- .4byte _080B02BA
- .4byte _080B02C8
-_080B0218:
- strb r2, [r3]
- b _080B02EE
-_080B021C:
- ldrb r1, [r3]
- adds r0, r1, r2
- strb r0, [r3]
- b _080B02EE
-_080B0224:
- ldrb r1, [r3]
- subs r0, r1, r2
- strb r0, [r3]
- b _080B02EE
-_080B022C:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r3]
- b _080B02EE
-_080B0236:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r1, [r3]
- ldrb r0, [r0]
- adds r0, r1, r0
- strb r0, [r3]
- b _080B02EE
-_080B0244:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r1, [r3]
- ldrb r0, [r0]
- subs r0, r1, r0
- strb r0, [r3]
- b _080B02EE
-_080B0252:
- ldrb r3, [r3]
- cmp r3, r2
- beq _080B02D4
- b _080B02E8
-_080B025A:
- ldrb r3, [r3]
- cmp r3, r2
- bne _080B02D4
- b _080B02E8
-_080B0262:
- ldrb r3, [r3]
- cmp r3, r2
- bhi _080B02D4
- b _080B02E8
-_080B026A:
- ldrb r3, [r3]
- cmp r3, r2
- bcs _080B02D4
- b _080B02E8
-_080B0272:
- ldrb r3, [r3]
- cmp r3, r2
- bls _080B02D4
- b _080B02E8
-_080B027A:
- ldrb r3, [r3]
- cmp r3, r2
- bcc _080B02D4
- b _080B02E8
-_080B0282:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- beq _080B02D4
- b _080B02E8
-_080B0290:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- bne _080B02D4
- b _080B02E8
-_080B029E:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- bhi _080B02D4
- b _080B02E8
-_080B02AC:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- bcs _080B02D4
- b _080B02E8
-_080B02BA:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- bls _080B02D4
- b _080B02E8
-_080B02C8:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- bcs _080B02E8
-_080B02D4:
- ldr r0, _080B02E4
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- bl _call_via_r2
- b _080B02EE
- .align 2, 0
-_080B02E4: .4byte gUnknown_203AE84
-_080B02E8:
- ldr r0, [r6, 0x40]
- adds r0, 0x4
- str r0, [r6, 0x40]
-_080B02EE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B019C
-
- thumb_func_start sub_80B02F4
-sub_80B02F4:
- push {lr}
- ldr r2, [r1, 0x40]
- ldrb r3, [r2]
- adds r2, 0x1
- str r2, [r1, 0x40]
- ldr r2, _080B0310
- lsls r3, 2
- adds r3, r2
- ldr r2, [r3]
- bl _call_via_r2
- pop {r0}
- bx r0
- .align 2, 0
-_080B0310: .4byte gUnknown_826FC34
- thumb_func_end sub_80B02F4
-
- thumb_func_start sub_80B0314
-sub_80B0314:
- push {lr}
- ldr r2, _080B0324
- ldr r2, [r2]
- bl _call_via_r2
- pop {r0}
- bx r0
- .align 2, 0
-_080B0324: .4byte gUnknown_203AE80
- thumb_func_end sub_80B0314
-
- thumb_func_start sub_80B0328
-sub_80B0328:
- push {r4,lr}
- ldr r2, [r1, 0x40]
- ldr r0, _080B0360
- ands r4, r0
- ldrb r0, [r2]
- orrs r4, r0
- ldrb r0, [r2, 0x1]
- lsls r3, r0, 8
- ldr r0, _080B0364
- ands r4, r0
- orrs r4, r3
- ldrb r0, [r2, 0x2]
- lsls r3, r0, 16
- ldr r0, _080B0368
- ands r4, r0
- orrs r4, r3
- ldrb r0, [r2, 0x3]
- lsls r3, r0, 24
- ldr r0, _080B036C
- 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
-_080B0360: .4byte 0xffffff00
-_080B0364: .4byte 0xffff00ff
-_080B0368: .4byte 0xff00ffff
-_080B036C: .4byte 0x00ffffff
- thumb_func_end sub_80B0328
-
- thumb_func_start sub_80B0370
-sub_80B0370:
- 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 sub_80B0370
-
- thumb_func_start sub_80B0384
-sub_80B0384:
- 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 sub_80B0384
-
- thumb_func_start sub_80B0398
-sub_80B0398:
- 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 sub_80B0398
-
- thumb_func_start sub_80B03AC
-sub_80B03AC:
- 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 sub_80B03AC
-
- thumb_func_start sub_80B03C0
-sub_80B03C0:
- 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 sub_80B03C0
-
- thumb_func_start sub_80B03D4
-sub_80B03D4:
- ldr r0, [r1, 0x40]
- ldrb r2, [r0]
- strb r2, [r1, 0x1E]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end sub_80B03D4
-
- thumb_func_start sub_80B03E0
-sub_80B03E0:
- ldr r0, [r1, 0x40]
- ldrb r2, [r0]
- strb r2, [r1, 0x1F]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end sub_80B03E0
-
- thumb_func_start sub_80B03EC
-sub_80B03EC:
- 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 sub_80B03EC
-
- thumb_func_start ply_xswee
-ply_xswee:
- 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 nullsub_139
-nullsub_139:
- bx lr
- thumb_func_end nullsub_139
-
- .align 2, 0 @ Don't pad with nop.