summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2018-10-24 18:16:57 -0500
committerMarcus Huderle <huderlem@gmail.com>2018-10-24 18:16:57 -0500
commitc427a4af00fa46f33f7167977ea834218c37cfa8 (patch)
tree1e9d010ba004d4296935618cf4d915bb66dedc7f
parent41baa271c3fff795ee7ffa16d756ae427e5b792c (diff)
Attempt to decompile sub_3219C
-rwxr-xr-xasm/rom_11B9C.s63570
-rwxr-xr-xasm/rom_3219C.s60373
-rwxr-xr-xinclude/constants/species.h2
-rwxr-xr-xinclude/global.h28
-rwxr-xr-xinclude/main.h18
-rwxr-xr-xld_script.txt2
-rwxr-xr-xsrc/gbplayer.c2
-rwxr-xr-xsrc/main.c2
-rwxr-xr-xsrc/rom_3219C.c492
-rwxr-xr-xsym_ewram.txt11
10 files changed, 62332 insertions, 62168 deletions
diff --git a/asm/rom_11B9C.s b/asm/rom_11B9C.s
index e0f9bd9..e8e6def 100755
--- a/asm/rom_11B9C.s
+++ b/asm/rom_11B9C.s
@@ -11,7 +11,7 @@ sub_11B9C: @ 0x08011B9C
ldrb r0, [r0, #6]
cmp r0, #0
bne _08011BD0
- ldr r0, _08011BC4 @ =0x020314E0
+ ldr r0, _08011BC4 @ =gUnknown_020314E0
ldr r0, [r0]
ldr r2, _08011BC8 @ =0x0000132C
adds r1, r0, r2
@@ -24,13 +24,13 @@ sub_11B9C: @ 0x08011B9C
b _08011C02
.align 2, 0
_08011BC0: .4byte gMain
-_08011BC4: .4byte 0x020314E0
+_08011BC4: .4byte gUnknown_020314E0
_08011BC8: .4byte 0x0000132C
_08011BCC: .4byte 0x00001334
_08011BD0:
movs r3, #0
_08011BD2:
- ldr r0, _08011C08 @ =0x020314E0
+ ldr r0, _08011C08 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r0, _08011C0C @ =0x0000132C
adds r2, r1, r0
@@ -57,14 +57,14 @@ _08011C02:
pop {r0}
bx r0
.align 2, 0
-_08011C08: .4byte 0x020314E0
+_08011C08: .4byte gUnknown_020314E0
_08011C0C: .4byte 0x0000132C
_08011C10: .4byte 0x00001334
thumb_func_start sub_11C14
sub_11C14: @ 0x08011C14
push {r4, r5, lr}
- ldr r3, _08011C6C @ =0x020314E0
+ ldr r3, _08011C6C @ =gUnknown_020314E0
lsls r0, r0, #0x10
asrs r0, r0, #0x10
lsls r1, r0, #4
@@ -74,7 +74,7 @@ sub_11C14: @ 0x08011C14
adds r1, r1, r0
ldr r0, [r3]
adds r4, r0, r1
- ldr r1, _08011C74 @ =0x02031520
+ ldr r1, _08011C74 @ =gUnknown_02031520
ldrh r0, [r1, #0x26]
movs r2, #0
strh r0, [r4, #0x10]
@@ -108,9 +108,9 @@ sub_11C14: @ 0x08011C14
movs r0, #3
b _08011C7E
.align 2, 0
-_08011C6C: .4byte 0x020314E0
+_08011C6C: .4byte gUnknown_020314E0
_08011C70: .4byte 0x00001334
-_08011C74: .4byte 0x02031520
+_08011C74: .4byte gUnknown_02031520
_08011C78: .4byte gMain
_08011C7C:
movs r0, #1
@@ -135,7 +135,7 @@ sub_11C98: @ 0x08011C98
mov r7, sb
mov r6, r8
push {r6, r7}
- ldr r0, _08011CE0 @ =0x020314E0
+ ldr r0, _08011CE0 @ =gUnknown_020314E0
ldr r2, [r0]
ldr r1, _08011CE4 @ =0x0000132C
adds r0, r2, r1
@@ -169,7 +169,7 @@ _08011CCA:
ldr r0, _08011CEC @ =0x08137910
b _08011CFE
.align 2, 0
-_08011CE0: .4byte 0x020314E0
+_08011CE0: .4byte gUnknown_020314E0
_08011CE4: .4byte 0x0000132C
_08011CE8: .4byte 0x000005A4
_08011CEC: .4byte 0x08137910
@@ -493,7 +493,7 @@ sub_11F88: @ 0x08011F88
mov r7, sb
mov r6, r8
push {r6, r7}
- ldr r2, _08011FD0 @ =0x020314E0
+ ldr r2, _08011FD0 @ =gUnknown_020314E0
ldr r3, [r2]
ldr r1, _08011FD4 @ =0x0000132C
adds r0, r3, r1
@@ -527,7 +527,7 @@ _08011FAE:
ldr r0, _08011FE0 @ =0x08137910
b _08011FF2
.align 2, 0
-_08011FD0: .4byte 0x020314E0
+_08011FD0: .4byte gUnknown_020314E0
_08011FD4: .4byte 0x0000132C
_08011FD8: .4byte 0x000005A4
_08011FDC: .4byte 0x00000383
@@ -1145,7 +1145,7 @@ sub_12524: @ 0x08012524
mov r6, sb
mov r5, r8
push {r5, r6, r7}
- ldr r2, _080125F0 @ =0x020314E0
+ ldr r2, _080125F0 @ =gUnknown_020314E0
ldr r0, [r2]
ldr r1, _080125F4 @ =0x0000132C
adds r0, r0, r1
@@ -1171,7 +1171,7 @@ _08012556:
_0801255A:
ldrh r0, [r7, #0xa]
strh r0, [r7, #0xc]
- ldr r6, _080125F0 @ =0x020314E0
+ ldr r6, _080125F0 @ =gUnknown_020314E0
ldr r3, [r6]
ldr r1, _080125F8 @ =0x000005F7
adds r0, r3, r1
@@ -1198,7 +1198,7 @@ _0801255A:
ble _080125AC
subs r0, r3, #1
strb r0, [r2]
- ldr r0, _080125F0 @ =0x020314E0
+ ldr r0, _080125F0 @ =gUnknown_020314E0
ldr r1, [r0]
adds r0, r1, r6
ldrb r0, [r0]
@@ -1212,7 +1212,7 @@ _0801255A:
strh r0, [r1]
_080125AC:
ldr r2, _08012600 @ =0x040000D4
- ldr r1, _080125F0 @ =0x020314E0
+ ldr r1, _080125F0 @ =gUnknown_020314E0
ldr r0, [r1]
ldr r3, _080125FC @ =0x000005F6
adds r0, r0, r3
@@ -1233,7 +1233,7 @@ _080125CE:
ldrsh r0, [r7, r4]
cmp r0, #0xf3
ble _08012614
- ldr r6, _080125F0 @ =0x020314E0
+ ldr r6, _080125F0 @ =gUnknown_020314E0
ldr r0, [r6]
ldr r1, _08012610 @ =0x000005B2
adds r0, r0, r1
@@ -1247,7 +1247,7 @@ _080125CE:
strb r2, [r0]
b _08012620
.align 2, 0
-_080125F0: .4byte 0x020314E0
+_080125F0: .4byte gUnknown_020314E0
_080125F4: .4byte 0x0000132C
_080125F8: .4byte 0x000005F7
_080125FC: .4byte 0x000005F6
@@ -1257,7 +1257,7 @@ _08012608: .4byte 0x05000220
_0801260C: .4byte 0x80000010
_08012610: .4byte 0x000005B2
_08012614:
- ldr r4, _080126C8 @ =0x020314E0
+ ldr r4, _080126C8 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r6, _080126CC @ =0x000005B2
adds r0, r0, r6
@@ -1289,7 +1289,7 @@ _08012646:
adds r0, r1, #0
movs r2, #0
bl SetMatrixScale
- ldr r0, _080126C8 @ =0x020314E0
+ ldr r0, _080126C8 @ =gUnknown_020314E0
ldr r3, [r0]
adds r0, r3, #0
adds r0, #0x4c
@@ -1349,7 +1349,7 @@ _08012646:
strb r1, [r5, #5]
b _080126FA
.align 2, 0
-_080126C8: .4byte 0x020314E0
+_080126C8: .4byte gUnknown_020314E0
_080126CC: .4byte 0x000005B2
_080126D0: .4byte gMain
_080126D4: .4byte 0x000002AA
@@ -1376,7 +1376,7 @@ _080126FA:
mov r2, r8
lsls r1, r2, #0x10
asrs r1, r1, #0x10
- ldr r4, _0801276C @ =0x020314E0
+ ldr r4, _0801276C @ =gUnknown_020314E0
ldr r0, [r4]
ldr r2, _08012770 @ =0x000005F6
adds r0, r0, r2
@@ -1431,7 +1431,7 @@ _08012740:
b _08012790
.align 2, 0
_08012768: .4byte 0x040000D4
-_0801276C: .4byte 0x020314E0
+_0801276C: .4byte gUnknown_020314E0
_08012770: .4byte 0x000005F6
_08012774: .4byte 0x083BB16C
_08012778: .4byte 0x06010400
@@ -1460,7 +1460,7 @@ _080127A2:
adds r0, r1, #0
movs r2, #0
bl SetMatrixScale
- ldr r0, _08012828 @ =0x020314E0
+ ldr r0, _08012828 @ =gUnknown_020314E0
ldr r3, [r0]
adds r0, r3, #0
adds r0, #0x4c
@@ -1521,7 +1521,7 @@ _080127A2:
b _08012852
.align 2, 0
_08012824: .4byte gMain
-_08012828: .4byte 0x020314E0
+_08012828: .4byte gUnknown_020314E0
_0801282C: .4byte 0x000002AA
_08012830: .4byte 0x000005FC
_08012834: .4byte gOamBuffer
@@ -1546,7 +1546,7 @@ _08012852:
mov r2, r8
lsls r1, r2, #0x10
asrs r1, r1, #0x10
- ldr r4, _080128C4 @ =0x020314E0
+ ldr r4, _080128C4 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r2, _080128C8 @ =0x000005F6
adds r0, r0, r2
@@ -1601,7 +1601,7 @@ _08012898:
b _080128E8
.align 2, 0
_080128C0: .4byte 0x040000D4
-_080128C4: .4byte 0x020314E0
+_080128C4: .4byte gUnknown_020314E0
_080128C8: .4byte 0x000005F6
_080128CC: .4byte 0x083BB16C
_080128D0: .4byte 0x06010400
@@ -1617,7 +1617,7 @@ _080128E8:
strb r0, [r5]
_080128EA:
movs r3, #4
- ldr r5, _080129D0 @ =0x020314E0
+ ldr r5, _080129D0 @ =gUnknown_020314E0
_080128EE:
ldr r2, [r5]
lsls r1, r3, #0x10
@@ -1641,7 +1641,7 @@ _080128EE:
lsrs r3, r1, #0x10
cmp r1, #0
bgt _080128EE
- ldr r0, _080129D0 @ =0x020314E0
+ ldr r0, _080129D0 @ =gUnknown_020314E0
ldr r2, [r0]
ldrh r0, [r7, #0x10]
subs r0, #7
@@ -1698,7 +1698,7 @@ _0801294C:
mov r1, ip
movs r3, #2
ldrsh r2, [r1, r3]
- ldr r6, _080129D0 @ =0x020314E0
+ ldr r6, _080129D0 @ =gUnknown_020314E0
ldr r3, [r6]
adds r0, r4, #1
lsls r0, r0, #3
@@ -1734,7 +1734,7 @@ _0801294C:
adds r0, r0, r2
b _08012A0A
.align 2, 0
-_080129D0: .4byte 0x020314E0
+_080129D0: .4byte gUnknown_020314E0
_080129D4: .4byte gMain
_080129D8: .4byte gOamBuffer
_080129DC: .4byte 0x000001FF
@@ -1827,7 +1827,7 @@ _08012A58:
strb r0, [r5, #5]
movs r0, #0xa
ldrsh r3, [r6, r0]
- ldr r1, _08012B20 @ =0x020314E0
+ ldr r1, _08012B20 @ =gUnknown_020314E0
ldr r2, [r1]
adds r0, r4, #1
lsls r0, r0, #3
@@ -1882,7 +1882,7 @@ _08012AE4:
ldrh r0, [r6]
cmp r0, #0
beq _08012BC2
- ldr r4, _08012B20 @ =0x020314E0
+ ldr r4, _08012B20 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r2, _08012B28 @ =0x0000071C
adds r0, r0, r2
@@ -1902,7 +1902,7 @@ _08012AE4:
_08012B14: .4byte gMain
_08012B18: .4byte 0xFFFFFE00
_08012B1C: .4byte gOamBuffer
-_08012B20: .4byte 0x020314E0
+_08012B20: .4byte gUnknown_020314E0
_08012B24: .4byte 0x000001FF
_08012B28: .4byte 0x0000071C
_08012B2C:
@@ -1911,7 +1911,7 @@ _08012B2C:
movs r0, #0xb4
_08012B32:
strh r0, [r6, #4]
- ldr r3, _08012BD0 @ =0x020314E0
+ ldr r3, _08012BD0 @ =gUnknown_020314E0
ldr r0, [r3]
adds r0, #0x6e
ldr r2, _08012BD4 @ =0x040000D4
@@ -1969,7 +1969,7 @@ _08012B32:
ands r0, r3
orrs r0, r1
strb r0, [r2, #5]
- ldr r3, _08012BD0 @ =0x020314E0
+ ldr r3, _08012BD0 @ =gUnknown_020314E0
ldr r0, [r3]
ldr r4, _08012BF0 @ =0x0000071C
adds r0, r0, r4
@@ -1991,7 +1991,7 @@ _08012BC2:
pop {r0}
bx r0
.align 2, 0
-_08012BD0: .4byte 0x020314E0
+_08012BD0: .4byte gUnknown_020314E0
_08012BD4: .4byte 0x040000D4
_08012BD8: .4byte 0x083BD36C
_08012BDC: .4byte 0x06011EE0
@@ -2009,7 +2009,7 @@ sub_12BF8: @ 0x08012BF8
mov r6, sb
mov r5, r8
push {r5, r6, r7}
- ldr r3, _08012C30 @ =0x020314E0
+ ldr r3, _08012C30 @ =gUnknown_020314E0
ldr r0, [r3]
ldr r1, _08012C34 @ =0x00001330
adds r2, r0, r1
@@ -2032,7 +2032,7 @@ sub_12BF8: @ 0x08012BF8
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_08012C30: .4byte 0x020314E0
+_08012C30: .4byte gUnknown_020314E0
_08012C34: .4byte 0x00001330
_08012C38: .4byte 0x00001334
_08012C3C: .4byte 0x0000132C
@@ -2408,7 +2408,7 @@ _08012EEA:
str r0, [r2, #8]
ldr r0, [r2, #8]
_08012F30:
- ldr r3, _08012FB8 @ =0x020314E0
+ ldr r3, _08012FB8 @ =gUnknown_020314E0
ldr r0, [r3]
ldr r2, _08012F90 @ =0x00000392
adds r0, r0, r2
@@ -2467,7 +2467,7 @@ _08012FA8: .4byte 0x000005F6
_08012FAC: .4byte 0x08137E14
_08012FB0: .4byte 0x05000220
_08012FB4: .4byte 0x80000010
-_08012FB8: .4byte 0x020314E0
+_08012FB8: .4byte gUnknown_020314E0
_08012FBC:
ldr r4, _0801307C @ =0x00000392
adds r0, r2, r4
@@ -2550,7 +2550,7 @@ _08013046:
mov r3, r8
strb r0, [r3]
_08013058:
- ldr r0, _08013094 @ =0x020314E0
+ ldr r0, _08013094 @ =gUnknown_020314E0
ldr r1, [r0]
adds r0, r1, r4
ldrh r0, [r0]
@@ -2563,7 +2563,7 @@ _08013058:
strb r0, [r1]
strh r0, [r6]
ldr r2, _08013080 @ =0x040000D4
- ldr r3, _08013094 @ =0x020314E0
+ ldr r3, _08013094 @ =gUnknown_020314E0
ldr r0, [r3]
ldr r4, _08013098 @ =0x000005F6
adds r0, r0, r4
@@ -2575,7 +2575,7 @@ _08013084: .4byte 0x083BDF6C
_08013088: .4byte 0x06010720
_0801308C: .4byte 0x80000100
_08013090: .4byte gMain
-_08013094: .4byte 0x020314E0
+_08013094: .4byte gUnknown_020314E0
_08013098: .4byte 0x000005F6
_0801309C:
ldr r6, _08013204 @ =0x000005F7
@@ -2646,7 +2646,7 @@ _08013114:
bge _0801311A
b _0801330C
_0801311A:
- ldr r0, _08013220 @ =0x020314E0
+ ldr r0, _08013220 @ =gUnknown_020314E0
ldr r1, [r0]
adds r1, #0x71
ldrb r1, [r1]
@@ -2774,7 +2774,7 @@ _08013210: .4byte 0x08137E14
_08013214: .4byte 0x05000220
_08013218: .4byte 0x80000010
_0801321C: .4byte gMain
-_08013220: .4byte 0x020314E0
+_08013220: .4byte gUnknown_020314E0
_08013224: .4byte gOamBuffer
_08013228: .4byte 0x000001FF
_0801322C: .4byte 0xFFFFFE00
@@ -2911,13 +2911,13 @@ _08013328: .4byte 0x000001FF
thumb_func_start sub_1332C
sub_1332C: @ 0x0801332C
- ldr r0, _08013338 @ =0x020314E0
+ ldr r0, _08013338 @ =gUnknown_020314E0
ldr r1, [r0]
movs r0, #0x3c
strh r0, [r1, #0x26]
bx lr
.align 2, 0
-_08013338: .4byte 0x020314E0
+_08013338: .4byte gUnknown_020314E0
thumb_func_start sub_1333C
sub_1333C: @ 0x0801333C
@@ -2929,7 +2929,7 @@ sub_1333C: @ 0x0801333C
bl sub_13824
lsls r0, r0, #0x10
lsrs r7, r0, #0x10
- ldr r0, _0801336C @ =0x020314E0
+ ldr r0, _0801336C @ =gUnknown_020314E0
ldr r0, [r0]
adds r0, #0x22
ldrb r0, [r0]
@@ -2946,7 +2946,7 @@ _08013362:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0801336C: .4byte 0x020314E0
+_0801336C: .4byte gUnknown_020314E0
_08013370: .4byte _08013374
_08013374: @ jump table
.4byte _080133C8 @ case 0
@@ -2957,7 +2957,7 @@ _08013374: @ jump table
.4byte _08013428 @ case 5
.4byte _08013390 @ case 6
_08013390:
- ldr r0, _080133A4 @ =0x020314E0
+ ldr r0, _080133A4 @ =gUnknown_020314E0
ldr r0, [r0]
ldr r1, _080133A8 @ =0x0000132C
adds r0, r0, r1
@@ -2968,7 +2968,7 @@ _08013390:
strh r2, [r0, #0x32]
b _080137CE
.align 2, 0
-_080133A4: .4byte 0x020314E0
+_080133A4: .4byte gUnknown_020314E0
_080133A8: .4byte 0x0000132C
_080133AC:
mov r1, sp
@@ -2991,7 +2991,7 @@ _080133C8:
adds r1, r5, #0
adds r2, r7, #0
bl sub_13934
- ldr r0, _0801341C @ =0x020314E0
+ ldr r0, _0801341C @ =gUnknown_020314E0
ldr r0, [r0]
ldr r2, _08013420 @ =0x0000132C
adds r0, r0, r2
@@ -3020,7 +3020,7 @@ _080133F2:
cmp r0, #8
ble _080133F2
_0801340C:
- ldr r0, _0801341C @ =0x020314E0
+ ldr r0, _0801341C @ =gUnknown_020314E0
ldr r1, [r0]
ldr r3, _08013420 @ =0x0000132C
adds r1, r1, r3
@@ -3029,7 +3029,7 @@ _0801340C:
ldrh r0, [r6]
b _080134DA
.align 2, 0
-_0801341C: .4byte 0x020314E0
+_0801341C: .4byte gUnknown_020314E0
_08013420: .4byte 0x0000132C
_08013424: .4byte 0x086ACD50
_08013428:
@@ -3038,7 +3038,7 @@ _08013428:
adds r1, r5, #0
adds r2, r7, #0
bl sub_13934
- ldr r0, _08013464 @ =0x020314E0
+ ldr r0, _08013464 @ =gUnknown_020314E0
mov r8, r0
ldr r0, [r0]
ldr r6, _08013468 @ =0x0000132C
@@ -3062,7 +3062,7 @@ _08013428:
ldrh r1, [r5, #2]
b _080134EA
.align 2, 0
-_08013464: .4byte 0x020314E0
+_08013464: .4byte gUnknown_020314E0
_08013468: .4byte 0x0000132C
_0801346C:
mov r1, sp
@@ -3085,7 +3085,7 @@ _08013488:
adds r1, r5, #0
adds r2, r7, #0
bl sub_13934
- ldr r0, _080134F0 @ =0x020314E0
+ ldr r0, _080134F0 @ =gUnknown_020314E0
ldr r0, [r0]
ldr r6, _080134F4 @ =0x0000132C
adds r0, r0, r6
@@ -3114,7 +3114,7 @@ _080134B2:
cmp r0, #8
ble _080134B2
_080134CC:
- ldr r0, _080134F0 @ =0x020314E0
+ ldr r0, _080134F0 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r0, _080134F4 @ =0x0000132C
adds r1, r1, r0
@@ -3135,7 +3135,7 @@ _080134EA:
strh r0, [r2, #0x32]
b _080137CE
.align 2, 0
-_080134F0: .4byte 0x020314E0
+_080134F0: .4byte gUnknown_020314E0
_080134F4: .4byte 0x0000132C
_080134F8: .4byte 0x086ACD50
_080134FC:
@@ -3145,7 +3145,7 @@ _080134FC:
adds r1, r5, #0
adds r2, r7, #0
bl sub_13934
- ldr r2, _08013560 @ =0x02031520
+ ldr r2, _08013560 @ =gUnknown_02031520
movs r6, #0x22
ldrsh r1, [r2, r6]
lsls r1, r1, #1
@@ -3160,7 +3160,7 @@ _080134FC:
ldrh r0, [r4, #2]
subs r0, r0, r1
strh r0, [r4, #2]
- ldr r6, _08013564 @ =0x020314E0
+ ldr r6, _08013564 @ =gUnknown_020314E0
ldr r2, [r6]
movs r1, #0x9e
lsls r1, r1, #5
@@ -3188,8 +3188,8 @@ _080134FC:
adds r5, r4, #0
b _0801359C
.align 2, 0
-_08013560: .4byte 0x02031520
-_08013564: .4byte 0x020314E0
+_08013560: .4byte gUnknown_02031520
+_08013564: .4byte gUnknown_020314E0
_08013568: .4byte 0x0000132C
_0801356C:
mov r1, sp
@@ -3222,7 +3222,7 @@ _0801359C:
adds r1, r5, #0
movs r2, #0
bl sub_13B28
- ldr r0, _08013608 @ =0x020314E0
+ ldr r0, _08013608 @ =gUnknown_020314E0
ldr r2, [r0]
ldr r1, _08013604 @ =0x0000132C
adds r3, r2, r1
@@ -3261,7 +3261,7 @@ _080135D6:
cmp r0, #3
ble _080135D6
_080135F0:
- ldr r3, _08013610 @ =0x02031520
+ ldr r3, _08013610 @ =gUnknown_02031520
movs r1, #0x22
ldrsh r0, [r3, r1]
mov r1, sp
@@ -3273,9 +3273,9 @@ _080135F0:
b _08013738
.align 2, 0
_08013604: .4byte 0x0000132C
-_08013608: .4byte 0x020314E0
+_08013608: .4byte gUnknown_020314E0
_0801360C: .4byte 0x086ACD74
-_08013610: .4byte 0x02031520
+_08013610: .4byte gUnknown_02031520
_08013614:
mov r4, sp
add r5, sp, #4
@@ -3283,7 +3283,7 @@ _08013614:
adds r1, r5, #0
adds r2, r7, #0
bl sub_13934
- ldr r2, _08013674 @ =0x02031520
+ ldr r2, _08013674 @ =gUnknown_02031520
movs r0, #0x24
ldrsh r1, [r2, r0]
lsls r1, r1, #1
@@ -3298,7 +3298,7 @@ _08013614:
ldrh r0, [r4, #2]
subs r0, r0, r1
strh r0, [r4, #2]
- ldr r6, _08013678 @ =0x020314E0
+ ldr r6, _08013678 @ =gUnknown_020314E0
ldr r2, [r6]
ldr r1, _0801367C @ =0x000013CC
adds r0, r2, r1
@@ -3324,8 +3324,8 @@ _08013614:
adds r5, r4, #0
b _080136B4
.align 2, 0
-_08013674: .4byte 0x02031520
-_08013678: .4byte 0x020314E0
+_08013674: .4byte gUnknown_02031520
+_08013678: .4byte gUnknown_020314E0
_0801367C: .4byte 0x000013CC
_08013680: .4byte 0x0000132C
_08013684:
@@ -3372,7 +3372,7 @@ _080136B4:
ldrh r1, [r4]
rsbs r1, r1, #0
strh r1, [r4]
- ldr r0, _0801374C @ =0x020314E0
+ ldr r0, _0801374C @ =gUnknown_020314E0
ldr r2, [r0]
ldr r3, _08013748 @ =0x0000132C
adds r5, r2, r3
@@ -3415,7 +3415,7 @@ _0801371E:
subs r1, r1, r0
mov r0, sp
strh r1, [r0]
- ldr r3, _08013754 @ =0x02031520
+ ldr r3, _08013754 @ =gUnknown_02031520
movs r2, #0x24
ldrsh r0, [r3, r2]
lsls r0, r0, #1
@@ -3433,11 +3433,11 @@ _08013738:
b _080137CE
.align 2, 0
_08013748: .4byte 0x0000132C
-_0801374C: .4byte 0x020314E0
+_0801374C: .4byte gUnknown_020314E0
_08013750: .4byte 0x086ACD74
-_08013754: .4byte 0x02031520
+_08013754: .4byte gUnknown_02031520
_08013758:
- ldr r0, _08013788 @ =0x020314E0
+ ldr r0, _08013788 @ =gUnknown_020314E0
ldr r2, [r0]
movs r1, #0x91
lsls r1, r1, #1
@@ -3462,7 +3462,7 @@ _08013758:
movs r0, #1
b _080137B6
.align 2, 0
-_08013788: .4byte 0x020314E0
+_08013788: .4byte gUnknown_020314E0
_0801378C: .4byte 0x00000127
_08013790: .4byte 0x0000132C
_08013794:
@@ -3486,7 +3486,7 @@ _08013794:
_080137B6:
strb r0, [r3]
_080137B8:
- ldr r0, _0801381C @ =0x020314E0
+ ldr r0, _0801381C @ =gUnknown_020314E0
ldr r0, [r0]
ldr r2, _08013820 @ =0x000005F3
adds r0, r0, r2
@@ -3497,7 +3497,7 @@ _080137B8:
beq _080137CE
bl sub_1493C
_080137CE:
- ldr r0, _0801381C @ =0x020314E0
+ ldr r0, _0801381C @ =gUnknown_020314E0
ldr r2, [r0]
adds r0, r2, #0
adds r0, #0x22
@@ -3536,7 +3536,7 @@ _08013808:
.align 2, 0
_08013814: .4byte 0x00000127
_08013818: .4byte 0x0000132C
-_0801381C: .4byte 0x020314E0
+_0801381C: .4byte gUnknown_020314E0
_08013820: .4byte 0x000005F3
thumb_func_start sub_13824
@@ -3547,7 +3547,7 @@ sub_13824: @ 0x08013824
mov r5, r8
push {r5, r6, r7}
adds r7, r0, #0
- ldr r0, _0801391C @ =0x020314E0
+ ldr r0, _0801391C @ =gUnknown_020314E0
mov r8, r0
ldr r3, [r0]
ldr r1, _08013920 @ =0x0000132C
@@ -3664,7 +3664,7 @@ _0801390A:
pop {r1}
bx r1
.align 2, 0
-_0801391C: .4byte 0x020314E0
+_0801391C: .4byte gUnknown_020314E0
_08013920: .4byte 0x0000132C
_08013924: .4byte 0x0000FFFF
_08013928: .4byte 0x00000125
@@ -3681,7 +3681,7 @@ sub_13934: @ 0x08013934
movs r0, #0
strh r0, [r5]
strh r0, [r5, #2]
- ldr r7, _0801399C @ =0x020314E0
+ ldr r7, _0801399C @ =gUnknown_020314E0
ldr r1, [r7]
movs r0, #0x91
lsls r0, r0, #1
@@ -3722,7 +3722,7 @@ sub_13934: @ 0x08013934
adds r1, r0, r2
b _080139D2
.align 2, 0
-_0801399C: .4byte 0x020314E0
+_0801399C: .4byte gUnknown_020314E0
_080139A0: .4byte 0x00004E20
_080139A4:
cmp r0, #0
@@ -3749,7 +3749,7 @@ _080139D2:
movs r0, #1
strb r0, [r1]
_080139D6:
- ldr r1, _08013A34 @ =0x020314E0
+ ldr r1, _08013A34 @ =gUnknown_020314E0
ldr r2, [r1]
ldr r3, _08013A38 @ =0x00000123
adds r0, r2, r3
@@ -3796,7 +3796,7 @@ _080139EC:
b _08013A52
.align 2, 0
_08013A30: .4byte 0x00004E20
-_08013A34: .4byte 0x020314E0
+_08013A34: .4byte gUnknown_020314E0
_08013A38: .4byte 0x00000123
_08013A3C: .4byte 0x00000125
_08013A40: .4byte 0x0000132C
@@ -3853,19 +3853,19 @@ _08013AA2:
ldrsh r1, [r5, r0]
cmp r1, #0x59
ble _08013AC8
- ldr r0, _08013AC0 @ =0x020314E0
+ ldr r0, _08013AC0 @ =gUnknown_020314E0
ldr r0, [r0]
ldr r1, _08013AC4 @ =0x0000132C
adds r0, r0, r1
b _08013AD4
.align 2, 0
_08013ABC: .4byte 0x00004E20
-_08013AC0: .4byte 0x020314E0
+_08013AC0: .4byte gUnknown_020314E0
_08013AC4: .4byte 0x0000132C
_08013AC8:
cmp r1, #0x45
ble _08013AE4
- ldr r0, _08013B1C @ =0x020314E0
+ ldr r0, _08013B1C @ =gUnknown_020314E0
ldr r0, [r0]
ldr r3, _08013B20 @ =0x0000132C
adds r0, r0, r3
@@ -3880,7 +3880,7 @@ _08013AE0:
asrs r0, r0, #2
strh r0, [r1, #0x30]
_08013AE4:
- ldr r0, _08013B1C @ =0x020314E0
+ ldr r0, _08013B1C @ =gUnknown_020314E0
ldr r1, [r0]
movs r3, #0x93
lsls r3, r3, #1
@@ -3911,7 +3911,7 @@ _08013B16:
pop {r0}
bx r0
.align 2, 0
-_08013B1C: .4byte 0x020314E0
+_08013B1C: .4byte gUnknown_020314E0
_08013B20: .4byte 0x0000132C
_08013B24: .4byte 0x00000123
@@ -4026,7 +4026,7 @@ _08013BEA:
bgt _08013BFA
b _08013CF0
_08013BFA:
- ldr r0, _08013C1C @ =0x020314E0
+ ldr r0, _08013C1C @ =gUnknown_020314E0
ldr r0, [r0]
ldrb r0, [r0, #0x1e]
b _08013C22
@@ -4037,7 +4037,7 @@ _08013C0C: .4byte 0xFFDC0000
_08013C10: .4byte 0xFFFFFE3E
_08013C14: .4byte 0xFFFF0000
_08013C18: .4byte 0x0000FFFF
-_08013C1C: .4byte 0x020314E0
+_08013C1C: .4byte gUnknown_020314E0
_08013C20:
lsrs r0, r4, #0x10
_08013C22:
@@ -4064,7 +4064,7 @@ _08013C48:
cmp r1, #0
beq _08013CF0
_08013C4E:
- ldr r0, _08013CAC @ =0x020314E0
+ ldr r0, _08013CAC @ =gUnknown_020314E0
ldr r1, [r0]
mov r2, sl
lsls r0, r2, #1
@@ -4112,7 +4112,7 @@ _08013C4E:
adds r1, r4, #0
b _08013CDC
.align 2, 0
-_08013CAC: .4byte 0x020314E0
+_08013CAC: .4byte gUnknown_020314E0
_08013CB0: .4byte 0x000013BC
_08013CB4: .4byte 0x000013BD
_08013CB8: .4byte 0x000013BE
@@ -4145,14 +4145,14 @@ _08013CF0:
lsls r0, r3, #0x10
cmp r0, #0
bgt _08013D08
- ldr r0, _08013D04 @ =0x020314E0
+ ldr r0, _08013D04 @ =gUnknown_020314E0
ldr r0, [r0]
adds r0, #0x22
movs r1, #5
strb r1, [r0]
b _08013D14
.align 2, 0
-_08013D04: .4byte 0x020314E0
+_08013D04: .4byte gUnknown_020314E0
_08013D08:
add r0, sp, #4
ldrh r1, [r0]
@@ -4283,7 +4283,7 @@ _08013E02:
lsls r0, r0, #1
cmp r7, r0
ble _08013E2A
- ldr r0, _08013E48 @ =0x020314E0
+ ldr r0, _08013E48 @ =gUnknown_020314E0
ldr r0, [r0]
ldr r2, _08013E4C @ =0x0000061C
adds r0, r0, r2
@@ -4299,7 +4299,7 @@ _08013E02:
movs r0, #6
bl sub_11B0
_08013E2A:
- ldr r0, _08013E48 @ =0x020314E0
+ ldr r0, _08013E48 @ =gUnknown_020314E0
ldr r1, [r0]
adds r1, #0x31
ldrb r1, [r1]
@@ -4313,7 +4313,7 @@ _08013E2A:
.align 2, 0
_08013E40: .4byte 0x00004E20
_08013E44: .4byte 0x1F3F0000
-_08013E48: .4byte 0x020314E0
+_08013E48: .4byte gUnknown_020314E0
_08013E4C: .4byte 0x0000061C
_08013E50: .4byte gMain
_08013E54:
@@ -4328,7 +4328,7 @@ _08013E58:
movs r1, #0xa
bl __divsi3
adds r6, r0, #0
- ldr r2, _08014004 @ =0x020314E0
+ ldr r2, _08014004 @ =gUnknown_020314E0
ldr r0, [r2]
ldr r1, _08014008 @ =0x0000132C
adds r0, r0, r1
@@ -4485,7 +4485,7 @@ _08013F20:
ldrb r0, [r0, #4]
cmp r0, #1
bne _08014020
- ldr r0, _08014004 @ =0x020314E0
+ ldr r0, _08014004 @ =gUnknown_020314E0
ldr r1, [r0]
adds r0, r1, #0
adds r0, #0x24
@@ -4516,7 +4516,7 @@ _08013F20:
rsbs r1, r2, #0
b _0801403E
.align 2, 0
-_08014004: .4byte 0x020314E0
+_08014004: .4byte gUnknown_020314E0
_08014008: .4byte 0x0000132C
_0801400C: .4byte 0x00000EB8
_08014010: .4byte 0x00004E20
@@ -4577,7 +4577,7 @@ sub_14074: @ 0x08014074
lsls r2, r2, #0x10
lsrs r4, r2, #0x10
mov ip, r4
- ldr r0, _080140CC @ =0x020314E0
+ ldr r0, _080140CC @ =gUnknown_020314E0
mov sl, r0
ldr r1, [r0]
ldr r2, _080140D0 @ =0x0000132C
@@ -4611,7 +4611,7 @@ _080140B8:
ldr r7, _080140D8 @ =0x00006A1C
b _080140E8
.align 2, 0
-_080140CC: .4byte 0x020314E0
+_080140CC: .4byte gUnknown_020314E0
_080140D0: .4byte 0x0000132C
_080140D4: .4byte 0xFFFFD5E4
_080140D8: .4byte 0x00006A1C
@@ -4648,7 +4648,7 @@ _08014108:
bl __divsi3
mov r2, r8
str r0, [r2, #4]
- ldr r0, _08014180 @ =0x020314E0
+ ldr r0, _08014180 @ =gUnknown_020314E0
ldr r4, [r0]
ldr r1, _08014184 @ =0x0000132C
adds r0, r4, r1
@@ -4691,7 +4691,7 @@ _08014108:
lsls r0, r0, #1
b _080141C8
.align 2, 0
-_08014180: .4byte 0x020314E0
+_08014180: .4byte gUnknown_020314E0
_08014184: .4byte 0x0000132C
_08014188: .4byte 0x00004E20
_0801418C: .4byte 0xFFFF0000
@@ -4729,7 +4729,7 @@ _080141C8:
ldr r1, _0801420C @ =0x0000FFFF
ands r6, r1
orrs r6, r0
- ldr r2, _08014210 @ =0x020314E0
+ ldr r2, _08014210 @ =gUnknown_020314E0
ldr r0, [r2]
ldr r1, _08014214 @ =0x00000716
adds r0, r0, r1
@@ -4753,7 +4753,7 @@ _08014200: .4byte 0x0000011D
_08014204: .4byte 0x00004E20
_08014208: .4byte 0xFFFF0000
_0801420C: .4byte 0x0000FFFF
-_08014210: .4byte 0x020314E0
+_08014210: .4byte gUnknown_020314E0
_08014214: .4byte 0x00000716
_08014218: .4byte 0x0000132C
_0801421C: .4byte 0x00000717
@@ -4941,7 +4941,7 @@ _0801439C:
ldr r0, [r2, #4]
adds r0, r0, r1
str r0, [r2, #4]
- ldr r1, _080143E4 @ =0x020314E0
+ ldr r1, _080143E4 @ =gUnknown_020314E0
ldr r0, [r1]
ldr r2, _080143E8 @ =0x000005A4
adds r3, r0, r2
@@ -4964,7 +4964,7 @@ _080143D4: .4byte 0x086ACDF4
_080143D8: .4byte 0x00004E20
_080143DC: .4byte 0xFFFF0000
_080143E0: .4byte 0x0000FFFF
-_080143E4: .4byte 0x020314E0
+_080143E4: .4byte gUnknown_020314E0
_080143E8: .4byte 0x000005A4
_080143EC:
movs r2, #0xa0
@@ -5099,7 +5099,7 @@ _080144DE:
movs r3, #0
str r3, [sp, #8]
_080144F0:
- ldr r2, _08014518 @ =0x020314E0
+ ldr r2, _08014518 @ =gUnknown_020314E0
ldr r0, [r2]
adds r0, #0x22
movs r1, #0
@@ -5118,7 +5118,7 @@ _080144F0:
.align 2, 0
_08014510: .4byte 0xFFFF0000
_08014514: .4byte 0x0000FFFF
-_08014518: .4byte 0x020314E0
+_08014518: .4byte gUnknown_020314E0
_0801451C: .4byte 0x086ACE0C
_08014520: .4byte gMain
_08014524:
@@ -5132,7 +5132,7 @@ _08014524:
strh r0, [r1]
b _0801456E
_08014536:
- ldr r5, _080145A0 @ =0x020314E0
+ ldr r5, _080145A0 @ =gUnknown_020314E0
ldr r0, [r5]
adds r0, #0x22
strb r1, [r0]
@@ -5186,7 +5186,7 @@ _0801457A:
str r1, [sp, #8]
b _080145CC
.align 2, 0
-_080145A0: .4byte 0x020314E0
+_080145A0: .4byte gUnknown_020314E0
_080145A4: .4byte 0x000005F2
_080145A8: .4byte 0xFFFF0000
_080145AC:
@@ -5215,7 +5215,7 @@ _080145CC:
asrs r1, r0, #0x10
cmp r1, #0
beq _08014536
- ldr r0, _0801465C @ =0x020314E0
+ ldr r0, _0801465C @ =gUnknown_020314E0
ldr r1, [r0]
adds r0, r1, #0
adds r0, #0x22
@@ -5262,7 +5262,7 @@ _08014608:
mov r1, sb
ldr r3, [sp, #0xc]
bl _call_via_r3
- ldr r0, _0801465C @ =0x020314E0
+ ldr r0, _0801465C @ =gUnknown_020314E0
ldr r0, [r0]
ldrh r1, [r0, #0x22]
mov r0, sl
@@ -5279,7 +5279,7 @@ _0801464C:
b _0801456E
.align 2, 0
_08014658: .4byte 0x0000FFFF
-_0801465C: .4byte 0x020314E0
+_0801465C: .4byte gUnknown_020314E0
_08014660: .4byte 0x086ACE60
_08014664: .4byte 0xFFFF0000
_08014668:
@@ -5302,7 +5302,7 @@ sub_1467C: @ 0x0801467C
push {r6, r7}
mov r8, r1
movs r7, #0
- ldr r4, _08014734 @ =0x02031520
+ ldr r4, _08014734 @ =gUnknown_02031520
movs r1, #0x22
ldrsh r2, [r4, r1]
lsls r2, r2, #1
@@ -5333,7 +5333,7 @@ sub_1467C: @ 0x0801467C
lsrs r0, r0, #0x10
cmp r0, #0x5f
bhi _080146E8
- ldr r4, _08014738 @ =0x020314E0
+ ldr r4, _08014738 @ =gUnknown_020314E0
ldr r0, [r4]
ldrb r1, [r0, #0x1e]
adds r1, #1
@@ -5363,7 +5363,7 @@ _080146E8:
ldr r1, _0801473C @ =0xFFFF0000
ands r5, r1
orrs r5, r0
- ldr r4, _08014738 @ =0x020314E0
+ ldr r4, _08014738 @ =gUnknown_020314E0
ldr r0, [r4]
ldrb r1, [r0, #0x1e]
adds r1, #1
@@ -5388,8 +5388,8 @@ _08014724:
pop {r1}
bx r1
.align 2, 0
-_08014734: .4byte 0x02031520
-_08014738: .4byte 0x020314E0
+_08014734: .4byte gUnknown_02031520
+_08014738: .4byte gUnknown_020314E0
_0801473C: .4byte 0xFFFF0000
thumb_func_start sub_14740
@@ -5398,7 +5398,7 @@ sub_14740: @ 0x08014740
adds r2, r0, #0
adds r7, r1, #0
movs r6, #0
- ldr r0, _080147E8 @ =0x020314E0
+ ldr r0, _080147E8 @ =gUnknown_020314E0
ldr r4, [r0]
ldr r5, _080147EC @ =0x000005A4
adds r1, r4, r5
@@ -5482,7 +5482,7 @@ _080147B6:
movs r0, #0x18
b _080147FE
.align 2, 0
-_080147E8: .4byte 0x020314E0
+_080147E8: .4byte gUnknown_020314E0
_080147EC: .4byte 0x000005A4
_080147F0: .4byte 0x0839A28C
_080147F4: .4byte 0x000005A6
@@ -5647,7 +5647,7 @@ sub_1493C: @ 0x0801493C
mov r6, r8
push {r6, r7}
sub sp, #8
- ldr r0, _08014A28 @ =0x020314E0
+ ldr r0, _08014A28 @ =gUnknown_020314E0
mov sb, r0
ldr r4, [r0]
ldr r1, _08014A2C @ =0x0000132C
@@ -5736,7 +5736,7 @@ sub_1493C: @ 0x0801493C
bl __divsi3
strh r0, [r4, #0x32]
_08014A04:
- ldr r0, _08014A28 @ =0x020314E0
+ ldr r0, _08014A28 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r5, _08014A3C @ =0x000005F4
adds r3, r1, r5
@@ -5755,7 +5755,7 @@ _08014A04:
lsls r0, r0, #1
b _08014ADC
.align 2, 0
-_08014A28: .4byte 0x020314E0
+_08014A28: .4byte gUnknown_020314E0
_08014A2C: .4byte 0x0000132C
_08014A30: .4byte 0xFFFFFDD2
_08014A34: .4byte 0x000006E3
@@ -5830,7 +5830,7 @@ _08014AC0: .4byte gMain
_08014AC4:
bl sub_32914
_08014AC8:
- ldr r2, _08014AEC @ =0x020314E0
+ ldr r2, _08014AEC @ =gUnknown_020314E0
ldr r0, [r2]
adds r0, #0x22
movs r1, #7
@@ -5851,7 +5851,7 @@ _08014ADE:
pop {r0}
bx r0
.align 2, 0
-_08014AEC: .4byte 0x020314E0
+_08014AEC: .4byte gUnknown_020314E0
_08014AF0: .4byte 0x0000132C
thumb_func_start sub_14AF4
@@ -5866,7 +5866,7 @@ sub_14AF4: @ 0x08014AF4
lsls r4, r4, #5
adds r4, r4, r0
lsls r4, r4, #0x10
- ldr r2, _08014B70 @ =0x020314E0
+ ldr r2, _08014B70 @ =gUnknown_020314E0
lsls r3, r3, #0x10
asrs r6, r3, #0x10
lsls r0, r6, #1
@@ -5887,7 +5887,7 @@ sub_14AF4: @ 0x08014AF4
adds r1, r1, r5
ldrb r0, [r1]
strb r0, [r3, #5]
- ldr r0, _08014B7C @ =0x02031520
+ ldr r0, _08014B7C @ =gUnknown_02031520
movs r1, #5
ldrsb r1, [r3, r1]
ldr r2, [r0, #0x68]
@@ -5920,10 +5920,10 @@ _08014B66:
pop {r1}
bx r1
.align 2, 0
-_08014B70: .4byte 0x020314E0
+_08014B70: .4byte gUnknown_020314E0
_08014B74: .4byte 0x000013BC
_08014B78: .4byte 0x086ACDB8
-_08014B7C: .4byte 0x02031520
+_08014B7C: .4byte gUnknown_02031520
_08014B80: .4byte 0x0000FFF0
thumb_func_start sub_14B84
@@ -5940,7 +5940,7 @@ sub_14B84: @ 0x08014B84
mov sl, r1
lsls r3, r3, #0x10
lsrs r7, r3, #0x10
- ldr r0, _08014C20 @ =0x020314E0
+ ldr r0, _08014C20 @ =gUnknown_020314E0
ldr r2, [r0]
lsls r3, r1, #0x10
asrs r0, r3, #0x10
@@ -6006,7 +6006,7 @@ _08014BD8:
adds r7, #0x78
b _08014C68
.align 2, 0
-_08014C20: .4byte 0x020314E0
+_08014C20: .4byte gUnknown_020314E0
_08014C24: .4byte 0x000013C1
_08014C28: .4byte 0x000013C4
_08014C2C: .4byte 0x00000B21
@@ -6049,7 +6049,7 @@ _08014C68:
lsls r0, r0, #0x10
lsrs r6, r0, #0x10
_08014C7E:
- ldr r2, _08014D20 @ =0x020314E0
+ ldr r2, _08014D20 @ =gUnknown_020314E0
mov sl, r2
ldr r0, [r2]
ldr r3, _08014D24 @ =0x0000132C
@@ -6106,7 +6106,7 @@ _08014CB0:
adds r4, #0x62
strh r0, [r4]
_08014CF2:
- ldr r2, _08014D20 @ =0x020314E0
+ ldr r2, _08014D20 @ =gUnknown_020314E0
ldr r3, [r2]
adds r1, r3, #0
adds r1, #0x5c
@@ -6126,7 +6126,7 @@ _08014CF2:
_08014D14: .4byte 0x086ACE2C
_08014D18: .4byte 0xFFFFF5D8
_08014D1C: .4byte 0x00001518
-_08014D20: .4byte 0x020314E0
+_08014D20: .4byte gUnknown_020314E0
_08014D24: .4byte 0x0000132C
_08014D28: .4byte 0x00004E20
_08014D2C:
@@ -6245,7 +6245,7 @@ sub_14E08: @ 0x08014E08
add r2, sp, #4
movs r1, #0
strh r1, [r2]
- ldr r0, _08014F0C @ =0x020314E0
+ ldr r0, _08014F0C @ =gUnknown_020314E0
ldr r0, [r0]
mov sl, r0
ldr r0, _08014F10 @ =0x0000132C
@@ -6307,7 +6307,7 @@ _08014E82:
subs r1, r4, r1
lsls r1, r1, #0x10
ands r5, r7
- ldr r7, _08014F1C @ =0x02031520
+ ldr r7, _08014F1C @ =gUnknown_02031520
mov ip, r7
adds r3, r3, r2
lsls r3, r3, #2
@@ -6367,11 +6367,11 @@ _08014F00:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_08014F0C: .4byte 0x020314E0
+_08014F0C: .4byte gUnknown_020314E0
_08014F10: .4byte 0x0000132C
_08014F14: .4byte 0xFFFF0000
_08014F18: .4byte 0x0000FFFF
-_08014F1C: .4byte 0x02031520
+_08014F1C: .4byte gUnknown_02031520
_08014F20: .4byte _08014F24
_08014F24: @ jump table
.4byte _08014F3C @ case 0
@@ -6381,7 +6381,7 @@ _08014F24: @ jump table
.4byte _08015018 @ case 4
.4byte _08014F3C @ case 5
_08014F3C:
- ldr r2, _08014FB4 @ =0x020314E0
+ ldr r2, _08014FB4 @ =gUnknown_020314E0
ldr r0, [r2]
subs r1, r3, #1
adds r0, #0x23
@@ -6406,7 +6406,7 @@ _08014F3C:
ldr r2, [r3]
movs r0, #0x10
ldrsh r1, [r2, r0]
- ldr r4, _08014FC0 @ =0x02031520
+ ldr r4, _08014FC0 @ =gUnknown_02031520
movs r7, #0x26
ldrsh r0, [r4, r7]
subs r0, #8
@@ -6443,10 +6443,10 @@ _08014FA6:
strh r0, [r4]
b _08014FDC
.align 2, 0
-_08014FB4: .4byte 0x020314E0
+_08014FB4: .4byte gUnknown_020314E0
_08014FB8: .4byte 0xFFFFC010
_08014FBC: .4byte 0x0000132C
-_08014FC0: .4byte 0x02031520
+_08014FC0: .4byte gUnknown_02031520
_08014FC4: .4byte gMain
_08014FC8:
ldr r0, _08014FE4 @ =0x0000FFD8
@@ -6468,7 +6468,7 @@ _08014FDC:
.align 2, 0
_08014FE4: .4byte 0x0000FFD8
_08014FE8:
- ldr r2, _08015010 @ =0x020314E0
+ ldr r2, _08015010 @ =gUnknown_020314E0
ldr r0, [r2]
subs r1, r3, #1
adds r0, #0x23
@@ -6488,10 +6488,10 @@ _08014FE8:
strh r0, [r7, #4]
b _0801502C
.align 2, 0
-_08015010: .4byte 0x020314E0
+_08015010: .4byte gUnknown_020314E0
_08015014: .4byte 0x0000FFF0
_08015018:
- ldr r2, _0801504C @ =0x020314E0
+ ldr r2, _0801504C @ =gUnknown_020314E0
ldr r0, [r2]
ldr r1, _08015050 @ =0x000002A2
adds r0, r0, r1
@@ -6518,7 +6518,7 @@ _0801502C:
pop {r1}
bx r1
.align 2, 0
-_0801504C: .4byte 0x020314E0
+_0801504C: .4byte gUnknown_020314E0
_08015050: .4byte 0x000002A2
thumb_func_start sub_15054
@@ -6536,7 +6536,7 @@ sub_15054: @ 0x08015054
movs r5, #0
movs r0, #0
str r0, [sp, #4]
- ldr r0, _08015128 @ =0x020314E0
+ ldr r0, _08015128 @ =gUnknown_020314E0
ldr r2, [r0]
ldr r3, _0801512C @ =0x000005B2
adds r1, r2, r3
@@ -6636,7 +6636,7 @@ _08015104:
strb r1, [r0]
b _0801539A
.align 2, 0
-_08015128: .4byte 0x020314E0
+_08015128: .4byte gUnknown_020314E0
_0801512C: .4byte 0x000005B2
_08015130: .4byte 0x000002A3
_08015134: .4byte 0x08259C10
@@ -7009,7 +7009,7 @@ _080153F0: @ jump table
.4byte _08015F20 @ case 13
.4byte _08015F8C @ case 14
_0801542C:
- ldr r0, _0801545C @ =0x020314E0
+ ldr r0, _0801545C @ =gUnknown_020314E0
ldr r2, [r0]
ldrh r0, [r2, #0x26]
cmp r0, #0
@@ -7033,7 +7033,7 @@ _0801543A:
movs r0, #1
b _08015476
.align 2, 0
-_0801545C: .4byte 0x020314E0
+_0801545C: .4byte gUnknown_020314E0
_08015460: .4byte 0x0000132C
_08015464: .4byte 0x00000167
_08015468:
@@ -7048,7 +7048,7 @@ _08015470:
_08015476:
strb r0, [r1]
bl sub_1A98C
- ldr r0, _08015490 @ =0x020314E0
+ ldr r0, _08015490 @ =gUnknown_020314E0
ldr r0, [r0]
adds r0, #0x22
movs r1, #7
@@ -7057,9 +7057,9 @@ _08015476:
strh r0, [r7]
bl _08016082
.align 2, 0
-_08015490: .4byte 0x020314E0
+_08015490: .4byte gUnknown_020314E0
_08015494:
- ldr r3, _080154B8 @ =0x020314E0
+ ldr r3, _080154B8 @ =gUnknown_020314E0
ldr r2, [r3]
adds r0, r2, #0
adds r0, #0x24
@@ -7077,7 +7077,7 @@ _08015494:
strb r1, [r0]
bl _08016082
.align 2, 0
-_080154B8: .4byte 0x020314E0
+_080154B8: .4byte gUnknown_020314E0
_080154BC: .4byte 0x0000132C
_080154C0:
cmp r1, #2
@@ -7096,7 +7096,7 @@ _080154C8:
.align 2, 0
_080154DC: .4byte 0x0000132C
_080154E0:
- ldr r1, _08015508 @ =0x020314E0
+ ldr r1, _08015508 @ =gUnknown_020314E0
ldr r2, [r1]
adds r0, r2, #0
adds r0, #0x24
@@ -7117,7 +7117,7 @@ _080154E0:
strb r2, [r0]
b _08015524
.align 2, 0
-_08015508: .4byte 0x020314E0
+_08015508: .4byte gUnknown_020314E0
_0801550C: .4byte 0x0000132C
_08015510:
cmp r0, #3
@@ -7172,7 +7172,7 @@ _0801556C: .4byte 0x0000132C
_08015570: .4byte 0x000002FB
_08015574: .4byte 0x000001AB
_08015578:
- ldr r1, _080155B8 @ =0x020314E0
+ ldr r1, _080155B8 @ =gUnknown_020314E0
ldr r2, [r1]
movs r3, #0xc0
lsls r3, r3, #3
@@ -7204,7 +7204,7 @@ _0801558E:
strb r0, [r1]
b _08015604
.align 2, 0
-_080155B8: .4byte 0x020314E0
+_080155B8: .4byte gUnknown_020314E0
_080155BC: .4byte 0x0000132C
_080155C0: .4byte 0x0000070E
_080155C4:
@@ -7254,7 +7254,7 @@ _08015604:
.align 2, 0
_0801561C: .4byte 0x000002B2
_08015620:
- ldr r1, _08015640 @ =0x020314E0
+ ldr r1, _08015640 @ =gUnknown_020314E0
ldr r0, [r1]
adds r0, #0x20
movs r3, #0
@@ -7270,11 +7270,11 @@ _08015620:
strb r3, [r0]
bl _08016082
.align 2, 0
-_08015640: .4byte 0x020314E0
+_08015640: .4byte gUnknown_020314E0
_08015644: .4byte 0x00000165
_08015648: .4byte 0x00000732
_0801564C:
- ldr r4, _08015670 @ =0x020314E0
+ ldr r4, _08015670 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r2, _08015674 @ =0x000005B2
adds r0, r0, r2
@@ -7291,11 +7291,11 @@ _08015662:
ldr r3, _08015678 @ =0x0000029E
b _0801588E
.align 2, 0
-_08015670: .4byte 0x020314E0
+_08015670: .4byte gUnknown_020314E0
_08015674: .4byte 0x000005B2
_08015678: .4byte 0x0000029E
_0801567C:
- ldr r5, _080156C4 @ =0x020314E0
+ ldr r5, _080156C4 @ =gUnknown_020314E0
ldr r1, [r5]
ldr r4, _080156C8 @ =0x0000132C
mov ip, r4
@@ -7331,7 +7331,7 @@ _0801567C:
strh r2, [r7]
b _08015734
.align 2, 0
-_080156C4: .4byte 0x020314E0
+_080156C4: .4byte gUnknown_020314E0
_080156C8: .4byte 0x0000132C
_080156CC: .4byte 0x000002FA
_080156D0: .4byte 0x000002FB
@@ -7384,7 +7384,7 @@ _080156D4:
movs r1, #0x78
strh r1, [r0]
_08015734:
- ldr r0, _0801575C @ =0x020314E0
+ ldr r0, _0801575C @ =gUnknown_020314E0
ldr r0, [r0]
ldr r1, _08015760 @ =0x00000732
adds r0, r0, r1
@@ -7398,10 +7398,10 @@ _0801574C: .4byte 0x00001378
_08015750: .4byte 0x00001334
_08015754: .4byte 0x00001330
_08015758: .4byte 0x00001328
-_0801575C: .4byte 0x020314E0
+_0801575C: .4byte gUnknown_020314E0
_08015760: .4byte 0x00000732
_08015764:
- ldr r0, _080157A8 @ =0x020314E0
+ ldr r0, _080157A8 @ =gUnknown_020314E0
ldr r2, [r0]
ldr r3, _080157AC @ =0x0000132C
adds r1, r2, r3
@@ -7435,7 +7435,7 @@ _08015764:
lsls r0, r0, #3
b _080157C6
.align 2, 0
-_080157A8: .4byte 0x020314E0
+_080157A8: .4byte gUnknown_020314E0
_080157AC: .4byte 0x0000132C
_080157B0: .4byte 0x00000732
_080157B4: .4byte 0x0000072E
@@ -7450,7 +7450,7 @@ _080157C4:
ldr r0, _080157F8 @ =0x00002710
_080157C6:
str r0, [r2, #0x3c]
- ldr r0, _080157FC @ =0x020314E0
+ ldr r0, _080157FC @ =gUnknown_020314E0
ldr r1, [r0]
ldr r4, _08015800 @ =0x0000072E
adds r1, r1, r4
@@ -7460,7 +7460,7 @@ _080157C6:
movs r0, #0x99
bl m4aSongNumStart
_080157DC:
- ldr r0, _080157FC @ =0x020314E0
+ ldr r0, _080157FC @ =gUnknown_020314E0
ldr r1, [r0]
ldr r2, _08015804 @ =0x000006BC
adds r1, r1, r2
@@ -7476,7 +7476,7 @@ _080157EA:
bl _08016082
.align 2, 0
_080157F8: .4byte 0x00002710
-_080157FC: .4byte 0x020314E0
+_080157FC: .4byte gUnknown_020314E0
_08015800: .4byte 0x0000072E
_08015804: .4byte 0x000006BC
_08015808: .4byte 0x00000732
@@ -7766,7 +7766,7 @@ _08015A3C:
ldr r0, _08015A84 @ =0x00002710
_08015A3E:
str r0, [r2, #0x3c]
- ldr r5, _08015A88 @ =0x020314E0
+ ldr r5, _08015A88 @ =gUnknown_020314E0
ldr r1, [r5]
ldr r4, _08015A8C @ =0x0000072F
adds r1, r1, r4
@@ -7787,7 +7787,7 @@ _08015A3E:
movs r0, #1
strb r0, [r1]
_08015A6A:
- ldr r0, _08015A88 @ =0x020314E0
+ ldr r0, _08015A88 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r3, _08015A9C @ =0x000006BC
adds r1, r1, r3
@@ -7803,7 +7803,7 @@ _08015A78:
b _08016082
.align 2, 0
_08015A84: .4byte 0x00002710
-_08015A88: .4byte 0x020314E0
+_08015A88: .4byte gUnknown_020314E0
_08015A8C: .4byte 0x0000072F
_08015A90: .4byte 0x02032F20
_08015A94: .4byte 0x0869FC0C
@@ -7811,7 +7811,7 @@ _08015A98: .4byte 0x00000731
_08015A9C: .4byte 0x000006BC
_08015AA0: .4byte 0x00000732
_08015AA4:
- ldr r0, _08015AC0 @ =0x020314E0
+ ldr r0, _08015AC0 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r2, _08015AC4 @ =0x0000132C
adds r0, r1, r2
@@ -7826,7 +7826,7 @@ _08015AA4:
strb r0, [r1]
b _08016082
.align 2, 0
-_08015AC0: .4byte 0x020314E0
+_08015AC0: .4byte gUnknown_020314E0
_08015AC4: .4byte 0x0000132C
_08015AC8: .4byte 0x00000732
_08015ACC:
@@ -7848,7 +7848,7 @@ _08015AE0:
.align 2, 0
_08015AEC: .4byte 0x00000732
_08015AF0:
- ldr r4, _08015B48 @ =0x020314E0
+ ldr r4, _08015B48 @ =gUnknown_020314E0
ldr r1, [r4]
ldr r3, _08015B4C @ =0x0000132C
adds r0, r1, r3
@@ -7895,7 +7895,7 @@ _08015B36:
ldr r2, _08015B5C @ =0x00000713
b _08015C64
.align 2, 0
-_08015B48: .4byte 0x020314E0
+_08015B48: .4byte gUnknown_020314E0
_08015B4C: .4byte 0x0000132C
_08015B50: .4byte 0x00000732
_08015B54: .4byte 0x00000714
@@ -8058,7 +8058,7 @@ _08015C94: .4byte 0x00000711
_08015C98: .4byte 0x00000712
_08015C9C: .4byte 0x00000715
_08015CA0:
- ldr r1, _08015D18 @ =0x020314E0
+ ldr r1, _08015D18 @ =gUnknown_020314E0
ldr r2, [r1]
ldr r4, _08015D1C @ =0x000005B2
adds r0, r2, r4
@@ -8121,7 +8121,7 @@ _08015D0E:
str r0, [r1, #0x3c]
b _08016082
.align 2, 0
-_08015D18: .4byte 0x020314E0
+_08015D18: .4byte gUnknown_020314E0
_08015D1C: .4byte 0x000005B2
_08015D20: .4byte 0x0000132C
_08015D24: .4byte 0x000001AB
@@ -8197,7 +8197,7 @@ _08015D94:
movs r0, #0xd8
bl m4aSongNumStart
_08015DB6:
- ldr r2, _08015DD8 @ =0x020314E0
+ ldr r2, _08015DD8 @ =gUnknown_020314E0
ldr r0, [r2]
ldr r4, _08015DDC @ =0x0000029F
adds r0, r0, r4
@@ -8213,7 +8213,7 @@ _08015DB6:
.align 2, 0
_08015DD0: .4byte 0x0000071B
_08015DD4: .4byte 0x0000071C
-_08015DD8: .4byte 0x020314E0
+_08015DD8: .4byte gUnknown_020314E0
_08015DDC: .4byte 0x0000029F
_08015DE0:
movs r3, #0xe2
@@ -8277,7 +8277,7 @@ _08015E46:
strh r0, [r1]
b _08016082
_08015E4C:
- ldr r6, _08015EA4 @ =0x020314E0
+ ldr r6, _08015EA4 @ =gUnknown_020314E0
ldr r1, [r6]
ldr r5, _08015EA8 @ =0x00000616
adds r0, r1, r5
@@ -8324,12 +8324,12 @@ _08015E9A:
strh r1, [r0]
b _08016082
.align 2, 0
-_08015EA4: .4byte 0x020314E0
+_08015EA4: .4byte gUnknown_020314E0
_08015EA8: .4byte 0x00000616
_08015EAC: .4byte 0x0000132C
_08015EB0: .4byte 0x00000614
_08015EB4:
- ldr r3, _08015F14 @ =0x020314E0
+ ldr r3, _08015F14 @ =gUnknown_020314E0
ldr r1, [r3]
movs r4, #0xb6
lsls r4, r4, #2
@@ -8380,11 +8380,11 @@ _08015EE2:
bl m4aSongNumStart
b _08016020
.align 2, 0
-_08015F14: .4byte 0x020314E0
+_08015F14: .4byte gUnknown_020314E0
_08015F18: .4byte 0x000002DA
_08015F1C: .4byte 0x00001388
_08015F20:
- ldr r4, _08015F80 @ =0x020314E0
+ ldr r4, _08015F80 @ =gUnknown_020314E0
ldr r1, [r4]
movs r5, #0xb6
lsls r5, r5, #2
@@ -8434,11 +8434,11 @@ _08015F4E:
str r0, [r1, #0x3c]
b _08016020
.align 2, 0
-_08015F80: .4byte 0x020314E0
+_08015F80: .4byte gUnknown_020314E0
_08015F84: .4byte 0x000002DA
_08015F88: .4byte 0x00001388
_08015F8C:
- ldr r0, _08015FE8 @ =0x020314E0
+ ldr r0, _08015FE8 @ =gUnknown_020314E0
ldr r3, [r0]
movs r2, #0x13
ldrsb r2, [r3, r2]
@@ -8483,7 +8483,7 @@ _08015F8C:
str r0, [r1, #0x3c]
b _08016020
.align 2, 0
-_08015FE8: .4byte 0x020314E0
+_08015FE8: .4byte gUnknown_020314E0
_08015FEC: .4byte 0x000002DA
_08015FF0: .4byte 0x00001388
_08015FF4:
@@ -8577,7 +8577,7 @@ sub_16090: @ 0x08016090
add r2, sp, #4
movs r1, #0
strh r1, [r2]
- ldr r0, _08016190 @ =0x020314E0
+ ldr r0, _08016190 @ =gUnknown_020314E0
ldr r0, [r0]
mov sl, r0
ldr r0, _08016194 @ =0x0000132C
@@ -8640,7 +8640,7 @@ _0801610C:
subs r1, r4, r1
lsls r1, r1, #0x10
ands r5, r7
- ldr r7, _080161A0 @ =0x02031520
+ ldr r7, _080161A0 @ =gUnknown_02031520
mov ip, r7
adds r3, r3, r2
lsls r3, r3, #2
@@ -8697,16 +8697,16 @@ _0801610C:
beq _080161A8
b _08016290
.align 2, 0
-_08016190: .4byte 0x020314E0
+_08016190: .4byte gUnknown_020314E0
_08016194: .4byte 0x0000132C
_08016198: .4byte 0xFFFF0000
_0801619C: .4byte 0x0000FFFF
-_080161A0: .4byte 0x02031520
+_080161A0: .4byte gUnknown_02031520
_080161A4:
cmp r1, #4
bne _08016290
_080161A8:
- ldr r2, _08016208 @ =0x020314E0
+ ldr r2, _08016208 @ =gUnknown_020314E0
ldr r0, [r2]
subs r1, #1
adds r0, #0x23
@@ -8731,7 +8731,7 @@ _080161A8:
ldr r2, [r3]
movs r7, #0x10
ldrsh r1, [r2, r7]
- ldr r4, _08016214 @ =0x02031520
+ ldr r4, _08016214 @ =gUnknown_02031520
movs r7, #0x26
ldrsh r0, [r4, r7]
subs r0, #8
@@ -8756,10 +8756,10 @@ _080161F4:
strh r0, [r3]
b _08016260
.align 2, 0
-_08016208: .4byte 0x020314E0
+_08016208: .4byte gUnknown_020314E0
_0801620C: .4byte 0xFFFFC010
_08016210: .4byte 0x0000132C
-_08016214: .4byte 0x02031520
+_08016214: .4byte gUnknown_02031520
_08016218:
cmp r0, #0
beq _08016228
@@ -8806,7 +8806,7 @@ _08016260:
.align 2, 0
_08016268: .4byte 0x0000FFD8
_0801626C:
- ldr r2, _080162B0 @ =0x020314E0
+ ldr r2, _080162B0 @ =gUnknown_020314E0
ldr r0, [r2]
subs r1, #1
adds r0, #0x23
@@ -8841,7 +8841,7 @@ _08016290:
pop {r1}
bx r1
.align 2, 0
-_080162B0: .4byte 0x020314E0
+_080162B0: .4byte gUnknown_020314E0
_080162B4: .4byte 0x0000FFF0
thumb_func_start sub_162B8
@@ -8859,7 +8859,7 @@ sub_162B8: @ 0x080162B8
movs r6, #0
movs r0, #0
str r0, [sp, #8]
- ldr r0, _08016418 @ =0x020314E0
+ ldr r0, _08016418 @ =gUnknown_020314E0
ldr r2, [r0]
ldr r3, _0801641C @ =0x000005B2
adds r1, r2, r3
@@ -9030,7 +9030,7 @@ _08016408:
pop {r0}
bx r0
.align 2, 0
-_08016418: .4byte 0x020314E0
+_08016418: .4byte gUnknown_020314E0
_0801641C: .4byte 0x000005B2
_08016420: .4byte 0x08252B10
_08016424: .4byte 0x0000FFF0
@@ -9075,7 +9075,7 @@ _08016454: @ jump table
.4byte _08017094 @ case 13
.4byte _0801716C @ case 14
_08016490:
- ldr r0, _080164B4 @ =0x020314E0
+ ldr r0, _080164B4 @ =gUnknown_020314E0
ldr r1, [r0]
ldrh r0, [r1, #0x26]
cmp r0, #0
@@ -9093,7 +9093,7 @@ _0801649E:
movs r0, #1
b _080164C0
.align 2, 0
-_080164B4: .4byte 0x020314E0
+_080164B4: .4byte gUnknown_020314E0
_080164B8: .4byte 0x0000132C
_080164BC:
adds r1, #0x25
@@ -9101,16 +9101,16 @@ _080164BC:
_080164C0:
strb r0, [r1]
bl sub_32914
- ldr r0, _080164D4 @ =0x020314E0
+ ldr r0, _080164D4 @ =gUnknown_020314E0
ldr r0, [r0]
adds r0, #0x22
movs r1, #7
strb r1, [r0]
b _080168A4
.align 2, 0
-_080164D4: .4byte 0x020314E0
+_080164D4: .4byte gUnknown_020314E0
_080164D8:
- ldr r3, _080164F0 @ =0x020314E0
+ ldr r3, _080164F0 @ =gUnknown_020314E0
ldr r2, [r3]
adds r0, r2, #0
adds r0, #0x24
@@ -9122,7 +9122,7 @@ _080164D8:
adds r0, r2, r4
b _0801656C
.align 2, 0
-_080164F0: .4byte 0x020314E0
+_080164F0: .4byte gUnknown_020314E0
_080164F4: .4byte 0x0000132C
_080164F8:
cmp r1, #2
@@ -9152,7 +9152,7 @@ _0801651C:
.align 2, 0
_0801652C: .4byte 0x0000132C
_08016530:
- ldr r3, _08016558 @ =0x020314E0
+ ldr r3, _08016558 @ =gUnknown_020314E0
ldr r1, [r3]
adds r0, r1, #0
adds r0, #0x24
@@ -9172,7 +9172,7 @@ _08016530:
strb r2, [r0]
bl _080171B8
.align 2, 0
-_08016558: .4byte 0x020314E0
+_08016558: .4byte gUnknown_020314E0
_0801655C: .4byte 0x0000132C
_08016560:
cmp r0, #3
@@ -9192,7 +9192,7 @@ _0801656C:
.align 2, 0
_0801657C: .4byte 0x0000132C
_08016580:
- ldr r5, _080165D4 @ =0x020314E0
+ ldr r5, _080165D4 @ =gUnknown_020314E0
ldr r3, [r5]
movs r1, #0xc0
lsls r1, r1, #3
@@ -9238,7 +9238,7 @@ _080165C8:
movs r0, #6
b _080165EE
.align 2, 0
-_080165D4: .4byte 0x020314E0
+_080165D4: .4byte gUnknown_020314E0
_080165D8: .4byte 0x0000132C
_080165DC: .4byte 0x00000103
_080165E0: .4byte 0x0000036B
@@ -9249,7 +9249,7 @@ _080165E8:
movs r0, #4
_080165EE:
strb r0, [r1]
- ldr r5, _08016618 @ =0x020314E0
+ ldr r5, _08016618 @ =gUnknown_020314E0
ldr r1, [r5]
movs r0, #0xdc
lsls r0, r0, #2
@@ -9268,7 +9268,7 @@ _080165EE:
b _0801667E
.align 2, 0
_08016614: .4byte 0x0000036D
-_08016618: .4byte 0x020314E0
+_08016618: .4byte gUnknown_020314E0
_0801661C: .4byte 0x0000036B
_08016620: .4byte 0x0000132C
_08016624:
@@ -9305,7 +9305,7 @@ _08016654:
movs r0, #4
_0801665C:
strb r0, [r1]
- ldr r5, _080166BC @ =0x020314E0
+ ldr r5, _080166BC @ =gUnknown_020314E0
ldr r1, [r5]
ldr r3, _080166C0 @ =0x0000036E
adds r2, r1, r3
@@ -9352,7 +9352,7 @@ _0801667E:
strh r1, [r0]
b _0801676E
.align 2, 0
-_080166BC: .4byte 0x020314E0
+_080166BC: .4byte gUnknown_020314E0
_080166C0: .4byte 0x0000036E
_080166C4: .4byte 0x0000036A
_080166C8: .4byte 0x0000132C
@@ -9424,7 +9424,7 @@ _0801673E:
_08016752:
strb r4, [r1]
_08016754:
- ldr r0, _08016788 @ =0x020314E0
+ ldr r0, _08016788 @ =gUnknown_020314E0
ldr r3, [r0]
ldr r1, _0801678C @ =0x0000132C
adds r0, r3, r1
@@ -9438,7 +9438,7 @@ _08016754:
ldr r0, _08016790 @ =0x00000BB8
str r0, [r3, #0x3c]
_0801676E:
- ldr r0, _08016788 @ =0x020314E0
+ ldr r0, _08016788 @ =gUnknown_020314E0
ldr r0, [r0]
movs r5, #0xc0
lsls r5, r5, #3
@@ -9449,11 +9449,11 @@ _0801676E:
bl m4aSongNumStart
bl _080171B8
.align 2, 0
-_08016788: .4byte 0x020314E0
+_08016788: .4byte gUnknown_020314E0
_0801678C: .4byte 0x0000132C
_08016790: .4byte 0x00000BB8
_08016794:
- ldr r1, _080167BC @ =0x020314E0
+ ldr r1, _080167BC @ =gUnknown_020314E0
ldr r0, [r1]
ldr r2, _080167C0 @ =0x00000165
adds r0, r0, r2
@@ -9473,12 +9473,12 @@ _08016794:
strb r3, [r0]
bl _080171B8
.align 2, 0
-_080167BC: .4byte 0x020314E0
+_080167BC: .4byte gUnknown_020314E0
_080167C0: .4byte 0x00000165
_080167C4: .4byte 0x00000732
_080167C8: .4byte 0x00000342
_080167CC:
- ldr r0, _08016850 @ =0x020314E0
+ ldr r0, _08016850 @ =gUnknown_020314E0
mov sb, r0
ldr r1, [r0]
ldr r2, _08016854 @ =0x0000132C
@@ -9539,7 +9539,7 @@ _080167EE:
strh r0, [r4, #0x32]
bl _080171B8
.align 2, 0
-_08016850: .4byte 0x020314E0
+_08016850: .4byte gUnknown_020314E0
_08016854: .4byte 0x0000132C
_08016858: .4byte 0x00004E20
_0801685C:
@@ -9551,7 +9551,7 @@ _0801685C:
.align 2, 0
_08016868: .4byte 0x00000342
_0801686C:
- ldr r4, _080168AC @ =0x020314E0
+ ldr r4, _080168AC @ =gUnknown_020314E0
ldr r3, [r4]
ldr r1, _080168B0 @ =0x00000366
adds r0, r3, r1
@@ -9584,10 +9584,10 @@ _080168A4:
strh r0, [r6]
bl _080171B8
.align 2, 0
-_080168AC: .4byte 0x020314E0
+_080168AC: .4byte gUnknown_020314E0
_080168B0: .4byte 0x00000366
_080168B4:
- ldr r1, _0801690C @ =0x020314E0
+ ldr r1, _0801690C @ =gUnknown_020314E0
ldr r3, [r1]
ldr r4, _08016910 @ =0x0000132C
adds r0, r3, r4
@@ -9631,7 +9631,7 @@ _080168B4:
strb r0, [r1]
b _08016938
.align 2, 0
-_0801690C: .4byte 0x020314E0
+_0801690C: .4byte gUnknown_020314E0
_08016910: .4byte 0x0000132C
_08016914: .4byte 0x00000732
_08016918: .4byte 0x0000072B
@@ -9725,7 +9725,7 @@ _080169C8:
ldr r0, _08016A00 @ =0x00002710
_080169CA:
str r0, [r3, #0x3c]
- ldr r0, _08016A04 @ =0x020314E0
+ ldr r0, _08016A04 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r5, _08016A08 @ =0x0000072E
adds r1, r1, r5
@@ -9735,7 +9735,7 @@ _080169CA:
movs r0, #0x99
bl m4aSongNumStart
_080169E0:
- ldr r0, _08016A04 @ =0x020314E0
+ ldr r0, _08016A04 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r2, _08016A0C @ =0x000006BC
adds r1, r1, r2
@@ -9752,7 +9752,7 @@ _080169EE:
bl _080171B8
.align 2, 0
_08016A00: .4byte 0x00002710
-_08016A04: .4byte 0x020314E0
+_08016A04: .4byte gUnknown_020314E0
_08016A08: .4byte 0x0000072E
_08016A0C: .4byte 0x000006BC
_08016A10: .4byte 0x00000732
@@ -9971,7 +9971,7 @@ _08016BB4:
ldr r0, _08016C10 @ =0x00002710
_08016BB6:
str r0, [r3, #0x3c]
- ldr r4, _08016C14 @ =0x020314E0
+ ldr r4, _08016C14 @ =gUnknown_020314E0
ldr r1, [r4]
ldr r5, _08016C18 @ =0x0000072F
adds r1, r1, r5
@@ -10018,13 +10018,13 @@ _08016C00:
b _080171B8
.align 2, 0
_08016C10: .4byte 0x00002710
-_08016C14: .4byte 0x020314E0
+_08016C14: .4byte gUnknown_020314E0
_08016C18: .4byte 0x0000072F
_08016C1C: .4byte 0x00000731
_08016C20: .4byte 0x000006BC
_08016C24: .4byte 0x00000732
_08016C28:
- ldr r0, _08016C4C @ =0x020314E0
+ ldr r0, _08016C4C @ =gUnknown_020314E0
ldr r1, [r0]
ldr r4, _08016C50 @ =0x0000132C
adds r0, r1, r4
@@ -10043,7 +10043,7 @@ _08016C28:
strb r0, [r1]
b _080171B8
.align 2, 0
-_08016C4C: .4byte 0x020314E0
+_08016C4C: .4byte gUnknown_020314E0
_08016C50: .4byte 0x0000132C
_08016C54: .4byte 0x00000732
_08016C58:
@@ -10067,7 +10067,7 @@ _08016C70:
.align 2, 0
_08016C7C: .4byte 0x00000732
_08016C80:
- ldr r4, _08016CD8 @ =0x020314E0
+ ldr r4, _08016CD8 @ =gUnknown_020314E0
ldr r1, [r4]
ldr r3, _08016CDC @ =0x0000132C
adds r0, r1, r3
@@ -10114,7 +10114,7 @@ _08016CC6:
ldr r2, _08016CF0 @ =0x00000713
b _08016DF0
.align 2, 0
-_08016CD8: .4byte 0x020314E0
+_08016CD8: .4byte gUnknown_020314E0
_08016CDC: .4byte 0x0000132C
_08016CE0: .4byte 0x00000732
_08016CE4: .4byte 0x00000714
@@ -10275,7 +10275,7 @@ _08016E1C: .4byte 0x00000714
_08016E20: .4byte 0x00000712
_08016E24: .4byte 0x00000715
_08016E28:
- ldr r0, _08016E54 @ =0x020314E0
+ ldr r0, _08016E54 @ =gUnknown_020314E0
ldr r3, [r0]
movs r4, #0xe2
lsls r4, r4, #1
@@ -10299,7 +10299,7 @@ _08016E3C:
movs r0, #1
b _08016E64
.align 2, 0
-_08016E54: .4byte 0x020314E0
+_08016E54: .4byte gUnknown_020314E0
_08016E58: .4byte 0x0000132C
_08016E5C:
movs r4, #0xe1
@@ -10342,7 +10342,7 @@ _08016E9C:
strh r0, [r1]
b _080171B8
_08016EA2:
- ldr r6, _08016EF8 @ =0x020314E0
+ ldr r6, _08016EF8 @ =gUnknown_020314E0
ldr r1, [r6]
ldr r5, _08016EFC @ =0x00000616
adds r0, r1, r5
@@ -10388,12 +10388,12 @@ _08016EF0:
movs r1, #0x14
b _080171B6
.align 2, 0
-_08016EF8: .4byte 0x020314E0
+_08016EF8: .4byte gUnknown_020314E0
_08016EFC: .4byte 0x00000616
_08016F00: .4byte 0x0000132C
_08016F04: .4byte 0x00000614
_08016F08:
- ldr r5, _08017058 @ =0x020314E0
+ ldr r5, _08017058 @ =gUnknown_020314E0
ldr r0, [r5]
ldr r2, _0801705C @ =0x00000732
adds r1, r0, r2
@@ -10458,7 +10458,7 @@ _08016F1A:
movs r0, #1
strb r0, [r1]
_08016F88:
- ldr r0, _08017058 @ =0x020314E0
+ ldr r0, _08017058 @ =gUnknown_020314E0
ldr r3, [r0]
ldr r6, _08017064 @ =0x0000034A
adds r1, r3, r6
@@ -10568,7 +10568,7 @@ _08017050:
strh r0, [r2, #0x32]
b _080171B8
.align 2, 0
-_08017058: .4byte 0x020314E0
+_08017058: .4byte gUnknown_020314E0
_0801705C: .4byte 0x00000732
_08017060: .4byte 0x086ACE70
_08017064: .4byte 0x0000034A
@@ -10584,7 +10584,7 @@ _08017088: .4byte 0x00000359
_0801708C: .4byte 0x0000132C
_08017090: .4byte 0x0000FF4C
_08017094:
- ldr r5, _08017144 @ =0x020314E0
+ ldr r5, _08017144 @ =gUnknown_020314E0
ldr r0, [r5]
ldr r2, _08017148 @ =0x00000732
adds r1, r0, r2
@@ -10675,7 +10675,7 @@ _080170E6:
strh r3, [r1, #0x32]
b _080171B8
.align 2, 0
-_08017144: .4byte 0x020314E0
+_08017144: .4byte gUnknown_020314E0
_08017148: .4byte 0x00000732
_0801714C: .4byte 0x086ACE70
_08017150: .4byte 0x0000034A
@@ -10686,7 +10686,7 @@ _08017160: .4byte 0x0000035E
_08017164: .4byte 0x00000359
_08017168: .4byte 0x0000132C
_0801716C:
- ldr r3, _08017190 @ =0x020314E0
+ ldr r3, _08017190 @ =gUnknown_020314E0
ldr r1, [r3]
ldr r4, _08017194 @ =0x0000132C
adds r0, r1, r4
@@ -10705,7 +10705,7 @@ _0801716C:
strb r0, [r1]
b _080171B8
.align 2, 0
-_08017190: .4byte 0x020314E0
+_08017190: .4byte gUnknown_020314E0
_08017194: .4byte 0x0000132C
_08017198: .4byte 0x00000306
_0801719C:
@@ -10747,7 +10747,7 @@ sub_171C8: @ 0x080171C8
add r2, sp, #4
movs r1, #0
strh r1, [r2]
- ldr r0, _080172CC @ =0x020314E0
+ ldr r0, _080172CC @ =gUnknown_020314E0
ldr r0, [r0]
mov sl, r0
ldr r0, _080172D0 @ =0x0000132C
@@ -10809,7 +10809,7 @@ _08017242:
subs r1, r4, r1
lsls r1, r1, #0x10
ands r5, r7
- ldr r7, _080172DC @ =0x02031520
+ ldr r7, _080172DC @ =gUnknown_02031520
mov ip, r7
adds r3, r3, r2
lsls r3, r3, #2
@@ -10869,11 +10869,11 @@ _080172C0:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_080172CC: .4byte 0x020314E0
+_080172CC: .4byte gUnknown_020314E0
_080172D0: .4byte 0x0000132C
_080172D4: .4byte 0xFFFF0000
_080172D8: .4byte 0x0000FFFF
-_080172DC: .4byte 0x02031520
+_080172DC: .4byte gUnknown_02031520
_080172E0: .4byte _080172E4
_080172E4: @ jump table
.4byte _080172FC @ case 0
@@ -10883,7 +10883,7 @@ _080172E4: @ jump table
.4byte _080173D8 @ case 4
.4byte _080172FC @ case 5
_080172FC:
- ldr r2, _08017374 @ =0x020314E0
+ ldr r2, _08017374 @ =gUnknown_020314E0
ldr r0, [r2]
subs r1, r3, #1
adds r0, #0x23
@@ -10908,7 +10908,7 @@ _080172FC:
ldr r2, [r3]
movs r0, #0x10
ldrsh r1, [r2, r0]
- ldr r4, _08017380 @ =0x02031520
+ ldr r4, _08017380 @ =gUnknown_02031520
movs r7, #0x26
ldrsh r0, [r4, r7]
subs r0, #8
@@ -10945,10 +10945,10 @@ _08017366:
strh r0, [r4]
b _0801739C
.align 2, 0
-_08017374: .4byte 0x020314E0
+_08017374: .4byte gUnknown_020314E0
_08017378: .4byte 0xFFFFC010
_0801737C: .4byte 0x0000132C
-_08017380: .4byte 0x02031520
+_08017380: .4byte gUnknown_02031520
_08017384: .4byte gMain
_08017388:
ldr r0, _080173A4 @ =0x0000FFD8
@@ -10970,7 +10970,7 @@ _0801739C:
.align 2, 0
_080173A4: .4byte 0x0000FFD8
_080173A8:
- ldr r2, _080173D0 @ =0x020314E0
+ ldr r2, _080173D0 @ =gUnknown_020314E0
ldr r0, [r2]
subs r1, r3, #1
adds r0, #0x23
@@ -10990,7 +10990,7 @@ _080173A8:
strh r0, [r7, #4]
b _080173DA
.align 2, 0
-_080173D0: .4byte 0x020314E0
+_080173D0: .4byte gUnknown_020314E0
_080173D4: .4byte 0x0000FFF0
_080173D8:
movs r6, #4
@@ -11022,7 +11022,7 @@ sub_173FC: @ 0x080173FC
mov ip, r2
movs r7, #0
movs r3, #0
- ldr r1, _08017494 @ =0x020314E0
+ ldr r1, _08017494 @ =gUnknown_020314E0
ldr r5, [r1]
ldr r2, _08017498 @ =0x00000387
adds r0, r5, r2
@@ -11094,7 +11094,7 @@ _0801747A:
strb r0, [r2]
b _080174AC
.align 2, 0
-_08017494: .4byte 0x020314E0
+_08017494: .4byte gUnknown_020314E0
_08017498: .4byte 0x00000387
_0801749C: .4byte 0x000003F2
_080174A0: .4byte 0x083071D4
@@ -11331,7 +11331,7 @@ _0801764C: @ jump table
.4byte _080176A6 @ case 13
.4byte _080176A6 @ case 14
_08017688:
- ldr r2, _080176A8 @ =0x020314E0
+ ldr r2, _080176A8 @ =gUnknown_020314E0
ldr r0, [r2]
movs r1, #0xf7
lsls r1, r1, #2
@@ -11349,7 +11349,7 @@ _08017688:
_080176A6:
bx lr
.align 2, 0
-_080176A8: .4byte 0x020314E0
+_080176A8: .4byte gUnknown_020314E0
_080176AC: .4byte 0x00000387
thumb_func_start sub_176B0
@@ -11365,7 +11365,7 @@ sub_176B0: @ 0x080176B0
add r2, sp, #4
movs r1, #0
strh r1, [r2]
- ldr r0, _080177B0 @ =0x020314E0
+ ldr r0, _080177B0 @ =gUnknown_020314E0
ldr r0, [r0]
mov sb, r0
ldr r0, _080177B4 @ =0x0000132C
@@ -11427,7 +11427,7 @@ _0801772A:
subs r1, r4, r1
lsls r1, r1, #0x10
ands r5, r7
- ldr r0, _080177C0 @ =0x02031520
+ ldr r0, _080177C0 @ =gUnknown_02031520
mov ip, r0
adds r3, r3, r2
lsls r3, r3, #2
@@ -11485,11 +11485,11 @@ _0801772A:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_080177B0: .4byte 0x020314E0
+_080177B0: .4byte gUnknown_020314E0
_080177B4: .4byte 0x0000132C
_080177B8: .4byte 0xFFFF0000
_080177BC: .4byte 0x0000FFFF
-_080177C0: .4byte 0x02031520
+_080177C0: .4byte gUnknown_02031520
_080177C4: .4byte _080177C8
_080177C8: @ jump table
.4byte _080177E0 @ case 0
@@ -11499,7 +11499,7 @@ _080177C8: @ jump table
.4byte _08017874 @ case 4
.4byte _080177E0 @ case 5
_080177E0:
- ldr r2, _08017800 @ =0x020314E0
+ ldr r2, _08017800 @ =gUnknown_020314E0
ldr r0, [r2]
subs r1, r3, #1
adds r0, #0x23
@@ -11516,9 +11516,9 @@ _080177E0:
strh r1, [r4, #4]
b _08017876
.align 2, 0
-_08017800: .4byte 0x020314E0
+_08017800: .4byte gUnknown_020314E0
_08017804:
- ldr r2, _0801785C @ =0x020314E0
+ ldr r2, _0801785C @ =gUnknown_020314E0
ldr r0, [r2]
adds r0, #0x23
movs r1, #0
@@ -11563,7 +11563,7 @@ _0801784E:
strh r1, [r0]
b _08017876
.align 2, 0
-_0801785C: .4byte 0x020314E0
+_0801785C: .4byte gUnknown_020314E0
_08017860: .4byte 0x0000FFF0
_08017864: .4byte 0x00000404
_08017868: .4byte 0x00000406
@@ -11594,7 +11594,7 @@ sub_17898: @ 0x08017898
adds r3, r0, #0
adds r7, r1, #0
adds r4, r2, #0
- ldr r0, _08017924 @ =0x020314E0
+ ldr r0, _08017924 @ =gUnknown_020314E0
ldr r5, [r0]
ldr r1, _08017928 @ =0x00000387
adds r0, r5, r1
@@ -11662,7 +11662,7 @@ _080178C0:
strb r0, [r1]
b _080179B8
.align 2, 0
-_08017924: .4byte 0x020314E0
+_08017924: .4byte gUnknown_020314E0
_08017928: .4byte 0x00000387
_0801792C: .4byte 0x000003F2
_08017930: .4byte 0x0832D604
@@ -11747,7 +11747,7 @@ sub_179D0: @ 0x080179D0
push {r4, lr}
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
- ldr r2, _080179F8 @ =0x020314E0
+ ldr r2, _080179F8 @ =gUnknown_020314E0
ldr r1, [r2]
ldr r3, _080179FC @ =0x0000132C
adds r1, r1, r3
@@ -11765,7 +11765,7 @@ _080179EC:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_080179F8: .4byte 0x020314E0
+_080179F8: .4byte gUnknown_020314E0
_080179FC: .4byte 0x0000132C
_08017A00: .4byte _08017A04
_08017A04: @ jump table
@@ -12039,7 +12039,7 @@ sub_17C1C: @ 0x08017C1C
push {r7}
sub sp, #4
adds r3, r0, #0
- ldr r0, _08017CF8 @ =0x020314E0
+ ldr r0, _08017CF8 @ =gUnknown_020314E0
ldr r1, [r0]
movs r2, #0xfe
lsls r2, r2, #2
@@ -12102,7 +12102,7 @@ _08017C88:
subs r1, r4, r1
lsls r1, r1, #0x10
ands r6, r5
- ldr r4, _08017D04 @ =0x02031520
+ ldr r4, _08017D04 @ =gUnknown_02031520
adds r3, r3, r2
lsls r3, r3, #2
adds r2, r4, #0
@@ -12149,10 +12149,10 @@ _08017CEE:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_08017CF8: .4byte 0x020314E0
+_08017CF8: .4byte gUnknown_020314E0
_08017CFC: .4byte 0xFFFF0000
_08017D00: .4byte 0x0000FFFF
-_08017D04: .4byte 0x02031520
+_08017D04: .4byte gUnknown_02031520
_08017D08: .4byte 0x00000402
_08017D0C: .4byte _08017D10
_08017D10: @ jump table
@@ -12445,7 +12445,7 @@ sub_17F28: @ 0x08017F28
add r2, sp, #4
movs r3, #0
strh r3, [r2]
- ldr r0, _08018018 @ =0x020314E0
+ ldr r0, _08018018 @ =gUnknown_020314E0
ldr r0, [r0]
mov sl, r0
ldr r0, _0801801C @ =0x0000132C
@@ -12513,7 +12513,7 @@ _08017FAE:
subs r1, r4, r1
lsls r1, r1, #0x10
ands r5, r7
- ldr r7, _0801802C @ =0x02031520
+ ldr r7, _0801802C @ =gUnknown_02031520
mov ip, r7
adds r3, r3, r2
lsls r3, r3, #2
@@ -12557,12 +12557,12 @@ _08017FAE:
adds r4, r0, #0
b _0801803E
.align 2, 0
-_08018018: .4byte 0x020314E0
+_08018018: .4byte gUnknown_020314E0
_0801801C: .4byte 0x0000132C
_08018020: .4byte 0x000001FF
_08018024: .4byte 0xFFFF0000
_08018028: .4byte 0x0000FFFF
-_0801802C: .4byte 0x02031520
+_0801802C: .4byte gUnknown_02031520
_08018030:
mov r0, sp
strh r3, [r0]
@@ -12600,7 +12600,7 @@ _08018068: @ jump table
.4byte _0801815C @ case 4
.4byte _08018080 @ case 5
_08018080:
- ldr r2, _080180F8 @ =0x020314E0
+ ldr r2, _080180F8 @ =gUnknown_020314E0
ldr r0, [r2]
subs r1, r3, #1
adds r0, #0x23
@@ -12625,7 +12625,7 @@ _08018080:
ldr r2, [r3]
movs r0, #0x10
ldrsh r1, [r2, r0]
- ldr r4, _08018104 @ =0x02031520
+ ldr r4, _08018104 @ =gUnknown_02031520
movs r7, #0x26
ldrsh r0, [r4, r7]
subs r0, #8
@@ -12662,10 +12662,10 @@ _080180EA:
strh r0, [r4]
b _08018120
.align 2, 0
-_080180F8: .4byte 0x020314E0
+_080180F8: .4byte gUnknown_020314E0
_080180FC: .4byte 0xFFFFC010
_08018100: .4byte 0x0000132C
-_08018104: .4byte 0x02031520
+_08018104: .4byte gUnknown_02031520
_08018108: .4byte gMain
_0801810C:
ldr r0, _08018128 @ =0x0000FFD8
@@ -12687,7 +12687,7 @@ _08018120:
.align 2, 0
_08018128: .4byte 0x0000FFD8
_0801812C:
- ldr r2, _08018154 @ =0x020314E0
+ ldr r2, _08018154 @ =gUnknown_020314E0
ldr r0, [r2]
subs r1, r3, #1
adds r0, #0x23
@@ -12707,7 +12707,7 @@ _0801812C:
strh r0, [r7, #4]
b _0801815E
.align 2, 0
-_08018154: .4byte 0x020314E0
+_08018154: .4byte gUnknown_020314E0
_08018158: .4byte 0x0000FFF0
_0801815C:
movs r6, #4
@@ -12734,7 +12734,7 @@ sub_18180: @ 0x08018180
adds r3, r0, #0
adds r6, r1, #0
adds r5, r2, #0
- ldr r0, _080181DC @ =0x020314E0
+ ldr r0, _080181DC @ =gUnknown_020314E0
ldr r4, [r0]
ldr r1, _080181E0 @ =0x00000387
adds r0, r4, r1
@@ -12777,7 +12777,7 @@ sub_18180: @ 0x08018180
lsls r0, r0, #3
b _08018278
.align 2, 0
-_080181DC: .4byte 0x020314E0
+_080181DC: .4byte gUnknown_020314E0
_080181E0: .4byte 0x00000387
_080181E4: .4byte 0x000003F2
_080181E8: .4byte 0x08340B58
@@ -12912,7 +12912,7 @@ _080182CC: @ jump table
.4byte _0801831C @ case 13
.4byte _0801831C @ case 14
_08018308:
- ldr r2, _08018320 @ =0x020314E0
+ ldr r2, _08018320 @ =gUnknown_020314E0
ldr r0, [r2]
movs r1, #0xf7
lsls r1, r1, #2
@@ -12925,7 +12925,7 @@ _08018308:
_0801831C:
bx lr
.align 2, 0
-_08018320: .4byte 0x020314E0
+_08018320: .4byte gUnknown_020314E0
thumb_func_start sub_18324
sub_18324: @ 0x08018324
@@ -12940,7 +12940,7 @@ sub_18324: @ 0x08018324
add r2, sp, #4
movs r3, #0
strh r3, [r2]
- ldr r0, _08018414 @ =0x020314E0
+ ldr r0, _08018414 @ =gUnknown_020314E0
ldr r0, [r0]
mov sl, r0
ldr r0, _08018418 @ =0x0000132C
@@ -13008,7 +13008,7 @@ _080183AA:
subs r1, r4, r1
lsls r1, r1, #0x10
ands r5, r7
- ldr r7, _08018428 @ =0x02031520
+ ldr r7, _08018428 @ =gUnknown_02031520
mov ip, r7
adds r3, r3, r2
lsls r3, r3, #2
@@ -13052,12 +13052,12 @@ _080183AA:
adds r4, r0, #0
b _0801843A
.align 2, 0
-_08018414: .4byte 0x020314E0
+_08018414: .4byte gUnknown_020314E0
_08018418: .4byte 0x0000132C
_0801841C: .4byte 0x000001FF
_08018420: .4byte 0xFFFF0000
_08018424: .4byte 0x0000FFFF
-_08018428: .4byte 0x02031520
+_08018428: .4byte gUnknown_02031520
_0801842C:
mov r0, sp
strh r3, [r0]
@@ -13095,7 +13095,7 @@ _08018464: @ jump table
.4byte _08018558 @ case 4
.4byte _0801847C @ case 5
_0801847C:
- ldr r2, _080184F4 @ =0x020314E0
+ ldr r2, _080184F4 @ =gUnknown_020314E0
ldr r0, [r2]
subs r1, r3, #1
adds r0, #0x23
@@ -13120,7 +13120,7 @@ _0801847C:
ldr r2, [r3]
movs r0, #0x10
ldrsh r1, [r2, r0]
- ldr r4, _08018500 @ =0x02031520
+ ldr r4, _08018500 @ =gUnknown_02031520
movs r7, #0x26
ldrsh r0, [r4, r7]
subs r0, #8
@@ -13157,10 +13157,10 @@ _080184E6:
strh r0, [r4]
b _0801851C
.align 2, 0
-_080184F4: .4byte 0x020314E0
+_080184F4: .4byte gUnknown_020314E0
_080184F8: .4byte 0xFFFFC010
_080184FC: .4byte 0x0000132C
-_08018500: .4byte 0x02031520
+_08018500: .4byte gUnknown_02031520
_08018504: .4byte gMain
_08018508:
ldr r0, _08018524 @ =0x0000FFD8
@@ -13182,7 +13182,7 @@ _0801851C:
.align 2, 0
_08018524: .4byte 0x0000FFD8
_08018528:
- ldr r2, _08018550 @ =0x020314E0
+ ldr r2, _08018550 @ =gUnknown_020314E0
ldr r0, [r2]
subs r1, r3, #1
adds r0, #0x23
@@ -13202,7 +13202,7 @@ _08018528:
strh r0, [r7, #4]
b _0801855A
.align 2, 0
-_08018550: .4byte 0x020314E0
+_08018550: .4byte gUnknown_020314E0
_08018554: .4byte 0x0000FFF0
_08018558:
movs r6, #4
@@ -13233,7 +13233,7 @@ sub_1857C: @ 0x0801857C
mov r8, r0
mov sl, r1
mov ip, r2
- ldr r0, _08018758 @ =0x020314E0
+ ldr r0, _08018758 @ =gUnknown_020314E0
ldr r4, [r0]
ldr r1, _0801875C @ =0x00000387
adds r0, r4, r1
@@ -13301,7 +13301,7 @@ _08018606:
strb r3, [r1]
_0801860E:
movs r5, #0
- ldr r3, _08018758 @ =0x020314E0
+ ldr r3, _08018758 @ =gUnknown_020314E0
mov sb, r3
_08018614:
mov r0, sb
@@ -13382,7 +13382,7 @@ _0801869C:
cmp r0, #2
ble _08018614
movs r5, #0
- ldr r0, _08018758 @ =0x020314E0
+ ldr r0, _08018758 @ =gUnknown_020314E0
mov sb, r0
_080186B2:
mov r3, sb
@@ -13469,7 +13469,7 @@ _0801873A:
pop {r0}
bx r0
.align 2, 0
-_08018758: .4byte 0x020314E0
+_08018758: .4byte gUnknown_020314E0
_0801875C: .4byte 0x00000387
_08018760: .4byte 0x083579C8
_08018764: .4byte 0x0000FFF0
@@ -13512,7 +13512,7 @@ _0801879C: @ jump table
.4byte _080187EC @ case 13
.4byte _080187EC @ case 14
_080187D8:
- ldr r2, _080187F0 @ =0x020314E0
+ ldr r2, _080187F0 @ =gUnknown_020314E0
ldr r0, [r2]
movs r1, #0xf7
lsls r1, r1, #2
@@ -13525,7 +13525,7 @@ _080187D8:
_080187EC:
bx lr
.align 2, 0
-_080187F0: .4byte 0x020314E0
+_080187F0: .4byte gUnknown_020314E0
thumb_func_start sub_187F4
sub_187F4: @ 0x080187F4
@@ -13540,7 +13540,7 @@ sub_187F4: @ 0x080187F4
add r2, sp, #4
movs r3, #0
strh r3, [r2]
- ldr r0, _080188E4 @ =0x020314E0
+ ldr r0, _080188E4 @ =gUnknown_020314E0
ldr r0, [r0]
mov sl, r0
ldr r0, _080188E8 @ =0x0000132C
@@ -13608,7 +13608,7 @@ _0801887A:
subs r1, r4, r1
lsls r1, r1, #0x10
ands r5, r7
- ldr r7, _080188F8 @ =0x02031520
+ ldr r7, _080188F8 @ =gUnknown_02031520
mov ip, r7
adds r3, r3, r2
lsls r3, r3, #2
@@ -13652,12 +13652,12 @@ _0801887A:
adds r4, r0, #0
b _0801890A
.align 2, 0
-_080188E4: .4byte 0x020314E0
+_080188E4: .4byte gUnknown_020314E0
_080188E8: .4byte 0x0000132C
_080188EC: .4byte 0x000001FF
_080188F0: .4byte 0xFFFF0000
_080188F4: .4byte 0x0000FFFF
-_080188F8: .4byte 0x02031520
+_080188F8: .4byte gUnknown_02031520
_080188FC:
mov r0, sp
strh r3, [r0]
@@ -13695,7 +13695,7 @@ _08018934: @ jump table
.4byte _08018A28 @ case 4
.4byte _0801894C @ case 5
_0801894C:
- ldr r2, _080189C4 @ =0x020314E0
+ ldr r2, _080189C4 @ =gUnknown_020314E0
ldr r0, [r2]
subs r1, r3, #1
adds r0, #0x23
@@ -13720,7 +13720,7 @@ _0801894C:
ldr r2, [r3]
movs r0, #0x10
ldrsh r1, [r2, r0]
- ldr r4, _080189D0 @ =0x02031520
+ ldr r4, _080189D0 @ =gUnknown_02031520
movs r7, #0x26
ldrsh r0, [r4, r7]
subs r0, #8
@@ -13757,10 +13757,10 @@ _080189B6:
strh r0, [r4]
b _080189EC
.align 2, 0
-_080189C4: .4byte 0x020314E0
+_080189C4: .4byte gUnknown_020314E0
_080189C8: .4byte 0xFFFFC010
_080189CC: .4byte 0x0000132C
-_080189D0: .4byte 0x02031520
+_080189D0: .4byte gUnknown_02031520
_080189D4: .4byte gMain
_080189D8:
ldr r0, _080189F4 @ =0x0000FFD8
@@ -13782,7 +13782,7 @@ _080189EC:
.align 2, 0
_080189F4: .4byte 0x0000FFD8
_080189F8:
- ldr r2, _08018A20 @ =0x020314E0
+ ldr r2, _08018A20 @ =gUnknown_020314E0
ldr r0, [r2]
subs r1, r3, #1
adds r0, #0x23
@@ -13802,7 +13802,7 @@ _080189F8:
strh r0, [r7, #4]
b _08018A2A
.align 2, 0
-_08018A20: .4byte 0x020314E0
+_08018A20: .4byte gUnknown_020314E0
_08018A24: .4byte 0x0000FFF0
_08018A28:
movs r6, #4
@@ -13829,7 +13829,7 @@ sub_18A4C: @ 0x08018A4C
adds r3, r0, #0
adds r7, r1, #0
adds r5, r2, #0
- ldr r0, _08018AC8 @ =0x020314E0
+ ldr r0, _08018AC8 @ =gUnknown_020314E0
ldr r4, [r0]
ldr r1, _08018ACC @ =0x00000387
adds r0, r4, r1
@@ -13889,7 +13889,7 @@ _08018AC2:
pop {r0}
bx r0
.align 2, 0
-_08018AC8: .4byte 0x020314E0
+_08018AC8: .4byte gUnknown_020314E0
_08018ACC: .4byte 0x00000387
_08018AD0: .4byte 0x000003F2
_08018AD4: .4byte 0x083722E8
@@ -13927,7 +13927,7 @@ _08018AF8: @ jump table
.4byte _08018B48 @ case 13
.4byte _08018B48 @ case 14
_08018B34:
- ldr r2, _08018B4C @ =0x020314E0
+ ldr r2, _08018B4C @ =gUnknown_020314E0
ldr r0, [r2]
movs r1, #0xf7
lsls r1, r1, #2
@@ -13940,7 +13940,7 @@ _08018B34:
_08018B48:
bx lr
.align 2, 0
-_08018B4C: .4byte 0x020314E0
+_08018B4C: .4byte gUnknown_020314E0
thumb_func_start sub_18B50
sub_18B50: @ 0x08018B50
@@ -13955,7 +13955,7 @@ sub_18B50: @ 0x08018B50
add r2, sp, #4
movs r1, #0
strh r1, [r2]
- ldr r0, _08018C54 @ =0x020314E0
+ ldr r0, _08018C54 @ =gUnknown_020314E0
ldr r0, [r0]
mov sl, r0
ldr r0, _08018C58 @ =0x0000132C
@@ -14017,7 +14017,7 @@ _08018BCA:
subs r1, r4, r1
lsls r1, r1, #0x10
ands r5, r7
- ldr r7, _08018C64 @ =0x02031520
+ ldr r7, _08018C64 @ =gUnknown_02031520
mov ip, r7
adds r3, r3, r2
lsls r3, r3, #2
@@ -14077,11 +14077,11 @@ _08018C48:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_08018C54: .4byte 0x020314E0
+_08018C54: .4byte gUnknown_020314E0
_08018C58: .4byte 0x0000132C
_08018C5C: .4byte 0xFFFF0000
_08018C60: .4byte 0x0000FFFF
-_08018C64: .4byte 0x02031520
+_08018C64: .4byte gUnknown_02031520
_08018C68: .4byte _08018C6C
_08018C6C: @ jump table
.4byte _08018C84 @ case 0
@@ -14091,7 +14091,7 @@ _08018C6C: @ jump table
.4byte _08018D88 @ case 4
.4byte _08018C84 @ case 5
_08018C84:
- ldr r3, _08018CFC @ =0x020314E0
+ ldr r3, _08018CFC @ =gUnknown_020314E0
ldr r0, [r3]
subs r1, r2, #1
adds r0, #0x23
@@ -14116,7 +14116,7 @@ _08018C84:
ldr r2, [r3]
movs r7, #0x10
ldrsh r1, [r2, r7]
- ldr r4, _08018D08 @ =0x02031520
+ ldr r4, _08018D08 @ =gUnknown_02031520
movs r7, #0x26
ldrsh r0, [r4, r7]
subs r0, #8
@@ -14153,10 +14153,10 @@ _08018CEE:
strh r0, [r4]
b _08018D24
.align 2, 0
-_08018CFC: .4byte 0x020314E0
+_08018CFC: .4byte gUnknown_020314E0
_08018D00: .4byte 0xFFFFC010
_08018D04: .4byte 0x0000132C
-_08018D08: .4byte 0x02031520
+_08018D08: .4byte gUnknown_02031520
_08018D0C: .4byte gMain
_08018D10:
ldr r0, _08018D2C @ =0x0000FFD8
@@ -14178,7 +14178,7 @@ _08018D24:
.align 2, 0
_08018D2C: .4byte 0x0000FFD8
_08018D30:
- ldr r2, _08018D68 @ =0x020314E0
+ ldr r2, _08018D68 @ =gUnknown_020314E0
ldr r0, [r2]
adds r0, #0x23
movs r1, #0
@@ -14206,7 +14206,7 @@ _08018D30:
adds r1, r1, r4
b _08018D78
.align 2, 0
-_08018D68: .4byte 0x020314E0
+_08018D68: .4byte gUnknown_020314E0
_08018D6C: .4byte 0x0000FFF0
_08018D70: .4byte 0x0000132C
_08018D74:
@@ -14252,7 +14252,7 @@ sub_18DAC: @ 0x08018DAC
adds r7, r2, #0
movs r1, #0
_08018DBE:
- ldr r0, _08018E5C @ =0x020314E0
+ ldr r0, _08018E5C @ =gUnknown_020314E0
ldr r6, [r0]
lsls r1, r1, #0x10
asrs r5, r1, #0x10
@@ -14326,7 +14326,7 @@ _08018E1A:
strh r1, [r3]
movs r0, #6
strb r0, [r7]
- ldr r1, _08018E5C @ =0x020314E0
+ ldr r1, _08018E5C @ =gUnknown_020314E0
ldr r0, [r1]
ldr r2, _08018E70 @ =0x00000553
adds r0, r0, r2
@@ -14334,7 +14334,7 @@ _08018E1A:
movs r1, #4
b _08018F14
.align 2, 0
-_08018E5C: .4byte 0x020314E0
+_08018E5C: .4byte gUnknown_020314E0
_08018E60: .4byte 0x0000054F
_08018E64: .4byte 0x00000572
_08018E68: .4byte 0x08393A4C
@@ -14390,7 +14390,7 @@ _08018E74:
strh r1, [r2]
movs r0, #6
strb r0, [r7]
- ldr r3, _08018F00 @ =0x020314E0
+ ldr r3, _08018F00 @ =gUnknown_020314E0
ldr r1, [r3]
ldr r2, _08018F04 @ =0x0000054F
adds r0, r1, r2
@@ -14409,7 +14409,7 @@ _08018E74:
_08018EF4: .4byte 0x00000572
_08018EF8: .4byte 0x08391A4C
_08018EFC: .4byte 0x0000FFF0
-_08018F00: .4byte 0x020314E0
+_08018F00: .4byte gUnknown_020314E0
_08018F04: .4byte 0x0000054F
_08018F08: .4byte 0x00000553
_08018F0C:
@@ -14470,7 +14470,7 @@ _08018F50: @ jump table
.4byte _0801901C @ case 13
.4byte _0801901C @ case 14
_08018F8C:
- ldr r2, _08018FA4 @ =0x020314E0
+ ldr r2, _08018FA4 @ =gUnknown_020314E0
ldr r0, [r2]
ldr r1, _08018FA8 @ =0x00000532
adds r0, r0, r1
@@ -14482,10 +14482,10 @@ _08018F8C:
adds r0, r0, r2
b _08018FC0
.align 2, 0
-_08018FA4: .4byte 0x020314E0
+_08018FA4: .4byte gUnknown_020314E0
_08018FA8: .4byte 0x00000532
_08018FAC:
- ldr r2, _08018FC8 @ =0x020314E0
+ ldr r2, _08018FC8 @ =gUnknown_020314E0
ldr r0, [r2]
ldr r3, _08018FCC @ =0x00000532
adds r0, r0, r3
@@ -14500,10 +14500,10 @@ _08018FC0:
strb r1, [r0]
b _0801901C
.align 2, 0
-_08018FC8: .4byte 0x020314E0
+_08018FC8: .4byte gUnknown_020314E0
_08018FCC: .4byte 0x00000532
_08018FD0:
- ldr r2, _08018FF4 @ =0x020314E0
+ ldr r2, _08018FF4 @ =gUnknown_020314E0
ldr r0, [r2]
ldr r3, _08018FF8 @ =0x00000532
adds r0, r0, r3
@@ -14521,10 +14521,10 @@ _08018FD0:
adds r0, r0, r2
b _08019018
.align 2, 0
-_08018FF4: .4byte 0x020314E0
+_08018FF4: .4byte gUnknown_020314E0
_08018FF8: .4byte 0x00000532
_08018FFC:
- ldr r1, _08019020 @ =0x020314E0
+ ldr r1, _08019020 @ =gUnknown_020314E0
ldr r0, [r1]
ldr r3, _08019024 @ =0x00000532
adds r0, r0, r3
@@ -14544,7 +14544,7 @@ _08019018:
_0801901C:
bx lr
.align 2, 0
-_08019020: .4byte 0x020314E0
+_08019020: .4byte gUnknown_020314E0
_08019024: .4byte 0x00000532
thumb_func_start IdlePinballGameMain
@@ -14574,7 +14574,7 @@ sub_19048: @ 0x08019048
ldr r0, _080190A8 @ =0x02031510
str r2, [r0]
adds r5, r1, #0
- ldr r4, _080190AC @ =0x02031520
+ ldr r4, _080190AC @ =gUnknown_02031520
adds r3, r5, #7
_0801905E:
lsls r0, r2, #0x10
@@ -14614,7 +14614,7 @@ _0801908E:
.align 2, 0
_080190A4: .4byte gMain
_080190A8: .4byte 0x02031510
-_080190AC: .4byte 0x02031520
+_080190AC: .4byte gUnknown_02031520
_080190B0:
cmp r0, #2
beq _080190F4
@@ -14622,7 +14622,7 @@ _080190B0:
beq _08019110
b _0801911E
_080190BA:
- ldr r1, _080190C8 @ =0x02031520
+ ldr r1, _080190C8 @ =gUnknown_02031520
ldr r0, _080190CC @ =0x00000A14
strh r0, [r1, #6]
ldr r0, _080190D0 @ =0x081450F4
@@ -14630,12 +14630,12 @@ _080190BA:
ldr r0, _080190D4 @ =0x081531F4
b _0801911C
.align 2, 0
-_080190C8: .4byte 0x02031520
+_080190C8: .4byte gUnknown_02031520
_080190CC: .4byte 0x00000A14
_080190D0: .4byte 0x081450F4
_080190D4: .4byte 0x081531F4
_080190D8:
- ldr r1, _080190E8 @ =0x02031520
+ ldr r1, _080190E8 @ =gUnknown_02031520
movs r0, #0xf0
lsls r0, r0, #4
strh r0, [r1, #6]
@@ -14644,11 +14644,11 @@ _080190D8:
ldr r0, _080190F0 @ =0x08156E60
b _0801911C
.align 2, 0
-_080190E8: .4byte 0x02031520
+_080190E8: .4byte gUnknown_02031520
_080190EC: .4byte 0x0814F9B4
_080190F0: .4byte 0x08156E60
_080190F4:
- ldr r1, _08019104 @ =0x02031520
+ ldr r1, _08019104 @ =gUnknown_02031520
movs r0, #0xd2
lsls r0, r0, #4
strh r0, [r1, #6]
@@ -14657,11 +14657,11 @@ _080190F4:
ldr r0, _0801910C @ =0x08154618
b _0801911C
.align 2, 0
-_08019104: .4byte 0x02031520
+_08019104: .4byte gUnknown_02031520
_08019108: .4byte 0x08148934
_0801910C: .4byte 0x08154618
_08019110:
- ldr r1, _08019134 @ =0x02031520
+ ldr r1, _08019134 @ =gUnknown_02031520
ldr r0, _08019138 @ =0x00000E4C
strh r0, [r1, #6]
ldr r0, _0801913C @ =0x0814C174
@@ -14680,7 +14680,7 @@ _0801911E:
beq _08019156
b _08019164
.align 2, 0
-_08019134: .4byte 0x02031520
+_08019134: .4byte gUnknown_02031520
_08019138: .4byte 0x00000E4C
_0801913C: .4byte 0x0814C174
_08019140: .4byte 0x08155A3C
@@ -14702,7 +14702,7 @@ _0801915E:
movs r0, #0x20
bl m4aSongNumStart
_08019164:
- ldr r3, _08019188 @ =0x02031520
+ ldr r3, _08019188 @ =gUnknown_02031520
ldr r1, _0801918C @ =0x0200B134
movs r0, #0xcd
adds r0, r0, r1
@@ -14720,13 +14720,13 @@ _08019164:
pop {r0}
bx r0
.align 2, 0
-_08019188: .4byte 0x02031520
+_08019188: .4byte gUnknown_02031520
_0801918C: .4byte 0x0200B134
thumb_func_start sub_19190
sub_19190: @ 0x08019190
push {r4, r5, lr}
- ldr r0, _080191A8 @ =0x020314E0
+ ldr r0, _080191A8 @ =gUnknown_020314E0
ldr r2, [r0]
ldrb r1, [r2, #0x1d]
cmp r1, #1
@@ -14737,7 +14737,7 @@ sub_19190: @ 0x08019190
beq _080191B2
b _0801927C
.align 2, 0
-_080191A8: .4byte 0x020314E0
+_080191A8: .4byte gUnknown_020314E0
_080191AC:
cmp r1, #2
beq _08019274
@@ -14764,7 +14764,7 @@ _080191D4:
_080191D8:
ldr r3, _08019214 @ =gMain
ldr r0, [r3, #0x54]
- ldr r1, _08019218 @ =0x02031520
+ ldr r1, _08019218 @ =gUnknown_02031520
movs r4, #6
ldrsh r2, [r1, r4]
adds r1, r0, #0
@@ -14793,7 +14793,7 @@ _080191FA:
b _08019224
.align 2, 0
_08019214: .4byte gMain
-_08019218: .4byte 0x02031520
+_08019218: .4byte gUnknown_02031520
_0801921C:
cmp r0, #3
bne _08019224
@@ -14804,7 +14804,7 @@ _08019224:
movs r3, #2
adds r0, r3, #0
ands r0, r1
- ldr r2, _08019260 @ =0x020314E0
+ ldr r2, _08019260 @ =gUnknown_020314E0
cmp r0, #0
beq _08019248
ldr r1, _08019264 @ =0x040000D4
@@ -14828,7 +14828,7 @@ _08019248:
b _0801927C
.align 2, 0
_0801925C: .4byte gMain
-_08019260: .4byte 0x020314E0
+_08019260: .4byte gUnknown_020314E0
_08019264: .4byte 0x040000D4
_08019268: .4byte 0x0000111A
_0801926C: .4byte 0x05000200
@@ -14853,7 +14853,7 @@ sub_19288: @ 0x08019288
adds r2, #0x36
movs r0, #0
strb r0, [r2]
- ldr r2, _080192E4 @ =0x02031520
+ ldr r2, _080192E4 @ =gUnknown_02031520
ldrb r0, [r2, #5]
ldr r4, _080192E8 @ =0x00000141
adds r3, r1, r4
@@ -14878,7 +14878,7 @@ _080192A4:
bl m4aMPlayAllStop
bl sub_D10
ldr r2, _080192E0 @ =gMain
- ldr r0, _080192E4 @ =0x02031520
+ ldr r0, _080192E4 @ =gUnknown_02031520
movs r3, #6
ldrsh r1, [r0, r3]
ldr r0, [r2, #0x54]
@@ -14889,7 +14889,7 @@ _080192A4:
b _080192F2
.align 2, 0
_080192E0: .4byte gMain
-_080192E4: .4byte 0x02031520
+_080192E4: .4byte gUnknown_02031520
_080192E8: .4byte 0x00000141
_080192EC:
movs r0, #9
@@ -14927,7 +14927,7 @@ sub_1931C: @ 0x0801931C
push {r5, r6, r7}
sub sp, #4
str r0, [sp]
- ldr r0, _080193BC @ =0x020314E0
+ ldr r0, _080193BC @ =gUnknown_020314E0
mov r8, r0
ldr r1, [r0]
mov sb, r1
@@ -14943,7 +14943,7 @@ sub_1931C: @ 0x0801931C
adds r0, #0x53
lsls r0, r0, #0x10
ldr r3, _080193C8 @ =0xFFFF0000
- ldr r2, _080193CC @ =0x02031520
+ ldr r2, _080193CC @ =gUnknown_02031520
ldrh r1, [r2, #0x1c]
ldrh r2, [r7, #2]
adds r4, r1, r2
@@ -14992,7 +14992,7 @@ sub_1931C: @ 0x0801931C
lsls r0, r0, #0x10
mov r2, r8
ldr r3, _080193C4 @ =0x086ACE8C
- ldr r4, _080193CC @ =0x02031520
+ ldr r4, _080193CC @ =gUnknown_02031520
cmp r0, #0
blt _080193D8
ldr r1, _080193D4 @ =0x000013C4
@@ -15000,11 +15000,11 @@ sub_1931C: @ 0x0801931C
movs r0, #1
b _080193DE
.align 2, 0
-_080193BC: .4byte 0x020314E0
+_080193BC: .4byte gUnknown_020314E0
_080193C0: .4byte 0x000013BC
_080193C4: .4byte 0x086ACE8C
_080193C8: .4byte 0xFFFF0000
-_080193CC: .4byte 0x02031520
+_080193CC: .4byte gUnknown_02031520
_080193D0: .4byte 0x0000FFFF
_080193D4: .4byte 0x000013C4
_080193D8:
@@ -15113,7 +15113,7 @@ sub_19490: @ 0x08019490
bl sub_195C4
_080194A8:
movs r3, #0
- ldr r0, _080194E0 @ =0x020314E0
+ ldr r0, _080194E0 @ =gUnknown_020314E0
mov r8, r0
ldr r1, _080194E4 @ =0x00000A28
adds r1, r1, r4
@@ -15140,7 +15140,7 @@ _080194BA:
b _080194FA
.align 2, 0
_080194DC: .4byte gMain
-_080194E0: .4byte 0x020314E0
+_080194E0: .4byte gUnknown_020314E0
_080194E4: .4byte 0x00000A28
_080194E8: .4byte 0x040000D4
_080194EC: .4byte gOamBuffer
@@ -15180,7 +15180,7 @@ _080194FC:
ldrh r1, [r1]
subs r0, r0, r1
strh r0, [r5, #2]
- ldr r0, _080195AC @ =0x02031520
+ ldr r0, _080195AC @ =gUnknown_02031520
adds r4, #0x5a
ldrh r0, [r0, #0x1c]
ldrh r1, [r4]
@@ -15239,7 +15239,7 @@ _0801958A:
.align 2, 0
_080195A4: .4byte 0x000013BC
_080195A8: .4byte 0x086ACEF4
-_080195AC: .4byte 0x02031520
+_080195AC: .4byte gUnknown_02031520
_080195B0: .4byte 0x083FE44C
_080195B4: .4byte 0x06010000
_080195B8: .4byte 0x80000100
@@ -15251,7 +15251,7 @@ sub_195C4: @ 0x080195C4
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
- ldr r4, _08019630 @ =0x020314E0
+ ldr r4, _08019630 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r1, _08019634 @ =0x0000132C
adds r0, r0, r1
@@ -15302,7 +15302,7 @@ _08019624:
strb r1, [r4, #7]
b _08019650
.align 2, 0
-_08019630: .4byte 0x020314E0
+_08019630: .4byte gUnknown_020314E0
_08019634: .4byte 0x0000132C
_08019638: .4byte 0x000013BC
_0801963C:
@@ -15454,7 +15454,7 @@ sub_19734: @ 0x08019734
bl sub_19894
_08019750:
movs r3, #0
- ldr r1, _08019784 @ =0x020314E0
+ ldr r1, _08019784 @ =gUnknown_020314E0
mov sb, r1
ldr r2, _08019788 @ =0x040000D4
mov ip, r2
@@ -15480,7 +15480,7 @@ _0801975E:
b _0801979A
.align 2, 0
_08019780: .4byte gMain
-_08019784: .4byte 0x020314E0
+_08019784: .4byte gUnknown_020314E0
_08019788: .4byte 0x040000D4
_0801978C: .4byte gOamBuffer
_08019790: .4byte 0x000013BC
@@ -15519,7 +15519,7 @@ _0801979C:
ldrh r1, [r1]
subs r0, r0, r1
strh r0, [r5, #2]
- ldr r0, _0801987C @ =0x02031520
+ ldr r0, _0801987C @ =gUnknown_02031520
adds r4, #0x5a
ldrh r0, [r0, #0x1c]
ldrh r1, [r4]
@@ -15603,7 +15603,7 @@ _08019860:
_08019870: .4byte 0x0200B5E0
_08019874: .4byte 0x000013BC
_08019878: .4byte 0x086ACEF4
-_0801987C: .4byte 0x02031520
+_0801987C: .4byte gUnknown_02031520
_08019880: .4byte 0x083FE44C
_08019884: .4byte 0x06010000
_08019888: .4byte 0x80000100
@@ -15616,7 +15616,7 @@ sub_19894: @ 0x08019894
mov r7, sb
mov r6, r8
push {r6, r7}
- ldr r4, _08019914 @ =0x020314E0
+ ldr r4, _08019914 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r1, _08019918 @ =0x0000132C
adds r0, r0, r1
@@ -15676,7 +15676,7 @@ _08019908:
strb r1, [r4, #7]
b _0801993A
.align 2, 0
-_08019914: .4byte 0x020314E0
+_08019914: .4byte gUnknown_020314E0
_08019918: .4byte 0x0000132C
_0801991C: .4byte 0x000013BC
_08019920: .4byte gMain
@@ -15817,7 +15817,7 @@ _08019A1C: .4byte 0x00001364
thumb_func_start sub_19A20
sub_19A20: @ 0x08019A20
push {r4, r5, r6, lr}
- ldr r4, _08019AF0 @ =0x020314E0
+ ldr r4, _08019AF0 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r1, _08019AF4 @ =0x0000073D
adds r0, r0, r1
@@ -15907,7 +15907,7 @@ sub_19A20: @ 0x08019A20
pop {r0}
bx r0
.align 2, 0
-_08019AF0: .4byte 0x020314E0
+_08019AF0: .4byte gUnknown_020314E0
_08019AF4: .4byte 0x0000073D
_08019AF8: .4byte 0x000002D6
_08019AFC: .4byte 0x000002DA
@@ -15928,7 +15928,7 @@ sub_19B10: @ 0x08019B10
bl sub_19F70
_08019B26:
bl sub_19FA0
- ldr r0, _08019B58 @ =0x020314E0
+ ldr r0, _08019B58 @ =gUnknown_020314E0
ldr r0, [r0]
movs r2, #0xa7
lsls r2, r2, #2
@@ -15951,13 +15951,13 @@ _08019B50:
bx r0
.align 2, 0
_08019B54: .4byte gMain
-_08019B58: .4byte 0x020314E0
+_08019B58: .4byte gUnknown_020314E0
_08019B5C: .4byte 0x02032EE0
_08019B60: .4byte 0x0000FFFF
thumb_func_start sub_19B64
sub_19B64: @ 0x08019B64
- ldr r2, _08019B88 @ =0x020314E0
+ ldr r2, _08019B88 @ =gUnknown_020314E0
ldr r3, [r2]
movs r1, #2
strb r1, [r3, #0x16]
@@ -15977,13 +15977,13 @@ sub_19B64: @ 0x08019B64
_08019B86:
bx lr
.align 2, 0
-_08019B88: .4byte 0x020314E0
+_08019B88: .4byte gUnknown_020314E0
_08019B8C: .4byte gMain
thumb_func_start sub_19B90
sub_19B90: @ 0x08019B90
push {r4, lr}
- ldr r4, _08019BA8 @ =0x020314E0
+ ldr r4, _08019BA8 @ =gUnknown_020314E0
ldr r2, [r4]
movs r0, #0x16
ldrsb r0, [r2, r0]
@@ -15995,7 +15995,7 @@ sub_19B90: @ 0x08019B90
beq _08019BB2
b _08019BFE
.align 2, 0
-_08019BA8: .4byte 0x020314E0
+_08019BA8: .4byte gUnknown_020314E0
_08019BAC:
cmp r0, #2
beq _08019BE8
@@ -16045,7 +16045,7 @@ _08019BFE:
thumb_func_start sub_19C04
sub_19C04: @ 0x08019C04
push {r4, r5, r6, lr}
- ldr r0, _08019C3C @ =0x020314E0
+ ldr r0, _08019C3C @ =gUnknown_020314E0
ldr r1, [r0]
movs r0, #0x15
ldrsb r0, [r1, r0]
@@ -16070,7 +16070,7 @@ sub_19C04: @ 0x08019C04
bl m4aSongNumStart
b _08019C7A
.align 2, 0
-_08019C3C: .4byte 0x020314E0
+_08019C3C: .4byte gUnknown_020314E0
_08019C40: .4byte gMain
_08019C44: .4byte 0x00000283
_08019C48:
@@ -16098,7 +16098,7 @@ _08019C74:
movs r0, #0x5c
bl m4aSongNumStart
_08019C7A:
- ldr r5, _08019CB8 @ =0x020314E0
+ ldr r5, _08019CB8 @ =gUnknown_020314E0
ldr r2, [r5]
ldrb r0, [r2, #0x15]
subs r0, #1
@@ -16131,7 +16131,7 @@ _08019CB2:
pop {r0}
bx r0
.align 2, 0
-_08019CB8: .4byte 0x020314E0
+_08019CB8: .4byte gUnknown_020314E0
_08019CBC: .4byte 0x0000073C
_08019CC0: .4byte 0x0000072E
_08019CC4: .4byte 0x0000073D
@@ -16139,7 +16139,7 @@ _08019CC4: .4byte 0x0000073D
thumb_func_start sub_19CC8
sub_19CC8: @ 0x08019CC8
push {lr}
- ldr r0, _08019CEC @ =0x020314E0
+ ldr r0, _08019CEC @ =gUnknown_020314E0
ldr r1, [r0]
ldr r2, _08019CF0 @ =0x00000714
adds r0, r1, r2
@@ -16157,7 +16157,7 @@ sub_19CC8: @ 0x08019CC8
strh r0, [r1]
b _08019CFE
.align 2, 0
-_08019CEC: .4byte 0x020314E0
+_08019CEC: .4byte gUnknown_020314E0
_08019CF0: .4byte 0x00000714
_08019CF4: .4byte 0x000006EE
_08019CF8:
@@ -16170,7 +16170,7 @@ _08019CFE:
thumb_func_start sub_19D04
sub_19D04: @ 0x08019D04
push {r4, r5, r6, lr}
- ldr r0, _08019D80 @ =0x020314E0
+ ldr r0, _08019D80 @ =gUnknown_020314E0
ldr r1, [r0]
movs r0, #0x13
ldrsb r0, [r1, r0]
@@ -16183,7 +16183,7 @@ sub_19D04: @ 0x08019D04
movs r0, #0
bl sub_21238
_08019D20:
- ldr r5, _08019D80 @ =0x020314E0
+ ldr r5, _08019D80 @ =gUnknown_020314E0
ldr r2, [r5]
movs r0, #0x13
ldrsb r0, [r2, r0]
@@ -16233,7 +16233,7 @@ _08019D5C:
ldr r6, _08019D90 @ =0x0000073D
b _08019DEC
.align 2, 0
-_08019D80: .4byte 0x020314E0
+_08019D80: .4byte gUnknown_020314E0
_08019D84: .4byte 0x0000072E
_08019D88: .4byte 0x0000073C
_08019D8C: .4byte 0x0000072F
@@ -16303,7 +16303,7 @@ sub_19E10: @ 0x08019E10
push {r4, lr}
bl sub_1A0F4
bl sub_1DA74
- ldr r4, _08019EA4 @ =0x020314E0
+ ldr r4, _08019EA4 @ =gUnknown_020314E0
ldr r0, [r4]
movs r2, #0xa8
lsls r2, r2, #2
@@ -16328,7 +16328,7 @@ sub_19E10: @ 0x08019E10
adds r4, r4, r3
strb r0, [r4]
_08019E4E:
- ldr r4, _08019EA4 @ =0x020314E0
+ ldr r4, _08019EA4 @ =gUnknown_020314E0
ldr r0, [r4]
adds r0, #0x68
movs r1, #0
@@ -16367,7 +16367,7 @@ _08019E7C:
bl sub_1DC7C
b _08019EB4
.align 2, 0
-_08019EA4: .4byte 0x020314E0
+_08019EA4: .4byte gUnknown_020314E0
_08019EA8: .4byte gMain
_08019EAC: .4byte 0x0000029F
_08019EB0:
@@ -16377,7 +16377,7 @@ _08019EB4:
bl sub_1F59C
_08019EBC:
bl sub_1F698
- ldr r4, _08019F64 @ =0x020314E0
+ ldr r4, _08019F64 @ =gUnknown_020314E0
ldr r0, [r4]
adds r0, #0x68
movs r2, #0
@@ -16451,7 +16451,7 @@ _08019F5C:
pop {r0}
bx r0
.align 2, 0
-_08019F64: .4byte 0x020314E0
+_08019F64: .4byte gUnknown_020314E0
_08019F68: .4byte 0x00001328
_08019F6C: .4byte 0x00001330
@@ -16462,7 +16462,7 @@ sub_19F70: @ 0x08019F70
bl sub_1A9E8
bl sub_1F2A4
bl sub_1FF0C
- ldr r0, _08019F9C @ =0x020314E0
+ ldr r0, _08019F9C @ =gUnknown_020314E0
ldr r0, [r0]
movs r2, #0xc0
lsls r2, r2, #3
@@ -16476,12 +16476,12 @@ _08019F96:
pop {r0}
bx r0
.align 2, 0
-_08019F9C: .4byte 0x020314E0
+_08019F9C: .4byte gUnknown_020314E0
thumb_func_start sub_19FA0
sub_19FA0: @ 0x08019FA0
push {r4, r5, lr}
- ldr r0, _0801A0DC @ =0x020314E0
+ ldr r0, _0801A0DC @ =gUnknown_020314E0
ldr r2, [r0]
ldrb r1, [r2, #4]
adds r5, r0, #0
@@ -16642,7 +16642,7 @@ _0801A0D4:
pop {r0}
bx r0
.align 2, 0
-_0801A0DC: .4byte 0x020314E0
+_0801A0DC: .4byte gUnknown_020314E0
_0801A0E0: .4byte 0x0000061C
_0801A0E4: .4byte 0x00000712
_0801A0E8: .4byte 0x00000713
@@ -16661,7 +16661,7 @@ sub_1A0F4: @ 0x0801A0F4
bne _0801A106
b _0801A2B2
_0801A106:
- ldr r1, _0801A144 @ =0x020314E0
+ ldr r1, _0801A144 @ =gUnknown_020314E0
ldr r0, [r1]
ldr r6, _0801A148 @ =0x000005F7
adds r0, r0, r6
@@ -16691,7 +16691,7 @@ _0801A106:
b _0801A1C0
.align 2, 0
_0801A140: .4byte gMain
-_0801A144: .4byte 0x020314E0
+_0801A144: .4byte gUnknown_020314E0
_0801A148: .4byte 0x000005F7
_0801A14C: .4byte 0x000005FA
_0801A150:
@@ -16897,7 +16897,7 @@ sub_1A2C0: @ 0x0801A2C0
mov r5, r8
push {r5, r6, r7}
sub sp, #4
- ldr r2, _0801A328 @ =0x020314E0
+ ldr r2, _0801A328 @ =gUnknown_020314E0
ldr r4, [r2]
adds r5, r4, #0
adds r5, #0xf2
@@ -16945,7 +16945,7 @@ _0801A2FC:
strh r0, [r2, #4]
b _0801A8B8
.align 2, 0
-_0801A328: .4byte 0x020314E0
+_0801A328: .4byte gUnknown_020314E0
_0801A32C: .4byte gMain
_0801A330:
adds r0, r4, #0
@@ -16953,7 +16953,7 @@ _0801A330:
strb r1, [r0]
ldr r1, _0801A3AC @ =0x040000D4
ldr r2, _0801A3B0 @ =0x086ACEF8
- ldr r3, _0801A3B4 @ =0x020314E0
+ ldr r3, _0801A3B4 @ =gUnknown_020314E0
ldr r0, [r3]
adds r0, #0xf2
ldrb r0, [r0]
@@ -16969,7 +16969,7 @@ _0801A330:
str r0, [r1, #8]
ldr r0, [r1, #8]
bl sub_2CD98
- ldr r4, _0801A3B4 @ =0x020314E0
+ ldr r4, _0801A3B4 @ =gUnknown_020314E0
ldr r3, [r4]
adds r1, r3, #0
adds r1, #0xf4
@@ -16988,7 +16988,7 @@ _0801A330:
movs r0, #0x10
bl m4aSongNumStart
_0801A384:
- ldr r0, _0801A3B4 @ =0x020314E0
+ ldr r0, _0801A3B4 @ =gUnknown_020314E0
ldr r1, [r0]
adds r1, #0xf6
ldrh r0, [r1]
@@ -17009,7 +17009,7 @@ _0801A384:
.align 2, 0
_0801A3AC: .4byte 0x040000D4
_0801A3B0: .4byte 0x086ACEF8
-_0801A3B4: .4byte 0x020314E0
+_0801A3B4: .4byte gUnknown_020314E0
_0801A3B8: .4byte 0x06015800
_0801A3BC: .4byte 0x800012F0
_0801A3C0:
@@ -17025,14 +17025,14 @@ _0801A3C0:
adds r0, r3, #0
adds r0, #0xf2
strb r6, [r0]
- ldr r2, _0801A3E8 @ =0x020314E0
+ ldr r2, _0801A3E8 @ =gUnknown_020314E0
ldr r0, [r2]
adds r0, #0xe4
strb r6, [r0]
b _0801A8B8
.align 2, 0
_0801A3E4: .4byte 0x0000FF92
-_0801A3E8: .4byte 0x020314E0
+_0801A3E8: .4byte gUnknown_020314E0
_0801A3EC:
adds r0, r4, #0
adds r0, #0xe4
@@ -17042,7 +17042,7 @@ _0801A3EC:
strb r5, [r0]
ldr r6, _0801A4D8 @ =0x040000D4
ldr r1, _0801A4DC @ =0x086ACEF8
- ldr r2, _0801A4E0 @ =0x020314E0
+ ldr r2, _0801A4E0 @ =gUnknown_020314E0
ldr r0, [r2]
adds r0, #0xf2
movs r2, #0
@@ -17063,7 +17063,7 @@ _0801A3EC:
ldr r0, _0801A4E8 @ =0x800010E0
str r0, [r6, #8]
ldr r0, [r6, #8]
- ldr r3, _0801A4E0 @ =0x020314E0
+ ldr r3, _0801A4E0 @ =gUnknown_020314E0
ldr r5, [r3]
adds r1, r5, #0
adds r1, #0xf4
@@ -17089,7 +17089,7 @@ _0801A44A:
ldr r1, _0801A4F0 @ =0x0869F7C8
bl MPlayStart
_0801A456:
- ldr r5, _0801A4E0 @ =0x020314E0
+ ldr r5, _0801A4E0 @ =gUnknown_020314E0
ldr r2, [r5]
adds r1, r2, #0
adds r1, #0xf0
@@ -17105,7 +17105,7 @@ _0801A456:
adds r0, #0xa0
strh r0, [r1]
_0801A474:
- ldr r6, _0801A4E0 @ =0x020314E0
+ ldr r6, _0801A4E0 @ =gUnknown_020314E0
ldr r2, [r6]
adds r1, r2, #0
adds r1, #0xf0
@@ -17152,32 +17152,32 @@ _0801A4BA:
cmp r0, #9
bne _0801A500
_0801A4C8:
- ldr r0, _0801A4E0 @ =0x020314E0
+ ldr r0, _0801A4E0 @ =gUnknown_020314E0
ldr r1, [r0]
adds r1, #0x70
movs r2, #0
strb r2, [r1]
- ldr r2, _0801A4FC @ =0x02031520
+ ldr r2, _0801A4FC @ =gUnknown_02031520
b _0801A51C
.align 2, 0
_0801A4D8: .4byte 0x040000D4
_0801A4DC: .4byte 0x086ACEF8
-_0801A4E0: .4byte 0x020314E0
+_0801A4E0: .4byte gUnknown_020314E0
_0801A4E4: .4byte 0x06015800
_0801A4E8: .4byte 0x800010E0
_0801A4EC: .4byte 0x02032F20
_0801A4F0: .4byte 0x0869F7C8
_0801A4F4: .4byte 0x000001A5
_0801A4F8: .4byte 0x000006DC
-_0801A4FC: .4byte 0x02031520
+_0801A4FC: .4byte gUnknown_02031520
_0801A500:
- ldr r3, _0801A534 @ =0x020314E0
+ ldr r3, _0801A534 @ =gUnknown_020314E0
ldr r0, [r3]
adds r0, #0x70
movs r1, #1
strb r1, [r0]
ldr r1, _0801A538 @ =0x040000D4
- ldr r2, _0801A53C @ =0x02031520
+ ldr r2, _0801A53C @ =gUnknown_02031520
ldr r0, [r2, #0x34]
str r0, [r1]
ldr r0, _0801A540 @ =0x05000200
@@ -17199,9 +17199,9 @@ _0801A51C:
ldr r0, _0801A550 @ =0x80000060
b _0801A562
.align 2, 0
-_0801A534: .4byte 0x020314E0
+_0801A534: .4byte gUnknown_020314E0
_0801A538: .4byte 0x040000D4
-_0801A53C: .4byte 0x02031520
+_0801A53C: .4byte gUnknown_02031520
_0801A540: .4byte 0x05000200
_0801A544: .4byte 0x80000010
_0801A548: .4byte gMain
@@ -17229,7 +17229,7 @@ _0801A562:
ldr r0, _0801A598 @ =0x80000030
str r0, [r1, #8]
ldr r0, [r1, #8]
- ldr r7, _0801A59C @ =0x020314E0
+ ldr r7, _0801A59C @ =gUnknown_020314E0
ldr r0, [r7]
adds r0, #0x6f
movs r1, #2
@@ -17240,7 +17240,7 @@ _0801A58C: .4byte 0x05000240
_0801A590: .4byte 0x80000070
_0801A594: .4byte 0x05000340
_0801A598: .4byte 0x80000030
-_0801A59C: .4byte 0x020314E0
+_0801A59C: .4byte gUnknown_020314E0
_0801A5A0:
mov r3, sb
ldrh r0, [r3, #0x3c]
@@ -17271,26 +17271,26 @@ _0801A5C8:
cmp r0, #9
bne _0801A5F4
_0801A5D6:
- ldr r0, _0801A5EC @ =0x020314E0
+ ldr r0, _0801A5EC @ =gUnknown_020314E0
ldr r1, [r0]
adds r1, #0x70
movs r2, #0
strb r2, [r1]
- ldr r2, _0801A5F0 @ =0x02031520
+ ldr r2, _0801A5F0 @ =gUnknown_02031520
b _0801A610
.align 2, 0
_0801A5E4: .4byte 0x000001A5
_0801A5E8: .4byte 0x000006DC
-_0801A5EC: .4byte 0x020314E0
-_0801A5F0: .4byte 0x02031520
+_0801A5EC: .4byte gUnknown_020314E0
+_0801A5F0: .4byte gUnknown_02031520
_0801A5F4:
- ldr r3, _0801A628 @ =0x020314E0
+ ldr r3, _0801A628 @ =gUnknown_020314E0
ldr r0, [r3]
adds r0, #0x70
movs r1, #1
strb r1, [r0]
ldr r1, _0801A62C @ =0x040000D4
- ldr r2, _0801A630 @ =0x02031520
+ ldr r2, _0801A630 @ =gUnknown_02031520
ldr r0, [r2, #0x30]
str r0, [r1]
ldr r0, _0801A634 @ =0x05000200
@@ -17312,9 +17312,9 @@ _0801A610:
ldr r0, _0801A644 @ =0x80000060
b _0801A656
.align 2, 0
-_0801A628: .4byte 0x020314E0
+_0801A628: .4byte gUnknown_020314E0
_0801A62C: .4byte 0x040000D4
-_0801A630: .4byte 0x02031520
+_0801A630: .4byte gUnknown_02031520
_0801A634: .4byte 0x05000200
_0801A638: .4byte 0x80000010
_0801A63C: .4byte gMain
@@ -17342,14 +17342,14 @@ _0801A656:
ldr r0, _0801A6C0 @ =0x80000030
str r0, [r1, #8]
ldr r0, [r1, #8]
- ldr r1, _0801A6C4 @ =0x020314E0
+ ldr r1, _0801A6C4 @ =gUnknown_020314E0
ldr r0, [r1]
adds r0, #0x6f
movs r1, #1
_0801A678:
strb r1, [r0]
_0801A67A:
- ldr r2, _0801A6C4 @ =0x020314E0
+ ldr r2, _0801A6C4 @ =gUnknown_020314E0
ldr r1, [r2]
adds r0, r1, #0
adds r0, #0xf0
@@ -17362,7 +17362,7 @@ _0801A67A:
movs r0, #0x3c
strh r0, [r1]
_0801A692:
- ldr r3, _0801A6C4 @ =0x020314E0
+ ldr r3, _0801A6C4 @ =gUnknown_020314E0
ldr r0, [r3]
adds r0, #0xf6
movs r4, #0
@@ -17381,7 +17381,7 @@ _0801A6B4: .4byte 0x05000240
_0801A6B8: .4byte 0x80000070
_0801A6BC: .4byte 0x05000340
_0801A6C0: .4byte 0x80000030
-_0801A6C4: .4byte 0x020314E0
+_0801A6C4: .4byte gUnknown_020314E0
_0801A6C8:
adds r7, r5, #0
adds r7, #0xf0
@@ -17445,7 +17445,7 @@ _0801A732:
ldrh r0, [r7]
cmp r0, #0x19
bls _0801A7BA
- ldr r1, _0801A770 @ =0x02031520
+ ldr r1, _0801A770 @ =gUnknown_02031520
ldr r3, [r1, #0x30]
str r3, [r6]
ldr r0, _0801A774 @ =0x05000200
@@ -17467,7 +17467,7 @@ _0801A732:
.align 2, 0
_0801A768: .4byte 0x000001A5
_0801A76C: .4byte 0x000006DC
-_0801A770: .4byte 0x02031520
+_0801A770: .4byte gUnknown_02031520
_0801A774: .4byte 0x05000200
_0801A778: .4byte 0x80000010
_0801A77C: .4byte 0x05000240
@@ -17493,7 +17493,7 @@ _0801A790:
ldr r0, _0801A860 @ =0x80000030
str r0, [r1, #8]
ldr r0, [r1, #8]
- ldr r7, _0801A864 @ =0x020314E0
+ ldr r7, _0801A864 @ =gUnknown_020314E0
ldr r0, [r7]
adds r0, #0x6f
movs r1, #1
@@ -17502,7 +17502,7 @@ _0801A790:
adds r0, #0x70
strb r1, [r0]
_0801A7BA:
- ldr r1, _0801A864 @ =0x020314E0
+ ldr r1, _0801A864 @ =gUnknown_020314E0
ldr r0, [r1]
adds r0, #0xf0
ldrh r0, [r0]
@@ -17513,7 +17513,7 @@ _0801A7BA:
movs r0, #0
strh r0, [r2, #0x3c]
_0801A7CE:
- ldr r3, _0801A864 @ =0x020314E0
+ ldr r3, _0801A864 @ =gUnknown_020314E0
ldr r2, [r3]
adds r0, r2, #0
adds r0, #0xf0
@@ -17529,7 +17529,7 @@ _0801A7CE:
adds r0, r2, #0
adds r0, #0xf2
strb r1, [r0]
- ldr r5, _0801A864 @ =0x020314E0
+ ldr r5, _0801A864 @ =gUnknown_020314E0
ldr r0, [r5]
adds r0, #0xe4
strb r1, [r0]
@@ -17560,7 +17560,7 @@ _0801A820:
ldrh r0, [r1, #0x3c]
strh r3, [r1, #0x3c]
ldr r3, _0801A858 @ =0x040000D4
- ldr r1, _0801A870 @ =0x02031520
+ ldr r1, _0801A870 @ =gUnknown_02031520
ldr r4, [r1, #0x2c]
str r4, [r3]
ldr r0, _0801A874 @ =0x05000200
@@ -17586,10 +17586,10 @@ _0801A854: .4byte 0x80000070
_0801A858: .4byte 0x040000D4
_0801A85C: .4byte 0x05000340
_0801A860: .4byte 0x80000030
-_0801A864: .4byte 0x020314E0
+_0801A864: .4byte gUnknown_020314E0
_0801A868: .4byte 0x000001A5
_0801A86C: .4byte 0x000006DC
-_0801A870: .4byte 0x02031520
+_0801A870: .4byte gUnknown_02031520
_0801A874: .4byte 0x05000200
_0801A878: .4byte 0x80000010
_0801A87C: .4byte 0x80000060
@@ -17614,7 +17614,7 @@ _0801A88C:
ldr r0, _0801A95C @ =0x80000030
str r0, [r1, #8]
ldr r0, [r1, #8]
- ldr r4, _0801A960 @ =0x020314E0
+ ldr r4, _0801A960 @ =gUnknown_020314E0
ldr r0, [r4]
adds r0, #0x6f
movs r1, #0
@@ -17705,7 +17705,7 @@ _0801A950: .4byte 0x80000070
_0801A954: .4byte 0x040000D4
_0801A958: .4byte 0x05000340
_0801A95C: .4byte 0x80000030
-_0801A960: .4byte 0x020314E0
+_0801A960: .4byte gUnknown_020314E0
_0801A964: .4byte gOamBuffer
_0801A968: .4byte 0x086B4568
_0801A96C: .4byte 0xFFFFFE00
@@ -17731,7 +17731,7 @@ sub_1A98C: @ 0x0801A98C
ldrb r0, [r0, #0xf]
cmp r0, #0
bne _0801A9E0
- ldr r0, _0801A9B4 @ =0x020314E0
+ ldr r0, _0801A9B4 @ =gUnknown_020314E0
ldr r0, [r0]
adds r0, #0x25
ldrb r0, [r0]
@@ -17746,7 +17746,7 @@ sub_1A98C: @ 0x0801A98C
b _0801A9D8
.align 2, 0
_0801A9B0: .4byte gMain
-_0801A9B4: .4byte 0x020314E0
+_0801A9B4: .4byte gUnknown_020314E0
_0801A9B8:
cmp r0, #3
beq _0801A9CE
@@ -17765,7 +17765,7 @@ _0801A9CE:
_0801A9D4:
bl sub_1C560
_0801A9D8:
- ldr r0, _0801A9E4 @ =0x020314E0
+ ldr r0, _0801A9E4 @ =gUnknown_020314E0
ldr r1, [r0]
movs r0, #0x3c
strh r0, [r1, #0x26]
@@ -17773,12 +17773,12 @@ _0801A9E0:
pop {r0}
bx r0
.align 2, 0
-_0801A9E4: .4byte 0x020314E0
+_0801A9E4: .4byte gUnknown_020314E0
thumb_func_start sub_1A9E8
sub_1A9E8: @ 0x0801A9E8
push {lr}
- ldr r2, _0801AA10 @ =0x020314E0
+ ldr r2, _0801AA10 @ =gUnknown_020314E0
ldr r1, [r2]
ldrh r0, [r1, #0x26]
cmp r0, #0
@@ -17799,7 +17799,7 @@ _0801A9F8:
beq _0801AA1E
b _0801AA34
.align 2, 0
-_0801AA10: .4byte 0x020314E0
+_0801AA10: .4byte gUnknown_020314E0
_0801AA14:
cmp r0, #3
beq _0801AA2A
@@ -17824,7 +17824,7 @@ _0801AA34:
thumb_func_start sub_1AA38
sub_1AA38: @ 0x0801AA38
push {r4, lr}
- ldr r4, _0801AA88 @ =0x020314E0
+ ldr r4, _0801AA88 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r1, _0801AA8C @ =0x0000072F
adds r0, r0, r1
@@ -17862,7 +17862,7 @@ _0801AA52:
pop {r0}
bx r0
.align 2, 0
-_0801AA88: .4byte 0x020314E0
+_0801AA88: .4byte gUnknown_020314E0
_0801AA8C: .4byte 0x0000072F
_0801AA90: .4byte 0x000005FC
_0801AA94: .4byte 0x000005FB
@@ -17872,7 +17872,7 @@ _0801AA9C: .4byte 0x0000C350
thumb_func_start sub_1AAA0
sub_1AAA0: @ 0x0801AAA0
push {r4, r5, r6, lr}
- ldr r6, _0801AB04 @ =0x020314E0
+ ldr r6, _0801AB04 @ =gUnknown_020314E0
ldr r0, [r6]
mov ip, r0
ldrh r0, [r0, #0x28]
@@ -17922,7 +17922,7 @@ _0801AAB0:
movs r0, #0xde
b _0801AB20
.align 2, 0
-_0801AB04: .4byte 0x020314E0
+_0801AB04: .4byte gUnknown_020314E0
_0801AB08: .4byte 0x000005F7
_0801AB0C: .4byte 0x0000132C
_0801AB10: .4byte 0x000005FA
@@ -17935,7 +17935,7 @@ _0801AB14:
movs r0, #0xdd
_0801AB20:
strh r0, [r1, #0x12]
- ldr r0, _0801AB34 @ =0x020314E0
+ ldr r0, _0801AB34 @ =gUnknown_020314E0
ldr r0, [r0]
movs r3, #0xbd
lsls r3, r3, #2
@@ -17944,7 +17944,7 @@ _0801AB20:
strb r1, [r0]
b _0801ACFA
.align 2, 0
-_0801AB34: .4byte 0x020314E0
+_0801AB34: .4byte gUnknown_020314E0
_0801AB38:
cmp r0, #0x68
bls _0801AB52
@@ -18181,7 +18181,7 @@ _0801ACF0:
_0801ACF8:
strb r0, [r1]
_0801ACFA:
- ldr r0, _0801AD34 @ =0x020314E0
+ ldr r0, _0801AD34 @ =gUnknown_020314E0
ldr r2, [r0]
ldr r3, _0801AD38 @ =0x0000132C
adds r2, r2, r3
@@ -18210,7 +18210,7 @@ _0801ACFA:
str r0, [r1, #0x38]
b _0801AD74
.align 2, 0
-_0801AD34: .4byte 0x020314E0
+_0801AD34: .4byte gUnknown_020314E0
_0801AD38: .4byte 0x0000132C
_0801AD3C:
movs r3, #0
@@ -18252,7 +18252,7 @@ _0801AD80: .4byte 0x000005F7
thumb_func_start sub_1AD84
sub_1AD84: @ 0x0801AD84
push {r4, lr}
- ldr r4, _0801ADB4 @ =0x020314E0
+ ldr r4, _0801ADB4 @ =gUnknown_020314E0
ldr r1, [r4]
ldr r0, _0801ADB8 @ =0x000186A0
str r0, [r1, #0x3c]
@@ -18273,7 +18273,7 @@ sub_1AD84: @ 0x0801AD84
lsls r0, r0, #1
b _0801ADD8
.align 2, 0
-_0801ADB4: .4byte 0x020314E0
+_0801ADB4: .4byte gUnknown_020314E0
_0801ADB8: .4byte 0x000186A0
_0801ADBC: .4byte 0x000002DA
_0801ADC0:
@@ -18292,7 +18292,7 @@ _0801ADD6:
movs r0, #0x78
_0801ADD8:
strh r0, [r1, #0x28]
- ldr r0, _0801ADEC @ =0x020314E0
+ ldr r0, _0801ADEC @ =gUnknown_020314E0
ldr r0, [r0]
ldr r1, _0801ADF0 @ =0x000005F7
adds r0, r0, r1
@@ -18302,13 +18302,13 @@ _0801ADD8:
pop {r0}
bx r0
.align 2, 0
-_0801ADEC: .4byte 0x020314E0
+_0801ADEC: .4byte gUnknown_020314E0
_0801ADF0: .4byte 0x000005F7
thumb_func_start sub_1ADF4
sub_1ADF4: @ 0x0801ADF4
push {r4, r5, r6, lr}
- ldr r5, _0801AE7C @ =0x020314E0
+ ldr r5, _0801AE7C @ =gUnknown_020314E0
ldr r0, [r5]
ldrh r4, [r0, #0x28]
cmp r4, #0
@@ -18377,7 +18377,7 @@ _0801AE64:
strh r0, [r1, #0x28]
b _0801AECA
.align 2, 0
-_0801AE7C: .4byte 0x020314E0
+_0801AE7C: .4byte gUnknown_020314E0
_0801AE80: .4byte 0x0000132C
_0801AE84:
mov r2, ip
@@ -18415,7 +18415,7 @@ _0801AEA8:
_0801AEC6:
bl sub_22D54
_0801AECA:
- ldr r0, _0801AEDC @ =0x020314E0
+ ldr r0, _0801AEDC @ =gUnknown_020314E0
ldr r1, [r0]
ldrh r0, [r1, #0x28]
cmp r0, #9
@@ -18424,7 +18424,7 @@ _0801AECA:
strh r0, [r1, #0x28]
b _0801AF78
.align 2, 0
-_0801AEDC: .4byte 0x020314E0
+_0801AEDC: .4byte gUnknown_020314E0
_0801AEE0:
ldr r1, _0801AF50 @ =0x0000132C
adds r0, r0, r1
@@ -18509,7 +18509,7 @@ _0801AF80: .4byte 0x0000132C
thumb_func_start sub_1AF84
sub_1AF84: @ 0x0801AF84
push {r4, lr}
- ldr r0, _0801AFC4 @ =0x020314E0
+ ldr r0, _0801AFC4 @ =gUnknown_020314E0
ldr r3, [r0]
movs r1, #0xdc
lsls r1, r1, #1
@@ -18541,7 +18541,7 @@ sub_1AF84: @ 0x0801AF84
pop {r0}
bx r0
.align 2, 0
-_0801AFC4: .4byte 0x020314E0
+_0801AFC4: .4byte gUnknown_020314E0
_0801AFC8: .4byte 0x0007A120
_0801AFCC: .4byte gMain
_0801AFD0: .4byte 0x000005F7
@@ -18549,7 +18549,7 @@ _0801AFD0: .4byte 0x000005F7
thumb_func_start sub_1AFD4
sub_1AFD4: @ 0x0801AFD4
push {r4, r5, r6, r7, lr}
- ldr r7, _0801B074 @ =0x020314E0
+ ldr r7, _0801B074 @ =gUnknown_020314E0
ldr r2, [r7]
ldrh r0, [r2, #0x28]
adds r6, r0, #0
@@ -18630,7 +18630,7 @@ _0801B060:
bl sub_1B140
b _0801B12A
.align 2, 0
-_0801B074: .4byte 0x020314E0
+_0801B074: .4byte gUnknown_020314E0
_0801B078: .4byte 0x0000132C
_0801B07C: .4byte 0x000001A5
_0801B080:
@@ -18739,7 +18739,7 @@ sub_1B140: @ 0x0801B140
movs r7, #0
ldr r0, _0801B228 @ =gMain
ldrb r0, [r0, #0xf]
- ldr r1, _0801B22C @ =0x020314E0
+ ldr r1, _0801B22C @ =gUnknown_020314E0
mov r8, r1
cmp r0, #0
bne _0801B16A
@@ -18759,7 +18759,7 @@ _0801B16A:
beq _0801B176
bl sub_1BB68
_0801B176:
- ldr r4, _0801B22C @ =0x020314E0
+ ldr r4, _0801B22C @ =gUnknown_020314E0
ldr r0, [r4]
movs r6, #0xdd
lsls r6, r6, #1
@@ -18843,7 +18843,7 @@ _0801B210:
cmp r0, #1
bne _0801B264
ldr r1, _0801B23C @ =0x040000D4
- ldr r2, _0801B258 @ =0x02031520
+ ldr r2, _0801B258 @ =gUnknown_02031520
ldr r0, [r2, #0x30]
adds r0, #0x40
str r0, [r1]
@@ -18853,7 +18853,7 @@ _0801B210:
b _0801B274
.align 2, 0
_0801B228: .4byte gMain
-_0801B22C: .4byte 0x020314E0
+_0801B22C: .4byte gUnknown_020314E0
_0801B230: .4byte 0x000006DE
_0801B234: .4byte 0x000006DD
_0801B238: .4byte 0x00000252
@@ -18864,12 +18864,12 @@ _0801B248: .4byte 0x800004A0
_0801B24C: .4byte 0x081B45A4
_0801B250: .4byte 0x05000180
_0801B254: .4byte 0x80000010
-_0801B258: .4byte 0x02031520
+_0801B258: .4byte gUnknown_02031520
_0801B25C: .4byte 0x05000240
_0801B260: .4byte 0x80000060
_0801B264:
ldr r1, _0801B29C @ =0x040000D4
- ldr r2, _0801B2A0 @ =0x02031520
+ ldr r2, _0801B2A0 @ =gUnknown_02031520
ldr r0, [r2, #0x30]
adds r0, #0x40
str r0, [r1]
@@ -18890,7 +18890,7 @@ _0801B274:
ldr r0, _0801B2B0 @ =0x80000030
str r0, [r1, #8]
ldr r0, [r1, #8]
- ldr r2, _0801B2B4 @ =0x020314E0
+ ldr r2, _0801B2B4 @ =gUnknown_020314E0
ldr r0, [r2]
adds r0, #0x6f
movs r3, #0
@@ -18898,12 +18898,12 @@ _0801B274:
b _0801B328
.align 2, 0
_0801B29C: .4byte 0x040000D4
-_0801B2A0: .4byte 0x02031520
+_0801B2A0: .4byte gUnknown_02031520
_0801B2A4: .4byte 0x05000240
_0801B2A8: .4byte 0x80000070
_0801B2AC: .4byte 0x05000340
_0801B2B0: .4byte 0x80000030
-_0801B2B4: .4byte 0x020314E0
+_0801B2B4: .4byte gUnknown_020314E0
_0801B2B8:
ldr r1, _0801B2E0 @ =gMain
ldrh r0, [r1, #0x3c]
@@ -18918,7 +18918,7 @@ _0801B2C8:
cmp r0, #1
bne _0801B2F4
ldr r1, _0801B2E4 @ =0x040000D4
- ldr r2, _0801B2E8 @ =0x02031520
+ ldr r2, _0801B2E8 @ =gUnknown_02031520
ldr r0, [r2, #0x34]
adds r0, #0x40
str r0, [r1]
@@ -18929,12 +18929,12 @@ _0801B2C8:
.align 2, 0
_0801B2E0: .4byte gMain
_0801B2E4: .4byte 0x040000D4
-_0801B2E8: .4byte 0x02031520
+_0801B2E8: .4byte gUnknown_02031520
_0801B2EC: .4byte 0x05000240
_0801B2F0: .4byte 0x80000060
_0801B2F4:
ldr r1, _0801B3FC @ =0x040000D4
- ldr r2, _0801B400 @ =0x02031520
+ ldr r2, _0801B400 @ =gUnknown_02031520
ldr r0, [r2, #0x34]
adds r0, #0x40
str r0, [r1]
@@ -18955,7 +18955,7 @@ _0801B304:
ldr r0, _0801B410 @ =0x80000030
str r0, [r1, #8]
ldr r0, [r1, #8]
- ldr r2, _0801B414 @ =0x020314E0
+ ldr r2, _0801B414 @ =gUnknown_020314E0
ldr r0, [r2]
adds r0, #0x6f
movs r3, #0
@@ -19067,12 +19067,12 @@ _0801B344:
b _0801B448
.align 2, 0
_0801B3FC: .4byte 0x040000D4
-_0801B400: .4byte 0x02031520
+_0801B400: .4byte gUnknown_02031520
_0801B404: .4byte 0x05000240
_0801B408: .4byte 0x80000070
_0801B40C: .4byte 0x05000340
_0801B410: .4byte 0x80000030
-_0801B414: .4byte 0x020314E0
+_0801B414: .4byte gUnknown_020314E0
_0801B418: .4byte 0x086AD2DE
_0801B41C: .4byte 0x000001A7
_0801B420: .4byte gMain
@@ -19262,7 +19262,7 @@ _0801B594:
movs r0, #7
_0801B596:
strb r0, [r1]
- ldr r2, _0801B5EC @ =0x020314E0
+ ldr r2, _0801B5EC @ =gUnknown_020314E0
ldr r0, [r2]
movs r3, #0xd4
lsls r3, r3, #1
@@ -19282,7 +19282,7 @@ _0801B5B2:
ands r0, r1
cmp r0, #0
beq _0801B614
- ldr r5, _0801B5EC @ =0x020314E0
+ ldr r5, _0801B5EC @ =gUnknown_020314E0
ldr r0, [r5]
ldr r6, _0801B5F4 @ =0x000006DD
adds r0, r0, r6
@@ -19305,13 +19305,13 @@ _0801B5B2:
strb r0, [r1]
b _0801B5FA
.align 2, 0
-_0801B5EC: .4byte 0x020314E0
+_0801B5EC: .4byte gUnknown_020314E0
_0801B5F0: .4byte gMain
_0801B5F4: .4byte 0x000006DD
_0801B5F8:
strb r4, [r1]
_0801B5FA:
- ldr r2, _0801B63C @ =0x020314E0
+ ldr r2, _0801B63C @ =gUnknown_020314E0
ldr r0, [r2]
movs r3, #0xd4
lsls r3, r3, #1
@@ -19327,7 +19327,7 @@ _0801B5FA:
_0801B614:
adds r0, r7, #0
bl sub_21FBC
- ldr r0, _0801B63C @ =0x020314E0
+ ldr r0, _0801B63C @ =gUnknown_020314E0
ldr r1, [r0]
movs r5, #0xd4
lsls r5, r5, #1
@@ -19345,7 +19345,7 @@ _0801B614:
strb r0, [r1]
b _0801B662
.align 2, 0
-_0801B63C: .4byte 0x020314E0
+_0801B63C: .4byte gUnknown_020314E0
_0801B640: .4byte 0x000001A9
_0801B644:
movs r0, #7
@@ -19367,7 +19367,7 @@ _0801B660:
_0801B662:
ldr r1, _0801B6C0 @ =0x040000D4
ldr r3, _0801B6C4 @ =0x086AD50C
- ldr r4, _0801B6C8 @ =0x020314E0
+ ldr r4, _0801B6C8 @ =gUnknown_020314E0
ldr r2, [r4]
ldr r5, _0801B6CC @ =0x000001A9
adds r0, r2, r5
@@ -19415,7 +19415,7 @@ _0801B662:
.align 2, 0
_0801B6C0: .4byte 0x040000D4
_0801B6C4: .4byte 0x086AD50C
-_0801B6C8: .4byte 0x020314E0
+_0801B6C8: .4byte gUnknown_020314E0
_0801B6CC: .4byte 0x000001A9
_0801B6D0: .4byte 0x06002000
_0801B6D4: .4byte 0x80000620
@@ -19525,7 +19525,7 @@ _0801B784:
_0801B7AA:
ldrh r3, [r4, #6]
_0801B7AC:
- ldr r4, _0801B80C @ =0x020314E0
+ ldr r4, _0801B80C @ =gUnknown_020314E0
ldr r2, [r4]
movs r5, #0xc9
lsls r5, r5, #1
@@ -19570,7 +19570,7 @@ _0801B7AC:
.align 2, 0
_0801B804: .4byte 0x000001AF
_0801B808: .4byte 0x000003E7
-_0801B80C: .4byte 0x020314E0
+_0801B80C: .4byte gUnknown_020314E0
_0801B810: .4byte 0x000006DD
_0801B814: .4byte 0x000001A7
_0801B818: .4byte 0x000006DC
@@ -19586,7 +19586,7 @@ _0801B82C:
ands r0, r1
cmp r0, #0
beq _0801B85E
- ldr r0, _0801B928 @ =0x020314E0
+ ldr r0, _0801B928 @ =gUnknown_020314E0
ldr r2, [r0]
ldr r4, _0801B92C @ =0x000006DD
adds r0, r2, r4
@@ -19606,7 +19606,7 @@ _0801B82C:
movs r0, #0x66
bl m4aSongNumStart
_0801B85E:
- ldr r0, _0801B928 @ =0x020314E0
+ ldr r0, _0801B928 @ =gUnknown_020314E0
ldr r0, [r0]
ldr r1, _0801B92C @ =0x000006DD
adds r0, r0, r1
@@ -19617,7 +19617,7 @@ _0801B85E:
beq _0801B8B2
_0801B870:
bl sub_2A354
- ldr r0, _0801B928 @ =0x020314E0
+ ldr r0, _0801B928 @ =gUnknown_020314E0
ldr r2, [r0]
ldr r3, _0801B934 @ =0x000006DE
adds r0, r2, r3
@@ -19649,7 +19649,7 @@ _0801B870:
movs r0, #1
strb r0, [r1]
_0801B8B2:
- ldr r0, _0801B928 @ =0x020314E0
+ ldr r0, _0801B928 @ =gUnknown_020314E0
ldr r2, [r0]
ldr r3, _0801B930 @ =0x00000252
adds r1, r2, r3
@@ -19691,7 +19691,7 @@ _0801B8EA:
b _0801BA38
_0801B8FE:
ldr r3, _0801B944 @ =0x040000D4
- ldr r1, _0801B948 @ =0x02031520
+ ldr r1, _0801B948 @ =gUnknown_02031520
ldr r4, [r1, #0x30]
str r4, [r3]
ldr r0, _0801B94C @ =0x05000200
@@ -19711,7 +19711,7 @@ _0801B8FE:
ldr r0, _0801B958 @ =0x80000060
b _0801B968
.align 2, 0
-_0801B928: .4byte 0x020314E0
+_0801B928: .4byte gUnknown_020314E0
_0801B92C: .4byte 0x000006DD
_0801B930: .4byte 0x00000252
_0801B934: .4byte 0x000006DE
@@ -19719,7 +19719,7 @@ _0801B938: .4byte 0x086AD2DE
_0801B93C: .4byte 0x000001AF
_0801B940: .4byte gMain
_0801B944: .4byte 0x040000D4
-_0801B948: .4byte 0x02031520
+_0801B948: .4byte gUnknown_02031520
_0801B94C: .4byte 0x05000200
_0801B950: .4byte 0x80000010
_0801B954: .4byte 0x05000240
@@ -19770,7 +19770,7 @@ _0801B9A8:
bl _0801C554
_0801B9BA:
ldr r3, _0801B9E8 @ =0x040000D4
- ldr r1, _0801B9EC @ =0x02031520
+ ldr r1, _0801B9EC @ =gUnknown_02031520
ldr r4, [r1, #0x2c]
str r4, [r3]
ldr r0, _0801B9F0 @ =0x05000200
@@ -19792,7 +19792,7 @@ _0801B9BA:
.align 2, 0
_0801B9E4: .4byte gMain
_0801B9E8: .4byte 0x040000D4
-_0801B9EC: .4byte 0x02031520
+_0801B9EC: .4byte gUnknown_02031520
_0801B9F0: .4byte 0x05000200
_0801B9F4: .4byte 0x80000010
_0801B9F8: .4byte 0x05000240
@@ -19890,7 +19890,7 @@ _0801BAC0:
movs r0, #0x5c
bl m4aSongNumStart
_0801BAC6:
- ldr r0, _0801BAE4 @ =0x020314E0
+ ldr r0, _0801BAE4 @ =gUnknown_020314E0
ldr r1, [r0]
adds r0, r1, #0
adds r0, #0x25
@@ -19905,13 +19905,13 @@ _0801BAC6:
strh r0, [r1]
b _0801BAF0
.align 2, 0
-_0801BAE4: .4byte 0x020314E0
+_0801BAE4: .4byte gUnknown_020314E0
_0801BAE8: .4byte 0x000006DE
_0801BAEC:
movs r0, #0x18
strh r0, [r1, #0x28]
_0801BAF0:
- ldr r0, _0801BB08 @ =0x020314E0
+ ldr r0, _0801BB08 @ =gUnknown_020314E0
ldr r0, [r0]
ldrb r0, [r0, #0x13]
lsls r0, r0, #0x18
@@ -19923,13 +19923,13 @@ _0801BAF0:
bl sub_1C7F4
b _0801BB14
.align 2, 0
-_0801BB08: .4byte 0x020314E0
+_0801BB08: .4byte gUnknown_020314E0
_0801BB0C:
movs r0, #0
movs r1, #0
bl sub_1C7F4
_0801BB14:
- ldr r3, _0801BB54 @ =0x020314E0
+ ldr r3, _0801BB54 @ =gUnknown_020314E0
ldr r0, [r3]
ldr r6, _0801BB58 @ =0x000006C4
adds r0, r0, r6
@@ -19961,7 +19961,7 @@ _0801BB14:
ldr r0, [r3]
bl _0801C528
.align 2, 0
-_0801BB54: .4byte 0x020314E0
+_0801BB54: .4byte gUnknown_020314E0
_0801BB58: .4byte 0x000006C4
_0801BB5C: .4byte 0x000006DB
_0801BB60: .4byte 0x000006DD
@@ -20229,7 +20229,7 @@ _0801BD56:
movs r0, #0x50
strh r0, [r1]
strh r5, [r3, #0x2a]
- ldr r0, _0801BE20 @ =0x020314E0
+ ldr r0, _0801BE20 @ =gUnknown_020314E0
ldr r0, [r0]
movs r1, #0xdc
lsls r1, r1, #1
@@ -20245,7 +20245,7 @@ _0801BD56:
str r0, [r2, #8]
ldr r0, [r2, #8]
_0801BDAC:
- ldr r4, _0801BE20 @ =0x020314E0
+ ldr r4, _0801BE20 @ =gUnknown_020314E0
ldr r2, [r4]
movs r3, #0xdd
lsls r3, r3, #1
@@ -20298,7 +20298,7 @@ _0801BE10: .4byte 0x081B8784
_0801BE14: .4byte 0x050003C0
_0801BE18: .4byte 0x80000010
_0801BE1C: .4byte 0x000002EA
-_0801BE20: .4byte 0x020314E0
+_0801BE20: .4byte gUnknown_020314E0
_0801BE24: .4byte 0x081B4784
_0801BE28: .4byte 0x06002000
_0801BE2C: .4byte 0x80000620
@@ -20375,7 +20375,7 @@ _0801BEB4:
subs r0, #1
_0801BEBA:
strb r0, [r1]
- ldr r5, _0801BEE8 @ =0x020314E0
+ ldr r5, _0801BEE8 @ =gUnknown_020314E0
ldr r4, [r5]
movs r6, #0xa0
lsls r6, r6, #2
@@ -20398,7 +20398,7 @@ _0801BEBA:
strb r0, [r1]
b _0801BF48
.align 2, 0
-_0801BEE8: .4byte 0x020314E0
+_0801BEE8: .4byte gUnknown_020314E0
_0801BEEC:
movs r0, #0x10
ands r0, r1
@@ -20426,7 +20426,7 @@ _0801BEEC:
_0801BF1C:
strb r6, [r2]
_0801BF1E:
- ldr r5, _0801C000 @ =0x020314E0
+ ldr r5, _0801C000 @ =gUnknown_020314E0
ldr r4, [r5]
movs r2, #0xa0
lsls r2, r2, #2
@@ -20502,7 +20502,7 @@ _0801BFA6:
ands r0, r1
cmp r0, #0
beq _0801C070
- ldr r6, _0801C000 @ =0x020314E0
+ ldr r6, _0801C000 @ =gUnknown_020314E0
ldr r1, [r6]
movs r7, #0x97
lsls r7, r7, #2
@@ -20541,7 +20541,7 @@ _0801BFA6:
strb r0, [r1]
b _0801C04E
.align 2, 0
-_0801C000: .4byte 0x020314E0
+_0801C000: .4byte gUnknown_020314E0
_0801C004: .4byte 0x0000025D
_0801C008: .4byte 0x086A3700
_0801C00C: .4byte gMain
@@ -20582,7 +20582,7 @@ _0801C04E:
adds r0, #1
strb r0, [r1]
_0801C058:
- ldr r0, _0801C06C @ =0x020314E0
+ ldr r0, _0801C06C @ =gUnknown_020314E0
ldr r0, [r0]
movs r6, #0xd9
lsls r6, r6, #1
@@ -20591,13 +20591,13 @@ _0801C058:
.align 2, 0
_0801C064: .4byte 0x086A3700
_0801C068: .4byte 0x0000059A
-_0801C06C: .4byte 0x020314E0
+_0801C06C: .4byte gUnknown_020314E0
_0801C070:
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _0801C11A
- ldr r6, _0801C0BC @ =0x020314E0
+ ldr r6, _0801C0BC @ =gUnknown_020314E0
ldr r1, [r6]
movs r7, #0x97
lsls r7, r7, #2
@@ -20631,7 +20631,7 @@ _0801C070:
strb r4, [r1]
b _0801C102
.align 2, 0
-_0801C0BC: .4byte 0x020314E0
+_0801C0BC: .4byte gUnknown_020314E0
_0801C0C0: .4byte 0x0000059A
_0801C0C4:
cmp r4, #2
@@ -20671,7 +20671,7 @@ _0801C102:
subs r0, #1
strb r0, [r1]
_0801C10C:
- ldr r0, _0801C150 @ =0x020314E0
+ ldr r0, _0801C150 @ =gUnknown_020314E0
ldr r0, [r0]
movs r2, #0xd9
lsls r2, r2, #1
@@ -20680,7 +20680,7 @@ _0801C116:
movs r0, #0
strh r0, [r1]
_0801C11A:
- ldr r0, _0801C150 @ =0x020314E0
+ ldr r0, _0801C150 @ =gUnknown_020314E0
ldr r1, [r0]
movs r3, #0x97
lsls r3, r3, #2
@@ -20705,7 +20705,7 @@ _0801C11A:
.align 2, 0
_0801C148: .4byte 0x086A3700
_0801C14C: .4byte 0x0000059A
-_0801C150: .4byte 0x020314E0
+_0801C150: .4byte gUnknown_020314E0
_0801C154:
cmp r0, #0xb0
beq _0801C1B8
@@ -20789,7 +20789,7 @@ _0801C1D2:
strh r0, [r2]
bl sub_22FA4
_0801C1EA:
- ldr r0, _0801C220 @ =0x020314E0
+ ldr r0, _0801C220 @ =gUnknown_020314E0
ldr r0, [r0]
movs r6, #0xd9
lsls r6, r6, #1
@@ -20800,7 +20800,7 @@ _0801C1F8:
strh r0, [r1]
_0801C1FA:
bl sub_23070
- ldr r0, _0801C220 @ =0x020314E0
+ ldr r0, _0801C220 @ =gUnknown_020314E0
ldr r1, [r0]
movs r2, #0xd4
lsls r2, r2, #1
@@ -20818,7 +20818,7 @@ _0801C1FA:
strb r0, [r1]
b _0801C246
.align 2, 0
-_0801C220: .4byte 0x020314E0
+_0801C220: .4byte gUnknown_020314E0
_0801C224: .4byte 0x000001A9
_0801C228:
movs r0, #7
@@ -20840,7 +20840,7 @@ _0801C244:
_0801C246:
ldr r1, _0801C2A4 @ =0x040000D4
ldr r3, _0801C2A8 @ =0x086AD50C
- ldr r0, _0801C2AC @ =0x020314E0
+ ldr r0, _0801C2AC @ =gUnknown_020314E0
ldr r2, [r0]
ldr r5, _0801C2B0 @ =0x000001A9
adds r0, r2, r5
@@ -20888,7 +20888,7 @@ _0801C246:
.align 2, 0
_0801C2A4: .4byte 0x040000D4
_0801C2A8: .4byte 0x086AD50C
-_0801C2AC: .4byte 0x020314E0
+_0801C2AC: .4byte gUnknown_020314E0
_0801C2B0: .4byte 0x000001A9
_0801C2B4: .4byte 0x06002000
_0801C2B8: .4byte 0x80000620
@@ -20906,7 +20906,7 @@ _0801C2D2:
movs r0, #0
bl sub_21FBC
_0801C2D8:
- ldr r5, _0801C38C @ =0x020314E0
+ ldr r5, _0801C38C @ =gUnknown_020314E0
ldr r3, [r5]
movs r4, #0xdc
lsls r4, r4, #1
@@ -20939,7 +20939,7 @@ _0801C2D8:
movs r0, #0x83
bl m4aSongNumStart
_0801C31A:
- ldr r0, _0801C38C @ =0x020314E0
+ ldr r0, _0801C38C @ =gUnknown_020314E0
ldr r2, [r0]
ldr r3, _0801C394 @ =0x00000252
adds r1, r2, r3
@@ -20981,7 +20981,7 @@ _0801C350:
b _0801C488
_0801C364:
ldr r3, _0801C398 @ =0x040000D4
- ldr r1, _0801C39C @ =0x02031520
+ ldr r1, _0801C39C @ =gUnknown_02031520
ldr r4, [r1, #0x30]
str r4, [r3]
ldr r0, _0801C3A0 @ =0x05000200
@@ -21001,11 +21001,11 @@ _0801C364:
ldr r0, _0801C3AC @ =0x80000060
b _0801C3BC
.align 2, 0
-_0801C38C: .4byte 0x020314E0
+_0801C38C: .4byte gUnknown_020314E0
_0801C390: .4byte gMain
_0801C394: .4byte 0x00000252
_0801C398: .4byte 0x040000D4
-_0801C39C: .4byte 0x02031520
+_0801C39C: .4byte gUnknown_02031520
_0801C3A0: .4byte 0x05000200
_0801C3A4: .4byte 0x80000010
_0801C3A8: .4byte 0x05000240
@@ -21056,7 +21056,7 @@ _0801C3FC:
b _0801C554
_0801C40C:
ldr r3, _0801C438 @ =0x040000D4
- ldr r1, _0801C43C @ =0x02031520
+ ldr r1, _0801C43C @ =gUnknown_02031520
ldr r4, [r1, #0x2c]
str r4, [r3]
ldr r0, _0801C440 @ =0x05000200
@@ -21078,7 +21078,7 @@ _0801C40C:
.align 2, 0
_0801C434: .4byte gMain
_0801C438: .4byte 0x040000D4
-_0801C43C: .4byte 0x02031520
+_0801C43C: .4byte gUnknown_02031520
_0801C440: .4byte 0x05000200
_0801C444: .4byte 0x80000010
_0801C448: .4byte 0x05000240
@@ -21220,7 +21220,7 @@ _0801C554:
thumb_func_start sub_1C560
sub_1C560: @ 0x0801C560
push {r4, lr}
- ldr r3, _0801C598 @ =0x020314E0
+ ldr r3, _0801C598 @ =gUnknown_020314E0
ldr r1, [r3]
movs r4, #0
movs r2, #0
@@ -21246,7 +21246,7 @@ sub_1C560: @ 0x0801C560
pop {r0}
bx r0
.align 2, 0
-_0801C598: .4byte 0x020314E0
+_0801C598: .4byte gUnknown_020314E0
_0801C59C: .4byte gMain
_0801C5A0: .4byte 0x000005F3
_0801C5A4: .4byte 0x00002710
@@ -21255,7 +21255,7 @@ _0801C5A8: .4byte 0x000005F7
thumb_func_start sub_1C5AC
sub_1C5AC: @ 0x0801C5AC
push {r4, r5, r6, lr}
- ldr r5, _0801C614 @ =0x020314E0
+ ldr r5, _0801C614 @ =gUnknown_020314E0
ldr r2, [r5]
ldrh r0, [r2, #0x28]
adds r1, r0, #0
@@ -21308,7 +21308,7 @@ _0801C5BC:
strb r4, [r3]
b _0801C706
.align 2, 0
-_0801C614: .4byte 0x020314E0
+_0801C614: .4byte gUnknown_020314E0
_0801C618: .4byte 0x0000132C
_0801C61C:
cmp r0, #0x94
@@ -21429,7 +21429,7 @@ _0801C6FC:
movs r0, #1
strb r0, [r1]
_0801C706:
- ldr r0, _0801C724 @ =0x020314E0
+ ldr r0, _0801C724 @ =gUnknown_020314E0
ldr r1, [r0]
ldrh r0, [r1, #0x28]
cmp r0, #0x28
@@ -21444,7 +21444,7 @@ _0801C706:
strh r0, [r1]
b _0801C736
.align 2, 0
-_0801C724: .4byte 0x020314E0
+_0801C724: .4byte gUnknown_020314E0
_0801C728:
movs r3, #0xe6
lsls r3, r3, #3
@@ -21469,7 +21469,7 @@ sub_1C73C: @ 0x0801C73C
strh r4, [r0]
movs r0, #0
bl sub_4B408
- ldr r5, _0801C7E4 @ =0x020314E0
+ ldr r5, _0801C7E4 @ =gUnknown_020314E0
ldr r1, [r5]
ldr r2, _0801C7E8 @ =0x0000132C
adds r1, r1, r2
@@ -21541,7 +21541,7 @@ _0801C7BA:
bx r0
.align 2, 0
_0801C7E0: .4byte gMain
-_0801C7E4: .4byte 0x020314E0
+_0801C7E4: .4byte gUnknown_020314E0
_0801C7E8: .4byte 0x0000132C
_0801C7EC: .4byte 0x00000282
_0801C7F0: .4byte 0x00000723
@@ -21561,7 +21561,7 @@ sub_1C7F4: @ 0x0801C7F4
lsrs r1, r0, #0x10
str r1, [sp, #0x28]
asrs r0, r0, #0x10
- ldr r2, _0801C824 @ =0x020314E0
+ ldr r2, _0801C824 @ =gUnknown_020314E0
mov sl, r2
cmp r0, #9
bls _0801C81A
@@ -21573,7 +21573,7 @@ _0801C81A:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0801C824: .4byte 0x020314E0
+_0801C824: .4byte gUnknown_020314E0
_0801C828: .4byte _0801C82C
_0801C82C: @ jump table
.4byte _0801C854 @ case 0
@@ -21587,7 +21587,7 @@ _0801C82C: @ jump table
.4byte _0801D02C @ case 8
.4byte _0801CB24 @ case 9
_0801C854:
- ldr r6, _0801C8D0 @ =0x020314E0
+ ldr r6, _0801C8D0 @ =gUnknown_020314E0
ldr r0, [r6]
ldr r3, _0801C8D4 @ =0x000006DB
adds r0, r0, r3
@@ -21648,7 +21648,7 @@ _0801C854:
mov sl, r6
bl _0801D0B8
.align 2, 0
-_0801C8D0: .4byte 0x020314E0
+_0801C8D0: .4byte gUnknown_020314E0
_0801C8D4: .4byte 0x000006DB
_0801C8D8: .4byte 0x00000749
_0801C8DC: .4byte 0x000006D9
@@ -21662,7 +21662,7 @@ _0801C8F8: .4byte 0x05000200
_0801C8FC: .4byte 0x80000010
_0801C900:
ldr r7, _0801C97C @ =0x086AD070
- ldr r6, _0801C980 @ =0x020314E0
+ ldr r6, _0801C980 @ =gUnknown_020314E0
ldr r0, [r6]
ldr r3, [sp, #0x2c]
lsls r4, r3, #0x10
@@ -21723,7 +21723,7 @@ _0801C900:
b _0801D0B8
.align 2, 0
_0801C97C: .4byte 0x086AD070
-_0801C980: .4byte 0x020314E0
+_0801C980: .4byte gUnknown_020314E0
_0801C984: .4byte 0x00000749
_0801C988: .4byte 0x040000D4
_0801C98C: .4byte 0x083A8EEC
@@ -21734,7 +21734,7 @@ _0801C99C: .4byte 0x086AD798
_0801C9A0: .4byte 0x05000200
_0801C9A4: .4byte 0x80000010
_0801C9A8:
- ldr r5, _0801CA1C @ =0x020314E0
+ ldr r5, _0801CA1C @ =gUnknown_020314E0
ldr r3, [r5]
ldr r4, [sp, #0x2c]
lsls r2, r4, #0x10
@@ -21792,7 +21792,7 @@ _0801C9A8:
mov sl, r5
b _0801D0B8
.align 2, 0
-_0801CA1C: .4byte 0x020314E0
+_0801CA1C: .4byte gUnknown_020314E0
_0801CA20: .4byte 0x000006EC
_0801CA24: .4byte 0x086AD000
_0801CA28: .4byte 0x00000749
@@ -21805,7 +21805,7 @@ _0801CA40: .4byte 0x086AD798
_0801CA44: .4byte 0x05000200
_0801CA48: .4byte 0x80000010
_0801CA4C:
- ldr r7, _0801CAFC @ =0x020314E0
+ ldr r7, _0801CAFC @ =gUnknown_020314E0
ldr r1, [r7]
ldr r2, [sp, #0x2c]
lsls r2, r2, #0x10
@@ -21890,7 +21890,7 @@ _0801CA4C:
mov sl, r7
b _0801D0B8
.align 2, 0
-_0801CAFC: .4byte 0x020314E0
+_0801CAFC: .4byte gUnknown_020314E0
_0801CB00: .4byte 0x00000749
_0801CB04: .4byte 0x040000D4
_0801CB08: .4byte gMonPortraitGroupGfx
@@ -21901,7 +21901,7 @@ _0801CB18: .4byte 0x050003A0
_0801CB1C: .4byte 0x80000010
_0801CB20: .4byte 0x050003E0
_0801CB24:
- ldr r0, _0801CB68 @ =0x020314E0
+ ldr r0, _0801CB68 @ =gUnknown_020314E0
ldr r4, [r0]
movs r3, #0x97
lsls r3, r3, #2
@@ -21935,7 +21935,7 @@ _0801CB24:
ldr r0, [r4]
b _0801CC0C
.align 2, 0
-_0801CB68: .4byte 0x020314E0
+_0801CB68: .4byte gUnknown_020314E0
_0801CB6C: .4byte 0x0200B134
_0801CB70: .4byte 0x0000059A
_0801CB74: .4byte 0x00000749
@@ -22085,7 +22085,7 @@ _0801CCAC: .4byte gMonPortraitGroupGfx
_0801CCB0: .4byte 0x06010CA0
_0801CCB4: .4byte 0x80000180
_0801CCB8:
- ldr r0, _0801CD28 @ =0x020314E0
+ ldr r0, _0801CD28 @ =gUnknown_020314E0
ldr r2, [r0]
movs r1, #0x17
ldrsb r1, [r2, r1]
@@ -22139,7 +22139,7 @@ _0801CCB8:
ldrh r5, [r6]
b _0801CF30
.align 2, 0
-_0801CD28: .4byte 0x020314E0
+_0801CD28: .4byte gUnknown_020314E0
_0801CD2C: .4byte 0x00000749
_0801CD30: .4byte 0x086AD000
_0801CD34: .4byte 0x040000D4
@@ -22203,7 +22203,7 @@ _0801CDB4: .4byte 0x083A8EEC
_0801CDB8: .4byte 0x06010CA0
_0801CDBC: .4byte 0x80000180
_0801CDC0:
- ldr r4, _0801CEF8 @ =0x020314E0
+ ldr r4, _0801CEF8 @ =gUnknown_020314E0
ldr r2, [r4]
ldr r5, _0801CEFC @ =0x000001A7
adds r0, r2, r5
@@ -22359,7 +22359,7 @@ _0801CE76:
ldr r0, [r1, #8]
b _0801D0B8
.align 2, 0
-_0801CEF8: .4byte 0x020314E0
+_0801CEF8: .4byte gUnknown_020314E0
_0801CEFC: .4byte 0x000001A7
_0801CF00: .4byte 0x086AD000
_0801CF04: .4byte 0x00000749
@@ -22400,7 +22400,7 @@ _0801CF60: .4byte 0x086AD798
_0801CF64: .4byte 0x05000200
_0801CF68: .4byte 0x80000010
_0801CF6C:
- ldr r5, _0801CFFC @ =0x020314E0
+ ldr r5, _0801CFFC @ =gUnknown_020314E0
mov r8, r5
ldr r2, [r5]
ldr r0, [sp, #0x2c]
@@ -22470,7 +22470,7 @@ _0801CF6C:
mov sl, r8
b _0801D0B8
.align 2, 0
-_0801CFFC: .4byte 0x020314E0
+_0801CFFC: .4byte gUnknown_020314E0
_0801D000: .4byte 0x000006EC
_0801D004: .4byte 0x086AD000
_0801D008: .4byte 0x00000749
@@ -22483,7 +22483,7 @@ _0801D020: .4byte 0x086AD798
_0801D024: .4byte 0x05000200
_0801D028: .4byte 0x80000010
_0801D02C:
- ldr r2, _0801D0EC @ =0x020314E0
+ ldr r2, _0801D0EC @ =gUnknown_020314E0
mov sb, r2
ldr r2, [r2]
ldr r3, _0801D0F0 @ =0x000006DC
@@ -22580,7 +22580,7 @@ _0801D0B8:
pop {r0}
bx r0
.align 2, 0
-_0801D0EC: .4byte 0x020314E0
+_0801D0EC: .4byte gUnknown_020314E0
_0801D0F0: .4byte 0x000006DC
_0801D0F4: .4byte 0x086AD000
_0801D0F8: .4byte 0x00000749
@@ -22604,7 +22604,7 @@ sub_1D128: @ 0x0801D128
mov r5, r8
push {r5, r6, r7}
sub sp, #8
- ldr r1, _0801D154 @ =0x020314E0
+ ldr r1, _0801D154 @ =gUnknown_020314E0
ldr r3, [r1]
ldr r2, _0801D158 @ =0x000006C4
adds r0, r3, r2
@@ -22621,7 +22621,7 @@ sub_1D128: @ 0x0801D128
movs r2, #0xb4
b _0801D1C4
.align 2, 0
-_0801D154: .4byte 0x020314E0
+_0801D154: .4byte gUnknown_020314E0
_0801D158: .4byte 0x000006C4
_0801D15C:
cmp r0, #2
@@ -23074,7 +23074,7 @@ _0801D4CC: .4byte 0x0000014D
thumb_func_start sub_1D4D0
sub_1D4D0: @ 0x0801D4D0
push {r4, r5, r6, r7, lr}
- ldr r0, _0801D5C8 @ =0x020314E0
+ ldr r0, _0801D5C8 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r2, _0801D5CC @ =0x000006C4
adds r1, r1, r2
@@ -23204,7 +23204,7 @@ _0801D5C2:
pop {r0}
bx r0
.align 2, 0
-_0801D5C8: .4byte 0x020314E0
+_0801D5C8: .4byte gUnknown_020314E0
_0801D5CC: .4byte 0x000006C4
_0801D5D0: .4byte gMain
_0801D5D4: .4byte gOamBuffer
@@ -23221,7 +23221,7 @@ sub_1D5D8: @ 0x0801D5D8
movs r1, #0
mov r8, r1
movs r5, #0
- ldr r1, _0801D610 @ =0x020314E0
+ ldr r1, _0801D610 @ =gUnknown_020314E0
ldr r0, [r1]
ldr r2, _0801D614 @ =0x000002FB
adds r0, r0, r2
@@ -23239,7 +23239,7 @@ _0801D600:
mov pc, r0
.align 2, 0
_0801D60C: .4byte 0x0200E6C0
-_0801D610: .4byte 0x020314E0
+_0801D610: .4byte gUnknown_020314E0
_0801D614: .4byte 0x000002FB
_0801D618: .4byte _0801D61C
_0801D61C: @ jump table
@@ -23266,7 +23266,7 @@ _0801D63C:
.align 2, 0
_0801D658: .4byte gMain
_0801D65C:
- ldr r4, _0801D6AC @ =0x020314E0
+ ldr r4, _0801D6AC @ =gUnknown_020314E0
ldr r1, [r4]
ldr r3, _0801D6B0 @ =0x000002FE
adds r2, r1, r3
@@ -23304,7 +23304,7 @@ _0801D65C:
str r0, [r1, #0x3c]
b _0801D930
.align 2, 0
-_0801D6AC: .4byte 0x020314E0
+_0801D6AC: .4byte gUnknown_020314E0
_0801D6B0: .4byte 0x000002FE
_0801D6B4: .4byte 0x000002FD
_0801D6B8: .4byte 0x000002FB
@@ -23312,7 +23312,7 @@ _0801D6BC: .4byte 0x086AD7C0
_0801D6C0: .4byte 0x0000C350
_0801D6C4:
ldr r3, _0801D6F0 @ =0x086AD7C0
- ldr r0, _0801D6F4 @ =0x020314E0
+ ldr r0, _0801D6F4 @ =gUnknown_020314E0
ldr r2, [r0]
ldr r6, _0801D6F8 @ =0x000002FD
adds r4, r2, r6
@@ -23335,7 +23335,7 @@ _0801D6C4:
b _0801D736
.align 2, 0
_0801D6F0: .4byte 0x086AD7C0
-_0801D6F4: .4byte 0x020314E0
+_0801D6F4: .4byte gUnknown_020314E0
_0801D6F8: .4byte 0x000002FD
_0801D6FC: .4byte 0x000002FE
_0801D700:
@@ -23345,7 +23345,7 @@ _0801D700:
ldrb r0, [r4]
adds r0, #1
strb r0, [r4]
- ldr r7, _0801D754 @ =0x020314E0
+ ldr r7, _0801D754 @ =gUnknown_020314E0
ldr r1, [r7]
ldr r2, _0801D758 @ =0x000002FD
adds r0, r1, r2
@@ -23357,7 +23357,7 @@ _0801D700:
ldr r7, _0801D75C @ =0x000002FB
adds r0, r1, r7
strb r5, [r0]
- ldr r1, _0801D754 @ =0x020314E0
+ ldr r1, _0801D754 @ =gUnknown_020314E0
ldr r0, [r1]
adds r0, r0, r6
strb r5, [r0]
@@ -23367,7 +23367,7 @@ _0801D700:
movs r1, #1
strb r1, [r0]
_0801D736:
- ldr r0, _0801D754 @ =0x020314E0
+ ldr r0, _0801D754 @ =gUnknown_020314E0
ldr r0, [r0]
ldr r5, _0801D758 @ =0x000002FD
adds r0, r0, r5
@@ -23382,11 +23382,11 @@ _0801D736:
adds r0, r0, r1
b _0801D92C
.align 2, 0
-_0801D754: .4byte 0x020314E0
+_0801D754: .4byte gUnknown_020314E0
_0801D758: .4byte 0x000002FD
_0801D75C: .4byte 0x000002FB
_0801D760:
- ldr r4, _0801D7B0 @ =0x020314E0
+ ldr r4, _0801D7B0 @ =gUnknown_020314E0
ldr r1, [r4]
ldr r7, _0801D7B4 @ =0x000002FE
adds r2, r1, r7
@@ -23424,7 +23424,7 @@ _0801D760:
str r0, [r1, #0x3c]
b _0801D930
.align 2, 0
-_0801D7B0: .4byte 0x020314E0
+_0801D7B0: .4byte gUnknown_020314E0
_0801D7B4: .4byte 0x000002FE
_0801D7B8: .4byte 0x000002FD
_0801D7BC: .4byte 0x000002FB
@@ -23432,7 +23432,7 @@ _0801D7C0: .4byte 0x086AD7C0
_0801D7C4: .4byte 0x000186A0
_0801D7C8:
ldr r2, _0801D7F4 @ =0x086AD7C0
- ldr r5, _0801D7F8 @ =0x020314E0
+ ldr r5, _0801D7F8 @ =gUnknown_020314E0
ldr r3, [r5]
ldr r7, _0801D7FC @ =0x000002FD
adds r4, r3, r7
@@ -23455,7 +23455,7 @@ _0801D7C8:
b _0801D82C
.align 2, 0
_0801D7F4: .4byte 0x086AD7C0
-_0801D7F8: .4byte 0x020314E0
+_0801D7F8: .4byte gUnknown_020314E0
_0801D7FC: .4byte 0x000002FD
_0801D800: .4byte 0x000002FE
_0801D804:
@@ -23479,7 +23479,7 @@ _0801D804:
movs r0, #0xd1
bl m4aSongNumStart
_0801D82C:
- ldr r4, _0801D854 @ =0x020314E0
+ ldr r4, _0801D854 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r7, _0801D858 @ =0x000002FE
adds r0, r0, r7
@@ -23497,12 +23497,12 @@ _0801D840:
.align 2, 0
_0801D84C: .4byte 0x000002FD
_0801D850: .4byte 0x000002FB
-_0801D854: .4byte 0x020314E0
+_0801D854: .4byte gUnknown_020314E0
_0801D858: .4byte 0x000002FE
_0801D85C: .4byte 0x086AD7C0
_0801D860:
ldr r3, _0801D88C @ =0x086AD7C0
- ldr r5, _0801D890 @ =0x020314E0
+ ldr r5, _0801D890 @ =gUnknown_020314E0
ldr r2, [r5]
ldr r7, _0801D894 @ =0x000002FD
adds r4, r2, r7
@@ -23525,7 +23525,7 @@ _0801D860:
b _0801D8BA
.align 2, 0
_0801D88C: .4byte 0x086AD7C0
-_0801D890: .4byte 0x020314E0
+_0801D890: .4byte gUnknown_020314E0
_0801D894: .4byte 0x000002FD
_0801D898: .4byte 0x000002FE
_0801D89C:
@@ -23534,7 +23534,7 @@ _0801D89C:
ldrb r0, [r4]
adds r0, #1
strb r0, [r4]
- ldr r7, _0801D8D8 @ =0x020314E0
+ ldr r7, _0801D8D8 @ =gUnknown_020314E0
ldr r0, [r7]
ldr r2, _0801D8DC @ =0x000002FD
adds r1, r0, r2
@@ -23545,7 +23545,7 @@ _0801D89C:
movs r0, #0x12
strb r0, [r1]
_0801D8BA:
- ldr r0, _0801D8D8 @ =0x020314E0
+ ldr r0, _0801D8D8 @ =gUnknown_020314E0
ldr r0, [r0]
ldr r5, _0801D8DC @ =0x000002FD
adds r0, r0, r5
@@ -23560,10 +23560,10 @@ _0801D8BA:
adds r0, r0, r1
b _0801D92C
.align 2, 0
-_0801D8D8: .4byte 0x020314E0
+_0801D8D8: .4byte gUnknown_020314E0
_0801D8DC: .4byte 0x000002FD
_0801D8E0:
- ldr r4, _0801DA3C @ =0x020314E0
+ ldr r4, _0801DA3C @ =gUnknown_020314E0
ldr r0, [r4]
ldr r7, _0801DA40 @ =0x000002FA
adds r0, r0, r7
@@ -23611,7 +23611,7 @@ _0801D930:
cmp r0, #0
beq _0801DA20
ldr r2, _0801DA50 @ =0x086AD856
- ldr r3, _0801DA3C @ =0x020314E0
+ ldr r3, _0801DA3C @ =gUnknown_020314E0
ldr r4, [r3]
ldr r7, _0801DA44 @ =0x000002F9
adds r3, r4, r7
@@ -23728,7 +23728,7 @@ _0801D9A6:
cmp r3, #1
ble _0801D9A6
_0801DA20:
- ldr r7, _0801DA3C @ =0x020314E0
+ ldr r7, _0801DA3C @ =gUnknown_020314E0
ldr r0, [r7]
movs r1, #0xbf
lsls r1, r1, #2
@@ -23743,7 +23743,7 @@ _0801DA20:
pop {r0}
bx r0
.align 2, 0
-_0801DA3C: .4byte 0x020314E0
+_0801DA3C: .4byte gUnknown_020314E0
_0801DA40: .4byte 0x000002FA
_0801DA44: .4byte 0x000002F9
_0801DA48: .4byte 0x000002FE
@@ -23760,7 +23760,7 @@ _0801DA70: .4byte 0x000001FF
thumb_func_start sub_1DA74
sub_1DA74: @ 0x0801DA74
- ldr r0, _0801DAB0 @ =0x020314E0
+ ldr r0, _0801DAB0 @ =gUnknown_020314E0
ldr r2, [r0]
adds r0, r2, #0
adds r0, #0x25
@@ -23791,7 +23791,7 @@ sub_1DA74: @ 0x0801DA74
strb r1, [r0]
b _0801DAD4
.align 2, 0
-_0801DAB0: .4byte 0x020314E0
+_0801DAB0: .4byte gUnknown_020314E0
_0801DAB4: .4byte 0x000001A5
_0801DAB8: .4byte 0x000001AB
_0801DABC:
@@ -23822,7 +23822,7 @@ sub_1DAD8: @ 0x0801DAD8
sub sp, #4
ldr r0, _0801DB64 @ =0x0200E270
mov r8, r0
- ldr r0, _0801DB68 @ =0x020314E0
+ ldr r0, _0801DB68 @ =gUnknown_020314E0
ldr r4, [r0]
movs r2, #0xbc
lsls r2, r2, #2
@@ -23886,7 +23886,7 @@ _0801DB58:
b _0801DBAC
.align 2, 0
_0801DB64: .4byte 0x0200E270
-_0801DB68: .4byte 0x020314E0
+_0801DB68: .4byte gUnknown_020314E0
_0801DB6C: .4byte 0x000002F1
_0801DB70: .4byte 0x000002F2
_0801DB74: .4byte 0xFFFFCE50
@@ -24025,7 +24025,7 @@ sub_1DC7C: @ 0x0801DC7C
mov r6, r8
push {r6, r7}
ldr r6, _0801DD7C @ =0x0200E100
- ldr r2, _0801DD80 @ =0x020314E0
+ ldr r2, _0801DD80 @ =gUnknown_020314E0
ldr r3, [r2]
ldr r1, _0801DD84 @ =0x000002A5
adds r0, r3, r1
@@ -24152,7 +24152,7 @@ _0801DD6E:
b _0801DDCA
.align 2, 0
_0801DD7C: .4byte 0x0200E100
-_0801DD80: .4byte 0x020314E0
+_0801DD80: .4byte gUnknown_020314E0
_0801DD84: .4byte 0x000002A5
_0801DD88: .4byte 0x086AD862
_0801DD8C: .4byte 0x040000D4
@@ -24194,7 +24194,7 @@ sub_1DDDC: @ 0x0801DDDC
mov r5, r8
push {r5, r6, r7}
sub sp, #0x10
- ldr r1, _0801DE70 @ =0x020314E0
+ ldr r1, _0801DE70 @ =gUnknown_020314E0
ldr r4, [r1]
movs r2, #0xa9
lsls r2, r2, #2
@@ -24266,7 +24266,7 @@ _0801DE64:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0801DE70: .4byte 0x020314E0
+_0801DE70: .4byte gUnknown_020314E0
_0801DE74: .4byte 0x0000016F
_0801DE78: .4byte 0x000002A2
_0801DE7C: .4byte 0x000002A5
@@ -24286,7 +24286,7 @@ _0801DE88: @ jump table
.4byte _0801E4CC @ case 10
_0801DEB4:
ldr r1, _0801DF18 @ =0x086AD862
- ldr r4, _0801DF1C @ =0x020314E0
+ ldr r4, _0801DF1C @ =gUnknown_020314E0
ldr r2, [r4]
ldr r5, _0801DF20 @ =0x000002A5
adds r3, r2, r5
@@ -24336,12 +24336,12 @@ _0801DF0C:
bl _0801E780
.align 2, 0
_0801DF18: .4byte 0x086AD862
-_0801DF1C: .4byte 0x020314E0
+_0801DF1C: .4byte gUnknown_020314E0
_0801DF20: .4byte 0x000002A5
_0801DF24: .4byte 0x000002A6
_0801DF28: .4byte 0x000002A2
_0801DF2C:
- ldr r6, _0801DF5C @ =0x020314E0
+ ldr r6, _0801DF5C @ =gUnknown_020314E0
ldr r4, [r6]
ldr r5, _0801DF60 @ =0x000002A6
adds r0, r4, r5
@@ -24363,11 +24363,11 @@ _0801DF2C:
strh r0, [r1]
bl _0801E780
.align 2, 0
-_0801DF5C: .4byte 0x020314E0
+_0801DF5C: .4byte gUnknown_020314E0
_0801DF60: .4byte 0x000002A6
_0801DF64: .4byte 0x000002A5
_0801DF68:
- ldr r2, _0801DFA8 @ =0x020314E0
+ ldr r2, _0801DFA8 @ =gUnknown_020314E0
ldr r0, [r2]
ldr r3, _0801DFAC @ =0x000002A5
adds r0, r0, r3
@@ -24397,7 +24397,7 @@ _0801DF68:
bl sub_11B0
bl _0801E780
.align 2, 0
-_0801DFA8: .4byte 0x020314E0
+_0801DFA8: .4byte gUnknown_020314E0
_0801DFAC: .4byte 0x000002A5
_0801DFB0: .4byte 0x000002A6
_0801DFB4: .4byte 0x000002A2
@@ -24405,7 +24405,7 @@ _0801DFB8: .4byte 0x0000132C
_0801DFBC: .4byte 0x00001388
_0801DFC0:
ldr r1, _0801DFE8 @ =0x086AD862
- ldr r4, _0801DFEC @ =0x020314E0
+ ldr r4, _0801DFEC @ =gUnknown_020314E0
ldr r2, [r4]
ldr r6, _0801DFF0 @ =0x000002A5
adds r3, r2, r6
@@ -24426,7 +24426,7 @@ _0801DFC0:
b _0801E038
.align 2, 0
_0801DFE8: .4byte 0x086AD862
-_0801DFEC: .4byte 0x020314E0
+_0801DFEC: .4byte gUnknown_020314E0
_0801DFF0: .4byte 0x000002A5
_0801DFF4: .4byte 0x000002A6
_0801DFF8:
@@ -24463,7 +24463,7 @@ _0801E024:
movs r0, #0xd4
bl m4aSongNumStart
_0801E038:
- ldr r5, _0801E0C8 @ =0x020314E0
+ ldr r5, _0801E0C8 @ =gUnknown_020314E0
ldr r2, [r5]
ldr r4, _0801E0C0 @ =0x000002A5
adds r0, r2, r4
@@ -24537,10 +24537,10 @@ _0801E0B4:
.align 2, 0
_0801E0C0: .4byte 0x000002A5
_0801E0C4: .4byte 0x000002A2
-_0801E0C8: .4byte 0x020314E0
+_0801E0C8: .4byte gUnknown_020314E0
_0801E0CC: .4byte 0x0000132C
_0801E0D0:
- ldr r5, _0801E154 @ =0x020314E0
+ ldr r5, _0801E154 @ =gUnknown_020314E0
ldr r0, [r5]
movs r3, #0x88
lsls r3, r3, #5
@@ -24607,7 +24607,7 @@ _0801E11E:
bl sub_1C73C
b _0801E780
.align 2, 0
-_0801E154: .4byte 0x020314E0
+_0801E154: .4byte gUnknown_020314E0
_0801E158: .4byte 0x000002A6
_0801E15C: .4byte gMain
_0801E160: .4byte 0x00000282
@@ -24616,7 +24616,7 @@ _0801E168: .4byte 0x0000073C
_0801E16C: .4byte 0x0000072F
_0801E170: .4byte 0x0000073D
_0801E174:
- ldr r2, _0801E1A0 @ =0x020314E0
+ ldr r2, _0801E1A0 @ =gUnknown_020314E0
ldr r0, [r2]
ldr r1, _0801E1A4 @ =0x000002A5
adds r0, r0, r1
@@ -24639,14 +24639,14 @@ _0801E174:
strb r4, [r0, #1]
b _0801E780
.align 2, 0
-_0801E1A0: .4byte 0x020314E0
+_0801E1A0: .4byte gUnknown_020314E0
_0801E1A4: .4byte 0x000002A5
_0801E1A8: .4byte 0x000002A6
_0801E1AC: .4byte 0x000002A2
_0801E1B0: .4byte 0x0000132C
_0801E1B4:
ldr r1, _0801E1DC @ =0x086AD862
- ldr r4, _0801E1E0 @ =0x020314E0
+ ldr r4, _0801E1E0 @ =gUnknown_020314E0
ldr r2, [r4]
ldr r5, _0801E1E4 @ =0x000002A5
adds r3, r2, r5
@@ -24667,7 +24667,7 @@ _0801E1B4:
b _0801E28A
.align 2, 0
_0801E1DC: .4byte 0x086AD862
-_0801E1E0: .4byte 0x020314E0
+_0801E1E0: .4byte gUnknown_020314E0
_0801E1E4: .4byte 0x000002A5
_0801E1E8: .4byte 0x000002A6
_0801E1EC:
@@ -24752,7 +24752,7 @@ _0801E276:
movs r0, #0xd6
bl m4aSongNumStart
_0801E28A:
- ldr r1, _0801E2F4 @ =0x020314E0
+ ldr r1, _0801E2F4 @ =gUnknown_020314E0
ldr r3, [r1]
ldr r2, _0801E2E4 @ =0x000002A5
adds r0, r3, r2
@@ -24785,7 +24785,7 @@ _0801E28A:
ldr r0, [r1]
strh r3, [r0, #0x32]
_0801E2CA:
- ldr r0, _0801E2F4 @ =0x020314E0
+ ldr r0, _0801E2F4 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r3, _0801E2E4 @ =0x000002A5
adds r0, r1, r3
@@ -24804,9 +24804,9 @@ _0801E2E4: .4byte 0x000002A5
_0801E2E8: .4byte 0x000002A2
_0801E2EC: .4byte 0x0000132C
_0801E2F0: .4byte 0x0000FF88
-_0801E2F4: .4byte 0x020314E0
+_0801E2F4: .4byte gUnknown_020314E0
_0801E2F8:
- ldr r4, _0801E33C @ =0x020314E0
+ ldr r4, _0801E33C @ =gUnknown_020314E0
ldr r0, [r4]
ldr r5, _0801E340 @ =0x000002A5
adds r0, r0, r5
@@ -24840,13 +24840,13 @@ _0801E336:
strh r0, [r1]
b _0801E780
.align 2, 0
-_0801E33C: .4byte 0x020314E0
+_0801E33C: .4byte gUnknown_020314E0
_0801E340: .4byte 0x000002A5
_0801E344: .4byte 0x000002A6
_0801E348: .4byte 0x00000724
_0801E34C:
ldr r1, _0801E374 @ =0x086AD862
- ldr r4, _0801E378 @ =0x020314E0
+ ldr r4, _0801E378 @ =gUnknown_020314E0
ldr r2, [r4]
ldr r5, _0801E37C @ =0x000002A5
adds r3, r2, r5
@@ -24867,7 +24867,7 @@ _0801E34C:
b _0801E3D4
.align 2, 0
_0801E374: .4byte 0x086AD862
-_0801E378: .4byte 0x020314E0
+_0801E378: .4byte gUnknown_020314E0
_0801E37C: .4byte 0x000002A5
_0801E380: .4byte 0x000002A6
_0801E384:
@@ -24912,7 +24912,7 @@ _0801E3BE:
lsls r0, r0, #1
bl m4aSongNumStart
_0801E3D4:
- ldr r6, _0801E438 @ =0x020314E0
+ ldr r6, _0801E438 @ =gUnknown_020314E0
ldr r4, [r6]
ldr r5, _0801E430 @ =0x000002A5
adds r0, r4, r5
@@ -24960,14 +24960,14 @@ _0801E426:
.align 2, 0
_0801E430: .4byte 0x000002A5
_0801E434: .4byte 0x000002A2
-_0801E438: .4byte 0x020314E0
+_0801E438: .4byte gUnknown_020314E0
_0801E43C: .4byte 0x086AD9EC
_0801E440: .4byte 0x000002AA
_0801E444: .4byte 0x02032FB0
_0801E448: .4byte 0x086A0F30
_0801E44C:
ldr r1, _0801E474 @ =0x086AD862
- ldr r4, _0801E478 @ =0x020314E0
+ ldr r4, _0801E478 @ =gUnknown_020314E0
ldr r2, [r4]
ldr r5, _0801E47C @ =0x000002A5
adds r3, r2, r5
@@ -24989,7 +24989,7 @@ _0801E46E:
b _0801E780
.align 2, 0
_0801E474: .4byte 0x086AD862
-_0801E478: .4byte 0x020314E0
+_0801E478: .4byte gUnknown_020314E0
_0801E47C: .4byte 0x000002A5
_0801E480: .4byte 0x000002A6
_0801E484:
@@ -25029,7 +25029,7 @@ _0801E4BA:
_0801E4C4: .4byte 0x000002A5
_0801E4C8: .4byte 0x000002A2
_0801E4CC:
- ldr r2, _0801E508 @ =0x020314E0
+ ldr r2, _0801E508 @ =gUnknown_020314E0
ldr r0, [r2]
movs r4, #0xa9
lsls r4, r4, #2
@@ -25059,7 +25059,7 @@ _0801E4CC:
strh r3, [r0]
b _0801E780
.align 2, 0
-_0801E508: .4byte 0x020314E0
+_0801E508: .4byte gUnknown_020314E0
_0801E50C: .4byte 0x000002A5
_0801E510: .4byte 0x0000016F
_0801E514: .4byte 0x000002AA
@@ -25286,7 +25286,7 @@ _0801E68E:
adds r1, r3, r2
strh r0, [r1]
_0801E6C4:
- ldr r5, _0801E710 @ =0x020314E0
+ ldr r5, _0801E710 @ =gUnknown_020314E0
ldr r1, [r5]
movs r4, #0xba
lsls r4, r4, #1
@@ -25320,7 +25320,7 @@ _0801E700: .4byte 0x000002A2
_0801E704: .4byte 0x000002A5
_0801E708: .4byte 0x0000016F
_0801E70C: .4byte 0x086AD9DC
-_0801E710: .4byte 0x020314E0
+_0801E710: .4byte gUnknown_020314E0
_0801E714:
cmp r0, #0
blt _0801E780
@@ -25378,7 +25378,7 @@ _0801E772:
movs r0, #0xc8
bl m4aSongNumStart
_0801E780:
- ldr r1, _0801E7A4 @ =0x020314E0
+ ldr r1, _0801E7A4 @ =gUnknown_020314E0
ldr r0, [r1]
movs r4, #0xb6
lsls r4, r4, #1
@@ -25397,7 +25397,7 @@ _0801E798:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0801E7A4: .4byte 0x020314E0
+_0801E7A4: .4byte gUnknown_020314E0
_0801E7A8: .4byte _0801E7AC
_0801E7AC: @ jump table
.4byte _0801E7C8 @ case 0
@@ -25446,7 +25446,7 @@ _0801E80C: .4byte 0x000004E2
_0801E810: .4byte 0x0000055A
_0801E814:
movs r6, #0
- ldr r4, _0801E8C0 @ =0x020314E0
+ ldr r4, _0801E8C0 @ =gUnknown_020314E0
mov sb, r4
movs r5, #0xc8
lsls r5, r5, #1
@@ -25528,13 +25528,13 @@ _0801E824:
ble _0801E824
b _0801EC32
.align 2, 0
-_0801E8C0: .4byte 0x020314E0
+_0801E8C0: .4byte gUnknown_020314E0
_0801E8C4: .4byte 0x00004E20
_0801E8C8: .4byte 0x00000564
_0801E8CC: .4byte 0x000005DC
_0801E8D0:
movs r6, #0
- ldr r3, _0801E984 @ =0x020314E0
+ ldr r3, _0801E984 @ =gUnknown_020314E0
mov sb, r3
movs r4, #0xc8
lsls r4, r4, #1
@@ -25619,7 +25619,7 @@ _0801E8E0:
ble _0801E8E0
b _0801EC32
.align 2, 0
-_0801E984: .4byte 0x020314E0
+_0801E984: .4byte gUnknown_020314E0
_0801E988: .4byte 0x00004E20
_0801E98C: .4byte 0x00002710
_0801E990: .4byte 0x00000564
@@ -25958,7 +25958,7 @@ sub_1EC48: @ 0x0801EC48
mov r6, sb
mov r5, r8
push {r5, r6, r7}
- ldr r1, _0801ECAC @ =0x020314E0
+ ldr r1, _0801ECAC @ =gUnknown_020314E0
ldr r3, [r1]
ldr r2, _0801ECB0 @ =0x00000624
adds r0, r3, r2
@@ -25980,7 +25980,7 @@ _0801EC6C:
bl m4aSongNumStart
movs r0, #7
bl sub_11B0
- ldr r3, _0801ECAC @ =0x020314E0
+ ldr r3, _0801ECAC @ =gUnknown_020314E0
ldr r1, [r3]
movs r0, #0x13
ldrsb r0, [r1, r0]
@@ -26007,7 +26007,7 @@ _0801ECA4:
movs r0, #1
b _0801ECC2
.align 2, 0
-_0801ECAC: .4byte 0x020314E0
+_0801ECAC: .4byte gUnknown_020314E0
_0801ECB0: .4byte 0x00000624
_0801ECB4: .4byte 0x00000625
_0801ECB8:
@@ -26019,7 +26019,7 @@ _0801ECC0:
movs r0, #6
_0801ECC2:
strb r0, [r1]
- ldr r6, _0801ED70 @ =0x020314E0
+ ldr r6, _0801ED70 @ =gUnknown_020314E0
ldr r5, [r6]
ldr r1, _0801ED74 @ =0x00000625
adds r0, r5, r1
@@ -26108,7 +26108,7 @@ _0801ECE8:
ldr r0, [r0, #0x18]
b _0801EE0C
.align 2, 0
-_0801ED70: .4byte 0x020314E0
+_0801ED70: .4byte gUnknown_020314E0
_0801ED74: .4byte 0x00000625
_0801ED78: .4byte 0x000006C6
_0801ED7C: .4byte gMain
@@ -26188,7 +26188,7 @@ _0801EE0C:
movs r0, #0xce
strh r0, [r2, #0x38]
_0801EE1E:
- ldr r2, _0801EECC @ =0x020314E0
+ ldr r2, _0801EECC @ =gUnknown_020314E0
ldr r0, [r2]
movs r6, #0xbb
lsls r6, r6, #1
@@ -26204,7 +26204,7 @@ _0801EE1E:
adds r0, #1
strh r0, [r1]
_0801EE3C:
- ldr r2, _0801EECC @ =0x020314E0
+ ldr r2, _0801EECC @ =gUnknown_020314E0
ldr r1, [r2]
ldr r3, _0801EED0 @ =0x00000624
adds r1, r1, r3
@@ -26214,7 +26214,7 @@ _0801EE3C:
_0801EE4A:
ldr r5, _0801EED4 @ =0x0200E048
mov sl, r5
- ldr r6, _0801EECC @ =0x020314E0
+ ldr r6, _0801EECC @ =gUnknown_020314E0
ldr r0, [r6]
movs r1, #0xb6
lsls r1, r1, #1
@@ -26227,7 +26227,7 @@ _0801EE4A:
movs r6, #0
ldr r2, _0801EED8 @ =0x0844928C
mov sb, r2
- ldr r3, _0801EECC @ =0x020314E0
+ ldr r3, _0801EECC @ =gUnknown_020314E0
mov r8, r3
movs r7, #0xb8
lsls r7, r7, #1
@@ -26271,7 +26271,7 @@ _0801EEBC: .4byte 0x80001200
_0801EEC0: .4byte 0x086ACF18
_0801EEC4: .4byte 0x050003C0
_0801EEC8: .4byte 0x80000010
-_0801EECC: .4byte 0x020314E0
+_0801EECC: .4byte gUnknown_020314E0
_0801EED0: .4byte 0x00000624
_0801EED4: .4byte 0x0200E048
_0801EED8: .4byte 0x0844928C
@@ -26312,7 +26312,7 @@ _0801EEFA:
cmp r1, #2
ble _0801EE72
ldr r2, _0801EF40 @ =0x040000D4
- ldr r5, _0801EF44 @ =0x020314E0
+ ldr r5, _0801EF44 @ =gUnknown_020314E0
ldr r0, [r5]
adds r0, #0x6f
movs r1, #0
@@ -26326,7 +26326,7 @@ _0801EEFA:
_0801EF38: .4byte 0x06012E80
_0801EF3C: .4byte 0x80000080
_0801EF40: .4byte 0x040000D4
-_0801EF44: .4byte 0x020314E0
+_0801EF44: .4byte gUnknown_020314E0
_0801EF48: .4byte 0x081379B8
_0801EF4C:
movs r6, #0
@@ -26336,7 +26336,7 @@ _0801EF4C:
ldr r1, _0801EFA0 @ =0x040000D4
mov r8, r1
_0801EF58:
- ldr r2, _0801EFA4 @ =0x020314E0
+ ldr r2, _0801EFA4 @ =gUnknown_020314E0
ldr r1, [r2]
lsls r0, r6, #0x10
asrs r5, r0, #0x10
@@ -26361,7 +26361,7 @@ _0801EF58:
subs r0, r7, #1
movs r3, #0
strb r0, [r4]
- ldr r2, _0801EFA4 @ =0x020314E0
+ ldr r2, _0801EFA4 @ =gUnknown_020314E0
ldr r0, [r2]
add r0, sb
adds r2, r0, r5
@@ -26373,7 +26373,7 @@ _0801EF58:
b _0801EFC6
.align 2, 0
_0801EFA0: .4byte 0x040000D4
-_0801EFA4: .4byte 0x020314E0
+_0801EFA4: .4byte gUnknown_020314E0
_0801EFA8:
movs r0, #0
ldrsb r0, [r4, r0]
@@ -26414,7 +26414,7 @@ _0801EFC6:
cmp r1, #2
ble _0801EF58
ldr r2, _0801F134 @ =0x040000D4
- ldr r5, _0801F138 @ =0x020314E0
+ ldr r5, _0801F138 @ =gUnknown_020314E0
ldr r0, [r5]
adds r0, #0x6f
movs r1, #0
@@ -26433,7 +26433,7 @@ _0801F006:
ldr r0, [r2, #8]
movs r6, #0
_0801F016:
- ldr r0, _0801F138 @ =0x020314E0
+ ldr r0, _0801F138 @ =gUnknown_020314E0
ldr r4, [r0]
lsls r6, r6, #0x10
asrs r1, r6, #0x10
@@ -26573,7 +26573,7 @@ _0801F128: .4byte 0x083C806C
_0801F12C: .4byte 0x06012E80
_0801F130: .4byte 0x80000080
_0801F134: .4byte 0x040000D4
-_0801F138: .4byte 0x020314E0
+_0801F138: .4byte gUnknown_020314E0
_0801F13C: .4byte 0x08137998
_0801F140: .4byte 0x05000320
_0801F144: .4byte 0x80000010
@@ -26600,7 +26600,7 @@ sub_1F158: @ 0x0801F158
ldr r0, _0801F274 @ =0x00002ED0
adds r7, r4, r0
ldr r2, _0801F278 @ =0x040000D4
- ldr r6, _0801F27C @ =0x020314E0
+ ldr r6, _0801F27C @ =gUnknown_020314E0
ldr r3, [r6]
ldr r0, _0801F280 @ =0x000002F5
adds r4, r3, r0
@@ -26727,7 +26727,7 @@ _0801F1F6:
_0801F270: .4byte gMain
_0801F274: .4byte 0x00002ED0
_0801F278: .4byte 0x040000D4
-_0801F27C: .4byte 0x020314E0
+_0801F27C: .4byte gUnknown_020314E0
_0801F280: .4byte 0x000002F5
_0801F284: .4byte 0x084F5ACC
_0801F288: .4byte 0x06012C20
@@ -26744,7 +26744,7 @@ sub_1F2A4: @ 0x0801F2A4
mov r7, sb
mov r6, r8
push {r6, r7}
- ldr r5, _0801F3E8 @ =0x020314E0
+ ldr r5, _0801F3E8 @ =gUnknown_020314E0
ldr r4, [r5]
movs r1, #0xe3
lsls r1, r1, #1
@@ -26838,7 +26838,7 @@ _0801F336:
lsrs r0, r0, #0x10
bl m4aSongNumStart
_0801F368:
- ldr r4, _0801F3E8 @ =0x020314E0
+ ldr r4, _0801F3E8 @ =gUnknown_020314E0
ldr r1, [r4]
movs r2, #0xe3
lsls r2, r2, #1
@@ -26863,7 +26863,7 @@ _0801F368:
ldr r0, _0801F3F4 @ =0x00000BB8
str r0, [r1, #0x3c]
_0801F39A:
- ldr r5, _0801F3E8 @ =0x020314E0
+ ldr r5, _0801F3E8 @ =gUnknown_020314E0
ldr r0, [r5]
ldr r2, _0801F3F8 @ =0x00000616
adds r1, r0, r2
@@ -26905,7 +26905,7 @@ _0801F3CA:
strh r0, [r1]
b _0801F44E
.align 2, 0
-_0801F3E8: .4byte 0x020314E0
+_0801F3E8: .4byte gUnknown_020314E0
_0801F3EC: .4byte 0x02032F20
_0801F3F0: .4byte 0x0869F2A0
_0801F3F4: .4byte 0x00000BB8
@@ -26950,7 +26950,7 @@ _0801F404:
adds r0, r2, r3
strh r1, [r0]
_0801F44E:
- ldr r5, _0801F470 @ =0x020314E0
+ ldr r5, _0801F470 @ =gUnknown_020314E0
ldr r4, [r5]
ldr r6, _0801F474 @ =0x00000614
adds r0, r4, r6
@@ -26964,7 +26964,7 @@ _0801F44E:
_0801F464: .4byte 0x02032FB0
_0801F468: .4byte 0x0869F240
_0801F46C: .4byte 0x0000061C
-_0801F470: .4byte 0x020314E0
+_0801F470: .4byte gUnknown_020314E0
_0801F474: .4byte 0x00000614
_0801F478:
cmp r1, #0
@@ -27032,7 +27032,7 @@ _0801F4AC:
adds r0, r2, r3
strh r1, [r0]
_0801F4F6:
- ldr r5, _0801F54C @ =0x020314E0
+ ldr r5, _0801F54C @ =gUnknown_020314E0
ldr r4, [r5]
ldr r6, _0801F550 @ =0x00000614
adds r0, r4, r6
@@ -27072,7 +27072,7 @@ _0801F520:
_0801F540: .4byte 0x02032FB0
_0801F544: .4byte 0x0869F240
_0801F548: .4byte 0x0000061C
-_0801F54C: .4byte 0x020314E0
+_0801F54C: .4byte gUnknown_020314E0
_0801F550: .4byte 0x00000614
_0801F554: .4byte 0x0000061A
_0801F558: .4byte 0x000001E5
@@ -27111,7 +27111,7 @@ _0801F598: .4byte 0x000001E5
thumb_func_start sub_1F59C
sub_1F59C: @ 0x0801F59C
push {r4, r5, r6, r7, lr}
- ldr r3, _0801F5D4 @ =0x020314E0
+ ldr r3, _0801F5D4 @ =gUnknown_020314E0
ldr r4, [r3]
ldr r1, _0801F5D8 @ =0x000001E5
adds r0, r4, r1
@@ -27138,7 +27138,7 @@ sub_1F59C: @ 0x0801F59C
movs r0, #0xae
b _0801F5E8
.align 2, 0
-_0801F5D4: .4byte 0x020314E0
+_0801F5D4: .4byte gUnknown_020314E0
_0801F5D8: .4byte 0x000001E5
_0801F5DC: .4byte gMain
_0801F5E0:
@@ -27238,7 +27238,7 @@ sub_1F698: @ 0x0801F698
push {r6, r7}
movs r2, #0
ldr r7, _0801F6EC @ =0x0200BDC8
- ldr r0, _0801F6F0 @ =0x020314E0
+ ldr r0, _0801F6F0 @ =gUnknown_020314E0
ldr r4, [r0]
movs r1, #0xaf
lsls r1, r1, #2
@@ -27275,7 +27275,7 @@ sub_1F698: @ 0x0801F698
b _0801F760
.align 2, 0
_0801F6EC: .4byte 0x0200BDC8
-_0801F6F0: .4byte 0x020314E0
+_0801F6F0: .4byte gUnknown_020314E0
_0801F6F4: .4byte 0x040000D4
_0801F6F8: .4byte 0x083C562C
_0801F6FC: .4byte 0x06014280
@@ -27501,7 +27501,7 @@ _0801F8A8:
adds r4, r4, r1
strh r0, [r4]
_0801F8CC:
- ldr r2, _0801F918 @ =0x020314E0
+ ldr r2, _0801F918 @ =gUnknown_020314E0
ldr r1, [r2]
movs r3, #0xaf
lsls r3, r3, #2
@@ -27537,7 +27537,7 @@ _0801F8CC:
.align 2, 0
_0801F910: .4byte 0x00004E20
_0801F914: .4byte 0x000002B6
-_0801F918: .4byte 0x020314E0
+_0801F918: .4byte gUnknown_020314E0
_0801F91C: .4byte gMain
_0801F920: .4byte 0x00000D08
_0801F924:
@@ -27692,7 +27692,7 @@ sub_1FA48: @ 0x0801FA48
mov r5, r8
push {r5, r6, r7}
ldr r7, _0801FAD0 @ =0x0200D9D0
- ldr r0, _0801FAD4 @ =0x020314E0
+ ldr r0, _0801FAD4 @ =gUnknown_020314E0
ldr r6, [r0]
ldr r1, _0801FAD8 @ =0x000002B2
mov sb, r1
@@ -27755,7 +27755,7 @@ _0801FABA:
b _0801FB12
.align 2, 0
_0801FAD0: .4byte 0x0200D9D0
-_0801FAD4: .4byte 0x020314E0
+_0801FAD4: .4byte gUnknown_020314E0
_0801FAD8: .4byte 0x000002B2
_0801FADC: .4byte 0x086ADA58
_0801FAE0: .4byte 0x000002BA
@@ -27873,7 +27873,7 @@ sub_1FBC4: @ 0x0801FBC4
mov r6, sb
mov r5, r8
push {r5, r6, r7}
- ldr r4, _0801FC74 @ =0x020314E0
+ ldr r4, _0801FC74 @ =gUnknown_020314E0
ldr r2, [r4]
ldr r5, _0801FC78 @ =0x000002C2
adds r3, r2, r5
@@ -27958,7 +27958,7 @@ _0801FC5A:
strh r0, [r2]
b _0801FDFC
.align 2, 0
-_0801FC74: .4byte 0x020314E0
+_0801FC74: .4byte gUnknown_020314E0
_0801FC78: .4byte 0x000002C2
_0801FC7C: .4byte 0x086ADA6E
_0801FC80: .4byte 0x0200DCB0
@@ -28300,7 +28300,7 @@ sub_1FF0C: @ 0x0801FF0C
push {r5, r6, r7}
sub sp, #4
movs r1, #0
- ldr r6, _0801FF70 @ =0x020314E0
+ ldr r6, _0801FF70 @ =gUnknown_020314E0
mov sb, r6
ldr r0, _0801FF74 @ =0x000002E3
mov sl, r0
@@ -28344,7 +28344,7 @@ _0801FF2E:
strh r0, [r2]
b _0801FFAE
.align 2, 0
-_0801FF70: .4byte 0x020314E0
+_0801FF70: .4byte gUnknown_020314E0
_0801FF74: .4byte 0x000002E3
_0801FF78: .4byte 0x000002E5
_0801FF7C: .4byte 0x086ADEB2
@@ -28642,7 +28642,7 @@ sub_201B8: @ 0x080201B8
mov r5, r8
push {r5, r6, r7}
movs r1, #0
- ldr r0, _080202D0 @ =0x020314E0
+ ldr r0, _080202D0 @ =gUnknown_020314E0
mov sl, r0
ldr r2, _080202D4 @ =0x040000D4
mov r8, r2
@@ -28779,7 +28779,7 @@ _0802029A:
strh r0, [r1]
b _08020308
.align 2, 0
-_080202D0: .4byte 0x020314E0
+_080202D0: .4byte gUnknown_020314E0
_080202D4: .4byte 0x040000D4
_080202D8: .4byte 0x000002E5
_080202DC: .4byte 0x086ADEB0
@@ -28895,7 +28895,7 @@ sub_203CC: @ 0x080203CC
mov r5, r8
push {r5, r6, r7}
bl sub_20EC0
- ldr r6, _0802042C @ =0x020314E0
+ ldr r6, _0802042C @ =gUnknown_020314E0
ldr r5, [r6]
movs r1, #0xe3
lsls r1, r1, #1
@@ -28934,7 +28934,7 @@ sub_203CC: @ 0x080203CC
strb r0, [r1]
b _0802049C
.align 2, 0
-_0802042C: .4byte 0x020314E0
+_0802042C: .4byte gUnknown_020314E0
_08020430: .4byte 0x086ADF48
_08020434: .4byte gMain
_08020438: .4byte 0x00000744
@@ -28984,7 +28984,7 @@ _08020494:
adds r0, r2, r3
strb r1, [r0]
_0802049C:
- ldr r1, _080204D0 @ =0x020314E0
+ ldr r1, _080204D0 @ =gUnknown_020314E0
ldr r5, [r1]
movs r4, #0xf1
lsls r4, r4, #1
@@ -29008,7 +29008,7 @@ _0802049C:
.align 2, 0
_080204C8: .4byte 0x00000744
_080204CC: .4byte 0x00000745
-_080204D0: .4byte 0x020314E0
+_080204D0: .4byte gUnknown_020314E0
_080204D4: .4byte 0x000001E3
_080204D8:
movs r1, #0
@@ -29187,7 +29187,7 @@ _08020630:
ldr r1, _08020680 @ =0x086A2FA0
bl MPlayStart
_0802063C:
- ldr r0, _08020684 @ =0x020314E0
+ ldr r0, _08020684 @ =gUnknown_020314E0
ldr r5, [r0]
movs r2, #0xe1
lsls r2, r2, #1
@@ -29221,7 +29221,7 @@ _0802063C:
.align 2, 0
_0802067C: .4byte 0x02032F20
_08020680: .4byte 0x086A2FA0
-_08020684: .4byte 0x020314E0
+_08020684: .4byte gUnknown_020314E0
_08020688: .4byte 0x00000744
_0802068C:
lsls r2, r2, #0x10
@@ -29359,7 +29359,7 @@ _08020762:
movs r0, #0x3c
strh r0, [r4]
_08020796:
- ldr r3, _080207C0 @ =0x020314E0
+ ldr r3, _080207C0 @ =gUnknown_020314E0
ldr r1, [r3]
ldr r4, _080207BC @ =0x0000061E
adds r2, r1, r4
@@ -29377,7 +29377,7 @@ _08020796:
_080207B4: .4byte 0x00000743
_080207B8: .4byte 0x0000061C
_080207BC: .4byte 0x0000061E
-_080207C0: .4byte 0x020314E0
+_080207C0: .4byte gUnknown_020314E0
_080207C4:
movs r0, #1
strb r0, [r1]
@@ -29429,7 +29429,7 @@ _08020820:
movs r2, #0x40
bl m4aMPlayVolumeControl
_08020832:
- ldr r0, _08020910 @ =0x020314E0
+ ldr r0, _08020910 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r3, _08020914 @ =0x0000061E
adds r0, r1, r3
@@ -29450,7 +29450,7 @@ _08020856:
adds r0, r5, #0
bl sub_C24
adds r1, r0, #0
- ldr r0, _08020910 @ =0x020314E0
+ ldr r0, _08020910 @ =gUnknown_020314E0
ldr r4, [r0]
ldr r5, _08020918 @ =0x0000132C
adds r5, r5, r4
@@ -29532,7 +29532,7 @@ _08020900: .4byte 0x02032F20
_08020904: .4byte 0x086A0328
_08020908: .4byte 0x02032EE0
_0802090C: .4byte 0x0000FFFF
-_08020910: .4byte 0x020314E0
+_08020910: .4byte gUnknown_020314E0
_08020914: .4byte 0x0000061E
_08020918: .4byte 0x0000132C
_0802091C: .4byte 0x00004E20
@@ -29646,7 +29646,7 @@ _080209F8:
movs r0, #0xb
bl sub_11B0
_080209FE:
- ldr r0, _08020A60 @ =0x020314E0
+ ldr r0, _08020A60 @ =gUnknown_020314E0
ldr r3, [r0]
ldr r4, _08020A64 @ =0x0000061E
adds r1, r3, r4
@@ -29687,7 +29687,7 @@ _08020A50: .4byte 0x00000714
_08020A54: .4byte 0x00000711
_08020A58: .4byte 0x00000712
_08020A5C: .4byte 0x00000715
-_08020A60: .4byte 0x020314E0
+_08020A60: .4byte gUnknown_020314E0
_08020A64: .4byte 0x0000061E
_08020A68: .4byte 0x00000744
_08020A6C:
@@ -29873,7 +29873,7 @@ _08020BD8:
mov r8, r2
_08020BE6:
ldr r3, _08020C4C @ =0x040000D4
- ldr r4, _08020C50 @ =0x020314E0
+ ldr r4, _08020C50 @ =gUnknown_020314E0
ldr r0, [r4]
mov r5, r8
asrs r2, r5, #0x10
@@ -29924,7 +29924,7 @@ _08020C1C:
.align 2, 0
_08020C48: .4byte 0x00000744
_08020C4C: .4byte 0x040000D4
-_08020C50: .4byte 0x020314E0
+_08020C50: .4byte gUnknown_020314E0
_08020C54: .4byte 0x084C07EC
_08020C58: .4byte 0x06010480
_08020C5C: .4byte 0x800000C0
@@ -30094,7 +30094,7 @@ _08020D96:
movs r0, #0xb1
adds r1, r5, #0
muls r1, r0, r1
- ldr r7, _08020E30 @ =0x020314E0
+ ldr r7, _08020E30 @ =gUnknown_020314E0
ldr r4, [r7]
adds r0, r4, #0
adds r0, #0x58
@@ -30138,7 +30138,7 @@ _08020D96:
str r0, [r4, #8]
ldr r0, [r4, #8]
_08020E02:
- ldr r7, _08020E30 @ =0x020314E0
+ ldr r7, _08020E30 @ =gUnknown_020314E0
ldr r0, [r7]
adds r0, #0x5a
ldrh r1, [r0]
@@ -30155,7 +30155,7 @@ _08020E20: .4byte 0xFFFFFE00
_08020E24: .4byte 0x000001FF
_08020E28: .4byte gMain
_08020E2C: .4byte 0x040000D4
-_08020E30: .4byte 0x020314E0
+_08020E30: .4byte gUnknown_020314E0
_08020E34: .4byte 0x00000744
_08020E38: .4byte 0x084C07EC
_08020E3C: .4byte 0x06010480
@@ -30236,7 +30236,7 @@ sub_20EC0: @ 0x08020EC0
ldr r0, [r0, #0x44]
adds r0, #0xa4
ldr r7, [r0]
- ldr r0, _08020F28 @ =0x020314E0
+ ldr r0, _08020F28 @ =gUnknown_020314E0
ldr r2, [r0]
movs r1, #0xe0
lsls r1, r1, #1
@@ -30278,7 +30278,7 @@ _08020EE6:
b _08021210
.align 2, 0
_08020F24: .4byte gMain
-_08020F28: .4byte 0x020314E0
+_08020F28: .4byte gUnknown_020314E0
_08020F2C: .4byte 0x00000442
_08020F30: .4byte 0x00001248
_08020F34:
@@ -30323,7 +30323,7 @@ _08020F5C:
ldr r0, [r1, #8]
_08020F82:
ldr r4, _08021098 @ =0x086ADF90
- ldr r2, _0802109C @ =0x020314E0
+ ldr r2, _0802109C @ =gUnknown_020314E0
mov sl, r2
ldr r3, [r2]
movs r1, #0x81
@@ -30449,7 +30449,7 @@ _0802108C: .4byte 0x084C07EC
_08021090: .4byte 0x06010600
_08021094: .4byte 0x800000C0
_08021098: .4byte 0x086ADF90
-_0802109C: .4byte 0x020314E0
+_0802109C: .4byte gUnknown_020314E0
_080210A0: .4byte 0x00004E20
_080210A4: .4byte 0x086AD788
_080210A8: .4byte gMain
@@ -30540,7 +30540,7 @@ _0802114A:
ldr r1, [sp, #8]
cmp r1, r0
bgt _08021210
- ldr r3, _080211D8 @ =0x020314E0
+ ldr r3, _080211D8 @ =gUnknown_020314E0
ldr r1, [r3]
movs r2, #0x81
lsls r2, r2, #2
@@ -30599,7 +30599,7 @@ _080211C8: .4byte gOamBuffer
_080211CC: .4byte 0xFFFFFE00
_080211D0: .4byte 0x000001FF
_080211D4: .4byte 0x000009C3
-_080211D8: .4byte 0x020314E0
+_080211D8: .4byte gUnknown_020314E0
_080211DC: .4byte 0x084C156C
_080211E0: .4byte 0x06010600
_080211E4: .4byte 0x800000C0
@@ -30624,7 +30624,7 @@ _080211EC:
movs r0, #1
strh r0, [r1]
_08021210:
- ldr r0, _08021234 @ =0x020314E0
+ ldr r0, _08021234 @ =gUnknown_020314E0
ldr r1, [r0]
movs r2, #0xe0
lsls r2, r2, #1
@@ -30643,7 +30643,7 @@ _08021220:
bx r0
.align 2, 0
_08021230: .4byte gMain
-_08021234: .4byte 0x020314E0
+_08021234: .4byte gUnknown_020314E0
thumb_func_start sub_21238
sub_21238: @ 0x08021238
@@ -30651,7 +30651,7 @@ sub_21238: @ 0x08021238
lsls r0, r0, #0x10
cmp r0, #0
beq _0802127A
- ldr r3, _080212E0 @ =0x020314E0
+ ldr r3, _080212E0 @ =gUnknown_020314E0
ldr r0, [r3]
ldr r1, _080212E4 @ =0x00000714
adds r0, r0, r1
@@ -30681,7 +30681,7 @@ sub_21238: @ 0x08021238
adds r0, r0, r2
strb r1, [r0]
_0802127A:
- ldr r5, _080212E0 @ =0x020314E0
+ ldr r5, _080212E0 @ =gUnknown_020314E0
ldr r0, [r5]
movs r4, #0xe6
lsls r4, r4, #3
@@ -30717,7 +30717,7 @@ _080212A2:
adds r0, r0, r1
strb r4, [r0]
_080212C0:
- ldr r0, _080212E0 @ =0x020314E0
+ ldr r0, _080212E0 @ =gUnknown_020314E0
ldr r2, [r0]
ldr r0, [r2, #0x14]
ldr r1, _080212F8 @ =0x00FF00FF
@@ -30735,7 +30735,7 @@ _080212DA:
pop {r0}
bx r0
.align 2, 0
-_080212E0: .4byte 0x020314E0
+_080212E0: .4byte gUnknown_020314E0
_080212E4: .4byte 0x00000714
_080212E8: .4byte 0x00000711
_080212EC: .4byte 0x00000713
@@ -30746,7 +30746,7 @@ _080212FC: .4byte 0x00020006
thumb_func_start sub_21300
sub_21300: @ 0x08021300
- ldr r2, _08021318 @ =0x020314E0
+ ldr r2, _08021318 @ =gUnknown_020314E0
ldr r1, [r2]
movs r3, #0
movs r0, #1
@@ -30759,13 +30759,13 @@ sub_21300: @ 0x08021300
strb r1, [r0]
bx lr
.align 2, 0
-_08021318: .4byte 0x020314E0
+_08021318: .4byte gUnknown_020314E0
_0802131C: .4byte 0x000006DD
thumb_func_start sub_21320
sub_21320: @ 0x08021320
push {r4, lr}
- ldr r1, _08021340 @ =0x020314E0
+ ldr r1, _08021340 @ =gUnknown_020314E0
ldr r0, [r1]
ldrb r0, [r0, #0x17]
subs r0, #1
@@ -30782,7 +30782,7 @@ _08021336:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_08021340: .4byte 0x020314E0
+_08021340: .4byte gUnknown_020314E0
_08021344: .4byte _08021348
_08021348: @ jump table
.4byte _08021364 @ case 0
@@ -30835,7 +30835,7 @@ _0802138C:
b _080214EA
_080213B2:
bl sub_219EC
- ldr r4, _080213E4 @ =0x020314E0
+ ldr r4, _080213E4 @ =gUnknown_020314E0
ldr r0, [r4]
adds r0, #0x25
ldrb r0, [r0]
@@ -30859,7 +30859,7 @@ _080213CE:
_080213E0:
b _080214EA
.align 2, 0
-_080213E4: .4byte 0x020314E0
+_080213E4: .4byte gUnknown_020314E0
_080213E8:
ldr r0, [r4]
ldr r3, _08021440 @ =0x00000714
@@ -30908,7 +30908,7 @@ _08021440: .4byte 0x00000714
_08021444: .4byte 0x00000713
_08021448: .4byte 0x0000062D
_0802144C:
- ldr r0, _08021464 @ =0x020314E0
+ ldr r0, _08021464 @ =gUnknown_020314E0
ldr r2, [r0]
ldrh r0, [r2, #0x28]
adds r1, r0, #0
@@ -30919,7 +30919,7 @@ _0802144C:
bl sub_2A054
b _08021484
.align 2, 0
-_08021464: .4byte 0x020314E0
+_08021464: .4byte gUnknown_020314E0
_08021468:
cmp r1, #0x8b
beq _08021484
@@ -30936,7 +30936,7 @@ _0802147A:
adds r0, #1
strb r0, [r2, #0x17]
_08021484:
- ldr r4, _080214C0 @ =0x020314E0
+ ldr r4, _080214C0 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r1, _080214C4 @ =0x000006DD
adds r0, r0, r1
@@ -30960,13 +30960,13 @@ _08021484:
movs r0, #0x1e
strh r0, [r1, #0x28]
_080214B4:
- ldr r0, _080214C0 @ =0x020314E0
+ ldr r0, _080214C0 @ =gUnknown_020314E0
ldr r1, [r0]
movs r0, #0
strh r0, [r1, #0x18]
b _0802150C
.align 2, 0
-_080214C0: .4byte 0x020314E0
+_080214C0: .4byte gUnknown_020314E0
_080214C4: .4byte 0x000006DD
_080214C8: .4byte 0x000006DE
_080214CC:
@@ -30983,7 +30983,7 @@ _080214E0:
movs r0, #1
bl sub_21238
_080214E6:
- ldr r0, _080214F4 @ =0x020314E0
+ ldr r0, _080214F4 @ =gUnknown_020314E0
ldr r1, [r0]
_080214EA:
ldrb r0, [r1, #0x17]
@@ -30991,7 +30991,7 @@ _080214EA:
strb r0, [r1, #0x17]
b _0802150C
.align 2, 0
-_080214F4: .4byte 0x020314E0
+_080214F4: .4byte gUnknown_020314E0
_080214F8:
ldr r1, [r4]
ldrh r0, [r1, #0x18]
@@ -31011,7 +31011,7 @@ _0802150C:
thumb_func_start sub_21514
sub_21514: @ 0x08021514
push {r4, r5, lr}
- ldr r5, _0802156C @ =0x020314E0
+ ldr r5, _0802156C @ =gUnknown_020314E0
ldr r0, [r5]
movs r1, #0xe6
lsls r1, r1, #3
@@ -31053,7 +31053,7 @@ sub_21514: @ 0x08021514
pop {r0}
bx r0
.align 2, 0
-_0802156C: .4byte 0x020314E0
+_0802156C: .4byte gUnknown_020314E0
_08021570: .4byte 0x000005F3
_08021574: .4byte 0x000006C4
@@ -31064,7 +31064,7 @@ sub_21578: @ 0x08021578
ldrb r0, [r0, #4]
cmp r0, #0
bne _0802161C
- ldr r4, _080215AC @ =0x020314E0
+ ldr r4, _080215AC @ =gUnknown_020314E0
ldr r0, [r4]
ldr r1, _080215B0 @ =0x00000283
adds r0, r0, r1
@@ -31084,7 +31084,7 @@ _0802159C:
mov pc, r0
.align 2, 0
_080215A8: .4byte gMain
-_080215AC: .4byte 0x020314E0
+_080215AC: .4byte gUnknown_020314E0
_080215B0: .4byte 0x00000283
_080215B4: .4byte _080215B8
_080215B8: @ jump table
@@ -31135,7 +31135,7 @@ _08021604:
.align 2, 0
_08021618: .4byte 0x000006EC
_0802161C:
- ldr r4, _08021640 @ =0x020314E0
+ ldr r4, _08021640 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r2, _08021644 @ =0x00000283
adds r0, r0, r2
@@ -31152,7 +31152,7 @@ _0802161C:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_08021640: .4byte 0x020314E0
+_08021640: .4byte gUnknown_020314E0
_08021644: .4byte 0x00000283
_08021648: .4byte _0802164C
_0802164C: @ jump table
@@ -31246,7 +31246,7 @@ _080216F4:
thumb_func_start sub_216FC
sub_216FC: @ 0x080216FC
push {r4, lr}
- ldr r1, _0802171C @ =0x020314E0
+ ldr r1, _0802171C @ =gUnknown_020314E0
ldr r0, [r1]
ldrb r0, [r0, #0x17]
lsls r0, r0, #0x18
@@ -31262,7 +31262,7 @@ _08021710:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0802171C: .4byte 0x020314E0
+_0802171C: .4byte gUnknown_020314E0
_08021720: .4byte _08021724
_08021724: @ jump table
.4byte _08021748 @ case 0
@@ -31342,7 +31342,7 @@ _080217C8:
bl m4aSongNumStart
_080217CE:
bl sub_219A8
- ldr r2, _080217F8 @ =0x020314E0
+ ldr r2, _080217F8 @ =gUnknown_020314E0
ldr r0, [r2]
movs r3, #0xe6
lsls r3, r3, #3
@@ -31361,13 +31361,13 @@ _080217CE:
str r3, [r0]
b _080219A2
.align 2, 0
-_080217F8: .4byte 0x020314E0
+_080217F8: .4byte gUnknown_020314E0
_080217FC:
bl sub_219EC
movs r0, #7
movs r1, #0
bl sub_1C7F4
- ldr r0, _08021820 @ =0x020314E0
+ ldr r0, _08021820 @ =gUnknown_020314E0
ldr r1, [r0]
adds r0, r1, #0
adds r0, #0x25
@@ -31380,7 +31380,7 @@ _080217FC:
_0802181C:
b _08021990
.align 2, 0
-_08021820: .4byte 0x020314E0
+_08021820: .4byte gUnknown_020314E0
_08021824:
ldr r1, [r3]
ldrb r0, [r1, #0x17]
@@ -31404,7 +31404,7 @@ _08021824:
.align 2, 0
_0802184C: .4byte 0x000006EC
_08021850:
- ldr r4, _08021874 @ =0x020314E0
+ ldr r4, _08021874 @ =gUnknown_020314E0
ldr r1, [r4]
ldrh r0, [r1, #0x28]
cmp r0, #0x91
@@ -31422,7 +31422,7 @@ _08021850:
bl m4aMPlayAllStop
b _080218B0
.align 2, 0
-_08021874: .4byte 0x020314E0
+_08021874: .4byte gUnknown_020314E0
_08021878: .4byte gMain
_0802187C:
movs r0, #2
@@ -31450,7 +31450,7 @@ _0802187C:
movs r0, #0x78
strh r0, [r1]
_080218B0:
- ldr r0, _0802192C @ =0x020314E0
+ ldr r0, _0802192C @ =gUnknown_020314E0
ldr r0, [r0]
ldr r1, _08021930 @ =0x000006EC
adds r0, r0, r1
@@ -31460,7 +31460,7 @@ _080218B0:
movs r1, #0
bl sub_1C7F4
_080218C4:
- ldr r4, _0802192C @ =0x020314E0
+ ldr r4, _0802192C @ =gUnknown_020314E0
ldr r0, [r4]
ldrh r0, [r0, #0x28]
cmp r0, #0x82
@@ -31512,7 +31512,7 @@ _080218EE:
.align 2, 0
_08021924: .4byte 0x00000714
_08021928: .4byte 0x000006EE
-_0802192C: .4byte 0x020314E0
+_0802192C: .4byte gUnknown_020314E0
_08021930: .4byte 0x000006EC
_08021934: .4byte gMain
_08021938:
@@ -31543,7 +31543,7 @@ _08021960:
ldr r0, [r0, #0x34]
movs r3, #0
strh r3, [r0]
- ldr r2, _08021984 @ =0x020314E0
+ ldr r2, _08021984 @ =gUnknown_020314E0
ldr r1, [r2]
ldrb r0, [r1, #0x17]
adds r0, #1
@@ -31553,10 +31553,10 @@ _08021960:
b _080219A2
.align 2, 0
_08021980: .4byte gMain
-_08021984: .4byte 0x020314E0
+_08021984: .4byte gUnknown_020314E0
_08021988:
bl sub_21514
- ldr r0, _08021998 @ =0x020314E0
+ ldr r0, _08021998 @ =gUnknown_020314E0
ldr r1, [r0]
_08021990:
ldrb r0, [r1, #0x17]
@@ -31564,7 +31564,7 @@ _08021990:
strb r0, [r1, #0x17]
b _080219A2
.align 2, 0
-_08021998: .4byte 0x020314E0
+_08021998: .4byte gUnknown_020314E0
_0802199C:
movs r0, #1
bl sub_19B64
@@ -31589,7 +31589,7 @@ sub_219A8: @ 0x080219A8
movs r2, #1
movs r0, #1
strh r0, [r1]
- ldr r0, _080219E4 @ =0x020314E0
+ ldr r0, _080219E4 @ =gUnknown_020314E0
ldr r0, [r0]
ldr r1, _080219E8 @ =0x000005F3
adds r0, r0, r1
@@ -31601,7 +31601,7 @@ _080219D4: .4byte 0x0844838C
_080219D8: .4byte 0x060113C0
_080219DC: .4byte 0x80000180
_080219E0: .4byte gMain
-_080219E4: .4byte 0x020314E0
+_080219E4: .4byte gUnknown_020314E0
_080219E8: .4byte 0x000005F3
thumb_func_start sub_219EC
@@ -31610,7 +31610,7 @@ sub_219EC: @ 0x080219EC
ldr r0, _08021A58 @ =gMain
ldr r0, [r0, #0x44]
ldr r6, [r0, #0x34]
- ldr r5, _08021A5C @ =0x020314E0
+ ldr r5, _08021A5C @ =gUnknown_020314E0
ldr r4, [r5]
movs r1, #0xa4
lsls r1, r1, #2
@@ -31660,7 +31660,7 @@ _08021A40:
b _08021A9C
.align 2, 0
_08021A58: .4byte gMain
-_08021A5C: .4byte 0x020314E0
+_08021A5C: .4byte gUnknown_020314E0
_08021A60: .4byte 0x0000020B
_08021A64:
adds r3, r4, r3
@@ -31758,7 +31758,7 @@ sub_21B0C: @ 0x08021B0C
movs r1, #0
movs r2, #6
bl memset
- ldr r5, _08021BEC @ =0x020314E0
+ ldr r5, _08021BEC @ =gUnknown_020314E0
ldr r6, [r5]
movs r0, #0xe5
lsls r0, r0, #1
@@ -31854,7 +31854,7 @@ _08021B98:
b _08021C14
.align 2, 0
_08021BE8: .4byte gMain
-_08021BEC: .4byte 0x020314E0
+_08021BEC: .4byte gUnknown_020314E0
_08021BF0:
movs r0, #0xd
strh r0, [r4]
@@ -31909,7 +31909,7 @@ _08021C40:
ldrh r0, [r3]
strh r0, [r4]
_08021C5C:
- ldr r0, _08021CA8 @ =0x020314E0
+ ldr r0, _08021CA8 @ =gUnknown_020314E0
ldr r3, [r0]
movs r2, #0xe8
lsls r2, r2, #1
@@ -31943,7 +31943,7 @@ _08021C98: .4byte 0x040000D4
_08021C9C: .4byte 0x084C00EC
_08021CA0: .4byte 0x06010AE0
_08021CA4: .4byte 0x80000040
-_08021CA8: .4byte 0x020314E0
+_08021CA8: .4byte gUnknown_020314E0
_08021CAC:
movs r0, #0xb4
strh r0, [r7, #4]
@@ -32052,7 +32052,7 @@ sub_21D78: @ 0x08021D78
mov r7, r8
push {r7}
ldr r7, _08021DD8 @ =0x0200EBC8
- ldr r4, _08021DDC @ =0x020314E0
+ ldr r4, _08021DDC @ =gUnknown_020314E0
ldr r6, [r4]
movs r0, #0xd2
lsls r0, r0, #1
@@ -32099,7 +32099,7 @@ _08021DC0:
b _08021F86
.align 2, 0
_08021DD8: .4byte 0x0200EBC8
-_08021DDC: .4byte 0x020314E0
+_08021DDC: .4byte gUnknown_020314E0
_08021DE0: .4byte 0x0000072E
_08021DE4: .4byte 0x00000281
_08021DE8: .4byte 0x000001A5
@@ -32190,7 +32190,7 @@ _08021E94:
movs r0, #0xca
bl m4aSongNumStart
_08021E9E:
- ldr r4, _08021F90 @ =0x020314E0
+ ldr r4, _08021F90 @ =gUnknown_020314E0
ldr r0, [r4]
movs r3, #0xda
lsls r3, r3, #1
@@ -32314,7 +32314,7 @@ _08021F86:
pop {r0}
bx r0
.align 2, 0
-_08021F90: .4byte 0x020314E0
+_08021F90: .4byte gUnknown_020314E0
_08021F94: .4byte 0x040000D4
_08021F98: .4byte 0x084F6B0C
_08021F9C: .4byte 0x06013D00
@@ -32338,7 +32338,7 @@ sub_21FBC: @ 0x08021FBC
ldr r1, [r5, #0x44]
ldr r7, [r1, #0x1c]
ldr r3, _0802216C @ =0x086AD2DE
- ldr r4, _08022170 @ =0x020314E0
+ ldr r4, _08022170 @ =gUnknown_020314E0
ldr r1, [r4]
movs r2, #0xd3
lsls r2, r2, #1
@@ -32548,7 +32548,7 @@ _0802215A:
.align 2, 0
_08022168: .4byte gMain
_0802216C: .4byte 0x086AD2DE
-_08022170: .4byte 0x020314E0
+_08022170: .4byte gUnknown_020314E0
_08022174: .4byte 0x086AD000
_08022178: .4byte 0x040000D4
_0802217C: .4byte 0x08480E0C
@@ -33116,7 +33116,7 @@ sub_225F0: @ 0x080225F0
ldr r0, [r5, #0x44]
adds r0, #0x9c
ldr r7, [r0]
- ldr r2, _08022684 @ =0x020314E0
+ ldr r2, _08022684 @ =gUnknown_020314E0
ldr r3, [r2]
movs r1, #0xcb
lsls r1, r1, #1
@@ -33182,7 +33182,7 @@ _0802263C:
b _08022908
.align 2, 0
_08022680: .4byte gMain
-_08022684: .4byte 0x020314E0
+_08022684: .4byte gUnknown_020314E0
_08022688: .4byte 0x00000193
_0802268C: .4byte 0x00000195
_08022690:
@@ -33561,7 +33561,7 @@ _08022974: .4byte 0x000006DE
thumb_func_start sub_22978
sub_22978: @ 0x08022978
push {r4, r5, lr}
- ldr r3, _08022A00 @ =0x020314E0
+ ldr r3, _08022A00 @ =gUnknown_020314E0
ldr r1, [r3]
movs r0, #0xb2
lsls r0, r0, #2
@@ -33628,7 +33628,7 @@ sub_22978: @ 0x08022978
pop {r0}
bx r0
.align 2, 0
-_08022A00: .4byte 0x020314E0
+_08022A00: .4byte gUnknown_020314E0
_08022A04: .4byte 0x000002CA
_08022A08: .4byte 0x000002C3
_08022A0C: .4byte gMain
@@ -33651,7 +33651,7 @@ sub_22A30: @ 0x08022A30
movs r6, #0
ldr r7, _08022A68 @ =0x0200EEA8
ldr r1, _08022A6C @ =0x086ADFE2
- ldr r4, _08022A70 @ =0x020314E0
+ ldr r4, _08022A70 @ =gUnknown_020314E0
ldr r2, [r4]
ldr r5, _08022A74 @ =0x000002C3
adds r3, r2, r5
@@ -33673,7 +33673,7 @@ sub_22A30: @ 0x08022A30
.align 2, 0
_08022A68: .4byte 0x0200EEA8
_08022A6C: .4byte 0x086ADFE2
-_08022A70: .4byte 0x020314E0
+_08022A70: .4byte gUnknown_020314E0
_08022A74: .4byte 0x000002C3
_08022A78:
ldrb r0, [r3]
@@ -33770,7 +33770,7 @@ _08022B1C:
ldr r0, _08022C48 @ =0x001E8480
str r0, [r1, #0x3c]
_08022B2E:
- ldr r0, _08022C4C @ =0x020314E0
+ ldr r0, _08022C4C @ =gUnknown_020314E0
ldr r1, [r0]
ldr r5, _08022C30 @ =0x000002C3
adds r0, r1, r5
@@ -33791,7 +33791,7 @@ _08022B2E:
ldr r0, _08022C50 @ =0x00000149
bl m4aSongNumStart
_08022B5A:
- ldr r0, _08022C4C @ =0x020314E0
+ ldr r0, _08022C4C @ =gUnknown_020314E0
ldr r4, [r0]
movs r3, #0xb2
lsls r3, r3, #2
@@ -33904,7 +33904,7 @@ _08022C3C: .4byte 0x084FD18C
_08022C40: .4byte 0x06011CE0
_08022C44: .4byte 0x80000100
_08022C48: .4byte 0x001E8480
-_08022C4C: .4byte 0x020314E0
+_08022C4C: .4byte gUnknown_020314E0
_08022C50: .4byte 0x00000149
_08022C54: .4byte 0x000002CA
_08022C58: .4byte 0x086ADFE2
@@ -33916,7 +33916,7 @@ _08022C68: .4byte 0x000001FF
thumb_func_start sub_22C6C
sub_22C6C: @ 0x08022C6C
push {r4, r5, r6, lr}
- ldr r4, _08022D14 @ =0x020314E0
+ ldr r4, _08022D14 @ =gUnknown_020314E0
ldr r2, [r4]
ldr r0, _08022D18 @ =0x000002C6
adds r1, r2, r0
@@ -33997,7 +33997,7 @@ sub_22C6C: @ 0x08022C6C
pop {r0}
bx r0
.align 2, 0
-_08022D14: .4byte 0x020314E0
+_08022D14: .4byte gUnknown_020314E0
_08022D18: .4byte 0x000002C6
_08022D1C: .4byte 0x000002CA
_08022D20: .4byte 0x0000FFD8
@@ -34021,7 +34021,7 @@ sub_22D54: @ 0x08022D54
mov r6, sb
mov r5, r8
push {r5, r6, r7}
- ldr r4, _08022E38 @ =0x020314E0
+ ldr r4, _08022E38 @ =gUnknown_020314E0
ldr r5, [r4]
ldr r0, _08022E3C @ =0x000002C6
mov sb, r0
@@ -34089,7 +34089,7 @@ _08022DE2:
subs r0, r6, #1
strh r0, [r4]
_08022DE6:
- ldr r0, _08022E38 @ =0x020314E0
+ ldr r0, _08022E38 @ =gUnknown_020314E0
ldr r6, [r0]
ldr r2, _08022E3C @ =0x000002C6
adds r1, r6, r2
@@ -34128,7 +34128,7 @@ _08022DE6:
strh r0, [r1]
b _08022E64
.align 2, 0
-_08022E38: .4byte 0x020314E0
+_08022E38: .4byte gUnknown_020314E0
_08022E3C: .4byte 0x000002C6
_08022E40: .4byte 0x0200BC58
_08022E44: .4byte 0x000002CA
@@ -34305,7 +34305,7 @@ sub_22FA4: @ 0x08022FA4
mov r7, sb
mov r6, r8
push {r6, r7}
- ldr r4, _0802301C @ =0x020314E0
+ ldr r4, _0802301C @ =gUnknown_020314E0
ldr r0, [r4]
ldr r1, _08023020 @ =0x0000020E
adds r0, r0, r1
@@ -34362,7 +34362,7 @@ _08022FE0:
strh r0, [r1]
b _08023052
.align 2, 0
-_0802301C: .4byte 0x020314E0
+_0802301C: .4byte gUnknown_020314E0
_08023020: .4byte 0x0000020E
_08023024: .4byte gMain
_08023028: .4byte 0x086A3707
@@ -34408,7 +34408,7 @@ sub_23070: @ 0x08023070
ldr r0, [r0, #0x44]
ldr r6, [r0, #0x10]
movs r0, #0
- ldr r1, _080230F8 @ =0x020314E0
+ ldr r1, _080230F8 @ =gUnknown_020314E0
mov r8, r1
ldr r7, _080230FC @ =gOamBuffer
ldr r2, _08023100 @ =0xFFFFFE00
@@ -34470,7 +34470,7 @@ _08023088:
bx r0
.align 2, 0
_080230F4: .4byte gMain
-_080230F8: .4byte 0x020314E0
+_080230F8: .4byte gUnknown_020314E0
_080230FC: .4byte gOamBuffer
_08023100: .4byte 0xFFFFFE00
_08023104: .4byte 0x0000020E
@@ -34484,14 +34484,14 @@ sub_2310C: @ 0x0802310C
movs r2, #0
movs r0, #0
strh r0, [r1]
- ldr r0, _08023128 @ =0x020314E0
+ ldr r0, _08023128 @ =gUnknown_020314E0
ldr r0, [r0]
adds r0, #0xe4
strb r2, [r0]
bx lr
.align 2, 0
_08023124: .4byte gMain
-_08023128: .4byte 0x020314E0
+_08023128: .4byte gUnknown_020314E0
thumb_func_start sub_2312C
sub_2312C: @ 0x0802312C
@@ -34499,7 +34499,7 @@ sub_2312C: @ 0x0802312C
mov r7, sb
mov r6, r8
push {r6, r7}
- ldr r4, _080231B8 @ =0x020314E0
+ ldr r4, _080231B8 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r2, _080231BC @ =0x0000020E
adds r1, r0, r2
@@ -34566,7 +34566,7 @@ _0802317C:
strh r0, [r1]
b _080231F2
.align 2, 0
-_080231B8: .4byte 0x020314E0
+_080231B8: .4byte gUnknown_020314E0
_080231BC: .4byte 0x0000020E
_080231C0: .4byte 0x000006DB
_080231C4: .4byte gMain
@@ -34652,7 +34652,7 @@ _08023258:
cmp r0, #9
ble _08023218
movs r5, #0
- ldr r2, _080232F0 @ =0x020314E0
+ ldr r2, _080232F0 @ =gUnknown_020314E0
mov ip, r2
ldr r7, _080232F4 @ =0x00000212
movs r6, #0
@@ -34678,7 +34678,7 @@ _08023286:
cmp r1, #9
ble _08023286
movs r5, #0
- ldr r1, _080232F0 @ =0x020314E0
+ ldr r1, _080232F0 @ =gUnknown_020314E0
mov ip, r1
movs r7, #0
ldr r6, _080232F8 @ =0x000013D4
@@ -34713,7 +34713,7 @@ _080232B6:
bx r0
.align 2, 0
_080232EC: .4byte 0x083FF04C
-_080232F0: .4byte 0x020314E0
+_080232F0: .4byte gUnknown_020314E0
_080232F4: .4byte 0x00000212
_080232F8: .4byte 0x000013D4
_080232FC: .4byte 0x000013E8
@@ -34726,7 +34726,7 @@ sub_23300: @ 0x08023300
mov r5, r8
push {r5, r6, r7}
sub sp, #4
- ldr r0, _080233E4 @ =0x020314E0
+ ldr r0, _080233E4 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r2, _080233E8 @ =0x000006C4
adds r1, r1, r2
@@ -34836,7 +34836,7 @@ _0802339C:
ble _0802339C
b _08023934
.align 2, 0
-_080233E4: .4byte 0x020314E0
+_080233E4: .4byte gUnknown_020314E0
_080233E8: .4byte 0x000006C4
_080233EC: .4byte gMain
_080233F0: .4byte gOamBuffer
@@ -35125,7 +35125,7 @@ _08023614:
cmp r1, #9
ble _08023614
movs r0, #0
- ldr r7, _08023680 @ =0x020314E0
+ ldr r7, _08023680 @ =gUnknown_020314E0
movs r6, #0
ldr r5, _08023684 @ =0x000013D4
ldr r4, _0802366C @ =0x000013E8
@@ -35157,7 +35157,7 @@ _08023670: .4byte 0x000006E6
_08023674: .4byte 0x000001FF
_08023678: .4byte 0xFFFFFE00
_0802367C: .4byte 0x00000212
-_08023680: .4byte 0x020314E0
+_08023680: .4byte gUnknown_020314E0
_08023684: .4byte 0x000013D4
_08023688:
ldr r1, _080236B0 @ =gMain
@@ -35515,7 +35515,7 @@ _08023950: .4byte 0x000001FF
thumb_func_start sub_23954
sub_23954: @ 0x08023954
push {r4, lr}
- ldr r2, _08023998 @ =0x020314E0
+ ldr r2, _08023998 @ =gUnknown_020314E0
ldr r0, [r2]
movs r1, #0xf6
lsls r1, r1, #1
@@ -35548,7 +35548,7 @@ sub_23954: @ 0x08023954
pop {r0}
bx r0
.align 2, 0
-_08023998: .4byte 0x020314E0
+_08023998: .4byte gUnknown_020314E0
_0802399C: .4byte 0x000001ED
_080239A0: .4byte 0x000002DA
@@ -35567,7 +35567,7 @@ sub_239A4: @ 0x080239A4
ldr r1, _080239DC @ =0x0200D638
mov sb, r1
mov ip, r6
- ldr r1, _080239E0 @ =0x020314E0
+ ldr r1, _080239E0 @ =gUnknown_020314E0
ldr r0, [r1]
movs r2, #0xf6
lsls r2, r2, #1
@@ -35584,7 +35584,7 @@ sub_239A4: @ 0x080239A4
mov pc, r0
.align 2, 0
_080239DC: .4byte 0x0200D638
-_080239E0: .4byte 0x020314E0
+_080239E0: .4byte gUnknown_020314E0
_080239E4: .4byte _080239E8
_080239E8: @ jump table
.4byte _08023A22 @ case 0
@@ -35616,7 +35616,7 @@ _08023A1A:
movs r7, #0
movs r6, #0
_08023A22:
- ldr r1, _08023AD4 @ =0x020314E0
+ ldr r1, _08023AD4 @ =gUnknown_020314E0
ldr r0, [r1]
movs r2, #0xf7
lsls r2, r2, #1
@@ -35648,7 +35648,7 @@ _08023A22:
ldr r0, _08023AEC @ =0x80000240
str r0, [r2, #8]
ldr r0, [r2, #8]
- ldr r1, _08023AD4 @ =0x020314E0
+ ldr r1, _08023AD4 @ =gUnknown_020314E0
ldr r0, [r1]
adds r0, r0, r5
ldrb r0, [r0]
@@ -35668,7 +35668,7 @@ _08023A22:
ldr r0, _08023AF8 @ =0x80000100
str r0, [r2, #8]
ldr r0, [r2, #8]
- ldr r4, _08023AD4 @ =0x020314E0
+ ldr r4, _08023AD4 @ =gUnknown_020314E0
ldr r1, [r4]
adds r0, r1, r5
ldrb r0, [r0]
@@ -35677,7 +35677,7 @@ _08023A22:
adds r1, r1, r2
strb r0, [r1]
_08023A9A:
- ldr r3, _08023AD4 @ =0x020314E0
+ ldr r3, _08023AD4 @ =gUnknown_020314E0
ldr r2, [r3]
movs r4, #0xf6
lsls r4, r4, #1
@@ -35708,7 +35708,7 @@ _08023AB2:
strh r0, [r4]
b _08023BEE
.align 2, 0
-_08023AD4: .4byte 0x020314E0
+_08023AD4: .4byte gUnknown_020314E0
_08023AD8: .4byte 0x000001ED
_08023ADC: .4byte 0x086AD2EE
_08023AE0: .4byte 0x040000D4
@@ -35723,7 +35723,7 @@ _08023AFC:
adds r0, #1
movs r2, #0
strb r0, [r3]
- ldr r3, _08023C94 @ =0x020314E0
+ ldr r3, _08023C94 @ =gUnknown_020314E0
ldr r1, [r3]
movs r4, #0xf8
lsls r4, r4, #1
@@ -35739,7 +35739,7 @@ _08023AFC:
add r0, sl
strb r6, [r0]
_08023B22:
- ldr r6, _08023C94 @ =0x020314E0
+ ldr r6, _08023C94 @ =gUnknown_020314E0
ldr r0, [r6]
adds r0, r0, r5
ldrb r0, [r0]
@@ -35749,7 +35749,7 @@ _08023B22:
bne _08023B36
bl sub_32484
_08023B36:
- ldr r1, _08023C94 @ =0x020314E0
+ ldr r1, _08023C94 @ =gUnknown_020314E0
ldr r0, [r1]
adds r0, r0, r5
ldrb r0, [r0]
@@ -35762,7 +35762,7 @@ _08023B36:
ldrb r0, [r0, #2]
cmp r0, #3
beq _08023B66
- ldr r2, _08023C94 @ =0x020314E0
+ ldr r2, _08023C94 @ =gUnknown_020314E0
ldr r0, [r2]
movs r3, #0xb3
lsls r3, r3, #3
@@ -35772,7 +35772,7 @@ _08023B36:
movs r1, #1
bl sub_52BB0
_08023B66:
- ldr r5, _08023C94 @ =0x020314E0
+ ldr r5, _08023C94 @ =gUnknown_020314E0
ldr r0, [r5]
ldr r4, _08023C9C @ =0x000001ED
adds r0, r0, r4
@@ -35801,7 +35801,7 @@ _08023B8E:
bne _08023B9E
bl m4aMPlayAllStop
_08023B9E:
- ldr r0, _08023C94 @ =0x020314E0
+ ldr r0, _08023C94 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r2, _08023C9C @ =0x000001ED
adds r0, r1, r2
@@ -35819,7 +35819,7 @@ _08023B9E:
movs r0, #0x16
bl m4aSongNumStart
_08023BC2:
- ldr r5, _08023C94 @ =0x020314E0
+ ldr r5, _08023C94 @ =gUnknown_020314E0
ldr r0, [r5]
ldr r4, _08023C9C @ =0x000001ED
adds r0, r0, r4
@@ -35842,7 +35842,7 @@ _08023BDA:
bl m4aSongNumStart
_08023BEE:
ldr r2, _08023CA0 @ =0x086AD2EE
- ldr r1, _08023C94 @ =0x020314E0
+ ldr r1, _08023C94 @ =gUnknown_020314E0
ldr r0, [r1]
ldr r4, _08023C9C @ =0x000001ED
adds r0, r0, r4
@@ -35854,7 +35854,7 @@ _08023BEE:
ldrh r0, [r0]
mov ip, r0
_08023C06:
- ldr r6, _08023C94 @ =0x020314E0
+ ldr r6, _08023C94 @ =gUnknown_020314E0
ldr r3, [r6]
adds r0, r3, #0
adds r0, #0x58
@@ -35926,12 +35926,12 @@ _08023C74:
adds r0, r0, r4
b _08023CBA
.align 2, 0
-_08023C94: .4byte 0x020314E0
+_08023C94: .4byte gUnknown_020314E0
_08023C98: .4byte gMain
_08023C9C: .4byte 0x000001ED
_08023CA0: .4byte 0x086AD2EE
_08023CA4:
- ldr r3, _08023CC0 @ =0x020314E0
+ ldr r3, _08023CC0 @ =gUnknown_020314E0
ldr r0, [r3]
movs r4, #0xf5
lsls r4, r4, #1
@@ -35947,7 +35947,7 @@ _08023CBA:
strh r0, [r1, #4]
b _08023CCA
.align 2, 0
-_08023CC0: .4byte 0x020314E0
+_08023CC0: .4byte gUnknown_020314E0
_08023CC4:
movs r0, #0xc8
mov r2, sb
@@ -36037,7 +36037,7 @@ _08023CDC:
ble _08023CDC
ldr r6, _08023E0C @ =0x0200D918
mov sb, r6
- ldr r1, _08023E10 @ =0x020314E0
+ ldr r1, _08023E10 @ =gUnknown_020314E0
ldr r0, [r1]
movs r2, #0xf4
lsls r2, r2, #1
@@ -36114,7 +36114,7 @@ _08023E00: .4byte 0x086B4D4E
_08023E04: .4byte 0x000001FF
_08023E08: .4byte 0xFFFFFE00
_08023E0C: .4byte 0x0200D918
-_08023E10: .4byte 0x020314E0
+_08023E10: .4byte gUnknown_020314E0
_08023E14: .4byte 0x0200D920
thumb_func_start sub_23E18
@@ -36136,7 +36136,7 @@ sub_23E18: @ 0x08023E18
bl __umodsi3
lsls r0, r0, #0x10
lsrs r4, r0, #0x10
- ldr r7, _08023F08 @ =0x020314E0
+ ldr r7, _08023F08 @ =gUnknown_020314E0
ldr r0, [r7]
ldr r2, _08023F0C @ =0x00000746
mov sb, r2
@@ -36235,7 +36235,7 @@ _08023EDE:
.align 2, 0
_08023F00: .4byte 0x0200D860
_08023F04: .4byte 0xFFFFD860
-_08023F08: .4byte 0x020314E0
+_08023F08: .4byte gUnknown_020314E0
_08023F0C: .4byte 0x00000746
_08023F10: .4byte 0x000002DA
_08023F14: .4byte 0x086AE0B4
@@ -36470,7 +36470,7 @@ _080240A8:
ldrb r6, [r6]
strb r6, [r0]
_080240FA:
- ldr r6, _0802418C @ =0x020314E0
+ ldr r6, _0802418C @ =gUnknown_020314E0
ldr r7, [r6]
ldr r1, _08024190 @ =0x086AE0A4
ldr r0, _08024194 @ =0x000002DA
@@ -36540,7 +36540,7 @@ _080240FA:
.align 2, 0
_08024184: .4byte 0x0000132C
_08024188: .4byte 0x000005FA
-_0802418C: .4byte 0x020314E0
+_0802418C: .4byte gUnknown_020314E0
_08024190: .4byte 0x086AE0A4
_08024194: .4byte 0x000002DA
_08024198: .4byte 0x000002DE
@@ -36695,23 +36695,23 @@ sub_242B4: @ 0x080242B4
ldrb r0, [r0, #4]
cmp r0, #0
bne _080242D0
- ldr r0, _080242CC @ =0x020314E0
+ ldr r0, _080242CC @ =gUnknown_020314E0
ldr r0, [r0]
movs r1, #0xb4
lsls r1, r1, #2
b _080242D6
.align 2, 0
_080242C8: .4byte gMain
-_080242CC: .4byte 0x020314E0
+_080242CC: .4byte gUnknown_020314E0
_080242D0:
- ldr r0, _0802431C @ =0x020314E0
+ ldr r0, _0802431C @ =gUnknown_020314E0
ldr r0, [r0]
ldr r1, _08024320 @ =0x00000343
_080242D6:
adds r0, r0, r1
movs r1, #1
strb r1, [r0]
- ldr r5, _0802431C @ =0x020314E0
+ ldr r5, _0802431C @ =gUnknown_020314E0
ldr r0, [r5]
ldr r1, _08024324 @ =0x000005A5
adds r0, r0, r1
@@ -36727,7 +36727,7 @@ _080242D6:
movs r2, #0
ldr r5, _0802432C @ =0x0000071D
_080242FC:
- ldr r0, _0802431C @ =0x020314E0
+ ldr r0, _0802431C @ =gUnknown_020314E0
ldr r3, [r0]
ldr r0, _08024330 @ =0x00000723
adds r1, r3, r0
@@ -36744,7 +36744,7 @@ _080242FC:
movs r1, #1
b _0802433A
.align 2, 0
-_0802431C: .4byte 0x020314E0
+_0802431C: .4byte gUnknown_020314E0
_08024320: .4byte 0x00000343
_08024324: .4byte 0x000005A5
_08024328: .4byte 0x000006C4
@@ -36770,7 +36770,7 @@ _0802433A:
thumb_func_start sub_24350
sub_24350: @ 0x08024350
push {r4, r5, lr}
- ldr r4, _0802439C @ =0x020314E0
+ ldr r4, _0802439C @ =gUnknown_020314E0
ldr r0, [r4]
movs r3, #0
strb r3, [r0, #0x17]
@@ -36807,7 +36807,7 @@ sub_24350: @ 0x08024350
lsls r0, r0, #3
b _080243C4
.align 2, 0
-_0802439C: .4byte 0x020314E0
+_0802439C: .4byte gUnknown_020314E0
_080243A0: .4byte 0x00000724
_080243A4: .4byte 0x000005A5
_080243A8: .4byte gMain
@@ -36872,7 +36872,7 @@ sub_24408: @ 0x08024408
mov sb, r0
movs r0, #1
mov sl, r0
- ldr r1, _08024444 @ =0x020314E0
+ ldr r1, _08024444 @ =gUnknown_020314E0
ldr r0, [r1]
ldrb r0, [r0, #0x17]
lsls r0, r0, #0x18
@@ -36888,7 +36888,7 @@ _08024434:
mov pc, r0
.align 2, 0
_08024440: .4byte gMain
-_08024444: .4byte 0x020314E0
+_08024444: .4byte gUnknown_020314E0
_08024448: .4byte _0802444C
_0802444C: @ jump table
.4byte _08024470 @ case 0
@@ -36901,7 +36901,7 @@ _0802444C: @ jump table
.4byte _08025294 @ case 7
.4byte _080252B8 @ case 8
_08024470:
- ldr r1, _08024494 @ =0x020314E0
+ ldr r1, _08024494 @ =gUnknown_020314E0
ldr r0, [r1]
ldr r2, _08024498 @ =0x000006C4
adds r0, r0, r2
@@ -36913,18 +36913,18 @@ _08024470:
ldr r1, [r0]
movs r0, #1
strh r0, [r1]
- ldr r4, _08024494 @ =0x020314E0
+ ldr r4, _08024494 @ =gUnknown_020314E0
ldr r1, [r4]
ldrb r0, [r1, #0x17]
adds r0, #1
bl _080252F4
.align 2, 0
-_08024494: .4byte 0x020314E0
+_08024494: .4byte gUnknown_020314E0
_08024498: .4byte 0x000006C4
_0802449C: .4byte gMain
_080244A0:
ldr r3, _080244D0 @ =0x086AD52C
- ldr r5, _080244D4 @ =0x020314E0
+ ldr r5, _080244D4 @ =gUnknown_020314E0
ldr r2, [r5]
movs r6, #0x81
lsls r6, r6, #2
@@ -36948,14 +36948,14 @@ _080244A0:
b _080245FE
.align 2, 0
_080244D0: .4byte 0x086AD52C
-_080244D4: .4byte 0x020314E0
+_080244D4: .4byte gUnknown_020314E0
_080244D8: .4byte 0x00000206
_080244DC:
ldrb r0, [r4]
adds r0, #1
movs r5, #0
strb r0, [r4]
- ldr r0, _0802459C @ =0x020314E0
+ ldr r0, _0802459C @ =gUnknown_020314E0
ldr r1, [r0]
ldr r4, _080245A0 @ =0x00000206
adds r2, r1, r4
@@ -36971,11 +36971,11 @@ _080244DC:
ble _08024520
movs r0, #0
strb r0, [r1]
- ldr r0, _0802459C @ =0x020314E0
+ ldr r0, _0802459C @ =gUnknown_020314E0
ldr r1, [r0]
movs r0, #3
strb r0, [r1, #0x17]
- ldr r2, _0802459C @ =0x020314E0
+ ldr r2, _0802459C @ =gUnknown_020314E0
ldr r1, [r2]
movs r3, #0xfc
lsls r3, r3, #1
@@ -36986,7 +36986,7 @@ _080244DC:
adds r0, r1, r4
strh r5, [r0]
_08024520:
- ldr r5, _0802459C @ =0x020314E0
+ ldr r5, _0802459C @ =gUnknown_020314E0
ldr r1, [r5]
adds r0, r1, r6
ldrb r0, [r0]
@@ -37001,7 +37001,7 @@ _08024520:
movs r0, #0x15
bl m4aSongNumStart
_0802453E:
- ldr r4, _0802459C @ =0x020314E0
+ ldr r4, _0802459C @ =gUnknown_020314E0
ldr r3, [r4]
movs r5, #0x81
lsls r5, r5, #2
@@ -37049,7 +37049,7 @@ _08024576:
ldr r3, _080245B4 @ =0x086AD52C
b _080245FE
.align 2, 0
-_0802459C: .4byte 0x020314E0
+_0802459C: .4byte gUnknown_020314E0
_080245A0: .4byte 0x00000206
_080245A4: .4byte gMain
_080245A8: .4byte 0x086A3700
@@ -37079,7 +37079,7 @@ _080245D4:
strh r5, [r2]
movs r0, #0xa
strb r0, [r1]
- ldr r7, _08024754 @ =0x020314E0
+ ldr r7, _08024754 @ =gUnknown_020314E0
ldr r1, [r7]
movs r0, #2
strb r0, [r1, #0x17]
@@ -37093,7 +37093,7 @@ _080245D4:
adds r0, r1, r4
strh r5, [r0]
_080245FE:
- ldr r5, _08024754 @ =0x020314E0
+ ldr r5, _08024754 @ =gUnknown_020314E0
ldr r4, [r5]
movs r6, #0x81
lsls r6, r6, #2
@@ -37138,7 +37138,7 @@ _080245FE:
adds r0, r0, r1
str r0, [r2]
_08024656:
- ldr r7, _08024754 @ =0x020314E0
+ ldr r7, _08024754 @ =gUnknown_020314E0
ldr r4, [r7]
movs r1, #0xfe
lsls r1, r1, #1
@@ -37263,7 +37263,7 @@ _080246CC:
ble _080246CC
bl _080252F6
.align 2, 0
-_08024754: .4byte 0x020314E0
+_08024754: .4byte gUnknown_020314E0
_08024758: .4byte 0x040000D4
_0802475C: .4byte 0x0202C7A0
_08024760: .4byte 0x060112A0
@@ -37276,7 +37276,7 @@ _08024778: .4byte gOamBuffer
_0802477C: .4byte 0x000001FF
_08024780: .4byte 0xFFFFFE00
_08024784:
- ldr r0, _080247B0 @ =0x020314E0
+ ldr r0, _080247B0 @ =gUnknown_020314E0
mov sl, r0
ldr r4, [r0]
ldr r1, _080247B4 @ =0x00000206
@@ -37298,7 +37298,7 @@ _080247AA:
movs r5, #0
b _0802499E
.align 2, 0
-_080247B0: .4byte 0x020314E0
+_080247B0: .4byte gUnknown_020314E0
_080247B4: .4byte 0x00000206
_080247B8: .4byte 0x00000346
_080247BC:
@@ -37451,7 +37451,7 @@ _080248F0:
adds r1, r4, #0
bl __divsi3
str r0, [sp, #4]
- ldr r4, _08024940 @ =0x020314E0
+ ldr r4, _08024940 @ =gUnknown_020314E0
ldr r2, [r4]
movs r3, #0xfe
lsls r3, r3, #1
@@ -37485,7 +37485,7 @@ _080248F0:
_08024934: .4byte 0x086AD788
_08024938: .4byte gMain
_0802493C: .4byte 0x00004E20
-_08024940: .4byte 0x020314E0
+_08024940: .4byte gUnknown_020314E0
_08024944: .4byte 0x000009C3
_08024948:
movs r2, #0
@@ -37503,7 +37503,7 @@ _08024948:
adds r0, r1, r4
strh r2, [r0]
_08024964:
- ldr r0, _0802497C @ =0x020314E0
+ ldr r0, _0802497C @ =gUnknown_020314E0
ldr r1, [r0]
ldr r6, _08024980 @ =0x00000206
adds r0, r1, r6
@@ -37516,7 +37516,7 @@ _08024964:
adds r0, #1
b _0802499C
.align 2, 0
-_0802497C: .4byte 0x020314E0
+_0802497C: .4byte gUnknown_020314E0
_08024980: .4byte 0x00000206
_08024984: .4byte 0x0000017B
_08024988:
@@ -37547,7 +37547,7 @@ _0802499E:
ldr r0, _08024A1C @ =0x80000090
str r0, [r2, #8]
ldr r0, [r2, #8]
- ldr r0, _08024A20 @ =0x020314E0
+ ldr r0, _08024A20 @ =gUnknown_020314E0
ldr r4, [r0]
ldr r0, _08024A24 @ =0x00000206
adds r1, r4, r0
@@ -37591,7 +37591,7 @@ _08024A10: .4byte 0x040000D4
_08024A14: .4byte 0x0202C7A0
_08024A18: .4byte 0x060112A0
_08024A1C: .4byte 0x80000090
-_08024A20: .4byte 0x020314E0
+_08024A20: .4byte gUnknown_020314E0
_08024A24: .4byte 0x00000206
_08024A28:
movs r1, #0x1e
@@ -37665,7 +37665,7 @@ _08024AAC: .4byte 0xFFFFFE00
_08024AB0: .4byte 0x000001FF
_08024AB4:
ldr r3, _08024B5C @ =0x086AD580
- ldr r5, _08024B60 @ =0x020314E0
+ ldr r5, _08024B60 @ =gUnknown_020314E0
ldr r4, [r5]
movs r1, #0x81
lsls r1, r1, #2
@@ -37732,7 +37732,7 @@ _08024AB4:
adds r1, r4, #0
bl __divsi3
str r0, [sp, #4]
- ldr r3, _08024B60 @ =0x020314E0
+ ldr r3, _08024B60 @ =gUnknown_020314E0
ldr r5, [r3]
ldr r4, _08024B6C @ =0x000005A9
adds r1, r5, r4
@@ -37745,7 +37745,7 @@ _08024AB4:
b _08024BFA
.align 2, 0
_08024B5C: .4byte 0x086AD580
-_08024B60: .4byte 0x020314E0
+_08024B60: .4byte gUnknown_020314E0
_08024B64: .4byte gMain
_08024B68: .4byte 0x00004E20
_08024B6C: .4byte 0x000005A9
@@ -37801,7 +37801,7 @@ _08024BB4:
lsls r4, r4, #0x10
lsrs r5, r4, #0x10
_08024BDA:
- ldr r0, _08024C24 @ =0x020314E0
+ ldr r0, _08024C24 @ =gUnknown_020314E0
ldr r2, [r0]
movs r0, #0xfe
lsls r0, r0, #1
@@ -37822,7 +37822,7 @@ _08024BFA:
ldr r3, [sp, #8]
cmp r3, r0
bgt _08024C40
- ldr r4, _08024C24 @ =0x020314E0
+ ldr r4, _08024C24 @ =gUnknown_020314E0
ldr r0, [r4]
movs r2, #0x81
lsls r2, r2, #2
@@ -37838,7 +37838,7 @@ _08024BFA:
.align 2, 0
_08024C1C: .4byte 0x086AD788
_08024C20: .4byte gMain
-_08024C24: .4byte 0x020314E0
+_08024C24: .4byte gUnknown_020314E0
_08024C28: .4byte 0x000009C3
_08024C2C:
bl m4aMPlayAllStop
@@ -37854,7 +37854,7 @@ _08024C40:
ldrb r0, [r0, #4]
cmp r0, #0
bne _08024C70
- ldr r0, _08024C6C @ =0x020314E0
+ ldr r0, _08024C6C @ =gUnknown_020314E0
ldr r1, [r0]
movs r3, #0x81
lsls r3, r3, #2
@@ -37871,9 +37871,9 @@ _08024C40:
b _08024CA0
.align 2, 0
_08024C68: .4byte gMain
-_08024C6C: .4byte 0x020314E0
+_08024C6C: .4byte gUnknown_020314E0
_08024C70:
- ldr r0, _08024C94 @ =0x020314E0
+ ldr r0, _08024C94 @ =gUnknown_020314E0
ldr r3, [r0]
movs r2, #0x81
lsls r2, r2, #2
@@ -37891,13 +37891,13 @@ _08024C70:
strb r0, [r1]
b _08024CA0
.align 2, 0
-_08024C94: .4byte 0x020314E0
+_08024C94: .4byte gUnknown_020314E0
_08024C98: .4byte 0x00000367
_08024C9C:
movs r1, #1
mov sl, r1
_08024CA0:
- ldr r2, _08024CE8 @ =0x020314E0
+ ldr r2, _08024CE8 @ =gUnknown_020314E0
ldr r4, [r2]
movs r3, #0xfe
lsls r3, r3, #1
@@ -37931,7 +37931,7 @@ _08024CA0:
strh r0, [r3, #4]
b _08024CF8
.align 2, 0
-_08024CE8: .4byte 0x020314E0
+_08024CE8: .4byte gUnknown_020314E0
_08024CEC:
movs r1, #0x1e
rsbs r1, r1, #0
@@ -38012,7 +38012,7 @@ _08024D24:
asrs r4, r4, #0x10
cmp r4, #3
ble _08024D24
- ldr r4, _08024DBC @ =0x020314E0
+ ldr r4, _08024DBC @ =gUnknown_020314E0
ldr r4, [r4]
mov r8, r4
ldr r5, _08024DC0 @ =0x000005AA
@@ -38033,7 +38033,7 @@ _08024DAC: .4byte 0x80000090
_08024DB0: .4byte gOamBuffer
_08024DB4: .4byte 0xFFFFFE00
_08024DB8: .4byte 0x000001FF
-_08024DBC: .4byte 0x020314E0
+_08024DBC: .4byte gUnknown_020314E0
_08024DC0: .4byte 0x000005AA
_08024DC4:
ldr r0, _08024EA0 @ =0x0000132C
@@ -38076,7 +38076,7 @@ _08024E0A:
ldrb r0, [r1]
adds r0, #1
strb r0, [r1]
- ldr r5, _08024EA8 @ =0x020314E0
+ ldr r5, _08024EA8 @ =gUnknown_020314E0
ldr r1, [r5]
mov r6, sl
adds r2, r1, r6
@@ -38096,7 +38096,7 @@ _08024E0A:
_08024E38:
movs r0, #0x75
bl m4aSongNumStart
- ldr r1, _08024EA8 @ =0x020314E0
+ ldr r1, _08024EA8 @ =gUnknown_020314E0
ldr r0, [r1]
add r0, sb
ldr r1, [r0]
@@ -38109,7 +38109,7 @@ _08024E38:
bl ArcTan2
lsls r0, r0, #0x10
lsrs r5, r0, #0x10
- ldr r3, _08024EA8 @ =0x020314E0
+ ldr r3, _08024EA8 @ =gUnknown_020314E0
ldr r0, [r3]
adds r0, r0, r4
ldrb r0, [r0]
@@ -38117,7 +38117,7 @@ _08024E38:
bls _08024EB0
adds r0, r5, #0
bl sub_C74
- ldr r4, _08024EA8 @ =0x020314E0
+ ldr r4, _08024EA8 @ =gUnknown_020314E0
ldr r1, [r4]
add r1, sb
ldr r4, [r1]
@@ -38129,7 +38129,7 @@ _08024E38:
adds r0, r5, #0
bl sub_C24
adds r1, r0, #0
- ldr r5, _08024EA8 @ =0x020314E0
+ ldr r5, _08024EA8 @ =gUnknown_020314E0
ldr r0, [r5]
add r0, sb
ldr r4, [r0]
@@ -38144,12 +38144,12 @@ _08024E38:
.align 2, 0
_08024EA0: .4byte 0x0000132C
_08024EA4: .4byte 0x000005A5
-_08024EA8: .4byte 0x020314E0
+_08024EA8: .4byte gUnknown_020314E0
_08024EAC: .4byte 0x000005A9
_08024EB0:
adds r0, r5, #0
bl sub_C74
- ldr r6, _08024EF4 @ =0x020314E0
+ ldr r6, _08024EF4 @ =gUnknown_020314E0
ldr r1, [r6]
add r1, sb
ldr r4, [r1]
@@ -38178,10 +38178,10 @@ _08024EE2:
bl sub_11B0
b _080252F6
.align 2, 0
-_08024EF4: .4byte 0x020314E0
+_08024EF4: .4byte gUnknown_020314E0
_08024EF8: .4byte 0x00004E20
_08024EFC:
- ldr r7, _0802508C @ =0x020314E0
+ ldr r7, _0802508C @ =gUnknown_020314E0
ldr r0, [r7]
adds r0, #0xe4
movs r5, #0
@@ -38262,7 +38262,7 @@ _08024EFC:
adds r1, r4, r2
strh r0, [r1]
movs r2, #0
- ldr r5, _0802508C @ =0x020314E0
+ ldr r5, _0802508C @ =gUnknown_020314E0
ldr r4, _080250C8 @ =0x000006D3
movs r3, #0xd
_08024FA8:
@@ -38278,7 +38278,7 @@ _08024FA8:
asrs r0, r0, #0x10
cmp r0, #5
ble _08024FA8
- ldr r3, _0802508C @ =0x020314E0
+ ldr r3, _0802508C @ =gUnknown_020314E0
ldr r1, [r3]
ldrb r0, [r1, #0x17]
adds r0, #1
@@ -38375,13 +38375,13 @@ _08025028:
asrs r4, r4, #0x10
cmp r4, #3
ble _08025028
- ldr r3, _0802508C @ =0x020314E0
+ ldr r3, _0802508C @ =gUnknown_020314E0
ldr r1, [r3]
movs r0, #0
strh r0, [r1, #0x18]
b _080252F6
.align 2, 0
-_0802508C: .4byte 0x020314E0
+_0802508C: .4byte gUnknown_020314E0
_08025090: .4byte 0x040000D4
_08025094: .4byte 0x086ACF80
_08025098: .4byte 0x050003E0
@@ -38404,7 +38404,7 @@ _080250D8: .4byte gOamBuffer
_080250DC: .4byte 0xFFFFFE00
_080250E0: .4byte 0x000001FF
_080250E4:
- ldr r5, _080251E4 @ =0x020314E0
+ ldr r5, _080251E4 @ =gUnknown_020314E0
ldr r4, [r5]
movs r6, #0xb5
lsls r6, r6, #3
@@ -38514,7 +38514,7 @@ _08025152:
ldr r0, _08025200 @ =0x80000090
str r0, [r1, #8]
ldr r0, [r1, #8]
- ldr r5, _080251E4 @ =0x020314E0
+ ldr r5, _080251E4 @ =gUnknown_020314E0
ldr r0, [r5]
movs r6, #0xb5
lsls r6, r6, #3
@@ -38534,7 +38534,7 @@ _080251D4:
strh r0, [r1]
b _080252F6
.align 2, 0
-_080251E4: .4byte 0x020314E0
+_080251E4: .4byte gUnknown_020314E0
_080251E8: .4byte gOamBuffer
_080251EC: .4byte 0xFFFFFE00
_080251F0: .4byte 0x000001FF
@@ -38600,7 +38600,7 @@ _08025268:
ldr r1, [r0]
movs r0, #0
strh r0, [r1]
- ldr r4, _08025290 @ =0x020314E0
+ ldr r4, _08025290 @ =gUnknown_020314E0
ldr r1, [r4]
ldrb r0, [r1, #0x17]
adds r0, #1
@@ -38610,10 +38610,10 @@ _08025280: .4byte gOamBuffer
_08025284: .4byte 0xFFFFFE00
_08025288: .4byte 0x000001FF
_0802528C: .4byte gMain
-_08025290: .4byte 0x020314E0
+_08025290: .4byte gUnknown_020314E0
_08025294:
bl sub_242B4
- ldr r2, _080252B0 @ =0x020314E0
+ ldr r2, _080252B0 @ =gUnknown_020314E0
ldr r1, [r2]
ldrb r0, [r1, #0x17]
adds r0, #1
@@ -38625,10 +38625,10 @@ _08025294:
strb r3, [r0]
b _080252F6
.align 2, 0
-_080252B0: .4byte 0x020314E0
+_080252B0: .4byte gUnknown_020314E0
_080252B4: .4byte 0x00000367
_080252B8:
- ldr r6, _080252C8 @ =0x020314E0
+ ldr r6, _080252C8 @ =gUnknown_020314E0
ldr r1, [r6]
ldrh r0, [r1, #0x18]
cmp r0, #0
@@ -38637,7 +38637,7 @@ _080252B8:
strh r0, [r1, #0x18]
b _080252F6
.align 2, 0
-_080252C8: .4byte 0x020314E0
+_080252C8: .4byte gUnknown_020314E0
_080252CC:
ldr r7, _080252E4 @ =0x0000071F
adds r0, r1, r7
@@ -38655,7 +38655,7 @@ _080252E8:
movs r0, #1
bl sub_19B64
_080252EE:
- ldr r0, _08025308 @ =0x020314E0
+ ldr r0, _08025308 @ =gUnknown_020314E0
ldr r1, [r0]
movs r0, #0
_080252F4:
@@ -38670,7 +38670,7 @@ _080252F6:
pop {r0}
bx r0
.align 2, 0
-_08025308: .4byte 0x020314E0
+_08025308: .4byte gUnknown_020314E0
thumb_func_start sub_2530C
sub_2530C: @ 0x0802530C
@@ -38683,7 +38683,7 @@ sub_2530C: @ 0x0802530C
ldr r5, [r1, #0x48]
ldrh r1, [r5]
mov r8, r0
- ldr r0, _080253D4 @ =0x020314E0
+ ldr r0, _080253D4 @ =gUnknown_020314E0
mov sb, r0
cmp r1, #0
beq _08025360
@@ -38778,7 +38778,7 @@ _080253B0:
bx r0
.align 2, 0
_080253D0: .4byte gMain
-_080253D4: .4byte 0x020314E0
+_080253D4: .4byte gUnknown_020314E0
_080253D8: .4byte gOamBuffer
_080253DC: .4byte 0xFFFFFE00
@@ -38797,7 +38797,7 @@ sub_253E0: @ 0x080253E0
ldr r0, [r0, #0x48]
mov r1, r8
strh r1, [r0]
- ldr r4, _08025494 @ =0x020314E0
+ ldr r4, _08025494 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r5, _08025498 @ =0x000006CC
adds r0, r0, r5
@@ -38853,7 +38853,7 @@ _08025428:
ldr r0, [r1, #8]
_08025464:
ldr r1, _080254C4 @ =0x086AD3FE
- ldr r3, _08025494 @ =0x020314E0
+ ldr r3, _08025494 @ =gUnknown_020314E0
ldr r2, [r3]
ldr r6, _08025498 @ =0x000006CC
adds r4, r2, r6
@@ -38875,7 +38875,7 @@ _08025464:
b _08025650
.align 2, 0
_08025490: .4byte gMain
-_08025494: .4byte 0x020314E0
+_08025494: .4byte gUnknown_020314E0
_08025498: .4byte 0x000006CC
_0802549C: .4byte 0x000006C7
_080254A0: .4byte 0x000006C6
@@ -39085,7 +39085,7 @@ _0802564C:
movs r3, #0
mov r8, r3
_08025650:
- ldr r0, _080256CC @ =0x020314E0
+ ldr r0, _080256CC @ =gUnknown_020314E0
ldr r0, [r0]
ldr r4, _080256D0 @ =0x000006CC
adds r0, r0, r4
@@ -39098,7 +39098,7 @@ _08025650:
bl m4aSongNumStart
bl sub_29664
_0802566C:
- ldr r0, _080256CC @ =0x020314E0
+ ldr r0, _080256CC @ =gUnknown_020314E0
ldr r5, [r0]
ldr r1, _080256D0 @ =0x000006CC
adds r0, r5, r1
@@ -39146,7 +39146,7 @@ _08025682:
subs r0, r0, r1
b _080256DE
.align 2, 0
-_080256CC: .4byte 0x020314E0
+_080256CC: .4byte gUnknown_020314E0
_080256D0: .4byte 0x000006CC
_080256D4: .4byte gMain
_080256D8: .4byte 0xFFFFFED4
@@ -39166,7 +39166,7 @@ _080256EC:
mov ip, r0
ldr r1, _080257F0 @ =0x086AD3FE
mov sl, r1
- ldr r3, _080257F4 @ =0x020314E0
+ ldr r3, _080257F4 @ =gUnknown_020314E0
mov sb, r3
ldr r4, _080257F8 @ =0x000006CC
mov r8, r4
@@ -39292,7 +39292,7 @@ _080256FE:
.align 2, 0
_080257EC: .4byte gOamBuffer
_080257F0: .4byte 0x086AD3FE
-_080257F4: .4byte 0x020314E0
+_080257F4: .4byte gUnknown_020314E0
_080257F8: .4byte 0x000006CC
_080257FC: .4byte 0x086B53E4
_08025800: .4byte 0x000001FF
@@ -39305,7 +39305,7 @@ sub_25808: @ 0x08025808
mov r6, sb
mov r5, r8
push {r5, r6, r7}
- ldr r1, _08025834 @ =0x020314E0
+ ldr r1, _08025834 @ =gUnknown_020314E0
ldr r0, [r1]
ldr r2, _08025838 @ =0x00000602
adds r0, r0, r2
@@ -39323,7 +39323,7 @@ _08025828:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_08025834: .4byte 0x020314E0
+_08025834: .4byte gUnknown_020314E0
_08025838: .4byte 0x00000602
_0802583C: .4byte _08025840
_08025840: @ jump table
@@ -40191,7 +40191,7 @@ sub_25F64: @ 0x08025F64
mov r6, sb
mov r5, r8
push {r5, r6}
- ldr r5, _0802607C @ =0x020314E0
+ ldr r5, _0802607C @ =gUnknown_020314E0
ldr r1, [r5]
movs r2, #0
movs r0, #1
@@ -40324,7 +40324,7 @@ _08026032:
pop {r0}
bx r0
.align 2, 0
-_0802607C: .4byte 0x020314E0
+_0802607C: .4byte gUnknown_020314E0
_08026080: .4byte 0x000006DB
_08026084: .4byte gMain
_08026088: .4byte 0x08055A68
@@ -40348,7 +40348,7 @@ sub_260B8: @ 0x080260B8
mov r5, r8
push {r5, r6, r7}
sub sp, #4
- ldr r1, _080260E4 @ =0x020314E0
+ ldr r1, _080260E4 @ =gUnknown_020314E0
ldr r0, [r1]
ldrb r0, [r0, #0x17]
subs r0, #1
@@ -40365,7 +40365,7 @@ _080260D8:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_080260E4: .4byte 0x020314E0
+_080260E4: .4byte gUnknown_020314E0
_080260E8: .4byte _080260EC
_080260EC: @ jump table
.4byte _08026104 @ case 0
@@ -40614,7 +40614,7 @@ _080262D8: .4byte 0x00000171
_080262DC: .4byte 0x000006F2
_080262E0: .4byte 0x000006C4
_080262E4:
- ldr r1, _08026338 @ =0x020314E0
+ ldr r1, _08026338 @ =gUnknown_020314E0
ldr r2, [r1]
ldrh r0, [r2, #0x18]
cmp r0, #0xe
@@ -40641,7 +40641,7 @@ _08026312:
movs r0, #0
bl sub_26820
_08026318:
- ldr r0, _08026338 @ =0x020314E0
+ ldr r0, _08026338 @ =gUnknown_020314E0
ldr r5, [r0]
movs r2, #0x17
ldrsb r2, [r5, r2]
@@ -40658,7 +40658,7 @@ _08026318:
adds r1, r5, r2
b _0802647C
.align 2, 0
-_08026338: .4byte 0x020314E0
+_08026338: .4byte gUnknown_020314E0
_0802633C: .4byte 0x000006F2
_08026340: .4byte 0x000006F4
_08026344:
@@ -40810,7 +40810,7 @@ _08026440:
strh r1, [r5]
strh r0, [r6]
_0802646E:
- ldr r0, _08026490 @ =0x020314E0
+ ldr r0, _08026490 @ =gUnknown_020314E0
ldr r1, [r0]
movs r5, #0xde
lsls r5, r5, #3
@@ -40826,7 +40826,7 @@ _0802647C:
.align 2, 0
_08026488: .4byte 0x000006F2
_0802648C: .4byte 0x000006F6
-_08026490: .4byte 0x020314E0
+_08026490: .4byte gUnknown_020314E0
_08026494:
movs r7, #0xde
lsls r7, r7, #3
@@ -40866,7 +40866,7 @@ _08026494:
movs r0, #0x93
bl m4aSongNumStart
_080264E2:
- ldr r6, _0802655C @ =0x020314E0
+ ldr r6, _0802655C @ =gUnknown_020314E0
ldr r5, [r6]
movs r7, #0xde
lsls r7, r7, #3
@@ -40924,7 +40924,7 @@ _08026528:
.align 2, 0
_08026554: .4byte 0x000006F2
_08026558: .4byte gMain
-_0802655C: .4byte 0x020314E0
+_0802655C: .4byte gUnknown_020314E0
_08026560: .4byte 0x000006DA
_08026564: .4byte 0x000006D9
_08026568:
@@ -40958,7 +40958,7 @@ _08026568:
adds r4, #0x34
strb r0, [r4]
_080265A8:
- ldr r5, _080265F4 @ =0x020314E0
+ ldr r5, _080265F4 @ =gUnknown_020314E0
ldr r2, [r5]
ldr r4, _080265F8 @ =0x08055A68
adds r0, r2, #0
@@ -40995,13 +40995,13 @@ _080265A8:
bl m4aSongNumStart
b _0802674E
.align 2, 0
-_080265F4: .4byte 0x020314E0
+_080265F4: .4byte gUnknown_020314E0
_080265F8: .4byte 0x08055A68
_080265FC: .4byte gMain
_08026600: .4byte 0x08137928
_08026604: .4byte 0x000006DA
_08026608:
- ldr r0, _08026640 @ =0x020314E0
+ ldr r0, _08026640 @ =gUnknown_020314E0
ldr r1, [r0]
ldrh r0, [r1, #0x18]
cmp r0, #0x31
@@ -41017,7 +41017,7 @@ _08026608:
movs r0, #1
bl sub_19B64
_08026628:
- ldr r0, _08026640 @ =0x020314E0
+ ldr r0, _08026640 @ =gUnknown_020314E0
ldr r2, [r0]
ldrh r3, [r2, #0x18]
mov sb, r0
@@ -41031,7 +41031,7 @@ _08026636:
lsrs r3, r0, #2
b _08026654
.align 2, 0
-_08026640: .4byte 0x020314E0
+_08026640: .4byte gUnknown_020314E0
_08026644:
ldrh r0, [r2, #0x18]
subs r0, #8
@@ -41196,7 +41196,7 @@ sub_26778: @ 0x08026778
bl __umodsi3
movs r1, #0xa
bl __udivsi3
- ldr r4, _080267E4 @ =0x020314E0
+ ldr r4, _080267E4 @ =gUnknown_020314E0
ldr r2, [r4]
ldr r1, _080267E8 @ =0x0000070C
adds r3, r2, r1
@@ -41242,7 +41242,7 @@ _080267C2:
b _08026816
.align 2, 0
_080267E0: .4byte gMain
-_080267E4: .4byte 0x020314E0
+_080267E4: .4byte gUnknown_020314E0
_080267E8: .4byte 0x0000070C
_080267EC: .4byte 0x08137AB8
_080267F0: .4byte 0x0000072F
@@ -41276,7 +41276,7 @@ sub_26820: @ 0x08026820
asrs r1, r0, #0x10
cmp r1, #0
beq _08026878
- ldr r2, _0802686C @ =0x020314E0
+ ldr r2, _0802686C @ =gUnknown_020314E0
ldr r0, [r2]
ldr r1, _08026870 @ =0x0000072A
adds r0, r0, r1
@@ -41310,11 +41310,11 @@ sub_26820: @ 0x08026820
strb r3, [r0]
b _080268AC
.align 2, 0
-_0802686C: .4byte 0x020314E0
+_0802686C: .4byte gUnknown_020314E0
_08026870: .4byte 0x0000072A
_08026874: .4byte 0x00000729
_08026878:
- ldr r2, _080268BC @ =0x020314E0
+ ldr r2, _080268BC @ =gUnknown_020314E0
ldr r0, [r2]
ldr r3, _080268C0 @ =0x00000729
adds r0, r0, r3
@@ -41350,7 +41350,7 @@ _080268AC:
pop {r0}
bx r0
.align 2, 0
-_080268BC: .4byte 0x020314E0
+_080268BC: .4byte gUnknown_020314E0
_080268C0: .4byte 0x00000729
_080268C4: .4byte 0x0000072A
_080268C8: .4byte 0x0000070E
@@ -41358,7 +41358,7 @@ _080268C8: .4byte 0x0000070E
thumb_func_start sub_268CC
sub_268CC: @ 0x080268CC
push {r4, r5, r6, r7, lr}
- ldr r5, _08026974 @ =0x020314E0
+ ldr r5, _08026974 @ =gUnknown_020314E0
ldr r0, [r5]
ldr r1, _08026978 @ =0x000006BC
adds r0, r0, r1
@@ -41441,7 +41441,7 @@ _08026902:
pop {r0}
bx r0
.align 2, 0
-_08026974: .4byte 0x020314E0
+_08026974: .4byte gUnknown_020314E0
_08026978: .4byte 0x000006BC
_0802697C: .4byte 0x000006BD
_08026980: .4byte gMain
@@ -41457,7 +41457,7 @@ _080269A0: .4byte 0x0000073B
thumb_func_start sub_269A4
sub_269A4: @ 0x080269A4
push {r4, r5, lr}
- ldr r2, _080269F4 @ =0x020314E0
+ ldr r2, _080269F4 @ =gUnknown_020314E0
ldr r0, [r2]
movs r3, #0
strb r3, [r0, #0x17]
@@ -41496,7 +41496,7 @@ sub_269A4: @ 0x080269A4
pop {r0}
bx r0
.align 2, 0
-_080269F4: .4byte 0x020314E0
+_080269F4: .4byte gUnknown_020314E0
_080269F8: .4byte 0x00000296
_080269FC: .4byte 0x00000724
_08026A00: .4byte 0x040000D4
@@ -41507,7 +41507,7 @@ _08026A0C: .4byte 0x80000010
thumb_func_start sub_26A10
sub_26A10: @ 0x08026A10
push {r4, r5, r6, lr}
- ldr r4, _08026A68 @ =0x020314E0
+ ldr r4, _08026A68 @ =gUnknown_020314E0
ldr r1, [r4]
movs r2, #0xa5
lsls r2, r2, #2
@@ -41535,7 +41535,7 @@ sub_26A10: @ 0x08026A10
movs r1, #6
strb r1, [r0, #0x17]
_08026A4C:
- ldr r1, _08026A68 @ =0x020314E0
+ ldr r1, _08026A68 @ =gUnknown_020314E0
ldr r0, [r1]
ldrb r0, [r0, #0x17]
lsls r0, r0, #0x18
@@ -41551,7 +41551,7 @@ _08026A5E:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_08026A68: .4byte 0x020314E0
+_08026A68: .4byte gUnknown_020314E0
_08026A6C: .4byte 0x00000296
_08026A70: .4byte _08026A74
_08026A74: @ jump table
@@ -41591,7 +41591,7 @@ _08026AC4:
movs r0, #4
movs r1, #0
bl sub_1C7F4
- ldr r4, _08026B5C @ =0x020314E0
+ ldr r4, _08026B5C @ =gUnknown_020314E0
ldr r0, [r4]
ldrh r0, [r0, #0x18]
cmp r0, #0x23
@@ -41633,7 +41633,7 @@ _08026B02:
adds r0, r0, r3
strh r5, [r0]
_08026B1E:
- ldr r5, _08026B5C @ =0x020314E0
+ ldr r5, _08026B5C @ =gUnknown_020314E0
ldr r6, [r5]
ldrh r4, [r6, #0x18]
adds r0, r4, #0
@@ -41663,7 +41663,7 @@ _08026B1E:
strb r3, [r0]
b _08026BD8
.align 2, 0
-_08026B5C: .4byte 0x020314E0
+_08026B5C: .4byte gUnknown_020314E0
_08026B60: .4byte 0x000006BC
_08026B64: .4byte 0x000006BD
_08026B68: .4byte 0x000006BE
@@ -41750,7 +41750,7 @@ _08026C08: .4byte 0x00000737
_08026C0C: .4byte 0x00000739
_08026C10:
bl sub_219A8
- ldr r5, _08026C5C @ =0x020314E0
+ ldr r5, _08026C5C @ =gUnknown_020314E0
ldr r0, [r5]
movs r3, #0xe6
lsls r3, r3, #3
@@ -41785,12 +41785,12 @@ _08026C10:
ldr r1, [r5]
b _08026E72
.align 2, 0
-_08026C5C: .4byte 0x020314E0
+_08026C5C: .4byte gUnknown_020314E0
_08026C60: .4byte 0x00000736
_08026C64: .4byte 0x00000739
_08026C68:
bl sub_219EC
- ldr r0, _08026C84 @ =0x020314E0
+ ldr r0, _08026C84 @ =gUnknown_020314E0
ldr r1, [r0]
adds r0, r1, #0
adds r0, #0x25
@@ -41803,7 +41803,7 @@ _08026C68:
_08026C80:
b _08026E72
.align 2, 0
-_08026C84: .4byte 0x020314E0
+_08026C84: .4byte gUnknown_020314E0
_08026C88:
ldr r0, [r5]
movs r1, #0xa5
@@ -41833,7 +41833,7 @@ _08026C88:
.align 2, 0
_08026CBC: .4byte 0x000006EC
_08026CC0:
- ldr r4, _08026D34 @ =0x020314E0
+ ldr r4, _08026D34 @ =gUnknown_020314E0
ldr r1, [r4]
ldrh r0, [r1, #0x28]
cmp r0, #0x91
@@ -41889,7 +41889,7 @@ _08026CCC:
subs r0, #1
b _08026D4A
.align 2, 0
-_08026D34: .4byte 0x020314E0
+_08026D34: .4byte gUnknown_020314E0
_08026D38: .4byte 0x000006EC
_08026D3C: .4byte gMain
_08026D40: .4byte 0x000006BC
@@ -41899,7 +41899,7 @@ _08026D44:
adds r0, #0x32
_08026D4A:
strb r1, [r0]
- ldr r6, _08026D7C @ =0x020314E0
+ ldr r6, _08026D7C @ =gUnknown_020314E0
ldr r5, [r6]
lsls r4, r4, #0x10
asrs r4, r4, #0x10
@@ -41922,7 +41922,7 @@ _08026D4A:
strb r0, [r1]
b _08026DC6
.align 2, 0
-_08026D7C: .4byte 0x020314E0
+_08026D7C: .4byte gUnknown_020314E0
_08026D80:
adds r1, r2, #0
adds r1, #0x32
@@ -41959,7 +41959,7 @@ _08026D92:
movs r0, #0x78
strh r0, [r1]
_08026DC6:
- ldr r0, _08026E1C @ =0x020314E0
+ ldr r0, _08026E1C @ =gUnknown_020314E0
ldr r3, [r0]
ldrh r4, [r3, #0x28]
adds r2, r4, #0
@@ -41984,7 +41984,7 @@ _08026DC6:
adds r0, #1
strh r0, [r5, #0x18]
_08026DF8:
- ldr r0, _08026E1C @ =0x020314E0
+ ldr r0, _08026E1C @ =gUnknown_020314E0
ldr r3, [r0]
ldrh r2, [r3, #0x18]
movs r1, #0xc5
@@ -42001,7 +42001,7 @@ _08026DF8:
.align 2, 0
_08026E14: .4byte 0x00000714
_08026E18: .4byte 0x000006EE
-_08026E1C: .4byte 0x020314E0
+_08026E1C: .4byte gUnknown_020314E0
_08026E20: .4byte 0x000001E9
_08026E24: .4byte 0x000001AB
_08026E28: .4byte 0x0007A120
@@ -42040,7 +42040,7 @@ _08026E5C:
movs r0, #0
strh r0, [r1]
bl sub_268CC
- ldr r0, _08026E80 @ =0x020314E0
+ ldr r0, _08026E80 @ =gUnknown_020314E0
ldr r1, [r0]
_08026E72:
ldrb r0, [r1, #0x17]
@@ -42049,7 +42049,7 @@ _08026E72:
b _08026E9E
.align 2, 0
_08026E7C: .4byte gMain
-_08026E80: .4byte 0x020314E0
+_08026E80: .4byte gUnknown_020314E0
_08026E84:
ldr r1, [r5]
ldrh r0, [r1, #0x18]
@@ -42075,7 +42075,7 @@ sub_26EA4: @ 0x08026EA4
movs r0, #0
movs r1, #0
bl sub_1C7F4
- ldr r0, _08026EE0 @ =0x020314E0
+ ldr r0, _08026EE0 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r2, _08026EE4 @ =0x000006C4
adds r1, r1, r2
@@ -42084,7 +42084,7 @@ sub_26EA4: @ 0x08026EA4
adds r6, r0, #0
ldr r5, _08026EE8 @ =0x0000071D
_08026EBE:
- ldr r0, _08026EE0 @ =0x020314E0
+ ldr r0, _08026EE0 @ =gUnknown_020314E0
ldr r3, [r0]
ldr r0, _08026EEC @ =0x00000723
adds r1, r3, r0
@@ -42101,7 +42101,7 @@ _08026EBE:
movs r1, #1
b _08026EF6
.align 2, 0
-_08026EE0: .4byte 0x020314E0
+_08026EE0: .4byte gUnknown_020314E0
_08026EE4: .4byte 0x000006C4
_08026EE8: .4byte 0x0000071D
_08026EEC: .4byte 0x00000723
@@ -42144,7 +42144,7 @@ _08026F34: .4byte 0x000005F3
thumb_func_start sub_26F38
sub_26F38: @ 0x08026F38
push {r4, r5, r6, r7, lr}
- ldr r4, _08026F88 @ =0x020314E0
+ ldr r4, _08026F88 @ =gUnknown_020314E0
ldr r0, [r4]
movs r3, #0
strb r3, [r0, #0x17]
@@ -42184,7 +42184,7 @@ sub_26F38: @ 0x08026F38
strb r6, [r0]
b _08026FFC
.align 2, 0
-_08026F88: .4byte 0x020314E0
+_08026F88: .4byte gUnknown_020314E0
_08026F8C: .4byte 0x00000296
_08026F90: .4byte 0x00000724
_08026F94:
@@ -42301,7 +42301,7 @@ sub_27080: @ 0x08027080
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
- ldr r4, _080270E0 @ =0x020314E0
+ ldr r4, _080270E0 @ =gUnknown_020314E0
ldr r1, [r4]
movs r2, #0xa5
lsls r2, r2, #2
@@ -42329,7 +42329,7 @@ sub_27080: @ 0x08027080
movs r1, #8
strb r1, [r0, #0x17]
_080270C0:
- ldr r1, _080270E0 @ =0x020314E0
+ ldr r1, _080270E0 @ =gUnknown_020314E0
ldr r0, [r1]
ldrb r0, [r0, #0x17]
lsls r0, r0, #0x18
@@ -42345,7 +42345,7 @@ _080270D4:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_080270E0: .4byte 0x020314E0
+_080270E0: .4byte gUnknown_020314E0
_080270E4: .4byte 0x00000296
_080270E8: .4byte _080270EC
_080270EC: @ jump table
@@ -42390,7 +42390,7 @@ _0802712C:
adds r0, r0, r1
movs r1, #5
bl __umodsi3
- ldr r5, _080271FC @ =0x020314E0
+ ldr r5, _080271FC @ =gUnknown_020314E0
ldr r2, [r5]
lsls r0, r0, #0x10
asrs r3, r0, #0x10
@@ -42427,7 +42427,7 @@ _0802718E:
adds r2, r0, r1
movs r0, #3
ands r2, r0
- ldr r4, _080271FC @ =0x020314E0
+ ldr r4, _080271FC @ =gUnknown_020314E0
ldr r1, [r4]
ldr r3, _080271F4 @ =0x00000263
adds r0, r1, r3
@@ -42459,7 +42459,7 @@ _080271CC:
adds r0, r0, r1
movs r1, #3
bl __umodsi3
- ldr r1, _080271FC @ =0x020314E0
+ ldr r1, _080271FC @ =gUnknown_020314E0
ldr r2, [r1]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
@@ -42474,7 +42474,7 @@ _080271CC:
.align 2, 0
_080271F4: .4byte 0x00000263
_080271F8: .4byte gMain
-_080271FC: .4byte 0x020314E0
+_080271FC: .4byte gUnknown_020314E0
_08027200: .4byte 0x00000261
_08027204: .4byte 0x00000262
_08027208:
@@ -42500,7 +42500,7 @@ _0802720E:
adds r0, r0, r1
movs r1, #6
bl __umodsi3
- ldr r5, _08027380 @ =0x020314E0
+ ldr r5, _08027380 @ =gUnknown_020314E0
ldr r2, [r5]
lsls r0, r0, #0x10
asrs r3, r0, #0x10
@@ -42537,7 +42537,7 @@ _08027270:
adds r0, r0, r1
movs r1, #7
bl __umodsi3
- ldr r5, _08027380 @ =0x020314E0
+ ldr r5, _08027380 @ =gUnknown_020314E0
ldr r2, [r5]
lsls r0, r0, #0x10
asrs r3, r0, #0x10
@@ -42573,7 +42573,7 @@ _080272B8:
adds r0, r0, r1
movs r1, #6
bl __umodsi3
- ldr r5, _08027380 @ =0x020314E0
+ ldr r5, _08027380 @ =gUnknown_020314E0
ldr r2, [r5]
lsls r0, r0, #0x10
asrs r3, r0, #0x10
@@ -42607,7 +42607,7 @@ _08027300:
ldrb r0, [r0, #4]
cmp r0, #1
bne _08027362
- ldr r1, _08027380 @ =0x020314E0
+ ldr r1, _08027380 @ =gUnknown_020314E0
ldr r0, [r1]
ldr r5, _0802738C @ =0x00000283
adds r0, r0, r5
@@ -42653,7 +42653,7 @@ _08027356:
cmp r0, #2
ble _0802731A
_08027362:
- ldr r0, _08027380 @ =0x020314E0
+ ldr r0, _08027380 @ =gUnknown_020314E0
ldr r1, [r0]
movs r0, #0x94
lsls r0, r0, #2
@@ -42667,7 +42667,7 @@ _08027362:
.align 2, 0
_08027378: .4byte 0x00000263
_0802737C: .4byte gMain
-_08027380: .4byte 0x020314E0
+_08027380: .4byte gUnknown_020314E0
_08027384: .4byte 0x00000261
_08027388: .4byte 0x00000262
_0802738C: .4byte 0x00000283
@@ -42734,11 +42734,11 @@ _0802740C: .4byte 0x0000025A
_08027410: .4byte 0x0000026E
_08027414:
bl sub_278F4
- ldr r0, _08027420 @ =0x020314E0
+ ldr r0, _08027420 @ =gUnknown_020314E0
ldr r1, [r0]
b _080277B8
.align 2, 0
-_08027420: .4byte 0x020314E0
+_08027420: .4byte gUnknown_020314E0
_08027424:
ldr r0, [r6]
movs r1, #0xe6
@@ -42765,7 +42765,7 @@ _0802743A:
b _080278E4
_08027452:
bl sub_219EC
- ldr r0, _08027470 @ =0x020314E0
+ ldr r0, _08027470 @ =gUnknown_020314E0
ldr r1, [r0]
adds r0, r1, #0
adds r0, #0x25
@@ -42780,7 +42780,7 @@ _0802746A:
adds r0, #1
b _080278E4
.align 2, 0
-_08027470: .4byte 0x020314E0
+_08027470: .4byte gUnknown_020314E0
_08027474:
ldr r0, [r6]
movs r3, #0xa5
@@ -42896,7 +42896,7 @@ _08027534:
subs r0, #1
strh r0, [r1]
_08027550:
- ldr r4, _0802768C @ =0x020314E0
+ ldr r4, _0802768C @ =gUnknown_020314E0
ldr r0, [r4]
ldrh r1, [r0, #0x18]
movs r0, #0x87
@@ -42929,7 +42929,7 @@ _0802757C:
ldr r0, _08027694 @ =0x004C4B40
str r0, [r1, #0x3c]
_0802758E:
- ldr r0, _0802768C @ =0x020314E0
+ ldr r0, _0802768C @ =gUnknown_020314E0
ldr r2, [r0]
ldrh r1, [r2, #0x18]
adds r6, r0, #0
@@ -43066,7 +43066,7 @@ _08027684:
strh r0, [r1, #0x18]
b _080278E6
.align 2, 0
-_0802768C: .4byte 0x020314E0
+_0802768C: .4byte gUnknown_020314E0
_08027690: .4byte 0x000006C4
_08027694: .4byte 0x004C4B40
_08027698: .4byte gMain
@@ -43264,7 +43264,7 @@ _080277D8:
adds r0, #0xa0
ldr r0, [r0]
strh r5, [r0]
- ldr r4, _0802788C @ =0x020314E0
+ ldr r4, _0802788C @ =gUnknown_020314E0
ldr r0, [r4]
adds r0, #0xe4
mov r1, r8
@@ -43310,19 +43310,19 @@ _0802787C: .4byte gMain
_08027880: .4byte gOamBuffer
_08027884: .4byte 0x000001FF
_08027888: .4byte 0xFFFFFE00
-_0802788C: .4byte 0x020314E0
+_0802788C: .4byte gUnknown_020314E0
_08027890: .4byte 0x000001A5
_08027894: .4byte 0x00000714
_08027898: .4byte 0x000006EE
_0802789C:
bl sub_26EA4
- ldr r0, _080278AC @ =0x020314E0
+ ldr r0, _080278AC @ =gUnknown_020314E0
ldr r1, [r0]
ldrb r0, [r1, #0x17]
adds r0, #1
b _080278E4
.align 2, 0
-_080278AC: .4byte 0x020314E0
+_080278AC: .4byte gUnknown_020314E0
_080278B0:
ldr r1, [r6]
ldrh r0, [r1, #0x18]
@@ -43348,7 +43348,7 @@ _080278D8:
movs r0, #1
bl sub_19B64
_080278DE:
- ldr r0, _080278F0 @ =0x020314E0
+ ldr r0, _080278F0 @ =gUnknown_020314E0
ldr r1, [r0]
movs r0, #0
_080278E4:
@@ -43360,7 +43360,7 @@ _080278E6:
pop {r0}
bx r0
.align 2, 0
-_080278F0: .4byte 0x020314E0
+_080278F0: .4byte gUnknown_020314E0
thumb_func_start sub_278F4
sub_278F4: @ 0x080278F4
@@ -43384,7 +43384,7 @@ sub_278F4: @ 0x080278F4
adds r0, r2, #0
adds r0, #0x80
ldr r7, [r0]
- ldr r6, _080279C8 @ =0x020314E0
+ ldr r6, _080279C8 @ =gUnknown_020314E0
ldr r3, [r6]
ldr r0, _080279CC @ =0x0000026E
mov sb, r0
@@ -43469,7 +43469,7 @@ _0802799E:
b _08027A46
.align 2, 0
_080279C4: .4byte gMain
-_080279C8: .4byte 0x020314E0
+_080279C8: .4byte gUnknown_020314E0
_080279CC: .4byte 0x0000026E
_080279D0: .4byte 0x040000D4
_080279D4: .4byte 0x086AD474
@@ -43519,7 +43519,7 @@ _08027A00:
movs r1, #0
strb r1, [r0]
_08027A46:
- ldr r3, _08027B54 @ =0x020314E0
+ ldr r3, _08027B54 @ =gUnknown_020314E0
ldr r2, [r3]
movs r6, #0x96
lsls r6, r6, #2
@@ -43560,7 +43560,7 @@ _08027A8A:
mov sl, r3
ldr r5, _08027B64 @ =0x086B4202
mov sb, r5
- ldr r6, _08027B54 @ =0x020314E0
+ ldr r6, _08027B54 @ =gUnknown_020314E0
mov r8, r6
ldr r1, _08027B48 @ =0x00000626
mov ip, r1
@@ -43643,7 +43643,7 @@ _08027A9C:
asrs r4, r4, #0x10
cmp r4, #4
ble _08027A9C
- ldr r0, _08027B54 @ =0x020314E0
+ ldr r0, _08027B54 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r2, _08027B70 @ =0x0000026E
adds r1, r1, r2
@@ -43655,7 +43655,7 @@ _08027A9C:
_08027B48: .4byte 0x00000626
_08027B4C: .4byte 0x02032F20
_08027B50: .4byte 0x0869F5C8
-_08027B54: .4byte 0x020314E0
+_08027B54: .4byte gUnknown_020314E0
_08027B58: .4byte 0x0000025A
_08027B5C: .4byte 0x0000FFE2
_08027B60: .4byte gOamBuffer
@@ -43715,7 +43715,7 @@ _08027BC4:
cmp r0, #5
ble _08027C38
_08027BD6:
- ldr r4, _08027D04 @ =0x020314E0
+ ldr r4, _08027D04 @ =gUnknown_020314E0
ldr r1, [r4]
ldr r6, _08027D08 @ =0x0000026B
adds r0, r1, r6
@@ -43764,7 +43764,7 @@ _08027BD6:
ldr r0, [r4]
strb r1, [r0, #0x17]
_08027C38:
- ldr r3, _08027D04 @ =0x020314E0
+ ldr r3, _08027D04 @ =gUnknown_020314E0
ldr r2, [r3]
movs r5, #0x96
lsls r5, r5, #2
@@ -43867,7 +43867,7 @@ _08027CE8:
_08027CF8: .4byte 0x0000132C
_08027CFC: .4byte 0x0000025A
_08027D00: .4byte 0x0000025E
-_08027D04: .4byte 0x020314E0
+_08027D04: .4byte gUnknown_020314E0
_08027D08: .4byte 0x0000026B
_08027D0C: .4byte 0x00002710
_08027D10: .4byte 0x02032F20
@@ -43887,7 +43887,7 @@ _08027D40: .4byte 0xFFFFFE00
thumb_func_start sub_27D44
sub_27D44: @ 0x08027D44
push {r4, r5, r6, lr}
- ldr r4, _08027DC8 @ =0x020314E0
+ ldr r4, _08027DC8 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r1, _08027DCC @ =0x000005A5
adds r0, r0, r1
@@ -43953,7 +43953,7 @@ _08027DAA:
movs r1, #1
b _08027DF2
.align 2, 0
-_08027DC8: .4byte 0x020314E0
+_08027DC8: .4byte gUnknown_020314E0
_08027DCC: .4byte 0x000005A5
_08027DD0: .4byte 0x000005A9
_08027DD4: .4byte gMain
@@ -43982,7 +43982,7 @@ _08027DF2:
thumb_func_start sub_27E08
sub_27E08: @ 0x08027E08
push {r4, r5, r6, r7, lr}
- ldr r3, _08027E9C @ =0x020314E0
+ ldr r3, _08027E9C @ =gUnknown_020314E0
ldr r0, [r3]
movs r5, #0
strb r5, [r0, #0x17]
@@ -44055,7 +44055,7 @@ sub_27E08: @ 0x08027E08
ldr r0, _08027EC4 @ =0x00001770
b _08027ECE
.align 2, 0
-_08027E9C: .4byte 0x020314E0
+_08027E9C: .4byte gUnknown_020314E0
_08027EA0: .4byte 0x00000296
_08027EA4: .4byte 0x000005A5
_08027EA8: .4byte 0x000005AA
@@ -44166,7 +44166,7 @@ _08027F90: .4byte 0x000006C9
thumb_func_start sub_27F94
sub_27F94: @ 0x08027F94
push {r4, r5, lr}
- ldr r4, _08027FEC @ =0x020314E0
+ ldr r4, _08027FEC @ =gUnknown_020314E0
ldr r1, [r4]
movs r2, #0xa5
lsls r2, r2, #2
@@ -44194,7 +44194,7 @@ sub_27F94: @ 0x08027F94
movs r1, #0xa
strb r1, [r0, #0x17]
_08027FD0:
- ldr r1, _08027FEC @ =0x020314E0
+ ldr r1, _08027FEC @ =gUnknown_020314E0
ldr r0, [r1]
ldrb r0, [r0, #0x17]
lsls r0, r0, #0x18
@@ -44210,7 +44210,7 @@ _08027FE2:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_08027FEC: .4byte 0x020314E0
+_08027FEC: .4byte gUnknown_020314E0
_08027FF0: .4byte 0x00000296
_08027FF4: .4byte _08027FF8
_08027FF8: @ jump table
@@ -44229,20 +44229,20 @@ _08027FF8: @ jump table
.4byte _080283B4 @ case 12
_0802802C:
bl sub_31F6C
- ldr r0, _0802803C @ =0x020314E0
+ ldr r0, _0802803C @ =gUnknown_020314E0
ldr r1, [r0]
ldrb r0, [r1, #0x17]
adds r0, #1
b _080283F8
.align 2, 0
-_0802803C: .4byte 0x020314E0
+_0802803C: .4byte gUnknown_020314E0
_08028040:
bl sub_3219C
ldr r0, _0802806C @ =gMain
ldrb r0, [r0, #2]
cmp r0, #3
beq _08028060
- ldr r0, _08028070 @ =0x020314E0
+ ldr r0, _08028070 @ =gUnknown_020314E0
ldr r0, [r0]
movs r1, #0xb3
lsls r1, r1, #3
@@ -44252,17 +44252,17 @@ _08028040:
movs r1, #1
bl sub_52BB0
_08028060:
- ldr r0, _08028070 @ =0x020314E0
+ ldr r0, _08028070 @ =gUnknown_020314E0
ldr r1, [r0]
ldrb r0, [r1, #0x17]
adds r0, #1
b _080283F8
.align 2, 0
_0802806C: .4byte gMain
-_08028070: .4byte 0x020314E0
+_08028070: .4byte gUnknown_020314E0
_08028074:
bl sub_28AE0
- ldr r2, _0802808C @ =0x020314E0
+ ldr r2, _0802808C @ =gUnknown_020314E0
ldr r0, [r2]
ldr r3, _08028090 @ =0x0000073D
adds r0, r0, r3
@@ -44273,13 +44273,13 @@ _08028074:
adds r0, #1
b _080283F8
.align 2, 0
-_0802808C: .4byte 0x020314E0
+_0802808C: .4byte gUnknown_020314E0
_08028090: .4byte 0x0000073D
_08028094:
movs r0, #3
movs r1, #0
bl sub_1C7F4
- ldr r2, _080280D8 @ =0x020314E0
+ ldr r2, _080280D8 @ =gUnknown_020314E0
ldr r0, [r2]
ldr r1, _080280DC @ =0x000006C5
adds r0, r0, r1
@@ -44311,7 +44311,7 @@ _080280BE:
ble _080280BE
b _080283FA
.align 2, 0
-_080280D8: .4byte 0x020314E0
+_080280D8: .4byte gUnknown_020314E0
_080280DC: .4byte 0x000006C5
_080280E0: .4byte 0x00000602
_080280E4: .4byte 0x000006D3
@@ -44533,7 +44533,7 @@ _0802828A:
str r1, [r0, #4]
str r2, [r0, #8]
ldr r0, [r0, #8]
- ldr r4, _08028344 @ =0x020314E0
+ ldr r4, _08028344 @ =gUnknown_020314E0
ldr r1, [r4]
movs r3, #0xa2
lsls r3, r3, #2
@@ -44602,7 +44602,7 @@ _08028334: .4byte 0x050003E0
_08028338: .4byte 0x80000010
_0802833C: .4byte 0x020306D0
_08028340: .4byte 0x050003A0
-_08028344: .4byte 0x020314E0
+_08028344: .4byte gUnknown_020314E0
_08028348: .4byte 0x0000028A
_0802834C: .4byte 0x0000071D
_08028350: .4byte 0x000005F2
@@ -44634,22 +44634,22 @@ _08028384: .4byte 0x000005AA
_08028388:
bl sub_28E2C
bl sub_2530C
- ldr r0, _0802839C @ =0x020314E0
+ ldr r0, _0802839C @ =gUnknown_020314E0
ldr r1, [r0]
ldrb r0, [r1, #0x17]
adds r0, #1
b _080283F8
.align 2, 0
-_0802839C: .4byte 0x020314E0
+_0802839C: .4byte gUnknown_020314E0
_080283A0:
bl sub_27D44
- ldr r0, _080283B0 @ =0x020314E0
+ ldr r0, _080283B0 @ =gUnknown_020314E0
ldr r1, [r0]
ldrb r0, [r1, #0x17]
adds r0, #1
b _080283F8
.align 2, 0
-_080283B0: .4byte 0x020314E0
+_080283B0: .4byte gUnknown_020314E0
_080283B4:
ldr r0, [r5]
ldr r3, _080283CC @ =0x00000729
@@ -44682,7 +44682,7 @@ _080283EC:
movs r0, #1
bl sub_19B64
_080283F2:
- ldr r0, _08028400 @ =0x020314E0
+ ldr r0, _08028400 @ =gUnknown_020314E0
ldr r1, [r0]
movs r0, #0
_080283F8:
@@ -44692,12 +44692,12 @@ _080283FA:
pop {r0}
bx r0
.align 2, 0
-_08028400: .4byte 0x020314E0
+_08028400: .4byte gUnknown_020314E0
thumb_func_start sub_28404
sub_28404: @ 0x08028404
push {r4, r5, r6, r7, lr}
- ldr r5, _08028500 @ =0x020314E0
+ ldr r5, _08028500 @ =gUnknown_020314E0
ldr r0, [r5]
movs r3, #0
strb r3, [r0, #0x17]
@@ -44823,7 +44823,7 @@ sub_28404: @ 0x08028404
pop {r0}
bx r0
.align 2, 0
-_08028500: .4byte 0x020314E0
+_08028500: .4byte gUnknown_020314E0
_08028504: .4byte 0x00000296
_08028508: .4byte 0x000005A5
_0802850C: .4byte 0x000005AA
@@ -44846,7 +44846,7 @@ sub_28544: @ 0x08028544
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
- ldr r1, _08028568 @ =0x020314E0
+ ldr r1, _08028568 @ =gUnknown_020314E0
ldr r0, [r1]
ldrb r0, [r0, #0x17]
lsls r0, r0, #0x18
@@ -44862,7 +44862,7 @@ _0802855C:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_08028568: .4byte 0x020314E0
+_08028568: .4byte gUnknown_020314E0
_0802856C: .4byte _08028570
_08028570: @ jump table
.4byte _0802858C @ case 0
@@ -45159,7 +45159,7 @@ _080287D4: .4byte 0x80000240
_080287D8: .4byte 0x0000FA88
_080287DC: .4byte 0x086AE124
_080287E0:
- ldr r4, _08028824 @ =0x020314E0
+ ldr r4, _08028824 @ =gUnknown_020314E0
mov r8, r4
ldr r4, [r4]
ldr r5, _08028828 @ =0x000005A4
@@ -45192,7 +45192,7 @@ _080287E0:
strh r0, [r1]
b _08028974
.align 2, 0
-_08028824: .4byte 0x020314E0
+_08028824: .4byte gUnknown_020314E0
_08028828: .4byte 0x000005A4
_0802882C: .4byte 0x0000028A
_08028830:
@@ -45261,7 +45261,7 @@ _080288A8:
movs r0, #0xa2
lsls r0, r0, #1
bl m4aSongNumStart
- ldr r0, _080288E0 @ =0x020314E0
+ ldr r0, _080288E0 @ =gUnknown_020314E0
ldr r3, [r0]
ldr r2, _080288E4 @ =0x086AE124
adds r4, r3, #0
@@ -45284,7 +45284,7 @@ _080288A8:
strh r1, [r0]
b _08028918
.align 2, 0
-_080288E0: .4byte 0x020314E0
+_080288E0: .4byte gUnknown_020314E0
_080288E4: .4byte 0x086AE124
_080288E8:
adds r0, r5, #0
@@ -45308,7 +45308,7 @@ _080288E8:
bl __divsi3
adds r7, r0, #0
_08028918:
- ldr r5, _08028A10 @ =0x020314E0
+ ldr r5, _08028A10 @ =gUnknown_020314E0
ldr r0, [r5]
mov r8, r0
mov r4, r8
@@ -45351,7 +45351,7 @@ _08028918:
adds r4, #0xc2
strh r1, [r4]
_08028974:
- ldr r0, _08028A10 @ =0x020314E0
+ ldr r0, _08028A10 @ =gUnknown_020314E0
ldr r1, [r0]
ldrh r2, [r1, #0x18]
ldr r3, _08028A14 @ =0x000001F3
@@ -45429,7 +45429,7 @@ _080289E0:
b _08028AD2
.align 2, 0
_08028A0C: .4byte 0x00004E20
-_08028A10: .4byte 0x020314E0
+_08028A10: .4byte gUnknown_020314E0
_08028A14: .4byte 0x000001F3
_08028A18: .4byte 0x000005AA
_08028A1C: .4byte 0x00000296
@@ -45450,7 +45450,7 @@ _08028A3C:
strb r0, [r1, #0x17]
_08028A40:
bl sub_28EA0
- ldr r0, _08028A58 @ =0x020314E0
+ ldr r0, _08028A58 @ =gUnknown_020314E0
ldr r0, [r0]
ldr r2, _08028A5C @ =0x000005AA
adds r1, r0, r2
@@ -45461,13 +45461,13 @@ _08028A40:
strh r0, [r1]
b _08028AD2
.align 2, 0
-_08028A58: .4byte 0x020314E0
+_08028A58: .4byte gUnknown_020314E0
_08028A5C: .4byte 0x000005AA
_08028A60:
bl sub_28EA0
bl sub_292A0
bl sub_27D44
- ldr r2, _08028A84 @ =0x020314E0
+ ldr r2, _08028A84 @ =gUnknown_020314E0
ldr r0, [r2]
adds r0, #0x72
movs r3, #0
@@ -45480,7 +45480,7 @@ _08028A60:
strh r3, [r0, #0x18]
b _08028AD2
.align 2, 0
-_08028A84: .4byte 0x020314E0
+_08028A84: .4byte gUnknown_020314E0
_08028A88:
mov r3, r8
ldr r0, [r3]
@@ -45514,7 +45514,7 @@ _08028AC4:
movs r0, #1
bl sub_19B64
_08028ACA:
- ldr r0, _08028ADC @ =0x020314E0
+ ldr r0, _08028ADC @ =gUnknown_020314E0
ldr r1, [r0]
movs r0, #0
_08028AD0:
@@ -45526,7 +45526,7 @@ _08028AD2:
pop {r0}
bx r0
.align 2, 0
-_08028ADC: .4byte 0x020314E0
+_08028ADC: .4byte gUnknown_020314E0
thumb_func_start sub_28AE0
sub_28AE0: @ 0x08028AE0
@@ -45537,7 +45537,7 @@ sub_28AE0: @ 0x08028AE0
push {r5, r6, r7}
sub sp, #0x18
ldr r2, _08028BD4 @ =0x086A3700
- ldr r0, _08028BD8 @ =0x020314E0
+ ldr r0, _08028BD8 @ =gUnknown_020314E0
ldr r0, [r0]
movs r1, #0xb3
lsls r1, r1, #3
@@ -45654,7 +45654,7 @@ _08028B72:
bx r0
.align 2, 0
_08028BD4: .4byte 0x086A3700
-_08028BD8: .4byte 0x020314E0
+_08028BD8: .4byte gUnknown_020314E0
_08028BDC: .4byte 0x086BB6F4
_08028BE0: .4byte 0x02030760
_08028BE4: .4byte 0x020306D0
@@ -45668,7 +45668,7 @@ _08028BF8: .4byte 0x02030730
sub_28BFC: @ 0x08028BFC
push {r4, r5, r6, lr}
ldr r2, _08028C6C @ =0x086A3700
- ldr r0, _08028C70 @ =0x020314E0
+ ldr r0, _08028C70 @ =gUnknown_020314E0
ldr r0, [r0]
movs r1, #0xb3
lsls r1, r1, #3
@@ -45722,7 +45722,7 @@ sub_28BFC: @ 0x08028BFC
bx r0
.align 2, 0
_08028C6C: .4byte 0x086A3700
-_08028C70: .4byte 0x020314E0
+_08028C70: .4byte gUnknown_020314E0
_08028C74: .4byte gMonHatchSpriteGroupGfx
_08028C78: .4byte gMonHatchSpriteGroupPals
_08028C7C: .4byte 0x040000D4
@@ -45753,7 +45753,7 @@ sub_28C90: @ 0x08028C90
bne _08028CBA
b _08028E02
_08028CBA:
- ldr r3, _08028D34 @ =0x020314E0
+ ldr r3, _08028D34 @ =gUnknown_020314E0
ldr r4, [r3]
adds r1, r4, #0
adds r1, #0xc4
@@ -45816,7 +45816,7 @@ _08028D22:
b _08028D78
.align 2, 0
_08028D30: .4byte gMain
-_08028D34: .4byte 0x020314E0
+_08028D34: .4byte gUnknown_020314E0
_08028D38: .4byte 0x000005A9
_08028D3C: .4byte 0x040000D4
_08028D40: .4byte 0x02031060
@@ -46014,7 +46014,7 @@ sub_28EA0: @ 0x08028EA0
adds r0, #0x84
ldr r7, [r0]
ldrh r0, [r7]
- ldr r1, _08028F68 @ =0x020314E0
+ ldr r1, _08028F68 @ =gUnknown_020314E0
mov sl, r1
cmp r0, #0
bne _08028ED4
@@ -46090,7 +46090,7 @@ _08028F52:
b _08028FFC
.align 2, 0
_08028F64: .4byte gMain
-_08028F68: .4byte 0x020314E0
+_08028F68: .4byte gUnknown_020314E0
_08028F6C: .4byte 0x040000D4
_08028F70: .4byte 0x0844AA0C
_08028F74:
@@ -46280,7 +46280,7 @@ _080290C6:
mov r8, r0
cmp r1, #0
beq _080291D2
- ldr r0, _0802913C @ =0x020314E0
+ ldr r0, _0802913C @ =gUnknown_020314E0
ldr r2, [r0]
adds r3, r2, r4
adds r0, r3, #0
@@ -46324,7 +46324,7 @@ _0802912C: .4byte gOamBuffer
_08029130: .4byte 0xFFFFFE00
_08029134: .4byte 0x000001FF
_08029138: .4byte gMain
-_0802913C: .4byte 0x020314E0
+_0802913C: .4byte gUnknown_020314E0
_08029140: .4byte 0x086AE154
_08029144:
movs r2, #0x3c
@@ -46401,7 +46401,7 @@ _08029164:
cmp r3, #2
ble _08029164
_080291D2:
- ldr r6, _08029294 @ =0x020314E0
+ ldr r6, _08029294 @ =gUnknown_020314E0
ldr r4, [r6]
ldr r1, _08029298 @ =0x000005A4
adds r0, r4, r1
@@ -46445,7 +46445,7 @@ _080291D2:
movs r0, #1
strh r0, [r1]
_08029228:
- ldr r1, _08029294 @ =0x020314E0
+ ldr r1, _08029294 @ =gUnknown_020314E0
ldr r0, [r1]
mov r2, r8
asrs r1, r2, #0xf
@@ -46455,7 +46455,7 @@ _08029228:
cmp r0, #0
beq _08029264
_0802923A:
- ldr r6, _08029294 @ =0x020314E0
+ ldr r6, _08029294 @ =gUnknown_020314E0
ldr r0, [r6]
mov r1, r8
asrs r3, r1, #0x10
@@ -46499,7 +46499,7 @@ _08029284: .4byte 0x086B263C
_08029288: .4byte 0xFFFFFE00
_0802928C: .4byte gOamBuffer
_08029290: .4byte 0x000001FF
-_08029294: .4byte 0x020314E0
+_08029294: .4byte gUnknown_020314E0
_08029298: .4byte 0x000005A4
_0802929C: .4byte gMain
@@ -46583,7 +46583,7 @@ _08029330: .4byte 0xFFFFFE00
thumb_func_start sub_29334
sub_29334: @ 0x08029334
push {r4, r5, lr}
- ldr r0, _08029384 @ =0x020314E0
+ ldr r0, _08029384 @ =gUnknown_020314E0
ldr r2, [r0]
adds r1, r2, #0
adds r1, #0x68
@@ -46622,7 +46622,7 @@ sub_29334: @ 0x08029334
str r0, [r1, #0x3c]
b _08029398
.align 2, 0
-_08029384: .4byte 0x020314E0
+_08029384: .4byte gUnknown_020314E0
_08029388: .4byte 0x000006C5
_0802938C: .4byte 0x00000625
_08029390: .4byte 0x000493E0
@@ -46670,7 +46670,7 @@ sub_293D8: @ 0x080293D8
push {r5, r6, r7}
sub sp, #4
ldr r1, _0802940C @ =0x086AD436
- ldr r3, _08029410 @ =0x020314E0
+ ldr r3, _08029410 @ =gUnknown_020314E0
ldr r2, [r3]
ldr r0, _08029414 @ =0x000006CC
adds r4, r2, r0
@@ -46691,7 +46691,7 @@ sub_293D8: @ 0x080293D8
b _08029426
.align 2, 0
_0802940C: .4byte 0x086AD436
-_08029410: .4byte 0x020314E0
+_08029410: .4byte gUnknown_020314E0
_08029414: .4byte 0x000006CC
_08029418: .4byte 0x000006CA
_0802941C:
@@ -46701,7 +46701,7 @@ _0802941C:
adds r0, #1
strb r0, [r4]
_08029426:
- ldr r2, _080295E4 @ =0x020314E0
+ ldr r2, _080295E4 @ =gUnknown_020314E0
ldr r1, [r2]
ldr r4, _080295E8 @ =0x000006CC
adds r0, r1, r4
@@ -46726,7 +46726,7 @@ _08029426:
movs r0, #1
strh r0, [r1]
_08029456:
- ldr r4, _080295E4 @ =0x020314E0
+ ldr r4, _080295E4 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r5, _080295E8 @ =0x000006CC
adds r0, r0, r5
@@ -46760,7 +46760,7 @@ _0802948A:
bne _08029498
b _080295A0
_08029498:
- ldr r0, _080295E4 @ =0x020314E0
+ ldr r0, _080295E4 @ =gUnknown_020314E0
ldr r1, [r0]
adds r0, r1, #0
adds r0, #0x58
@@ -46787,7 +46787,7 @@ _080294C2:
mov sl, r4
ldr r1, _08029614 @ =0x086AD436
mov sb, r1
- ldr r2, _080295E4 @ =0x020314E0
+ ldr r2, _080295E4 @ =gUnknown_020314E0
mov r8, r2
mov ip, r5
_080294D2:
@@ -46900,7 +46900,7 @@ _080295A0:
ldr r1, [r0, #0x48]
movs r0, #1
strh r0, [r1]
- ldr r0, _080295E4 @ =0x020314E0
+ ldr r0, _080295E4 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r2, _080295E8 @ =0x000006CC
adds r0, r1, r2
@@ -46916,7 +46916,7 @@ _080295A0:
ldr r1, [r0, #0x48]
movs r0, #0
strh r0, [r1]
- ldr r4, _080295E4 @ =0x020314E0
+ ldr r4, _080295E4 @ =gUnknown_020314E0
ldr r0, [r4]
adds r0, #0xe4
movs r1, #0
@@ -46931,7 +46931,7 @@ _080295D4:
pop {r0}
bx r0
.align 2, 0
-_080295E4: .4byte 0x020314E0
+_080295E4: .4byte gUnknown_020314E0
_080295E8: .4byte 0x000006CC
_080295EC: .4byte 0x000006CA
_080295F0: .4byte gMain
@@ -46951,7 +46951,7 @@ _08029620: .4byte 0xFFFFFE00
thumb_func_start sub_29624
sub_29624: @ 0x08029624
push {r4, r5, lr}
- ldr r0, _08029658 @ =0x020314E0
+ ldr r0, _08029658 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r2, _0802965C @ =0x000006CC
adds r1, r1, r2
@@ -46977,7 +46977,7 @@ _08029638:
pop {r0}
bx r0
.align 2, 0
-_08029658: .4byte 0x020314E0
+_08029658: .4byte gUnknown_020314E0
_0802965C: .4byte 0x000006CC
_08029660: .4byte 0x000006D3
@@ -46987,7 +46987,7 @@ sub_29664: @ 0x08029664
mov r7, r8
push {r7}
movs r0, #0
- ldr r7, _08029700 @ =0x020314E0
+ ldr r7, _08029700 @ =gUnknown_020314E0
mov r8, r0
_08029670:
ldr r1, [r7]
@@ -47040,7 +47040,7 @@ _08029670:
asrs r5, r5, #0x10
cmp r5, #5
ble _08029670
- ldr r0, _08029700 @ =0x020314E0
+ ldr r0, _08029700 @ =gUnknown_020314E0
ldr r0, [r0]
ldr r2, _08029714 @ =0x00000606
adds r0, r0, r2
@@ -47057,7 +47057,7 @@ _08029670:
pop {r0}
bx r0
.align 2, 0
-_08029700: .4byte 0x020314E0
+_08029700: .4byte gUnknown_020314E0
_08029704: .4byte 0x000005C2
_08029708: .4byte 0x00000226
_0802970C: .4byte 0x000005DA
@@ -47084,7 +47084,7 @@ sub_2971C: @ 0x0802971C
_08029738:
movs r3, #0
_0802973A:
- ldr r0, _080298BC @ =0x020314E0
+ ldr r0, _080298BC @ =gUnknown_020314E0
ldr r2, [r0]
ldr r1, _080298C0 @ =0x00000606
adds r0, r2, r1
@@ -47135,7 +47135,7 @@ _0802973A:
adds r0, r0, r6
strh r0, [r2]
_0802979E:
- ldr r0, _080298BC @ =0x020314E0
+ ldr r0, _080298BC @ =gUnknown_020314E0
ldr r6, [r0]
movs r1, #0xd9
lsls r1, r1, #3
@@ -47263,7 +47263,7 @@ _08029824:
bgt _080298A2
b _0802973A
_080298A2:
- ldr r3, _080298BC @ =0x020314E0
+ ldr r3, _080298BC @ =gUnknown_020314E0
ldr r1, [r3]
ldr r5, _080298C0 @ =0x00000606
adds r2, r1, r5
@@ -47275,7 +47275,7 @@ _080298A2:
b _0802990C
.align 2, 0
_080298B8: .4byte gMain
-_080298BC: .4byte 0x020314E0
+_080298BC: .4byte gUnknown_020314E0
_080298C0: .4byte 0x00000606
_080298C4: .4byte 0x086AE1A4
_080298C8: .4byte 0x000005DA
@@ -47322,7 +47322,7 @@ sub_29924: @ 0x08029924
mov r5, r8
push {r5, r6, r7}
movs r0, #0
- ldr r7, _08029A34 @ =0x020314E0
+ ldr r7, _08029A34 @ =gUnknown_020314E0
movs r1, #0x64
mov sb, r1
ldr r2, _08029A38 @ =0x086AE2F4
@@ -47401,7 +47401,7 @@ _0802993A:
asrs r5, r5, #0x10
cmp r5, #5
ble _0802993A
- ldr r3, _08029A34 @ =0x020314E0
+ ldr r3, _08029A34 @ =gUnknown_020314E0
ldr r1, [r3]
movs r0, #0xb8
lsls r0, r0, #3
@@ -47447,7 +47447,7 @@ _0802993A:
pop {r0}
bx r0
.align 2, 0
-_08029A34: .4byte 0x020314E0
+_08029A34: .4byte gUnknown_020314E0
_08029A38: .4byte 0x086AE2F4
_08029A3C: .4byte 0x000005C2
_08029A40: .4byte 0x086AE2F6
@@ -47485,7 +47485,7 @@ _08029A88:
ldr r1, _08029D34 @ =0x086B4E3E
mov sl, r1
_08029A92:
- ldr r2, _08029D38 @ =0x020314E0
+ ldr r2, _08029D38 @ =gUnknown_020314E0
ldr r6, [r2]
ldr r0, _08029D3C @ =0x00000606
adds r4, r6, r0
@@ -47538,7 +47538,7 @@ _08029A92:
adds r0, r0, r4
strh r0, [r1]
_08029AFC:
- ldr r0, _08029D38 @ =0x020314E0
+ ldr r0, _08029D38 @ =gUnknown_020314E0
ldr r1, [r0]
adds r1, r1, r2
movs r4, #0xb8
@@ -47558,7 +47558,7 @@ _08029AFC:
adds r0, r0, r1
strh r0, [r2]
_08029B22:
- ldr r2, _08029D38 @ =0x020314E0
+ ldr r2, _08029D38 @ =gUnknown_020314E0
ldr r5, [r2]
mov r4, ip
asrs r6, r4, #0x10
@@ -47710,7 +47710,7 @@ _08029B82:
bgt _08029C52
b _08029A92
_08029C52:
- ldr r4, _08029D38 @ =0x020314E0
+ ldr r4, _08029D38 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r6, _08029D3C @ =0x00000606
adds r0, r0, r6
@@ -47807,7 +47807,7 @@ _08029D0E:
adds r0, r1, #0
movs r2, #5
bl SetMatrixScale
- ldr r0, _08029D38 @ =0x020314E0
+ ldr r0, _08029D38 @ =gUnknown_020314E0
ldr r1, [r0]
adds r2, r1, r6
ldrh r0, [r2]
@@ -47820,7 +47820,7 @@ _08029D0E:
_08029D2C: .4byte gMain
_08029D30: .4byte gOamBuffer
_08029D34: .4byte 0x086B4E3E
-_08029D38: .4byte 0x020314E0
+_08029D38: .4byte gUnknown_020314E0
_08029D3C: .4byte 0x00000606
_08029D40: .4byte 0x086AE234
_08029D44: .4byte 0x000005DA
@@ -47884,7 +47884,7 @@ sub_29D9C: @ 0x08029D9C
movs r0, #0x80
lsls r0, r0, #5
strh r0, [r3, #0x3a]
- ldr r4, _08029E68 @ =0x020314E0
+ ldr r4, _08029E68 @ =gUnknown_020314E0
ldr r0, [r4]
movs r1, #0xdd
lsls r1, r1, #3
@@ -47964,7 +47964,7 @@ _08029E56:
.align 2, 0
_08029E60: .4byte gMain
_08029E64: .4byte 0x00001C10
-_08029E68: .4byte 0x020314E0
+_08029E68: .4byte gUnknown_020314E0
_08029E6C: .4byte 0x000006F2
_08029E70: .4byte 0x000006F4
_08029E74: .4byte 0x000006E9
@@ -48212,7 +48212,7 @@ sub_2A054: @ 0x0802A054
ldr r0, _0802A128 @ =gMain
ldrb r3, [r0, #4]
mov r8, r0
- ldr r0, _0802A12C @ =0x020314E0
+ ldr r0, _0802A12C @ =gUnknown_020314E0
mov sb, r0
cmp r3, #1
bne _0802A0E4
@@ -48318,7 +48318,7 @@ _0802A0F8:
b _0802A1CA
.align 2, 0
_0802A128: .4byte gMain
-_0802A12C: .4byte 0x020314E0
+_0802A12C: .4byte gUnknown_020314E0
_0802A130: .4byte 0x000006ED
_0802A134: .4byte 0x000006F2
_0802A138: .4byte 0x000006C4
@@ -48384,7 +48384,7 @@ _0802A182:
adds r0, r4, r5
strb r1, [r0]
_0802A1BA:
- ldr r0, _0802A1FC @ =0x020314E0
+ ldr r0, _0802A1FC @ =gUnknown_020314E0
ldr r0, [r0]
ldr r2, _0802A200 @ =0x000006F4
adds r1, r0, r2
@@ -48393,7 +48393,7 @@ _0802A1BA:
adds r0, r0, r3
strh r1, [r0]
_0802A1CA:
- ldr r0, _0802A1FC @ =0x020314E0
+ ldr r0, _0802A1FC @ =gUnknown_020314E0
ldr r5, [r0]
movs r0, #0xde
lsls r0, r0, #3
@@ -48415,12 +48415,12 @@ _0802A1CA:
b _0802A27C
.align 2, 0
_0802A1F8: .4byte gMain
-_0802A1FC: .4byte 0x020314E0
+_0802A1FC: .4byte gUnknown_020314E0
_0802A200: .4byte 0x000006F4
_0802A204: .4byte 0x000006F6
_0802A208: .4byte 0x000006F2
_0802A20C:
- ldr r7, _0802A2DC @ =0x020314E0
+ ldr r7, _0802A2DC @ =gUnknown_020314E0
ldr r6, [r7]
movs r3, #0xde
lsls r3, r3, #3
@@ -48474,7 +48474,7 @@ _0802A20C:
adds r0, r0, r2
strh r4, [r0]
_0802A27C:
- ldr r5, _0802A2DC @ =0x020314E0
+ ldr r5, _0802A2DC @ =gUnknown_020314E0
ldr r2, [r5]
movs r3, #0xde
lsls r3, r3, #3
@@ -48498,7 +48498,7 @@ _0802A27C:
adds r0, r0, r2
strb r1, [r0]
_0802A2AC:
- ldr r0, _0802A2DC @ =0x020314E0
+ ldr r0, _0802A2DC @ =gUnknown_020314E0
ldr r3, [r0]
movs r5, #0xde
lsls r5, r5, #3
@@ -48522,7 +48522,7 @@ _0802A2AC:
adds r0, r3, #1
b _0802A30A
.align 2, 0
-_0802A2DC: .4byte 0x020314E0
+_0802A2DC: .4byte gUnknown_020314E0
_0802A2E0: .4byte 0x000006F2
_0802A2E4: .4byte 0x000006C4
_0802A2E8: .4byte 0x02032EE0
@@ -48573,7 +48573,7 @@ _0802A350: .4byte 0x0869F45C
thumb_func_start sub_2A354
sub_2A354: @ 0x0802A354
push {r4, r5, r6, r7, lr}
- ldr r4, _0802A3C4 @ =0x020314E0
+ ldr r4, _0802A3C4 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r5, _0802A3C8 @ =0x000006DE
adds r0, r0, r5
@@ -48598,7 +48598,7 @@ _0802A36E:
movs r0, #0xb2
bl m4aSongNumStart
_0802A388:
- ldr r0, _0802A3C4 @ =0x020314E0
+ ldr r0, _0802A3C4 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r3, _0802A3C8 @ =0x000006DE
adds r1, r1, r3
@@ -48613,7 +48613,7 @@ _0802A388:
movs r1, #0
bl sub_1C7F4
_0802A3A6:
- ldr r1, _0802A3C4 @ =0x020314E0
+ ldr r1, _0802A3C4 @ =gUnknown_020314E0
ldr r0, [r1]
ldr r4, _0802A3CC @ =0x000006DC
adds r0, r0, r4
@@ -48629,7 +48629,7 @@ _0802A3B8:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0802A3C4: .4byte 0x020314E0
+_0802A3C4: .4byte gUnknown_020314E0
_0802A3C8: .4byte 0x000006DE
_0802A3CC: .4byte 0x000006DC
_0802A3D0: .4byte _0802A3D4
@@ -49493,7 +49493,7 @@ sub_2AADC: @ 0x0802AADC
mov r5, r8
push {r5, r6, r7}
sub sp, #4
- ldr r0, _0802AB5C @ =0x020314E0
+ ldr r0, _0802AB5C @ =gUnknown_020314E0
ldr r3, [r0]
ldrb r5, [r3, #0x1e]
cmp r5, #0
@@ -49534,7 +49534,7 @@ _0802AAF6:
adds r0, r1, #1
strb r0, [r2]
_0802AB38:
- ldr r4, _0802AB5C @ =0x020314E0
+ ldr r4, _0802AB5C @ =gUnknown_020314E0
ldr r0, [r4]
movs r1, #0xb5
lsls r1, r1, #3
@@ -49552,7 +49552,7 @@ _0802AB50:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0802AB5C: .4byte 0x020314E0
+_0802AB5C: .4byte gUnknown_020314E0
_0802AB60: .4byte 0x000005A6
_0802AB64: .4byte 0x086ACF38
_0802AB68: .4byte _0802AB6C
@@ -49600,7 +49600,7 @@ _0802ABF8:
ldrb r0, [r0, #4]
cmp r0, #1
bhi _0802AC20
- ldr r2, _0802ACE0 @ =0x020314E0
+ ldr r2, _0802ACE0 @ =gUnknown_020314E0
ldr r0, [r2]
movs r3, #0x13
ldrsb r3, [r0, r3]
@@ -49615,7 +49615,7 @@ _0802AC16:
movs r0, #1
strb r0, [r1]
_0802AC20:
- ldr r7, _0802ACE0 @ =0x020314E0
+ ldr r7, _0802ACE0 @ =gUnknown_020314E0
ldr r0, [r7]
movs r4, #1
mov r8, r4
@@ -49706,7 +49706,7 @@ _0802ACCA:
bl _0802C4D2
.align 2, 0
_0802ACDC: .4byte gMain
-_0802ACE0: .4byte 0x020314E0
+_0802ACE0: .4byte gUnknown_020314E0
_0802ACE4: .4byte 0x0000132C
_0802ACE8: .4byte 0x040000D4
_0802ACEC: .4byte 0x081428D4
@@ -49721,7 +49721,7 @@ _0802AD0C: .4byte 0x000005F7
_0802AD10: .4byte 0x000005A6
_0802AD14: .4byte 0x02032EE0
_0802AD18:
- ldr r4, _0802AD94 @ =0x020314E0
+ ldr r4, _0802AD94 @ =gUnknown_020314E0
ldr r1, [r4]
movs r0, #0x13
ldrsb r0, [r1, r0]
@@ -49782,7 +49782,7 @@ _0802AD86:
bl MPlayStart
bl _0802C4D2
.align 2, 0
-_0802AD94: .4byte 0x020314E0
+_0802AD94: .4byte gUnknown_020314E0
_0802AD98: .4byte 0x0000071D
_0802AD9C: .4byte 0x0000071E
_0802ADA0: .4byte 0x0000071F
@@ -49792,7 +49792,7 @@ _0802ADAC: .4byte 0x02032F20
_0802ADB0: .4byte 0x0869FCE4
_0802ADB4:
ldr r2, _0802AE14 @ =0x040000D4
- ldr r3, _0802AE18 @ =0x020314E0
+ ldr r3, _0802AE18 @ =gUnknown_020314E0
ldr r0, [r3]
ldr r4, _0802AE1C @ =0x000005F6
adds r0, r0, r4
@@ -49821,7 +49821,7 @@ _0802ADB4:
bhi _0802ADF0
bl _0802C4D2
_0802ADF0:
- ldr r1, _0802AE34 @ =0x02031520
+ ldr r1, _0802AE34 @ =gUnknown_02031520
ldr r3, [r1, #0x30]
str r3, [r2]
ldr r0, _0802AE38 @ =0x05000200
@@ -49841,14 +49841,14 @@ _0802ADF0:
b _0802AE50
.align 2, 0
_0802AE14: .4byte 0x040000D4
-_0802AE18: .4byte 0x020314E0
+_0802AE18: .4byte gUnknown_020314E0
_0802AE1C: .4byte 0x000005F6
_0802AE20: .4byte 0x08137E14
_0802AE24: .4byte 0x05000220
_0802AE28: .4byte 0x80000010
_0802AE2C: .4byte gMain
_0802AE30: .4byte 0x000005A6
-_0802AE34: .4byte 0x02031520
+_0802AE34: .4byte gUnknown_02031520
_0802AE38: .4byte 0x05000200
_0802AE3C: .4byte 0x05000240
_0802AE40: .4byte 0x80000060
@@ -49873,7 +49873,7 @@ _0802AE50:
ldr r0, _0802AE90 @ =0x80000030
str r0, [r1, #8]
ldr r0, [r1, #8]
- ldr r2, _0802AE94 @ =0x020314E0
+ ldr r2, _0802AE94 @ =gUnknown_020314E0
ldr r0, [r2]
adds r0, #0x6f
movs r1, #1
@@ -49888,13 +49888,13 @@ _0802AE84: .4byte 0x80000070
_0802AE88: .4byte 0x040000D4
_0802AE8C: .4byte 0x05000340
_0802AE90: .4byte 0x80000030
-_0802AE94: .4byte 0x020314E0
+_0802AE94: .4byte gUnknown_020314E0
_0802AE98:
ldr r4, _0802AED8 @ =gMain
ldrh r0, [r4, #0x3c]
movs r0, #7
strh r0, [r4, #0x3c]
- ldr r3, _0802AEDC @ =0x020314E0
+ ldr r3, _0802AEDC @ =gUnknown_020314E0
ldr r0, [r3]
ldr r7, _0802AEE0 @ =0x000005A6
adds r0, r0, r7
@@ -49902,7 +49902,7 @@ _0802AE98:
cmp r0, #1
bls _0802AF34
ldr r2, _0802AEE4 @ =0x040000D4
- ldr r1, _0802AEE8 @ =0x02031520
+ ldr r1, _0802AEE8 @ =gUnknown_02031520
ldr r3, [r1, #0x34]
str r3, [r2]
ldr r0, _0802AEEC @ =0x05000200
@@ -49923,10 +49923,10 @@ _0802AE98:
b _0802AF08
.align 2, 0
_0802AED8: .4byte gMain
-_0802AEDC: .4byte 0x020314E0
+_0802AEDC: .4byte gUnknown_020314E0
_0802AEE0: .4byte 0x000005A6
_0802AEE4: .4byte 0x040000D4
-_0802AEE8: .4byte 0x02031520
+_0802AEE8: .4byte gUnknown_02031520
_0802AEEC: .4byte 0x05000200
_0802AEF0: .4byte 0x80000010
_0802AEF4: .4byte 0x05000240
@@ -49952,7 +49952,7 @@ _0802AF08:
ldr r0, _0802AF58 @ =0x80000030
str r0, [r1, #8]
ldr r0, [r1, #8]
- ldr r2, _0802AF5C @ =0x020314E0
+ ldr r2, _0802AF5C @ =gUnknown_020314E0
ldr r0, [r2]
adds r0, #0x6f
movs r1, #2
@@ -49977,12 +49977,12 @@ _0802AF4C: .4byte 0x80000070
_0802AF50: .4byte 0x040000D4
_0802AF54: .4byte 0x05000340
_0802AF58: .4byte 0x80000030
-_0802AF5C: .4byte 0x020314E0
+_0802AF5C: .4byte gUnknown_020314E0
_0802AF60: .4byte 0x08137F14
_0802AF64: .4byte 0x05000220
_0802AF68: .4byte 0x80000010
_0802AF6C:
- ldr r3, _0802AFDC @ =0x020314E0
+ ldr r3, _0802AFDC @ =gUnknown_020314E0
ldr r4, [r3]
movs r7, #0xb5
lsls r7, r7, #3
@@ -50043,7 +50043,7 @@ _0802AFC2:
strh r0, [r1, #0x3c]
b _0802B026
.align 2, 0
-_0802AFDC: .4byte 0x020314E0
+_0802AFDC: .4byte gUnknown_020314E0
_0802AFE0: .4byte gMain
_0802AFE4: .4byte 0x040000D4
_0802AFE8: .4byte 0x02030710
@@ -50082,7 +50082,7 @@ _0802B026:
bne _0802B034
b _0802B1AC
_0802B034:
- ldr r4, _0802B104 @ =0x020314E0
+ ldr r4, _0802B104 @ =gUnknown_020314E0
ldr r2, [r4]
ldr r7, _0802B108 @ =0x0000132C
adds r1, r2, r7
@@ -50182,7 +50182,7 @@ _0802B0F4: .4byte 0x08137E14
_0802B0F8: .4byte 0x05000220
_0802B0FC: .4byte 0x80000010
_0802B100: .4byte gMain
-_0802B104: .4byte 0x020314E0
+_0802B104: .4byte gUnknown_020314E0
_0802B108: .4byte 0x0000132C
_0802B10C: .4byte gOamBuffer
_0802B110: .4byte 0x081B0FE4
@@ -50268,7 +50268,7 @@ _0802B1AC:
ldr r1, [r0, #0xc]
movs r0, #1
strh r0, [r1]
- ldr r0, _0802B1F8 @ =0x020314E0
+ ldr r0, _0802B1F8 @ =gUnknown_020314E0
ldr r1, [r0]
movs r4, #0xb5
lsls r4, r4, #3
@@ -50297,11 +50297,11 @@ _0802B1E8: .4byte gOamBuffer
_0802B1EC: .4byte 0x081B0FE4
_0802B1F0: .4byte 0xFFFFFE00
_0802B1F4: .4byte 0x000001FF
-_0802B1F8: .4byte 0x020314E0
+_0802B1F8: .4byte gUnknown_020314E0
_0802B1FC: .4byte 0x000005A6
_0802B200:
ldr r2, _0802B29C @ =0x040000D4
- ldr r6, _0802B2A0 @ =0x020314E0
+ ldr r6, _0802B2A0 @ =gUnknown_020314E0
ldr r3, [r6]
ldr r1, _0802B2A4 @ =0x000005F6
adds r0, r3, r1
@@ -50378,7 +50378,7 @@ _0802B200:
b _0802B2F4
.align 2, 0
_0802B29C: .4byte 0x040000D4
-_0802B2A0: .4byte 0x020314E0
+_0802B2A0: .4byte gUnknown_020314E0
_0802B2A4: .4byte 0x000005F6
_0802B2A8: .4byte 0x08137E14
_0802B2AC: .4byte 0x05000220
@@ -50415,7 +50415,7 @@ _0802B2E4:
ldr r0, [r1, #8]
_0802B2F4:
movs r5, #0
- ldr r7, _0802B334 @ =0x020314E0
+ ldr r7, _0802B334 @ =gUnknown_020314E0
ldr r6, _0802B338 @ =0x0000132C
_0802B2FA:
ldr r4, [r7]
@@ -50443,10 +50443,10 @@ _0802B324: .4byte 0x040000D4
_0802B328: .4byte 0x020306D0
_0802B32C: .4byte 0x050003A0
_0802B330: .4byte 0x80000010
-_0802B334: .4byte 0x020314E0
+_0802B334: .4byte gUnknown_020314E0
_0802B338: .4byte 0x0000132C
_0802B33C:
- ldr r4, _0802B410 @ =0x020314E0
+ ldr r4, _0802B410 @ =gUnknown_020314E0
mov sl, r4
ldr r5, [r4]
ldr r7, _0802B414 @ =0x000005A6
@@ -50546,7 +50546,7 @@ _0802B388:
str r4, [r5, #0x38]
bl _0802C4D2
.align 2, 0
-_0802B410: .4byte 0x020314E0
+_0802B410: .4byte gUnknown_020314E0
_0802B414: .4byte 0x000005A6
_0802B418: .4byte 0xFFFFE000
_0802B41C: .4byte 0x0000132C
@@ -50554,7 +50554,7 @@ _0802B420: .4byte 0x000005AC
_0802B424: .4byte 0x00004E20
_0802B428: .4byte 0x0000028A
_0802B42C:
- ldr r5, _0802B454 @ =0x020314E0
+ ldr r5, _0802B454 @ =gUnknown_020314E0
ldr r1, [r5]
ldr r4, _0802B458 @ =0x0000132C
adds r0, r1, r4
@@ -50574,12 +50574,12 @@ _0802B42C:
strh r0, [r1, #0xa]
bl _0802C4D2
.align 2, 0
-_0802B454: .4byte 0x020314E0
+_0802B454: .4byte gUnknown_020314E0
_0802B458: .4byte 0x0000132C
_0802B45C: .4byte 0xFFFFE000
_0802B460:
ldr r2, _0802B498 @ =0x040000D4
- ldr r0, _0802B49C @ =0x020314E0
+ ldr r0, _0802B49C @ =gUnknown_020314E0
ldr r3, [r0]
ldr r1, _0802B4A0 @ =0x000005F6
adds r0, r3, r1
@@ -50606,7 +50606,7 @@ _0802B460:
bl _0802C4D2
.align 2, 0
_0802B498: .4byte 0x040000D4
-_0802B49C: .4byte 0x020314E0
+_0802B49C: .4byte gUnknown_020314E0
_0802B4A0: .4byte 0x000005F6
_0802B4A4: .4byte 0x08137E14
_0802B4A8: .4byte 0x05000220
@@ -50615,7 +50615,7 @@ _0802B4B0: .4byte 0x0000132C
_0802B4B4: .4byte 0xFFFFE000
_0802B4B8:
ldr r2, _0802B4F0 @ =0x040000D4
- ldr r0, _0802B4F4 @ =0x020314E0
+ ldr r0, _0802B4F4 @ =gUnknown_020314E0
ldr r3, [r0]
ldr r7, _0802B4F8 @ =0x000005F6
adds r0, r3, r7
@@ -50643,7 +50643,7 @@ _0802B4B8:
bl _0802C4D2
.align 2, 0
_0802B4F0: .4byte 0x040000D4
-_0802B4F4: .4byte 0x020314E0
+_0802B4F4: .4byte gUnknown_020314E0
_0802B4F8: .4byte 0x000005F6
_0802B4FC: .4byte 0x08137E14
_0802B500: .4byte 0x05000220
@@ -50651,7 +50651,7 @@ _0802B504: .4byte 0x80000010
_0802B508: .4byte 0x0000132C
_0802B50C: .4byte 0xFFFFE000
_0802B510:
- ldr r4, _0802B554 @ =0x020314E0
+ ldr r4, _0802B554 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r7, _0802B558 @ =0x000005A6
adds r0, r0, r7
@@ -50685,7 +50685,7 @@ _0802B524:
strh r0, [r1, #0xa]
bl _0802C4D2
.align 2, 0
-_0802B554: .4byte 0x020314E0
+_0802B554: .4byte gUnknown_020314E0
_0802B558: .4byte 0x000005A6
_0802B55C: .4byte 0x040000D4
_0802B560: .4byte 0x000005F6
@@ -50703,7 +50703,7 @@ _0802B574:
bne _0802B584
b _0802B714
_0802B584:
- ldr r3, _0802B668 @ =0x020314E0
+ ldr r3, _0802B668 @ =gUnknown_020314E0
ldr r0, [r3]
ldr r1, _0802B66C @ =0x0000132C
adds r0, r0, r1
@@ -50818,7 +50818,7 @@ _0802B5DE:
b _0802B714
.align 2, 0
_0802B664: .4byte gMain
-_0802B668: .4byte 0x020314E0
+_0802B668: .4byte gUnknown_020314E0
_0802B66C: .4byte 0x0000132C
_0802B670: .4byte 0x086ACFF4
_0802B674: .4byte gOamBuffer
@@ -50905,7 +50905,7 @@ _0802B714:
ldr r1, [r0, #0xc]
movs r0, #1
strh r0, [r1]
- ldr r4, _0802B76C @ =0x020314E0
+ ldr r4, _0802B76C @ =gUnknown_020314E0
ldr r1, [r4]
movs r7, #0xb5
lsls r7, r7, #3
@@ -50920,7 +50920,7 @@ _0802B714:
cmp r0, #0x15
bne _0802B7AC
_0802B73A:
- ldr r1, _0802B76C @ =0x020314E0
+ ldr r1, _0802B76C @ =gUnknown_020314E0
ldr r0, [r1]
ldr r2, _0802B770 @ =0x000005A9
adds r0, r0, r2
@@ -50930,7 +50930,7 @@ _0802B73A:
ldrb r0, [r3, #4]
cmp r0, #3
bls _0802B778
- ldr r4, _0802B76C @ =0x020314E0
+ ldr r4, _0802B76C @ =gUnknown_020314E0
ldr r0, [r4]
ldr r7, _0802B774 @ =0x00000389
adds r0, r0, r7
@@ -50942,11 +50942,11 @@ _0802B75C: .4byte gOamBuffer
_0802B760: .4byte 0x081B0FE4
_0802B764: .4byte 0xFFFFFE00
_0802B768: .4byte 0x000001FF
-_0802B76C: .4byte 0x020314E0
+_0802B76C: .4byte gUnknown_020314E0
_0802B770: .4byte 0x000005A9
_0802B774: .4byte 0x00000389
_0802B778:
- ldr r0, _0802B7A0 @ =0x020314E0
+ ldr r0, _0802B7A0 @ =gUnknown_020314E0
ldr r1, [r0]
movs r2, #0x13
ldrsb r2, [r1, r2]
@@ -50968,7 +50968,7 @@ _0802B798:
ldr r0, _0802B7A8 @ =0x020306F0
b _0802B7EC
.align 2, 0
-_0802B7A0: .4byte 0x020314E0
+_0802B7A0: .4byte gUnknown_020314E0
_0802B7A4: .4byte 0x040000D4
_0802B7A8: .4byte 0x020306F0
_0802B7AC:
@@ -51015,7 +51015,7 @@ _0802B7EC:
str r0, [r1, #8]
ldr r0, [r1, #8]
_0802B7F8:
- ldr r4, _0802B830 @ =0x020314E0
+ ldr r4, _0802B830 @ =gUnknown_020314E0
ldr r1, [r4]
movs r7, #0xb5
lsls r7, r7, #3
@@ -51039,7 +51039,7 @@ _0802B820: .4byte 0x040000D4
_0802B824: .4byte 0x02030730
_0802B828: .4byte 0x050003A0
_0802B82C: .4byte 0x80000010
-_0802B830: .4byte 0x020314E0
+_0802B830: .4byte gUnknown_020314E0
_0802B834: .4byte 0x00000389
_0802B838:
movs r0, #0x13
@@ -51058,7 +51058,7 @@ _0802B838:
strb r1, [r0]
bl m4aMPlayAllStop
_0802B85A:
- ldr r4, _0802B8C8 @ =0x020314E0
+ ldr r4, _0802B8C8 @ =gUnknown_020314E0
ldr r1, [r4]
movs r0, #0x13
ldrsb r0, [r1, r0]
@@ -51076,7 +51076,7 @@ _0802B85A:
strb r1, [r0]
bl m4aMPlayAllStop
_0802B880:
- ldr r5, _0802B8C8 @ =0x020314E0
+ ldr r5, _0802B8C8 @ =gUnknown_020314E0
ldr r1, [r5]
movs r2, #0xb5
lsls r2, r2, #3
@@ -51109,7 +51109,7 @@ _0802B8BA:
bl _0802C4D2
.align 2, 0
_0802B8C4: .4byte 0x000005F2
-_0802B8C8: .4byte 0x020314E0
+_0802B8C8: .4byte gUnknown_020314E0
_0802B8CC: .4byte 0x000005A6
_0802B8D0:
ldr r0, _0802B9B8 @ =gMain
@@ -51120,7 +51120,7 @@ _0802B8D0:
bne _0802B8E0
bl _0802C4D2
_0802B8E0:
- ldr r3, _0802B9BC @ =0x020314E0
+ ldr r3, _0802B9BC @ =gUnknown_020314E0
ldr r2, [r3]
ldr r4, _0802B9C0 @ =0x0000132C
adds r1, r2, r4
@@ -51230,7 +51230,7 @@ _0802B930:
bl _0802C4D2
.align 2, 0
_0802B9B8: .4byte gMain
-_0802B9BC: .4byte 0x020314E0
+_0802B9BC: .4byte gUnknown_020314E0
_0802B9C0: .4byte 0x0000132C
_0802B9C4: .4byte 0x086ACFF4
_0802B9C8: .4byte gOamBuffer
@@ -51322,7 +51322,7 @@ _0802BA7C:
movs r0, #4
strh r0, [r3, #0x3c]
ldr r2, _0802BB2C @ =0x040000D4
- ldr r4, _0802BB30 @ =0x020314E0
+ ldr r4, _0802BB30 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r7, _0802BB34 @ =0x000005F6
adds r0, r0, r7
@@ -51370,7 +51370,7 @@ _0802BAD6:
movs r5, #0
movs r0, #0
strh r0, [r1]
- ldr r1, _0802BB30 @ =0x020314E0
+ ldr r1, _0802BB30 @ =gUnknown_020314E0
ldr r0, [r1]
ldr r2, _0802BB48 @ =0x0000132C
adds r0, r0, r2
@@ -51406,7 +51406,7 @@ _0802BAD6:
.align 2, 0
_0802BB28: .4byte gMain
_0802BB2C: .4byte 0x040000D4
-_0802BB30: .4byte 0x020314E0
+_0802BB30: .4byte gUnknown_020314E0
_0802BB34: .4byte 0x000005F6
_0802BB38: .4byte 0x08137E14
_0802BB3C: .4byte 0x05000220
@@ -51414,7 +51414,7 @@ _0802BB40: .4byte 0x80000010
_0802BB44: .4byte gOamBuffer
_0802BB48: .4byte 0x0000132C
_0802BB4C:
- ldr r1, _0802BB90 @ =0x020314E0
+ ldr r1, _0802BB90 @ =gUnknown_020314E0
ldr r0, [r1]
ldr r2, _0802BB94 @ =0x000005A6
adds r1, r0, r2
@@ -51430,7 +51430,7 @@ _0802BB5C:
b _0802BC92
_0802BB66:
ldr r2, _0802BB98 @ =0x040000D4
- ldr r1, _0802BB9C @ =0x02031520
+ ldr r1, _0802BB9C @ =gUnknown_02031520
ldr r3, [r1, #0x30]
str r3, [r2]
ldr r0, _0802BBA0 @ =0x05000200
@@ -51451,10 +51451,10 @@ _0802BB66:
ldr r0, _0802BBB0 @ =0x80000060
b _0802BBC0
.align 2, 0
-_0802BB90: .4byte 0x020314E0
+_0802BB90: .4byte gUnknown_020314E0
_0802BB94: .4byte 0x000005A6
_0802BB98: .4byte 0x040000D4
-_0802BB9C: .4byte 0x02031520
+_0802BB9C: .4byte gUnknown_02031520
_0802BBA0: .4byte 0x05000200
_0802BBA4: .4byte 0x80000010
_0802BBA8: .4byte gMain
@@ -51481,7 +51481,7 @@ _0802BBC0:
ldr r0, _0802BBFC @ =0x80000030
str r0, [r1, #8]
ldr r0, [r1, #8]
- ldr r4, _0802BC00 @ =0x020314E0
+ ldr r4, _0802BC00 @ =gUnknown_020314E0
ldr r0, [r4]
adds r0, #0x6f
movs r1, #1
@@ -51495,7 +51495,7 @@ _0802BBF0: .4byte 0x80000070
_0802BBF4: .4byte 0x040000D4
_0802BBF8: .4byte 0x05000340
_0802BBFC: .4byte 0x80000030
-_0802BC00: .4byte 0x020314E0
+_0802BC00: .4byte gUnknown_020314E0
_0802BC04:
ldr r4, _0802BC3C @ =gMain
ldrh r0, [r4, #0x3c]
@@ -51505,7 +51505,7 @@ _0802BC04:
cmp r0, #4
bls _0802BC92
ldr r2, _0802BC40 @ =0x040000D4
- ldr r1, _0802BC44 @ =0x02031520
+ ldr r1, _0802BC44 @ =gUnknown_02031520
ldr r3, [r1, #0x2c]
str r3, [r2]
ldr r0, _0802BC48 @ =0x05000200
@@ -51527,7 +51527,7 @@ _0802BC04:
.align 2, 0
_0802BC3C: .4byte gMain
_0802BC40: .4byte 0x040000D4
-_0802BC44: .4byte 0x02031520
+_0802BC44: .4byte gUnknown_02031520
_0802BC48: .4byte 0x05000200
_0802BC4C: .4byte 0x80000010
_0802BC50: .4byte 0x05000240
@@ -51553,19 +51553,19 @@ _0802BC64:
ldr r0, _0802BDB0 @ =0x80000030
str r0, [r1, #8]
ldr r0, [r1, #8]
- ldr r1, _0802BDB4 @ =0x020314E0
+ ldr r1, _0802BDB4 @ =gUnknown_020314E0
ldr r0, [r1]
adds r0, #0x6f
movs r1, #0
strb r1, [r0]
- ldr r2, _0802BDB4 @ =0x020314E0
+ ldr r2, _0802BDB4 @ =gUnknown_020314E0
ldr r0, [r2]
adds r0, #0x70
movs r1, #1
_0802BC90:
strb r1, [r0]
_0802BC92:
- ldr r3, _0802BDB4 @ =0x020314E0
+ ldr r3, _0802BDB4 @ =gUnknown_020314E0
ldr r5, [r3]
movs r0, #0x13
ldrsb r0, [r5, r0]
@@ -51608,7 +51608,7 @@ _0802BCA4:
movs r0, #0x9d
bl m4aSongNumStart
_0802BCE8:
- ldr r2, _0802BDB4 @ =0x020314E0
+ ldr r2, _0802BDB4 @ =gUnknown_020314E0
ldr r0, [r2]
adds r0, r0, r7
ldr r0, [r0]
@@ -51621,7 +51621,7 @@ _0802BCE8:
movs r0, #0x9d
bl m4aSongNumStart
_0802BD02:
- ldr r0, _0802BDB4 @ =0x020314E0
+ ldr r0, _0802BDB4 @ =gUnknown_020314E0
ldr r4, [r0]
adds r4, r4, r7
ldr r1, [r4]
@@ -51655,7 +51655,7 @@ _0802BD02:
rsbs r0, r1, #0
strh r0, [r4, #6]
_0802BD48:
- ldr r3, _0802BDB4 @ =0x020314E0
+ ldr r3, _0802BDB4 @ =gUnknown_020314E0
ldr r4, [r3]
adds r4, r4, r7
ldr r5, [r4]
@@ -51675,7 +51675,7 @@ _0802BD48:
rsbs r0, r1, #0
strh r0, [r4, #0x30]
_0802BD70:
- ldr r3, _0802BDB4 @ =0x020314E0
+ ldr r3, _0802BDB4 @ =gUnknown_020314E0
ldr r2, [r3]
ldr r4, _0802BDB8 @ =0x0000132C
adds r0, r2, r4
@@ -51706,7 +51706,7 @@ _0802BDA4: .4byte 0x80000070
_0802BDA8: .4byte 0x040000D4
_0802BDAC: .4byte 0x05000340
_0802BDB0: .4byte 0x80000030
-_0802BDB4: .4byte 0x020314E0
+_0802BDB4: .4byte gUnknown_020314E0
_0802BDB8: .4byte 0x0000132C
_0802BDBC: .4byte 0x000139FF
_0802BDC0: .4byte 0x000005A6
@@ -51741,7 +51741,7 @@ _0802BDC4:
blt _0802BE78
movs r0, #0x9d
bl m4aSongNumStart
- ldr r4, _0802BE90 @ =0x020314E0
+ ldr r4, _0802BE90 @ =gUnknown_020314E0
ldr r0, [r4]
adds r5, r0, r6
ldr r1, [r5]
@@ -51779,7 +51779,7 @@ _0802BDC4:
rsbs r0, r1, #0
strh r0, [r5, #6]
_0802BE50:
- ldr r3, _0802BE90 @ =0x020314E0
+ ldr r3, _0802BE90 @ =gUnknown_020314E0
ldr r4, [r3]
adds r4, r4, r6
ldr r5, [r4]
@@ -51799,7 +51799,7 @@ _0802BE50:
rsbs r0, r2, #0
strh r0, [r1, #0x30]
_0802BE78:
- ldr r0, _0802BE90 @ =0x020314E0
+ ldr r0, _0802BE90 @ =gUnknown_020314E0
ldr r0, [r0]
movs r4, #0xb6
lsls r4, r4, #3
@@ -51810,9 +51810,9 @@ _0802BE78:
.align 2, 0
_0802BE88: .4byte 0x0000132C
_0802BE8C: .4byte 0x0000028A
-_0802BE90: .4byte 0x020314E0
+_0802BE90: .4byte gUnknown_020314E0
_0802BE94:
- ldr r0, _0802BEAC @ =0x020314E0
+ ldr r0, _0802BEAC @ =gUnknown_020314E0
ldr r1, [r0]
ldr r7, _0802BEB0 @ =0x0000132C
adds r1, r1, r7
@@ -51825,10 +51825,10 @@ _0802BE94:
strh r2, [r0, #6]
b _0802C4D2
.align 2, 0
-_0802BEAC: .4byte 0x020314E0
+_0802BEAC: .4byte gUnknown_020314E0
_0802BEB0: .4byte 0x0000132C
_0802BEB4:
- ldr r6, _0802BF00 @ =0x020314E0
+ ldr r6, _0802BF00 @ =gUnknown_020314E0
ldr r2, [r6]
ldr r1, _0802BF04 @ =0x000005A6
adds r0, r2, r1
@@ -51868,7 +51868,7 @@ _0802BEE6:
adds r0, r0, r4
b _0802C034
.align 2, 0
-_0802BF00: .4byte 0x020314E0
+_0802BF00: .4byte gUnknown_020314E0
_0802BF04: .4byte 0x000005A6
_0802BF08: .4byte 0x0000132C
_0802BF0C: .4byte 0xFFFFFC00
@@ -52033,7 +52033,7 @@ _0802C03C:
.align 2, 0
_0802C048: .4byte 0x0000132C
_0802C04C:
- ldr r4, _0802C208 @ =0x020314E0
+ ldr r4, _0802C208 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r7, _0802C20C @ =0x0000132C
adds r0, r0, r7
@@ -52056,7 +52056,7 @@ _0802C04C:
subs r0, #1
strh r0, [r4]
_0802C07A:
- ldr r4, _0802C208 @ =0x020314E0
+ ldr r4, _0802C208 @ =gUnknown_020314E0
ldr r0, [r4]
ldr r3, _0802C210 @ =0x000005A6
adds r0, r0, r3
@@ -52078,7 +52078,7 @@ _0802C07A:
movs r1, #0
strb r1, [r0]
_0802C0A6:
- ldr r1, _0802C208 @ =0x020314E0
+ ldr r1, _0802C208 @ =gUnknown_020314E0
ldr r3, [r1]
ldr r7, _0802C210 @ =0x000005A6
adds r4, r3, r7
@@ -52141,7 +52141,7 @@ _0802C10C:
str r0, [r1, #8]
ldr r0, [r1, #8]
_0802C11C:
- ldr r7, _0802C208 @ =0x020314E0
+ ldr r7, _0802C208 @ =gUnknown_020314E0
ldr r0, [r7]
ldr r1, _0802C210 @ =0x000005A6
adds r0, r0, r1
@@ -52197,7 +52197,7 @@ _0802C176:
ldr r0, _0802C228 @ =0x80000400
str r0, [r1, #8]
ldr r0, [r1, #8]
- ldr r7, _0802C208 @ =0x020314E0
+ ldr r7, _0802C208 @ =gUnknown_020314E0
ldr r0, [r7]
ldr r1, _0802C210 @ =0x000005A6
adds r0, r0, r1
@@ -52218,7 +52218,7 @@ _0802C176:
ldrh r0, [r1, #0x3a]
strh r2, [r1, #0x3a]
_0802C1AE:
- ldr r2, _0802C208 @ =0x020314E0
+ ldr r2, _0802C208 @ =gUnknown_020314E0
ldr r1, [r2]
ldrb r0, [r1, #0x1c]
cmp r0, #0
@@ -52228,7 +52228,7 @@ _0802C1AE:
movs r0, #0xb5
strh r0, [r1]
_0802C1C0:
- ldr r4, _0802C208 @ =0x020314E0
+ ldr r4, _0802C208 @ =gUnknown_020314E0
ldr r1, [r4]
ldr r7, _0802C210 @ =0x000005A6
adds r0, r1, r7
@@ -52246,7 +52246,7 @@ _0802C1D0:
_0802C1DC:
movs r0, #1
strb r0, [r1, #0x1c]
- ldr r0, _0802C208 @ =0x020314E0
+ ldr r0, _0802C208 @ =gUnknown_020314E0
ldr r1, [r0]
movs r2, #0xb3
lsls r2, r2, #3
@@ -52266,7 +52266,7 @@ _0802C1DC:
beq _0802C268
b _0802C284
.align 2, 0
-_0802C208: .4byte 0x020314E0
+_0802C208: .4byte gUnknown_020314E0
_0802C20C: .4byte 0x0000132C
_0802C210: .4byte 0x000005A6
_0802C214: .4byte gMain
@@ -52306,7 +52306,7 @@ _0802C250:
_0802C260: .4byte 0x000222E0
_0802C264: .4byte 0x00989680
_0802C268:
- ldr r3, _0802C278 @ =0x020314E0
+ ldr r3, _0802C278 @ =gUnknown_020314E0
ldr r0, [r3]
ldr r1, _0802C27C @ =0x00013880
str r1, [r0, #0x38]
@@ -52314,17 +52314,17 @@ _0802C268:
str r1, [r0, #0x3c]
b _0802C28C
.align 2, 0
-_0802C278: .4byte 0x020314E0
+_0802C278: .4byte gUnknown_020314E0
_0802C27C: .4byte 0x00013880
_0802C280: .4byte 0x004C4B40
_0802C284:
- ldr r4, _0802C2B4 @ =0x020314E0
+ ldr r4, _0802C2B4 @ =gUnknown_020314E0
ldr r1, [r4]
ldr r0, _0802C2B8 @ =0x000F4240
_0802C28A:
str r0, [r1, #0x3c]
_0802C28C:
- ldr r7, _0802C2B4 @ =0x020314E0
+ ldr r7, _0802C2B4 @ =gUnknown_020314E0
ldr r1, [r7]
movs r0, #0x13
ldrsb r0, [r1, r0]
@@ -52344,7 +52344,7 @@ _0802C28C:
ldr r0, _0802C2C0 @ =0x00989680
b _0802C2C6
.align 2, 0
-_0802C2B4: .4byte 0x020314E0
+_0802C2B4: .4byte gUnknown_020314E0
_0802C2B8: .4byte 0x000F4240
_0802C2BC: .4byte 0x000222E0
_0802C2C0: .4byte 0x00989680
@@ -52359,7 +52359,7 @@ _0802C2C8:
bhi _0802C2D2
b _0802C4D2
_0802C2D2:
- ldr r2, _0802C2F4 @ =0x020314E0
+ ldr r2, _0802C2F4 @ =gUnknown_020314E0
ldr r0, [r2]
movs r1, #1
strb r1, [r0, #0x1c]
@@ -52375,7 +52375,7 @@ _0802C2D2:
.align 2, 0
_0802C2EC: .4byte 0x002DC6C0
_0802C2F0: .4byte gMain
-_0802C2F4: .4byte 0x020314E0
+_0802C2F4: .4byte gUnknown_020314E0
_0802C2F8: .4byte 0x00061A80
_0802C2FC: .4byte 0x01C9C380
_0802C300:
@@ -52389,13 +52389,13 @@ _0802C300:
_0802C30C: .4byte 0x00061A80
_0802C310: .4byte 0x00989680
_0802C314:
- ldr r3, _0802C38C @ =0x020314E0
+ ldr r3, _0802C38C @ =gUnknown_020314E0
ldr r0, [r3]
ldr r4, _0802C390 @ =0x000005F7
adds r0, r0, r4
movs r3, #0
strb r3, [r0]
- ldr r7, _0802C38C @ =0x020314E0
+ ldr r7, _0802C38C @ =gUnknown_020314E0
ldr r0, [r7]
ldr r1, _0802C394 @ =0x0000132C
adds r0, r0, r1
@@ -52421,7 +52421,7 @@ _0802C314:
bls _0802C352
b _0802C48C
_0802C352:
- ldr r3, _0802C38C @ =0x020314E0
+ ldr r3, _0802C38C @ =gUnknown_020314E0
ldr r0, [r3]
strb r2, [r0, #0x1f]
ldr r0, [r3]
@@ -52436,7 +52436,7 @@ _0802C352:
movs r5, #0
ldr r3, _0802C3A8 @ =0x0000071D
_0802C36E:
- ldr r7, _0802C38C @ =0x020314E0
+ ldr r7, _0802C38C @ =gUnknown_020314E0
ldr r2, [r7]
ldr r1, _0802C3AC @ =0x00000723
adds r0, r2, r1
@@ -52452,7 +52452,7 @@ _0802C36E:
movs r1, #1
b _0802C3B6
.align 2, 0
-_0802C38C: .4byte 0x020314E0
+_0802C38C: .4byte gUnknown_020314E0
_0802C390: .4byte 0x000005F7
_0802C394: .4byte 0x0000132C
_0802C398: .4byte 0x000005A4
@@ -52475,7 +52475,7 @@ _0802C3B6:
asrs r0, r0, #0x10
cmp r0, #2
ble _0802C36E
- ldr r4, _0802C474 @ =0x020314E0
+ ldr r4, _0802C474 @ =gUnknown_020314E0
ldr r1, [r4]
ldr r3, _0802C478 @ =0x00000723
adds r0, r1, r3
@@ -52567,14 +52567,14 @@ _0802C464:
strb r0, [r1, #0x17]
b _0802C4CC
.align 2, 0
-_0802C474: .4byte 0x020314E0
+_0802C474: .4byte gUnknown_020314E0
_0802C478: .4byte 0x00000723
_0802C47C: .4byte 0x00000721
_0802C480: .4byte 0x00000722
_0802C484: .4byte 0x00000286
_0802C488: .4byte 0x0000062A
_0802C48C:
- ldr r7, _0802C528 @ =0x020314E0
+ ldr r7, _0802C528 @ =gUnknown_020314E0
ldr r1, [r7]
movs r0, #1
strb r0, [r1, #0x1f]
@@ -52610,7 +52610,7 @@ _0802C4CC:
movs r0, #0
bl sub_31CF8
_0802C4D2:
- ldr r4, _0802C528 @ =0x020314E0
+ ldr r4, _0802C528 @ =gUnknown_020314E0
ldr r1, [r4]
ldr r3, _0802C52C @ =0x0000132C
adds r1, r1, r3
@@ -52658,7 +52658,7 @@ sub_2C518: @ 0x0802C518
pop {r0}
bx r0
.align 2, 0
-_0802C528: .4byte 0x020314E0
+_0802C528: .4byte gUnknown_020314E0
_0802C52C: .4byte 0x0000132C
_0802C530: .4byte 0x000006C4
_0802C534: .4byte 0x00000286
@@ -52671,7 +52671,7 @@ sub_2C538: @ 0x0802C538
push {r6, r7}
movs r0, #0
mov sb, r0
- ldr r1, _0802C568 @ =0x020314E0
+ ldr r1, _0802C568 @ =gUnknown_020314E0
ldr r0, [r1]
movs r2, #0xc0
lsls r2, r2, #2
@@ -52690,7 +52690,7 @@ _0802C55C:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0802C568: .4byte 0x020314E0
+_0802C568: .4byte gUnknown_020314E0
_0802C56C: .4byte _0802C570
_0802C570: @ jump table
.4byte _0802C588 @ case 0
@@ -53117,7 +53117,7 @@ _0802C8C0:
ldrh r0, [r6]
cmp r0, #0
beq _0802C94E
- ldr r2, _0802C98C @ =0x020314E0
+ ldr r2, _0802C98C @ =gUnknown_020314E0
ldr r0, [r2]
adds r0, #0x58
ldrh r1, [r0]
@@ -53205,7 +53205,7 @@ _0802C97C: .4byte 0x00002710
_0802C980: .4byte 0x0000FDA8
_0802C984: .4byte 0x0000FED4
_0802C988: .4byte 0x0200DD68
-_0802C98C: .4byte 0x020314E0
+_0802C98C: .4byte gUnknown_020314E0
_0802C990: .4byte 0x00000115
_0802C994: .4byte 0x040000D4
_0802C998: .4byte 0x0847DF0C
@@ -53219,7 +53219,7 @@ sub_2C9A4: @ 0x0802C9A4
ldrh r0, [r6]
cmp r0, #0
beq _0802CA7A
- ldr r0, _0802C9E4 @ =0x020314E0
+ ldr r0, _0802C9E4 @ =gUnknown_020314E0
ldr r2, [r0]
ldr r3, _0802C9E8 @ =0x0000029F
adds r1, r2, r3
@@ -53245,7 +53245,7 @@ sub_2C9A4: @ 0x0802C9A4
b _0802C9F0
.align 2, 0
_0802C9E0: .4byte 0x0200E328
-_0802C9E4: .4byte 0x020314E0
+_0802C9E4: .4byte gUnknown_020314E0
_0802C9E8: .4byte 0x0000029F
_0802C9EC:
movs r0, #0xb4
@@ -53353,7 +53353,7 @@ sub_2CA9C: @ 0x0802CA9C
_0802CAB8:
movs r0, #0xca
strh r0, [r6, #2]
- ldr r0, _0802CAE0 @ =0x020314E0
+ ldr r0, _0802CAE0 @ =gUnknown_020314E0
ldr r0, [r0]
ldr r1, _0802CAE4 @ =0x00000286
adds r0, r0, r1
@@ -53371,7 +53371,7 @@ _0802CAB8:
b _0802CB12
.align 2, 0
_0802CADC: .4byte gMain
-_0802CAE0: .4byte 0x020314E0
+_0802CAE0: .4byte gUnknown_020314E0
_0802CAE4: .4byte 0x00000286
_0802CAE8:
cmp r0, #0x17
@@ -53450,7 +53450,7 @@ _0802CB48:
ldrb r5, [r5, #4]
adds r0, r0, r5
strb r0, [r1]
- ldr r0, _0802CB9C @ =0x020314E0
+ ldr r0, _0802CB9C @ =gUnknown_020314E0
ldr r0, [r0]
ldr r1, _0802CBA0 @ =0x00000286
adds r0, r0, r1
@@ -53464,7 +53464,7 @@ _0802CB48:
_0802CB90: .4byte gOamBuffer
_0802CB94: .4byte 0x000001FF
_0802CB98: .4byte 0xFFFFFE00
-_0802CB9C: .4byte 0x020314E0
+_0802CB9C: .4byte gUnknown_020314E0
_0802CBA0: .4byte 0x00000286
_0802CBA4:
subs r0, #0x24
@@ -53545,7 +53545,7 @@ _0802CBD6:
adds r0, r1, #0
movs r2, #6
bl SetMatrixScale
- ldr r0, _0802CCB0 @ =0x020314E0
+ ldr r0, _0802CCB0 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r0, _0802CCB4 @ =0x00000286
adds r3, r1, r0
@@ -53598,7 +53598,7 @@ _0802CBD6:
.align 2, 0
_0802CCA8: .4byte 0x000001FF
_0802CCAC: .4byte 0xFFFFFE00
-_0802CCB0: .4byte 0x020314E0
+_0802CCB0: .4byte gUnknown_020314E0
_0802CCB4: .4byte 0x00000286
_0802CCB8: .4byte 0x040000D4
_0802CCBC: .4byte 0x0845648C
@@ -53628,7 +53628,7 @@ _0802CCC8:
_0802CCF0:
strb r0, [r1]
_0802CCF2:
- ldr r5, _0802CD74 @ =0x020314E0
+ ldr r5, _0802CD74 @ =gUnknown_020314E0
ldr r0, [r5]
ldr r4, _0802CD78 @ =0x00000286
adds r0, r0, r4
@@ -53676,7 +53676,7 @@ _0802CD2A:
adds r0, r2, #1
strb r0, [r1]
_0802CD50:
- ldr r0, _0802CD74 @ =0x020314E0
+ ldr r0, _0802CD74 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r3, _0802CD78 @ =0x00000286
adds r1, r1, r3
@@ -53696,7 +53696,7 @@ _0802CD68:
pop {r0}
bx r0
.align 2, 0
-_0802CD74: .4byte 0x020314E0
+_0802CD74: .4byte gUnknown_020314E0
_0802CD78: .4byte 0x00000286
_0802CD7C: .4byte 0x040000D4
_0802CD80: .4byte 0x086AE324
@@ -53717,7 +53717,7 @@ sub_2CD98: @ 0x0802CD98
ldr r6, [r1, #0x28]
ldrh r1, [r6]
mov sb, r0
- ldr r0, _0802CE70 @ =0x020314E0
+ ldr r0, _0802CE70 @ =gUnknown_020314E0
mov ip, r0
cmp r1, #0
beq _0802CE0E
@@ -53819,7 +53819,7 @@ _0802CE5E:
bx r0
.align 2, 0
_0802CE6C: .4byte gMain
-_0802CE70: .4byte 0x020314E0
+_0802CE70: .4byte gUnknown_020314E0
_0802CE74: .4byte gOamBuffer
_0802CE78: .4byte 0xFFFFFE00
_0802CE7C: .4byte 0x000001FF
@@ -53827,7 +53827,7 @@ _0802CE7C: .4byte 0x000001FF
thumb_func_start sub_2CE80
sub_2CE80: @ 0x0802CE80
push {r4, r5, lr}
- ldr r0, _0802CEC0 @ =0x020314E0
+ ldr r0, _0802CEC0 @ =gUnknown_020314E0
ldr r4, [r0]
adds r1, r4, #0
adds r1, #0x68
@@ -53859,7 +53859,7 @@ sub_2CE80: @ 0x0802CE80
ldr r0, [r3, #8]
b _0802CF02
.align 2, 0
-_0802CEC0: .4byte 0x020314E0
+_0802CEC0: .4byte gUnknown_020314E0
_0802CEC4: .4byte 0x040000D4
_0802CEC8: .4byte gMain
_0802CECC: .4byte 0x08137B3C
@@ -54157,7 +54157,7 @@ sub_2D104: @ 0x0802D104
ldrh r0, [r6]
cmp r0, #0
beq _0802D1DC
- ldr r1, _0802D148 @ =0x020314E0
+ ldr r1, _0802D148 @ =gUnknown_020314E0
ldr r3, [r1]
movs r0, #0xb2
lsls r0, r0, #1
@@ -54180,7 +54180,7 @@ sub_2D104: @ 0x0802D104
b _0802D158
.align 2, 0
_0802D144: .4byte gMain
-_0802D148: .4byte 0x020314E0
+_0802D148: .4byte gUnknown_020314E0
_0802D14C:
ldr r1, _0802D1E4 @ =0x086AE344
movs r0, #0
@@ -54279,7 +54279,7 @@ sub_2D204: @ 0x0802D204
push {r5, r6, r7}
ldr r4, _0802D358 @ =0xFFFFFDE0
add sp, r4
- ldr r1, _0802D35C @ =0x020314E0
+ ldr r1, _0802D35C @ =gUnknown_020314E0
ldr r2, [r1]
ldrh r3, [r2, #0x18]
adds r4, r3, #0
@@ -54295,7 +54295,7 @@ _0802D226:
ldr r1, _0802D360 @ =0x040000D4
ldr r0, _0802D364 @ =0x05000200
str r0, [r1]
- ldr r2, _0802D35C @ =0x020314E0
+ ldr r2, _0802D35C @ =gUnknown_020314E0
ldr r0, [r2]
ldr r3, _0802D368 @ =0x0000111A
adds r0, r0, r3
@@ -54312,7 +54312,7 @@ _0802D226:
adds r0, r0, r2
strb r4, [r0]
_0802D254:
- ldr r3, _0802D35C @ =0x020314E0
+ ldr r3, _0802D35C @ =gUnknown_020314E0
ldr r1, [r3]
ldrh r0, [r1, #0x18]
cmp r0, #0xa
@@ -54356,7 +54356,7 @@ _0802D254:
ldr r0, [r0, #0x3c]
strh r1, [r0]
_0802D2AA:
- ldr r4, _0802D35C @ =0x020314E0
+ ldr r4, _0802D35C @ =gUnknown_020314E0
ldr r1, [r4]
adds r0, r1, #0
adds r0, #0xcc
@@ -54369,7 +54369,7 @@ _0802D2AA:
adds r1, #0xe6
strh r0, [r1]
_0802D2C2:
- ldr r3, _0802D35C @ =0x020314E0
+ ldr r3, _0802D35C @ =gUnknown_020314E0
ldr r0, [r3]
ldrh r0, [r0, #0x18]
adds r3, r0, #0
@@ -54437,7 +54437,7 @@ _0802D33A:
ldrb r0, [r0, #4]
cmp r0, #1
bne _0802D3F6
- ldr r0, _0802D35C @ =0x020314E0
+ ldr r0, _0802D35C @ =gUnknown_020314E0
ldr r1, [r0]
ldrh r0, [r1, #0x18]
cmp r0, #0x43
@@ -54450,7 +54450,7 @@ _0802D33A:
b _0802D3F6
.align 2, 0
_0802D358: .4byte 0xFFFFFDE0
-_0802D35C: .4byte 0x020314E0
+_0802D35C: .4byte gUnknown_020314E0
_0802D360: .4byte 0x040000D4
_0802D364: .4byte 0x05000200
_0802D368: .4byte 0x0000111A
@@ -54514,7 +54514,7 @@ _0802D3BA:
str r0, [r1, #8]
ldr r0, [r1, #8]
_0802D3F6:
- ldr r2, _0802D494 @ =0x020314E0
+ ldr r2, _0802D494 @ =gUnknown_020314E0
ldr r1, [r2]
ldr r3, _0802D498 @ =0xFFFFFEF2
adds r0, r3, #0
@@ -54591,7 +54591,7 @@ _0802D484: .4byte 0x03005C00
_0802D488: .4byte 0x040000D4
_0802D48C: .4byte 0x06002000
_0802D490: .4byte 0x80000400
-_0802D494: .4byte 0x020314E0
+_0802D494: .4byte gUnknown_020314E0
_0802D498: .4byte 0xFFFFFEF2
_0802D49C: .4byte 0x020028A8
_0802D4A0: .4byte 0x000012BA
@@ -54679,7 +54679,7 @@ _0802D53E:
movs r0, #0xb0
bl m4aSongNumStart
_0802D54C:
- ldr r1, _0802D5CC @ =0x020314E0
+ ldr r1, _0802D5CC @ =gUnknown_020314E0
ldr r3, [r1]
ldr r4, _0802D5D0 @ =0xFFFFFED4
adds r2, r4, #0
@@ -54694,7 +54694,7 @@ _0802D54C:
adds r1, r3, r0
movs r0, #1
strb r0, [r1]
- ldr r1, _0802D5CC @ =0x020314E0
+ ldr r1, _0802D5CC @ =gUnknown_020314E0
ldr r0, [r1]
ldrh r0, [r0, #0x18]
adds r0, r2, r0
@@ -54707,7 +54707,7 @@ _0802D54C:
ldrh r1, [r0, #0x3c]
strh r5, [r0, #0x3c]
_0802D582:
- ldr r2, _0802D5CC @ =0x020314E0
+ ldr r2, _0802D5CC @ =gUnknown_020314E0
ldr r0, [r2]
ldrh r2, [r0, #0x18]
cmp r2, #0xa
@@ -54739,7 +54739,7 @@ _0802D5BC: .4byte 0x020028AA
_0802D5C0: .4byte 0x040000D4
_0802D5C4: .4byte 0x050003A0
_0802D5C8: .4byte 0x80000010
-_0802D5CC: .4byte 0x020314E0
+_0802D5CC: .4byte gUnknown_020314E0
_0802D5D0: .4byte 0xFFFFFED4
_0802D5D4: .4byte gMain
_0802D5D8: .4byte 0x0000FF88
@@ -54811,7 +54811,7 @@ _0802D658:
ldr r0, _0802D6F8 @ =0x0000FF5F
strh r0, [r1, #6]
_0802D65E:
- ldr r2, _0802D6FC @ =0x020314E0
+ ldr r2, _0802D6FC @ =gUnknown_020314E0
ldr r1, [r2]
adds r0, r1, #0
adds r0, #0x58
@@ -54867,7 +54867,7 @@ _0802D684:
asrs r3, r3, #0x10
cmp r3, #3
ble _0802D684
- ldr r2, _0802D6FC @ =0x020314E0
+ ldr r2, _0802D6FC @ =gUnknown_020314E0
ldr r1, [r2]
ldr r3, _0802D70C @ =0x0000FFC4
adds r0, r3, #0
@@ -54889,7 +54889,7 @@ _0802D684:
b _0802D716
.align 2, 0
_0802D6F8: .4byte 0x0000FF5F
-_0802D6FC: .4byte 0x020314E0
+_0802D6FC: .4byte gUnknown_020314E0
_0802D700: .4byte gOamBuffer
_0802D704: .4byte 0xFFFFFE00
_0802D708: .4byte 0x000001FF
@@ -54965,7 +54965,7 @@ _0802D792:
ldr r2, _0802D838 @ =gMain
ldr r0, [r2, #0x44]
ldr r7, [r0, #0x64]
- ldr r3, _0802D83C @ =0x020314E0
+ ldr r3, _0802D83C @ =gUnknown_020314E0
ldr r1, [r3]
adds r0, r1, #0
adds r0, #0x58
@@ -55024,7 +55024,7 @@ _0802D7BE:
ldr r2, _0802D838 @ =gMain
ldr r0, [r2, #0x44]
ldr r7, [r0, #0x68]
- ldr r3, _0802D83C @ =0x020314E0
+ ldr r3, _0802D83C @ =gUnknown_020314E0
ldr r1, [r3]
ldr r4, _0802D84C @ =0x0000FF9C
adds r0, r4, #0
@@ -55046,7 +55046,7 @@ _0802D7BE:
.align 2, 0
_0802D834: .4byte 0x0000FF5F
_0802D838: .4byte gMain
-_0802D83C: .4byte 0x020314E0
+_0802D83C: .4byte gUnknown_020314E0
_0802D840: .4byte gOamBuffer
_0802D844: .4byte 0xFFFFFE00
_0802D848: .4byte 0x000001FF
@@ -55115,7 +55115,7 @@ _0802D8C0:
ldr r0, _0802D964 @ =0x0000FF60
strh r0, [r1, #6]
_0802D8C6:
- ldr r3, _0802D968 @ =0x020314E0
+ ldr r3, _0802D968 @ =gUnknown_020314E0
ldr r1, [r3]
adds r0, r1, #0
adds r0, #0x58
@@ -55174,7 +55174,7 @@ _0802D8EC:
ldr r2, _0802D978 @ =gMain
ldr r0, [r2, #0x44]
ldr r7, [r0, #0x6c]
- ldr r3, _0802D968 @ =0x020314E0
+ ldr r3, _0802D968 @ =gUnknown_020314E0
ldr r1, [r3]
ldr r4, _0802D97C @ =0x0000FFB0
adds r0, r4, #0
@@ -55195,7 +55195,7 @@ _0802D8EC:
b _0802D986
.align 2, 0
_0802D964: .4byte 0x0000FF60
-_0802D968: .4byte 0x020314E0
+_0802D968: .4byte gUnknown_020314E0
_0802D96C: .4byte gOamBuffer
_0802D970: .4byte 0xFFFFFE00
_0802D974: .4byte 0x000001FF
@@ -55265,7 +55265,7 @@ _0802D9F0:
ldr r0, _0802DA8C @ =0x0000FF60
strh r0, [r1, #6]
_0802D9F6:
- ldr r3, _0802DA90 @ =0x020314E0
+ ldr r3, _0802DA90 @ =gUnknown_020314E0
ldr r1, [r3]
adds r0, r1, #0
adds r0, #0x58
@@ -55321,7 +55321,7 @@ _0802DA1C:
asrs r3, r3, #0x10
cmp r3, #3
ble _0802DA1C
- ldr r2, _0802DA90 @ =0x020314E0
+ ldr r2, _0802DA90 @ =gUnknown_020314E0
ldr r1, [r2]
ldr r3, _0802DAA0 @ =0x0000FFA6
adds r0, r3, #0
@@ -55342,7 +55342,7 @@ _0802DA1C:
b _0802DAAA
.align 2, 0
_0802DA8C: .4byte 0x0000FF60
-_0802DA90: .4byte 0x020314E0
+_0802DA90: .4byte gUnknown_020314E0
_0802DA94: .4byte gOamBuffer
_0802DA98: .4byte 0xFFFFFE00
_0802DA9C: .4byte 0x000001FF
@@ -55489,7 +55489,7 @@ _0802DBAA:
ldr r2, _0802DC78 @ =gMain
ldr r0, [r2, #0x44]
ldr r7, [r0, #0x70]
- ldr r3, _0802DC7C @ =0x020314E0
+ ldr r3, _0802DC7C @ =gUnknown_020314E0
ldr r1, [r3]
adds r0, r1, #0
adds r0, #0x58
@@ -55548,7 +55548,7 @@ _0802DBD6:
ldr r2, _0802DC78 @ =gMain
ldr r0, [r2, #0x44]
ldr r7, [r0, #0x3c]
- ldr r3, _0802DC7C @ =0x020314E0
+ ldr r3, _0802DC7C @ =gUnknown_020314E0
ldr r2, [r3]
adds r0, r2, #0
adds r0, #0x58
@@ -55588,7 +55588,7 @@ _0802DBD6:
.align 2, 0
_0802DC74: .4byte 0x0000FF80
_0802DC78: .4byte gMain
-_0802DC7C: .4byte 0x020314E0
+_0802DC7C: .4byte gUnknown_020314E0
_0802DC80: .4byte gOamBuffer
_0802DC84: .4byte 0xFFFFFE00
_0802DC88: .4byte 0x000001FF
@@ -55678,7 +55678,7 @@ _0802DCB2:
cmp r4, #3
ble _0802DCB2
_0802DD32:
- ldr r3, _0802DE18 @ =0x020314E0
+ ldr r3, _0802DE18 @ =gUnknown_020314E0
ldr r0, [r3]
ldrh r1, [r0, #0x18]
movs r0, #0xaf
@@ -55713,7 +55713,7 @@ _0802DD4C:
ldrb r0, [r1, #4]
cmp r0, #1
bne _0802DD84
- ldr r2, _0802DE18 @ =0x020314E0
+ ldr r2, _0802DE18 @ =gUnknown_020314E0
ldr r0, [r2]
movs r3, #0xe0
lsls r3, r3, #2
@@ -55721,7 +55721,7 @@ _0802DD4C:
movs r1, #0
strh r1, [r0]
_0802DD84:
- ldr r4, _0802DE18 @ =0x020314E0
+ ldr r4, _0802DE18 @ =gUnknown_020314E0
ldr r3, [r4]
ldrh r1, [r3, #0x18]
movs r0, #0xb4
@@ -55791,7 +55791,7 @@ _0802DE08: .4byte gOamBuffer
_0802DE0C: .4byte 0x086B4112
_0802DE10: .4byte 0xFFFFFE00
_0802DE14: .4byte 0x000001FF
-_0802DE18: .4byte 0x020314E0
+_0802DE18: .4byte gUnknown_020314E0
_0802DE1C: .4byte 0x03005C00
_0802DE20: .4byte 0x0000033F
_0802DE24: .4byte 0x040000D4
@@ -55836,7 +55836,7 @@ _0802DE7A:
strh r1, [r5, #0x3c]
cmp r4, #0x20
bne _0802DEB0
- ldr r0, _0802DEE0 @ =0x020314E0
+ ldr r0, _0802DEE0 @ =gUnknown_020314E0
ldr r1, [r0]
movs r3, #0xa7
lsls r3, r3, #2
@@ -55860,7 +55860,7 @@ _0802DEB0:
beq _0802DEB6
b _0802E052
_0802DEB6:
- ldr r2, _0802DEE0 @ =0x020314E0
+ ldr r2, _0802DEE0 @ =gUnknown_020314E0
ldr r1, [r2]
ldr r3, _0802DEE8 @ =0x00000604
adds r2, r1, r3
@@ -55879,7 +55879,7 @@ _0802DEB6:
_0802DED4: .4byte 0xFFFFFE98
_0802DED8: .4byte 0x02032EE0
_0802DEDC: .4byte gMain
-_0802DEE0: .4byte 0x020314E0
+_0802DEE0: .4byte gUnknown_020314E0
_0802DEE4: .4byte 0x086A3700
_0802DEE8: .4byte 0x00000604
_0802DEEC: .4byte 0x00000603
@@ -55890,7 +55890,7 @@ _0802DEF0:
movs r4, #0
strb r4, [r0]
ldr r2, _0802DF20 @ =0x086AE0D0
- ldr r3, _0802DF24 @ =0x020314E0
+ ldr r3, _0802DF24 @ =gUnknown_020314E0
ldr r1, [r3]
ldr r0, _0802DF28 @ =0x00000603
adds r3, r1, r0
@@ -55910,7 +55910,7 @@ _0802DEF0:
b _0802DF80
.align 2, 0
_0802DF20: .4byte 0x086AE0D0
-_0802DF24: .4byte 0x020314E0
+_0802DF24: .4byte gUnknown_020314E0
_0802DF28: .4byte 0x00000603
_0802DF2C: .4byte 0x00000604
_0802DF30:
@@ -55918,7 +55918,7 @@ _0802DF30:
ldrb r0, [r3]
adds r0, #1
strb r0, [r3]
- ldr r3, _0802E068 @ =0x020314E0
+ ldr r3, _0802E068 @ =gUnknown_020314E0
ldr r0, [r3]
ldr r2, _0802E06C @ =0x00000603
adds r1, r0, r2
@@ -55933,14 +55933,14 @@ _0802DF30:
strh r4, [r0]
movs r0, #0xa
strb r0, [r1]
- ldr r0, _0802E068 @ =0x020314E0
+ ldr r0, _0802E068 @ =gUnknown_020314E0
ldr r1, [r0]
strh r4, [r1, #0x18]
ldrb r0, [r1, #0x17]
adds r0, #1
strb r0, [r1, #0x17]
ldr r1, _0802E074 @ =0x040000D4
- ldr r2, _0802E068 @ =0x020314E0
+ ldr r2, _0802E068 @ =gUnknown_020314E0
ldr r0, [r2]
ldr r3, _0802E078 @ =0x0000111A
adds r0, r0, r3
@@ -55955,7 +55955,7 @@ _0802DF30:
movs r1, #0
strb r1, [r0]
_0802DF80:
- ldr r4, _0802E068 @ =0x020314E0
+ ldr r4, _0802E068 @ =gUnknown_020314E0
ldr r2, [r4]
ldr r1, _0802E06C @ =0x00000603
adds r0, r2, r1
@@ -56074,7 +56074,7 @@ _0802E052:
pop {r0}
bx r0
.align 2, 0
-_0802E068: .4byte 0x020314E0
+_0802E068: .4byte gUnknown_020314E0
_0802E06C: .4byte 0x00000603
_0802E070: .4byte gMain
_0802E074: .4byte 0x040000D4
@@ -56095,7 +56095,7 @@ sub_2E094: @ 0x0802E094
push {r5, r6, r7}
sub sp, #4
movs r7, #0
- ldr r0, _0802E0FC @ =0x020314E0
+ ldr r0, _0802E0FC @ =gUnknown_020314E0
ldr r6, [r0]
ldrh r3, [r6, #0x18]
adds r2, r3, #0
@@ -56140,7 +56140,7 @@ sub_2E094: @ 0x0802E094
ldr r0, _0802E12C @ =0x08483D8C
b _0802E150
.align 2, 0
-_0802E0FC: .4byte 0x020314E0
+_0802E0FC: .4byte gUnknown_020314E0
_0802E100: .4byte gMain
_0802E104: .4byte 0x0000060C
_0802E108: .4byte 0x0000060E
@@ -56300,7 +56300,7 @@ _0802E25C:
lsls r0, r0, #0x10
lsrs r7, r0, #0x10
_0802E278:
- ldr r4, _0802E2BC @ =0x020314E0
+ ldr r4, _0802E2BC @ =gUnknown_020314E0
ldr r1, [r4]
ldr r0, _0802E2C0 @ =0x00000612
adds r3, r1, r0
@@ -56335,7 +56335,7 @@ _0802E278:
strh r2, [r0]
b _0802E4E0
.align 2, 0
-_0802E2BC: .4byte 0x020314E0
+_0802E2BC: .4byte gUnknown_020314E0
_0802E2C0: .4byte 0x00000612
_0802E2C4: .4byte 0x0000060C
_0802E2C8: .4byte 0x0000060E
@@ -56429,7 +56429,7 @@ _0802E366:
strh r0, [r1, #0x18]
_0802E37A:
ldr r2, _0802E3D8 @ =0x086AE394
- ldr r0, _0802E3DC @ =0x020314E0
+ ldr r0, _0802E3DC @ =gUnknown_020314E0
ldr r3, [r0]
ldr r5, _0802E3C4 @ =0x0000060A
adds r0, r3, r5
@@ -56459,7 +56459,7 @@ _0802E37A:
_0802E3B4:
cmp r7, #0x10
bne _0802E3E8
- ldr r0, _0802E3DC @ =0x020314E0
+ ldr r0, _0802E3DC @ =gUnknown_020314E0
ldr r0, [r0]
ldr r2, _0802E3E0 @ =0x0000060C
adds r0, r0, r2
@@ -56472,18 +56472,18 @@ _0802E3CC: .4byte gMain
_0802E3D0: .4byte 0x08137928
_0802E3D4: .4byte 0x000006D9
_0802E3D8: .4byte 0x086AE394
-_0802E3DC: .4byte 0x020314E0
+_0802E3DC: .4byte gUnknown_020314E0
_0802E3E0: .4byte 0x0000060C
_0802E3E4: .4byte 0x0000FFB0
_0802E3E8:
- ldr r0, _0802E40C @ =0x020314E0
+ ldr r0, _0802E40C @ =gUnknown_020314E0
ldr r0, [r0]
ldr r3, _0802E410 @ =0x0000060C
adds r0, r0, r3
movs r1, #0
_0802E3F2:
strh r1, [r0]
- ldr r0, _0802E40C @ =0x020314E0
+ ldr r0, _0802E40C @ =gUnknown_020314E0
ldr r1, [r0]
movs r5, #0xc2
lsls r5, r5, #3
@@ -56496,7 +56496,7 @@ _0802E3F2:
strh r0, [r1]
b _0802E4E0
.align 2, 0
-_0802E40C: .4byte 0x020314E0
+_0802E40C: .4byte gUnknown_020314E0
_0802E410: .4byte 0x0000060C
_0802E414: .4byte 0x0000FFE8
_0802E418: .4byte 0x00000612
@@ -56635,7 +56635,7 @@ _0802E51E:
str r0, [r2, #8]
ldr r0, [r2, #8]
ldr r2, _0802E650 @ =0x086AE394
- ldr r5, _0802E654 @ =0x020314E0
+ ldr r5, _0802E654 @ =gUnknown_020314E0
ldr r4, [r5]
ldr r3, _0802E658 @ =0x0000060A
adds r0, r4, r3
@@ -56778,7 +56778,7 @@ _0802E644: .4byte 0x08488A0C
_0802E648: .4byte 0x06015800
_0802E64C: .4byte 0x80000240
_0802E650: .4byte 0x086AE394
-_0802E654: .4byte 0x020314E0
+_0802E654: .4byte gUnknown_020314E0
_0802E658: .4byte 0x0000060A
_0802E65C: .4byte gMain
_0802E660: .4byte 0x0000060C
@@ -56791,7 +56791,7 @@ _0802E678: .4byte 0x000001E9
thumb_func_start sub_2E67C
sub_2E67C: @ 0x0802E67C
- ldr r0, _0802E6A0 @ =0x020314E0
+ ldr r0, _0802E6A0 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r0, _0802E6A4 @ =0x00000306
adds r3, r1, r0
@@ -56810,7 +56810,7 @@ sub_2E67C: @ 0x0802E67C
strh r0, [r2]
b _0802E6AA
.align 2, 0
-_0802E6A0: .4byte 0x020314E0
+_0802E6A0: .4byte gUnknown_020314E0
_0802E6A4: .4byte 0x00000306
_0802E6A8:
strb r1, [r3]
@@ -56829,7 +56829,7 @@ sub_2E6AC: @ 0x0802E6AC
mov sl, r0
movs r1, #0
str r1, [sp]
- ldr r1, _0802E6E0 @ =0x020314E0
+ ldr r1, _0802E6E0 @ =gUnknown_020314E0
ldr r0, [r1]
ldr r2, _0802E6E4 @ =0x00000306
adds r0, r0, r2
@@ -56846,7 +56846,7 @@ _0802E6D6:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0802E6E0: .4byte 0x020314E0
+_0802E6E0: .4byte gUnknown_020314E0
_0802E6E4: .4byte 0x00000306
_0802E6E8: .4byte _0802E6EC
_0802E6EC: @ jump table
@@ -56862,7 +56862,7 @@ _0802E6EC: @ jump table
.4byte _0802EEF8 @ case 9
.4byte _0802EFDC @ case 10
_0802E718:
- ldr r3, _0802E750 @ =0x020314E0
+ ldr r3, _0802E750 @ =gUnknown_020314E0
ldr r4, [r3]
ldr r5, _0802E754 @ =0x0000030E
adds r0, r4, r5
@@ -56888,12 +56888,12 @@ _0802E718:
strh r5, [r4]
bl _0802EFFC
.align 2, 0
-_0802E750: .4byte 0x020314E0
+_0802E750: .4byte gUnknown_020314E0
_0802E754: .4byte 0x0000030E
_0802E758: .4byte 0x00000322
_0802E75C:
ldr r5, _0802E7B8 @ =0x086AE45A
- ldr r3, _0802E7BC @ =0x020314E0
+ ldr r3, _0802E7BC @ =gUnknown_020314E0
ldr r4, [r3]
movs r7, #0xa4
lsls r7, r7, #2
@@ -56919,7 +56919,7 @@ _0802E75C:
ldr r5, _0802E7C4 @ =0x00000307
adds r4, r4, r5
strb r2, [r4]
- ldr r7, _0802E7BC @ =0x020314E0
+ ldr r7, _0802E7BC @ =gUnknown_020314E0
ldr r3, [r7]
ldr r4, _0802E7C8 @ =0x0000030A
adds r0, r3, r4
@@ -56937,7 +56937,7 @@ _0802E7AC:
bl _0802EFFC
.align 2, 0
_0802E7B8: .4byte 0x086AE45A
-_0802E7BC: .4byte 0x020314E0
+_0802E7BC: .4byte gUnknown_020314E0
_0802E7C0: .4byte 0x00000322
_0802E7C4: .4byte 0x00000307
_0802E7C8: .4byte 0x0000030A
@@ -56946,7 +56946,7 @@ _0802E7CC:
mov sl, r7
bl _0802EFFC
_0802E7D4:
- ldr r0, _0802E83C @ =0x020314E0
+ ldr r0, _0802E83C @ =gUnknown_020314E0
ldr r1, [r0]
movs r4, #0xc3
lsls r4, r4, #2
@@ -56960,7 +56960,7 @@ _0802E7D4:
adds r0, r1, r3
movs r1, #1
strb r1, [r0]
- ldr r5, _0802E83C @ =0x020314E0
+ ldr r5, _0802E83C @ =gUnknown_020314E0
ldr r0, [r5]
strb r1, [r0, #0x1f]
ldr r0, [r5]
@@ -56980,7 +56980,7 @@ _0802E7D4:
ldr r0, _0802E848 @ =0x000186A0
str r0, [r1, #0x3c]
_0802E81A:
- ldr r0, _0802E83C @ =0x020314E0
+ ldr r0, _0802E83C @ =gUnknown_020314E0
ldr r1, [r0]
ldr r2, _0802E844 @ =0x0000132C
adds r3, r1, r2
@@ -56997,7 +56997,7 @@ _0802E81A:
mov sl, r3
b _0802E886
.align 2, 0
-_0802E83C: .4byte 0x020314E0
+_0802E83C: .4byte gUnknown_020314E0
_0802E840: .4byte 0x000005F7
_0802E844: .4byte 0x0000132C
_0802E848: .4byte 0x000186A0
@@ -57026,14 +57026,14 @@ _0802E870:
movs r2, #0
movs r0, #4
strb r0, [r1]
- ldr r1, _0802E8D4 @ =0x020314E0
+ ldr r1, _0802E8D4 @ =gUnknown_020314E0
ldr r0, [r1]
adds r0, r0, r4
strh r2, [r0]
movs r2, #2
mov sl, r2
_0802E886:
- ldr r4, _0802E8D4 @ =0x020314E0
+ ldr r4, _0802E8D4 @ =gUnknown_020314E0
ldr r3, [r4]
ldr r5, _0802E8D8 @ =0x0000132C
adds r2, r3, r5
@@ -57071,11 +57071,11 @@ _0802E886:
b _0802EFFC
.align 2, 0
_0802E8D0: .4byte 0x00000306
-_0802E8D4: .4byte 0x020314E0
+_0802E8D4: .4byte gUnknown_020314E0
_0802E8D8: .4byte 0x0000132C
_0802E8DC:
ldr r2, _0802E908 @ =0x086AE3DC
- ldr r5, _0802E90C @ =0x020314E0
+ ldr r5, _0802E90C @ =gUnknown_020314E0
ldr r3, [r5]
ldr r6, _0802E910 @ =0x00000307
adds r4, r3, r6
@@ -57098,7 +57098,7 @@ _0802E8DC:
b _0802E95C
.align 2, 0
_0802E908: .4byte 0x086AE3DC
-_0802E90C: .4byte 0x020314E0
+_0802E90C: .4byte gUnknown_020314E0
_0802E910: .4byte 0x00000307
_0802E914: .4byte 0x0000030A
_0802E918:
@@ -57138,7 +57138,7 @@ _0802E948:
bl m4aSongNumStart
_0802E95C:
ldr r2, _0802E994 @ =0x086AE3DC
- ldr r0, _0802E998 @ =0x020314E0
+ ldr r0, _0802E998 @ =gUnknown_020314E0
ldr r3, [r0]
ldr r1, _0802E98C @ =0x00000307
adds r0, r3, r1
@@ -57165,9 +57165,9 @@ _0802E95C:
_0802E98C: .4byte 0x00000307
_0802E990: .4byte 0x00000306
_0802E994: .4byte 0x086AE3DC
-_0802E998: .4byte 0x020314E0
+_0802E998: .4byte gUnknown_020314E0
_0802E99C:
- ldr r3, _0802EABC @ =0x020314E0
+ ldr r3, _0802EABC @ =gUnknown_020314E0
ldr r2, [r3]
movs r4, #0xc3
lsls r4, r4, #2
@@ -57185,7 +57185,7 @@ _0802E99C:
adds r0, #0xa0
strh r0, [r1]
_0802E9BE:
- ldr r0, _0802EABC @ =0x020314E0
+ ldr r0, _0802EABC @ =gUnknown_020314E0
ldr r7, [r0]
movs r1, #0xc3
lsls r1, r1, #2
@@ -57299,7 +57299,7 @@ _0802E9BE:
adds r1, r7, r0
movs r0, #6
strb r0, [r1]
- ldr r1, _0802EABC @ =0x020314E0
+ ldr r1, _0802EABC @ =gUnknown_020314E0
ldr r0, [r1]
movs r2, #0xc3
lsls r2, r2, #2
@@ -57309,7 +57309,7 @@ _0802E9BE:
bl m4aMPlayAllStop
b _0802EAF6
.align 2, 0
-_0802EABC: .4byte 0x020314E0
+_0802EABC: .4byte gUnknown_020314E0
_0802EAC0: .4byte 0x0000FE98
_0802EAC4: .4byte 0x00000322
_0802EAC8: .4byte 0x08137CBC
@@ -57329,7 +57329,7 @@ _0802EAE8:
movs r0, #7
strb r0, [r1]
_0802EAF6:
- ldr r0, _0802EB28 @ =0x020314E0
+ ldr r0, _0802EB28 @ =gUnknown_020314E0
ldr r1, [r0]
movs r7, #0xc4
lsls r7, r7, #2
@@ -57353,9 +57353,9 @@ _0802EB1A:
b _0802EFFC
.align 2, 0
_0802EB24: .4byte 0x00000306
-_0802EB28: .4byte 0x020314E0
+_0802EB28: .4byte gUnknown_020314E0
_0802EB2C:
- ldr r1, _0802EBC4 @ =0x020314E0
+ ldr r1, _0802EBC4 @ =gUnknown_020314E0
ldr r0, [r1]
movs r2, #0x88
lsls r2, r2, #5
@@ -57369,7 +57369,7 @@ _0802EB2C:
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
mov sl, r0
- ldr r3, _0802EBC4 @ =0x020314E0
+ ldr r3, _0802EBC4 @ =gUnknown_020314E0
ldr r0, [r3]
movs r5, #0xc3
lsls r5, r5, #2
@@ -57384,7 +57384,7 @@ _0802EB2C:
movs r1, #0x9e
strh r1, [r0, #0x38]
_0802EB66:
- ldr r7, _0802EBC4 @ =0x020314E0
+ ldr r7, _0802EBC4 @ =gUnknown_020314E0
ldr r4, [r7]
adds r3, r4, r5
ldrh r0, [r3]
@@ -57433,7 +57433,7 @@ _0802EB8E:
bl sub_1C73C
b _0802EFFC
.align 2, 0
-_0802EBC4: .4byte 0x020314E0
+_0802EBC4: .4byte gUnknown_020314E0
_0802EBC8: .4byte 0x08137CBC
_0802EBCC: .4byte gMain
_0802EBD0: .4byte 0x00000282
@@ -57442,7 +57442,7 @@ _0802EBD8: .4byte 0x0000073C
_0802EBDC: .4byte 0x0000072F
_0802EBE0: .4byte 0x0000073D
_0802EBE4:
- ldr r7, _0802EC28 @ =0x020314E0
+ ldr r7, _0802EC28 @ =gUnknown_020314E0
ldr r1, [r7]
movs r0, #0xc8
lsls r0, r0, #2
@@ -57476,14 +57476,14 @@ _0802EBE4:
str r5, [sp]
b _0802EFFC
.align 2, 0
-_0802EC28: .4byte 0x020314E0
+_0802EC28: .4byte gUnknown_020314E0
_0802EC2C: .4byte 0x0000F8A8
_0802EC30: .4byte 0x00000322
_0802EC34: .4byte 0x0000FCE0
_0802EC38: .4byte 0x0000031E
_0802EC3C: .4byte 0x00000306
_0802EC40:
- ldr r6, _0802ECCC @ =0x020314E0
+ ldr r6, _0802ECCC @ =gUnknown_020314E0
ldr r0, [r6]
movs r5, #0xc3
lsls r5, r5, #2
@@ -57549,7 +57549,7 @@ _0802EC9A:
strh r0, [r1]
b _0802ED14
.align 2, 0
-_0802ECCC: .4byte 0x020314E0
+_0802ECCC: .4byte gUnknown_020314E0
_0802ECD0: .4byte 0x00004E20
_0802ECD4: .4byte 0x0000030E
_0802ECD8: .4byte 0x00000322
@@ -57581,7 +57581,7 @@ _0802ECE0:
adds r0, r0, r1
strh r7, [r0]
_0802ED14:
- ldr r0, _0802EE00 @ =0x020314E0
+ ldr r0, _0802EE00 @ =gUnknown_020314E0
ldr r2, [r0]
movs r6, #0xc3
lsls r6, r6, #2
@@ -57594,7 +57594,7 @@ _0802ED14:
ldr r1, [r0]
movs r0, #0
strb r0, [r1]
- ldr r2, _0802EE00 @ =0x020314E0
+ ldr r2, _0802EE00 @ =gUnknown_020314E0
ldr r4, [r2]
movs r3, #0xc5
lsls r3, r3, #2
@@ -57642,7 +57642,7 @@ _0802ED14:
movs r0, #1
strb r0, [r1, #1]
_0802ED90:
- ldr r3, _0802EE00 @ =0x020314E0
+ ldr r3, _0802EE00 @ =gUnknown_020314E0
ldr r7, [r3]
ldrb r0, [r7, #0x1f]
cmp r0, #0
@@ -57695,7 +57695,7 @@ _0802ED9C:
_0802EDF4: .4byte 0x00000306
_0802EDF8: .4byte 0x00000322
_0802EDFC: .4byte 0x0000FC18
-_0802EE00: .4byte 0x020314E0
+_0802EE00: .4byte gUnknown_020314E0
_0802EE04: .4byte 0x0000132C
_0802EE08: .4byte 0x00000316
_0802EE0C: .4byte 0x0000FFE7
@@ -57750,7 +57750,7 @@ _0802EE14:
adds r0, r7, r4
mov r5, r8
strb r5, [r0]
- ldr r7, _0802EEF4 @ =0x020314E0
+ ldr r7, _0802EEF4 @ =gUnknown_020314E0
ldr r0, [r7]
strb r5, [r0, #0x1f]
ldr r1, [r7]
@@ -57773,7 +57773,7 @@ _0802EE14:
movs r0, #7
bl sub_11B0
_0802EEAA:
- ldr r2, _0802EEF4 @ =0x020314E0
+ ldr r2, _0802EEF4 @ =gUnknown_020314E0
ldr r1, [r2]
add r1, sb
ldr r2, [r1]
@@ -57800,7 +57800,7 @@ _0802EED0:
_0802EED8:
movs r0, #9
str r0, [sp]
- ldr r2, _0802EEF4 @ =0x020314E0
+ ldr r2, _0802EEF4 @ =gUnknown_020314E0
ldr r1, [r2]
b _0802EFBC
.align 2, 0
@@ -57808,9 +57808,9 @@ _0802EEE4: .4byte 0x00000316
_0802EEE8: .4byte 0x0000031A
_0802EEEC: .4byte 0x0000132C
_0802EEF0: .4byte 0x000005F7
-_0802EEF4: .4byte 0x020314E0
+_0802EEF4: .4byte gUnknown_020314E0
_0802EEF8:
- ldr r0, _0802EF64 @ =0x020314E0
+ ldr r0, _0802EF64 @ =gUnknown_020314E0
ldr r4, [r0]
movs r7, #0xc3
lsls r7, r7, #2
@@ -57863,7 +57863,7 @@ _0802EEF8:
strh r0, [r1]
b _0802EF90
.align 2, 0
-_0802EF64: .4byte 0x020314E0
+_0802EF64: .4byte gUnknown_020314E0
_0802EF68: .4byte 0x08137CBC
_0802EF6C: .4byte 0x0000FFFE
_0802EF70: .4byte 0x0000030E
@@ -57880,7 +57880,7 @@ _0802EF7C:
ldr r1, _0802EFD4 @ =0x086A11A4
bl MPlayStart
_0802EF90:
- ldr r4, _0802EFD8 @ =0x020314E0
+ ldr r4, _0802EFD8 @ =gUnknown_020314E0
ldr r1, [r4]
movs r2, #0xc4
lsls r2, r2, #2
@@ -57913,9 +57913,9 @@ _0802EFBC:
_0802EFCC: .4byte 0x00000306
_0802EFD0: .4byte 0x02032F20
_0802EFD4: .4byte 0x086A11A4
-_0802EFD8: .4byte 0x020314E0
+_0802EFD8: .4byte gUnknown_020314E0
_0802EFDC:
- ldr r4, _0802F10C @ =0x020314E0
+ ldr r4, _0802F10C @ =gUnknown_020314E0
ldr r0, [r4]
ldr r5, _0802F110 @ =0x0000030E
adds r1, r0, r5
@@ -57951,7 +57951,7 @@ _0802EFFC:
ldr r0, _0802F128 @ =0x80000240
str r0, [r2, #8]
ldr r0, [r2, #8]
- ldr r0, _0802F10C @ =0x020314E0
+ ldr r0, _0802F10C @ =gUnknown_020314E0
ldr r4, [r0]
movs r5, #0xc8
lsls r5, r5, #2
@@ -58067,7 +58067,7 @@ _0802F0FA:
pop {r0}
bx r0
.align 2, 0
-_0802F10C: .4byte 0x020314E0
+_0802F10C: .4byte gUnknown_020314E0
_0802F110: .4byte 0x0000030E
_0802F114: .4byte 0x00000306
_0802F118: .4byte 0x0200DED8
@@ -58088,7 +58088,7 @@ sub_2F140: @ 0x0802F140
mov r6, sb
mov r5, r8
push {r5, r6, r7}
- ldr r0, _0802F240 @ =0x020314E0
+ ldr r0, _0802F240 @ =gUnknown_020314E0
ldr r5, [r0]
movs r1, #0xa4
lsls r1, r1, #2
@@ -58214,7 +58214,7 @@ _0802F1CE:
pop {r0}
bx r0
.align 2, 0
-_0802F240: .4byte 0x020314E0
+_0802F240: .4byte gUnknown_020314E0
_0802F244: .4byte 0x0200E9A0
_0802F248: .4byte 0x086AE462
_0802F24C: .4byte 0x040000D4
@@ -58229,7 +58229,7 @@ _0802F268: .4byte 0x000001FF
thumb_func_start sub_2F26C
sub_2F26C: @ 0x0802F26C
push {r4, r5, r6, lr}
- ldr r1, _0802F290 @ =0x020314E0
+ ldr r1, _0802F290 @ =gUnknown_020314E0
ldr r0, [r1]
movs r2, #0xde
lsls r2, r2, #2
@@ -58248,7 +58248,7 @@ _0802F286:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0802F290: .4byte 0x020314E0
+_0802F290: .4byte gUnknown_020314E0
_0802F294: .4byte _0802F298
_0802F298: @ jump table
.4byte _0802F2AC @ case 0
@@ -58561,7 +58561,7 @@ sub_2F504: @ 0x0802F504
mov sl, r1
cmp r0, #0
beq _0802F5EC
- ldr r3, _0802F704 @ =0x020314E0
+ ldr r3, _0802F704 @ =gUnknown_020314E0
ldr r0, [r3]
adds r0, #0x58
ldrh r1, [r0]
@@ -58671,7 +58671,7 @@ _0802F5EC:
ldrh r0, [r6]
cmp r0, #0
beq _0802F69A
- ldr r2, _0802F704 @ =0x020314E0
+ ldr r2, _0802F704 @ =gUnknown_020314E0
ldr r0, [r2]
adds r0, #0x58
ldrh r1, [r0]
@@ -58760,7 +58760,7 @@ _0802F69A:
ldrh r0, [r6]
cmp r0, #0
beq _0802F780
- ldr r2, _0802F704 @ =0x020314E0
+ ldr r2, _0802F704 @ =gUnknown_020314E0
ldr r0, [r2]
adds r0, #0x58
ldrh r1, [r0]
@@ -58807,7 +58807,7 @@ _0802F69A:
b _0802F74C
.align 2, 0
_0802F700: .4byte 0x0200C668
-_0802F704: .4byte 0x020314E0
+_0802F704: .4byte gUnknown_020314E0
_0802F708: .4byte 0x00000379
_0802F70C: .4byte 0x040000D4
_0802F710: .4byte 0x08512C4C
@@ -58873,7 +58873,7 @@ sub_2F79C: @ 0x0802F79C
mov r7, r8
push {r7}
movs r1, #0
- ldr r0, _0802F7D0 @ =0x020314E0
+ ldr r0, _0802F7D0 @ =gUnknown_020314E0
mov r8, r0
_0802F7A8:
mov r2, r8
@@ -58897,7 +58897,7 @@ _0802F7C4:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0802F7D0: .4byte 0x020314E0
+_0802F7D0: .4byte gUnknown_020314E0
_0802F7D4: .4byte 0x0000036A
_0802F7D8: .4byte _0802F7DC
_0802F7DC: @ jump table
@@ -58979,7 +58979,7 @@ _0802F878:
b _0802FB26
_0802F87E:
ldr r2, _0802F8B0 @ =0x086AE4FC
- ldr r7, _0802F8B4 @ =0x020314E0
+ ldr r7, _0802F8B4 @ =gUnknown_020314E0
ldr r1, [r7]
asrs r4, r6, #0x10
movs r3, #0xdb
@@ -59005,7 +59005,7 @@ _0802F87E:
b _0802F8EC
.align 2, 0
_0802F8B0: .4byte 0x086AE4FC
-_0802F8B4: .4byte 0x020314E0
+_0802F8B4: .4byte gUnknown_020314E0
_0802F8B8: .4byte 0x0000036E
_0802F8BC:
ldrb r0, [r3]
@@ -59032,7 +59032,7 @@ _0802F8BC:
lsls r0, r0, #3
str r0, [r1, #0x3c]
_0802F8EC:
- ldr r0, _0802F93C @ =0x020314E0
+ ldr r0, _0802F93C @ =gUnknown_020314E0
ldr r3, [r0]
asrs r2, r6, #0x10
movs r4, #0xdb
@@ -59074,7 +59074,7 @@ _0802F926:
b _0802FB16
.align 2, 0
_0802F938: .4byte 0x0000036E
-_0802F93C: .4byte 0x020314E0
+_0802F93C: .4byte gUnknown_020314E0
_0802F940: .4byte 0x00000376
_0802F944:
ldr r1, _0802F978 @ =0x086AE4FC
@@ -59540,7 +59540,7 @@ sub_2FCD0: @ 0x0802FCD0
bne _0802FCE4
b _080300B2
_0802FCE4:
- ldr r3, _0802FDD0 @ =0x020314E0
+ ldr r3, _0802FDD0 @ =gUnknown_020314E0
ldr r0, [r3]
adds r0, #0x58
ldrh r1, [r0]
@@ -59659,7 +59659,7 @@ _0802FD42:
b _0802FE0C
.align 2, 0
_0802FDCC: .4byte 0x0200DF90
-_0802FDD0: .4byte 0x020314E0
+_0802FDD0: .4byte gUnknown_020314E0
_0802FDD4: .4byte 0x086AE4FC
_0802FDD8: .4byte 0x040000D4
_0802FDDC: .4byte 0x0847A40C
@@ -60022,7 +60022,7 @@ _080300D4: .4byte 0xFFFFFE00
thumb_func_start sub_300D8
sub_300D8: @ 0x080300D8
push {r4, r5, lr}
- ldr r0, _08030170 @ =0x020314E0
+ ldr r0, _08030170 @ =gUnknown_020314E0
ldr r5, [r0]
movs r0, #0xbc
lsls r0, r0, #1
@@ -60092,7 +60092,7 @@ sub_300D8: @ 0x080300D8
pop {r0}
bx r0
.align 2, 0
-_08030170: .4byte 0x020314E0
+_08030170: .4byte gUnknown_020314E0
_08030174: .4byte 0x000004EC
thumb_func_start sub_30178
@@ -60104,7 +60104,7 @@ sub_30178: @ 0x08030178
push {r5, r6, r7}
ldr r0, _080301DC @ =0x0200E100
mov sl, r0
- ldr r1, _080301E0 @ =0x020314E0
+ ldr r1, _080301E0 @ =gUnknown_020314E0
ldr r3, [r1]
ldr r2, _080301E4 @ =0x00000624
adds r0, r3, r2
@@ -60126,7 +60126,7 @@ _080301A0:
bl m4aSongNumStart
movs r0, #7
bl sub_11B0
- ldr r3, _080301E0 @ =0x020314E0
+ ldr r3, _080301E0 @ =gUnknown_020314E0
ldr r1, [r3]
movs r0, #0x13
ldrsb r0, [r1, r0]
@@ -60148,7 +60148,7 @@ _080301A0:
b _080301F6
.align 2, 0
_080301DC: .4byte 0x0200E100
-_080301E0: .4byte 0x020314E0
+_080301E0: .4byte gUnknown_020314E0
_080301E4: .4byte 0x00000624
_080301E8: .4byte 0x00000625
_080301EC:
@@ -60160,7 +60160,7 @@ _080301F4:
movs r0, #6
_080301F6:
strb r0, [r1]
- ldr r7, _08030318 @ =0x020314E0
+ ldr r7, _08030318 @ =gUnknown_020314E0
ldr r5, [r7]
ldr r1, _0803031C @ =0x00000625
adds r0, r5, r1
@@ -60243,7 +60243,7 @@ _080301F6:
movs r0, #0xce
strh r0, [r2, #0x38]
_0803029C:
- ldr r2, _08030318 @ =0x020314E0
+ ldr r2, _08030318 @ =gUnknown_020314E0
ldr r0, [r2]
movs r3, #0xbb
lsls r3, r3, #1
@@ -60265,7 +60265,7 @@ _0803029C:
ldr r0, _08030348 @ =0x0000C350
str r0, [r3, #0x3c]
_080302C6:
- ldr r0, _08030318 @ =0x020314E0
+ ldr r0, _08030318 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r2, _0803034C @ =0x00000624
adds r1, r1, r2
@@ -60283,7 +60283,7 @@ _080302DE:
ldr r6, _0803032C @ =0x040000D4
mov sb, r6
_080302E4:
- ldr r1, _08030318 @ =0x020314E0
+ ldr r1, _08030318 @ =gUnknown_020314E0
ldr r4, [r1]
lsls r0, r0, #0x10
asrs r2, r0, #0x10
@@ -60310,7 +60310,7 @@ _08030308:
strb r0, [r3]
b _08030370
.align 2, 0
-_08030318: .4byte 0x020314E0
+_08030318: .4byte gUnknown_020314E0
_0803031C: .4byte 0x00000625
_08030320: .4byte 0x000006C6
_08030324: .4byte gMain
@@ -60354,7 +60354,7 @@ _08030370:
ldr r0, _0803046C @ =0x80000100
str r0, [r2, #8]
ldr r0, [r2, #8]
- ldr r6, _08030470 @ =0x020314E0
+ ldr r6, _08030470 @ =gUnknown_020314E0
ldr r4, [r6]
lsls r0, r5, #2
adds r7, r4, r0
@@ -60463,14 +60463,14 @@ _08030456:
_08030464: .4byte 0x0845690C
_08030468: .4byte 0x060133A0
_0803046C: .4byte 0x80000100
-_08030470: .4byte 0x020314E0
+_08030470: .4byte gUnknown_020314E0
_08030474: .4byte gOamBuffer
_08030478: .4byte 0x000001FF
_0803047C: .4byte 0xFFFFFE00
thumb_func_start sub_30480
sub_30480: @ 0x08030480
- ldr r2, _080304C4 @ =0x020314E0
+ ldr r2, _080304C4 @ =gUnknown_020314E0
ldr r0, [r2]
movs r1, #0xf6
lsls r1, r1, #1
@@ -60504,7 +60504,7 @@ sub_30480: @ 0x08030480
strh r0, [r1]
bx lr
.align 2, 0
-_080304C4: .4byte 0x020314E0
+_080304C4: .4byte gUnknown_020314E0
thumb_func_start sub_304C8
sub_304C8: @ 0x080304C8
@@ -60521,7 +60521,7 @@ sub_304C8: @ 0x080304C8
ldr r7, _08030504 @ =0x0200D918
movs r1, #0
str r1, [sp]
- ldr r1, _08030508 @ =0x020314E0
+ ldr r1, _08030508 @ =gUnknown_020314E0
ldr r0, [r1]
movs r2, #0xf6
lsls r2, r2, #1
@@ -60539,7 +60539,7 @@ sub_304C8: @ 0x080304C8
mov pc, r0
.align 2, 0
_08030504: .4byte 0x0200D918
-_08030508: .4byte 0x020314E0
+_08030508: .4byte gUnknown_020314E0
_0803050C: .4byte _08030510
_08030510: @ jump table
.4byte _08030552 @ case 0
@@ -60706,7 +60706,7 @@ _0803062E:
movs r1, #1
bl sub_52BB0
_0803065E:
- ldr r5, _08030784 @ =0x020314E0
+ ldr r5, _08030784 @ =gUnknown_020314E0
ldr r0, [r5]
ldr r4, _08030788 @ =0x000001ED
adds r0, r0, r4
@@ -60735,7 +60735,7 @@ _08030686:
bne _08030696
bl m4aMPlayAllStop
_08030696:
- ldr r0, _08030784 @ =0x020314E0
+ ldr r0, _08030784 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r6, _08030788 @ =0x000001ED
adds r0, r1, r6
@@ -60753,7 +60753,7 @@ _08030696:
movs r0, #0x16
bl m4aSongNumStart
_080306BA:
- ldr r5, _08030784 @ =0x020314E0
+ ldr r5, _08030784 @ =gUnknown_020314E0
ldr r0, [r5]
ldr r4, _08030788 @ =0x000001ED
adds r0, r0, r4
@@ -60776,7 +60776,7 @@ _080306D2:
bl m4aSongNumStart
_080306E6:
ldr r2, _0803078C @ =0x086AD2EE
- ldr r1, _08030784 @ =0x020314E0
+ ldr r1, _08030784 @ =gUnknown_020314E0
ldr r0, [r1]
ldr r3, _08030788 @ =0x000001ED
adds r0, r0, r3
@@ -60854,7 +60854,7 @@ _08030756:
b _080307AE
.align 2, 0
_08030780: .4byte gMain
-_08030784: .4byte 0x020314E0
+_08030784: .4byte gUnknown_020314E0
_08030788: .4byte 0x000001ED
_0803078C: .4byte 0x086AD2EE
_08030790:
@@ -61029,7 +61029,7 @@ sub_308DC: @ 0x080308DC
mov r6, sb
mov r5, r8
push {r5, r6, r7}
- ldr r0, _08030994 @ =0x020314E0
+ ldr r0, _08030994 @ =gUnknown_020314E0
ldr r3, [r0]
movs r2, #0xca
lsls r2, r2, #2
@@ -61120,7 +61120,7 @@ _0803091A:
strh r3, [r0]
b _08030A18
.align 2, 0
-_08030994: .4byte 0x020314E0
+_08030994: .4byte gUnknown_020314E0
_08030998: .4byte 0x000006BD
_0803099C: .4byte 0x0000FF9C
_080309A0: .4byte 0x00000332
@@ -61194,7 +61194,7 @@ _08030A18:
str r0, [r1, #0x3c]
_08030A2A:
movs r1, #0
- ldr r2, _08030A6C @ =0x020314E0
+ ldr r2, _08030A6C @ =gUnknown_020314E0
mov sb, r2
_08030A30:
mov r3, sb
@@ -61222,7 +61222,7 @@ _08030A5C: .4byte 0x00000332
_08030A60: .4byte 0x00000336
_08030A64: .4byte 0x0000032A
_08030A68: .4byte 0x00000BB8
-_08030A6C: .4byte 0x020314E0
+_08030A6C: .4byte gUnknown_020314E0
_08030A70:
cmp r4, #2
bne _08030A76
@@ -61515,7 +61515,7 @@ _08030C98:
bgt _08030CA8
b _08030A30
_08030CA8:
- ldr r1, _08030D04 @ =0x020314E0
+ ldr r1, _08030D04 @ =gUnknown_020314E0
ldr r5, [r1]
ldr r4, _08030D08 @ =0x00000326
adds r3, r5, r4
@@ -61561,7 +61561,7 @@ _08030CDC:
b _08030D18
.align 2, 0
_08030D00: .4byte 0x00000336
-_08030D04: .4byte 0x020314E0
+_08030D04: .4byte gUnknown_020314E0
_08030D08: .4byte 0x00000326
_08030D0C: .4byte 0x086AE54A
_08030D10: .4byte 0x000006C2
@@ -61778,7 +61778,7 @@ sub_30EB4: @ 0x08030EB4
bne _08030EC8
b _0803110C
_08030EC8:
- ldr r3, _08031010 @ =0x020314E0
+ ldr r3, _08031010 @ =gUnknown_020314E0
ldr r0, [r3]
adds r0, #0x58
ldrh r1, [r0]
@@ -61909,7 +61909,7 @@ _08030FB4:
adds r0, r5, r7
ldrh r1, [r0]
subs r1, r1, r2
- ldr r0, _08031010 @ =0x020314E0
+ ldr r0, _08031010 @ =gUnknown_020314E0
ldr r4, [r0]
adds r0, r4, #0
adds r0, #0x58
@@ -61943,7 +61943,7 @@ _08030FB4:
b _08031040
.align 2, 0
_0803100C: .4byte 0x0200E1B8
-_08031010: .4byte 0x020314E0
+_08031010: .4byte gUnknown_020314E0
_08031014: .4byte 0x040000D4
_08031018: .4byte 0x0844F20C
_0803101C: .4byte 0x060139A0
@@ -61958,7 +61958,7 @@ _0803103C:
movs r0, #0xc8
strh r0, [r6, #4]
_08031040:
- ldr r7, _0803111C @ =0x020314E0
+ ldr r7, _0803111C @ =gUnknown_020314E0
ldr r3, [r7]
mov r0, sb
asrs r2, r0, #0x10
@@ -62070,7 +62070,7 @@ _0803110C:
pop {r0}
bx r0
.align 2, 0
-_0803111C: .4byte 0x020314E0
+_0803111C: .4byte gUnknown_020314E0
_08031120: .4byte 0x0000032F
_08031124: .4byte 0x084FDF8C
_08031128: .4byte 0x06013C20
@@ -62084,7 +62084,7 @@ _08031140: .4byte 0xFFFFFE00
thumb_func_start sub_31144
sub_31144: @ 0x08031144
push {r4, r5, r6, r7, lr}
- ldr r1, _08031190 @ =0x020314E0
+ ldr r1, _08031190 @ =gUnknown_020314E0
ldr r5, [r1]
movs r2, #0xd2
lsls r2, r2, #1
@@ -62123,7 +62123,7 @@ _0803115C:
adds r0, r5, r2
b _080311B4
.align 2, 0
-_08031190: .4byte 0x020314E0
+_08031190: .4byte gUnknown_020314E0
_08031194: .4byte 0x000001A5
_08031198: .4byte 0x08137CF6
_0803119C:
@@ -62402,7 +62402,7 @@ sub_313A0: @ 0x080313A0
ldrh r0, [r6]
cmp r0, #0
beq _0803145C
- ldr r0, _08031468 @ =0x020314E0
+ ldr r0, _08031468 @ =gUnknown_020314E0
ldr r3, [r0]
adds r0, r3, #0
adds r0, #0x58
@@ -62498,7 +62498,7 @@ _0803145C:
bx r0
.align 2, 0
_08031464: .4byte 0x0200E550
-_08031468: .4byte 0x020314E0
+_08031468: .4byte gUnknown_020314E0
_0803146C: .4byte 0x000001AD
_08031470: .4byte 0x040000D4
_08031474: .4byte 0x081BC984
@@ -62518,7 +62518,7 @@ sub_31498: @ 0x08031498
mov r6, sb
mov r5, r8
push {r5, r6, r7}
- ldr r1, _080314C4 @ =0x020314E0
+ ldr r1, _080314C4 @ =gUnknown_020314E0
ldr r0, [r1]
ldr r2, _080314C8 @ =0x00000346
adds r0, r0, r2
@@ -62536,7 +62536,7 @@ _080314B8:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_080314C4: .4byte 0x020314E0
+_080314C4: .4byte gUnknown_020314E0
_080314C8: .4byte 0x00000346
_080314CC: .4byte _080314D0
_080314D0: @ jump table
@@ -62651,7 +62651,7 @@ _080315A4:
movs r0, #0xde
bl m4aSongNumStart
_080315C2:
- ldr r0, _080315FC @ =0x020314E0
+ ldr r0, _080315FC @ =gUnknown_020314E0
ldr r3, [r0]
ldr r1, _080315F4 @ =0x00000345
adds r0, r3, r1
@@ -62678,7 +62678,7 @@ _080315C2:
.align 2, 0
_080315F4: .4byte 0x00000345
_080315F8: .4byte 0x00004E20
-_080315FC: .4byte 0x020314E0
+_080315FC: .4byte gUnknown_020314E0
_08031600: .4byte 0x040000D4
_08031604: .4byte 0x08490A4C
_08031608: .4byte 0x0600D900
@@ -62906,7 +62906,7 @@ _080317D4:
.align 2, 0
_080317DC: .4byte 0x00000346
_080317E0:
- ldr r5, _08031894 @ =0x020314E0
+ ldr r5, _08031894 @ =gUnknown_020314E0
ldr r4, [r5]
ldr r7, _08031898 @ =0x00000343
adds r0, r4, r7
@@ -62987,7 +62987,7 @@ _080317E0:
lsls r0, r0, #2
strh r0, [r1]
_08031882:
- ldr r0, _08031894 @ =0x020314E0
+ ldr r0, _08031894 @ =gUnknown_020314E0
ldr r0, [r0]
movs r7, #0xd1
lsls r7, r7, #2
@@ -62996,7 +62996,7 @@ _08031882:
strb r1, [r0]
b _080319AC
.align 2, 0
-_08031894: .4byte 0x020314E0
+_08031894: .4byte gUnknown_020314E0
_08031898: .4byte 0x00000343
_0803189C: .4byte gMain
_080318A0: .4byte 0x00000346
@@ -63066,7 +63066,7 @@ _080318FA:
str r0, [r2, #8]
ldr r0, [r2, #8]
_08031924:
- ldr r0, _08031980 @ =0x020314E0
+ ldr r0, _08031980 @ =gUnknown_020314E0
ldr r1, [r0]
ldr r7, _08031968 @ =0x00000345
adds r0, r1, r7
@@ -63084,7 +63084,7 @@ _08031924:
movs r0, #0xe1
bl m4aSongNumStart
_08031948:
- ldr r0, _08031980 @ =0x020314E0
+ ldr r0, _08031980 @ =gUnknown_020314E0
ldr r0, [r0]
movs r3, #0xfb
lsls r3, r3, #1
@@ -63106,7 +63106,7 @@ _08031970: .4byte 0x040000D4
_08031974: .4byte 0x08490A4C
_08031978: .4byte 0x0600D900
_0803197C: .4byte 0x80000220
-_08031980: .4byte 0x020314E0
+_08031980: .4byte gUnknown_020314E0
_08031984:
strh r2, [r1]
b _080319AC
@@ -63148,7 +63148,7 @@ _080319B6:
bne _080319CC
b _08031AEA
_080319CC:
- ldr r5, _08031A0C @ =0x020314E0
+ ldr r5, _08031A0C @ =gUnknown_020314E0
ldr r1, [r5]
ldr r7, _08031A10 @ =0x00000355
adds r0, r1, r7
@@ -63176,7 +63176,7 @@ _080319FC: .4byte 0x00000346
_08031A00: .4byte 0x040000D4
_08031A04: .4byte 0x086AE554
_08031A08: .4byte 0x0200D580
-_08031A0C: .4byte 0x020314E0
+_08031A0C: .4byte gUnknown_020314E0
_08031A10: .4byte 0x00000355
_08031A14: .4byte 0x086AE58A
_08031A18: .4byte 0x0000035E
@@ -63198,7 +63198,7 @@ _08031A1C:
movs r0, #5
strb r0, [r1]
_08031A3C:
- ldr r2, _08031B0C @ =0x020314E0
+ ldr r2, _08031B0C @ =gUnknown_020314E0
ldr r4, [r2]
mov r7, r8
asrs r3, r7, #0x10
@@ -63305,7 +63305,7 @@ _08031AFA:
bx r0
.align 2, 0
_08031B08: .4byte 0x00000355
-_08031B0C: .4byte 0x020314E0
+_08031B0C: .4byte gUnknown_020314E0
_08031B10: .4byte 0x086AE588
_08031B14: .4byte 0x0845A08C
_08031B18: .4byte 0x060140A0
@@ -63330,7 +63330,7 @@ _08031B42:
ldrh r0, [r6]
cmp r0, #0
beq _08031BD6
- ldr r0, _08031B70 @ =0x020314E0
+ ldr r0, _08031B70 @ =gUnknown_020314E0
ldr r1, [r0]
adds r0, r1, #0
adds r0, #0x4c
@@ -63348,7 +63348,7 @@ _08031B42:
_08031B64: .4byte gMain
_08031B68: .4byte 0x00004010
_08031B6C: .4byte 0x00003D30
-_08031B70: .4byte 0x020314E0
+_08031B70: .4byte gUnknown_020314E0
_08031B74:
adds r0, r1, #0
adds r0, #0x58
@@ -63415,14 +63415,14 @@ sub_31BE8: @ 0x08031BE8
push {r4, r5, r6, r7, lr}
lsls r0, r0, #0x10
lsrs r3, r0, #0x10
- ldr r1, _08031C40 @ =0x020314E0
+ ldr r1, _08031C40 @ =gUnknown_020314E0
ldr r0, [r1]
adds r0, #0x70
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
adds r7, r1, #0
- ldr r5, _08031C44 @ =0x02031520
+ ldr r5, _08031C44 @ =gUnknown_02031520
cmp r0, #1
bne _08031C1C
ldr r2, _08031C48 @ =0x040000D4
@@ -63458,8 +63458,8 @@ _08031C1C:
ldr r0, _08031C5C @ =0x80000060
b _08031C78
.align 2, 0
-_08031C40: .4byte 0x020314E0
-_08031C44: .4byte 0x02031520
+_08031C40: .4byte gUnknown_020314E0
+_08031C44: .4byte gUnknown_02031520
_08031C48: .4byte 0x040000D4
_08031C4C: .4byte 0x05000200
_08031C50: .4byte 0x80000010
@@ -63553,7 +63553,7 @@ sub_31CF8: @ 0x08031CF8
ldrb r0, [r0, #2]
cmp r0, #3
beq _08031D20
- ldr r0, _08031D84 @ =0x020314E0
+ ldr r0, _08031D84 @ =gUnknown_020314E0
ldr r0, [r0]
movs r1, #0xb3
lsls r1, r1, #3
@@ -63564,7 +63564,7 @@ sub_31CF8: @ 0x08031CF8
bl sub_52BB0
_08031D20:
ldr r2, _08031D88 @ =0x086A3700
- ldr r1, _08031D84 @ =0x020314E0
+ ldr r1, _08031D84 @ =gUnknown_020314E0
ldr r4, [r1]
movs r3, #0xb3
lsls r3, r3, #3
@@ -63616,11 +63616,11 @@ _08031D60:
b _08031F4C
.align 2, 0
_08031D80: .4byte gMain
-_08031D84: .4byte 0x020314E0
+_08031D84: .4byte gUnknown_020314E0
_08031D88: .4byte 0x086A3700
_08031D8C: .4byte 0x00000281
_08031D90:
- ldr r2, _08031E10 @ =0x020314E0
+ ldr r2, _08031E10 @ =gUnknown_020314E0
ldr r1, [r2]
ldr r6, _08031E14 @ =0x00000281
adds r1, r1, r6
@@ -63686,7 +63686,7 @@ _08031DE6:
movs r0, #0xe
b _08031EB2
.align 2, 0
-_08031E10: .4byte 0x020314E0
+_08031E10: .4byte gUnknown_020314E0
_08031E14: .4byte 0x00000281
_08031E18: .4byte gMain
_08031E1C:
@@ -63781,7 +63781,7 @@ _08031EB4:
ldrb r0, [r4, #2]
cmp r0, #3
beq _08031ECE
- ldr r0, _08031F20 @ =0x020314E0
+ ldr r0, _08031F20 @ =gUnknown_020314E0
ldr r0, [r0]
movs r3, #0xb3
lsls r3, r3, #3
@@ -63792,7 +63792,7 @@ _08031EB4:
bl sub_52BB0
_08031ECE:
ldr r2, _08031F1C @ =0x086A3700
- ldr r1, _08031F20 @ =0x020314E0
+ ldr r1, _08031F20 @ =gUnknown_020314E0
ldr r4, [r1]
movs r3, #0xb3
lsls r3, r3, #3
@@ -63833,7 +63833,7 @@ _08031F00:
b _08031F5E
.align 2, 0
_08031F1C: .4byte 0x086A3700
-_08031F20: .4byte 0x020314E0
+_08031F20: .4byte gUnknown_020314E0
_08031F24: .4byte 0x00000281
_08031F28:
movs r2, #0
@@ -63882,7 +63882,7 @@ sub_31F6C: @ 0x08031F6C
mov r5, r8
push {r5, r6, r7}
sub sp, #4
- ldr r4, _08031FE0 @ =0x020314E0
+ ldr r4, _08031FE0 @ =gUnknown_020314E0
ldr r0, [r4]
movs r1, #0x97
lsls r1, r1, #1
@@ -63937,7 +63937,7 @@ _08031FA2:
beq _08032018
b _080320A8
.align 2, 0
-_08031FE0: .4byte 0x020314E0
+_08031FE0: .4byte gUnknown_020314E0
_08031FE4: .4byte 0x0000073D
_08031FE8: .4byte 0x0200B134
_08031FEC: .4byte gWildMonLocations
@@ -64167,60747 +64167,3 @@ _08032190: .4byte 0x086A3700
_08032194: .4byte gWildMonLocations
_08032198: .4byte 0x0000059C
- thumb_func_start sub_3219C
-sub_3219C: @ 0x0803219C
- push {r4, r5, r6, r7, lr}
- sub sp, #0xc
- ldr r4, _080321C8 @ =gMain
- movs r0, #7
- ldrsb r0, [r4, r0]
- cmp r0, #0
- beq _08032208
- movs r0, #0
- strb r0, [r4, #7]
- bl Random
- ldr r1, [r4, #0x4c]
- ldr r2, [r4, #0x50]
- adds r1, r1, r2
- adds r3, r0, r1
- movs r1, #3
- ands r3, r1
- movs r5, #0
- adds r2, r4, #0
- adds r2, #0x74
- adds r0, r3, #0
- b _080321DE
- .align 2, 0
-_080321C8: .4byte gMain
-_080321CC:
- lsls r0, r5, #0x10
- movs r4, #0x80
- lsls r4, r4, #9
- adds r0, r0, r4
- lsrs r5, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- bgt _080321EA
- adds r0, r0, r3
-_080321DE:
- ands r0, r1
- adds r0, #0xc9
- adds r0, r0, r2
- ldrb r0, [r0]
- cmp r0, #3
- bhi _080321CC
-_080321EA:
- ldr r0, _08032204 @ =0x020314E0
- ldr r2, [r0]
- lsls r0, r5, #0x10
- asrs r0, r0, #0x10
- adds r0, r0, r3
- movs r1, #3
- ands r0, r1
- adds r0, #0xc9
- movs r1, #0xb3
- lsls r1, r1, #3
- adds r2, r2, r1
- b _08032452
- .align 2, 0
-_08032204: .4byte 0x020314E0
-_08032208:
- bl Random
- ldr r1, [r4, #0x4c]
- ldr r2, [r4, #0x50]
- adds r1, r1, r2
- adds r3, r0, r1
- movs r0, #8
- ldrsb r0, [r4, r0]
- cmp r0, #0
- beq _08032222
- adds r0, r3, #0
- movs r1, #0x32
- b _08032226
-_08032222:
- adds r0, r3, #0
- movs r1, #0x64
-_08032226:
- bl __umodsi3
- adds r3, r0, #0
- ldr r0, _08032338 @ =0x02031520
- movs r2, #8
- ldrsh r0, [r0, r2]
- cmp r0, #0x63
- bgt _08032238
- movs r3, #1
-_08032238:
- ldr r7, _0803233C @ =0x020314E0
- cmp r3, #0
- bne _0803224C
- ldr r0, [r7]
- movs r3, #0xbe
- lsls r3, r3, #3
- adds r0, r0, r3
- ldrh r0, [r0]
- cmp r0, #4
- bhi _0803225E
-_0803224C:
- ldr r1, [r7]
- ldr r4, _08032340 @ =0x0000012B
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0803225E
- b _080323C0
-_0803225E:
- movs r4, #0
- ldr r0, [r7]
- movs r1, #0xb3
- lsls r1, r1, #3
- adds r3, r0, r1
- strh r4, [r3]
- ldr r1, _08032344 @ =0x0200B134
- adds r0, r1, #0
- adds r0, #0xcc
- ldrb r2, [r0]
- adds r5, r1, #0
- cmp r2, #0
- beq _08032286
- movs r4, #1
- mov r0, sp
- movs r1, #0xcc
- strh r1, [r0]
- cmp r2, #3
- bhi _08032286
- strh r1, [r3]
-_08032286:
- adds r0, r5, #0
- adds r0, #0xc9
- ldrb r2, [r0]
- cmp r2, #0
- beq _080322B4
- adds r0, r4, #0
- lsls r1, r0, #0x10
- movs r3, #0x80
- lsls r3, r3, #9
- adds r1, r1, r3
- lsrs r4, r1, #0x10
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- add r0, sp
- movs r1, #0xc9
- strh r1, [r0]
- cmp r2, #3
- bhi _080322B4
- ldr r0, [r7]
- movs r2, #0xb3
- lsls r2, r2, #3
- adds r0, r0, r2
- strh r1, [r0]
-_080322B4:
- adds r0, r5, #0
- adds r0, #0xcb
- ldrb r2, [r0]
- cmp r2, #0
- beq _080322E2
- adds r0, r4, #0
- lsls r1, r0, #0x10
- movs r3, #0x80
- lsls r3, r3, #9
- adds r1, r1, r3
- lsrs r4, r1, #0x10
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- add r0, sp
- movs r1, #0xcb
- strh r1, [r0]
- cmp r2, #3
- bhi _080322E2
- ldr r0, [r7]
- movs r2, #0xb3
- lsls r2, r2, #3
- adds r0, r0, r2
- strh r1, [r0]
-_080322E2:
- adds r0, r5, #0
- adds r0, #0xca
- ldrb r2, [r0]
- cmp r2, #0
- beq _08032310
- adds r0, r4, #0
- lsls r1, r0, #0x10
- movs r3, #0x80
- lsls r3, r3, #9
- adds r1, r1, r3
- lsrs r4, r1, #0x10
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- add r0, sp
- movs r1, #0xca
- strh r1, [r0]
- cmp r2, #3
- bhi _08032310
- ldr r0, [r7]
- movs r2, #0xb3
- lsls r2, r2, #3
- adds r0, r0, r2
- strh r1, [r0]
-_08032310:
- ldr r2, _08032348 @ =gMain
- ldrb r0, [r2, #4]
- cmp r0, #0
- bne _0803234C
- adds r1, r4, #0
- lsls r0, r1, #0x10
- movs r3, #0x80
- lsls r3, r3, #9
- adds r0, r0, r3
- lsrs r4, r0, #0x10
- lsls r1, r1, #0x10
- asrs r1, r1, #0xf
- mov r3, sp
- adds r0, r3, r1
- movs r1, #0xc4
- strh r1, [r0]
- movs r3, #0x9c
- lsls r3, r3, #1
- b _08032366
- .align 2, 0
-_08032338: .4byte 0x02031520
-_0803233C: .4byte 0x020314E0
-_08032340: .4byte 0x0000012B
-_08032344: .4byte 0x0200B134
-_08032348: .4byte gMain
-_0803234C:
- adds r1, r4, #0
- lsls r0, r1, #0x10
- movs r3, #0x80
- lsls r3, r3, #9
- adds r0, r0, r3
- lsrs r4, r0, #0x10
- lsls r1, r1, #0x10
- asrs r1, r1, #0xf
- mov r3, sp
- adds r0, r3, r1
- movs r1, #0xc3
- strh r1, [r0]
- ldr r3, _080323B4 @ =0x00000137
-_08032366:
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, #3
- bhi _08032378
- ldr r0, [r7]
- movs r2, #0xb3
- lsls r2, r2, #3
- adds r0, r0, r2
- strh r1, [r0]
-_08032378:
- ldr r5, _080323B8 @ =0x020314E0
- ldr r0, [r5]
- movs r3, #0xb3
- lsls r3, r3, #3
- adds r0, r0, r3
- ldrh r0, [r0]
- cmp r0, #0
- bne _08032454
- bl Random
- ldr r2, _080323BC @ =gMain
- ldr r1, [r2, #0x4c]
- ldr r2, [r2, #0x50]
- adds r1, r1, r2
- adds r3, r0, r1
- lsls r1, r4, #0x10
- asrs r1, r1, #0x10
- adds r0, r3, #0
- bl __umodsi3
- adds r3, r0, #0
- ldr r1, [r5]
- lsls r0, r3, #1
- add r0, sp
- ldrh r0, [r0]
- movs r4, #0xb3
- lsls r4, r4, #3
- adds r1, r1, r4
- strh r0, [r1]
- b _08032454
- .align 2, 0
-_080323B4: .4byte 0x00000137
-_080323B8: .4byte 0x020314E0
-_080323BC: .4byte gMain
-_080323C0:
- ldr r2, _08032470 @ =0x0000073D
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- movs r6, #0
- cmp r0, #3
- bne _080323D2
- movs r6, #1
-_080323D2:
- bl Random
- ldr r2, _08032474 @ =gMain
- ldr r1, [r2, #0x4c]
- ldr r2, [r2, #0x50]
- adds r1, r1, r2
- adds r3, r0, r1
- ldr r4, [r7]
- movs r1, #0x97
- lsls r1, r1, #1
- adds r0, r4, r1
- movs r2, #0
- ldrsh r1, [r0, r2]
- adds r0, r3, #0
- bl __umodsi3
- adds r3, r0, #0
- movs r5, #0
- movs r1, #0x98
- lsls r1, r1, #1
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- lsls r6, r6, #0x10
- cmp r0, r3
- bhi _0803242A
- adds r4, r7, #0
- adds r2, r1, #0
-_0803240A:
- lsls r0, r5, #0x10
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r0, r1
- lsrs r5, r0, #0x10
- asrs r1, r0, #0x10
- cmp r1, #7
- bgt _0803242A
- ldr r0, [r4]
- lsls r1, r1, #1
- adds r0, r0, r2
- adds r0, r0, r1
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, r3
- bls _0803240A
-_0803242A:
- ldr r0, _08032478 @ =0x020314E0
- ldr r2, [r0]
- ldr r3, _0803247C @ =gWildMonLocations
- lsls r1, r5, #0x10
- asrs r1, r1, #0xf
- asrs r0, r6, #0x10
- lsls r0, r0, #4
- adds r1, r1, r0
- adds r0, r2, #0
- adds r0, #0x35
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #5
- adds r1, r1, r0
- adds r1, r1, r3
- ldrh r0, [r1]
- movs r3, #0xb3
- lsls r3, r3, #3
- adds r2, r2, r3
-_08032452:
- strh r0, [r2]
-_08032454:
- ldr r0, _08032478 @ =0x020314E0
- ldr r0, [r0]
- movs r4, #0xb3
- lsls r4, r4, #3
- adds r1, r0, r4
- ldrh r1, [r1]
- ldr r2, _08032480 @ =0x0000059C
- adds r0, r0, r2
- strh r1, [r0]
- add sp, #0xc
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08032470: .4byte 0x0000073D
-_08032474: .4byte gMain
-_08032478: .4byte 0x020314E0
-_0803247C: .4byte gWildMonLocations
-_08032480: .4byte 0x0000059C
-
- thumb_func_start sub_32484
-sub_32484: @ 0x08032484
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- ldr r0, _080324D4 @ =0x020314E0
- ldr r1, [r0]
- movs r3, #0x97
- lsls r3, r3, #1
- adds r2, r1, r3
- movs r1, #0
- strh r1, [r2]
- movs r2, #0
- ldr r4, _080324D8 @ =gMain
- mov sb, r4
- mov ip, sb
- ldr r5, _080324DC @ =0x086AE5E0
- mov sl, r5
-_080324A8:
- lsls r2, r2, #0x10
- asrs r1, r2, #0xf
- mov r0, ip
- ldrb r3, [r0, #4]
- movs r0, #0x34
- muls r0, r3, r0
- adds r1, r1, r0
- ldr r4, _080324E0 @ =0x086A4A38
- adds r1, r1, r4
- ldrh r5, [r1]
- movs r4, #0
- ldrsh r0, [r1, r4]
- mov r8, r2
- cmp r0, #0x57
- bne _080324F4
- cmp r3, #0
- bne _080324E4
- mov r0, ip
- adds r0, #0xcd
- ldrb r0, [r0]
- b _080324E8
- .align 2, 0
-_080324D4: .4byte 0x020314E0
-_080324D8: .4byte gMain
-_080324DC: .4byte 0x086AE5E0
-_080324E0: .4byte 0x086A4A38
-_080324E4:
- ldr r1, _080324F0 @ =0x0200B18E
- ldrb r0, [r1]
-_080324E8:
- lsls r0, r0, #1
- add r0, sl
- ldrh r3, [r0]
- b _0803257C
- .align 2, 0
-_080324F0: .4byte 0x0200B18E
-_080324F4:
- mov r1, sb
- adds r1, #0x74
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #1
- add r0, sl
- ldrh r3, [r0]
- movs r2, #0
- ldr r7, _080325CC @ =0x086A3700
- ldr r6, _080325D0 @ =0x086AE5E0
- adds r4, r1, #0
-_0803250A:
- lsls r1, r5, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #3
- adds r0, r0, r7
- ldrb r5, [r0, #0x15]
- adds r0, r5, #0
- cmp r0, #0xcc
- bgt _08032542
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #1
- adds r0, r0, r6
- ldrh r0, [r0]
- lsls r1, r3, #0x10
- lsls r0, r0, #0x10
- cmp r1, r0
- bge _08032532
- lsrs r3, r0, #0x10
-_08032532:
- lsls r0, r2, #0x10
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r0, r1
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #1
- ble _0803250A
-_08032542:
- mov r4, r8
- asrs r1, r4, #0xf
- mov r5, ip
- ldrb r2, [r5, #4]
- movs r0, #0x34
- muls r0, r2, r0
- adds r1, r1, r0
- ldr r0, _080325D4 @ =0x086A4A38
- adds r1, r1, r0
- ldrh r5, [r1]
- ldr r1, _080325D8 @ =0x020314E0
- ldr r0, [r1]
- movs r4, #0xbe
- lsls r4, r4, #3
- adds r0, r0, r4
- ldrh r0, [r0]
- cmp r0, #0
- bne _0803257C
- lsls r0, r5, #0x10
- asrs r0, r0, #0x10
- lsls r1, r0, #1
- adds r1, r1, r0
- lsls r1, r1, #3
- ldr r0, _080325CC @ =0x086A3700
- adds r1, r1, r0
- ldrb r0, [r1, #0x15]
- cmp r0, #0xcc
- bls _0803257C
- movs r3, #0
-_0803257C:
- ldr r1, _080325D8 @ =0x020314E0
- ldr r4, [r1]
- ldr r1, _080325DC @ =0x0000059E
- adds r0, r4, r1
- ldrh r1, [r0]
- lsls r0, r5, #0x10
- asrs r0, r0, #0x10
- cmp r1, r0
- bne _08032590
- movs r3, #0
-_08032590:
- movs r5, #0x97
- lsls r5, r5, #1
- adds r0, r4, r5
- lsls r2, r3, #0x10
- asrs r2, r2, #0x10
- ldrh r1, [r0]
- adds r2, r2, r1
- strh r2, [r0]
- mov r3, r8
- asrs r1, r3, #0x10
- lsls r3, r1, #1
- adds r5, #2
- adds r0, r4, r5
- adds r0, r0, r3
- strh r2, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r2, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #0x18
- bgt _080325BC
- b _080324A8
-_080325BC:
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080325CC: .4byte 0x086A3700
-_080325D0: .4byte 0x086AE5E0
-_080325D4: .4byte 0x086A4A38
-_080325D8: .4byte 0x020314E0
-_080325DC: .4byte 0x0000059E
-
- thumb_func_start sub_325E0
-sub_325E0: @ 0x080325E0
- push {r4, r5, r6, lr}
- bl Random
- ldr r3, _08032600 @ =gMain
- ldr r1, [r3, #0x4c]
- ldr r2, [r3, #0x50]
- adds r1, r1, r2
- adds r2, r0, r1
- movs r0, #8
- ldrsb r0, [r3, r0]
- cmp r0, #0
- beq _08032604
- adds r0, r2, #0
- movs r1, #0x64
- b _08032608
- .align 2, 0
-_08032600: .4byte gMain
-_08032604:
- adds r0, r2, #0
- movs r1, #0x32
-_08032608:
- bl __umodsi3
- adds r2, r0, #0
- ldr r0, _08032650 @ =0x020314E0
- ldr r3, [r0]
- ldr r4, _08032654 @ =0x0000059E
- adds r1, r3, r4
- ldrh r1, [r1]
- adds r5, r0, #0
- cmp r1, #0x9a
- bne _08032620
- movs r2, #1
-_08032620:
- cmp r2, #0
- bne _08032630
- movs r1, #0xbe
- lsls r1, r1, #3
- adds r0, r3, r1
- ldrh r0, [r0]
- cmp r0, #4
- bhi _08032640
-_08032630:
- movs r2, #0x96
- lsls r2, r2, #1
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08032658
-_08032640:
- ldr r0, [r5]
- movs r3, #0xb3
- lsls r3, r3, #3
- adds r0, r0, r3
- movs r1, #0x9a
- strh r1, [r0]
- b _080326CC
- .align 2, 0
-_08032650: .4byte 0x020314E0
-_08032654: .4byte 0x0000059E
-_08032658:
- bl Random
- ldr r2, _080326E4 @ =gMain
- ldr r1, [r2, #0x4c]
- ldr r2, [r2, #0x50]
- adds r1, r1, r2
- adds r2, r0, r1
- ldr r4, [r5]
- movs r1, #0x97
- lsls r1, r1, #1
- adds r0, r4, r1
- movs r3, #0
- ldrsh r1, [r0, r3]
- adds r0, r2, #0
- bl __umodsi3
- adds r2, r0, #0
- movs r6, #0
- movs r1, #0x98
- lsls r1, r1, #1
- adds r0, r4, r1
- movs r3, #0
- ldrsh r0, [r0, r3]
- cmp r0, r2
- bhi _080326AC
- adds r3, r1, #0
-_0803268C:
- lsls r0, r6, #0x10
- movs r4, #0x80
- lsls r4, r4, #9
- adds r0, r0, r4
- lsrs r6, r0, #0x10
- asrs r1, r0, #0x10
- cmp r1, #0x18
- bgt _080326AC
- ldr r0, [r5]
- lsls r1, r1, #1
- adds r0, r0, r3
- adds r0, r0, r1
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, r2
- bls _0803268C
-_080326AC:
- ldr r5, _080326E8 @ =0x020314E0
- ldr r3, [r5]
- ldr r4, _080326EC @ =0x086A4A38
- lsls r0, r6, #0x10
- asrs r0, r0, #0xf
- ldr r1, _080326E4 @ =gMain
- ldrb r2, [r1, #4]
- movs r1, #0x34
- muls r1, r2, r1
- adds r0, r0, r1
- adds r0, r0, r4
- ldrh r0, [r0]
- movs r2, #0xb3
- lsls r2, r2, #3
- adds r3, r3, r2
- strh r0, [r3]
-_080326CC:
- ldr r0, [r5]
- movs r3, #0xb3
- lsls r3, r3, #3
- adds r1, r0, r3
- ldrh r1, [r1]
- ldr r4, _080326F0 @ =0x0000059E
- adds r0, r0, r4
- strh r1, [r0]
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080326E4: .4byte gMain
-_080326E8: .4byte 0x020314E0
-_080326EC: .4byte 0x086A4A38
-_080326F0: .4byte 0x0000059E
-
- thumb_func_start sub_326F4
-sub_326F4: @ 0x080326F4
- push {r4, lr}
- ldr r4, _08032760 @ =0x020314E0
- ldr r0, [r4]
- ldr r1, _08032764 @ =0x0000073D
- adds r0, r0, r1
- movs r2, #0
- movs r1, #2
- strb r1, [r0]
- ldr r0, [r4]
- ldr r3, _08032768 @ =0x000001E5
- adds r0, r0, r3
- strb r2, [r0]
- ldr r0, [r4]
- movs r2, #0xf3
- lsls r2, r2, #1
- adds r1, r0, r2
- movs r0, #1
- strb r0, [r1]
- bl sub_1F2A4
- bl sub_21B0C
- bl sub_1F59C
- bl sub_300D8
- bl sub_30178
- ldr r2, [r4]
- movs r3, #0xec
- lsls r3, r3, #1
- adds r0, r2, r3
- movs r1, #0x80
- lsls r1, r1, #1
- strh r1, [r0]
- adds r3, #2
- adds r0, r2, r3
- strh r1, [r0]
- bl sub_30480
- bl sub_304C8
- bl sub_31144
- bl sub_313A0
- bl sub_2E6AC
- bl sub_31B30
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08032760: .4byte 0x020314E0
-_08032764: .4byte 0x0000073D
-_08032768: .4byte 0x000001E5
-
- thumb_func_start sub_3276C
-sub_3276C: @ 0x0803276C
- push {lr}
- bl sub_19B90
- bl sub_327C0
- ldr r0, _080327B0 @ =gMain
- ldrb r0, [r0, #0xf]
- cmp r0, #0
- bne _08032782
- bl sub_328C8
-_08032782:
- bl sub_32DF8
- ldr r0, _080327B4 @ =0x020314E0
- ldr r0, [r0]
- movs r2, #0xa7
- lsls r2, r2, #2
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, #0
- beq _080327AC
- subs r0, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- cmp r0, #0
- bne _080327AC
- ldr r0, _080327B8 @ =0x02032EE0
- ldr r1, _080327BC @ =0x0000FFFF
- movs r2, #0x80
- lsls r2, r2, #1
- bl m4aMPlayVolumeControl
-_080327AC:
- pop {r0}
- bx r0
- .align 2, 0
-_080327B0: .4byte gMain
-_080327B4: .4byte 0x020314E0
-_080327B8: .4byte 0x02032EE0
-_080327BC: .4byte 0x0000FFFF
-
- thumb_func_start sub_327C0
-sub_327C0: @ 0x080327C0
- push {r4, lr}
- bl sub_4F814
- bl sub_1A0F4
- bl sub_2CA9C
- ldr r4, _0803280C @ =0x020314E0
- ldr r0, [r4]
- adds r0, #0x68
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x59
- bgt _080327E4
- bl sub_304C8
- bl sub_31498
-_080327E4:
- ldr r2, [r4]
- movs r0, #0x13
- ldrsb r0, [r2, r0]
- cmp r0, #2
- bgt _08032814
- movs r1, #0xd1
- lsls r1, r1, #2
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, _08032810 @ =0x00FFFF00
- ands r0, r1
- movs r1, #0xc0
- lsls r1, r1, #2
- cmp r0, r1
- bne _08032814
- movs r0, #0xe5
- lsls r0, r0, #3
- adds r1, r2, r0
- movs r0, #1
- b _0803281C
- .align 2, 0
-_0803280C: .4byte 0x020314E0
-_08032810: .4byte 0x00FFFF00
-_08032814:
- movs r0, #0xe5
- lsls r0, r0, #3
- adds r1, r2, r0
- movs r0, #0
-_0803281C:
- strb r0, [r1]
- ldr r4, _080328C4 @ =0x020314E0
- ldr r0, [r4]
- adds r0, #0x68
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x95
- bgt _08032834
- bl sub_2E6AC
- bl sub_313A0
-_08032834:
- ldr r0, [r4]
- adds r0, #0x68
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xc3
- bgt _08032848
- bl sub_30178
- bl sub_2F140
-_08032848:
- ldr r0, [r4]
- adds r0, #0x68
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xc9
- bgt _08032858
- bl sub_2FCD0
-_08032858:
- ldr r0, [r4]
- adds r0, #0x68
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xdb
- bgt _08032868
- bl sub_1F59C
-_08032868:
- bl sub_308DC
- ldr r0, [r4]
- adds r0, #0x68
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x76
- ble _08032880
- bl sub_2F504
- bl sub_30EB4
-_08032880:
- bl sub_2CE80
- ldr r0, [r4]
- adds r0, #0x68
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xa8
- ble _08032894
- bl sub_2D104
-_08032894:
- bl sub_203CC
- bl sub_21B0C
- bl sub_1D128
- bl sub_31B30
- ldr r0, [r4]
- movs r1, #0xca
- lsls r1, r1, #1
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _080328BA
- bl sub_225F0
-_080328BA:
- bl sub_472E4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080328C4: .4byte 0x020314E0
-
- thumb_func_start sub_328C8
-sub_328C8: @ 0x080328C8
- push {lr}
- bl sub_300D8
- bl sub_32968
- bl sub_1F2A4
- ldr r0, _0803290C @ =0x020314E0
- ldr r0, [r0]
- movs r2, #0xc0
- lsls r2, r2, #3
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, #0
- beq _080328EA
- subs r0, #1
- strh r0, [r1]
-_080328EA:
- bl sub_2F26C
- bl sub_2E67C
- bl sub_31144
- ldr r0, _08032910 @ =gMain
- ldrb r1, [r0, #0xf]
- movs r0, #0x20
- ands r0, r1
- cmp r0, #0
- bne _08032906
- bl sub_2F79C
-_08032906:
- pop {r0}
- bx r0
- .align 2, 0
-_0803290C: .4byte 0x020314E0
-_08032910: .4byte gMain
-
- thumb_func_start sub_32914
-sub_32914: @ 0x08032914
- push {lr}
- ldr r0, _08032938 @ =gMain
- ldrb r0, [r0, #0xf]
- cmp r0, #0
- bne _0803295E
- ldr r0, _0803293C @ =0x020314E0
- ldr r0, [r0]
- adds r0, #0x25
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #3
- beq _0803294C
- cmp r0, #3
- bgt _08032940
- cmp r0, #1
- beq _08032946
- b _08032956
- .align 2, 0
-_08032938: .4byte gMain
-_0803293C: .4byte 0x020314E0
-_08032940:
- cmp r0, #4
- beq _08032952
- b _08032956
-_08032946:
- bl sub_32B74
- b _08032956
-_0803294C:
- bl sub_329B0
- b _08032956
-_08032952:
- bl sub_1C560
-_08032956:
- ldr r0, _08032964 @ =0x020314E0
- ldr r1, [r0]
- movs r0, #0x3c
- strh r0, [r1, #0x26]
-_0803295E:
- pop {r0}
- bx r0
- .align 2, 0
-_08032964: .4byte 0x020314E0
-
- thumb_func_start sub_32968
-sub_32968: @ 0x08032968
- push {lr}
- ldr r2, _08032990 @ =0x020314E0
- ldr r1, [r2]
- ldrh r0, [r1, #0x26]
- cmp r0, #0
- beq _08032978
- subs r0, #1
- strh r0, [r1, #0x26]
-_08032978:
- ldr r0, [r2]
- adds r0, #0x25
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #3
- beq _080329A0
- cmp r0, #3
- bgt _08032994
- cmp r0, #1
- beq _0803299A
- b _080329AA
- .align 2, 0
-_08032990: .4byte 0x020314E0
-_08032994:
- cmp r0, #4
- beq _080329A6
- b _080329AA
-_0803299A:
- bl sub_32BE4
- b _080329AA
-_080329A0:
- bl sub_329F4
- b _080329AA
-_080329A6:
- bl sub_1C5AC
-_080329AA:
- pop {r0}
- bx r0
-
- thumb_func_start sub_329B0
-sub_329B0: @ 0x080329B0
- push {r4, lr}
- ldr r0, _080329E4 @ =0x020314E0
- ldr r2, [r0]
- movs r3, #0
- movs r0, #0xb4
- strh r0, [r2, #0x28]
- movs r4, #0xdd
- lsls r4, r4, #1
- adds r1, r2, r4
- strh r0, [r1]
- ldr r0, _080329E8 @ =0x0007A120
- str r0, [r2, #0x3c]
- ldr r0, _080329EC @ =gMain
- ldrh r1, [r0, #0x38]
- movs r1, #0xce
- strh r1, [r0, #0x38]
- ldrh r1, [r0, #0x3c]
- strh r3, [r0, #0x3c]
- ldr r0, _080329F0 @ =0x000005F7
- adds r2, r2, r0
- movs r0, #1
- strb r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080329E4: .4byte 0x020314E0
-_080329E8: .4byte 0x0007A120
-_080329EC: .4byte gMain
-_080329F0: .4byte 0x000005F7
-
- thumb_func_start sub_329F4
-sub_329F4: @ 0x080329F4
- push {r4, r5, r6, r7, lr}
- ldr r6, _08032ABC @ =0x020314E0
- ldr r2, [r6]
- ldrh r0, [r2, #0x28]
- adds r7, r0, #0
- cmp r7, #0x18
- bls _08032AD0
- ldr r1, _08032AC0 @ =0x0000132C
- adds r0, r2, r1
- ldr r0, [r0]
- movs r3, #0
- movs r2, #1
- strb r2, [r0]
- ldr r0, [r6]
- strb r2, [r0, #0x1f]
- ldr r4, [r6]
- ldrh r0, [r4, #0x28]
- subs r0, #1
- strh r0, [r4, #0x28]
- adds r1, r4, r1
- ldr r0, [r1]
- strh r3, [r0, #0x30]
- ldr r0, [r1]
- strh r3, [r0, #0x32]
- ldr r2, [r1]
- movs r0, #0x3a
- strh r0, [r2, #0x10]
- ldr r2, [r1]
- movs r0, #0xb2
- strh r0, [r2, #0x12]
- ldr r2, [r1]
- movs r3, #0x10
- ldrsh r0, [r2, r3]
- lsls r0, r0, #1
- strh r0, [r2, #0x28]
- ldr r2, [r1]
- movs r7, #0x12
- ldrsh r0, [r2, r7]
- lsls r0, r0, #1
- strh r0, [r2, #0x2a]
- ldr r2, [r1]
- movs r3, #0x10
- ldrsh r0, [r2, r3]
- lsls r0, r0, #8
- str r0, [r2, #0x34]
- ldr r1, [r1]
- movs r7, #0x12
- ldrsh r0, [r1, r7]
- lsls r0, r0, #8
- str r0, [r1, #0x38]
- ldrh r0, [r4, #0x28]
- cmp r0, #0x31
- bhi _08032A62
- adds r0, #1
- strh r0, [r4, #0x28]
-_08032A62:
- ldr r0, [r6]
- ldr r4, _08032AC4 @ =0x000001A5
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- bl sub_1B140
- ldr r0, [r6]
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08032B5C
- movs r0, #0
- adds r4, r6, #0
- movs r6, #0
- movs r5, #0xdb
- lsls r5, r5, #2
-_08032A8A:
- ldr r1, [r4]
- lsls r2, r0, #0x10
- asrs r2, r2, #0x10
- adds r1, r1, r5
- adds r1, r1, r2
- movs r0, #0xa
- strb r0, [r1]
- ldr r1, [r4]
- lsls r3, r2, #1
- ldr r7, _08032AC8 @ =0x0000036E
- adds r0, r1, r7
- adds r0, r0, r3
- strh r6, [r0]
- ldr r0, _08032ACC @ =0x0000036A
- adds r1, r1, r0
- adds r1, r1, r2
- movs r0, #4
- strb r0, [r1]
- adds r2, #1
- lsls r2, r2, #0x10
- lsrs r0, r2, #0x10
- asrs r2, r2, #0x10
- cmp r2, #1
- ble _08032A8A
- b _08032B5C
- .align 2, 0
-_08032ABC: .4byte 0x020314E0
-_08032AC0: .4byte 0x0000132C
-_08032AC4: .4byte 0x000001A5
-_08032AC8: .4byte 0x0000036E
-_08032ACC: .4byte 0x0000036A
-_08032AD0:
- cmp r7, #0
- beq _08032ADA
- subs r0, #1
- strh r0, [r2, #0x28]
- b _08032B5C
-_08032ADA:
- ldr r4, _08032B64 @ =0x0000132C
- adds r0, r2, r4
- ldr r0, [r0]
- strb r7, [r0]
- ldr r0, [r6]
- strb r7, [r0, #0x1f]
- ldr r3, [r6]
- movs r2, #0
- mov ip, r2
- movs r5, #0x3c
- strh r5, [r3, #0x26]
- adds r1, r3, r4
- ldr r2, [r1]
- movs r0, #0x60
- strh r0, [r2, #0x30]
- ldr r2, [r1]
- movs r0, #0xc0
- strh r0, [r2, #0x32]
- ldr r0, [r1]
- strh r5, [r0, #0x10]
- ldr r2, [r1]
- movs r0, #0xb4
- strh r0, [r2, #0x12]
- ldr r0, [r1]
- strh r7, [r0, #6]
- ldr r7, _08032B68 @ =0x000005F7
- adds r3, r3, r7
- mov r0, ip
- strb r0, [r3]
- ldr r2, [r6]
- adds r4, r2, r4
- ldr r1, [r4]
- movs r3, #0x10
- ldrsh r0, [r1, r3]
- lsls r0, r0, #1
- strh r0, [r1, #0x28]
- ldr r1, [r4]
- movs r7, #0x12
- ldrsh r0, [r1, r7]
- lsls r0, r0, #1
- strh r0, [r1, #0x2a]
- adds r2, #0x25
- mov r0, ip
- strb r0, [r2]
- movs r0, #0xc3
- bl m4aSongNumStart
- ldr r1, [r6]
- ldr r2, _08032B6C @ =0x0000072E
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- ble _08032B5C
- ldr r3, _08032B70 @ =0x00000281
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _08032B5C
- movs r0, #6
- bl sub_19B64
-_08032B5C:
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08032B64: .4byte 0x0000132C
-_08032B68: .4byte 0x000005F7
-_08032B6C: .4byte 0x0000072E
-_08032B70: .4byte 0x00000281
-
- thumb_func_start sub_32B74
-sub_32B74: @ 0x08032B74
- push {r4, r5, lr}
- ldr r4, _08032BD0 @ =0x020314E0
- ldr r0, [r4]
- ldr r1, _08032BD4 @ =0x0000072F
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #1
- ble _08032B8E
- movs r0, #4
- bl sub_19B64
-_08032B8E:
- ldr r1, [r4]
- movs r3, #0
- movs r2, #0
- movs r0, #0x64
- strh r0, [r1, #0x28]
- movs r5, #0xbd
- lsls r5, r5, #2
- adds r1, r1, r5
- movs r0, #2
- strb r0, [r1]
- ldr r1, [r4]
- ldr r5, _08032BD8 @ =0x000005FC
- adds r0, r1, r5
- strh r2, [r0]
- ldr r0, _08032BDC @ =0x000005FE
- adds r2, r1, r0
- movs r0, #0x1e
- strh r0, [r2]
- subs r5, #1
- adds r1, r1, r5
- strb r3, [r1]
- ldr r1, [r4]
- ldr r0, _08032BE0 @ =0x0000C350
- str r0, [r1, #0x3c]
- movs r0, #0xd5
- bl m4aSongNumStart
- movs r0, #8
- bl sub_11B0
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08032BD0: .4byte 0x020314E0
-_08032BD4: .4byte 0x0000072F
-_08032BD8: .4byte 0x000005FC
-_08032BDC: .4byte 0x000005FE
-_08032BE0: .4byte 0x0000C350
-
- thumb_func_start sub_32BE4
-sub_32BE4: @ 0x08032BE4
- push {r4, r5, r6, r7, lr}
- ldr r6, _08032C44 @ =0x020314E0
- ldr r0, [r6]
- ldrh r7, [r0, #0x28]
- mov ip, r6
- cmp r7, #0
- bne _08032BF4
- b _08032D54
-_08032BF4:
- ldr r1, _08032C48 @ =0x000005F7
- adds r0, r0, r1
- movs r1, #0
- movs r5, #1
- strb r5, [r0]
- ldr r0, [r6]
- strb r5, [r0, #0x1f]
- ldr r3, [r6]
- ldrh r0, [r3, #0x28]
- subs r0, #1
- strh r0, [r3, #0x28]
- ldr r2, _08032C4C @ =0x0000132C
- adds r4, r3, r2
- ldr r0, [r4]
- strh r1, [r0, #0x30]
- ldr r0, [r4]
- strh r1, [r0, #0x32]
- ldr r0, [r4]
- strh r1, [r0, #6]
- ldrh r0, [r3, #0x28]
- cmp r0, #0x61
- bls _08032C54
- ldr r2, _08032C50 @ =0x000005FA
- adds r0, r3, r2
- strb r5, [r0]
- ldr r0, [r6]
- movs r3, #0xbd
- lsls r3, r3, #2
- adds r0, r0, r3
- movs r1, #2
- strb r1, [r0]
- ldr r0, [r6]
- ldr r1, _08032C4C @ =0x0000132C
- adds r0, r0, r1
- ldr r2, [r0]
- movs r1, #0xb5
- strh r1, [r2, #0x10]
- ldr r1, [r0]
- movs r0, #0xc3
- b _08032D1A
- .align 2, 0
-_08032C44: .4byte 0x020314E0
-_08032C48: .4byte 0x000005F7
-_08032C4C: .4byte 0x0000132C
-_08032C50: .4byte 0x000005FA
-_08032C54:
- cmp r0, #0x5e
- bls _08032C72
- movs r0, #0xbd
- lsls r0, r0, #2
- adds r1, r3, r0
- movs r0, #3
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r0, r2
- ldr r2, [r0]
- movs r1, #0xb8
- strh r1, [r2, #0x10]
- ldr r1, [r0]
- movs r0, #0xbb
- b _08032D1A
-_08032C72:
- cmp r0, #0x5b
- bls _08032C88
- ldr r0, [r4]
- strb r5, [r0]
- ldr r0, [r6]
- movs r1, #0xbd
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r1, #4
- strb r1, [r0]
- b _08032D1C
-_08032C88:
- cmp r0, #0x53
- bls _08032C98
- movs r2, #0xbd
- lsls r2, r2, #2
- adds r1, r3, r2
- movs r0, #5
- strb r0, [r1]
- b _08032D1C
-_08032C98:
- cmp r0, #0x22
- bls _08032CA8
- movs r0, #0xbd
- lsls r0, r0, #2
- adds r1, r3, r0
- movs r0, #6
- strb r0, [r1]
- b _08032D1C
-_08032CA8:
- cmp r0, #0x1a
- bls _08032CB8
- movs r2, #0xbd
- lsls r2, r2, #2
- adds r1, r3, r2
- movs r0, #7
- strb r0, [r1]
- b _08032D1C
-_08032CB8:
- cmp r0, #0x12
- bls _08032CC8
- movs r0, #0xbd
- lsls r0, r0, #2
- adds r1, r3, r0
- movs r0, #8
- strb r0, [r1]
- b _08032D1C
-_08032CC8:
- cmp r0, #0xa
- bls _08032CD8
- movs r2, #0xbd
- lsls r2, r2, #2
- adds r1, r3, r2
- movs r0, #9
- strb r0, [r1]
- b _08032D1C
-_08032CD8:
- cmp r0, #4
- bls _08032CFE
- ldr r1, [r4]
- movs r0, #0
- strb r0, [r1]
- ldr r0, [r6]
- movs r3, #0xbd
- lsls r3, r3, #2
- adds r0, r0, r3
- movs r1, #0xa
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, r0, r2
- ldr r2, [r0]
- movs r1, #0xb5
- strh r1, [r2, #0x10]
- ldr r1, [r0]
- movs r0, #0xc3
- b _08032D1A
-_08032CFE:
- ldr r0, [r6]
- movs r1, #0xbd
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r1, #0xb
- strb r1, [r0]
- ldr r0, [r6]
- ldr r2, _08032D50 @ =0x0000132C
- adds r0, r0, r2
- ldr r2, [r0]
- movs r1, #0xb0
- strh r1, [r2, #0x10]
- ldr r1, [r0]
- movs r0, #0xca
-_08032D1A:
- strh r0, [r1, #0x12]
-_08032D1C:
- mov r3, ip
- ldr r1, [r3]
- ldr r0, _08032D50 @ =0x0000132C
- adds r1, r1, r0
- ldr r2, [r1]
- movs r3, #0x10
- ldrsh r0, [r2, r3]
- lsls r0, r0, #1
- strh r0, [r2, #0x28]
- ldr r2, [r1]
- movs r3, #0x12
- ldrsh r0, [r2, r3]
- lsls r0, r0, #1
- strh r0, [r2, #0x2a]
- ldr r2, [r1]
- movs r3, #0x10
- ldrsh r0, [r2, r3]
- lsls r0, r0, #8
- str r0, [r2, #0x34]
- ldr r1, [r1]
- movs r2, #0x12
- ldrsh r0, [r1, r2]
- lsls r0, r0, #8
- str r0, [r1, #0x38]
- b _08032DDA
- .align 2, 0
-_08032D50: .4byte 0x0000132C
-_08032D54:
- movs r3, #0xbd
- lsls r3, r3, #2
- adds r0, r0, r3
- strb r7, [r0]
- ldr r0, [r6]
- strb r7, [r0, #0x1f]
- ldr r1, [r6]
- movs r5, #0
- movs r0, #0x3c
- strh r0, [r1, #0x26]
- ldr r4, _08032DE0 @ =0x0000132C
- adds r1, r1, r4
- ldr r0, [r1]
- strh r7, [r0, #6]
- ldr r2, [r1]
- ldr r0, _08032DE4 @ =0x0000FF9A
- strh r0, [r2, #0x30]
- ldr r1, [r1]
- movs r0, #0xc8
- strh r0, [r1, #0x32]
- movs r0, #7
- bl sub_11B0
- ldr r2, [r6]
- adds r4, r2, r4
- ldr r0, [r4]
- strh r7, [r0, #6]
- ldr r1, [r4]
- movs r0, #0xab
- strh r0, [r1, #0x10]
- ldr r1, [r4]
- movs r0, #0xd4
- strh r0, [r1, #0x12]
- ldr r1, [r4]
- movs r3, #0x10
- ldrsh r0, [r1, r3]
- lsls r0, r0, #1
- strh r0, [r1, #0x28]
- ldr r1, [r4]
- movs r3, #0x12
- ldrsh r0, [r1, r3]
- lsls r0, r0, #1
- strh r0, [r1, #0x2a]
- ldr r1, [r4]
- ldr r0, [r1, #0x28]
- str r0, [r1, #0x2c]
- adds r2, #0x25
- strb r5, [r2]
- ldr r0, [r6]
- ldr r1, _08032DE8 @ =0x000005F7
- adds r0, r0, r1
- strb r5, [r0]
- movs r0, #0xd6
- bl m4aSongNumStart
- ldr r0, [r6]
- ldr r2, _08032DEC @ =0x000005FE
- adds r1, r0, r2
- strh r7, [r1]
- ldr r3, _08032DF0 @ =0x000005FB
- adds r0, r0, r3
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r6]
- ldr r1, _08032DF4 @ =0x000005FA
- adds r0, r0, r1
- strb r5, [r0]
-_08032DDA:
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08032DE0: .4byte 0x0000132C
-_08032DE4: .4byte 0x0000FF9A
-_08032DE8: .4byte 0x000005F7
-_08032DEC: .4byte 0x000005FE
-_08032DF0: .4byte 0x000005FB
-_08032DF4: .4byte 0x000005FA
-
- thumb_func_start sub_32DF8
-sub_32DF8: @ 0x08032DF8
- push {r4, r5, lr}
- ldr r0, _08032F28 @ =0x020314E0
- ldr r2, [r0]
- ldrb r1, [r2, #4]
- adds r5, r0, #0
- cmp r1, #0
- beq _08032E90
- movs r1, #0xe2
- lsls r1, r1, #1
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, #0
- bne _08032E3A
- movs r3, #0xf1
- lsls r3, r3, #1
- adds r1, r2, r3
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #2
- beq _08032E3A
- subs r3, #0x22
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, #0
- bne _08032E3A
- ldr r3, _08032F2C @ =0x0000061C
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _08032E3A
- strb r0, [r1]
-_08032E3A:
- ldr r0, [r5]
- movs r2, #0xe2
- lsls r2, r2, #3
- adds r1, r0, r2
- movs r4, #0
- ldrsb r4, [r1, r4]
- adds r2, #1
- adds r0, r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [r5]
- ldr r3, _08032F30 @ =0x00000712
- adds r1, r0, r3
- ldrb r1, [r1]
- adds r0, r0, r2
- strb r1, [r0]
- ldr r0, [r5]
- adds r2, #2
- adds r1, r0, r2
- ldrb r1, [r1]
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r5]
- adds r3, #6
- adds r1, r0, r3
- movs r4, #0
- ldrsb r4, [r1, r4]
- adds r3, #1
- adds r0, r0, r3
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [r5]
- adds r2, #7
- adds r1, r0, r2
- ldrb r1, [r1]
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, r0, r2
- strb r4, [r0]
-_08032E90:
- ldr r1, [r5]
- ldrb r0, [r1, #5]
- cmp r0, #0
- beq _08032F22
- movs r2, #0xe2
- lsls r2, r2, #1
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, #0
- bne _08032ECE
- movs r3, #0xf1
- lsls r3, r3, #1
- adds r2, r1, r3
- movs r0, #0
- ldrsb r0, [r2, r0]
- cmp r0, #2
- beq _08032ECE
- subs r3, #0x22
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, #0
- bne _08032ECE
- ldr r3, _08032F2C @ =0x0000061C
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _08032ECE
- movs r0, #1
- strb r0, [r2]
-_08032ECE:
- ldr r0, [r5]
- ldr r2, _08032F34 @ =0x00000713
- adds r1, r0, r2
- movs r4, #0
- ldrsb r4, [r1, r4]
- subs r2, #1
- adds r0, r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [r5]
- ldr r3, _08032F38 @ =0x00000711
- adds r1, r0, r3
- ldrb r1, [r1]
- adds r0, r0, r2
- strb r1, [r0]
- ldr r0, [r5]
- subs r2, #2
- adds r1, r0, r2
- ldrb r1, [r1]
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r5]
- adds r3, #9
- adds r1, r0, r3
- movs r4, #0
- ldrsb r4, [r1, r4]
- subs r3, #1
- adds r0, r0, r3
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [r5]
- adds r2, #8
- adds r1, r0, r2
- ldrb r1, [r1]
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, r0, r2
- strb r4, [r0]
-_08032F22:
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08032F28: .4byte 0x020314E0
-_08032F2C: .4byte 0x0000061C
-_08032F30: .4byte 0x00000712
-_08032F34: .4byte 0x00000713
-_08032F38: .4byte 0x00000711
-
- thumb_func_start sub_32F3C
-sub_32F3C: @ 0x08032F3C
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- ldr r3, _080330F0 @ =0x020314E0
- ldr r0, [r3]
- movs r5, #0
- movs r6, #0
- strh r6, [r0, #0x18]
- strb r5, [r0, #0x17]
- ldr r0, [r3]
- strb r5, [r0, #0x13]
- ldr r0, [r3]
- movs r1, #0xa5
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r2, #1
- mov r8, r2
- mov r4, r8
- strb r4, [r0]
- ldr r2, [r3]
- adds r4, r2, #0
- adds r4, #0x6c
- movs r7, #0xe1
- lsls r7, r7, #5
- adds r0, r7, #0
- ldrh r1, [r4]
- adds r0, r0, r1
- ldr r7, _080330F4 @ =0x00000296
- adds r1, r2, r7
- strh r0, [r1]
- strh r6, [r4]
- ldr r0, _080330F8 @ =0x00000383
- adds r2, r2, r0
- strb r5, [r2]
- ldr r0, [r3]
- movs r1, #0xe2
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r1, #3
- strb r1, [r0]
- ldr r0, [r3]
- ldr r2, _080330FC @ =0x0000132C
- adds r0, r0, r2
- ldr r0, [r0]
- mov r4, r8
- strb r4, [r0]
- ldr r0, [r3]
- adds r7, #0xef
- adds r0, r0, r7
- strb r5, [r0]
- ldr r0, [r3]
- ldr r1, _08033100 @ =0x00000386
- adds r0, r0, r1
- strb r5, [r0]
- ldr r0, [r3]
- ldr r2, _08033104 @ =0x00000387
- adds r0, r0, r2
- strb r5, [r0]
- ldr r0, [r3]
- ldr r4, _08033108 @ =0x00000392
- adds r1, r0, r4
- strh r6, [r1]
- adds r7, #0xf
- adds r1, r0, r7
- strh r6, [r1]
- ldr r1, _0803310C @ =0x00000396
- adds r0, r0, r1
- strb r5, [r0]
- movs r1, #0
- adds r6, r3, #0
- adds r5, r6, #0
- movs r4, #0
-_08032FCC:
- ldr r0, [r5]
- lsls r2, r1, #0x10
- asrs r2, r2, #0x10
- ldr r3, _08033110 @ =0x00000397
- adds r0, r0, r3
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r5]
- ldr r7, _08033114 @ =0x0000039A
- adds r0, r0, r7
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r5]
- ldr r1, _08033118 @ =0x0000039D
- adds r0, r0, r1
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r5]
- adds r3, #9
- adds r0, r0, r3
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r5]
- adds r7, #9
- adds r0, r0, r7
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r5]
- adds r1, #9
- adds r0, r0, r1
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r5]
- adds r3, #9
- adds r0, r0, r3
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r5]
- adds r7, #9
- adds r0, r0, r7
- adds r0, r0, r2
- strb r4, [r0]
- ldr r1, [r5]
- lsls r3, r2, #1
- adds r7, #4
- adds r0, r1, r7
- adds r0, r0, r3
- strh r4, [r0]
- adds r7, #6
- adds r0, r1, r7
- adds r0, r0, r3
- strh r4, [r0]
- adds r7, #6
- adds r0, r1, r7
- adds r0, r0, r3
- strh r4, [r0]
- lsls r0, r2, #2
- adds r1, r1, r0
- movs r3, #0xf1
- lsls r3, r3, #2
- adds r0, r1, r3
- strh r4, [r0]
- adds r7, #0xa
- adds r0, r1, r7
- strh r4, [r0]
- adds r3, #0xc
- adds r0, r1, r3
- strh r4, [r0]
- adds r7, #0xc
- adds r1, r1, r7
- strh r4, [r1]
- adds r2, #1
- lsls r2, r2, #0x10
- lsrs r1, r2, #0x10
- asrs r2, r2, #0x10
- cmp r2, #2
- ble _08032FCC
- ldr r0, [r6]
- movs r1, #0xf7
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r2, #0
- strb r2, [r0]
- ldr r0, [r6]
- adds r3, #0xe
- adds r0, r0, r3
- strb r2, [r0]
- ldr r0, [r6]
- ldr r4, _0803311C @ =0x000003DF
- adds r0, r0, r4
- strb r2, [r0]
- ldr r0, [r6]
- adds r7, #0xe
- adds r0, r0, r7
- strb r2, [r0]
- ldr r1, [r6]
- adds r3, #4
- adds r0, r1, r3
- movs r3, #0
- strh r2, [r0]
- adds r4, #5
- adds r0, r1, r4
- strh r2, [r0]
- adds r7, #6
- adds r0, r1, r7
- strh r2, [r0]
- adds r4, #4
- adds r0, r1, r4
- strh r2, [r0]
- adds r7, #4
- adds r0, r1, r7
- strh r2, [r0]
- adds r4, #4
- adds r0, r1, r4
- strh r2, [r0]
- adds r7, #4
- adds r0, r1, r7
- strh r2, [r0]
- adds r4, #4
- adds r0, r1, r4
- strh r2, [r0]
- adds r7, #4
- adds r0, r1, r7
- strh r2, [r0]
- strb r3, [r1, #0x1a]
- bl sub_336E0
- bl sub_340EC
- movs r0, #0x25
- bl m4aSongNumStart
- ldr r1, _08033120 @ =0x040000D4
- ldr r0, _08033124 @ =0x081B36A4
- str r0, [r1]
- ldr r0, _08033128 @ =0x05000320
- str r0, [r1, #4]
- ldr r0, _0803312C @ =0x80000010
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080330F0: .4byte 0x020314E0
-_080330F4: .4byte 0x00000296
-_080330F8: .4byte 0x00000383
-_080330FC: .4byte 0x0000132C
-_08033100: .4byte 0x00000386
-_08033104: .4byte 0x00000387
-_08033108: .4byte 0x00000392
-_0803310C: .4byte 0x00000396
-_08033110: .4byte 0x00000397
-_08033114: .4byte 0x0000039A
-_08033118: .4byte 0x0000039D
-_0803311C: .4byte 0x000003DF
-_08033120: .4byte 0x040000D4
-_08033124: .4byte 0x081B36A4
-_08033128: .4byte 0x05000320
-_0803312C: .4byte 0x80000010
-
- thumb_func_start sub_33130
-sub_33130: @ 0x08033130
- push {r4, r5, r6, r7, lr}
- ldr r0, _0803314C @ =0x020314E0
- ldr r0, [r0]
- ldrb r0, [r0, #0x13]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #6
- bls _08033142
- b _080333C4
-_08033142:
- lsls r0, r0, #2
- ldr r1, _08033150 @ =_08033154
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803314C: .4byte 0x020314E0
-_08033150: .4byte _08033154
-_08033154: @ jump table
- .4byte _08033170 @ case 0
- .4byte _08033208 @ case 1
- .4byte _08033254 @ case 2
- .4byte _080332A8 @ case 3
- .4byte _080332E0 @ case 4
- .4byte _08033344 @ case 5
- .4byte _080333B4 @ case 6
-_08033170:
- ldr r5, _080331C4 @ =0x020314E0
- ldr r0, [r5]
- ldr r1, _080331C8 @ =0x000005F7
- adds r0, r0, r1
- movs r6, #0
- movs r3, #1
- strb r3, [r0]
- ldr r4, [r5]
- ldrh r0, [r4, #0x18]
- cmp r0, #0x77
- bhi _080331DC
- movs r1, #0x18
- bl __udivsi3
- ldr r2, _080331CC @ =0x040000D4
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- lsls r1, r0, #2
- adds r1, r1, r0
- lsls r1, r1, #5
- ldr r0, _080331D0 @ =0x082EE0E0
- adds r1, r1, r0
- str r1, [r2]
- movs r0, #0xa0
- lsls r0, r0, #0x13
- str r0, [r2, #4]
- ldr r0, _080331D4 @ =0x80000050
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- ldrh r0, [r4, #0x18]
- movs r1, #5
- bl __udivsi3
- ldr r2, _080331D8 @ =0x0000FFE8
- adds r0, r0, r2
- adds r1, r4, #0
- adds r1, #0xe6
- strh r0, [r1]
- ldrh r0, [r4, #0x18]
- adds r0, #1
- strh r0, [r4, #0x18]
- b _080333C4
- .align 2, 0
-_080331C4: .4byte 0x020314E0
-_080331C8: .4byte 0x000005F7
-_080331CC: .4byte 0x040000D4
-_080331D0: .4byte 0x082EE0E0
-_080331D4: .4byte 0x80000050
-_080331D8: .4byte 0x0000FFE8
-_080331DC:
- adds r0, r4, #0
- adds r0, #0xe6
- strh r6, [r0]
- ldr r1, _08033204 @ =gMain
- movs r7, #0x80
- lsls r7, r7, #4
- adds r0, r1, r7
- movs r2, #1
- strh r3, [r0]
- adds r7, #0xb8
- adds r0, r1, r7
- strh r3, [r0]
- movs r0, #0x97
- lsls r0, r0, #4
- adds r1, r1, r0
- strh r3, [r1]
- strb r2, [r4, #0x13]
- ldr r0, [r5]
- strh r6, [r0, #0x18]
- b _080333C4
- .align 2, 0
-_08033204: .4byte gMain
-_08033208:
- ldr r2, _0803323C @ =0x020314E0
- ldr r0, [r2]
- ldr r1, _08033240 @ =0x00000386
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _08033228
- ldr r1, _08033244 @ =gMain
- ldrh r0, [r1, #0x38]
- ldr r0, _08033248 @ =0x00001C10
- strh r0, [r1, #0x38]
- ldrh r0, [r1, #0x3a]
- ldr r0, _0803324C @ =0x0000030D
- strh r0, [r1, #0x3a]
-_08033228:
- ldr r0, [r2]
- ldr r2, _08033250 @ =0x00000387
- adds r0, r0, r2
- movs r1, #1
- strb r1, [r0]
- bl sub_336E0
- bl sub_340EC
- b _080333C4
- .align 2, 0
-_0803323C: .4byte 0x020314E0
-_08033240: .4byte 0x00000386
-_08033244: .4byte gMain
-_08033248: .4byte 0x00001C10
-_0803324C: .4byte 0x0000030D
-_08033250: .4byte 0x00000387
-_08033254:
- ldr r3, _08033290 @ =0x020314E0
- ldr r1, [r3]
- movs r0, #3
- strb r0, [r1, #0x13]
- ldr r2, _08033294 @ =gMain
- movs r5, #0xc5
- lsls r5, r5, #4
- adds r0, r2, r5
- movs r4, #0
- movs r1, #1
- strh r1, [r0]
- ldr r7, _08033298 @ =0x00000D08
- adds r0, r2, r7
- strh r1, [r0]
- ldr r0, _0803329C @ =0x00000B98
- adds r2, r2, r0
- strh r1, [r2]
- ldr r0, [r3]
- ldr r1, _080332A0 @ =0x00000387
- adds r0, r0, r1
- strb r4, [r0]
- ldr r0, [r3]
- ldr r2, _080332A4 @ =0x00000385
- adds r0, r0, r2
- strb r4, [r0]
- movs r0, #0x26
- bl m4aSongNumStart
- b _080333C4
- .align 2, 0
-_08033290: .4byte 0x020314E0
-_08033294: .4byte gMain
-_08033298: .4byte 0x00000D08
-_0803329C: .4byte 0x00000B98
-_080332A0: .4byte 0x00000387
-_080332A4: .4byte 0x00000385
-_080332A8:
- ldr r0, _080332D0 @ =0x020314E0
- ldr r0, [r0]
- ldr r5, _080332D4 @ =0x00000386
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _080332CA
- ldr r1, _080332D8 @ =gMain
- ldrh r0, [r1, #0x38]
- ldr r0, _080332DC @ =0x00001C10
- strh r0, [r1, #0x38]
- ldrh r0, [r1, #0x3a]
- movs r0, #0x80
- lsls r0, r0, #5
- strh r0, [r1, #0x3a]
-_080332CA:
- bl sub_34450
- b _080333C4
- .align 2, 0
-_080332D0: .4byte 0x020314E0
-_080332D4: .4byte 0x00000386
-_080332D8: .4byte gMain
-_080332DC: .4byte 0x00001C10
-_080332E0:
- ldr r3, _080332F0 @ =0x020314E0
- ldr r2, [r3]
- ldrh r0, [r2, #0x18]
- cmp r0, #0x77
- bhi _080332F4
- adds r0, #1
- strh r0, [r2, #0x18]
- b _080333C4
- .align 2, 0
-_080332F0: .4byte 0x020314E0
-_080332F4:
- movs r1, #0
- movs r0, #5
- strb r0, [r2, #0x13]
- ldr r3, [r3]
- strh r1, [r3, #0x18]
- ldr r0, _08033330 @ =gMain
- movs r7, #0xe9
- lsls r7, r7, #3
- adds r1, r0, r7
- movs r2, #1
- strh r2, [r1]
- movs r1, #0xd2
- lsls r1, r1, #3
- adds r0, r0, r1
- strh r2, [r0]
- ldr r1, _08033334 @ =0x040000D4
- ldr r0, _08033338 @ =0x08138834
- str r0, [r1]
- ldr r0, _0803333C @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _08033340 @ =0x80001000
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- movs r2, #0xe5
- lsls r2, r2, #2
- adds r3, r3, r2
- movs r0, #0x88
- strh r0, [r3]
- b _080333C4
- .align 2, 0
-_08033330: .4byte gMain
-_08033334: .4byte 0x040000D4
-_08033338: .4byte 0x08138834
-_0803333C: .4byte 0x06015800
-_08033340: .4byte 0x80001000
-_08033344:
- bl sub_351A8
- ldr r4, _0803338C @ =0x020314E0
- ldr r1, [r4]
- ldrb r0, [r1, #0x1c]
- cmp r0, #0
- beq _08033356
- movs r0, #0xb5
- strh r0, [r1, #0x18]
-_08033356:
- ldr r1, [r4]
- ldrh r0, [r1, #0x18]
- cmp r0, #0xb4
- bne _0803336C
- movs r0, #1
- strb r0, [r1, #0x1c]
- ldr r1, [r4]
- ldr r0, _08033390 @ =0x00061A80
- str r0, [r1, #0x38]
- ldr r0, _08033394 @ =0x01C9C380
- str r0, [r1, #0x3c]
-_0803336C:
- ldr r1, [r4]
- ldrh r0, [r1, #0x18]
- cmp r0, #0xef
- bhi _08033398
- cmp r0, #0x14
- bne _08033382
- bl m4aMPlayAllStop
- movs r0, #0x2b
- bl m4aSongNumStart
-_08033382:
- ldr r1, [r4]
- ldrh r0, [r1, #0x18]
- adds r0, #1
- strh r0, [r1, #0x18]
- b _080333C4
- .align 2, 0
-_0803338C: .4byte 0x020314E0
-_08033390: .4byte 0x00061A80
-_08033394: .4byte 0x01C9C380
-_08033398:
- movs r0, #0
- strh r0, [r1, #0x18]
- movs r0, #6
- strb r0, [r1, #0x13]
- ldr r1, [r4]
- ldr r5, _080333B0 @ =0x00000283
- adds r1, r1, r5
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- b _080333C4
- .align 2, 0
-_080333B0: .4byte 0x00000283
-_080333B4:
- bl sub_351A8
- ldr r0, _0803341C @ =0x020314E0
- ldr r0, [r0]
- ldr r7, _08033420 @ =0x00000386
- adds r0, r0, r7
- movs r1, #1
- strb r1, [r0]
-_080333C4:
- ldr r0, _0803341C @ =0x020314E0
- ldr r1, [r0]
- movs r2, #0xa5
- lsls r2, r2, #2
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _080333FC
- ldr r5, _08033424 @ =0x00000296
- adds r0, r1, r5
- ldrh r0, [r0]
- cmp r0, #1
- bhi _080333FC
- ldr r4, _08033428 @ =gMain
- ldrb r0, [r4, #0xf]
- cmp r0, #0
- bne _080333FC
- bl m4aMPlayAllStop
- movs r0, #0x2c
- bl m4aSongNumStart
- ldrb r1, [r4, #0xf]
- movs r0, #0x40
- orrs r0, r1
- strb r0, [r4, #0xf]
-_080333FC:
- ldr r0, _0803341C @ =0x020314E0
- ldr r0, [r0]
- ldr r7, _08033420 @ =0x00000386
- adds r0, r0, r7
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08033412
- bl sub_350F0
-_08033412:
- bl sub_472E4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803341C: .4byte 0x020314E0
-_08033420: .4byte 0x00000386
-_08033424: .4byte 0x00000296
-_08033428: .4byte gMain
-
- thumb_func_start sub_3342C
-sub_3342C: @ 0x0803342C
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #0x40
- ldr r5, _080336B0 @ =0x020314E0
- ldr r3, [r5]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- ldr r2, _080336B4 @ =0x00000397
- adds r2, r2, r3
- mov ip, r2
- adds r2, r2, r0
- str r2, [sp, #4]
- ldrb r4, [r2]
- str r4, [sp, #8]
- ldr r4, _080336B8 @ =0x0000039A
- adds r2, r3, r4
- adds r2, r2, r0
- ldrb r2, [r2]
- str r2, [sp, #0xc]
- adds r4, #3
- adds r2, r3, r4
- adds r2, r2, r0
- ldrb r2, [r2]
- str r2, [sp, #0x10]
- adds r4, #3
- adds r2, r3, r4
- adds r2, r2, r0
- ldrb r2, [r2]
- str r2, [sp, #0x14]
- adds r4, #3
- adds r2, r3, r4
- adds r2, r2, r0
- ldrb r2, [r2]
- str r2, [sp, #0x18]
- adds r4, #3
- adds r2, r3, r4
- adds r2, r2, r0
- ldrb r2, [r2]
- str r2, [sp, #0x1c]
- adds r4, #3
- adds r2, r3, r4
- adds r2, r2, r0
- ldrb r2, [r2]
- str r2, [sp, #0x20]
- adds r4, #3
- adds r2, r3, r4
- adds r2, r2, r0
- ldrb r2, [r2]
- str r2, [sp, #0x24]
- lsls r2, r0, #1
- mov r8, r2
- adds r4, #4
- adds r2, r3, r4
- add r2, r8
- ldrh r2, [r2]
- str r2, [sp, #0x28]
- adds r4, #6
- adds r2, r3, r4
- add r2, r8
- ldrh r2, [r2]
- str r2, [sp, #0x2c]
- adds r4, #6
- adds r2, r3, r4
- add r2, r8
- ldrh r2, [r2]
- str r2, [sp, #0x30]
- lsls r6, r0, #2
- adds r3, r3, r6
- movs r2, #0xf1
- lsls r2, r2, #2
- adds r2, r3, r2
- str r2, [sp, #0x3c]
- ldr r4, _080336BC @ =0xFFFF0000
- mov sb, r4
- ldr r4, _080336C0 @ =0x000003C6
- adds r2, r3, r4
- ldrh r2, [r2]
- lsls r2, r2, #0x10
- ldr r4, _080336C4 @ =0x0000FFFF
- mov sl, r4
- ldr r4, [sp, #0x3c]
- ldrh r4, [r4]
- orrs r4, r2
- str r4, [sp]
- movs r4, #0xf4
- lsls r4, r4, #2
- adds r2, r3, r4
- ldrh r2, [r2]
- mov r4, sb
- ands r7, r4
- orrs r7, r2
- ldr r2, _080336C8 @ =0x000003D2
- adds r3, r3, r2
- ldrh r2, [r3]
- lsls r2, r2, #0x10
- mov r3, sl
- ands r7, r3
- orrs r7, r2
- lsls r1, r1, #0x10
- asrs r1, r1, #0x10
- mov r4, ip
- adds r2, r4, r1
- ldrb r2, [r2]
- ldr r3, [sp, #4]
- strb r2, [r3]
- ldr r2, [r5]
- ldr r4, _080336B8 @ =0x0000039A
- adds r2, r2, r4
- adds r3, r2, r0
- adds r2, r2, r1
- ldrb r2, [r2]
- strb r2, [r3]
- ldr r2, [r5]
- ldr r3, _080336CC @ =0x0000039D
- adds r2, r2, r3
- adds r3, r2, r0
- adds r2, r2, r1
- ldrb r2, [r2]
- strb r2, [r3]
- ldr r2, [r5]
- adds r4, #6
- adds r2, r2, r4
- adds r3, r2, r0
- adds r2, r2, r1
- ldrb r2, [r2]
- strb r2, [r3]
- ldr r2, [r5]
- ldr r3, _080336D0 @ =0x000003A3
- adds r2, r2, r3
- adds r3, r2, r0
- adds r2, r2, r1
- ldrb r2, [r2]
- strb r2, [r3]
- ldr r2, [r5]
- adds r4, #6
- adds r2, r2, r4
- adds r3, r2, r0
- adds r2, r2, r1
- ldrb r2, [r2]
- strb r2, [r3]
- ldr r2, [r5]
- ldr r3, _080336D4 @ =0x000003A9
- adds r2, r2, r3
- adds r3, r2, r0
- adds r2, r2, r1
- ldrb r2, [r2]
- strb r2, [r3]
- ldr r2, [r5]
- adds r4, #6
- adds r2, r2, r4
- adds r0, r2, r0
- adds r2, r2, r1
- ldrb r2, [r2]
- strb r2, [r0]
- ldr r4, [r5]
- movs r2, #0xec
- lsls r2, r2, #2
- adds r0, r4, r2
- mov r3, r8
- adds r2, r0, r3
- lsls r3, r1, #1
- mov sb, r3
- add r0, sb
- ldrh r0, [r0]
- strh r0, [r2]
- ldr r2, _080336D8 @ =0x000003B6
- adds r0, r4, r2
- mov r3, r8
- adds r2, r0, r3
- add r0, sb
- ldrh r0, [r0]
- strh r0, [r2]
- movs r2, #0xef
- lsls r2, r2, #2
- adds r0, r4, r2
- add r8, r0
- add r0, sb
- ldrh r0, [r0]
- mov r3, r8
- strh r0, [r3]
- adds r6, r4, r6
- lsls r0, r1, #2
- mov r8, r0
- adds r2, r4, r0
- movs r3, #0xf1
- lsls r3, r3, #2
- adds r0, r2, r3
- ldrh r0, [r0]
- mov sl, r0
- adds r0, r6, r3
- mov r3, sl
- strh r3, [r0]
- ldr r3, _080336C0 @ =0x000003C6
- adds r0, r2, r3
- ldrh r0, [r0]
- mov sl, r0
- adds r0, r6, r3
- mov r3, sl
- strh r3, [r0]
- movs r3, #0xf4
- lsls r3, r3, #2
- adds r0, r2, r3
- ldrh r0, [r0]
- mov sl, r0
- adds r0, r6, r3
- mov r3, sl
- strh r3, [r0]
- ldr r0, _080336C8 @ =0x000003D2
- adds r2, r2, r0
- ldrh r0, [r2]
- ldr r2, _080336C8 @ =0x000003D2
- adds r6, r6, r2
- strh r0, [r6]
- ldr r3, _080336B4 @ =0x00000397
- adds r4, r4, r3
- adds r4, r4, r1
- mov r0, sp
- ldrb r0, [r0, #8]
- strb r0, [r4]
- ldr r0, [r5]
- subs r2, #0x38
- adds r0, r0, r2
- adds r0, r0, r1
- mov r3, sp
- ldrb r3, [r3, #0xc]
- strb r3, [r0]
- ldr r0, [r5]
- ldr r4, _080336CC @ =0x0000039D
- adds r0, r0, r4
- adds r0, r0, r1
- mov r2, sp
- ldrb r2, [r2, #0x10]
- strb r2, [r0]
- ldr r0, [r5]
- movs r3, #0xe8
- lsls r3, r3, #2
- adds r0, r0, r3
- adds r0, r0, r1
- mov r4, sp
- ldrb r4, [r4, #0x14]
- strb r4, [r0]
- ldr r0, [r5]
- ldr r2, _080336D0 @ =0x000003A3
- adds r0, r0, r2
- adds r0, r0, r1
- mov r3, sp
- ldrb r3, [r3, #0x18]
- strb r3, [r0]
- ldr r0, [r5]
- ldr r4, _080336DC @ =0x000003A6
- adds r0, r0, r4
- adds r0, r0, r1
- mov r2, sp
- ldrb r2, [r2, #0x1c]
- strb r2, [r0]
- ldr r0, [r5]
- ldr r3, _080336D4 @ =0x000003A9
- adds r0, r0, r3
- adds r0, r0, r1
- add r4, sp, #0x20
- ldrb r4, [r4]
- strb r4, [r0]
- ldr r0, [r5]
- movs r2, #0xeb
- lsls r2, r2, #2
- adds r0, r0, r2
- adds r0, r0, r1
- add r3, sp, #0x24
- ldrb r3, [r3]
- strb r3, [r0]
- ldr r0, [r5]
- movs r4, #0xec
- lsls r4, r4, #2
- adds r1, r0, r4
- add r1, sb
- mov r2, sp
- ldrh r2, [r2, #0x28]
- strh r2, [r1]
- ldr r3, _080336D8 @ =0x000003B6
- adds r1, r0, r3
- add r1, sb
- mov r4, sp
- ldrh r4, [r4, #0x2c]
- strh r4, [r1]
- movs r1, #0xef
- lsls r1, r1, #2
- adds r1, r0, r1
- str r1, [sp, #0x34]
- add r1, sb
- mov r2, sp
- ldrh r2, [r2, #0x30]
- strh r2, [r1]
- add r0, r8
- adds r3, #0xe
- adds r1, r0, r3
- mov r4, sp
- ldrh r4, [r4]
- strh r4, [r1]
- ldr r2, [sp]
- asrs r1, r2, #0x10
- adds r3, #2
- adds r2, r0, r3
- strh r1, [r2]
- movs r4, #0xf4
- lsls r4, r4, #2
- adds r1, r0, r4
- strh r7, [r1]
- asrs r1, r7, #0x10
- ldr r2, _080336C8 @ =0x000003D2
- adds r0, r0, r2
- strh r1, [r0]
- add sp, #0x40
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080336B0: .4byte 0x020314E0
-_080336B4: .4byte 0x00000397
-_080336B8: .4byte 0x0000039A
-_080336BC: .4byte 0xFFFF0000
-_080336C0: .4byte 0x000003C6
-_080336C4: .4byte 0x0000FFFF
-_080336C8: .4byte 0x000003D2
-_080336CC: .4byte 0x0000039D
-_080336D0: .4byte 0x000003A3
-_080336D4: .4byte 0x000003A9
-_080336D8: .4byte 0x000003B6
-_080336DC: .4byte 0x000003A6
-
- thumb_func_start sub_336E0
-sub_336E0: @ 0x080336E0
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #8
- movs r4, #1
- movs r0, #0
- str r0, [sp]
- movs r7, #0
- ldr r0, _0803377C @ =0x020314E0
- ldr r3, [r0]
- ldr r2, _08033780 @ =0x00000385
- adds r1, r3, r2
- ldrb r1, [r1]
- lsls r1, r1, #0x18
- asrs r1, r1, #0x18
- cmp r1, #0x12
- ble _08033750
- movs r2, #0
- ldr r5, _08033784 @ =0x000003A6
- adds r1, r3, r5
-_0803370C:
- lsls r0, r2, #0x10
- asrs r2, r0, #0x10
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _0803371E
- movs r4, #0
-_0803371E:
- adds r0, r2, #1
- lsls r0, r0, #0x10
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #2
- ble _0803370C
- cmp r4, #0
- beq _08033750
- ldr r6, _0803377C @ =0x020314E0
- ldr r1, [r6]
- movs r2, #0
- movs r0, #2
- strb r0, [r1, #0x13]
- ldr r0, _08033788 @ =gMain
- movs r3, #0x80
- lsls r3, r3, #4
- adds r1, r0, r3
- strh r2, [r1]
- ldr r4, _0803378C @ =0x000008B8
- adds r1, r0, r4
- strh r2, [r1]
- movs r5, #0x97
- lsls r5, r5, #4
- adds r0, r0, r5
- strh r2, [r0]
-_08033750:
- movs r2, #0
-_08033752:
- ldr r6, _0803377C @ =0x020314E0
- ldr r0, [r6]
- lsls r2, r2, #0x10
- asrs r1, r2, #0x10
- movs r3, #0xe8
- lsls r3, r3, #2
- adds r0, r0, r3
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- str r2, [sp, #4]
- cmp r0, #9
- bls _08033772
- bl _08033FD8
-_08033772:
- lsls r0, r0, #2
- ldr r1, _08033790 @ =_08033794
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803377C: .4byte 0x020314E0
-_08033780: .4byte 0x00000385
-_08033784: .4byte 0x000003A6
-_08033788: .4byte gMain
-_0803378C: .4byte 0x000008B8
-_08033790: .4byte _08033794
-_08033794: @ jump table
- .4byte _080337BC @ case 0
- .4byte _0803394C @ case 1
- .4byte _08033A20 @ case 2
- .4byte _08033B4C @ case 3
- .4byte _08033C7C @ case 4
- .4byte _08033D28 @ case 5
- .4byte _08033DF4 @ case 6
- .4byte _08033E70 @ case 7
- .4byte _08033EF0 @ case 8
- .4byte _08033F90 @ case 9
-_080337BC:
- ldr r4, _080338E0 @ =0x020314E0
- ldr r1, [r4]
- ldr r5, _080338E4 @ =0x00000385
- adds r0, r1, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x12
- ble _080337D0
- b _08033910
-_080337D0:
- ldr r6, _080338E8 @ =0x00000396
- adds r1, r1, r6
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #1
- ble _080337E0
- b _08033910
-_080337E0:
- adds r0, r2, #1
- movs r2, #0
- mov sl, r2
- strb r0, [r1]
- ldr r1, [r4]
- ldr r3, [sp, #4]
- asrs r6, r3, #0x10
- movs r4, #0xe8
- lsls r4, r4, #2
- adds r1, r1, r4
- adds r1, r1, r6
- movs r0, #1
- strb r0, [r1]
- ldr r5, _080338E0 @ =0x020314E0
- ldr r0, [r5]
- ldr r1, _080338EC @ =0x000003A3
- adds r0, r0, r1
- adds r0, r0, r6
- mov r2, sl
- strb r2, [r0]
- ldr r0, [r5]
- lsls r3, r6, #1
- mov r8, r3
- adds r4, #0x10
- adds r0, r0, r4
- add r0, r8
- movs r7, #0
- mov r5, sl
- strh r5, [r0]
- bl Random
- ldr r1, _080338E0 @ =0x020314E0
- ldr r4, [r1]
- lsls r5, r6, #2
- adds r4, r4, r5
- movs r1, #0xaf
- lsls r1, r1, #3
- bl __umodsi3
- ldr r2, _080338F0 @ =0xFFFFFD44
- adds r0, r0, r2
- movs r3, #0xf1
- lsls r3, r3, #2
- adds r4, r4, r3
- strh r0, [r4]
- bl Random
- ldr r1, _080338E0 @ =0x020314E0
- ldr r4, [r1]
- adds r4, r4, r5
- movs r1, #9
- bl __umodsi3
- lsls r1, r0, #2
- adds r1, r1, r0
- lsls r1, r1, #4
- ldr r2, _080338F4 @ =0x000003C6
- mov sb, r2
- add r4, sb
- strh r1, [r4]
- bl Random
- ldr r3, _080338E0 @ =0x020314E0
- ldr r4, [r3]
- movs r1, #0xef
- lsls r1, r1, #2
- adds r5, r4, r1
- add r5, r8
- adds r1, #0x2c
- bl __umodsi3
- adds r0, #0xc8
- strh r0, [r5]
- ldr r2, _080338F8 @ =0x000003A6
- adds r4, r4, r2
- adds r4, r4, r6
- strb r7, [r4]
- ldr r3, _080338E0 @ =0x020314E0
- ldr r0, [r3]
- ldr r4, _080338FC @ =0x000003A9
- adds r0, r0, r4
- adds r0, r0, r6
- strb r7, [r0]
- movs r5, #4
- str r5, [sp]
- movs r7, #4
- ldr r0, [r3]
- ldr r6, _08033900 @ =0x000003B6
- adds r0, r0, r6
- add r0, r8
- mov r1, sl
- strh r1, [r0]
- ldr r0, _08033904 @ =0x02032F20
- ldr r1, _08033908 @ =0x086A1588
- bl MPlayStart
- movs r5, #2
- mov r8, sb
-_080338A4:
- ldr r0, _080338E0 @ =0x020314E0
- ldr r2, [r0]
- lsls r0, r5, #0x10
- asrs r4, r0, #0x10
- lsls r1, r4, #2
- adds r1, r2, r1
- add r1, r8
- subs r3, r4, #1
- lsls r0, r3, #2
- adds r2, r2, r0
- add r2, r8
- movs r6, #0
- ldrsh r1, [r1, r6]
- movs r6, #0
- ldrsh r0, [r2, r6]
- cmp r1, r0
- ble _080338D2
- lsls r1, r3, #0x10
- asrs r1, r1, #0x10
- adds r0, r4, #0
- bl sub_3342C
- movs r5, #3
-_080338D2:
- lsls r0, r5, #0x10
- ldr r1, _0803390C @ =0xFFFF0000
- adds r0, r0, r1
- lsrs r5, r0, #0x10
- cmp r0, #0
- bgt _080338A4
- b _08033FD8
- .align 2, 0
-_080338E0: .4byte 0x020314E0
-_080338E4: .4byte 0x00000385
-_080338E8: .4byte 0x00000396
-_080338EC: .4byte 0x000003A3
-_080338F0: .4byte 0xFFFFFD44
-_080338F4: .4byte 0x000003C6
-_080338F8: .4byte 0x000003A6
-_080338FC: .4byte 0x000003A9
-_08033900: .4byte 0x000003B6
-_08033904: .4byte 0x02032F20
-_08033908: .4byte 0x086A1588
-_0803390C: .4byte 0xFFFF0000
-_08033910:
- ldr r0, _08033940 @ =0x020314E0
- ldr r2, [r0]
- ldr r3, [sp, #4]
- asrs r4, r3, #0x10
- lsls r1, r4, #2
- adds r1, r2, r1
- movs r5, #0xf1
- lsls r5, r5, #2
- adds r3, r1, r5
- movs r5, #0
- movs r0, #0
- strh r0, [r3]
- ldr r6, _08033944 @ =0x000003C6
- adds r1, r1, r6
- movs r0, #0x78
- strh r0, [r1]
- ldr r0, _08033948 @ =0x000003A6
- adds r2, r2, r0
- adds r2, r2, r4
- strb r5, [r2]
- bl Random
- b _08033FD8
- .align 2, 0
-_08033940: .4byte 0x020314E0
-_08033944: .4byte 0x000003C6
-_08033948: .4byte 0x000003A6
-_0803394C:
- ldr r1, _08033980 @ =0x020314E0
- ldr r2, [r1]
- ldr r3, [sp, #4]
- asrs r4, r3, #0x10
- lsls r1, r4, #1
- movs r5, #0xec
- lsls r5, r5, #2
- adds r0, r2, r5
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, #0x13
- bhi _08033988
- adds r0, #1
- strh r0, [r1]
- ldr r6, _08033984 @ =0x000003A6
- adds r2, r2, r6
- adds r2, r2, r4
- ldrh r0, [r1]
- movs r1, #3
- ands r0, r1
- lsrs r0, r0, #1
- strb r0, [r2]
- movs r0, #4
- str r0, [sp]
- movs r7, #4
- b _08033FD8
- .align 2, 0
-_08033980: .4byte 0x020314E0
-_08033984: .4byte 0x000003A6
-_08033988:
- ldr r0, _080339B0 @ =gMain
- ldr r0, [r0, #0x4c]
- movs r1, #1
- ands r0, r1
- cmp r0, #0
- beq _080339BC
- movs r3, #0xe8
- lsls r3, r3, #2
- adds r1, r2, r3
- adds r1, r1, r4
- movs r2, #0
- movs r0, #2
- strb r0, [r1]
- ldr r5, _080339B4 @ =0x020314E0
- ldr r0, [r5]
- ldr r6, _080339B8 @ =0x000003A3
- adds r0, r0, r6
- adds r0, r0, r4
- strb r2, [r0]
- b _080339D6
- .align 2, 0
-_080339B0: .4byte gMain
-_080339B4: .4byte 0x020314E0
-_080339B8: .4byte 0x000003A3
-_080339BC:
- movs r1, #0xe8
- lsls r1, r1, #2
- adds r0, r2, r1
- adds r0, r0, r4
- movs r1, #3
- strb r1, [r0]
- ldr r2, _08033A0C @ =0x020314E0
- ldr r0, [r2]
- ldr r3, _08033A10 @ =0x000003A3
- adds r0, r0, r3
- adds r0, r0, r4
- movs r1, #7
- strb r1, [r0]
-_080339D6:
- ldr r4, _08033A0C @ =0x020314E0
- ldr r2, [r4]
- ldr r5, [sp, #4]
- asrs r3, r5, #0x10
- lsls r1, r3, #1
- movs r6, #0xec
- lsls r6, r6, #2
- adds r0, r2, r6
- adds r0, r0, r1
- movs r1, #0
- strh r1, [r0]
- ldr r0, _08033A14 @ =0x000003A6
- adds r2, r2, r0
- adds r2, r2, r3
- movs r1, #1
- strb r1, [r2]
- ldr r0, [r4]
- ldr r2, _08033A18 @ =0x000003A9
- adds r0, r0, r2
- adds r0, r0, r3
- strb r1, [r0]
- ldr r2, _08033A1C @ =0x086AE5EC
- ldr r0, [r4]
- ldr r4, _08033A10 @ =0x000003A3
- adds r0, r0, r4
- adds r0, r0, r3
- b _08033FC2
- .align 2, 0
-_08033A0C: .4byte 0x020314E0
-_08033A10: .4byte 0x000003A3
-_08033A14: .4byte 0x000003A6
-_08033A18: .4byte 0x000003A9
-_08033A1C: .4byte 0x086AE5EC
-_08033A20:
- ldr r6, _08033AA4 @ =0x020314E0
- ldr r5, [r6]
- ldr r0, [sp, #4]
- asrs r4, r0, #0x10
- lsls r7, r4, #1
- ldr r2, _08033AA8 @ =0x000003B6
- adds r1, r5, r2
- adds r1, r1, r7
- ldrh r0, [r1]
- adds r0, #1
- movs r3, #0
- mov sb, r3
- movs r6, #0
- mov r8, r6
- strh r0, [r1]
- lsls r0, r4, #2
- adds r0, r5, r0
- movs r1, #0xf1
- lsls r1, r1, #2
- adds r2, r0, r1
- ldrh r3, [r2]
- movs r6, #0
- ldrsh r1, [r2, r6]
- ldr r0, _08033AAC @ =0xFFFFFCE0
- cmp r1, r0
- ble _08033AB8
- subs r0, r3, #3
- strh r0, [r2]
- ldr r2, _08033AB0 @ =0x086AE5EC
- ldr r1, _08033AB4 @ =0x000003A3
- adds r0, r5, r1
- adds r6, r0, r4
- movs r1, #0
- ldrsb r1, [r6, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r1, r2, #2
- adds r0, r0, r1
- movs r3, #0
- ldrsh r1, [r0, r3]
- movs r3, #0xec
- lsls r3, r3, #2
- adds r0, r5, r3
- adds r5, r0, r7
- ldrh r0, [r5]
- adds r3, r2, #0
- cmp r1, r0
- bgt _08033AE2
- mov r0, r8
- strh r0, [r5]
- ldrb r0, [r6]
- adds r0, #1
- strb r0, [r6]
- ldr r1, _08033AA4 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08033AB4 @ =0x000003A3
- adds r0, r0, r2
- adds r1, r0, r4
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #3
- ble _08033B20
- mov r4, sb
- strb r4, [r1]
- b _08033B20
- .align 2, 0
-_08033AA4: .4byte 0x020314E0
-_08033AA8: .4byte 0x000003B6
-_08033AAC: .4byte 0xFFFFFCE0
-_08033AB0: .4byte 0x086AE5EC
-_08033AB4: .4byte 0x000003A3
-_08033AB8:
- ldr r2, _08033AE8 @ =0x086AE5EC
- ldr r6, _08033AEC @ =0x000003A3
- adds r0, r5, r6
- adds r6, r0, r4
- movs r1, #0
- ldrsb r1, [r6, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r1, r2, #2
- adds r0, r0, r1
- movs r3, #0
- ldrsh r1, [r0, r3]
- movs r3, #0xec
- lsls r3, r3, #2
- adds r0, r5, r3
- adds r5, r0, r7
- ldrh r0, [r5]
- adds r3, r2, #0
- cmp r1, r0
- ble _08033AF0
-_08033AE2:
- adds r0, #1
- strh r0, [r5]
- b _08033B20
- .align 2, 0
-_08033AE8: .4byte 0x086AE5EC
-_08033AEC: .4byte 0x000003A3
-_08033AF0:
- mov r0, r8
- strh r0, [r5]
- ldrb r0, [r6]
- adds r0, #1
- strb r0, [r6]
- ldr r1, _08033B44 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08033B48 @ =0x000003A3
- adds r0, r0, r2
- adds r1, r0, r4
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #6
- ble _08033B20
- movs r0, #7
- strb r0, [r1]
- ldr r5, _08033B44 @ =0x020314E0
- ldr r0, [r5]
- movs r6, #0xe8
- lsls r6, r6, #2
- adds r0, r0, r6
- adds r0, r0, r4
- movs r1, #3
- strb r1, [r0]
-_08033B20:
- ldr r0, _08033B44 @ =0x020314E0
- ldr r0, [r0]
- ldr r2, [sp, #4]
- asrs r1, r2, #0x10
- ldr r4, _08033B48 @ =0x000003A3
- adds r0, r0, r4
- adds r0, r0, r1
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r1, r0, r3
- ldrh r1, [r1]
- str r1, [sp]
- adds r1, r3, #4
- adds r0, r0, r1
- b _08033FD6
- .align 2, 0
-_08033B44: .4byte 0x020314E0
-_08033B48: .4byte 0x000003A3
-_08033B4C:
- ldr r5, _08033BD4 @ =0x020314E0
- ldr r4, [r5]
- ldr r6, [sp, #4]
- asrs r7, r6, #0x10
- lsls r0, r7, #1
- mov r8, r0
- ldr r2, _08033BD8 @ =0x000003B6
- adds r1, r4, r2
- add r1, r8
- ldrh r0, [r1]
- adds r0, #1
- movs r3, #0
- mov sl, r3
- movs r5, #0
- mov sb, r5
- strh r0, [r1]
- lsls r0, r7, #2
- adds r5, r4, r0
- movs r6, #0xf1
- lsls r6, r6, #2
- adds r2, r5, r6
- ldrh r3, [r2]
- movs r0, #0
- ldrsh r1, [r2, r0]
- ldr r0, _08033BDC @ =0x0000031F
- cmp r1, r0
- bgt _08033BE8
- adds r0, r3, #3
- strh r0, [r2]
- ldr r2, _08033BE0 @ =0x086AE5EC
- ldr r3, _08033BE4 @ =0x000003A3
- adds r0, r4, r3
- adds r6, r0, r7
- movs r1, #0
- ldrsb r1, [r6, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r1, r2, #2
- adds r0, r0, r1
- movs r5, #0
- ldrsh r1, [r0, r5]
- adds r3, #0xd
- adds r0, r4, r3
- mov r4, r8
- adds r5, r0, r4
- ldrh r0, [r5]
- adds r3, r2, #0
- cmp r1, r0
- bgt _08033C12
- mov r0, sb
- strh r0, [r5]
- ldrb r0, [r6]
- adds r0, #1
- strb r0, [r6]
- ldr r1, _08033BD4 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08033BE4 @ =0x000003A3
- adds r0, r0, r2
- adds r1, r0, r7
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0xa
- ble _08033C50
- movs r0, #7
- strb r0, [r1]
- b _08033C50
- .align 2, 0
-_08033BD4: .4byte 0x020314E0
-_08033BD8: .4byte 0x000003B6
-_08033BDC: .4byte 0x0000031F
-_08033BE0: .4byte 0x086AE5EC
-_08033BE4: .4byte 0x000003A3
-_08033BE8:
- ldr r2, _08033C18 @ =0x086AE5EC
- ldr r3, _08033C1C @ =0x000003A3
- adds r0, r4, r3
- adds r6, r0, r7
- movs r1, #0
- ldrsb r1, [r6, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r1, r2, #2
- adds r0, r0, r1
- movs r5, #0
- ldrsh r1, [r0, r5]
- adds r3, #0xd
- adds r0, r4, r3
- mov r4, r8
- adds r5, r0, r4
- ldrh r0, [r5]
- adds r3, r2, #0
- cmp r1, r0
- ble _08033C20
-_08033C12:
- adds r0, #1
- strh r0, [r5]
- b _08033C50
- .align 2, 0
-_08033C18: .4byte 0x086AE5EC
-_08033C1C: .4byte 0x000003A3
-_08033C20:
- mov r0, sb
- strh r0, [r5]
- ldrb r0, [r6]
- adds r0, #1
- strb r0, [r6]
- ldr r1, _08033C74 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08033C78 @ =0x000003A3
- adds r0, r0, r2
- adds r1, r0, r7
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0xd
- ble _08033C50
- mov r4, sl
- strb r4, [r1]
- ldr r5, _08033C74 @ =0x020314E0
- ldr r0, [r5]
- movs r6, #0xe8
- lsls r6, r6, #2
- adds r0, r0, r6
- adds r0, r0, r7
- movs r1, #2
- strb r1, [r0]
-_08033C50:
- ldr r0, _08033C74 @ =0x020314E0
- ldr r0, [r0]
- ldr r2, [sp, #4]
- asrs r1, r2, #0x10
- ldr r4, _08033C78 @ =0x000003A3
- adds r0, r0, r4
- adds r0, r0, r1
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r1, r0, r3
- ldrh r1, [r1]
- str r1, [sp]
- adds r1, r3, #4
- adds r0, r0, r1
- b _08033FD6
- .align 2, 0
-_08033C74: .4byte 0x020314E0
-_08033C78: .4byte 0x000003A3
-_08033C7C:
- ldr r3, _08033D0C @ =0x086AE5EC
- ldr r6, _08033D10 @ =0x020314E0
- ldr r2, [r6]
- ldr r5, [sp, #4]
- asrs r4, r5, #0x10
- ldr r0, _08033D14 @ =0x000003A3
- adds r2, r2, r0
- adds r2, r2, r4
- movs r1, #0
- ldrsb r1, [r2, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r1, r0, r3
- ldrh r1, [r1]
- str r1, [sp]
- adds r3, #4
- adds r0, r0, r3
- ldrh r7, [r0]
- movs r3, #0
- movs r0, #0xe
- strb r0, [r2]
- ldr r5, [r6]
- lsls r1, r4, #1
- movs r2, #0xec
- lsls r2, r2, #2
- adds r0, r5, r2
- adds r0, r0, r1
- movs r2, #0
- strh r3, [r0]
- movs r3, #0xe8
- lsls r3, r3, #2
- adds r0, r5, r3
- adds r0, r0, r4
- movs r1, #5
- strb r1, [r0]
- ldr r0, [r6]
- movs r5, #0xeb
- lsls r5, r5, #2
- adds r0, r0, r5
- adds r0, r0, r4
- strb r2, [r0]
- ldr r0, [r6]
- ldr r1, _08033D18 @ =0x000003A9
- adds r0, r0, r1
- adds r0, r0, r4
- strb r2, [r0]
- ldr r0, [r6]
- ldr r2, _08033D1C @ =0x00000396
- adds r1, r0, r2
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- ble _08033CEE
- subs r0, r2, #1
- strb r0, [r1]
-_08033CEE:
- ldr r1, [r6]
- ldr r0, _08033D20 @ =0x000186A0
- str r0, [r1, #0x3c]
- ldr r3, _08033D24 @ =0x00000385
- adds r1, r1, r3
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- movs r0, #0xf2
- bl m4aSongNumStart
- movs r0, #7
- bl sub_11B0
- b _08033FD8
- .align 2, 0
-_08033D0C: .4byte 0x086AE5EC
-_08033D10: .4byte 0x020314E0
-_08033D14: .4byte 0x000003A3
-_08033D18: .4byte 0x000003A9
-_08033D1C: .4byte 0x00000396
-_08033D20: .4byte 0x000186A0
-_08033D24: .4byte 0x00000385
-_08033D28:
- ldr r3, _08033D60 @ =0x086AE5EC
- ldr r4, _08033D64 @ =0x020314E0
- ldr r2, [r4]
- ldr r5, [sp, #4]
- asrs r4, r5, #0x10
- ldr r6, _08033D68 @ =0x000003A3
- adds r0, r2, r6
- adds r5, r0, r4
- movs r1, #0
- ldrsb r1, [r5, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r1, r3, #2
- adds r0, r0, r1
- movs r6, #0
- ldrsh r1, [r0, r6]
- lsls r0, r4, #1
- movs r6, #0xec
- lsls r6, r6, #2
- adds r2, r2, r6
- adds r2, r2, r0
- ldrh r0, [r2]
- cmp r1, r0
- ble _08033D6C
- adds r0, #1
- strh r0, [r2]
- b _08033DA8
- .align 2, 0
-_08033D60: .4byte 0x086AE5EC
-_08033D64: .4byte 0x020314E0
-_08033D68: .4byte 0x000003A3
-_08033D6C:
- movs r6, #0
- movs r0, #0
- strh r0, [r2]
- ldrb r0, [r5]
- adds r0, #1
- strb r0, [r5]
- ldr r1, _08033DEC @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08033DF0 @ =0x000003A3
- adds r0, r0, r2
- adds r1, r0, r4
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0xf
- ble _08033DA8
- movs r0, #0xf
- strb r0, [r1]
- ldr r5, _08033DEC @ =0x020314E0
- ldr r0, [r5]
- movs r1, #0xe8
- lsls r1, r1, #2
- adds r0, r0, r1
- adds r0, r0, r4
- movs r1, #9
- strb r1, [r0]
- ldr r0, [r5]
- adds r2, #3
- adds r0, r0, r2
- adds r0, r0, r4
- strb r6, [r0]
-_08033DA8:
- ldr r6, _08033DEC @ =0x020314E0
- ldr r1, [r6]
- ldr r5, [sp, #4]
- asrs r4, r5, #0x10
- ldr r5, _08033DF0 @ =0x000003A3
- adds r0, r1, r5
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0xf
- bne _08033DCE
- movs r0, #0xeb
- lsls r0, r0, #2
- adds r1, r1, r0
- adds r1, r1, r4
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
-_08033DCE:
- ldr r0, [r6]
- adds r0, r0, r5
- adds r0, r0, r4
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r1, r0, r3
- ldrh r1, [r1]
- str r1, [sp]
- adds r1, r3, #4
- adds r0, r0, r1
- b _08033FD6
- .align 2, 0
-_08033DEC: .4byte 0x020314E0
-_08033DF0: .4byte 0x000003A3
-_08033DF4:
- ldr r5, _08033E14 @ =0x020314E0
- ldr r4, [r5]
- ldr r1, [sp, #4]
- asrs r3, r1, #0x10
- lsls r1, r3, #1
- movs r2, #0xec
- lsls r2, r2, #2
- adds r0, r4, r2
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, #5
- bhi _08033E18
- adds r0, #1
- strh r0, [r1]
- movs r3, #3
- b _08033E8E
- .align 2, 0
-_08033E14: .4byte 0x020314E0
-_08033E18:
- movs r2, #0
- movs r0, #0
- strh r0, [r1]
- ldr r6, _08033E64 @ =0x000003A3
- adds r0, r4, r6
- adds r0, r0, r3
- movs r1, #0x12
- strb r1, [r0]
- ldr r0, [r5]
- movs r1, #0xe8
- lsls r1, r1, #2
- adds r0, r0, r1
- adds r0, r0, r3
- movs r1, #8
- strb r1, [r0]
- ldr r0, [r5]
- ldr r4, _08033E68 @ =0x000003A9
- adds r0, r0, r4
- adds r0, r0, r3
- strb r2, [r0]
- ldr r0, [r5]
- ldr r5, _08033E6C @ =0x00000396
- adds r1, r0, r5
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- ble _08033E54
- subs r0, r2, #1
- strb r0, [r1]
-_08033E54:
- movs r6, #3
- str r6, [sp]
- movs r7, #3
- movs r0, #0xf3
- bl m4aSongNumStart
- b _08033FD8
- .align 2, 0
-_08033E64: .4byte 0x000003A3
-_08033E68: .4byte 0x000003A9
-_08033E6C: .4byte 0x00000396
-_08033E70:
- ldr r5, _08033E94 @ =0x020314E0
- ldr r4, [r5]
- ldr r0, [sp, #4]
- asrs r3, r0, #0x10
- lsls r1, r3, #1
- movs r2, #0xec
- lsls r2, r2, #2
- adds r0, r4, r2
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, #5
- bhi _08033E98
- adds r0, #1
- strh r0, [r1]
- movs r3, #9
-_08033E8E:
- str r3, [sp]
- movs r7, #3
- b _08033FD8
- .align 2, 0
-_08033E94: .4byte 0x020314E0
-_08033E98:
- movs r2, #0
- movs r0, #0
- strh r0, [r1]
- ldr r6, _08033EE4 @ =0x000003A3
- adds r0, r4, r6
- adds r0, r0, r3
- movs r1, #0x12
- strb r1, [r0]
- ldr r0, [r5]
- movs r1, #0xe8
- lsls r1, r1, #2
- adds r0, r0, r1
- adds r0, r0, r3
- movs r1, #8
- strb r1, [r0]
- ldr r0, [r5]
- ldr r4, _08033EE8 @ =0x000003A9
- adds r0, r0, r4
- adds r0, r0, r3
- strb r2, [r0]
- ldr r0, [r5]
- ldr r5, _08033EEC @ =0x00000396
- adds r1, r0, r5
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- ble _08033ED4
- subs r0, r2, #1
- strb r0, [r1]
-_08033ED4:
- movs r0, #0xf3
- bl m4aSongNumStart
- movs r6, #9
- str r6, [sp]
- movs r7, #3
- b _08033FD8
- .align 2, 0
-_08033EE4: .4byte 0x000003A3
-_08033EE8: .4byte 0x000003A9
-_08033EEC: .4byte 0x00000396
-_08033EF0:
- ldr r3, _08033F28 @ =0x086AE5EC
- ldr r0, _08033F2C @ =0x020314E0
- ldr r2, [r0]
- ldr r1, [sp, #4]
- asrs r4, r1, #0x10
- ldr r5, _08033F30 @ =0x000003A3
- adds r0, r2, r5
- adds r5, r0, r4
- movs r1, #0
- ldrsb r1, [r5, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r1, r3, #2
- adds r0, r0, r1
- movs r6, #0
- ldrsh r1, [r0, r6]
- lsls r0, r4, #1
- movs r6, #0xec
- lsls r6, r6, #2
- adds r2, r2, r6
- adds r2, r2, r0
- ldrh r0, [r2]
- cmp r1, r0
- ble _08033F34
- adds r0, #1
- strh r0, [r2]
- b _08033F64
- .align 2, 0
-_08033F28: .4byte 0x086AE5EC
-_08033F2C: .4byte 0x020314E0
-_08033F30: .4byte 0x000003A3
-_08033F34:
- movs r0, #0
- strh r0, [r2]
- ldrb r0, [r5]
- adds r0, #1
- strb r0, [r5]
- ldr r1, _08033F88 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08033F8C @ =0x000003A3
- adds r0, r0, r2
- adds r1, r0, r4
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0x19
- ble _08033F64
- movs r0, #0x19
- strb r0, [r1]
- ldr r5, _08033F88 @ =0x020314E0
- ldr r0, [r5]
- movs r6, #0xe8
- lsls r6, r6, #2
- adds r0, r0, r6
- adds r0, r0, r4
- movs r1, #9
- strb r1, [r0]
-_08033F64:
- ldr r0, _08033F88 @ =0x020314E0
- ldr r0, [r0]
- ldr r2, [sp, #4]
- asrs r1, r2, #0x10
- ldr r4, _08033F8C @ =0x000003A3
- adds r0, r0, r4
- adds r0, r0, r1
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r1, r0, r3
- ldrh r1, [r1]
- str r1, [sp]
- adds r1, r3, #4
- adds r0, r0, r1
- b _08033FD6
- .align 2, 0
-_08033F88: .4byte 0x020314E0
-_08033F8C: .4byte 0x000003A3
-_08033F90:
- ldr r3, _0803401C @ =0x020314E0
- ldr r0, [r3]
- ldr r5, [sp, #4]
- asrs r4, r5, #0x10
- ldr r6, _08034020 @ =0x000003A6
- adds r0, r0, r6
- adds r0, r0, r4
- movs r1, #0
- strb r1, [r0]
- ldr r0, [r3]
- ldr r2, _08034024 @ =0x000003A9
- adds r0, r0, r2
- adds r0, r0, r4
- strb r1, [r0]
- ldr r0, [r3]
- movs r5, #0xe8
- lsls r5, r5, #2
- adds r0, r0, r5
- adds r0, r0, r4
- strb r1, [r0]
- ldr r2, _08034028 @ =0x086AE5EC
- ldr r0, [r3]
- subs r6, #3
- adds r0, r0, r6
- adds r0, r0, r4
-_08033FC2:
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r1, r0, r2
- ldrh r1, [r1]
- str r1, [sp]
- adds r2, #4
- adds r0, r0, r2
-_08033FD6:
- ldrh r7, [r0]
-_08033FD8:
- ldr r2, _0803401C @ =0x020314E0
- ldr r3, [r2]
- ldr r0, [sp, #4]
- asrs r6, r0, #0x10
- lsls r1, r6, #1
- ldr r4, _0803402C @ =0x000003B6
- adds r0, r3, r4
- adds r5, r0, r1
- adds r4, #6
- adds r0, r3, r4
- adds r0, r0, r1
- ldrh r1, [r5]
- ldrh r0, [r0]
- cmp r1, r0
- bls _0803404C
- ldr r1, _08034030 @ =0x00000385
- adds r0, r3, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x12
- bgt _0803404C
- movs r0, #0
- strh r0, [r5]
- movs r2, #0xe8
- lsls r2, r2, #2
- adds r0, r3, r2
- adds r1, r0, r6
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #2
- bne _08034034
- movs r0, #6
- b _08034036
- .align 2, 0
-_0803401C: .4byte 0x020314E0
-_08034020: .4byte 0x000003A6
-_08034024: .4byte 0x000003A9
-_08034028: .4byte 0x086AE5EC
-_0803402C: .4byte 0x000003B6
-_08034030: .4byte 0x00000385
-_08034034:
- movs r0, #7
-_08034036:
- strb r0, [r1]
- ldr r3, _080340D8 @ =0x020314E0
- ldr r0, [r3]
- ldr r4, [sp, #4]
- asrs r1, r4, #0xf
- movs r5, #0xec
- lsls r5, r5, #2
- adds r0, r0, r5
- adds r0, r0, r1
- movs r1, #0
- strh r1, [r0]
-_0803404C:
- ldr r6, _080340D8 @ =0x020314E0
- ldr r0, [r6]
- ldr r1, [sp, #4]
- asrs r5, r1, #0x10
- ldr r2, _080340DC @ =0x00000397
- adds r1, r0, r2
- adds r1, r1, r5
- adds r2, #3
- adds r0, r0, r2
- adds r0, r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r0, r2
- adds r0, r0, r5
- strb r7, [r0]
- ldr r0, [r6]
- ldr r3, _080340E0 @ =0x0000039D
- adds r0, r0, r3
- adds r0, r0, r5
- mov r4, sp
- ldrb r4, [r4]
- strb r4, [r0]
- ldr r4, [r6]
- lsls r0, r5, #2
- adds r4, r4, r0
- movs r6, #0xf1
- lsls r6, r6, #2
- adds r0, r4, r6
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0xd0
- movs r2, #0xf4
- lsls r2, r2, #2
- adds r1, r4, r2
- strh r0, [r1]
- ldr r3, _080340E4 @ =0x000003C6
- adds r0, r4, r3
- movs r6, #0
- ldrsh r0, [r0, r6]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0x42
- ldr r1, _080340E8 @ =0x000003D2
- adds r4, r4, r1
- strh r0, [r4]
- adds r5, #1
- lsls r5, r5, #0x10
- lsrs r2, r5, #0x10
- asrs r5, r5, #0x10
- cmp r5, #2
- bgt _080340C8
- bl _08033752
-_080340C8:
- add sp, #8
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080340D8: .4byte 0x020314E0
-_080340DC: .4byte 0x00000397
-_080340E0: .4byte 0x0000039D
-_080340E4: .4byte 0x000003C6
-_080340E8: .4byte 0x000003D2
-
- thumb_func_start sub_340EC
-sub_340EC: @ 0x080340EC
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #0x14
- movs r4, #0
-_080340FA:
- ldr r0, _08034198 @ =0x020314E0
- ldr r5, [r0]
- lsls r4, r4, #0x10
- asrs r3, r4, #0x10
- ldr r1, _0803419C @ =0x00000397
- adds r0, r5, r1
- adds r0, r0, r3
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r1, r1, #0x10
- ldr r2, _080341A0 @ =0x040000D4
- lsrs r7, r1, #0x10
- mov r8, r7
- asrs r1, r1, #0x10
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r0, r0, #7
- ldr r1, _080341A4 @ =0x08510E4C
- adds r0, r0, r1
- str r0, [r2]
- lsls r7, r3, #2
- adds r0, r7, r3
- lsls r0, r0, #7
- ldr r1, _080341A8 @ =0x06010920
- adds r0, r0, r1
- str r0, [r2, #4]
- ldr r0, _080341AC @ =0x80000140
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- ldr r2, _080341B0 @ =0x0000039D
- adds r0, r5, r2
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- mov sb, r0
- movs r0, #0xb8
- adds r1, r3, #0
- muls r1, r0, r1
- ldr r0, _080341B4 @ =0x0200B8C0
- adds r6, r1, r0
- ldr r1, _080341B8 @ =0x000003A6
- adds r0, r5, r1
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- mov sl, r4
- cmp r0, #0
- beq _080341C0
- adds r4, r5, r7
- adds r2, #0x27
- adds r0, r4, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x6c
- adds r1, r5, #0
- adds r1, #0x58
- ldrh r1, [r1]
- subs r0, r0, r1
- strh r0, [r6, #2]
- ldr r7, _080341BC @ =0x000003C6
- adds r4, r4, r7
- movs r1, #0
- ldrsh r0, [r4, r1]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x1c
- adds r1, r5, #0
- adds r1, #0x5a
- ldrh r1, [r1]
- subs r0, r0, r1
- b _080341C6
- .align 2, 0
-_08034198: .4byte 0x020314E0
-_0803419C: .4byte 0x00000397
-_080341A0: .4byte 0x040000D4
-_080341A4: .4byte 0x08510E4C
-_080341A8: .4byte 0x06010920
-_080341AC: .4byte 0x80000140
-_080341B0: .4byte 0x0000039D
-_080341B4: .4byte 0x0200B8C0
-_080341B8: .4byte 0x000003A6
-_080341BC: .4byte 0x000003C6
-_080341C0:
- movs r0, #0xf0
- strh r0, [r6, #2]
- movs r0, #0xb4
-_080341C6:
- strh r0, [r6, #4]
- mov r2, r8
- lsls r0, r2, #0x10
- asrs r5, r0, #0x10
- cmp r5, #6
- beq _080341D4
- b _08034368
-_080341D4:
- ldr r3, _0803420C @ =0x020314E0
- ldr r0, [r3]
- mov r7, sl
- asrs r1, r7, #0x10
- movs r2, #0xeb
- lsls r2, r2, #2
- adds r0, r0, r2
- adds r1, r0, r1
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #6
- bgt _08034210
- adds r4, r0, #0
- lsls r0, r4, #7
- movs r1, #6
- bl __divsi3
- movs r3, #0x80
- lsls r3, r3, #1
- adds r0, r0, r3
- lsls r0, r0, #0x10
- lsrs r7, r0, #0x10
- subs r4, r5, r4
- lsls r4, r4, #7
- adds r0, r4, #0
- movs r1, #6
- b _08034238
- .align 2, 0
-_0803420C: .4byte 0x020314E0
-_08034210:
- movs r4, #0
- ldrsb r4, [r1, r4]
- movs r1, #0x18
- subs r1, r1, r4
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #3
- subs r0, r0, r1
- lsls r0, r0, #4
- movs r1, #0x12
- bl __divsi3
- adds r0, #0x10
- lsls r0, r0, #0x10
- lsrs r7, r0, #0x10
- subs r4, #6
- lsls r0, r4, #3
- subs r0, r0, r4
- lsls r0, r0, #6
- movs r1, #0x12
-_08034238:
- bl __divsi3
- adds r0, #0x80
- lsls r0, r0, #0x10
- lsrs r1, r0, #0x10
- lsls r0, r7, #0x10
- asrs r0, r0, #0x10
- lsls r1, r1, #0x10
- asrs r1, r1, #0x10
- mov r5, sl
- asrs r4, r5, #0x10
- adds r5, r4, #2
- lsls r2, r5, #0x10
- asrs r2, r2, #0x10
- bl SetMatrixScale
- ldrh r0, [r6, #2]
- subs r0, #0x10
- strh r0, [r6, #2]
- ldrh r0, [r6, #4]
- subs r0, #0x10
- strh r0, [r6, #4]
- movs r2, #0
- mov r7, sb
- lsls r0, r7, #0x10
- ldr r7, _08034350 @ =gOamBuffer
- asrs r1, r0, #0x10
- mov ip, r4
- mov sb, r5
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- mov r8, r0
-_0803427A:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r0, [r5]
- lsls r0, r0, #3
- adds r2, r0, r7
- lsls r0, r4, #1
- adds r0, r0, r4
- lsls r0, r0, #1
- ldr r1, _08034354 @ =0x086BA0A0
- adds r0, r0, r1
- mov r3, r8
- adds r1, r3, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, #2
- adds r2, #2
- ldrh r0, [r1]
- strh r0, [r2]
- ldrh r0, [r1, #2]
- strh r0, [r2, #2]
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- str r3, [sp, #0xc]
- ldrh r2, [r3, #2]
- lsls r0, r2, #0x17
- lsrs r0, r0, #0x17
- str r0, [sp, #8]
- movs r1, #2
- ldrsh r0, [r6, r1]
- ldr r3, [sp, #8]
- adds r0, r3, r0
- ldr r1, _08034358 @ =0x000001FF
- ands r0, r1
- ldr r3, _0803435C @ =0xFFFFFE00
- ands r2, r3
- orrs r2, r0
- ldr r0, [sp, #0xc]
- strh r2, [r0, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r2, [r1]
- adds r0, r0, r2
- strb r0, [r1]
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- str r3, [sp, #0xc]
- ldrh r0, [r3, #4]
- mov r3, sp
- strh r0, [r3, #0x10]
- adds r2, r0, #0
- lsls r1, r2, #0x16
- lsrs r1, r1, #0x16
- strh r1, [r3]
- mov r3, ip
- lsls r0, r3, #2
- add r0, ip
- lsls r0, r0, #2
- str r0, [sp, #8]
- mov r0, sp
- ldrh r2, [r0]
- ldr r0, [sp, #8]
- adds r1, r2, r0
- ldr r3, _08034360 @ =0x000003FF
- ands r1, r3
- mov r0, sp
- ldrh r2, [r0, #0x10]
- ldr r0, _08034364 @ =0xFFFFFC00
- ands r2, r0
- orrs r2, r1
- ldr r1, [sp, #0xc]
- strh r2, [r1, #4]
- ldrh r0, [r5]
- lsls r0, r0, #3
- adds r0, r0, r7
- ldrb r1, [r0, #1]
- movs r2, #3
- orrs r1, r2
- strb r1, [r0, #1]
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #7
- mov r1, sb
- ands r1, r0
- lsls r1, r1, #1
- ldrb r0, [r3, #3]
- movs r5, #0xf
- rsbs r5, r5, #0
- adds r2, r5, #0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, #3]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #1
- ble _0803427A
- b _08034416
- .align 2, 0
-_08034350: .4byte gOamBuffer
-_08034354: .4byte 0x086BA0A0
-_08034358: .4byte 0x000001FF
-_0803435C: .4byte 0xFFFFFE00
-_08034360: .4byte 0x000003FF
-_08034364: .4byte 0xFFFFFC00
-_08034368:
- movs r2, #0
- mov r7, sb
- lsls r0, r7, #0x10
- ldr r1, _08034438 @ =0x086BA0A0
- mov sb, r1
- ldr r3, _0803443C @ =gOamBuffer
- mov ip, r3
- asrs r1, r0, #0x10
- mov r5, sl
- asrs r5, r5, #0x10
- str r5, [sp, #4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- mov r8, r0
-_08034386:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r0, [r5]
- lsls r0, r0, #3
- mov r7, ip
- adds r2, r0, r7
- lsls r0, r4, #1
- adds r0, r0, r4
- lsls r0, r0, #1
- add r0, sb
- mov r3, r8
- adds r1, r3, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, #2
- adds r2, #2
- ldrh r0, [r1]
- strh r0, [r2]
- ldrh r0, [r1, #2]
- strh r0, [r2, #2]
- ldrh r3, [r5]
- lsls r3, r3, #3
- add r3, ip
- ldrh r2, [r3, #2]
- lsls r0, r2, #0x17
- lsrs r0, r0, #0x17
- movs r7, #2
- ldrsh r1, [r6, r7]
- adds r0, r0, r1
- ldr r7, _08034440 @ =0x000001FF
- adds r1, r7, #0
- ands r0, r1
- ldr r7, _08034444 @ =0xFFFFFE00
- adds r1, r7, #0
- ands r2, r1
- orrs r2, r0
- strh r2, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- add r1, ip
- ldrb r0, [r6, #4]
- ldrb r2, [r1]
- adds r0, r0, r2
- strb r0, [r1]
- ldrh r3, [r5]
- lsls r3, r3, #3
- add r3, ip
- ldrh r2, [r3, #4]
- lsls r1, r2, #0x16
- lsrs r1, r1, #0x16
- ldr r5, [sp, #4]
- lsls r0, r5, #2
- adds r0, r0, r5
- lsls r0, r0, #2
- adds r1, r1, r0
- ldr r7, _08034448 @ =0x000003FF
- adds r0, r7, #0
- ands r1, r0
- ldr r5, _0803444C @ =0xFFFFFC00
- adds r0, r5, #0
- ands r2, r0
- orrs r2, r1
- strh r2, [r3, #4]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #1
- ble _08034386
-_08034416:
- movs r0, #0x80
- lsls r0, r0, #9
- add r0, sl
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #2
- bgt _08034426
- b _080340FA
-_08034426:
- add sp, #0x14
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08034438: .4byte 0x086BA0A0
-_0803443C: .4byte gOamBuffer
-_08034440: .4byte 0x000001FF
-_08034444: .4byte 0xFFFFFE00
-_08034448: .4byte 0x000003FF
-_0803444C: .4byte 0xFFFFFC00
-
- thumb_func_start sub_34450
-sub_34450: @ 0x08034450
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #4
- movs r0, #0
- mov sb, r0
- ldr r1, _08034488 @ =0x0200BDC8
- str r1, [sp]
- ldr r1, _0803448C @ =0x020314E0
- ldr r0, [r1]
- movs r2, #0xf7
- lsls r2, r2, #2
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- mov sl, r1
- cmp r0, #8
- bls _0803447E
- bl _08034D7E
-_0803447E:
- lsls r0, r0, #2
- ldr r1, _08034490 @ =_08034494
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08034488: .4byte 0x0200BDC8
-_0803448C: .4byte 0x020314E0
-_08034490: .4byte _08034494
-_08034494: @ jump table
- .4byte _080344B8 @ case 0
- .4byte _08034510 @ case 1
- .4byte _080345F0 @ case 2
- .4byte _080346D8 @ case 3
- .4byte _080348CA @ case 4
- .4byte _08034910 @ case 5
- .4byte _08034998 @ case 6
- .4byte _08034A7C @ case 7
- .4byte _08034CD0 @ case 8
-_080344B8:
- ldr r3, _08034500 @ =0x020314E0
- ldr r1, [r3]
- movs r4, #0xfa
- lsls r4, r4, #2
- adds r2, r1, r4
- movs r0, #0xdc
- lsls r0, r0, #2
- strh r0, [r2]
- ldr r5, _08034504 @ =0x000003EA
- adds r2, r1, r5
- movs r0, #0x96
- lsls r0, r0, #1
- strh r0, [r2]
- movs r6, #0xf7
- lsls r6, r6, #2
- adds r1, r1, r6
- movs r4, #1
- strb r4, [r1]
- ldr r1, [r3]
- ldr r7, _08034508 @ =0x000003E6
- adds r2, r1, r7
- movs r0, #0xb8
- strh r0, [r2]
- ldr r0, _0803450C @ =0x000003E2
- adds r2, r1, r0
- movs r0, #0x15
- strh r0, [r2]
- movs r2, #0
- mov sb, r2
- movs r3, #0xa5
- lsls r3, r3, #2
- adds r1, r1, r3
- strb r4, [r1]
- bl _08034D7E
- .align 2, 0
-_08034500: .4byte 0x020314E0
-_08034504: .4byte 0x000003EA
-_08034508: .4byte 0x000003E6
-_0803450C: .4byte 0x000003E2
-_08034510:
- ldr r0, _0803453C @ =0x086AE68E
- mov r5, sl
- ldr r4, [r5]
- ldr r6, _08034540 @ =0x000003E2
- adds r3, r4, r6
- movs r7, #0
- ldrsh r1, [r3, r7]
- lsls r1, r1, #2
- adds r0, #2
- adds r1, r1, r0
- movs r2, #0
- ldrsh r0, [r1, r2]
- movs r5, #0xf9
- lsls r5, r5, #2
- adds r1, r4, r5
- ldrh r2, [r1]
- cmp r0, r2
- ble _08034544
- adds r0, r2, #1
- strh r0, [r1]
- b _080345DC
- .align 2, 0
-_0803453C: .4byte 0x086AE68E
-_08034540: .4byte 0x000003E2
-_08034544:
- movs r0, #0
- strh r0, [r1]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x1c
- ble _08034582
- movs r0, #0x15
- strh r0, [r3]
- movs r6, #0xf8
- lsls r6, r6, #2
- adds r1, r4, r6
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- bgt _08034570
- adds r0, r2, #1
- strb r0, [r1]
- b _08034582
-_08034570:
- movs r0, #0
- strb r0, [r1]
- mov r7, sl
- ldr r0, [r7]
- movs r1, #0xf7
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r1, #2
- strb r1, [r0]
-_08034582:
- ldr r4, _080345E4 @ =0x020314E0
- ldr r1, [r4]
- ldr r5, _080345E8 @ =0x000003E2
- adds r0, r1, r5
- movs r2, #0
- ldrsh r0, [r0, r2]
- cmp r0, #0x17
- bne _080345B2
- ldr r3, _080345EC @ =0x00000129
- adds r1, r1, r3
- movs r0, #0
- strb r0, [r1]
- ldr r0, [r4]
- movs r6, #0x94
- lsls r6, r6, #1
- adds r0, r0, r6
- movs r1, #1
- strb r1, [r0]
- movs r0, #0xf4
- bl m4aSongNumStart
- movs r0, #8
- bl sub_11B0
-_080345B2:
- ldr r1, [r4]
- adds r0, r1, r5
- movs r7, #0
- ldrsh r0, [r0, r7]
- cmp r0, #0x1b
- bne _080345DC
- ldr r2, _080345EC @ =0x00000129
- adds r0, r1, r2
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r4]
- movs r3, #0x94
- lsls r3, r3, #1
- adds r0, r0, r3
- strb r1, [r0]
- movs r0, #0xf4
- bl m4aSongNumStart
- movs r0, #8
- bl sub_11B0
-_080345DC:
- movs r4, #0
- mov sb, r4
- b _08034D7E
- .align 2, 0
-_080345E4: .4byte 0x020314E0
-_080345E8: .4byte 0x000003E2
-_080345EC: .4byte 0x00000129
-_080345F0:
- mov r5, sl
- ldr r4, [r5]
- movs r6, #0xf9
- lsls r6, r6, #2
- adds r3, r4, r6
- ldrh r0, [r3]
- cmp r0, #0xff
- bhi _08034670
- ldr r2, _08034660 @ =0x08137D40
- adds r1, r0, #0
- movs r0, #0x3f
- ands r0, r1
- lsrs r0, r0, #4
- lsls r0, r0, #1
- adds r0, r0, r2
- ldrh r0, [r0]
- mov sb, r0
- adds r1, #1
- movs r5, #0
- strh r1, [r3]
- lsls r1, r1, #0x10
- movs r0, #0x80
- lsls r0, r0, #0x11
- cmp r1, r0
- bne _08034670
- movs r7, #0xf7
- lsls r7, r7, #2
- adds r1, r4, r7
- movs r0, #3
- strb r0, [r1]
- mov r0, sl
- ldr r1, [r0]
- adds r0, r1, r6
- strh r5, [r0]
- movs r2, #0xf8
- lsls r2, r2, #2
- adds r1, r1, r2
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #3
- ble _08034646
- movs r0, #0
- strb r0, [r1]
-_08034646:
- mov r3, sl
- ldr r1, [r3]
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #1
- bgt _08034668
- ldr r4, _08034664 @ =0x000003E2
- adds r0, r1, r4
- strh r5, [r0]
- b _08034670
- .align 2, 0
-_08034660: .4byte 0x08137D40
-_08034664: .4byte 0x000003E2
-_08034668:
- ldr r5, _0803468C @ =0x000003E2
- adds r1, r1, r5
- movs r0, #7
- strh r0, [r1]
-_08034670:
- mov r6, sl
- ldr r3, [r6]
- ldr r7, _08034690 @ =0x000003E6
- adds r1, r3, r7
- ldrh r0, [r1]
- movs r4, #0
- ldrsh r2, [r1, r4]
- cmp r2, #0
- ble _080346BC
- cmp r2, #0x40
- ble _08034694
- subs r0, #1
- b _08034696
- .align 2, 0
-_0803468C: .4byte 0x000003E2
-_08034690: .4byte 0x000003E6
-_08034694:
- subs r0, #2
-_08034696:
- strh r0, [r1]
- ldr r0, _080346B4 @ =0x020314E0
- ldr r0, [r0]
- ldr r5, _080346B8 @ =0x000003E6
- adds r0, r0, r5
- movs r6, #0
- ldrsh r0, [r0, r6]
- cmp r0, #0x9a
- beq _080346AA
- b _08034D7E
-_080346AA:
- movs r0, #0xf5
- bl m4aSongNumStart
- b _08034D7E
- .align 2, 0
-_080346B4: .4byte 0x020314E0
-_080346B8: .4byte 0x000003E6
-_080346BC:
- ldr r7, _080346D4 @ =0x00000387
- adds r0, r3, r7
- movs r1, #2
- strb r1, [r0]
- mov r2, sl
- ldr r0, [r2]
- movs r3, #0xa5
- lsls r3, r3, #2
- adds r0, r0, r3
- strb r1, [r0]
- b _08034D7E
- .align 2, 0
-_080346D4: .4byte 0x00000387
-_080346D8:
- ldr r0, _08034704 @ =0x086AE68E
- mov r4, sl
- ldr r3, [r4]
- ldr r4, _08034708 @ =0x000003E2
- adds r6, r3, r4
- movs r5, #0
- ldrsh r1, [r6, r5]
- lsls r1, r1, #2
- adds r0, #2
- adds r1, r1, r0
- movs r7, #0
- ldrsh r0, [r1, r7]
- movs r5, #0xf9
- lsls r5, r5, #2
- adds r1, r3, r5
- ldrh r2, [r1]
- cmp r0, r2
- ble _0803470C
- adds r0, r2, #1
- strh r0, [r1]
- b _080347F0
- .align 2, 0
-_08034704: .4byte 0x086AE68E
-_08034708: .4byte 0x000003E2
-_0803470C:
- movs r7, #0
- strh r7, [r1]
- movs r2, #0xf8
- lsls r2, r2, #2
- adds r1, r3, r2
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #1
- bgt _08034758
- ldrh r0, [r6]
- adds r0, #1
- strh r0, [r6]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #7
- ble _08034796
- strh r7, [r6]
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- mov r0, sl
- ldr r1, [r0]
- adds r0, r1, r2
- ldrb r0, [r0]
- movs r2, #1
- ands r2, r0
- cmp r2, #0
- bne _08034796
- movs r3, #0xf7
- lsls r3, r3, #2
- adds r1, r1, r3
- movs r0, #2
- strb r0, [r1]
- mov r4, sl
- ldr r0, [r4]
- adds r0, r0, r5
- strh r2, [r0]
- b _08034796
-_08034758:
- ldrh r0, [r6]
- subs r0, #1
- strh r0, [r6]
- lsls r0, r0, #0x10
- cmp r0, #0
- bge _08034796
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- mov r6, sl
- ldr r1, [r6]
- adds r0, r1, r2
- ldrb r0, [r0]
- movs r2, #1
- ands r2, r0
- cmp r2, #0
- bne _08034790
- movs r7, #0xf7
- lsls r7, r7, #2
- adds r1, r1, r7
- movs r0, #2
- strb r0, [r1]
- ldr r0, [r6]
- adds r1, r0, r5
- strh r2, [r1]
- adds r0, r0, r4
- strh r2, [r0]
- b _08034796
-_08034790:
- adds r1, r1, r4
- movs r0, #7
- strh r0, [r1]
-_08034796:
- ldr r4, _08034840 @ =0x020314E0
- ldr r1, [r4]
- ldr r5, _08034844 @ =0x000003E2
- adds r0, r1, r5
- movs r2, #0
- ldrsh r0, [r0, r2]
- cmp r0, #2
- bne _080347C6
- ldr r3, _08034848 @ =0x00000129
- adds r1, r1, r3
- movs r0, #0
- strb r0, [r1]
- ldr r0, [r4]
- movs r6, #0x94
- lsls r6, r6, #1
- adds r0, r0, r6
- movs r1, #1
- strb r1, [r0]
- movs r0, #0xf4
- bl m4aSongNumStart
- movs r0, #8
- bl sub_11B0
-_080347C6:
- ldr r1, [r4]
- adds r0, r1, r5
- movs r7, #0
- ldrsh r0, [r0, r7]
- cmp r0, #6
- bne _080347F0
- ldr r2, _08034848 @ =0x00000129
- adds r0, r1, r2
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r4]
- movs r3, #0x94
- lsls r3, r3, #1
- adds r0, r0, r3
- strb r1, [r0]
- movs r0, #0xf4
- bl m4aSongNumStart
- movs r0, #8
- bl sub_11B0
-_080347F0:
- ldr r1, _0803484C @ =0x086AE68E
- ldr r7, _08034840 @ =0x020314E0
- ldr r4, [r7]
- ldr r5, _08034844 @ =0x000003E2
- mov r8, r5
- adds r3, r4, r5
- movs r6, #0
- ldrsh r0, [r3, r6]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldrh r0, [r0]
- mov sb, r0
- movs r1, #0
- ldrsh r0, [r3, r1]
- cmp r0, #0
- bne _08034812
- b _08034D7E
-_08034812:
- cmp r0, #4
- bne _08034818
- b _08034D7E
-_08034818:
- movs r6, #0xf8
- lsls r6, r6, #2
- adds r0, r4, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #1
- bgt _08034880
- adds r5, #8
- adds r2, r4, r5
- ldrh r5, [r2]
- movs r0, #0
- ldrsh r1, [r2, r0]
- ldr r0, _08034850 @ =0x00000247
- cmp r1, r0
- bgt _08034854
- adds r0, r5, #1
- strh r0, [r2]
- b _08034D7E
- .align 2, 0
-_08034840: .4byte 0x020314E0
-_08034844: .4byte 0x000003E2
-_08034848: .4byte 0x00000129
-_0803484C: .4byte 0x086AE68E
-_08034850: .4byte 0x00000247
-_08034854:
- ldrh r3, [r3]
- movs r0, #3
- ands r3, r0
- cmp r3, #0
- beq _08034860
- b _08034D7E
-_08034860:
- movs r1, #0xf7
- lsls r1, r1, #2
- adds r0, r4, r1
- movs r2, #2
- strb r2, [r0]
- ldr r0, [r7]
- movs r4, #0xf9
- lsls r4, r4, #2
- adds r1, r0, r4
- strh r3, [r1]
- mov r5, r8
- adds r1, r0, r5
- strh r3, [r1]
- adds r0, r0, r6
- strb r2, [r0]
- b _08034D7E
-_08034880:
- ldr r0, _08034898 @ =0x000003EA
- adds r2, r4, r0
- ldrh r5, [r2]
- movs r0, #0
- ldrsh r1, [r2, r0]
- movs r0, #0x96
- lsls r0, r0, #1
- cmp r1, r0
- ble _0803489C
- subs r0, r5, #1
- strh r0, [r2]
- b _08034D7E
- .align 2, 0
-_08034898: .4byte 0x000003EA
-_0803489C:
- ldrh r2, [r3]
- movs r0, #3
- ands r2, r0
- cmp r2, #0
- beq _080348A8
- b _08034D7E
-_080348A8:
- movs r3, #0xf7
- lsls r3, r3, #2
- adds r1, r4, r3
- movs r0, #2
- strb r0, [r1]
- ldr r1, [r7]
- movs r4, #0xf9
- lsls r4, r4, #2
- adds r0, r1, r4
- strh r2, [r0]
- mov r5, r8
- adds r0, r1, r5
- strh r2, [r0]
- adds r1, r1, r6
- movs r0, #4
- strb r0, [r1]
- b _08034D7E
-_080348CA:
- ldr r4, _08034904 @ =0x020314E0
- ldr r1, [r4]
- movs r6, #0xf9
- lsls r6, r6, #2
- adds r0, r1, r6
- movs r5, #0
- movs r2, #0
- strh r2, [r0]
- ldr r7, _08034908 @ =0x000003E2
- adds r0, r1, r7
- strh r2, [r0]
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r1, r0
- movs r0, #5
- strb r0, [r1]
- movs r1, #7
- mov sb, r1
- movs r0, #0xf6
- bl m4aSongNumStart
- ldr r0, [r4]
- ldr r2, _0803490C @ =0x00000387
- adds r0, r0, r2
- strb r5, [r0]
- movs r0, #7
- bl sub_11B0
- b _08034D7E
- .align 2, 0
-_08034904: .4byte 0x020314E0
-_08034908: .4byte 0x000003E2
-_0803490C: .4byte 0x00000387
-_08034910:
- mov r4, sl
- ldr r3, [r4]
- movs r5, #0xf9
- lsls r5, r5, #2
- adds r4, r3, r5
- ldrh r0, [r4]
- cmp r0, #0x1b
- bhi _0803492A
- movs r6, #7
- mov sb, r6
- adds r0, #1
- strh r0, [r4]
- b _08034D7E
-_0803492A:
- ldr r7, _08034960 @ =0x00000385
- adds r0, r3, r7
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #3
- bgt _08034968
- movs r2, #0
- movs r1, #0
- movs r0, #0x80
- strh r0, [r4]
- ldr r4, _08034964 @ =0x000003E2
- adds r0, r3, r4
- strh r1, [r0]
- movs r5, #0xf7
- lsls r5, r5, #2
- adds r1, r3, r5
- movs r0, #2
- strb r0, [r1]
- mov r6, sl
- ldr r0, [r6]
- adds r7, #2
- adds r0, r0, r7
- strb r2, [r0]
- movs r0, #7
- mov sb, r0
- b _08034976
- .align 2, 0
-_08034960: .4byte 0x00000385
-_08034964: .4byte 0x000003E2
-_08034968:
- movs r2, #0xf7
- lsls r2, r2, #2
- adds r1, r3, r2
- movs r0, #8
- strb r0, [r1]
- movs r3, #7
- mov sb, r3
-_08034976:
- ldr r2, _0803498C @ =0x020314E0
- ldr r1, [r2]
- ldr r4, _08034990 @ =0x00000385
- adds r1, r1, r4
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- ldr r1, [r2]
- ldr r0, _08034994 @ =0x000493E0
- str r0, [r1, #0x3c]
- b _08034D7E
- .align 2, 0
-_0803498C: .4byte 0x020314E0
-_08034990: .4byte 0x00000385
-_08034994: .4byte 0x000493E0
-_08034998:
- ldr r5, _08034A64 @ =0x020314E0
- mov r8, r5
- ldr r1, [r5]
- ldr r6, _08034A68 @ =0x000003E2
- adds r2, r1, r6
- movs r3, #0
- movs r0, #9
- strh r0, [r2]
- movs r7, #0xf9
- lsls r7, r7, #2
- adds r0, r1, r7
- strh r3, [r0]
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r1, r0
- movs r0, #7
- strb r0, [r1]
- ldr r0, [r5]
- ldr r1, _08034A6C @ =0x000005A6
- adds r0, r0, r1
- strh r3, [r0]
- movs r2, #8
- mov sb, r2
- movs r0, #0xf7
- bl m4aSongNumStart
- ldr r4, [r5]
- movs r3, #0xfa
- lsls r3, r3, #2
- adds r0, r4, r3
- movs r5, #0
- ldrsh r0, [r0, r5]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x20
- movs r6, #0xa2
- lsls r6, r6, #2
- adds r5, r4, r6
- strh r0, [r5]
- adds r7, #6
- adds r0, r4, r7
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x24
- ldr r2, _08034A70 @ =0x0000028A
- adds r1, r4, r2
- strh r0, [r1]
- ldrh r1, [r5]
- lsls r1, r1, #8
- ldr r3, _08034A74 @ =0x0000132C
- adds r2, r4, r3
- ldr r3, [r2]
- ldr r2, [r3, #0x34]
- subs r1, r1, r2
- lsls r1, r1, #0x10
- lsls r0, r0, #8
- ldr r2, [r3, #0x38]
- subs r0, r0, r2
- lsls r0, r0, #0x10
- lsrs r7, r1, #0x10
- orrs r7, r0
- ldr r6, _08034A78 @ =0x000005AC
- adds r4, r4, r6
- lsls r0, r7, #0x10
- asrs r0, r0, #0x10
- adds r5, r0, #0
- muls r5, r0, r5
- adds r0, r5, #0
- asrs r5, r7, #0x10
- adds r1, r5, #0
- muls r1, r5, r1
- adds r0, r0, r1
- str r0, [r4]
- lsls r0, r0, #2
- bl Sqrt
- mov r2, r8
- ldr r1, [r2]
- adds r1, r1, r6
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x11
- str r0, [r1]
- rsbs r0, r7, #0
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- adds r1, r5, #0
- bl ArcTan2
- mov r3, r8
- ldr r1, [r3]
- movs r4, #0xb6
- lsls r4, r4, #3
- adds r1, r1, r4
- strh r0, [r1]
- movs r0, #0xd
- bl sub_11B0
- b _08034D7E
- .align 2, 0
-_08034A64: .4byte 0x020314E0
-_08034A68: .4byte 0x000003E2
-_08034A6C: .4byte 0x000005A6
-_08034A70: .4byte 0x0000028A
-_08034A74: .4byte 0x0000132C
-_08034A78: .4byte 0x000005AC
-_08034A7C:
- ldr r0, _08034AA8 @ =0x086AE68E
- mov r5, sl
- ldr r2, [r5]
- ldr r5, _08034AAC @ =0x000003E2
- adds r4, r2, r5
- movs r6, #0
- ldrsh r1, [r4, r6]
- lsls r1, r1, #2
- adds r0, #2
- adds r1, r1, r0
- movs r7, #0
- ldrsh r0, [r1, r7]
- movs r1, #0xf9
- lsls r1, r1, #2
- mov r8, r1
- adds r1, r2, r1
- ldrh r3, [r1]
- cmp r0, r3
- ble _08034AB0
- adds r0, r3, #1
- strh r0, [r1]
- b _08034B2C
- .align 2, 0
-_08034AA8: .4byte 0x086AE68E
-_08034AAC: .4byte 0x000003E2
-_08034AB0:
- movs r6, #0
- movs r7, #0
- strh r7, [r1]
- ldrh r0, [r4]
- adds r0, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xf
- bne _08034AFA
- ldr r3, _08034B58 @ =0x0000132C
- adds r2, r2, r3
- ldr r3, [r2]
- ldr r0, _08034B5C @ =gMain
- ldr r0, [r0, #0x4c]
- movs r1, #1
- ands r0, r1
- lsls r1, r0, #2
- adds r1, r1, r0
- lsls r0, r1, #4
- subs r0, r0, r1
- lsls r0, r0, #2
- ldr r4, _08034B60 @ =0x0000FF6A
- adds r0, r0, r4
- strh r0, [r3, #0x30]
- ldr r1, [r2]
- movs r0, #0x96
- lsls r0, r0, #1
- strh r0, [r1, #0x32]
- ldr r0, [r2]
- strb r6, [r0]
- movs r0, #0xf8
- bl m4aSongNumStart
- movs r0, #8
- bl sub_11B0
-_08034AFA:
- mov r0, sl
- ldr r1, [r0]
- adds r0, r1, r5
- movs r2, #0
- ldrsh r0, [r0, r2]
- cmp r0, #0x10
- bne _08034B0A
- strb r6, [r1, #0x1f]
-_08034B0A:
- mov r3, sl
- ldr r2, [r3]
- adds r3, r2, r5
- movs r4, #0
- ldrsh r0, [r3, r4]
- cmp r0, #0x10
- ble _08034B2C
- mov r5, r8
- adds r1, r2, r5
- movs r0, #0x80
- strh r0, [r1]
- strh r7, [r3]
- movs r6, #0xf7
- lsls r6, r6, #2
- adds r1, r2, r6
- movs r0, #2
- strb r0, [r1]
-_08034B2C:
- mov r7, sl
- ldr r1, [r7]
- adds r0, r1, #0
- adds r0, #0x31
- ldrb r0, [r0]
- cmp r0, #0
- beq _08034B6C
- ldr r2, _08034B64 @ =0x000003E2
- adds r0, r1, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- cmp r0, #0x10
- bne _08034B8C
- movs r4, #0xf9
- lsls r4, r4, #2
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, #4
- bls _08034B8C
- ldr r5, _08034B68 @ =0x00000387
- adds r1, r1, r5
- b _08034B88
- .align 2, 0
-_08034B58: .4byte 0x0000132C
-_08034B5C: .4byte gMain
-_08034B60: .4byte 0x0000FF6A
-_08034B64: .4byte 0x000003E2
-_08034B68: .4byte 0x00000387
-_08034B6C:
- ldr r6, _08034CA8 @ =0x000003E2
- adds r0, r1, r6
- movs r7, #0
- ldrsh r0, [r0, r7]
- cmp r0, #0x10
- bne _08034B8C
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, #0
- beq _08034B8C
- ldr r3, _08034CAC @ =0x00000387
- adds r1, r1, r3
-_08034B88:
- movs r0, #2
- strb r0, [r1]
-_08034B8C:
- ldr r4, _08034CB0 @ =0x020314E0
- ldr r7, [r4]
- ldr r5, _08034CB4 @ =0x000005A6
- adds r0, r7, r5
- ldrh r0, [r0]
- cmp r0, #0x1d
- bhi _08034C60
- movs r4, #0x1d
- subs r4, r4, r0
- movs r6, #0xb6
- lsls r6, r6, #3
- adds r5, r7, r6
- lsls r4, r4, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #0xd
- movs r1, #0x1e
- bl __divsi3
- ldr r1, _08034CB8 @ =0xFFFFE000
- adds r2, r1, #0
- adds r0, r0, r2
- ldrh r1, [r5]
- subs r1, r1, r0
- strh r1, [r5]
- ldr r6, _08034CBC @ =0x0000132C
- adds r0, r7, r6
- ldr r0, [r0]
- ldrh r3, [r0, #0xa]
- adds r2, r2, r3
- strh r2, [r0, #0xa]
- ldr r1, _08034CC0 @ =0x000005AC
- adds r0, r7, r1
- ldr r0, [r0]
- muls r0, r4, r0
- movs r1, #0x1e
- bl __divsi3
- mov sl, r0
- ldrh r0, [r5]
- bl sub_C74
- ldr r2, _08034CB0 @ =0x020314E0
- ldr r5, [r2]
- adds r1, r5, r6
- ldr r1, [r1]
- mov r8, r1
- movs r3, #0xa2
- lsls r3, r3, #2
- adds r1, r5, r3
- movs r7, #0
- ldrsh r4, [r1, r7]
- lsls r4, r4, #8
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- mov r1, sl
- muls r1, r0, r1
- adds r0, r1, #0
- ldr r2, _08034CC4 @ =0x00004E20
- mov sb, r2
- mov r1, sb
- bl __divsi3
- adds r4, r4, r0
- mov r3, r8
- str r4, [r3, #0x34]
- movs r4, #0xb6
- lsls r4, r4, #3
- adds r5, r5, r4
- ldrh r0, [r5]
- bl sub_C24
- ldr r5, _08034CB0 @ =0x020314E0
- ldr r1, [r5]
- adds r6, r1, r6
- ldr r5, [r6]
- ldr r7, _08034CC8 @ =0x0000028A
- adds r1, r1, r7
- movs r2, #0
- ldrsh r4, [r1, r2]
- lsls r4, r4, #8
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- mov r3, sl
- muls r3, r0, r3
- adds r0, r3, #0
- mov r1, sb
- bl __divsi3
- subs r4, r4, r0
- str r4, [r5, #0x38]
- ldr r4, [r6]
- movs r5, #0x30
- ldrsh r0, [r4, r5]
- lsls r0, r0, #2
- movs r1, #5
- bl __divsi3
- strh r0, [r4, #0x30]
- ldr r4, [r6]
- movs r6, #0x32
- ldrsh r0, [r4, r6]
- lsls r0, r0, #2
- movs r1, #5
- bl __divsi3
- strh r0, [r4, #0x32]
-_08034C60:
- ldr r7, _08034CB0 @ =0x020314E0
- ldr r1, [r7]
- ldr r2, _08034CB4 @ =0x000005A6
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, #0x28
- bne _08034C86
- ldr r2, _08034CBC @ =0x0000132C
- adds r0, r1, r2
- ldr r1, [r0]
- movs r3, #0
- movs r0, #1
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, r0, r2
- ldr r1, [r0]
- strh r3, [r1, #0x30]
- ldr r0, [r0]
- strh r3, [r0, #0x32]
-_08034C86:
- ldr r3, _08034CB0 @ =0x020314E0
- ldr r1, [r3]
- ldr r4, _08034CB4 @ =0x000005A6
- adds r2, r1, r4
- ldrh r0, [r2]
- adds r0, #1
- strh r0, [r2]
- ldr r2, _08034CCC @ =0x086AE68E
- ldr r5, _08034CA8 @ =0x000003E2
- adds r1, r1, r5
- movs r6, #0
- ldrsh r0, [r1, r6]
- lsls r0, r0, #2
- adds r0, r0, r2
- ldrh r0, [r0]
- mov sb, r0
- b _08034D7E
- .align 2, 0
-_08034CA8: .4byte 0x000003E2
-_08034CAC: .4byte 0x00000387
-_08034CB0: .4byte 0x020314E0
-_08034CB4: .4byte 0x000005A6
-_08034CB8: .4byte 0xFFFFE000
-_08034CBC: .4byte 0x0000132C
-_08034CC0: .4byte 0x000005AC
-_08034CC4: .4byte 0x00004E20
-_08034CC8: .4byte 0x0000028A
-_08034CCC: .4byte 0x086AE68E
-_08034CD0:
- mov r7, sl
- ldr r0, [r7]
- movs r1, #0xa5
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r5, #0
- movs r1, #3
- strb r1, [r0]
- ldr r4, _08034D24 @ =gMain
- movs r0, #0x80
- strb r0, [r4, #0xf]
- ldr r1, [r7]
- ldr r2, _08034D28 @ =0x000003E6
- adds r0, r1, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- cmp r0, #0
- bne _08034D06
- movs r6, #0xe2
- lsls r6, r6, #2
- adds r1, r1, r6
- movs r0, #2
- strb r0, [r1]
- ldr r0, [r7]
- ldr r7, _08034D2C @ =0x00000392
- adds r0, r0, r7
- strh r5, [r0]
-_08034D06:
- movs r0, #0xf
- mov sb, r0
- mov r1, sl
- ldr r3, [r1]
- adds r1, r3, r2
- ldrh r0, [r1]
- movs r6, #0
- ldrsh r2, [r1, r6]
- cmp r2, #0xb7
- bgt _08034D60
- cmp r2, #0x3f
- bgt _08034D30
- adds r0, #1
- b _08034D32
- .align 2, 0
-_08034D24: .4byte gMain
-_08034D28: .4byte 0x000003E6
-_08034D2C: .4byte 0x00000392
-_08034D30:
- adds r0, #2
-_08034D32:
- strh r0, [r1]
- ldr r0, _08034D50 @ =0x020314E0
- ldr r0, [r0]
- ldr r7, _08034D54 @ =0x000003E6
- adds r0, r0, r7
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x1e
- bne _08034D7E
- ldr r0, _08034D58 @ =0x02032F20
- ldr r1, _08034D5C @ =0x086A17D8
- bl MPlayStart
- b _08034D7E
- .align 2, 0
-_08034D50: .4byte 0x020314E0
-_08034D54: .4byte 0x000003E6
-_08034D58: .4byte 0x02032F20
-_08034D5C: .4byte 0x086A17D8
-_08034D60:
- movs r2, #0xc5
- lsls r2, r2, #4
- adds r0, r4, r2
- strh r5, [r0]
- ldr r6, _08034E38 @ =0x00000D08
- adds r0, r4, r6
- strh r5, [r0]
- ldr r7, _08034E3C @ =0x00000B98
- adds r0, r4, r7
- strh r5, [r0]
- movs r0, #4
- strb r0, [r3, #0x13]
- mov r1, sl
- ldr r0, [r1]
- strh r5, [r0, #0x18]
-_08034D7E:
- ldr r2, _08034E40 @ =0x040000D4
- mov r3, sb
- lsls r0, r3, #0x10
- asrs r5, r0, #0x10
- lsls r0, r5, #0xb
- ldr r1, _08034E44 @ =0x084EDACC
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _08034E48 @ =0x060110A0
- str r0, [r2, #4]
- ldr r0, _08034E4C @ =0x80000400
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- ldr r4, _08034E50 @ =0x020314E0
- ldr r6, [r4]
- mov r8, r6
- movs r7, #0xfa
- lsls r7, r7, #2
- add r7, r8
- movs r1, #0
- ldrsh r0, [r7, r1]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0x10
- movs r1, #0xfc
- lsls r1, r1, #2
- add r1, r8
- strh r0, [r1]
- ldr r6, _08034E54 @ =0x000003EA
- add r6, r8
- movs r2, #0
- ldrsh r0, [r6, r2]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0x10
- ldr r1, _08034E58 @ =0x000003F2
- add r1, r8
- strh r0, [r1]
- ldr r3, [sp]
- ldrh r0, [r3]
- mov sl, r4
- cmp r0, #0
- beq _08034EB4
- mov r0, r8
- adds r0, #0x58
- ldrh r4, [r0]
- rsbs r4, r4, #0
- movs r1, #0
- ldrsh r0, [r7, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, r4, r0
- ldr r2, [sp]
- strh r4, [r2, #2]
- mov r0, r8
- adds r0, #0x5a
- ldrh r4, [r0]
- rsbs r4, r4, #0
- movs r3, #0
- ldrsh r0, [r6, r3]
- movs r1, #0xa
- bl __divsi3
- adds r4, r4, r0
- ldr r6, [sp]
- strh r4, [r6, #4]
- adds r6, #8
- cmp r5, #7
- bne _08034E6C
- movs r0, #0xf9
- lsls r0, r0, #2
- add r0, r8
- ldrh r0, [r0]
- cmp r0, #5
- bhi _08034E60
- ldr r3, _08034E5C @ =gOamBuffer
- ldr r7, [sp]
- ldrh r2, [r7, #8]
- lsls r2, r2, #3
- adds r2, r2, r3
- ldrb r1, [r2, #5]
- movs r0, #0xf
- ands r0, r1
- movs r1, #0x40
- b _08034E7E
- .align 2, 0
-_08034E38: .4byte 0x00000D08
-_08034E3C: .4byte 0x00000B98
-_08034E40: .4byte 0x040000D4
-_08034E44: .4byte 0x084EDACC
-_08034E48: .4byte 0x060110A0
-_08034E4C: .4byte 0x80000400
-_08034E50: .4byte 0x020314E0
-_08034E54: .4byte 0x000003EA
-_08034E58: .4byte 0x000003F2
-_08034E5C: .4byte gOamBuffer
-_08034E60:
- ldr r3, _08034E68 @ =gOamBuffer
- ldr r0, [sp]
- ldrh r2, [r0, #8]
- b _08034E72
- .align 2, 0
-_08034E68: .4byte gOamBuffer
-_08034E6C:
- ldr r3, _08034F28 @ =gOamBuffer
- ldr r1, [sp]
- ldrh r2, [r1, #8]
-_08034E72:
- lsls r2, r2, #3
- adds r2, r2, r3
- ldrb r1, [r2, #5]
- movs r0, #0xf
- ands r0, r1
- movs r1, #0x30
-_08034E7E:
- orrs r0, r1
- strb r0, [r2, #5]
- adds r4, r3, #0
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r4
- movs r3, #2
- ldrsh r1, [r6, r3]
- ldr r5, [sp]
- movs r7, #2
- ldrsh r0, [r5, r7]
- adds r1, r1, r0
- ldr r3, _08034F2C @ =0x000001FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- ldr r0, _08034F30 @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r5, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
-_08034EB4:
- ldr r4, _08034F34 @ =0x0200BC58
- str r4, [sp]
- ldrh r0, [r4]
- adds r4, #0xb8
- mov r8, r4
- cmp r0, #0
- bne _08034EC4
- b _08034FC4
-_08034EC4:
- mov r5, sl
- ldr r1, [r5]
- ldr r6, _08034F38 @ =0x00000386
- adds r0, r1, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _08034F40
- adds r0, r1, #0
- adds r0, #0x58
- ldrh r4, [r0]
- rsbs r4, r4, #0
- movs r7, #0xfa
- lsls r7, r7, #2
- adds r0, r1, r7
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, r4, r0
- ldr r2, [sp]
- strh r4, [r2, #2]
- ldr r5, [r5]
- adds r0, r5, #0
- adds r0, #0x5a
- ldrh r4, [r0]
- rsbs r4, r4, #0
- ldr r3, _08034F3C @ =0x000003EA
- adds r0, r5, r3
- movs r6, #0
- ldrsh r0, [r0, r6]
- movs r1, #0xa
- bl __divsi3
- adds r4, r4, r0
- subs r7, #2
- adds r5, r5, r7
- movs r1, #0
- ldrsh r0, [r5, r1]
- lsrs r1, r0, #0x1f
- adds r0, r0, r1
- asrs r0, r0, #1
- subs r0, #0x5c
- adds r4, r4, r0
- ldr r2, [sp]
- strh r4, [r2, #4]
- b _08034F4A
- .align 2, 0
-_08034F28: .4byte gOamBuffer
-_08034F2C: .4byte 0x000001FF
-_08034F30: .4byte 0xFFFFFE00
-_08034F34: .4byte 0x0200BC58
-_08034F38: .4byte 0x00000386
-_08034F3C: .4byte 0x000003EA
-_08034F40:
- movs r0, #0xf0
- ldr r3, [sp]
- strh r0, [r3, #2]
- movs r0, #0xa0
- strh r0, [r3, #4]
-_08034F4A:
- ldr r3, _08035060 @ =gMain
- ldr r1, [r3, #0x4c]
- movs r0, #3
- ands r1, r0
- ldr r2, _08035064 @ =0x040000D4
- lsrs r1, r1, #1
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #0xa
- ldr r1, _08035068 @ =0x08494E4C
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _0803506C @ =0x06011AA0
- str r0, [r2, #4]
- ldr r0, _08035070 @ =0x80000600
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- movs r0, #0
- movs r4, #0xc5
- lsls r4, r4, #4
- adds r4, r4, r3
- mov r8, r4
- ldr r5, _08035074 @ =gOamBuffer
- ldr r6, _08035078 @ =0xFFFFFE00
- mov sb, r6
-_08034F7C:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- ldr r7, [sp]
- adds r6, r7, r0
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r5
- movs r0, #2
- ldrsh r1, [r6, r0]
- movs r2, #2
- ldrsh r0, [r7, r2]
- adds r1, r1, r0
- ldr r7, _0803507C @ =0x000001FF
- adds r0, r7, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, sb
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldr r2, [sp]
- ldrb r0, [r2, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #1
- ble _08034F7C
-_08034FC4:
- mov r3, r8
- str r3, [sp]
- ldrh r0, [r3]
- cmp r0, #0
- bne _08034FD0
- b _080350D4
-_08034FD0:
- mov r5, sl
- ldr r4, [r5]
- movs r6, #0xfa
- lsls r6, r6, #2
- adds r0, r4, r6
- movs r7, #0
- ldrsh r0, [r0, r7]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x10
- adds r4, #0x58
- ldrh r1, [r4]
- subs r0, r0, r1
- ldr r1, [sp]
- strh r0, [r1, #2]
- ldr r4, [r5]
- ldr r2, _08035080 @ =0x000003E2
- adds r0, r4, r2
- ldrh r0, [r0]
- subs r0, #0xa
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #2
- bhi _08035098
- ldr r3, _08035084 @ =0x000003EA
- adds r0, r4, r3
- movs r5, #0
- ldrsh r0, [r0, r5]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x14
- adds r1, r4, #0
- adds r1, #0x5a
- ldrh r1, [r1]
- subs r0, r0, r1
- ldr r6, [sp]
- strh r0, [r6, #4]
- mov r7, sl
- ldr r0, [r7]
- ldr r1, _08035088 @ =0x000005A6
- adds r0, r0, r1
- ldrh r0, [r0]
- movs r1, #0x18
- bl __umodsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r2, #0
- mov sb, r2
- cmp r0, #0xa
- ble _08035046
- movs r3, #2
- mov sb, r3
- cmp r0, #0x11
- bgt _08035046
- movs r4, #1
- mov sb, r4
-_08035046:
- ldr r2, _08035064 @ =0x040000D4
- mov r5, sb
- lsls r0, r5, #0x10
- asrs r0, r0, #7
- ldr r1, _0803508C @ =0x084FF30C
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _08035090 @ =0x060118A0
- str r0, [r2, #4]
- ldr r0, _08035094 @ =0x80000100
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- b _0803509E
- .align 2, 0
-_08035060: .4byte gMain
-_08035064: .4byte 0x040000D4
-_08035068: .4byte 0x08494E4C
-_0803506C: .4byte 0x06011AA0
-_08035070: .4byte 0x80000600
-_08035074: .4byte gOamBuffer
-_08035078: .4byte 0xFFFFFE00
-_0803507C: .4byte 0x000001FF
-_08035080: .4byte 0x000003E2
-_08035084: .4byte 0x000003EA
-_08035088: .4byte 0x000005A6
-_0803508C: .4byte 0x084FF30C
-_08035090: .4byte 0x060118A0
-_08035094: .4byte 0x80000100
-_08035098:
- movs r0, #0xb4
- ldr r6, [sp]
- strh r0, [r6, #4]
-_0803509E:
- ldr r6, [sp]
- adds r6, #8
- ldr r4, _080350E4 @ =gOamBuffer
- ldr r7, [sp]
- ldrh r2, [r7, #8]
- lsls r2, r2, #3
- adds r2, r2, r4
- movs r0, #2
- ldrsh r1, [r6, r0]
- movs r3, #2
- ldrsh r0, [r7, r3]
- adds r1, r1, r0
- ldr r5, _080350E8 @ =0x000001FF
- adds r0, r5, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- ldr r0, _080350EC @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r7, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r7, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
-_080350D4:
- add sp, #4
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080350E4: .4byte gOamBuffer
-_080350E8: .4byte 0x000001FF
-_080350EC: .4byte 0xFFFFFE00
-
- thumb_func_start sub_350F0
-sub_350F0: @ 0x080350F0
- push {r4, r5, lr}
- ldr r5, _08035118 @ =0x020314E0
- ldr r0, [r5]
- movs r1, #0x88
- lsls r1, r1, #5
- adds r0, r0, r1
- movs r2, #0
- movs r1, #1
- strb r1, [r0]
- ldr r3, [r5]
- movs r4, #0x17
- ldrsb r4, [r3, r4]
- cmp r4, #1
- beq _08035138
- cmp r4, #1
- bgt _0803511C
- cmp r4, #0
- beq _08035122
- b _080351A0
- .align 2, 0
-_08035118: .4byte 0x020314E0
-_0803511C:
- cmp r4, #2
- beq _08035164
- b _080351A0
-_08035122:
- movs r0, #0x41
- strh r0, [r3, #0x18]
- strb r1, [r3, #0x17]
- ldr r1, _08035134 @ =gMain
- ldrh r0, [r1, #0x38]
- movs r0, #0x9f
- strh r0, [r1, #0x38]
- b _080351A0
- .align 2, 0
-_08035134: .4byte gMain
-_08035138:
- ldrh r0, [r3, #0x18]
- cmp r0, #0
- beq _080351A0
- subs r0, #1
- strh r0, [r3, #0x18]
- ldr r2, _08035160 @ =gMain
- ldrh r0, [r3, #0x18]
- lsrs r0, r0, #2
- movs r1, #0x10
- subs r1, r1, r0
- ldrh r0, [r2, #0x3c]
- strh r1, [r2, #0x3c]
- ldrh r0, [r3, #0x18]
- cmp r0, #0
- bne _080351A0
- ldrb r0, [r3, #0x17]
- adds r0, #1
- strb r0, [r3, #0x17]
- b _080351A0
- .align 2, 0
-_08035160: .4byte gMain
-_08035164:
- ldrh r0, [r3, #0x18]
- cmp r0, #0x1d
- bhi _08035170
- adds r0, #1
- strh r0, [r3, #0x18]
- b _080351A0
-_08035170:
- movs r0, #0
- strh r2, [r3, #0x18]
- strb r0, [r3, #0x17]
- ldr r1, _08035194 @ =gMain
- movs r3, #0xe9
- lsls r3, r3, #3
- adds r0, r1, r3
- strh r2, [r0]
- subs r3, #0xb8
- adds r0, r1, r3
- strh r2, [r0]
- ldrb r0, [r1, #5]
- ldrb r1, [r1, #4]
- cmp r0, r1
- beq _08035198
- bl sub_357B8
- b _080351A0
- .align 2, 0
-_08035194: .4byte gMain
-_08035198:
- bl sub_438
- ldr r0, [r5]
- strb r4, [r0, #0x1d]
-_080351A0:
- pop {r4, r5}
- pop {r0}
- bx r0
-
- thumb_func_start sub_351A8
-sub_351A8: @ 0x080351A8
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #0x10
- movs r4, #8
- movs r0, #0
- mov r8, r0
- ldr r7, _080351F8 @ =0x0200B808
- ldr r0, _080351FC @ =0x020314E0
- ldr r1, [r0]
- movs r3, #0xe5
- lsls r3, r3, #2
- adds r2, r1, r3
- ldrh r3, [r2]
- movs r5, #0
- ldrsh r1, [r2, r5]
- mov sb, r0
- cmp r1, #0
- ble _080351E0
- subs r0, r3, #6
- strh r0, [r2]
- lsls r0, r0, #0x10
- cmp r0, #0
- bge _080351E0
- mov r6, r8
- strh r6, [r2]
-_080351E0:
- ldr r1, _08035200 @ =gMain
- ldrb r0, [r1, #4]
- subs r0, #2
- cmp r0, #4
- bls _080351EC
- b _08035314
-_080351EC:
- lsls r0, r0, #2
- ldr r1, _08035204 @ =_08035208
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080351F8: .4byte 0x0200B808
-_080351FC: .4byte 0x020314E0
-_08035200: .4byte gMain
-_08035204: .4byte _08035208
-_08035208: @ jump table
- .4byte _0803521C @ case 0
- .4byte _08035250 @ case 1
- .4byte _08035280 @ case 2
- .4byte _080352B4 @ case 3
- .4byte _080352E8 @ case 4
-_0803521C:
- mov r0, sb
- ldr r1, [r0]
- movs r0, #0x13
- ldrsb r0, [r1, r0]
- cmp r0, #5
- bne _08035244
- ldrh r0, [r1, #0x18]
- cmp r0, #0xb3
- bhi _08035244
- movs r1, #0x18
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #0xc
- bl __udivsi3
- adds r0, #8
- lsls r0, r0, #0x10
- lsrs r4, r0, #0x10
-_08035244:
- ldr r1, _0803524C @ =0x01C9C380
- mov r8, r1
- b _08035314
- .align 2, 0
-_0803524C: .4byte 0x01C9C380
-_08035250:
- mov r2, sb
- ldr r1, [r2]
- movs r0, #0x13
- ldrsb r0, [r1, r0]
- cmp r0, #3
- bne _08035278
- ldrh r0, [r1, #0x18]
- cmp r0, #0xb3
- bhi _08035278
- movs r1, #0x18
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #0xc
- bl __udivsi3
- adds r0, #8
- lsls r0, r0, #0x10
- lsrs r4, r0, #0x10
-_08035278:
- ldr r3, _0803527C @ =0x01C9C380
- b _08035312
- .align 2, 0
-_0803527C: .4byte 0x01C9C380
-_08035280:
- mov r5, sb
- ldr r1, [r5]
- movs r0, #0x13
- ldrsb r0, [r1, r0]
- cmp r0, #3
- bne _080352A8
- ldrh r0, [r1, #0x18]
- cmp r0, #0xb3
- bhi _080352A8
- movs r1, #0x18
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #0xc
- bl __udivsi3
- adds r0, #8
- lsls r0, r0, #0x10
- lsrs r4, r0, #0x10
-_080352A8:
- ldr r6, _080352B0 @ =0x02FAF080
- mov r8, r6
- b _08035314
- .align 2, 0
-_080352B0: .4byte 0x02FAF080
-_080352B4:
- mov r0, sb
- ldr r1, [r0]
- movs r0, #0x13
- ldrsb r0, [r1, r0]
- cmp r0, #3
- bne _080352DC
- ldrh r0, [r1, #0x18]
- cmp r0, #0xb3
- bhi _080352DC
- movs r1, #0x18
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #0xc
- bl __udivsi3
- adds r0, #8
- lsls r0, r0, #0x10
- lsrs r4, r0, #0x10
-_080352DC:
- ldr r1, _080352E4 @ =0x02FAF080
- mov r8, r1
- b _08035314
- .align 2, 0
-_080352E4: .4byte 0x02FAF080
-_080352E8:
- mov r2, sb
- ldr r1, [r2]
- movs r0, #0x13
- ldrsb r0, [r1, r0]
- cmp r0, #3
- bne _08035310
- ldrh r0, [r1, #0x18]
- cmp r0, #0xb3
- bhi _08035310
- movs r1, #0x18
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #0xc
- bl __udivsi3
- adds r0, #8
- lsls r0, r0, #0x10
- lsrs r4, r0, #0x10
-_08035310:
- ldr r3, _080354A0 @ =0x05F5E0FF
-_08035312:
- mov r8, r3
-_08035314:
- ldr r2, _080354A4 @ =0x040000D4
- ldr r0, _080354A8 @ =0x02031520
- lsls r1, r4, #0x10
- asrs r1, r1, #0xb
- ldr r0, [r0, #0x2c]
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _080354AC @ =0x05000300
- str r0, [r2, #4]
- ldr r0, _080354B0 @ =0x80000010
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- ldrh r0, [r7]
- cmp r0, #0
- beq _080353F8
- movs r0, #0x78
- strh r0, [r7, #2]
- mov r5, sb
- ldr r0, [r5]
- movs r6, #0xe5
- lsls r6, r6, #2
- adds r0, r0, r6
- ldrh r0, [r0]
- adds r0, #0x32
- strh r0, [r7, #4]
- movs r0, #0
- ldr r1, _080354B4 @ =0x0200B750
- mov sl, r1
- ldr r6, _080354B8 @ =gOamBuffer
- ldr r2, _080354BC @ =0xFFFFFE00
- mov ip, r2
-_08035352:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r7, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r6
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r7, r2]
- adds r1, r1, r0
- ldr r2, _080354C0 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r6
- ldrb r0, [r7, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #2
- ble _08035352
- mov r7, sl
- movs r0, #0x78
- strh r0, [r7, #2]
- mov r3, sb
- ldr r0, [r3]
- movs r5, #0xe5
- lsls r5, r5, #2
- adds r0, r0, r5
- ldrh r0, [r0]
- adds r0, #0x32
- strh r0, [r7, #4]
- movs r0, #0
- ldr r6, _080354B8 @ =gOamBuffer
- ldr r1, _080354BC @ =0xFFFFFE00
- mov ip, r1
-_080353B4:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r7, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r6
- movs r2, #2
- ldrsh r1, [r5, r2]
- movs r2, #2
- ldrsh r0, [r7, r2]
- adds r1, r1, r0
- ldr r2, _080354C0 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r6
- ldrb r0, [r7, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0x11
- ble _080353B4
-_080353F8:
- mov r5, sp
- ldr r4, _080354C4 @ =0x00989680
- mov r0, r8
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5]
- mov r5, sp
- mov r0, r8
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _080354C8 @ =0x000F4240
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #2]
- mov r5, sp
- mov r0, r8
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _080354CC @ =0x000186A0
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #4]
- mov r5, sp
- mov r0, r8
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _080354D0 @ =0x00002710
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #6]
- mov r5, sp
- mov r0, r8
- adds r1, r4, #0
- bl __modsi3
- movs r4, #0xfa
- lsls r4, r4, #2
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #8]
- mov r5, sp
- mov r0, r8
- adds r1, r4, #0
- bl __modsi3
- movs r1, #0x64
- bl __divsi3
- strh r0, [r5, #0xa]
- mov r4, sp
- mov r0, r8
- movs r1, #0x64
- bl __modsi3
- movs r1, #0xa
- bl __divsi3
- strh r0, [r4, #0xc]
- mov r4, sp
- mov r0, r8
- movs r1, #0xa
- bl __modsi3
- strh r0, [r4, #0xe]
- ldr r3, _080354D4 @ =gMain
- ldrb r0, [r3, #4]
- subs r0, #2
- cmp r0, #4
- bls _08035494
- b _08035678
-_08035494:
- lsls r0, r0, #2
- ldr r1, _080354D8 @ =_080354DC
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080354A0: .4byte 0x05F5E0FF
-_080354A4: .4byte 0x040000D4
-_080354A8: .4byte 0x02031520
-_080354AC: .4byte 0x05000300
-_080354B0: .4byte 0x80000010
-_080354B4: .4byte 0x0200B750
-_080354B8: .4byte gOamBuffer
-_080354BC: .4byte 0xFFFFFE00
-_080354C0: .4byte 0x000001FF
-_080354C4: .4byte 0x00989680
-_080354C8: .4byte 0x000F4240
-_080354CC: .4byte 0x000186A0
-_080354D0: .4byte 0x00002710
-_080354D4: .4byte gMain
-_080354D8: .4byte _080354DC
-_080354DC: @ jump table
- .4byte _080354F0 @ case 0
- .4byte _0803553C @ case 1
- .4byte _08035588 @ case 2
- .4byte _080355D4 @ case 3
- .4byte _08035620 @ case 4
-_080354F0:
- movs r0, #0
- ldr r5, _0803552C @ =0x08138834
- ldr r3, _08035530 @ =0x040000D4
- adds r4, r5, #0
-_080354F8:
- lsls r1, r0, #0x10
- asrs r1, r1, #0x10
- lsls r2, r1, #1
- mov r6, sp
- adds r0, r6, r2
- movs r6, #0
- ldrsh r0, [r0, r6]
- adds r0, #0x70
- lsls r0, r0, #6
- adds r0, r0, r4
- str r0, [r3]
- lsls r2, r2, #5
- ldr r0, _08035534 @ =0x06017180
- adds r2, r2, r0
- str r2, [r3, #4]
- ldr r2, _08035538 @ =0x80000020
- str r2, [r3, #8]
- ldr r0, [r3, #8]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r0, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #7
- ble _080354F8
- b _08035658
- .align 2, 0
-_0803552C: .4byte 0x08138834
-_08035530: .4byte 0x040000D4
-_08035534: .4byte 0x06017180
-_08035538: .4byte 0x80000020
-_0803553C:
- movs r0, #0
- ldr r5, _08035578 @ =0x0813A854
- ldr r3, _0803557C @ =0x040000D4
- adds r4, r5, #0
-_08035544:
- lsls r1, r0, #0x10
- asrs r1, r1, #0x10
- lsls r2, r1, #1
- mov r6, sp
- adds r0, r6, r2
- movs r6, #0
- ldrsh r0, [r0, r6]
- adds r0, #0x70
- lsls r0, r0, #6
- adds r0, r0, r4
- str r0, [r3]
- lsls r2, r2, #5
- ldr r0, _08035580 @ =0x06017180
- adds r2, r2, r0
- str r2, [r3, #4]
- ldr r2, _08035584 @ =0x80000020
- str r2, [r3, #8]
- ldr r0, [r3, #8]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r0, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #7
- ble _08035544
- b _08035658
- .align 2, 0
-_08035578: .4byte 0x0813A854
-_0803557C: .4byte 0x040000D4
-_08035580: .4byte 0x06017180
-_08035584: .4byte 0x80000020
-_08035588:
- movs r0, #0
- ldr r5, _080355C4 @ =0x0813C874
- ldr r3, _080355C8 @ =0x040000D4
- adds r4, r5, #0
-_08035590:
- lsls r1, r0, #0x10
- asrs r1, r1, #0x10
- lsls r2, r1, #1
- mov r6, sp
- adds r0, r6, r2
- movs r6, #0
- ldrsh r0, [r0, r6]
- adds r0, #0x70
- lsls r0, r0, #6
- adds r0, r0, r4
- str r0, [r3]
- lsls r2, r2, #5
- ldr r0, _080355CC @ =0x06017180
- adds r2, r2, r0
- str r2, [r3, #4]
- ldr r2, _080355D0 @ =0x80000020
- str r2, [r3, #8]
- ldr r0, [r3, #8]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r0, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #7
- ble _08035590
- b _08035658
- .align 2, 0
-_080355C4: .4byte 0x0813C874
-_080355C8: .4byte 0x040000D4
-_080355CC: .4byte 0x06017180
-_080355D0: .4byte 0x80000020
-_080355D4:
- movs r0, #0
- ldr r5, _08035610 @ =0x0813E894
- ldr r3, _08035614 @ =0x040000D4
- adds r4, r5, #0
-_080355DC:
- lsls r1, r0, #0x10
- asrs r1, r1, #0x10
- lsls r2, r1, #1
- mov r6, sp
- adds r0, r6, r2
- movs r6, #0
- ldrsh r0, [r0, r6]
- adds r0, #0x70
- lsls r0, r0, #6
- adds r0, r0, r4
- str r0, [r3]
- lsls r2, r2, #5
- ldr r0, _08035618 @ =0x06017180
- adds r2, r2, r0
- str r2, [r3, #4]
- ldr r2, _0803561C @ =0x80000020
- str r2, [r3, #8]
- ldr r0, [r3, #8]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r0, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #7
- ble _080355DC
- b _08035658
- .align 2, 0
-_08035610: .4byte 0x0813E894
-_08035614: .4byte 0x040000D4
-_08035618: .4byte 0x06017180
-_0803561C: .4byte 0x80000020
-_08035620:
- movs r0, #0
- ldr r5, _08035688 @ =0x081408B4
- ldr r3, _0803568C @ =0x040000D4
- adds r4, r5, #0
-_08035628:
- lsls r1, r0, #0x10
- asrs r1, r1, #0x10
- lsls r2, r1, #1
- mov r6, sp
- adds r0, r6, r2
- movs r6, #0
- ldrsh r0, [r0, r6]
- adds r0, #0x70
- lsls r0, r0, #6
- adds r0, r0, r4
- str r0, [r3]
- lsls r2, r2, #5
- ldr r0, _08035690 @ =0x06017180
- adds r2, r2, r0
- str r2, [r3, #4]
- ldr r2, _08035694 @ =0x80000020
- str r2, [r3, #8]
- ldr r0, [r3, #8]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r0, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #7
- ble _08035628
-_08035658:
- mov r1, sb
- ldr r0, [r1]
- ldr r3, _08035698 @ =0x000005F6
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- ldr r1, _0803568C @ =0x040000D4
- adds r0, #0x71
- lsls r0, r0, #6
- adds r0, r0, r5
- str r0, [r1]
- ldr r0, _0803569C @ =0x06017380
- str r0, [r1, #4]
- str r2, [r1, #8]
- ldr r0, [r1, #8]
-_08035678:
- add sp, #0x10
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08035688: .4byte 0x081408B4
-_0803568C: .4byte 0x040000D4
-_08035690: .4byte 0x06017180
-_08035694: .4byte 0x80000020
-_08035698: .4byte 0x000005F6
-_0803569C: .4byte 0x06017380
-
- thumb_func_start sub_356A0
-sub_356A0: @ 0x080356A0
- push {r4, r5, r6, r7, lr}
- ldr r6, _080356C4 @ =0x0200BDC8
- ldr r1, _080356C8 @ =0x020314E0
- ldr r0, [r1]
- movs r2, #0xf7
- lsls r2, r2, #2
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r2, r1, #0
- cmp r0, #8
- bhi _08035740
- lsls r0, r0, #2
- ldr r1, _080356CC @ =_080356D0
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080356C4: .4byte 0x0200BDC8
-_080356C8: .4byte 0x020314E0
-_080356CC: .4byte _080356D0
-_080356D0: @ jump table
- .4byte _08035702 @ case 0
- .4byte _08035702 @ case 1
- .4byte _080356F4 @ case 2
- .4byte _08035740 @ case 3
- .4byte _08035740 @ case 4
- .4byte _08035740 @ case 5
- .4byte _08035740 @ case 6
- .4byte _08035740 @ case 7
- .4byte _08035702 @ case 8
-_080356F4:
- ldr r0, [r2]
- ldr r1, _080357A4 @ =0x000003E6
- adds r0, r0, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- cmp r0, #0
- ble _08035740
-_08035702:
- ldrh r0, [r6]
- cmp r0, #0
- beq _08035740
- movs r0, #0xf0
- strh r0, [r6, #2]
- movs r0, #0xa0
- strh r0, [r6, #4]
- adds r5, r6, #0
- adds r5, #8
- ldr r4, _080357A8 @ =gOamBuffer
- ldrh r2, [r6, #8]
- lsls r2, r2, #3
- adds r2, r2, r4
- movs r3, #2
- ldrsh r1, [r5, r3]
- adds r1, #0xf0
- ldr r3, _080357AC @ =0x000001FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- ldr r0, _080357B0 @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
-_08035740:
- ldr r6, _080357B4 @ =0x0200BC58
- ldrh r0, [r6]
- cmp r0, #0
- beq _0803579C
- movs r0, #0xf0
- strh r0, [r6, #2]
- movs r0, #0xa0
- strh r0, [r6, #4]
- movs r0, #0
- ldr r7, _080357A8 @ =gOamBuffer
- ldr r1, _080357B0 @ =0xFFFFFE00
- mov ip, r1
-_08035758:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r2, #2
- ldrsh r1, [r5, r2]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _080357AC @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #1
- ble _08035758
-_0803579C:
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080357A4: .4byte 0x000003E6
-_080357A8: .4byte gOamBuffer
-_080357AC: .4byte 0x000001FF
-_080357B0: .4byte 0xFFFFFE00
-_080357B4: .4byte 0x0200BC58
-
- thumb_func_start sub_357B8
-sub_357B8: @ 0x080357B8
- push {r4, r5, lr}
- bl m4aMPlayAllStop
- bl sub_D10
- ldr r2, _08035844 @ =gMain
- ldrb r1, [r2, #5]
- ldrb r0, [r2, #4]
- movs r3, #0
- strb r0, [r2, #5]
- strb r1, [r2, #4]
- strb r3, [r2, #6]
- strb r3, [r2, #0xf]
- ldr r4, _08035848 @ =0x020314E0
- ldr r0, [r4]
- ldr r5, _0803584C @ =0x00000296
- adds r1, r0, r5
- movs r5, #0
- strh r3, [r1]
- movs r1, #0xa5
- lsls r1, r1, #2
- adds r0, r0, r1
- strb r5, [r0]
- ldr r0, [r4]
- subs r1, #0x11
- adds r0, r0, r1
- ldrb r0, [r0]
- cmp r0, #4
- bls _080357F6
- movs r0, #1
- strb r0, [r2, #8]
-_080357F6:
- strb r5, [r2, #3]
- ldr r1, [r4]
- movs r0, #3
- strb r0, [r1, #0x15]
- ldr r1, [r4]
- movs r0, #1
- strb r0, [r1, #0x13]
- ldr r0, [r4]
- strb r5, [r0, #0x16]
- ldr r0, [r4]
- ldr r2, _08035850 @ =0x000005FA
- adds r0, r0, r2
- strb r5, [r0]
- ldr r0, [r4]
- adds r0, #0xe6
- strh r3, [r0]
- movs r0, #0
- movs r1, #0
- bl sub_1C7F4
- ldr r0, [r4]
- ldr r1, _08035854 @ =0x000006C4
- adds r0, r0, r1
- strb r5, [r0]
- ldr r1, [r4]
- ldr r2, _08035858 @ =0x00000714
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _0803583E
- ldr r5, _0803585C @ =0x000006EE
- adds r1, r1, r5
- movs r0, #0x78
- strh r0, [r1]
-_0803583E:
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08035844: .4byte gMain
-_08035848: .4byte 0x020314E0
-_0803584C: .4byte 0x00000296
-_08035850: .4byte 0x000005FA
-_08035854: .4byte 0x000006C4
-_08035858: .4byte 0x00000714
-_0803585C: .4byte 0x000006EE
-
- thumb_func_start LoadSpriteSets60
-LoadSpriteSets60: @ 0x08035860
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- ldr r3, _08035A5C @ =0x020314E0
- ldr r0, [r3]
- movs r4, #0
- movs r6, #0
- strh r6, [r0, #0x18]
- strb r4, [r0, #0x17]
- ldr r0, [r3]
- strb r4, [r0, #0x13]
- ldr r0, [r3]
- movs r1, #0xa5
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r2, #1
- mov r8, r2
- mov r7, r8
- strb r7, [r0]
- ldr r2, [r3]
- adds r5, r2, #0
- adds r5, #0x6c
- movs r1, #0xe1
- lsls r1, r1, #5
- adds r0, r1, #0
- ldrh r7, [r5]
- adds r0, r0, r7
- ldr r7, _08035A60 @ =0x00000296
- adds r1, r2, r7
- strh r0, [r1]
- strh r6, [r5]
- ldr r0, _08035A64 @ =0x00000383
- adds r2, r2, r0
- strb r4, [r2]
- ldr r0, [r3]
- movs r1, #0xe2
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r5, #3
- strb r5, [r0]
- ldr r0, [r3]
- ldr r2, _08035A68 @ =0x00000392
- adds r1, r0, r2
- strh r6, [r1]
- ldr r7, _08035A6C @ =0x0000132C
- adds r0, r0, r7
- ldr r0, [r0]
- mov r1, r8
- strb r1, [r0]
- ldr r0, [r3]
- subs r2, #0xc
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r3]
- ldr r7, _08035A70 @ =0x000003F7
- adds r0, r0, r7
- strb r1, [r0]
- ldr r0, [r3]
- movs r1, #0xf7
- lsls r1, r1, #2
- adds r0, r0, r1
- strb r4, [r0]
- ldr r1, [r3]
- subs r7, #0xf
- adds r2, r1, r7
- ldr r0, _08035A74 @ =0x000002EE
- strh r0, [r2]
- adds r0, #0xfc
- adds r2, r1, r0
- movs r0, #0xb4
- lsls r0, r0, #1
- strh r0, [r2]
- ldr r2, _08035A78 @ =0x000003DF
- adds r1, r1, r2
- strb r5, [r1]
- ldr r0, [r3]
- subs r7, #0x63
- adds r0, r0, r7
- strb r4, [r0]
- ldr r0, [r3]
- ldr r1, _08035A7C @ =0x00000387
- adds r0, r0, r1
- strb r4, [r0]
- ldr r0, [r3]
- subs r2, #0x4b
- adds r1, r0, r2
- strh r6, [r1]
- adds r7, #0x59
- adds r0, r0, r7
- strb r4, [r0]
- ldr r0, [r3]
- movs r1, #0xf8
- lsls r1, r1, #2
- adds r0, r0, r1
- strb r4, [r0]
- ldr r0, [r3]
- adds r2, #0x4e
- adds r1, r0, r2
- strh r6, [r1]
- adds r7, #6
- adds r1, r0, r7
- strh r6, [r1]
- movs r1, #0xfd
- lsls r1, r1, #2
- adds r0, r0, r1
- strb r4, [r0]
- ldr r0, [r3]
- adds r2, #0x13
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r3]
- adds r7, #0x12
- adds r0, r0, r7
- strb r4, [r0]
- ldr r0, [r3]
- adds r1, #4
- adds r0, r0, r1
- strb r4, [r0]
- ldr r0, [r3]
- adds r2, #5
- adds r1, r0, r2
- strh r6, [r1]
- adds r7, #6
- adds r1, r0, r7
- strh r6, [r1]
- ldr r1, _08035A80 @ =0x00000404
- adds r0, r0, r1
- strb r4, [r0]
- ldr r0, [r3]
- adds r2, #0xb
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r3]
- adds r7, #0xa
- adds r0, r0, r7
- strb r4, [r0]
- ldr r0, [r3]
- adds r2, #3
- adds r1, r0, r2
- strh r6, [r1]
- adds r7, #4
- adds r1, r0, r7
- strh r6, [r1]
- adds r2, #4
- adds r1, r0, r2
- strh r6, [r1]
- adds r7, #4
- adds r1, r0, r7
- strh r6, [r1]
- adds r2, #4
- adds r1, r0, r2
- strh r6, [r1]
- adds r7, #4
- adds r0, r0, r7
- strh r6, [r0]
- movs r2, #0
- adds r6, r3, #0
- adds r5, r6, #0
- ldr r4, _08035A84 @ =0x0000041C
- movs r3, #0
-_080359A0:
- ldr r1, [r5]
- lsls r0, r2, #0x10
- asrs r0, r0, #0x10
- adds r1, r1, r4
- adds r1, r1, r0
- strb r3, [r1]
- adds r0, #1
- lsls r0, r0, #0x10
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _080359A0
- movs r2, #0
- ldr r5, _08035A5C @ =0x020314E0
- movs r4, #0x84
- lsls r4, r4, #3
- movs r3, #0
-_080359C2:
- ldr r1, [r5]
- lsls r0, r2, #0x10
- asrs r0, r0, #0x10
- adds r1, r1, r4
- adds r1, r1, r0
- strb r3, [r1]
- adds r0, #1
- lsls r0, r0, #0x10
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #9
- ble _080359C2
- movs r2, #0
- ldr r5, _08035A5C @ =0x020314E0
- ldr r4, _08035A88 @ =0x0000042A
- movs r3, #0
-_080359E2:
- ldr r1, [r5]
- lsls r0, r2, #0x10
- asrs r0, r0, #0x10
- adds r1, r1, r4
- adds r1, r1, r0
- strb r3, [r1]
- adds r0, #1
- lsls r0, r0, #0x10
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #6
- ble _080359E2
- ldr r1, [r6]
- movs r0, #0
- strb r0, [r1, #0x1a]
- ldr r4, [r6]
- ldr r1, _08035A8C @ =0x000003EA
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x3a
- ldr r7, _08035A90 @ =0x00000402
- adds r4, r4, r7
- strh r0, [r4]
- bl sub_38218
- ldr r0, [r6]
- ldr r1, _08035A7C @ =0x00000387
- adds r0, r0, r1
- movs r1, #1
- strb r1, [r0]
- bl sub_35D54
- bl sub_36CB4
- movs r0, #0x24
- bl m4aSongNumStart
- bl sub_372B4
- bl sub_3751C
- bl sub_37850
- ldr r1, _08035A94 @ =0x040000D4
- ldr r0, _08035A98 @ =0x081B36A4
- str r0, [r1]
- ldr r0, _08035A9C @ =0x05000320
- str r0, [r1, #4]
- ldr r0, _08035AA0 @ =0x80000010
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08035A5C: .4byte 0x020314E0
-_08035A60: .4byte 0x00000296
-_08035A64: .4byte 0x00000383
-_08035A68: .4byte 0x00000392
-_08035A6C: .4byte 0x0000132C
-_08035A70: .4byte 0x000003F7
-_08035A74: .4byte 0x000002EE
-_08035A78: .4byte 0x000003DF
-_08035A7C: .4byte 0x00000387
-_08035A80: .4byte 0x00000404
-_08035A84: .4byte 0x0000041C
-_08035A88: .4byte 0x0000042A
-_08035A8C: .4byte 0x000003EA
-_08035A90: .4byte 0x00000402
-_08035A94: .4byte 0x040000D4
-_08035A98: .4byte 0x081B36A4
-_08035A9C: .4byte 0x05000320
-_08035AA0: .4byte 0x80000010
-
- thumb_func_start sub_35AA4
-sub_35AA4: @ 0x08035AA4
- push {r4, r5, r6, lr}
- bl sub_38218
- ldr r0, _08035AC4 @ =0x020314E0
- ldr r0, [r0]
- ldrb r0, [r0, #0x13]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #4
- bls _08035ABA
- b _08035CB4
-_08035ABA:
- lsls r0, r0, #2
- ldr r1, _08035AC8 @ =_08035ACC
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08035AC4: .4byte 0x020314E0
-_08035AC8: .4byte _08035ACC
-_08035ACC: @ jump table
- .4byte _08035AE0 @ case 0
- .4byte _08035B5C @ case 1
- .4byte _08035BCC @ case 2
- .4byte _08035C34 @ case 3
- .4byte _08035CA4 @ case 4
-_08035AE0:
- ldr r1, _08035B10 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08035B14 @ =0x000005F7
- adds r0, r0, r2
- movs r3, #0
- movs r2, #1
- strb r2, [r0]
- ldr r4, [r1]
- ldrh r0, [r4, #0x18]
- cmp r0, #0x77
- bhi _08035B1C
- movs r1, #5
- bl __udivsi3
- ldr r1, _08035B18 @ =0x0000FFE8
- adds r0, r0, r1
- adds r1, r4, #0
- adds r1, #0xe6
- strh r0, [r1]
- ldrh r0, [r4, #0x18]
- adds r0, #1
- strh r0, [r4, #0x18]
- b _08035B28
- .align 2, 0
-_08035B10: .4byte 0x020314E0
-_08035B14: .4byte 0x000005F7
-_08035B18: .4byte 0x0000FFE8
-_08035B1C:
- adds r0, r4, #0
- adds r0, #0xe6
- strh r3, [r0]
- strb r2, [r4, #0x13]
- ldr r0, [r1]
- strh r3, [r0, #0x18]
-_08035B28:
- ldr r0, _08035B4C @ =0x020314E0
- ldr r0, [r0]
- ldr r2, _08035B50 @ =0x00000386
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08035B3C
- b _08035CB4
-_08035B3C:
- ldr r1, _08035B54 @ =gMain
- ldrh r0, [r1, #0x38]
- ldr r0, _08035B58 @ =0x00001C10
- strh r0, [r1, #0x38]
- ldrh r0, [r1, #0x3a]
- movs r0, #0x10
- strh r0, [r1, #0x3a]
- b _08035CB4
- .align 2, 0
-_08035B4C: .4byte 0x020314E0
-_08035B50: .4byte 0x00000386
-_08035B54: .4byte gMain
-_08035B58: .4byte 0x00001C10
-_08035B5C:
- ldr r0, _08035B9C @ =0x020314E0
- ldr r2, [r0]
- ldr r4, _08035BA0 @ =0x00000386
- adds r0, r2, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08035B70
- b _08035CB4
-_08035B70:
- ldr r1, _08035BA4 @ =0x0000040E
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, #0
- bne _08035BB0
- adds r4, #0x74
- adds r2, r2, r4
- ldrh r1, [r2]
- movs r0, #0x10
- subs r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- ldrh r3, [r2]
- ldr r2, _08035BA8 @ =gMain
- ldrh r1, [r2, #0x38]
- ldr r1, _08035BAC @ =0x00001C10
- strh r1, [r2, #0x38]
- lsls r3, r3, #8
- orrs r0, r3
- ldrh r1, [r2, #0x3a]
- strh r0, [r2, #0x3a]
- b _08035CB4
- .align 2, 0
-_08035B9C: .4byte 0x020314E0
-_08035BA0: .4byte 0x00000386
-_08035BA4: .4byte 0x0000040E
-_08035BA8: .4byte gMain
-_08035BAC: .4byte 0x00001C10
-_08035BB0:
- ldr r1, _08035BC0 @ =gMain
- ldrh r0, [r1, #0x38]
- ldr r0, _08035BC4 @ =0x00001C42
- strh r0, [r1, #0x38]
- ldrh r0, [r1, #0x3a]
- ldr r0, _08035BC8 @ =0x00000907
- strh r0, [r1, #0x3a]
- b _08035CB4
- .align 2, 0
-_08035BC0: .4byte gMain
-_08035BC4: .4byte 0x00001C42
-_08035BC8: .4byte 0x00000907
-_08035BCC:
- ldr r2, _08035BDC @ =0x020314E0
- ldr r3, [r2]
- ldrh r0, [r3, #0x18]
- cmp r0, #9
- bhi _08035BE0
- adds r0, #1
- strh r0, [r3, #0x18]
- b _08035CB4
- .align 2, 0
-_08035BDC: .4byte 0x020314E0
-_08035BE0:
- movs r1, #0
- movs r0, #3
- strb r0, [r3, #0x13]
- ldr r2, [r2]
- strh r1, [r2, #0x18]
- ldr r3, _08035C20 @ =gMain
- movs r1, #0xe9
- lsls r1, r1, #3
- adds r0, r3, r1
- movs r1, #1
- strh r1, [r0]
- movs r4, #0xd2
- lsls r4, r4, #3
- adds r0, r3, r4
- strh r1, [r0]
- ldr r1, _08035C24 @ =0x040000D4
- ldr r0, _08035C28 @ =0x0813A854
- str r0, [r1]
- ldr r0, _08035C2C @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _08035C30 @ =0x80001000
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- movs r0, #0xe5
- lsls r0, r0, #2
- adds r2, r2, r0
- movs r0, #0x88
- strh r0, [r2]
- movs r0, #0x80
- strb r0, [r3, #0xf]
- b _08035CB4
- .align 2, 0
-_08035C20: .4byte gMain
-_08035C24: .4byte 0x040000D4
-_08035C28: .4byte 0x0813A854
-_08035C2C: .4byte 0x06015800
-_08035C30: .4byte 0x80001000
-_08035C34:
- bl sub_351A8
- ldr r4, _08035C7C @ =0x020314E0
- ldr r1, [r4]
- ldrb r0, [r1, #0x1c]
- cmp r0, #0
- beq _08035C46
- movs r0, #0xb5
- strh r0, [r1, #0x18]
-_08035C46:
- ldr r1, [r4]
- ldrh r0, [r1, #0x18]
- cmp r0, #0xb4
- bne _08035C5C
- movs r0, #1
- strb r0, [r1, #0x1c]
- ldr r1, [r4]
- ldr r0, _08035C80 @ =0x00061A80
- str r0, [r1, #0x38]
- ldr r0, _08035C84 @ =0x01C9C380
- str r0, [r1, #0x3c]
-_08035C5C:
- ldr r1, [r4]
- ldrh r0, [r1, #0x18]
- cmp r0, #0xef
- bhi _08035C88
- cmp r0, #0x14
- bne _08035C72
- bl m4aMPlayAllStop
- movs r0, #0x2b
- bl m4aSongNumStart
-_08035C72:
- ldr r1, [r4]
- ldrh r0, [r1, #0x18]
- adds r0, #1
- strh r0, [r1, #0x18]
- b _08035CB4
- .align 2, 0
-_08035C7C: .4byte 0x020314E0
-_08035C80: .4byte 0x00061A80
-_08035C84: .4byte 0x01C9C380
-_08035C88:
- movs r0, #0
- strh r0, [r1, #0x18]
- movs r0, #4
- strb r0, [r1, #0x13]
- ldr r1, [r4]
- ldr r2, _08035CA0 @ =0x00000283
- adds r1, r1, r2
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- b _08035CB4
- .align 2, 0
-_08035CA0: .4byte 0x00000283
-_08035CA4:
- bl sub_351A8
- ldr r0, _08035D3C @ =0x020314E0
- ldr r0, [r0]
- ldr r4, _08035D40 @ =0x00000386
- adds r0, r0, r4
- movs r1, #1
- strb r1, [r0]
-_08035CB4:
- bl sub_35D54
- bl sub_36CB4
- bl sub_372B4
- bl sub_3751C
- ldr r6, _08035D3C @ =0x020314E0
- ldr r1, [r6]
- movs r2, #0xa5
- lsls r2, r2, #2
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08035D16
- ldr r4, _08035D44 @ =0x00000296
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, #1
- bhi _08035D16
- ldr r5, _08035D48 @ =gMain
- ldrb r4, [r5, #0xf]
- cmp r4, #0
- bne _08035D16
- bl m4aMPlayAllStop
- movs r0, #0x2c
- bl m4aSongNumStart
- ldr r0, [r6]
- ldr r1, _08035D4C @ =0x00000404
- adds r0, r0, r1
- strb r4, [r0]
- ldr r0, [r6]
- movs r2, #0x81
- lsls r2, r2, #3
- adds r1, r0, r2
- movs r2, #0
- strh r4, [r1]
- ldr r4, _08035D50 @ =0x00000406
- adds r0, r0, r4
- strb r2, [r0]
- ldrb r1, [r5, #0xf]
- movs r0, #0x40
- orrs r0, r1
- strb r0, [r5, #0xf]
-_08035D16:
- ldr r0, _08035D3C @ =0x020314E0
- ldr r0, [r0]
- ldr r1, _08035D40 @ =0x00000386
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08035D2C
- bl sub_350F0
-_08035D2C:
- bl sub_472E4
- bl sub_37850
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08035D3C: .4byte 0x020314E0
-_08035D40: .4byte 0x00000386
-_08035D44: .4byte 0x00000296
-_08035D48: .4byte gMain
-_08035D4C: .4byte 0x00000404
-_08035D50: .4byte 0x00000406
-
- thumb_func_start sub_35D54
-sub_35D54: @ 0x08035D54
- push {r4, r5, r6, r7, lr}
- mov r7, sb
- mov r6, r8
- push {r6, r7}
- sub sp, #8
- ldr r1, _08035D84 @ =0x020314E0
- ldr r0, [r1]
- movs r2, #0xf7
- lsls r2, r2, #2
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- mov r8, r1
- cmp r0, #0xf
- bls _08035D78
- bl _08036C9E
-_08035D78:
- lsls r0, r0, #2
- ldr r1, _08035D88 @ =_08035D8C
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08035D84: .4byte 0x020314E0
-_08035D88: .4byte _08035D8C
-_08035D8C: @ jump table
- .4byte _08035DCC @ case 0
- .4byte _08035E34 @ case 1
- .4byte _08035EDC @ case 2
- .4byte _08036008 @ case 3
- .4byte _080360B8 @ case 4
- .4byte _08036218 @ case 5
- .4byte _0803631C @ case 6
- .4byte _08036544 @ case 7
- .4byte _0803662C @ case 8
- .4byte _0803671C @ case 9
- .4byte _08036808 @ case 10
- .4byte _0803689C @ case 11
- .4byte _08036908 @ case 12
- .4byte _080369E4 @ case 13
- .4byte _08036BA2 @ case 14
- .4byte _08036C60 @ case 15
-_08035DCC:
- mov r3, r8
- ldr r0, [r3]
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r0, r0, r4
- movs r2, #0
- movs r1, #1
- strb r1, [r0]
- ldr r1, [r3]
- ldr r5, _08035E24 @ =0x000003E2
- adds r0, r1, r5
- movs r4, #3
- strh r4, [r0]
- movs r3, #0xf9
- lsls r3, r3, #2
- adds r0, r1, r3
- strh r2, [r0]
- adds r5, #6
- adds r2, r1, r5
- ldr r0, _08035E28 @ =0x000002EE
- strh r0, [r2]
- adds r0, #0xfc
- adds r1, r1, r0
- movs r0, #0xb4
- lsls r0, r0, #1
- strh r0, [r1]
- bl Random
- mov r1, r8
- ldr r3, [r1]
- ldr r2, _08035E2C @ =0x086AE9E4
- ldr r1, _08035E30 @ =gMain
- ldr r1, [r1, #0x4c]
- muls r0, r1, r0
- ands r0, r4
- adds r2, #0x50
- adds r0, r0, r2
- ldrb r0, [r0]
- movs r2, #0xfd
- lsls r2, r2, #2
- adds r3, r3, r2
- strb r0, [r3]
- bl _08036C9E
- .align 2, 0
-_08035E24: .4byte 0x000003E2
-_08035E28: .4byte 0x000002EE
-_08035E2C: .4byte 0x086AE9E4
-_08035E30: .4byte gMain
-_08035E34:
- ldr r2, _08035E60 @ =0x086AE718
- mov r4, r8
- ldr r3, [r4]
- ldr r5, _08035E64 @ =0x000003E2
- adds r4, r3, r5
- movs r0, #0
- ldrsh r1, [r4, r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r1, #0xf9
- lsls r1, r1, #2
- adds r3, r3, r1
- ldrh r1, [r3]
- ldrh r0, [r0]
- cmp r0, r1
- bls _08035E68
- adds r0, r1, #1
- strh r0, [r3]
- b _08035E7E
- .align 2, 0
-_08035E60: .4byte 0x086AE718
-_08035E64: .4byte 0x000003E2
-_08035E68:
- movs r0, #0
- strh r0, [r3]
- ldrh r0, [r4]
- adds r0, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #9
- bne _08035E7E
- movs r0, #3
- strh r0, [r4]
-_08035E7E:
- mov r2, r8
- ldr r3, [r2]
- movs r4, #0xfa
- lsls r4, r4, #2
- adds r1, r3, r4
- ldrh r2, [r1]
- movs r5, #0
- ldrsh r0, [r1, r5]
- cmp r0, #0
- ble _08035E98
- subs r0, r2, #6
- strh r0, [r1]
- b _08035EB8
-_08035E98:
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r3, r0
- movs r3, #0
- movs r0, #2
- strb r0, [r1]
- mov r1, r8
- ldr r0, [r1]
- ldr r4, _08035ED4 @ =0x000003E2
- adds r2, r0, r4
- movs r1, #0x3b
- strh r1, [r2]
- movs r5, #0xf9
- lsls r5, r5, #2
- adds r0, r0, r5
- strh r3, [r0]
-_08035EB8:
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _08035ED8 @ =0x00000392
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, #2
- bhi _08035ECA
- bl _08036C9E
-_08035ECA:
- subs r0, #1
- strh r0, [r1]
- bl _08036C9E
- .align 2, 0
-_08035ED4: .4byte 0x000003E2
-_08035ED8: .4byte 0x00000392
-_08035EDC:
- ldr r2, _08035F08 @ =0x086AE718
- mov r4, r8
- ldr r3, [r4]
- ldr r5, _08035F0C @ =0x000003E2
- adds r4, r3, r5
- movs r0, #0
- ldrsh r1, [r4, r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r1, #0xf9
- lsls r1, r1, #2
- adds r2, r3, r1
- ldrh r1, [r2]
- ldrh r0, [r0]
- cmp r0, r1
- bls _08035F10
- adds r0, r1, #1
- strh r0, [r2]
- b _08035FAE
- .align 2, 0
-_08035F08: .4byte 0x086AE718
-_08035F0C: .4byte 0x000003E2
-_08035F10:
- movs r0, #0
- strh r0, [r2]
- ldrh r0, [r4]
- adds r0, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x42
- bne _08035F92
- movs r0, #0x41
- strh r0, [r4]
- ldr r4, _08035F3C @ =0x0000040E
- adds r0, r3, r4
- ldrh r0, [r0]
- cmp r0, #7
- bhi _08035F40
- movs r5, #0xf7
- lsls r5, r5, #2
- adds r1, r3, r5
- movs r0, #3
- strb r0, [r1]
- b _08035F92
- .align 2, 0
-_08035F3C: .4byte 0x0000040E
-_08035F40:
- ldr r0, _08035F54 @ =0x000003F5
- adds r1, r3, r0
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- beq _08035F58
- movs r0, #0x14
- strh r0, [r2]
- b _08035F5E
- .align 2, 0
-_08035F54: .4byte 0x000003F5
-_08035F58:
- strh r0, [r2]
- movs r0, #1
- strb r0, [r1]
-_08035F5E:
- ldr r4, _08035FE8 @ =0x020314E0
- ldr r0, [r4]
- movs r1, #0xf7
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r1, #5
- strb r1, [r0]
- bl Random
- ldr r1, _08035FEC @ =gMain
- ldr r1, [r1, #0x4c]
- adds r0, r0, r1
- movs r1, #3
- ldr r2, [r4]
- ldr r3, _08035FF0 @ =0x086AE9E4
- ands r0, r1
- movs r4, #0xfd
- lsls r4, r4, #2
- adds r2, r2, r4
- movs r1, #0
- ldrsb r1, [r2, r1]
- lsls r1, r1, #3
- adds r0, r0, r1
- adds r0, r0, r3
- ldrb r0, [r0]
- strb r0, [r2]
-_08035F92:
- ldr r0, _08035FE8 @ =0x020314E0
- ldr r0, [r0]
- ldr r5, _08035FF4 @ =0x000003E2
- adds r0, r0, r5
- ldrh r0, [r0]
- subs r0, #0x3c
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #1
- bhi _08035FAE
- ldr r0, _08035FF8 @ =0x02032F20
- ldr r1, _08035FFC @ =0x086A1ABC
- bl MPlayStart
-_08035FAE:
- ldr r0, _08035FE8 @ =0x020314E0
- ldr r1, [r0]
- ldr r2, _08035FF4 @ =0x000003E2
- adds r0, r1, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- cmp r0, #0x40
- beq _08035FC2
- bl _08036C9E
-_08035FC2:
- movs r4, #0xf9
- lsls r4, r4, #2
- adds r2, r1, r4
- ldrh r0, [r2]
- lsrs r0, r0, #1
- ldr r5, _08036000 @ =0x000003FA
- adds r1, r1, r5
- strh r0, [r1]
- ldrh r0, [r2]
- cmp r0, #4
- beq _08035FDC
- bl _08036C9E
-_08035FDC:
- ldr r0, _08035FF8 @ =0x02032F20
- ldr r1, _08036004 @ =0x086A1B9C
- bl MPlayStart
- bl _08036C9E
- .align 2, 0
-_08035FE8: .4byte 0x020314E0
-_08035FEC: .4byte gMain
-_08035FF0: .4byte 0x086AE9E4
-_08035FF4: .4byte 0x000003E2
-_08035FF8: .4byte 0x02032F20
-_08035FFC: .4byte 0x086A1ABC
-_08036000: .4byte 0x000003FA
-_08036004: .4byte 0x086A1B9C
-_08036008:
- mov r0, r8
- ldr r1, [r0]
- ldr r3, _080360A0 @ =0x086AE9E4
- movs r4, #0xfd
- lsls r4, r4, #2
- adds r2, r1, r4
- movs r0, #0
- ldrsb r0, [r2, r0]
- lsls r0, r0, #3
- adds r0, r0, r3
- ldrh r0, [r0, #4]
- movs r5, #0xfb
- lsls r5, r5, #2
- adds r4, r1, r5
- movs r5, #0
- strh r0, [r4]
- movs r0, #0
- ldrsb r0, [r2, r0]
- lsls r0, r0, #3
- adds r0, r0, r3
- ldrh r0, [r0, #6]
- ldr r2, _080360A4 @ =0x000003EE
- adds r3, r1, r2
- strh r0, [r3]
- movs r0, #0
- ldrsh r2, [r4, r0]
- movs r4, #0xfa
- lsls r4, r4, #2
- adds r0, r1, r4
- movs r4, #0
- ldrsh r0, [r0, r4]
- subs r6, r2, r0
- movs r0, #0
- ldrsh r2, [r3, r0]
- ldr r3, _080360A8 @ =0x000003EA
- adds r1, r1, r3
- movs r4, #0
- ldrsh r0, [r1, r4]
- subs r7, r2, r0
- lsls r0, r6, #0x10
- asrs r0, r0, #0x10
- rsbs r1, r7, #0
- lsls r1, r1, #0x10
- asrs r1, r1, #0x10
- bl ArcTan2
- lsls r0, r0, #0x10
- mov r2, r8
- ldr r1, [r2]
- ldr r2, _080360AC @ =0x086AE9C4
- lsrs r0, r0, #0x1d
- lsls r0, r0, #1
- adds r0, r0, r2
- ldrh r2, [r0]
- ldr r0, _080360B0 @ =0x000003DE
- adds r1, r1, r0
- strb r2, [r1]
- mov r3, r8
- ldr r1, [r3]
- adds r0, r1, r0
- movs r2, #0
- ldrsb r2, [r0, r2]
- ldr r4, _080360B4 @ =0x000003E2
- adds r0, r1, r4
- strh r2, [r0]
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r0, r1, r2
- strh r5, [r0]
- movs r3, #0xf7
- lsls r3, r3, #2
- adds r1, r1, r3
- movs r0, #4
- strb r0, [r1]
- bl _08036C9E
- .align 2, 0
-_080360A0: .4byte 0x086AE9E4
-_080360A4: .4byte 0x000003EE
-_080360A8: .4byte 0x000003EA
-_080360AC: .4byte 0x086AE9C4
-_080360B0: .4byte 0x000003DE
-_080360B4: .4byte 0x000003E2
-_080360B8:
- ldr r4, _08036180 @ =0x020314E0
- mov sb, r4
- ldr r1, [r4]
- movs r5, #0xfb
- lsls r5, r5, #2
- adds r0, r1, r5
- movs r3, #0
- ldrsh r2, [r0, r3]
- subs r5, #4
- adds r0, r1, r5
- movs r4, #0
- ldrsh r0, [r0, r4]
- subs r6, r2, r0
- ldr r2, _08036184 @ =0x000003EE
- adds r0, r1, r2
- movs r3, #0
- ldrsh r2, [r0, r3]
- ldr r4, _08036188 @ =0x000003EA
- adds r1, r1, r4
- movs r3, #0
- ldrsh r0, [r1, r3]
- subs r7, r2, r0
- adds r1, r6, #0
- muls r1, r6, r1
- adds r0, r7, #0
- muls r0, r7, r0
- adds r1, r1, r0
- mov r8, r1
- lsls r0, r6, #0x10
- asrs r0, r0, #0x10
- rsbs r1, r7, #0
- lsls r1, r1, #0x10
- asrs r1, r1, #0x10
- bl ArcTan2
- lsls r0, r0, #0x10
- lsrs r7, r0, #0x10
- adds r0, r7, #0
- bl sub_C74
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- lsls r1, r0, #1
- adds r1, r1, r0
- lsls r1, r1, #1
- ldr r6, _0803618C @ =0x00004E20
- adds r0, r1, #0
- adds r1, r6, #0
- bl __divsi3
- str r0, [sp]
- adds r0, r7, #0
- bl sub_C24
- adds r1, r0, #0
- lsls r1, r1, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- rsbs r0, r0, #0
- adds r1, r6, #0
- bl __divsi3
- str r0, [sp, #4]
- mov r0, sb
- ldr r1, [r0]
- adds r5, r1, r5
- ldrh r0, [r5]
- ldr r2, [sp]
- adds r0, r2, r0
- strh r0, [r5]
- adds r4, r1, r4
- ldrh r0, [r4]
- ldr r3, [sp, #4]
- adds r0, r3, r0
- strh r0, [r4]
- ldr r0, _08036190 @ =0x000009C3
- cmp r8, r0
- bgt _080361B8
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r1, r1, r4
- movs r0, #8
- strb r0, [r1]
- mov r5, sb
- ldr r0, [r5]
- ldr r1, _08036194 @ =0x000003DE
- adds r2, r0, r1
- movs r0, #0
- ldrsb r0, [r2, r0]
- cmp r0, #3
- bne _0803619C
- movs r1, #0x42
- strb r1, [r2]
- ldr r0, [r5]
- ldr r2, _08036198 @ =0x000003E2
- adds r0, r0, r2
- b _080361A8
- .align 2, 0
-_08036180: .4byte 0x020314E0
-_08036184: .4byte 0x000003EE
-_08036188: .4byte 0x000003EA
-_0803618C: .4byte 0x00004E20
-_08036190: .4byte 0x000009C3
-_08036194: .4byte 0x000003DE
-_08036198: .4byte 0x000003E2
-_0803619C:
- movs r1, #0x45
- strb r1, [r2]
- mov r3, sb
- ldr r0, [r3]
- ldr r4, _08036208 @ =0x000003E2
- adds r0, r0, r4
-_080361A8:
- strh r1, [r0]
- ldr r0, _0803620C @ =0x020314E0
- ldr r0, [r0]
- movs r5, #0xf9
- lsls r5, r5, #2
- adds r0, r0, r5
- movs r1, #0
- strh r1, [r0]
-_080361B8:
- ldr r2, _08036210 @ =0x086AE718
- ldr r0, _0803620C @ =0x020314E0
- ldr r4, [r0]
- ldr r0, _08036208 @ =0x000003E2
- adds r3, r4, r0
- movs r5, #0
- ldrsh r1, [r3, r5]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r1, r4, r2
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r0, r2
- bls _080361E2
- bl _08036BD0
-_080361E2:
- movs r0, #0
- strh r0, [r1]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- movs r5, #0
- ldrsh r1, [r3, r5]
- ldr r2, _08036214 @ =0x000003DE
- adds r0, r4, r2
- movs r2, #0
- ldrsb r2, [r0, r2]
- adds r0, r2, #6
- cmp r1, r0
- beq _08036202
- bl _08036C9E
-_08036202:
- strh r2, [r3]
- bl _08036C9E
- .align 2, 0
-_08036208: .4byte 0x000003E2
-_0803620C: .4byte 0x020314E0
-_08036210: .4byte 0x086AE718
-_08036214: .4byte 0x000003DE
-_08036218:
- mov r3, r8
- ldr r4, [r3]
- movs r5, #0xf9
- lsls r5, r5, #2
- adds r0, r4, r5
- ldrh r0, [r0]
- cmp r0, #0x11
- bhi _0803627C
- cmp r0, #0
- bne _08036234
- ldr r0, _0803625C @ =0x02032F20
- ldr r1, _08036260 @ =0x086A1BC8
- bl MPlayStart
-_08036234:
- mov r4, r8
- ldr r2, [r4]
- adds r1, r2, r5
- ldrh r0, [r1]
- adds r0, #1
- strh r0, [r1]
- ldr r5, _08036264 @ =0x000003DE
- adds r0, r2, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x42
- bne _0803626C
- ldr r0, _08036268 @ =0x000003E2
- adds r1, r2, r0
- movs r0, #0x25
- strh r0, [r1]
- bl _08036C9E
- .align 2, 0
-_0803625C: .4byte 0x02032F20
-_08036260: .4byte 0x086A1BC8
-_08036264: .4byte 0x000003DE
-_08036268: .4byte 0x000003E2
-_0803626C:
- ldr r3, _08036278 @ =0x000003E2
- adds r1, r2, r3
- movs r0, #0x30
- strh r0, [r1]
- bl _08036C9E
- .align 2, 0
-_08036278: .4byte 0x000003E2
-_0803627C:
- ldr r2, _08036304 @ =0x086AE9E4
- movs r5, #0xfd
- lsls r5, r5, #2
- adds r1, r4, r5
- movs r0, #0
- ldrsb r0, [r1, r0]
- lsls r0, r0, #3
- adds r0, r0, r2
- ldrh r0, [r0, #4]
- subs r5, #8
- adds r3, r4, r5
- strh r0, [r3]
- movs r0, #0
- ldrsb r0, [r1, r0]
- lsls r0, r0, #3
- adds r0, r0, r2
- ldrh r0, [r0, #6]
- ldr r1, _08036308 @ =0x000003EE
- adds r2, r4, r1
- strh r0, [r2]
- movs r5, #0
- ldrsh r1, [r3, r5]
- movs r3, #0xfa
- lsls r3, r3, #2
- adds r0, r4, r3
- movs r5, #0
- ldrsh r0, [r0, r5]
- subs r6, r1, r0
- movs r0, #0
- ldrsh r1, [r2, r0]
- ldr r2, _0803630C @ =0x000003EA
- adds r0, r4, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- subs r7, r1, r0
- lsls r0, r6, #0x10
- asrs r0, r0, #0x10
- rsbs r1, r7, #0
- lsls r1, r1, #0x10
- asrs r1, r1, #0x10
- bl ArcTan2
- lsls r0, r0, #0x10
- mov r4, r8
- ldr r1, [r4]
- ldr r2, _08036310 @ =0x086AE9D4
- lsrs r0, r0, #0x1d
- lsls r0, r0, #1
- adds r0, r0, r2
- ldrh r2, [r0]
- ldr r0, _08036314 @ =0x000003DE
- adds r1, r1, r0
- strb r2, [r1]
- ldr r1, [r4]
- adds r0, r1, r0
- movs r2, #0
- ldrsb r2, [r0, r2]
- ldr r5, _08036318 @ =0x000003E2
- adds r0, r1, r5
- strh r2, [r0]
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r1, r0
- movs r0, #6
- strb r0, [r1]
- bl _08036C9E
- .align 2, 0
-_08036304: .4byte 0x086AE9E4
-_08036308: .4byte 0x000003EE
-_0803630C: .4byte 0x000003EA
-_08036310: .4byte 0x086AE9D4
-_08036314: .4byte 0x000003DE
-_08036318: .4byte 0x000003E2
-_0803631C:
- ldr r5, _080363E0 @ =0x020314E0
- ldr r1, [r5]
- movs r2, #0xfb
- lsls r2, r2, #2
- adds r0, r1, r2
- movs r3, #0
- ldrsh r2, [r0, r3]
- movs r4, #0xfa
- lsls r4, r4, #2
- mov sb, r4
- adds r0, r1, r4
- movs r3, #0
- ldrsh r0, [r0, r3]
- subs r6, r2, r0
- adds r4, #6
- adds r0, r1, r4
- movs r3, #0
- ldrsh r2, [r0, r3]
- subs r4, #4
- adds r1, r1, r4
- movs r3, #0
- ldrsh r0, [r1, r3]
- subs r7, r2, r0
- adds r1, r6, #0
- muls r1, r6, r1
- adds r0, r7, #0
- muls r0, r7, r0
- adds r1, r1, r0
- mov r8, r1
- lsls r0, r6, #0x10
- asrs r0, r0, #0x10
- rsbs r1, r7, #0
- lsls r1, r1, #0x10
- asrs r1, r1, #0x10
- bl ArcTan2
- lsls r0, r0, #0x10
- lsrs r7, r0, #0x10
- adds r0, r7, #0
- bl sub_C74
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #0xfa
- lsls r1, r1, #3
- bl __divsi3
- str r0, [sp]
- adds r0, r7, #0
- bl sub_C24
- adds r1, r0, #0
- lsls r1, r1, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r0, r0, #1
- rsbs r0, r0, #0
- ldr r1, _080363E4 @ =0x00004E20
- bl __divsi3
- str r0, [sp, #4]
- ldr r2, [r5]
- mov r0, sb
- adds r1, r2, r0
- ldrh r0, [r1]
- ldr r3, [sp]
- adds r0, r3, r0
- strh r0, [r1]
- adds r4, r2, r4
- ldrh r0, [r4]
- ldr r1, [sp, #4]
- adds r0, r1, r0
- strh r0, [r4]
- ldr r0, _080363E8 @ =0x000009C3
- cmp r8, r0
- ble _080363B8
- b _080364A6
-_080363B8:
- ldr r3, _080363EC @ =0x00000385
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #9
- ble _08036430
- ldr r4, _080363F0 @ =0x000003DE
- adds r1, r2, r4
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0x42
- bne _080363F4
- movs r0, #0x4b
- strb r0, [r1]
- ldr r1, [r5]
- add r1, sb
- ldrh r0, [r1]
- adds r0, #0xf0
- b _08036400
- .align 2, 0
-_080363E0: .4byte 0x020314E0
-_080363E4: .4byte 0x00004E20
-_080363E8: .4byte 0x000009C3
-_080363EC: .4byte 0x00000385
-_080363F0: .4byte 0x000003DE
-_080363F4:
- movs r0, #0x5f
- strb r0, [r1]
- ldr r1, [r5]
- add r1, sb
- ldrh r0, [r1]
- subs r0, #0xf0
-_08036400:
- strh r0, [r1]
- ldr r2, _08036424 @ =0x020314E0
- ldr r0, [r2]
- movs r5, #0xf7
- lsls r5, r5, #2
- adds r0, r0, r5
- movs r1, #0xe
- strb r1, [r0]
- ldr r0, [r2]
- ldr r2, _08036428 @ =0x000003DE
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, r1, #0x18
- asrs r1, r1, #0x18
- ldr r3, _0803642C @ =0x000003E2
- adds r0, r0, r3
- b _080364A4
- .align 2, 0
-_08036424: .4byte 0x020314E0
-_08036428: .4byte 0x000003DE
-_0803642C: .4byte 0x000003E2
-_08036430:
- ldr r4, _0803645C @ =0x000003FA
- adds r0, r2, r4
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xf
- bgt _08036460
- movs r3, #0xf7
- lsls r3, r3, #2
- adds r1, r2, r3
- movs r0, #2
- strb r0, [r1]
- ldr r1, [r5]
- subs r4, #0x18
- adds r2, r1, r4
- movs r0, #0x3e
- strh r0, [r2]
- movs r5, #0xf9
- lsls r5, r5, #2
- adds r1, r1, r5
- movs r0, #0
- strh r0, [r1]
- b _080364A6
- .align 2, 0
-_0803645C: .4byte 0x000003FA
-_08036460:
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r2, r0
- movs r0, #7
- strb r0, [r1]
- ldr r0, [r5]
- ldr r1, _08036484 @ =0x000003DE
- adds r2, r0, r1
- movs r0, #0
- ldrsb r0, [r2, r0]
- cmp r0, #0x26
- bne _0803648C
- movs r1, #0x2a
- strb r1, [r2]
- ldr r0, [r5]
- ldr r2, _08036488 @ =0x000003E2
- adds r0, r0, r2
- b _08036496
- .align 2, 0
-_08036484: .4byte 0x000003DE
-_08036488: .4byte 0x000003E2
-_0803648C:
- movs r1, #0x35
- strb r1, [r2]
- ldr r0, [r5]
- ldr r3, _0803652C @ =0x000003E2
- adds r0, r0, r3
-_08036496:
- strh r1, [r0]
- ldr r0, _08036530 @ =0x020314E0
- ldr r0, [r0]
- movs r4, #0xf9
- lsls r4, r4, #2
- adds r0, r0, r4
- movs r1, #0
-_080364A4:
- strh r1, [r0]
-_080364A6:
- ldr r2, _08036534 @ =0x086AE718
- ldr r7, _08036530 @ =0x020314E0
- ldr r4, [r7]
- ldr r6, _0803652C @ =0x000003E2
- adds r3, r4, r6
- movs r5, #0
- ldrsh r1, [r3, r5]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r1, r4, r2
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r0, r2
- bls _080364CE
- b _08036BD0
-_080364CE:
- movs r0, #0
- strh r0, [r1]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- movs r5, #0
- ldrsh r1, [r3, r5]
- ldr r5, _08036538 @ =0x000003DE
- adds r0, r4, r5
- movs r2, #0
- ldrsb r2, [r0, r2]
- adds r0, r2, #4
- cmp r1, r0
- bne _080364EC
- strh r2, [r3]
-_080364EC:
- ldr r0, [r7]
- adds r1, r0, r6
- movs r2, #0
- ldrsh r1, [r1, r2]
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #1
- cmp r1, r0
- bne _0803650A
- ldr r0, _0803653C @ =0x02032F20
- ldr r1, _08036540 @ =0x086A1C00
- bl MPlayStart
-_0803650A:
- ldr r0, [r7]
- adds r1, r0, r6
- movs r3, #0
- ldrsh r1, [r1, r3]
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #3
- cmp r1, r0
- beq _08036522
- b _08036C9E
-_08036522:
- ldr r0, _0803653C @ =0x02032F20
- ldr r1, _08036540 @ =0x086A1C00
- bl MPlayStart
- b _08036C9E
- .align 2, 0
-_0803652C: .4byte 0x000003E2
-_08036530: .4byte 0x020314E0
-_08036534: .4byte 0x086AE718
-_08036538: .4byte 0x000003DE
-_0803653C: .4byte 0x02032F20
-_08036540: .4byte 0x086A1C00
-_08036544:
- ldr r2, _080365A0 @ =0x086AE718
- mov r5, r8
- ldr r4, [r5]
- ldr r0, _080365A4 @ =0x000003E2
- adds r3, r4, r0
- movs r5, #0
- ldrsh r1, [r3, r5]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r1, #0xf9
- lsls r1, r1, #2
- adds r2, r4, r1
- ldrh r1, [r2]
- ldrh r0, [r0]
- cmp r0, r1
- bhi _08036652
- movs r0, #0
- strh r0, [r2]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- movs r5, #0
- ldrsh r1, [r3, r5]
- ldr r3, _080365A8 @ =0x000003DE
- adds r0, r4, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #6
- cmp r1, r0
- beq _0803658A
- b _08036C9E
-_0803658A:
- ldr r5, _080365AC @ =0x0000040E
- adds r0, r4, r5
- ldrh r0, [r0]
- cmp r0, #7
- bhi _080365B0
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r4, r0
- movs r0, #3
- strb r0, [r1]
- b _080365DC
- .align 2, 0
-_080365A0: .4byte 0x086AE718
-_080365A4: .4byte 0x000003E2
-_080365A8: .4byte 0x000003DE
-_080365AC: .4byte 0x0000040E
-_080365B0:
- ldr r3, _080365C4 @ =0x000003F5
- adds r1, r4, r3
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- beq _080365C8
- movs r0, #0x14
- strh r0, [r2]
- b _080365CE
- .align 2, 0
-_080365C4: .4byte 0x000003F5
-_080365C8:
- strh r0, [r2]
- movs r0, #1
- strb r0, [r1]
-_080365CE:
- mov r4, r8
- ldr r0, [r4]
- movs r5, #0xf7
- lsls r5, r5, #2
- adds r0, r0, r5
- movs r1, #5
- strb r1, [r0]
-_080365DC:
- bl Random
- ldr r1, _08036618 @ =gMain
- ldr r1, [r1, #0x4c]
- adds r0, r0, r1
- movs r1, #3
- ldr r4, _0803661C @ =0x020314E0
- ldr r2, [r4]
- ldr r3, _08036620 @ =0x086AE9E4
- ands r0, r1
- movs r1, #0xfd
- lsls r1, r1, #2
- adds r2, r2, r1
- movs r1, #0
- ldrsb r1, [r2, r1]
- lsls r1, r1, #3
- adds r0, r0, r1
- adds r0, r0, r3
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r1, [r4]
- ldr r2, _08036624 @ =0x000003DE
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #5
- ldr r3, _08036628 @ =0x000003E2
- b _0803688A
- .align 2, 0
-_08036618: .4byte gMain
-_0803661C: .4byte 0x020314E0
-_08036620: .4byte 0x086AE9E4
-_08036624: .4byte 0x000003DE
-_08036628: .4byte 0x000003E2
-_0803662C:
- ldr r2, _08036658 @ =0x086AE718
- mov r5, r8
- ldr r4, [r5]
- ldr r0, _0803665C @ =0x000003E2
- adds r3, r4, r0
- movs r5, #0
- ldrsh r1, [r3, r5]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r1, #0xf9
- lsls r1, r1, #2
- adds r2, r4, r1
- ldrh r1, [r2]
- ldrh r0, [r0]
- cmp r0, r1
- bls _08036660
-_08036652:
- adds r0, r1, #1
- strh r0, [r2]
- b _08036C9E
- .align 2, 0
-_08036658: .4byte 0x086AE718
-_0803665C: .4byte 0x000003E2
-_08036660:
- movs r0, #0
- strh r0, [r2]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- movs r5, #0
- ldrsh r1, [r3, r5]
- ldr r3, _08036698 @ =0x000003DE
- adds r0, r4, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #2
- cmp r1, r0
- beq _08036680
- b _08036C9E
-_08036680:
- ldr r5, _0803669C @ =0x0000040E
- adds r0, r4, r5
- ldrh r0, [r0]
- cmp r0, #7
- bhi _080366A0
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r4, r0
- movs r0, #3
- strb r0, [r1]
- b _080366CC
- .align 2, 0
-_08036698: .4byte 0x000003DE
-_0803669C: .4byte 0x0000040E
-_080366A0:
- ldr r3, _080366B4 @ =0x000003F5
- adds r1, r4, r3
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- beq _080366B8
- movs r0, #0x14
- strh r0, [r2]
- b _080366BE
- .align 2, 0
-_080366B4: .4byte 0x000003F5
-_080366B8:
- strh r0, [r2]
- movs r0, #1
- strb r0, [r1]
-_080366BE:
- mov r4, r8
- ldr r0, [r4]
- movs r5, #0xf7
- lsls r5, r5, #2
- adds r0, r0, r5
- movs r1, #5
- strb r1, [r0]
-_080366CC:
- bl Random
- ldr r1, _08036708 @ =gMain
- ldr r1, [r1, #0x4c]
- adds r0, r0, r1
- movs r1, #3
- ldr r4, _0803670C @ =0x020314E0
- ldr r2, [r4]
- ldr r3, _08036710 @ =0x086AE9E4
- ands r0, r1
- movs r1, #0xfd
- lsls r1, r1, #2
- adds r2, r2, r1
- movs r1, #0
- ldrsb r1, [r2, r1]
- lsls r1, r1, #3
- adds r0, r0, r1
- adds r0, r0, r3
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r1, [r4]
- ldr r2, _08036714 @ =0x000003DE
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #1
- ldr r3, _08036718 @ =0x000003E2
- b _0803688A
- .align 2, 0
-_08036708: .4byte gMain
-_0803670C: .4byte 0x020314E0
-_08036710: .4byte 0x086AE9E4
-_08036714: .4byte 0x000003DE
-_08036718: .4byte 0x000003E2
-_0803671C:
- mov r4, r8
- ldr r0, [r4]
- movs r5, #0xf7
- lsls r5, r5, #2
- adds r0, r0, r5
- movs r1, #0xa
- strb r1, [r0]
- ldr r0, _08036750 @ =gMain
- ldr r3, [r0, #0x4c]
- movs r4, #1
- ands r3, r4
- cmp r3, #0
- beq _08036774
- mov r0, r8
- ldr r2, [r0]
- movs r1, #0xfa
- lsls r1, r1, #2
- adds r0, r2, r1
- movs r3, #0
- ldrsh r1, [r0, r3]
- ldr r0, _08036754 @ =0xFFFFFD80
- cmp r1, r0
- bge _08036758
- adds r5, #0x1a
- b _080367A6
- .align 2, 0
-_08036750: .4byte gMain
-_08036754: .4byte 0xFFFFFD80
-_08036758:
- ldr r3, _0803676C @ =0x000003F6
- adds r1, r2, r3
- movs r0, #0
- strb r0, [r1]
- mov r4, r8
- ldr r0, [r4]
- ldr r5, _08036770 @ =0x000003DE
- adds r0, r0, r5
- movs r1, #0x1b
- b _080367B4
- .align 2, 0
-_0803676C: .4byte 0x000003F6
-_08036770: .4byte 0x000003DE
-_08036774:
- mov r0, r8
- ldr r2, [r0]
- movs r1, #0xfa
- lsls r1, r1, #2
- adds r0, r2, r1
- movs r5, #0
- ldrsh r1, [r0, r5]
- movs r0, #0xa0
- lsls r0, r0, #2
- cmp r1, r0
- ble _080367A4
- ldr r1, _0803679C @ =0x000003F6
- adds r0, r2, r1
- strb r3, [r0]
- mov r2, r8
- ldr r0, [r2]
- ldr r3, _080367A0 @ =0x000003DE
- adds r0, r0, r3
- movs r1, #0x1b
- b _080367B4
- .align 2, 0
-_0803679C: .4byte 0x000003F6
-_080367A0: .4byte 0x000003DE
-_080367A4:
- ldr r5, _080367F0 @ =0x000003F6
-_080367A6:
- adds r0, r2, r5
- strb r4, [r0]
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _080367F4 @ =0x000003DE
- adds r0, r0, r2
- movs r1, #0x20
-_080367B4:
- strb r1, [r0]
- mov r3, r8
- ldr r0, [r3]
- ldr r4, _080367F8 @ =0x000003FA
- adds r1, r0, r4
- movs r5, #0
- ldrsh r0, [r1, r5]
- cmp r0, #0xf
- bgt _080367CA
- movs r0, #0
- strh r0, [r1]
-_080367CA:
- mov r0, r8
- ldr r1, [r0]
- ldr r2, _080367F4 @ =0x000003DE
- adds r0, r1, r2
- movs r2, #0
- ldrsb r2, [r0, r2]
- ldr r3, _080367FC @ =0x000003E2
- adds r0, r1, r3
- movs r3, #0
- strh r2, [r0]
- movs r4, #0xf9
- lsls r4, r4, #2
- adds r1, r1, r4
- strh r3, [r1]
- ldr r0, _08036800 @ =0x02032F20
- ldr r1, _08036804 @ =0x086A1C64
- bl MPlayStart
- b _08036C9E
- .align 2, 0
-_080367F0: .4byte 0x000003F6
-_080367F4: .4byte 0x000003DE
-_080367F8: .4byte 0x000003FA
-_080367FC: .4byte 0x000003E2
-_08036800: .4byte 0x02032F20
-_08036804: .4byte 0x086A1C64
-_08036808:
- ldr r2, _08036890 @ =0x086AE718
- mov r0, r8
- ldr r5, [r0]
- ldr r3, _08036894 @ =0x000003E2
- adds r4, r5, r3
- movs r0, #0
- ldrsh r1, [r4, r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r1, r5, r2
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r0, r2
- bls _08036830
- b _08036BD0
-_08036830:
- movs r0, #0
- strh r0, [r1]
- ldrh r0, [r4]
- adds r0, #1
- strh r0, [r4]
- movs r0, #0
- ldrsh r1, [r4, r0]
- ldr r4, _08036898 @ =0x000003DE
- adds r0, r5, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #1
- cmp r1, r0
- bne _08036858
- movs r2, #0xff
- lsls r2, r2, #2
- adds r1, r5, r2
- movs r0, #0x17
- strh r0, [r1]
-_08036858:
- mov r5, r8
- ldr r2, [r5]
- adds r0, r2, r3
- movs r5, #0
- ldrsh r1, [r0, r5]
- adds r0, r2, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #2
- cmp r1, r0
- beq _08036872
- b _08036C9E
-_08036872:
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r2, r0
- movs r0, #0xd
- strb r0, [r1]
- mov r2, r8
- ldr r1, [r2]
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #1
-_0803688A:
- adds r1, r1, r3
- strh r0, [r1]
- b _08036C9E
- .align 2, 0
-_08036890: .4byte 0x086AE718
-_08036894: .4byte 0x000003E2
-_08036898: .4byte 0x000003DE
-_0803689C:
- mov r3, r8
- ldr r0, [r3]
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r0, r0, r4
- movs r3, #0
- movs r1, #0xc
- strb r1, [r0]
- mov r5, r8
- ldr r1, [r5]
- ldr r2, _080368F0 @ =0x000003DE
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #2
- adds r4, #6
- adds r2, r1, r4
- strh r0, [r2]
- movs r5, #0xf9
- lsls r5, r5, #2
- adds r0, r1, r5
- strh r3, [r0]
- ldr r2, _080368F4 @ =0x000003FA
- adds r0, r1, r2
- strh r3, [r0]
- ldr r0, _080368F8 @ =0x0007A120
- str r0, [r1, #0x3c]
- ldr r3, _080368FC @ =0x00000385
- adds r1, r1, r3
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- ldr r0, _08036900 @ =0x02032F20
- ldr r1, _08036904 @ =0x086A1C88
- bl MPlayStart
- movs r0, #7
- bl sub_11B0
- b _08036C9E
- .align 2, 0
-_080368F0: .4byte 0x000003DE
-_080368F4: .4byte 0x000003FA
-_080368F8: .4byte 0x0007A120
-_080368FC: .4byte 0x00000385
-_08036900: .4byte 0x02032F20
-_08036904: .4byte 0x086A1C88
-_08036908:
- ldr r2, _08036970 @ =0x086AE718
- mov r5, r8
- ldr r4, [r5]
- ldr r0, _08036974 @ =0x000003E2
- adds r3, r4, r0
- movs r5, #0
- ldrsh r1, [r3, r5]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r1, r4, r2
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r0, r2
- bls _08036930
- b _08036BD0
-_08036930:
- movs r6, #0
- movs r5, #0
- strh r5, [r1]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- movs r0, #0
- ldrsh r1, [r3, r0]
- ldr r2, _08036978 @ =0x000003DE
- adds r0, r4, r2
- movs r2, #0
- ldrsb r2, [r0, r2]
- adds r0, r2, #4
- cmp r1, r0
- beq _08036950
- b _08036C9E
-_08036950:
- adds r0, r2, #3
- strh r0, [r3]
- ldr r3, _0803697C @ =0x00000385
- adds r0, r4, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #9
- bgt _08036980
- movs r5, #0xf7
- lsls r5, r5, #2
- adds r1, r4, r5
- movs r0, #0xd
- strb r0, [r1]
- b _08036C9E
- .align 2, 0
-_08036970: .4byte 0x086AE718
-_08036974: .4byte 0x000003E2
-_08036978: .4byte 0x000003DE
-_0803697C: .4byte 0x00000385
-_08036980:
- movs r0, #0xa5
- lsls r0, r0, #2
- adds r1, r4, r0
- movs r0, #3
- strb r0, [r1]
- ldr r1, _080369D8 @ =gMain
- movs r0, #0x80
- strb r0, [r1, #0xf]
- mov r1, r8
- ldr r0, [r1]
- movs r2, #0xe2
- lsls r2, r2, #2
- adds r0, r0, r2
- movs r1, #2
- strb r1, [r0]
- mov r3, r8
- ldr r0, [r3]
- ldr r4, _080369DC @ =0x00000392
- adds r1, r0, r4
- strh r5, [r1]
- movs r1, #0xf7
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r1, #0xd
- strb r1, [r0]
- ldr r0, [r3]
- adds r2, #0x7c
- adds r0, r0, r2
- strb r6, [r0]
- ldr r0, [r3]
- movs r3, #0x81
- lsls r3, r3, #3
- adds r1, r0, r3
- strh r5, [r1]
- adds r4, #0x74
- adds r0, r0, r4
- strb r6, [r0]
- mov r5, r8
- ldr r0, [r5]
- ldr r1, _080369E0 @ =0x00000387
- adds r0, r0, r1
- strb r6, [r0]
- b _08036C9E
- .align 2, 0
-_080369D8: .4byte gMain
-_080369DC: .4byte 0x00000392
-_080369E0: .4byte 0x00000387
-_080369E4:
- mov r2, r8
- ldr r1, [r2]
- ldr r3, _08036A0C @ =0x000003DE
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #4
- ldr r4, _08036A10 @ =0x000003E2
- adds r2, r1, r4
- strh r0, [r2]
- movs r5, #0xf9
- lsls r5, r5, #2
- adds r3, r1, r5
- ldrh r0, [r3]
- cmp r0, #7
- bhi _08036A14
- adds r0, #1
- strh r0, [r3]
- b _08036C9E
- .align 2, 0
-_08036A0C: .4byte 0x000003DE
-_08036A10: .4byte 0x000003E2
-_08036A14:
- ldr r3, _08036A40 @ =0x00000385
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #9
- ble _08036A98
- ldr r4, _08036A44 @ =0x000003F6
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _08036A48
- movs r0, #0x48
- strh r0, [r2]
- movs r5, #0xfa
- lsls r5, r5, #2
- adds r1, r1, r5
- ldrh r0, [r1]
- subs r0, #0xf0
- b _08036A56
- .align 2, 0
-_08036A40: .4byte 0x00000385
-_08036A44: .4byte 0x000003F6
-_08036A48:
- movs r0, #0x49
- strh r0, [r2]
- movs r0, #0xfa
- lsls r0, r0, #2
- adds r1, r1, r0
- ldrh r0, [r1]
- adds r0, #0xf0
-_08036A56:
- strh r0, [r1]
- mov r1, r8
- ldr r0, [r1]
- movs r2, #0xf7
- lsls r2, r2, #2
- adds r0, r0, r2
- movs r1, #5
- strb r1, [r0]
- mov r3, r8
- ldr r0, [r3]
- movs r4, #0xf9
- lsls r4, r4, #2
- adds r0, r0, r4
- movs r1, #0x14
- strh r1, [r0]
- bl Random
- mov r5, r8
- ldr r2, [r5]
- ldr r1, _08036A94 @ =gMain
- ldr r1, [r1, #0x4c]
- muls r0, r1, r0
- movs r1, #3
- ands r0, r1
- adds r0, #3
- movs r1, #0xfd
- lsls r1, r1, #2
- adds r2, r2, r1
- strb r0, [r2]
- b _08036C9E
- .align 2, 0
-_08036A94: .4byte gMain
-_08036A98:
- ldr r3, _08036AC4 @ =0x000003FA
- adds r0, r1, r3
- movs r4, #0
- ldrsh r0, [r0, r4]
- cmp r0, #0xf
- bgt _08036B18
- ldr r5, _08036AC8 @ =0x000003F6
- adds r0, r1, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _08036ACC
- movs r0, #0x48
- strh r0, [r2]
- movs r0, #0xfa
- lsls r0, r0, #2
- adds r1, r1, r0
- ldrh r0, [r1]
- subs r0, #0xf0
- b _08036ADA
- .align 2, 0
-_08036AC4: .4byte 0x000003FA
-_08036AC8: .4byte 0x000003F6
-_08036ACC:
- movs r0, #0x49
- strh r0, [r2]
- movs r2, #0xfa
- lsls r2, r2, #2
- adds r1, r1, r2
- ldrh r0, [r1]
- adds r0, #0xf0
-_08036ADA:
- strh r0, [r1]
- mov r3, r8
- ldr r0, [r3]
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r0, r0, r4
- movs r1, #5
- strb r1, [r0]
- ldr r0, [r3]
- movs r5, #0xf9
- lsls r5, r5, #2
- adds r0, r0, r5
- movs r1, #0x14
- strh r1, [r0]
- bl Random
- mov r1, r8
- ldr r2, [r1]
- ldr r1, _08036B14 @ =gMain
- ldr r1, [r1, #0x4c]
- muls r0, r1, r0
- movs r1, #3
- ands r0, r1
- adds r0, #3
- movs r3, #0xfd
- lsls r3, r3, #2
- adds r2, r2, r3
- strb r0, [r2]
- b _08036C9E
- .align 2, 0
-_08036B14: .4byte gMain
-_08036B18:
- ldr r4, _08036B38 @ =0x000003F6
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _08036B3C
- movs r0, #0x48
- strh r0, [r2]
- movs r5, #0xfa
- lsls r5, r5, #2
- adds r1, r1, r5
- ldrh r0, [r1]
- subs r0, #0xf0
- b _08036B4A
- .align 2, 0
-_08036B38: .4byte 0x000003F6
-_08036B3C:
- movs r0, #0x49
- strh r0, [r2]
- movs r0, #0xfa
- lsls r0, r0, #2
- adds r1, r1, r0
- ldrh r0, [r1]
- adds r0, #0xf0
-_08036B4A:
- strh r0, [r1]
- mov r2, r8
- ldr r1, [r2]
- movs r3, #0xf9
- lsls r3, r3, #2
- adds r2, r1, r3
- movs r0, #0
- strh r0, [r2]
- ldr r4, _08036B70 @ =0x0000040E
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, #7
- bhi _08036B74
- movs r5, #0xf7
- lsls r5, r5, #2
- adds r1, r1, r5
- movs r0, #3
- strb r0, [r1]
- b _08036C9E
- .align 2, 0
-_08036B70: .4byte 0x0000040E
-_08036B74:
- ldr r0, _08036B88 @ =0x000003F5
- adds r1, r1, r0
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- beq _08036B8C
- movs r0, #0x14
- strh r0, [r2]
- b _08036B92
- .align 2, 0
-_08036B88: .4byte 0x000003F5
-_08036B8C:
- strh r0, [r2]
- movs r0, #1
- strb r0, [r1]
-_08036B92:
- mov r1, r8
- ldr r0, [r1]
- movs r2, #0xf7
- lsls r2, r2, #2
- adds r0, r0, r2
- movs r1, #5
- strb r1, [r0]
- b _08036C9E
-_08036BA2:
- mov r3, r8
- ldr r4, [r3]
- ldr r5, _08036BD8 @ =0x000003FA
- adds r0, r4, r5
- movs r5, #0
- strh r5, [r0]
- ldr r2, _08036BDC @ =0x086AE718
- ldr r6, _08036BE0 @ =0x000003E2
- adds r3, r4, r6
- movs r0, #0
- ldrsh r1, [r3, r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r1, r4, r2
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r0, r2
- bls _08036BE4
-_08036BD0:
- adds r0, r2, #1
- strh r0, [r1]
- b _08036C9E
- .align 2, 0
-_08036BD8: .4byte 0x000003FA
-_08036BDC: .4byte 0x086AE718
-_08036BE0: .4byte 0x000003E2
-_08036BE4:
- strh r5, [r1]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- movs r5, #0
- ldrsh r1, [r3, r5]
- ldr r5, _08036C50 @ =0x000003DE
- adds r0, r4, r5
- movs r2, #0
- ldrsb r2, [r0, r2]
- adds r0, r2, #0
- adds r0, #0x13
- cmp r1, r0
- bne _08036C0E
- subs r0, #1
- strh r0, [r3]
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r4, r0
- movs r0, #0xf
- strb r0, [r1]
-_08036C0E:
- mov r1, r8
- ldr r0, [r1]
- adds r1, r0, r6
- movs r2, #0
- ldrsh r1, [r1, r2]
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #6
- cmp r1, r0
- bne _08036C2E
- ldr r0, _08036C54 @ =0x02032F20
- ldr r1, _08036C58 @ =0x086A1CCC
- bl MPlayStart
-_08036C2E:
- mov r3, r8
- ldr r0, [r3]
- adds r1, r0, r6
- movs r4, #0
- ldrsh r1, [r1, r4]
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #8
- cmp r1, r0
- bne _08036C9E
- ldr r0, _08036C54 @ =0x02032F20
- ldr r1, _08036C5C @ =0x086A1D64
- bl MPlayStart
- b _08036C9E
- .align 2, 0
-_08036C50: .4byte 0x000003DE
-_08036C54: .4byte 0x02032F20
-_08036C58: .4byte 0x086A1CCC
-_08036C5C: .4byte 0x086A1D64
-_08036C60:
- mov r5, r8
- ldr r2, [r5]
- movs r3, #0xf9
- lsls r3, r3, #2
- adds r0, r2, r3
- ldrh r1, [r0]
- cmp r1, #0x63
- bhi _08036C88
- cmp r1, #0
- bne _08036C7C
- movs r0, #2
- strb r0, [r2, #0x13]
- ldr r0, [r5]
- strh r1, [r0, #0x18]
-_08036C7C:
- mov r0, r8
- ldr r1, [r0]
- adds r1, r1, r3
- ldrh r0, [r1]
- adds r0, #1
- strh r0, [r1]
-_08036C88:
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _08036CAC @ =0x000003DE
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, r1, #0x18
- asrs r1, r1, #0x18
- adds r1, #0xf
- ldr r3, _08036CB0 @ =0x000003E2
- adds r0, r0, r3
- strh r1, [r0]
-_08036C9E:
- add sp, #8
- pop {r3, r4}
- mov r8, r3
- mov sb, r4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08036CAC: .4byte 0x000003DE
-_08036CB0: .4byte 0x000003E2
-
- thumb_func_start sub_36CB4
-sub_36CB4: @ 0x08036CB4
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #8
- ldr r0, _08036DBC @ =0x02031590
- ldrb r1, [r0, #0x17]
- movs r0, #0xb8
- muls r1, r0, r1
- ldr r0, _08036DC0 @ =0x0200B3B8
- adds r5, r1, r0
- ldrh r0, [r5]
- cmp r0, #0
- bne _08036CD4
- b _080372A2
-_08036CD4:
- ldr r0, _08036DC4 @ =0x020314E0
- mov sb, r0
- ldr r0, [r0]
- ldr r1, _08036DC8 @ =0x000003DF
- adds r3, r0, r1
- movs r2, #0
- ldrsb r2, [r3, r2]
- lsls r2, r2, #0x10
- ldr r6, _08036DCC @ =0x086AE718
- ldr r4, _08036DD0 @ =0x000003E2
- adds r0, r0, r4
- movs r7, #0
- ldrsh r1, [r0, r7]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r1, r6, #4
- adds r0, r0, r1
- ldrh r0, [r0]
- strb r0, [r3]
- ldr r3, _08036DD4 @ =0x040000D4
- lsrs r0, r2, #0x10
- str r0, [sp]
- asrs r2, r2, #0x10
- lsls r0, r2, #2
- adds r0, r0, r2
- lsls r0, r0, #7
- ldr r1, _08036DD8 @ =0x0844F98C
- adds r0, r0, r1
- str r0, [r3]
- ldr r0, _08036DDC @ =0x06010920
- str r0, [r3, #4]
- ldr r0, _08036DE0 @ =0x80000140
- str r0, [r3, #8]
- ldr r0, [r3, #8]
- mov r1, sb
- ldr r7, [r1]
- adds r4, r7, r4
- movs r2, #0
- ldrsh r1, [r4, r2]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r0, r0, r6
- ldrh r0, [r0]
- mov sl, r0
- movs r3, #0xfa
- lsls r3, r3, #2
- adds r6, r7, r3
- movs r1, #0
- ldrsh r0, [r6, r1]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x68
- adds r1, r7, #0
- adds r1, #0x58
- ldrh r1, [r1]
- subs r0, r0, r1
- strh r0, [r5, #2]
- ldr r2, _08036DE4 @ =0x000003EA
- adds r2, r2, r7
- mov r8, r2
- movs r3, #0
- ldrsh r0, [r2, r3]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x1c
- adds r1, r7, #0
- adds r1, #0x5a
- ldrh r1, [r1]
- subs r0, r0, r1
- strh r0, [r5, #4]
- ldrh r4, [r4]
- adds r0, r4, #0
- subs r0, #0x1c
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #2
- bhi _08036DF4
- movs r4, #0
- ldrsh r0, [r6, r4]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0x90
- movs r2, #0xfc
- lsls r2, r2, #2
- adds r1, r7, r2
- strh r0, [r1]
- mov r3, r8
- movs r4, #0
- ldrsh r0, [r3, r4]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0x54
- ldr r2, _08036DE8 @ =0x000003F2
- adds r1, r7, r2
- strh r0, [r1]
- ldr r3, _08036DEC @ =0x00000385
- adds r0, r7, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #9
- bgt _08036E9A
- ldr r4, _08036DF0 @ =0x00000387
- adds r1, r7, r4
- movs r0, #2
- b _08036E98
- .align 2, 0
-_08036DBC: .4byte 0x02031590
-_08036DC0: .4byte 0x0200B3B8
-_08036DC4: .4byte 0x020314E0
-_08036DC8: .4byte 0x000003DF
-_08036DCC: .4byte 0x086AE718
-_08036DD0: .4byte 0x000003E2
-_08036DD4: .4byte 0x040000D4
-_08036DD8: .4byte 0x0844F98C
-_08036DDC: .4byte 0x06010920
-_08036DE0: .4byte 0x80000140
-_08036DE4: .4byte 0x000003EA
-_08036DE8: .4byte 0x000003F2
-_08036DEC: .4byte 0x00000385
-_08036DF0: .4byte 0x00000387
-_08036DF4:
- adds r0, r4, #0
- subs r0, #0x21
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #2
- bhi _08036E54
- movs r1, #0
- ldrsh r0, [r6, r1]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0xf0
- movs r2, #0xfc
- lsls r2, r2, #2
- adds r1, r7, r2
- strh r0, [r1]
- mov r3, r8
- movs r4, #0
- ldrsh r0, [r3, r4]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0x54
- ldr r2, _08036E48 @ =0x000003F2
- adds r1, r7, r2
- strh r0, [r1]
- ldr r3, _08036E4C @ =0x00000385
- adds r0, r7, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #9
- bgt _08036E9A
- ldr r4, _08036E50 @ =0x00000387
- adds r1, r7, r4
- movs r0, #2
- b _08036E98
- .align 2, 0
-_08036E48: .4byte 0x000003F2
-_08036E4C: .4byte 0x00000385
-_08036E50: .4byte 0x00000387
-_08036E54:
- movs r1, #0
- ldrsh r0, [r6, r1]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0xd0
- movs r2, #0xfc
- lsls r2, r2, #2
- adds r1, r7, r2
- strh r0, [r1]
- mov r3, r8
- movs r4, #0
- ldrsh r0, [r3, r4]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0x38
- ldr r2, _08036EDC @ =0x000003F2
- adds r1, r7, r2
- strh r0, [r1]
- ldr r3, _08036EE0 @ =0x00000385
- adds r0, r7, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #9
- bgt _08036E9A
- ldr r4, _08036EE4 @ =0x00000387
- adds r1, r7, r4
- movs r0, #1
-_08036E98:
- strb r0, [r1]
-_08036E9A:
- ldr r7, _08036EE8 @ =0x020314E0
- ldr r4, [r7]
- movs r1, #0xfa
- lsls r1, r1, #2
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x78
- movs r3, #0x80
- lsls r3, r3, #3
- adds r1, r4, r3
- strh r0, [r1]
- ldr r7, _08036EEC @ =0x000003EA
- adds r0, r4, r7
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x3a
- ldr r2, _08036EF0 @ =0x00000402
- adds r1, r4, r2
- strh r0, [r1]
- ldr r3, _08036EF4 @ =0x0000040E
- adds r0, r4, r3
- ldrh r0, [r0]
- cmp r0, #7
- bls _08036EF8
- adds r7, #0xd
- b _08036F16
- .align 2, 0
-_08036EDC: .4byte 0x000003F2
-_08036EE0: .4byte 0x00000385
-_08036EE4: .4byte 0x00000387
-_08036EE8: .4byte 0x020314E0
-_08036EEC: .4byte 0x000003EA
-_08036EF0: .4byte 0x00000402
-_08036EF4: .4byte 0x0000040E
-_08036EF8:
- ldr r1, _08036F0C @ =0x000003FA
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- cmp r0, #0xf
- ble _08036F14
- ldr r3, _08036F10 @ =0x000003F7
- adds r1, r4, r3
- movs r0, #0
- b _08036F1A
- .align 2, 0
-_08036F0C: .4byte 0x000003FA
-_08036F10: .4byte 0x000003F7
-_08036F14:
- ldr r7, _08036FD8 @ =0x000003F7
-_08036F16:
- adds r1, r4, r7
- movs r0, #1
-_08036F1A:
- strb r0, [r1]
- movs r7, #0
- ldr r0, _08036FDC @ =gOamBuffer
- mov r8, r0
- mov r1, sl
- lsls r1, r1, #0x10
- str r1, [sp, #4]
- mov ip, r8
- asrs r1, r1, #0x10
- mov sb, r1
- movs r2, #0xf
- mov sl, r2
-_08036F32:
- lsls r2, r7, #0x10
- asrs r2, r2, #0x10
- lsls r0, r2, #3
- adds r0, #8
- adds r6, r5, r0
- ldrh r0, [r6]
- lsls r0, r0, #3
- mov r3, ip
- adds r4, r0, r3
- mov r0, sb
- lsls r1, r0, #1
- add r1, sb
- lsls r1, r1, #2
- lsls r0, r2, #1
- adds r0, r0, r2
- lsls r0, r0, #1
- ldr r2, _08036FE0 @ =0x086B9DAC
- adds r0, r0, r2
- adds r1, r1, r0
- ldrh r0, [r1]
- strh r0, [r4]
- adds r1, #2
- adds r4, #2
- ldrh r0, [r1]
- strh r0, [r4]
- ldrh r0, [r1, #2]
- strh r0, [r4, #2]
- ldr r3, _08036FE4 @ =0x020314E0
- ldr r0, [r3]
- ldr r4, _08036FD8 @ =0x000003F7
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08037008
- ldrh r2, [r6]
- lsls r2, r2, #3
- add r2, r8
- ldrh r3, [r2, #2]
- lsls r1, r3, #0x17
- lsrs r1, r1, #0x17
- movs r4, #2
- ldrsh r0, [r5, r4]
- adds r1, r1, r0
- ldr r4, _08036FE8 @ =0x000001FF
- adds r0, r4, #0
- ands r1, r0
- ldr r0, _08036FEC @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- add r1, r8
- ldrb r0, [r5, #4]
- ldrb r2, [r1]
- adds r0, r0, r2
- strb r0, [r1]
- ldr r3, _08036FE4 @ =0x020314E0
- ldr r1, [r3]
- ldr r4, _08036FF0 @ =0x000003DF
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x14
- bne _08036FF4
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, #9
- bhi _08036FF4
- ldrh r2, [r6]
- lsls r2, r2, #3
- add r2, ip
- ldrb r1, [r2, #5]
- mov r0, sl
- ands r0, r1
- movs r1, #0xa0
- b _08037002
- .align 2, 0
-_08036FD8: .4byte 0x000003F7
-_08036FDC: .4byte gOamBuffer
-_08036FE0: .4byte 0x086B9DAC
-_08036FE4: .4byte 0x020314E0
-_08036FE8: .4byte 0x000001FF
-_08036FEC: .4byte 0xFFFFFE00
-_08036FF0: .4byte 0x000003DF
-_08036FF4:
- ldrh r2, [r6]
- lsls r2, r2, #3
- add r2, ip
- ldrb r1, [r2, #5]
- mov r0, sl
- ands r0, r1
- movs r1, #0x20
-_08037002:
- orrs r0, r1
- strb r0, [r2, #5]
- b _08037024
-_08037008:
- ldrh r2, [r6]
- lsls r2, r2, #3
- add r2, r8
- ldrh r1, [r2, #2]
- ldr r0, _08037120 @ =0xFFFFFE00
- ands r0, r1
- movs r1, #0xf0
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r0, [r6]
- lsls r0, r0, #3
- add r0, r8
- movs r1, #0xb4
- strb r1, [r0]
-_08037024:
- lsls r0, r7, #0x10
- movs r3, #0x80
- lsls r3, r3, #9
- adds r0, r0, r3
- lsrs r7, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #1
- bgt _08037036
- b _08036F32
-_08037036:
- ldr r5, _08037124 @ =0x0200CA00
- ldr r7, _08037128 @ =0x020314E0
- ldr r4, [r7]
- movs r1, #0xfa
- lsls r1, r1, #2
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x68
- adds r4, #0x58
- ldrh r1, [r4]
- subs r0, r0, r1
- strh r0, [r5, #2]
- ldr r4, [r7]
- ldr r3, _0803712C @ =0x000003EA
- adds r0, r4, r3
- movs r7, #0
- ldrsh r0, [r0, r7]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x3c
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r0, r0, r1
- strh r0, [r5, #4]
- movs r7, #0
- ldr r0, _08037130 @ =gOamBuffer
- mov ip, r0
- ldr r1, [sp, #4]
- asrs r1, r1, #0x10
- mov sb, r1
- movs r2, #0xf
- mov sl, r2
-_08037080:
- lsls r3, r7, #0x10
- asrs r2, r3, #0x10
- lsls r0, r2, #3
- adds r0, #8
- adds r6, r5, r0
- ldrh r0, [r6]
- lsls r0, r0, #3
- mov r7, ip
- adds r4, r0, r7
- mov r0, sb
- lsls r1, r0, #1
- add r1, sb
- lsls r1, r1, #2
- lsls r0, r2, #1
- adds r0, r0, r2
- lsls r0, r0, #1
- ldr r2, _08037134 @ =0x086B9AB8
- adds r0, r0, r2
- adds r1, r1, r0
- ldrh r0, [r1]
- strh r0, [r4]
- adds r1, #2
- adds r4, #2
- ldrh r0, [r1]
- strh r0, [r4]
- ldrh r0, [r1, #2]
- strh r0, [r4, #2]
- ldr r4, _08037128 @ =0x020314E0
- ldr r0, [r4]
- ldr r7, _08037138 @ =0x000003F7
- adds r0, r0, r7
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r4, r3, #0
- cmp r0, #0
- beq _08037154
- ldrh r2, [r6]
- lsls r2, r2, #3
- add r2, r8
- ldrh r3, [r2, #2]
- lsls r1, r3, #0x17
- lsrs r1, r1, #0x17
- movs r7, #2
- ldrsh r0, [r5, r7]
- adds r1, r1, r0
- ldr r7, _0803713C @ =0x000001FF
- adds r0, r7, #0
- ands r1, r0
- ldr r0, _08037120 @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- add r1, r8
- ldrb r0, [r5, #4]
- ldrb r2, [r1]
- adds r0, r0, r2
- strb r0, [r1]
- ldr r3, [sp]
- cmp r3, #0x14
- bne _08037140
- ldr r7, _08037128 @ =0x020314E0
- ldr r0, [r7]
- movs r1, #0xf9
- lsls r1, r1, #2
- adds r0, r0, r1
- ldrh r0, [r0]
- cmp r0, #9
- bhi _08037140
- ldrh r2, [r6]
- lsls r2, r2, #3
- add r2, ip
- ldrb r1, [r2, #5]
- mov r0, sl
- ands r0, r1
- movs r1, #0xb0
- b _0803714E
- .align 2, 0
-_08037120: .4byte 0xFFFFFE00
-_08037124: .4byte 0x0200CA00
-_08037128: .4byte 0x020314E0
-_0803712C: .4byte 0x000003EA
-_08037130: .4byte gOamBuffer
-_08037134: .4byte 0x086B9AB8
-_08037138: .4byte 0x000003F7
-_0803713C: .4byte 0x000001FF
-_08037140:
- ldrh r2, [r6]
- lsls r2, r2, #3
- add r2, ip
- ldrb r1, [r2, #5]
- mov r0, sl
- ands r0, r1
- movs r1, #0x40
-_0803714E:
- orrs r0, r1
- strb r0, [r2, #5]
- b _08037170
-_08037154:
- ldrh r2, [r6]
- lsls r2, r2, #3
- add r2, r8
- ldrh r1, [r2, #2]
- ldr r0, _08037208 @ =0xFFFFFE00
- ands r0, r1
- movs r1, #0xf0
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r0, [r6]
- lsls r0, r0, #3
- add r0, r8
- movs r1, #0xb4
- strb r1, [r0]
-_08037170:
- movs r2, #0x80
- lsls r2, r2, #9
- adds r0, r4, r2
- lsrs r7, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #1
- bgt _08037180
- b _08037080
-_08037180:
- ldr r5, _0803720C @ =0x0200BA30
- ldr r3, _08037210 @ =0x020314E0
- ldr r2, [r3]
- movs r4, #0xfe
- lsls r4, r4, #2
- adds r0, r2, r4
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #1
- adds r3, r0, r1
- movs r6, #0xff
- lsls r6, r6, #2
- adds r2, r2, r6
- movs r7, #0
- ldrsh r0, [r2, r7]
- cmp r0, #0
- bge _080371A4
- adds r0, #7
-_080371A4:
- asrs r0, r0, #3
- subs r0, #2
- ldr r1, _08037214 @ =0x040000D4
- subs r0, r3, r0
- lsls r0, r0, #8
- ldr r2, _08037218 @ =0x0845588C
- adds r0, r0, r2
- str r0, [r1]
- ldr r0, _0803721C @ =0x06010BA0
- str r0, [r1, #4]
- ldr r0, _08037220 @ =0x80000080
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldr r3, _08037210 @ =0x020314E0
- ldr r4, [r3]
- adds r1, r4, r6
- ldrh r2, [r1]
- movs r7, #0
- ldrsh r0, [r1, r7]
- cmp r0, #0
- ble _08037228
- subs r0, r2, #1
- strh r0, [r1]
- movs r1, #0xfa
- lsls r1, r1, #2
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x68
- adds r1, r4, #0
- adds r1, #0x58
- ldrh r1, [r1]
- subs r0, r0, r1
- strh r0, [r5, #2]
- ldr r3, _08037224 @ =0x000003EA
- adds r0, r4, r3
- movs r7, #0
- ldrsh r0, [r0, r7]
- movs r1, #0xa
- bl __divsi3
- adds r1, r4, #0
- adds r1, #0x5a
- ldrh r1, [r1]
- subs r0, r0, r1
- adds r0, #0x1a
- b _0803722E
- .align 2, 0
-_08037208: .4byte 0xFFFFFE00
-_0803720C: .4byte 0x0200BA30
-_08037210: .4byte 0x020314E0
-_08037214: .4byte 0x040000D4
-_08037218: .4byte 0x0845588C
-_0803721C: .4byte 0x06010BA0
-_08037220: .4byte 0x80000080
-_08037224: .4byte 0x000003EA
-_08037228:
- movs r0, #0
- strh r0, [r5, #2]
- movs r0, #0xb4
-_0803722E:
- strh r0, [r5, #4]
- adds r6, r5, #0
- adds r6, #8
- ldrh r2, [r5, #8]
- lsls r2, r2, #3
- add r2, r8
- movs r0, #2
- ldrsh r1, [r6, r0]
- movs r3, #2
- ldrsh r0, [r5, r3]
- adds r1, r1, r0
- ldr r4, _08037284 @ =0x000001FF
- adds r0, r4, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- ldr r0, _08037288 @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r5, #8]
- lsls r1, r1, #3
- add r1, r8
- ldrb r0, [r5, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
- ldr r7, _0803728C @ =0x020314E0
- ldr r0, [r7]
- ldr r1, _08037290 @ =0x000003F6
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _08037294
- ldrh r0, [r5, #8]
- lsls r0, r0, #3
- add r0, r8
- ldrb r2, [r0, #3]
- movs r1, #0x11
- rsbs r1, r1, #0
- ands r1, r2
- b _080372A0
- .align 2, 0
-_08037284: .4byte 0x000001FF
-_08037288: .4byte 0xFFFFFE00
-_0803728C: .4byte 0x020314E0
-_08037290: .4byte 0x000003F6
-_08037294:
- ldrh r0, [r5, #8]
- lsls r0, r0, #3
- add r0, r8
- ldrb r1, [r0, #3]
- movs r2, #0x10
- orrs r1, r2
-_080372A0:
- strb r1, [r0, #3]
-_080372A2:
- add sp, #8
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-
- thumb_func_start sub_372B4
-sub_372B4: @ 0x080372B4
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- ldr r0, _08037478 @ =0x0200C4F8
- mov sl, r0
- ldrh r0, [r0]
- cmp r0, #0
- bne _080372CA
- b _08037500
-_080372CA:
- ldr r1, _0803747C @ =0x020314E0
- mov sb, r1
- ldr r1, [r1]
- ldr r2, _08037480 @ =0x00000404
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _080372E0
- b _080374C0
-_080372E0:
- ldr r3, _08037484 @ =0x0000040A
- mov r8, r3
- adds r0, r1, r3
- ldrh r5, [r0]
- cmp r5, #0
- bne _08037318
- bl Random
- mov r1, sb
- ldr r4, [r1]
- ldr r1, _08037488 @ =0xFFFFEBC8
- add r1, sl
- ldr r1, [r1, #0x4c]
- muls r0, r1, r0
- movs r1, #5
- bl __umodsi3
- ldr r2, _0803748C @ =0x00000405
- adds r4, r4, r2
- strb r0, [r4]
- mov r3, sb
- ldr r0, [r3]
- adds r2, #0x11
- adds r1, r0, r2
- strh r5, [r1]
- ldr r3, _08037490 @ =0x0000041A
- adds r0, r0, r3
- strh r5, [r0]
-_08037318:
- mov r1, sb
- ldr r0, [r1]
- mov r2, r8
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, #0x27
- bhi _0803732A
- adds r0, #1
- strh r0, [r1]
-_0803732A:
- mov r3, sb
- ldr r0, [r3]
- add r0, r8
- ldrh r0, [r0]
- cmp r0, #0x14
- bne _0803733C
- ldr r0, _08037494 @ =0x02032F60
- bl m4aMPlayStop
-_0803733C:
- mov r1, sb
- ldr r0, [r1]
- add r0, r8
- ldrh r0, [r0]
- cmp r0, #0x16
- bne _0803734E
- ldr r0, _08037498 @ =0x00000105
- bl m4aSongNumStart
-_0803734E:
- mov r2, sb
- ldr r4, [r2]
- mov r3, r8
- adds r0, r4, r3
- ldrh r0, [r0]
- cmp r0, #0x14
- bhi _0803735E
- b _080374B4
-_0803735E:
- ldr r0, _0803749C @ =0x00000414
- adds r1, r4, r0
- movs r0, #4
- strh r0, [r1]
- ldr r1, _080374A0 @ =0x00000416
- adds r5, r4, r1
- ldrh r0, [r5]
- adds r0, #3
- strh r0, [r5]
- ldr r3, _080374A4 @ =0x086AEA3C
- ldr r0, _0803748C @ =0x00000405
- adds r2, r4, r0
- movs r0, #0
- ldrsb r0, [r2, r0]
- lsls r0, r0, #2
- adds r0, r0, r3
- ldrh r0, [r0]
- mov r8, r0
- adds r1, #2
- adds r0, r4, r1
- mov r1, r8
- strh r1, [r0]
- ldr r0, _08037490 @ =0x0000041A
- adds r4, r4, r0
- ldrh r0, [r5]
- ldrh r1, [r4]
- adds r0, r0, r1
- strh r0, [r4]
- movs r1, #0
- ldrsb r1, [r2, r1]
- lsls r1, r1, #2
- adds r1, r1, r3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- ldrh r2, [r1, #2]
- movs r3, #2
- ldrsh r1, [r1, r3]
- cmp r0, r1
- ble _080373BC
- strh r2, [r4]
- movs r1, #0
- ldrsh r0, [r5, r1]
- movs r1, #6
- bl __divsi3
- rsbs r0, r0, #0
- strh r0, [r5]
-_080373BC:
- mov r2, sb
- ldr r2, [r2]
- mov r8, r2
- ldr r0, _080374A8 @ =0x0000132C
- add r0, r8
- ldr r5, [r0]
- movs r3, #0x10
- ldrsh r4, [r5, r3]
- subs r4, #8
- movs r0, #0x83
- lsls r0, r0, #3
- add r0, r8
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- subs r6, r4, r0
- movs r2, #0x12
- ldrsh r4, [r5, r2]
- subs r4, #8
- ldr r0, _08037490 @ =0x0000041A
- add r0, r8
- movs r3, #0
- ldrsh r0, [r0, r3]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- subs r7, r4, r0
- adds r0, r6, #0
- muls r0, r6, r0
- adds r1, r7, #0
- muls r1, r7, r1
- adds r0, r0, r1
- cmp r0, #0x78
- bgt _08037438
- ldr r1, _08037480 @ =0x00000404
- add r1, r8
- movs r0, #0
- strb r0, [r1]
- mov r6, sb
- ldr r0, [r6]
- ldr r1, _080374AC @ =0x00000406
- adds r0, r0, r1
- movs r1, #1
- strb r1, [r0]
- ldr r2, [r6]
- movs r3, #0x81
- lsls r3, r3, #3
- adds r1, r2, r3
- movs r0, #0
- strh r0, [r1]
- ldr r0, _080374B0 @ =0x00002710
- str r0, [r2, #0x3c]
- movs r0, #0x83
- lsls r0, r0, #1
- bl m4aSongNumStart
-_08037438:
- mov r6, sb
- ldr r5, [r6]
- adds r0, r5, #0
- adds r0, #0x58
- ldrh r4, [r0]
- rsbs r4, r4, #0
- movs r1, #0x83
- lsls r1, r1, #3
- adds r0, r5, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r4, r4, r0
- mov r3, sl
- strh r4, [r3, #2]
- adds r0, r5, #0
- adds r0, #0x5a
- ldrh r4, [r0]
- rsbs r4, r4, #0
- ldr r6, _08037490 @ =0x0000041A
- adds r5, r5, r6
- movs r1, #0
- ldrsh r0, [r5, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, r4, r0
- mov r2, sl
- strh r4, [r2, #4]
- b _080374C8
- .align 2, 0
-_08037478: .4byte 0x0200C4F8
-_0803747C: .4byte 0x020314E0
-_08037480: .4byte 0x00000404
-_08037484: .4byte 0x0000040A
-_08037488: .4byte 0xFFFFEBC8
-_0803748C: .4byte 0x00000405
-_08037490: .4byte 0x0000041A
-_08037494: .4byte 0x02032F60
-_08037498: .4byte 0x00000105
-_0803749C: .4byte 0x00000414
-_080374A0: .4byte 0x00000416
-_080374A4: .4byte 0x086AEA3C
-_080374A8: .4byte 0x0000132C
-_080374AC: .4byte 0x00000406
-_080374B0: .4byte 0x00002710
-_080374B4:
- movs r0, #0
- mov r3, sl
- strh r0, [r3, #2]
- movs r0, #0xb4
- strh r0, [r3, #4]
- b _080374C8
-_080374C0:
- mov r6, sl
- strh r0, [r6, #2]
- movs r0, #0xb4
- strh r0, [r6, #4]
-_080374C8:
- mov r5, sl
- adds r5, #8
- ldr r4, _08037510 @ =gOamBuffer
- mov r0, sl
- ldrh r2, [r0, #8]
- lsls r2, r2, #3
- adds r2, r2, r4
- movs r3, #2
- ldrsh r1, [r5, r3]
- movs r6, #2
- ldrsh r0, [r0, r6]
- adds r1, r1, r0
- ldr r3, _08037514 @ =0x000001FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- ldr r0, _08037518 @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- mov r6, sl
- ldrh r1, [r6, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
-_08037500:
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08037510: .4byte gOamBuffer
-_08037514: .4byte 0x000001FF
-_08037518: .4byte 0xFFFFFE00
-
- thumb_func_start sub_3751C
-sub_3751C: @ 0x0803751C
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #4
- ldr r1, _08037550 @ =0x020314E0
- ldr r3, [r1]
- ldr r0, _08037554 @ =0x00000406
- adds r4, r3, r0
- movs r0, #0
- ldrsb r0, [r4, r0]
- mov sb, r1
- cmp r0, #0
- beq _08037564
- movs r1, #0x81
- lsls r1, r1, #3
- adds r2, r3, r1
- ldrh r1, [r2]
- ldr r0, _08037558 @ =0x00000257
- cmp r1, r0
- bhi _0803755C
- adds r0, r1, #1
- strh r0, [r2]
- b _08037564
- .align 2, 0
-_08037550: .4byte 0x020314E0
-_08037554: .4byte 0x00000406
-_08037558: .4byte 0x00000257
-_0803755C:
- movs r1, #0
- movs r0, #0
- strh r0, [r2]
- strb r1, [r4]
-_08037564:
- mov r2, sb
- ldr r1, [r2]
- ldr r3, _08037588 @ =0x00000406
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08037590
- ldr r0, _0803758C @ =0x0000040E
- adds r1, r1, r0
- ldrh r0, [r1]
- cmp r0, #9
- bhi _080375AE
- adds r0, #1
- strh r0, [r1]
- b _080375AE
- .align 2, 0
-_08037588: .4byte 0x00000406
-_0803758C: .4byte 0x0000040E
-_08037590:
- ldr r2, _080375A4 @ =0x0000040E
- adds r3, r1, r2
- ldrh r0, [r3]
- adds r2, r0, #0
- cmp r2, #0
- beq _080375A8
- subs r0, #1
- strh r0, [r3]
- b _080375AE
- .align 2, 0
-_080375A4: .4byte 0x0000040E
-_080375A8:
- ldr r3, _08037804 @ =0x000003F5
- adds r0, r1, r3
- strb r2, [r0]
-_080375AE:
- ldr r3, _08037808 @ =gMain
- mov r0, sb
- ldr r2, [r0]
- ldr r0, _0803780C @ =0x0000040E
- adds r1, r2, r0
- ldrh r0, [r1]
- lsls r0, r0, #4
- strh r0, [r3, #0x2e]
- ldrh r1, [r1]
- lsls r0, r1, #0x16
- lsrs r0, r0, #0x10
- mov r8, r0
- lsls r1, r1, #1
- movs r0, #0x14
- subs r0, r0, r1
- lsls r0, r0, #0x15
- lsrs r4, r0, #0x10
- movs r1, #0x81
- lsls r1, r1, #3
- adds r2, r2, r1
- ldrh r0, [r2]
- movs r1, #0x24
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #9
- bl __udivsi3
- ldr r2, _08037810 @ =0x086AEA60
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- lsls r1, r0, #1
- adds r1, r1, r2
- ldrh r1, [r1]
- str r1, [sp]
- ldr r1, _08037814 @ =0x086AEA50
- lsls r0, r0, #2
- adds r0, r0, r1
- ldr r5, [r0]
- movs r2, #0
- mov r3, r8
- lsls r0, r3, #0x10
- asrs r1, r0, #0x10
- cmp r2, r1
- bge _0803763A
- ldr r0, _08037818 @ =0x03006400
- ldr r3, _0803781C @ =0xFFFFF800
- adds r7, r0, r3
- movs r6, #0x80
- lsls r6, r6, #3
- lsls r0, r4, #0x10
- asrs r4, r0, #0x10
- adds r3, r1, #0
-_0803761A:
- lsls r1, r2, #0x10
- asrs r1, r1, #0x10
- adds r2, r1, r6
- lsls r2, r2, #1
- adds r2, r2, r7
- adds r0, r4, r1
- lsls r0, r0, #1
- adds r0, r0, r5
- ldrh r0, [r0]
- strh r0, [r2]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r2, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, r3
- blt _0803761A
-_0803763A:
- mov r0, r8
- lsls r1, r0, #0x10
- asrs r0, r1, #0x10
- ldr r2, _08037820 @ =0x0000027F
- cmp r0, r2
- bgt _08037662
- ldr r5, _08037824 @ =0x03005C00
- movs r4, #0x80
- lsls r4, r4, #3
- ldr r3, _08037828 @ =0x000003FF
-_0803764E:
- asrs r0, r1, #0x10
- adds r1, r0, r4
- lsls r1, r1, #1
- adds r1, r1, r5
- strh r3, [r1]
- adds r0, #1
- lsls r1, r0, #0x10
- asrs r0, r1, #0x10
- cmp r0, r2
- ble _0803764E
-_08037662:
- mov r1, sb
- ldr r0, [r1]
- movs r4, #0x81
- lsls r4, r4, #3
- adds r0, r0, r4
- ldrh r0, [r0]
- movs r1, #0x96
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- mov sl, r0
- lsls r1, r0, #0x10
- ldr r2, _0803782C @ =0xFFF60000
- adds r0, r1, r2
- lsrs r0, r0, #0x10
- cmp r0, #0x45
- bhi _08037726
- movs r3, #0
- mov sb, r1
- ldr r0, [sp]
- lsls r1, r0, #0x10
- ldr r2, _08037824 @ =0x03005C00
- mov r8, r2
- ldr r0, _08037830 @ =0x08327994
- mov ip, r0
- asrs r6, r1, #0xe
- adds r7, r4, #0
-_0803769A:
- movs r2, #0
- lsls r3, r3, #0x10
- asrs r1, r3, #0x10
- adds r0, r1, #6
- lsls r5, r0, #5
- adds r1, #0x15
- lsls r4, r1, #5
-_080376A8:
- lsls r1, r2, #0x10
- asrs r1, r1, #0x10
- adds r2, r1, r7
- adds r2, r5, r2
- lsls r2, r2, #1
- add r2, r8
- adds r0, r1, r6
- adds r0, r4, r0
- lsls r0, r0, #1
- add r0, ip
- ldrh r0, [r0]
- strh r0, [r2]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r2, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #3
- ble _080376A8
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r3, r1
- lsrs r3, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #2
- ble _0803769A
- mov r2, sb
- asrs r0, r2, #0x10
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #5
- ble _080376F0
- movs r1, #5
-_080376F0:
- movs r2, #0
- lsls r0, r1, #0x10
- asrs r0, r0, #0x10
- cmp r2, r0
- bge _08037726
- ldr r7, _08037824 @ =0x03005C00
- ldr r6, _08037834 @ =0x000004C3
- ldr r5, _08037830 @ =0x08327994
- movs r4, #0xbb
- lsls r4, r4, #2
- adds r3, r0, #0
-_08037706:
- lsls r1, r2, #0x10
- asrs r1, r1, #0x10
- adds r2, r1, r6
- lsls r2, r2, #1
- adds r2, r2, r7
- adds r0, r1, r4
- lsls r0, r0, #1
- adds r0, r0, r5
- ldrh r0, [r0]
- strh r0, [r2]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r2, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, r3
- blt _08037706
-_08037726:
- mov r3, sl
- lsls r1, r3, #0x10
- ldr r2, _08037838 @ =0xFFB00000
- adds r0, r1, r2
- lsrs r0, r0, #0x10
- mov sb, r1
- cmp r0, #0x45
- bhi _080377E2
- movs r3, #0
- ldr r0, [sp]
- lsls r1, r0, #0x10
- ldr r2, _08037824 @ =0x03005C00
- mov ip, r2
- ldr r0, _08037830 @ =0x08327994
- mov r8, r0
- asrs r1, r1, #0x10
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r6, r0, #0
- adds r6, #0xc
- ldr r7, _0803783C @ =0x00000411
-_08037752:
- movs r2, #0
- lsls r3, r3, #0x10
- asrs r1, r3, #0x10
- adds r0, r1, #0
- adds r0, #0xe
- lsls r5, r0, #5
- adds r1, #0x15
- lsls r4, r1, #5
-_08037762:
- lsls r1, r2, #0x10
- asrs r1, r1, #0x10
- adds r2, r1, r7
- adds r2, r5, r2
- lsls r2, r2, #1
- add r2, ip
- adds r0, r1, r6
- adds r0, r4, r0
- lsls r0, r0, #1
- add r0, r8
- ldrh r0, [r0]
- strh r0, [r2]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r2, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #5
- ble _08037762
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r3, r1
- lsrs r3, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #1
- ble _08037752
- mov r2, sb
- asrs r0, r2, #0x10
- subs r0, #0x46
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #5
- ble _080377AC
- movs r1, #5
-_080377AC:
- movs r2, #0
- lsls r0, r1, #0x10
- asrs r0, r0, #0x10
- cmp r2, r0
- bge _080377E2
- ldr r7, _08037824 @ =0x03005C00
- ldr r6, _08037840 @ =0x000005F7
- ldr r5, _08037830 @ =0x08327994
- movs r4, #0xbb
- lsls r4, r4, #2
- adds r3, r0, #0
-_080377C2:
- lsls r1, r2, #0x10
- asrs r1, r1, #0x10
- adds r2, r1, r6
- lsls r2, r2, #1
- adds r2, r2, r7
- adds r0, r1, r4
- lsls r0, r0, #1
- adds r0, r0, r5
- ldrh r0, [r0]
- strh r0, [r2]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r2, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, r3
- blt _080377C2
-_080377E2:
- ldr r1, _08037844 @ =0x040000D4
- ldr r3, _08037818 @ =0x03006400
- str r3, [r1]
- ldr r0, _08037848 @ =0x06001000
- str r0, [r1, #4]
- ldr r0, _0803784C @ =0x80000280
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- add sp, #4
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08037804: .4byte 0x000003F5
-_08037808: .4byte gMain
-_0803780C: .4byte 0x0000040E
-_08037810: .4byte 0x086AEA60
-_08037814: .4byte 0x086AEA50
-_08037818: .4byte 0x03006400
-_0803781C: .4byte 0xFFFFF800
-_08037820: .4byte 0x0000027F
-_08037824: .4byte 0x03005C00
-_08037828: .4byte 0x000003FF
-_0803782C: .4byte 0xFFF60000
-_08037830: .4byte 0x08327994
-_08037834: .4byte 0x000004C3
-_08037838: .4byte 0xFFB00000
-_0803783C: .4byte 0x00000411
-_08037840: .4byte 0x000005F7
-_08037844: .4byte 0x040000D4
-_08037848: .4byte 0x06001000
-_0803784C: .4byte 0x80000280
-
- thumb_func_start sub_37850
-sub_37850: @ 0x08037850
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #4
- ldr r4, _08037C18 @ =0x020314E0
- ldr r3, [r4]
- movs r1, #0x80
- lsls r1, r1, #3
- adds r0, r3, r1
- movs r2, #0
- ldrsh r1, [r0, r2]
- lsls r1, r1, #0x11
- lsrs r1, r1, #0x10
- ldr r2, _08037C1C @ =0xFFFF0000
- ldr r0, [sp]
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- ldr r5, _08037C20 @ =0x00000402
- adds r3, r3, r5
- movs r2, #0
- ldrsh r1, [r3, r2]
- lsls r1, r1, #0x11
- ldr r2, _08037C24 @ =0x0000FFFF
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- mov r0, sp
- bl sub_17C1C
- ldr r0, _08037C28 @ =0x02031590
- ldrb r1, [r0, #0x10]
- movs r0, #0xb8
- muls r1, r0, r1
- ldr r0, _08037C2C @ =0x0200B3B8
- adds r6, r1, r0
- ldr r1, [r4]
- adds r0, r1, #0
- adds r0, #0x58
- ldrh r2, [r0]
- movs r0, #0x78
- subs r0, r0, r2
- strh r0, [r6, #2]
- adds r1, #0x5a
- ldrh r0, [r1]
- rsbs r0, r0, #0
- subs r0, #0x80
- strh r0, [r6, #4]
- movs r2, #0
- ldr r5, _08037C30 @ =gOamBuffer
- ldr r3, _08037C34 @ =0xFFFFFE00
- mov sb, r3
-_080378BC:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r7, r6, r0
- ldrh r3, [r7]
- lsls r3, r3, #3
- adds r3, r3, r5
- movs r0, #2
- ldrsh r1, [r7, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r0, _08037C38 @ =0x000001FF
- mov r8, r0
- mov r2, r8
- ands r1, r2
- ldrh r2, [r3, #2]
- mov r0, sb
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r7]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldrb r0, [r6, #4]
- ldrb r7, [r7, #4]
- adds r0, r0, r7
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #3
- ble _080378BC
- ldr r0, _08037C28 @ =0x02031590
- ldrb r1, [r0, #0x11]
- movs r0, #0xb8
- muls r0, r1, r0
- ldr r3, _08037C2C @ =0x0200B3B8
- mov sb, r3
- adds r6, r0, r3
- ldr r5, _08037C18 @ =0x020314E0
- ldr r1, [r5]
- adds r0, r1, #0
- adds r0, #0x58
- ldrh r2, [r0]
- movs r0, #0x78
- subs r0, r0, r2
- strh r0, [r6, #2]
- adds r1, #0x5a
- ldrh r0, [r1]
- rsbs r0, r0, #0
- subs r0, #0x80
- strh r0, [r6, #4]
- adds r7, r6, #0
- adds r7, #8
- ldr r4, _08037C30 @ =gOamBuffer
- ldrh r2, [r6, #8]
- lsls r2, r2, #3
- adds r2, r2, r4
- movs r0, #2
- ldrsh r1, [r7, r0]
- movs r3, #2
- ldrsh r0, [r6, r3]
- adds r1, r1, r0
- mov r0, r8
- ands r1, r0
- ldrh r3, [r2, #2]
- ldr r0, _08037C34 @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r6, #4]
- ldrb r7, [r7, #4]
- adds r0, r0, r7
- strb r0, [r1]
- movs r6, #0xa1
- lsls r6, r6, #3
- add r6, sb
- ldr r0, [r5]
- ldr r1, _08037C3C @ =0x0000040C
- adds r0, r0, r1
- ldrh r4, [r0]
- adds r0, r4, #0
- movs r1, #0xa
- bl __umodsi3
- movs r1, #5
- subs r1, r1, r0
- lsls r1, r1, #0x10
- lsrs r5, r1, #0x10
- movs r7, #0x14
- cmp r4, #0x1e
- bhi _08037988
- movs r7, #5
- cmp r4, #0xa
- bls _08037988
- movs r7, #0xa
-_08037988:
- ldr r4, _08037C18 @ =0x020314E0
- ldr r0, [r4]
- ldr r2, _08037C3C @ =0x0000040C
- adds r0, r0, r2
- ldrh r0, [r0]
- cmp r0, #0x28
- bne _080379A4
- movs r0, #0x82
- lsls r0, r0, #1
- bl m4aSongNumStart
- movs r0, #7
- bl sub_11B0
-_080379A4:
- lsls r0, r5, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0
- bge _080379B2
- rsbs r0, r0, #0
- lsls r0, r0, #0x10
- lsrs r5, r0, #0x10
-_080379B2:
- lsls r1, r5, #0x10
- asrs r1, r1, #0x10
- movs r0, #5
- subs r0, r0, r1
- muls r0, r7, r0
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x78
- ldr r2, [r4]
- adds r1, r2, #0
- adds r1, #0x58
- ldrh r1, [r1]
- subs r0, r0, r1
- strh r0, [r6, #2]
- adds r2, #0x5a
- ldrh r0, [r2]
- rsbs r0, r0, #0
- subs r0, #0x80
- strh r0, [r6, #4]
- movs r2, #0
- ldr r5, _08037C30 @ =gOamBuffer
- ldr r3, _08037C34 @ =0xFFFFFE00
- mov r8, r3
-_080379E2:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r7, r6, r0
- ldrh r3, [r7]
- lsls r3, r3, #3
- adds r3, r3, r5
- movs r0, #2
- ldrsh r1, [r7, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08037C38 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r7]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldrb r0, [r6, #4]
- ldrb r7, [r7, #4]
- adds r0, r0, r7
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #4
- ble _080379E2
- ldr r3, _08037C18 @ =0x020314E0
- ldr r0, [r3]
- ldr r5, _08037C3C @ =0x0000040C
- adds r1, r0, r5
- ldrh r0, [r1]
- cmp r0, #0
- beq _08037A38
- subs r0, #1
- strh r0, [r1]
-_08037A38:
- movs r0, #0
- mov r8, r0
-_08037A3C:
- mov r1, r8
- lsls r3, r1, #0x10
- asrs r3, r3, #0x10
- adds r0, r3, #0
- adds r0, #0xa
- ldr r2, _08037C28 @ =0x02031590
- adds r0, r0, r2
- ldrb r1, [r0]
- movs r0, #0xb8
- muls r0, r1, r0
- ldr r5, _08037C2C @ =0x0200B3B8
- adds r6, r0, r5
- ldr r0, _08037C18 @ =0x020314E0
- ldr r2, [r0]
- adds r0, r2, #0
- adds r0, #0x58
- ldrh r1, [r0]
- movs r0, #0x78
- subs r0, r0, r1
- strh r0, [r6, #2]
- adds r0, r2, #0
- adds r0, #0x5a
- ldrh r0, [r0]
- rsbs r0, r0, #0
- subs r0, #0x80
- strh r0, [r6, #4]
- movs r1, #0
- mov sb, r1
- movs r5, #0x84
- lsls r5, r5, #3
- adds r2, r2, r5
- adds r4, r2, r3
- ldrb r5, [r4]
- movs r0, #0
- ldrsb r0, [r4, r0]
- cmp r0, #0
- beq _08037AA6
- movs r1, #0x18
- bl __modsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- movs r1, #6
- bl __divsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #0x17
- ldr r1, _08037C40 @ =0x086AEA68
- adds r0, r0, r1
- ldrh r0, [r0]
- mov sb, r0
- subs r0, r5, #1
- strb r0, [r4]
-_08037AA6:
- movs r2, #0
- mov r3, sb
- lsls r0, r3, #0x10
- ldr r5, _08037C30 @ =gOamBuffer
- mov ip, r5
- ldr r1, _08037C34 @ =0xFFFFFE00
- mov sl, r1
- asrs r1, r0, #0x10
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- adds r0, #0xd2
- mov sb, r0
-_08037AC0:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r5, r4, #3
- adds r0, r5, #0
- adds r0, #8
- adds r7, r6, r0
- ldrh r2, [r7]
- lsls r2, r2, #3
- add r2, ip
- movs r3, #2
- ldrsh r1, [r7, r3]
- movs r3, #2
- ldrsh r0, [r6, r3]
- adds r1, r1, r0
- ldr r3, _08037C38 @ =0x000001FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- mov r0, sl
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r7]
- lsls r1, r1, #3
- add r1, ip
- ldrb r0, [r6, #4]
- ldrb r2, [r7, #4]
- adds r0, r0, r2
- strb r0, [r1]
- ldrh r2, [r7]
- lsls r2, r2, #3
- add r2, ip
- add r5, sb
- ldr r3, _08037C44 @ =0x000003FF
- adds r0, r3, #0
- ands r5, r0
- ldrh r0, [r2, #4]
- ldr r3, _08037C48 @ =0xFFFFFC00
- adds r1, r3, #0
- ands r0, r1
- orrs r0, r5
- strh r0, [r2, #4]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #1
- ble _08037AC0
- mov r5, r8
- lsls r0, r5, #0x10
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r0, r1
- lsrs r2, r0, #0x10
- mov r8, r2
- asrs r0, r0, #0x10
- cmp r0, #5
- ble _08037A3C
- movs r3, #6
- mov r8, r3
-_08037B38:
- mov r5, r8
- lsls r4, r5, #0x10
- asrs r3, r4, #0x10
- adds r0, r3, #0
- adds r0, #0xc
- ldr r1, _08037C28 @ =0x02031590
- adds r0, r0, r1
- ldrb r1, [r0]
- movs r0, #0xb8
- muls r0, r1, r0
- ldr r2, _08037C2C @ =0x0200B3B8
- adds r6, r0, r2
- ldr r5, _08037C18 @ =0x020314E0
- ldr r2, [r5]
- adds r0, r2, #0
- adds r0, #0x58
- ldrh r1, [r0]
- movs r0, #0x78
- subs r0, r0, r1
- strh r0, [r6, #2]
- adds r0, r2, #0
- adds r0, #0x5a
- ldrh r0, [r0]
- rsbs r0, r0, #0
- subs r0, #0x80
- strh r0, [r6, #4]
- movs r0, #0
- mov sb, r0
- movs r1, #0x84
- lsls r1, r1, #3
- adds r2, r2, r1
- adds r5, r2, r3
- ldrb r7, [r5]
- movs r0, #0
- ldrsb r0, [r5, r0]
- mov sl, r4
- cmp r0, #0
- beq _08037BA4
- movs r1, #0x18
- bl __modsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- movs r1, #6
- bl __divsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #0x17
- ldr r2, _08037C40 @ =0x086AEA68
- adds r0, r0, r2
- ldrh r0, [r0]
- mov sb, r0
- subs r0, r7, #1
- strb r0, [r5]
-_08037BA4:
- movs r2, #0
- mov r3, sb
- lsls r0, r3, #0x10
- ldr r5, _08037C30 @ =gOamBuffer
- mov ip, r5
- ldr r1, _08037C34 @ =0xFFFFFE00
- mov sb, r1
- asrs r1, r0, #0x10
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- adds r0, #0xd2
- mov r8, r0
-_08037BBE:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r5, r4, #3
- adds r0, r5, #0
- adds r0, #8
- adds r7, r6, r0
- ldrh r2, [r7]
- lsls r2, r2, #3
- add r2, ip
- movs r3, #2
- ldrsh r1, [r7, r3]
- movs r3, #2
- ldrsh r0, [r6, r3]
- adds r1, r1, r0
- ldr r3, _08037C38 @ =0x000001FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- mov r0, sb
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r7]
- lsls r1, r1, #3
- add r1, ip
- ldrb r0, [r6, #4]
- ldrb r2, [r7, #4]
- adds r0, r0, r2
- strb r0, [r1]
- ldrh r2, [r7]
- lsls r2, r2, #3
- add r2, ip
- add r5, r8
- ldr r3, _08037C44 @ =0x000003FF
- adds r0, r3, #0
- ands r5, r0
- ldrh r0, [r2, #4]
- ldr r3, _08037C48 @ =0xFFFFFC00
- adds r1, r3, #0
- ands r0, r1
- orrs r0, r5
- strh r0, [r2, #4]
- adds r4, #1
- b _08037C4C
- .align 2, 0
-_08037C18: .4byte 0x020314E0
-_08037C1C: .4byte 0xFFFF0000
-_08037C20: .4byte 0x00000402
-_08037C24: .4byte 0x0000FFFF
-_08037C28: .4byte 0x02031590
-_08037C2C: .4byte 0x0200B3B8
-_08037C30: .4byte gOamBuffer
-_08037C34: .4byte 0xFFFFFE00
-_08037C38: .4byte 0x000001FF
-_08037C3C: .4byte 0x0000040C
-_08037C40: .4byte 0x086AEA68
-_08037C44: .4byte 0x000003FF
-_08037C48: .4byte 0xFFFFFC00
-_08037C4C:
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #1
- ble _08037BBE
- movs r0, #0x80
- lsls r0, r0, #9
- add r0, sl
- lsrs r5, r0, #0x10
- mov r8, r5
- asrs r0, r0, #0x10
- cmp r0, #9
- bgt _08037C68
- b _08037B38
-_08037C68:
- ldr r6, _08037F58 @ =0x0200C5B0
- ldr r1, _08037F5C @ =0x020314E0
- ldr r0, [r1]
- adds r0, #0x58
- ldrh r1, [r0]
- movs r0, #0x78
- subs r0, r0, r1
- strh r0, [r6, #2]
- ldr r2, _08037F5C @ =0x020314E0
- ldr r0, [r2]
- adds r0, #0x5a
- ldrh r0, [r0]
- rsbs r0, r0, #0
- subs r0, #0x80
- strh r0, [r6, #4]
- movs r3, #0
- mov sb, r3
- ldr r0, [r2]
- ldr r1, _08037F60 @ =0x0000041C
- adds r5, r0, r1
- ldrb r7, [r5]
- movs r0, #0
- ldrsb r0, [r5, r0]
- cmp r0, #0
- beq _08037CBA
- ldr r4, _08037F64 @ =0x086AEA68
- movs r1, #0x18
- bl __modsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- movs r1, #6
- bl __divsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #0x17
- adds r0, r0, r4
- ldrh r0, [r0]
- mov sb, r0
- subs r0, r7, #1
- strb r0, [r5]
-_08037CBA:
- movs r2, #0
- mov r3, sb
- lsls r0, r3, #0x10
- ldr r5, _08037F68 @ =gOamBuffer
- mov r8, r5
- ldr r1, _08037F6C @ =0xFFFFFE00
- mov ip, r1
- asrs r0, r0, #0xd
- adds r0, #0xf6
- mov sb, r0
- ldr r3, _08037F70 @ =0xFFFFFC00
- mov sl, r3
-_08037CD2:
- lsls r4, r2, #0x10
- asrs r5, r4, #0x10
- lsls r0, r5, #3
- adds r0, #8
- adds r7, r6, r0
- ldrh r3, [r7]
- lsls r3, r3, #3
- add r3, r8
- movs r0, #2
- ldrsh r1, [r7, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08037F74 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r7]
- lsls r1, r1, #3
- add r1, r8
- ldrb r0, [r6, #4]
- ldrb r3, [r7, #4]
- adds r0, r0, r3
- strb r0, [r1]
- ldrh r3, [r7]
- lsls r3, r3, #3
- add r3, r8
- lsls r1, r5, #2
- lsrs r4, r4, #0x1f
- adds r4, r5, r4
- asrs r4, r4, #1
- lsls r4, r4, #1
- subs r1, r1, r4
- add r1, sb
- ldr r2, _08037F78 @ =0x000003FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #4]
- mov r0, sl
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #4]
- adds r5, #1
- lsls r5, r5, #0x10
- lsrs r2, r5, #0x10
- asrs r5, r5, #0x10
- cmp r5, #2
- ble _08037CD2
- movs r3, #0
- mov r8, r3
-_08037D3E:
- mov r5, r8
- lsls r4, r5, #0x10
- asrs r3, r4, #0x10
- movs r0, #0xb8
- muls r0, r3, r0
- ldr r1, _08037F7C @ =0x0200C668
- adds r6, r0, r1
- ldr r5, _08037F5C @ =0x020314E0
- ldr r2, [r5]
- adds r0, r2, #0
- adds r0, #0x58
- ldrh r1, [r0]
- movs r0, #0x78
- subs r0, r0, r1
- strh r0, [r6, #2]
- adds r0, r2, #0
- adds r0, #0x5a
- ldrh r0, [r0]
- rsbs r0, r0, #0
- subs r0, #0x80
- strh r0, [r6, #4]
- movs r0, #0
- mov sb, r0
- adds r2, r2, r3
- ldr r1, _08037F80 @ =0x0000041D
- adds r5, r2, r1
- ldrb r7, [r5]
- movs r0, #0
- ldrsb r0, [r5, r0]
- mov sl, r4
- cmp r0, #0
- beq _08037D9E
- movs r1, #0x18
- bl __modsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- movs r1, #6
- bl __divsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #0x17
- ldr r2, _08037F64 @ =0x086AEA68
- adds r0, r0, r2
- ldrh r0, [r0]
- mov sb, r0
- subs r0, r7, #1
- strb r0, [r5]
-_08037D9E:
- movs r2, #0
- mov r3, sb
- lsls r0, r3, #0x10
- ldr r5, _08037F68 @ =gOamBuffer
- mov ip, r5
- ldr r1, _08037F6C @ =0xFFFFFE00
- mov sb, r1
- asrs r1, r0, #0x10
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- movs r3, #0x87
- lsls r3, r3, #1
- adds r3, r3, r0
- mov r8, r3
-_08037DBC:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r5, r4, #3
- adds r0, r5, #0
- adds r0, #8
- adds r7, r6, r0
- ldrh r2, [r7]
- lsls r2, r2, #3
- add r2, ip
- movs r0, #2
- ldrsh r1, [r7, r0]
- movs r3, #2
- ldrsh r0, [r6, r3]
- adds r1, r1, r0
- ldr r3, _08037F74 @ =0x000001FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- mov r0, sb
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r7]
- lsls r1, r1, #3
- add r1, ip
- ldrb r0, [r6, #4]
- ldrb r2, [r7, #4]
- adds r0, r0, r2
- strb r0, [r1]
- ldrh r2, [r7]
- lsls r2, r2, #3
- add r2, ip
- add r5, r8
- ldr r3, _08037F78 @ =0x000003FF
- adds r0, r3, #0
- ands r5, r0
- ldrh r0, [r2, #4]
- ldr r3, _08037F70 @ =0xFFFFFC00
- adds r1, r3, #0
- ands r0, r1
- orrs r0, r5
- strh r0, [r2, #4]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #1
- ble _08037DBC
- movs r0, #0x80
- lsls r0, r0, #9
- add r0, sl
- lsrs r5, r0, #0x10
- mov r8, r5
- asrs r0, r0, #0x10
- cmp r0, #1
- ble _08037D3E
- ldr r6, _08037F84 @ =0x0200C7D8
- ldr r1, _08037F5C @ =0x020314E0
- ldr r0, [r1]
- adds r0, #0x58
- ldrh r1, [r0]
- movs r0, #0x78
- subs r0, r0, r1
- strh r0, [r6, #2]
- ldr r2, _08037F5C @ =0x020314E0
- ldr r0, [r2]
- adds r0, #0x5a
- ldrh r0, [r0]
- rsbs r0, r0, #0
- subs r0, #0x80
- strh r0, [r6, #4]
- movs r3, #0
- mov sb, r3
- ldr r0, [r2]
- ldr r1, _08037F88 @ =0x0000041F
- adds r5, r0, r1
- ldrb r7, [r5]
- movs r0, #0
- ldrsb r0, [r5, r0]
- cmp r0, #0
- beq _08037E7E
- ldr r4, _08037F64 @ =0x086AEA68
- movs r1, #0x18
- bl __modsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- movs r1, #6
- bl __divsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #0x17
- adds r0, r0, r4
- ldrh r0, [r0]
- mov sb, r0
- subs r0, r7, #1
- strb r0, [r5]
-_08037E7E:
- movs r2, #0
- mov r3, sb
- lsls r0, r3, #0x10
- ldr r5, _08037F68 @ =gOamBuffer
- mov r8, r5
- asrs r1, r0, #0x10
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- movs r1, #0x99
- lsls r1, r1, #1
- adds r1, r1, r0
- mov ip, r1
-_08037E98:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r5, r4, #3
- adds r0, r5, #0
- adds r0, #8
- adds r7, r6, r0
- ldrh r3, [r7]
- lsls r3, r3, #3
- add r3, r8
- movs r2, #2
- ldrsh r1, [r7, r2]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r0, _08037F74 @ =0x000001FF
- mov sl, r0
- mov r2, sl
- ands r1, r2
- ldrh r2, [r3, #2]
- ldr r0, _08037F6C @ =0xFFFFFE00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r7]
- lsls r1, r1, #3
- add r1, r8
- ldrb r0, [r6, #4]
- ldrb r3, [r7, #4]
- adds r0, r0, r3
- strb r0, [r1]
- ldrh r1, [r7]
- lsls r1, r1, #3
- add r1, r8
- add r5, ip
- ldr r2, _08037F78 @ =0x000003FF
- adds r0, r2, #0
- ands r5, r0
- ldrh r2, [r1, #4]
- ldr r0, _08037F70 @ =0xFFFFFC00
- ands r0, r2
- orrs r0, r5
- strh r0, [r1, #4]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #1
- ble _08037E98
- ldr r6, _08037F8C @ =0x0200CAB8
- ldr r3, _08037F5C @ =0x020314E0
- ldr r0, [r3]
- ldr r4, _08037F90 @ =0x0000132C
- adds r0, r0, r4
- ldr r0, [r0]
- ldrh r0, [r0, #0x24]
- strh r0, [r6, #2]
- ldr r0, [r3]
- adds r0, r0, r4
- ldr r0, [r0]
- ldrh r0, [r0, #0x26]
- adds r0, #0xe
- strh r0, [r6, #4]
- adds r7, r6, #0
- adds r7, #8
- ldrh r2, [r6, #8]
- lsls r2, r2, #3
- ldr r5, _08037F68 @ =gOamBuffer
- adds r2, r2, r5
- movs r0, #2
- ldrsh r1, [r7, r0]
- movs r3, #2
- ldrsh r0, [r6, r3]
- adds r1, r1, r0
- mov r5, sl
- ands r1, r5
- ldrh r3, [r2, #2]
- ldr r0, _08037F6C @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldr r1, _08037F5C @ =0x020314E0
- ldr r0, [r1]
- adds r0, r0, r4
- ldr r0, [r0]
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08037F94
- ldrh r0, [r6, #8]
- lsls r0, r0, #3
- ldr r2, _08037F68 @ =gOamBuffer
- adds r0, r0, r2
- movs r1, #0xc8
- strb r1, [r0]
- b _08037FA4
- .align 2, 0
-_08037F58: .4byte 0x0200C5B0
-_08037F5C: .4byte 0x020314E0
-_08037F60: .4byte 0x0000041C
-_08037F64: .4byte 0x086AEA68
-_08037F68: .4byte gOamBuffer
-_08037F6C: .4byte 0xFFFFFE00
-_08037F70: .4byte 0xFFFFFC00
-_08037F74: .4byte 0x000001FF
-_08037F78: .4byte 0x000003FF
-_08037F7C: .4byte 0x0200C668
-_08037F80: .4byte 0x0000041D
-_08037F84: .4byte 0x0200C7D8
-_08037F88: .4byte 0x0000041F
-_08037F8C: .4byte 0x0200CAB8
-_08037F90: .4byte 0x0000132C
-_08037F94:
- ldrh r1, [r6, #8]
- lsls r1, r1, #3
- ldr r3, _08037FC0 @ =gOamBuffer
- adds r1, r1, r3
- ldrb r0, [r6, #4]
- ldrb r7, [r7, #4]
- adds r0, r0, r7
- strb r0, [r1]
-_08037FA4:
- ldr r6, _08037FC4 @ =0x0200C890
- ldr r5, _08037FC8 @ =0x020314E0
- ldr r0, [r5]
- movs r2, #0x82
- lsls r2, r2, #3
- adds r1, r0, r2
- ldrh r2, [r1]
- movs r3, #0
- ldrsh r0, [r1, r3]
- cmp r0, #0xb
- bgt _08037FCC
- adds r0, r2, #1
- b _08037FCE
- .align 2, 0
-_08037FC0: .4byte gOamBuffer
-_08037FC4: .4byte 0x0200C890
-_08037FC8: .4byte 0x020314E0
-_08037FCC:
- movs r0, #0
-_08037FCE:
- strh r0, [r1]
- movs r5, #0
- mov r8, r5
- ldr r0, _08038048 @ =0x020314E0
- mov sl, r0
- ldr r5, _0803804C @ =gOamBuffer
- ldr r1, _08038050 @ =0xFFFFFE00
- mov ip, r1
-_08037FDE:
- mov r2, sl
- ldr r0, [r2]
- mov r3, r8
- lsls r1, r3, #0x10
- asrs r2, r1, #0x10
- ldr r1, _08038054 @ =0x0000042A
- adds r0, r0, r1
- adds r3, r0, r2
- ldrb r4, [r3]
- movs r0, #0
- ldrsb r0, [r3, r0]
- cmp r0, #0
- beq _0803805C
- adds r1, r0, #0
- cmp r1, #0
- bge _08038000
- adds r1, #3
-_08038000:
- asrs r1, r1, #2
- movs r0, #2
- subs r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- mov sb, r0
- subs r0, r4, #1
- strb r0, [r3]
- mov r0, sl
- ldr r3, [r0]
- lsls r2, r2, #2
- adds r2, r3, r2
- adds r0, r2, #0
- adds r0, #0xd0
- adds r1, r3, #0
- adds r1, #0x4c
- ldrh r0, [r0]
- ldrh r1, [r1]
- subs r0, r0, r1
- adds r0, #4
- strh r0, [r6, #2]
- adds r2, #0xd2
- adds r1, r3, #0
- adds r1, #0x4e
- ldrh r0, [r2]
- ldrh r1, [r1]
- subs r0, r0, r1
- ldr r2, _08038058 @ =0x000005FC
- adds r1, r3, r2
- ldrh r1, [r1]
- subs r0, r0, r1
- adds r3, #0xe6
- ldrh r1, [r3]
- subs r0, r0, r1
- adds r0, #4
- b _08038062
- .align 2, 0
-_08038048: .4byte 0x020314E0
-_0803804C: .4byte gOamBuffer
-_08038050: .4byte 0xFFFFFE00
-_08038054: .4byte 0x0000042A
-_08038058: .4byte 0x000005FC
-_0803805C:
- movs r0, #0xf0
- strh r0, [r6, #2]
- movs r0, #0xb4
-_08038062:
- strh r0, [r6, #4]
- mov r3, r8
- lsls r4, r3, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r7, r6, r0
- ldrh r3, [r7]
- lsls r3, r3, #3
- adds r3, r3, r5
- movs r0, #2
- ldrsh r1, [r7, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _080380E8 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r7]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldrb r0, [r6, #4]
- ldrb r3, [r7, #4]
- adds r0, r0, r3
- strb r0, [r1]
- ldrh r3, [r7]
- lsls r3, r3, #3
- adds r3, r3, r5
- mov r0, sb
- lsls r1, r0, #0x10
- asrs r1, r1, #0x10
- movs r2, #0xb7
- lsls r2, r2, #1
- adds r1, r1, r2
- ldr r2, _080380EC @ =0x000003FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #4]
- ldr r0, _080380F0 @ =0xFFFFFC00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #4]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r3, r4, #0x10
- mov r8, r3
- asrs r4, r4, #0x10
- cmp r4, #3
- ble _08037FDE
- ldr r6, _080380F4 @ =0x0200C948
- ldr r5, _080380F8 @ =0x020314E0
- ldr r0, [r5]
- ldr r2, _080380FC @ =0x00000412
- adds r1, r0, r2
- ldrh r2, [r1]
- movs r3, #0
- ldrsh r0, [r1, r3]
- cmp r0, #0x17
- bgt _08038100
- adds r0, r2, #1
- b _08038102
- .align 2, 0
-_080380E8: .4byte 0x000001FF
-_080380EC: .4byte 0x000003FF
-_080380F0: .4byte 0xFFFFFC00
-_080380F4: .4byte 0x0200C948
-_080380F8: .4byte 0x020314E0
-_080380FC: .4byte 0x00000412
-_08038100:
- movs r0, #0
-_08038102:
- strh r0, [r1]
- movs r5, #0
- mov r8, r5
-_08038108:
- ldr r1, _08038168 @ =0x020314E0
- ldr r0, [r1]
- mov r2, r8
- lsls r1, r2, #0x10
- asrs r4, r1, #0x10
- adds r0, r0, r4
- ldr r3, _0803816C @ =0x0000042E
- adds r5, r0, r3
- ldrb r7, [r5]
- movs r0, #0
- ldrsb r0, [r5, r0]
- mov sl, r1
- cmp r0, #0
- beq _08038178
- movs r1, #6
- bl __divsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- movs r1, #2
- subs r1, r1, r0
- lsls r1, r1, #0x10
- lsrs r1, r1, #0x10
- mov sb, r1
- subs r0, r7, #1
- strb r0, [r5]
- ldr r5, _08038168 @ =0x020314E0
- ldr r3, [r5]
- lsls r2, r4, #2
- adds r2, r3, r2
- ldr r1, _08038170 @ =0x00000434
- adds r0, r2, r1
- adds r1, r3, #0
- adds r1, #0x58
- ldrh r0, [r0]
- ldrh r1, [r1]
- subs r0, r0, r1
- subs r0, #4
- strh r0, [r6, #2]
- ldr r5, _08038174 @ =0x00000436
- adds r2, r2, r5
- adds r3, #0x5a
- ldrh r0, [r2]
- ldrh r1, [r3]
- subs r0, r0, r1
- adds r0, #2
- b _0803817E
- .align 2, 0
-_08038168: .4byte 0x020314E0
-_0803816C: .4byte 0x0000042E
-_08038170: .4byte 0x00000434
-_08038174: .4byte 0x00000436
-_08038178:
- movs r0, #0xf0
- strh r0, [r6, #2]
- movs r0, #0xb4
-_0803817E:
- strh r0, [r6, #4]
- mov r0, sl
- asrs r4, r0, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r7, r6, r0
- ldrh r3, [r7]
- lsls r3, r3, #3
- ldr r1, _08038204 @ =gOamBuffer
- adds r3, r3, r1
- movs r5, #2
- ldrsh r2, [r7, r5]
- movs r1, #2
- ldrsh r0, [r6, r1]
- adds r2, r2, r0
- ldr r5, _08038208 @ =0x000001FF
- adds r0, r5, #0
- ands r2, r0
- ldrh r0, [r3, #2]
- ldr r5, _0803820C @ =0xFFFFFE00
- adds r1, r5, #0
- ands r0, r1
- orrs r0, r2
- strh r0, [r3, #2]
- ldrh r1, [r7]
- lsls r1, r1, #3
- ldr r0, _08038204 @ =gOamBuffer
- adds r1, r1, r0
- ldrb r0, [r6, #4]
- ldrb r2, [r7, #4]
- adds r0, r0, r2
- strb r0, [r1]
- ldrh r3, [r7]
- lsls r3, r3, #3
- ldr r5, _08038204 @ =gOamBuffer
- adds r3, r3, r5
- mov r0, sb
- lsls r1, r0, #0x10
- asrs r1, r1, #0x10
- movs r2, #0xb7
- lsls r2, r2, #1
- adds r1, r1, r2
- ldr r5, _08038210 @ =0x000003FF
- adds r0, r5, #0
- ands r1, r0
- ldrh r0, [r3, #4]
- ldr r5, _08038214 @ =0xFFFFFC00
- adds r2, r5, #0
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #4]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- mov r8, r0
- asrs r4, r4, #0x10
- cmp r4, #2
- ble _08038108
- add sp, #4
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08038204: .4byte gOamBuffer
-_08038208: .4byte 0x000001FF
-_0803820C: .4byte 0xFFFFFE00
-_08038210: .4byte 0x000003FF
-_08038214: .4byte 0xFFFFFC00
-
- thumb_func_start sub_38218
-sub_38218: @ 0x08038218
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #0x74
- movs r5, #0
- ldr r0, _080382D8 @ =0x086AEA70
- mov sl, r0
- ldr r1, _080382DC @ =0x020314E0
- mov r8, r1
- add r6, sp, #0x64
- ldr r4, _080382E0 @ =0x0202D880
- ldr r3, _080382E4 @ =0x086BB420
-_08038234:
- lsls r1, r5, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #2
- adds r2, r0, r4
- adds r0, r0, r3
- ldr r0, [r0]
- str r0, [r2]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r5, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #0x20
- ble _08038234
- mov r2, sl
- ldr r0, [r2, #0x60]
- ldr r1, [r2, #0x64]
- str r0, [sp, #0x60]
- str r1, [sp, #0x64]
- mov r3, r8
- ldr r0, [r3]
- ldr r1, _080382E8 @ =0x0000132C
- adds r0, r0, r1
- ldr r0, [r0]
- ldrh r0, [r0, #0x12]
- strb r0, [r6]
- movs r5, #0
- mov r7, sl
- mov r4, r8
- ldr r0, [r4]
- mov ip, r1
- add r0, ip
- str r0, [sp, #0x70]
- mov sb, sl
-_08038276:
- lsls r0, r5, #0x10
- asrs r3, r0, #0x10
- lsls r2, r3, #3
- adds r4, r2, r7
- ldrb r1, [r4, #4]
- ldr r6, [sp, #0x70]
- ldr r0, [r6]
- movs r6, #0x12
- ldrsh r0, [r0, r6]
- cmp r1, r0
- bge _080382EC
- movs r0, #0xb
- cmp r0, r3
- blt _080382BA
- mov r6, sb
- adds r4, r3, #0
-_08038296:
- lsls r2, r0, #0x10
- asrs r2, r2, #0x10
- adds r0, r2, #1
- lsls r0, r0, #3
- mov r1, sp
- adds r3, r1, r0
- lsls r0, r2, #3
- adds r0, r0, r6
- ldr r1, [r0, #4]
- ldr r0, [r0]
- str r0, [r3]
- str r1, [r3, #4]
- subs r2, #1
- lsls r2, r2, #0x10
- lsrs r0, r2, #0x10
- asrs r2, r2, #0x10
- cmp r2, r4
- bge _08038296
-_080382BA:
- lsls r0, r5, #0x10
- asrs r0, r0, #0xd
- mov r3, sp
- adds r2, r3, r0
- ldr r0, [r7, #0x60]
- ldr r1, [r7, #0x64]
- str r0, [r2]
- str r1, [r2, #4]
- mov r4, r8
- ldr r0, [r4]
- add r0, ip
- ldr r0, [r0]
- ldrh r0, [r0, #0x12]
- strb r0, [r2, #4]
- b _08038304
- .align 2, 0
-_080382D8: .4byte 0x086AEA70
-_080382DC: .4byte 0x020314E0
-_080382E0: .4byte 0x0202D880
-_080382E4: .4byte 0x086BB420
-_080382E8: .4byte 0x0000132C
-_080382EC:
- mov r6, sp
- adds r0, r6, r2
- ldr r1, [r4]
- ldr r2, [r4, #4]
- str r1, [r0]
- str r2, [r0, #4]
- adds r0, r3, #1
- lsls r0, r0, #0x10
- lsrs r5, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xb
- ble _08038276
-_08038304:
- mov r2, sl
- ldr r0, [r2, #0x68]
- ldr r1, [r2, #0x6c]
- str r0, [sp, #0x68]
- str r1, [sp, #0x6c]
- movs r5, #0
- ldr r7, _08038374 @ =0x020314E0
- ldr r0, [r7]
- ldr r6, _08038378 @ =0x00000402
- adds r3, r0, r6
-_08038318:
- lsls r0, r5, #0x10
- asrs r2, r0, #0x10
- lsls r0, r2, #3
- add r0, sp
- ldrb r1, [r0, #4]
- movs r4, #0
- ldrsh r0, [r3, r4]
- cmp r1, r0
- bge _0803837C
- movs r0, #0xc
- cmp r0, r2
- blt _08038356
- adds r4, r2, #0
-_08038332:
- lsls r2, r0, #0x10
- asrs r2, r2, #0x10
- adds r0, r2, #1
- lsls r0, r0, #3
- mov r1, sp
- adds r3, r1, r0
- lsls r0, r2, #3
- add r0, sp
- ldr r1, [r0, #4]
- ldr r0, [r0]
- str r0, [r3]
- str r1, [r3, #4]
- subs r2, #1
- lsls r2, r2, #0x10
- lsrs r0, r2, #0x10
- asrs r2, r2, #0x10
- cmp r2, r4
- bge _08038332
-_08038356:
- lsls r0, r5, #0x10
- asrs r0, r0, #0xd
- mov r3, sp
- adds r2, r3, r0
- mov r4, sl
- ldr r0, [r4, #0x68]
- ldr r1, [r4, #0x6c]
- str r0, [r2]
- str r1, [r2, #4]
- ldr r0, [r7]
- adds r0, r0, r6
- ldrh r0, [r0]
- strb r0, [r2, #4]
- b _08038388
- .align 2, 0
-_08038374: .4byte 0x020314E0
-_08038378: .4byte 0x00000402
-_0803837C:
- adds r0, r2, #1
- lsls r0, r0, #0x10
- lsrs r5, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xc
- ble _08038318
-_08038388:
- movs r5, #0
- ldr r6, _080383D8 @ =0x02031590
- ldr r4, _080383DC @ =0x0202D880
-_0803838E:
- lsls r2, r5, #0x10
- asrs r2, r2, #0x10
- lsls r0, r2, #3
- mov r1, sp
- adds r3, r1, r0
- ldrb r0, [r3, #5]
- adds r0, #0xa
- adds r0, r0, r6
- adds r1, r5, #0
- adds r1, #0xa
- strb r1, [r0]
- adds r0, r2, #0
- adds r0, #0xa
- lsls r0, r0, #2
- adds r0, r0, r4
- ldr r1, [r3]
- str r1, [r0]
- adds r2, #1
- lsls r2, r2, #0x10
- lsrs r5, r2, #0x10
- asrs r2, r2, #0x10
- cmp r2, #0xd
- ble _0803838E
- ldr r0, _080383DC @ =0x0202D880
- movs r1, #0x21
- ldr r2, _080383E0 @ =0x0200B3B8
- bl LoadSpriteSets
- add sp, #0x74
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080383D8: .4byte 0x02031590
-_080383DC: .4byte 0x0202D880
-_080383E0: .4byte 0x0200B3B8
-
- thumb_func_start sub_383E4
-sub_383E4: @ 0x080383E4
- push {r4, r5, r6, r7, lr}
- ldr r4, _08038438 @ =0x020314E0
- ldr r0, [r4]
- movs r1, #0
- movs r3, #0
- strh r3, [r0, #0x18]
- strb r1, [r0, #0x17]
- ldr r0, [r4]
- strb r1, [r0, #0x13]
- ldr r0, [r4]
- movs r2, #0xa5
- lsls r2, r2, #2
- adds r0, r0, r2
- strb r1, [r0]
- ldr r5, [r4]
- adds r2, r5, #0
- adds r2, #0x6c
- ldr r6, _0803843C @ =0x00002A30
- adds r0, r6, #0
- ldrh r7, [r2]
- adds r0, r0, r7
- ldr r6, _08038440 @ =0x00000296
- adds r1, r5, r6
- strh r0, [r1]
- strh r3, [r2]
- ldr r7, _08038444 @ =0x00000283
- adds r0, r5, r7
- ldrb r0, [r0]
- movs r1, #5
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- adds r6, r4, #0
- cmp r0, #3
- bne _08038448
- movs r0, #0xe1
- lsls r0, r0, #2
- adds r1, r5, r0
- movs r0, #0x12
- b _08038450
- .align 2, 0
-_08038438: .4byte 0x020314E0
-_0803843C: .4byte 0x00002A30
-_08038440: .4byte 0x00000296
-_08038444: .4byte 0x00000283
-_08038448:
- movs r2, #0xe1
- lsls r2, r2, #2
- adds r1, r5, r2
- movs r0, #0xf
-_08038450:
- strb r0, [r1]
- ldr r0, [r6]
- movs r3, #0xe4
- lsls r3, r3, #2
- adds r1, r0, r3
- movs r2, #0
- movs r3, #0
- strh r3, [r1]
- ldr r4, _08038634 @ =0x00000389
- adds r0, r0, r4
- strb r2, [r0]
- ldr r0, [r6]
- ldr r5, _08038638 @ =0x00000383
- adds r0, r0, r5
- strb r2, [r0]
- ldr r0, [r6]
- ldr r7, _0803863C @ =0x00000382
- adds r0, r0, r7
- strb r2, [r0]
- ldr r0, [r6]
- movs r1, #0xe2
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r4, #3
- strb r4, [r0]
- ldr r0, [r6]
- adds r5, #0xf
- adds r1, r0, r5
- strh r3, [r1]
- ldr r7, _08038640 @ =0x0000132C
- adds r0, r0, r7
- ldr r1, [r0]
- movs r0, #1
- strb r0, [r1]
- ldr r0, [r6]
- ldr r1, _08038644 @ =0x00000386
- adds r0, r0, r1
- strb r2, [r0]
- ldr r0, [r6]
- adds r5, #2
- adds r1, r0, r5
- strh r3, [r1]
- ldr r7, _08038648 @ =0x0000038E
- adds r1, r0, r7
- strh r3, [r1]
- ldr r1, _0803864C @ =0x00000385
- adds r0, r0, r1
- strb r2, [r0]
- ldr r0, [r6]
- subs r5, #0xd
- adds r0, r0, r5
- strb r2, [r0]
- ldr r0, [r6]
- ldr r7, _08038650 @ =0x000006C4
- adds r0, r0, r7
- strb r4, [r0]
- ldr r0, [r6]
- adds r1, #0x5a
- adds r0, r0, r1
- movs r1, #0xe
- strb r1, [r0]
- ldr r0, [r6]
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r0, r0, r4
- strb r2, [r0]
- ldr r0, [r6]
- adds r5, #0x61
- adds r1, r0, r5
- strh r3, [r1]
- ldr r7, _08038654 @ =0x000003EA
- adds r1, r0, r7
- strh r3, [r1]
- ldr r1, _08038658 @ =0x000003DE
- adds r0, r0, r1
- strb r2, [r0]
- ldr r0, [r6]
- adds r4, #4
- adds r0, r0, r4
- strb r2, [r0]
- ldr r0, [r6]
- subs r5, #6
- adds r1, r0, r5
- strh r3, [r1]
- subs r7, #6
- adds r1, r0, r7
- strh r3, [r1]
- movs r1, #0x88
- lsls r1, r1, #3
- adds r0, r0, r1
- strb r2, [r0]
- ldr r0, [r6]
- adds r4, #0x65
- adds r0, r0, r4
- strb r2, [r0]
- ldr r0, [r6]
- adds r5, #0x64
- adds r0, r0, r5
- strb r2, [r0]
- ldr r0, [r6]
- adds r7, #0x63
- adds r0, r0, r7
- strb r2, [r0]
- ldr r0, [r6]
- adds r1, #8
- adds r0, r0, r1
- strb r2, [r0]
- ldr r0, [r6]
- adds r4, #4
- adds r0, r0, r4
- strb r2, [r0]
- ldr r0, [r6]
- adds r5, #4
- adds r0, r0, r5
- strb r2, [r0]
- ldr r0, [r6]
- adds r7, #7
- adds r1, r0, r7
- strh r3, [r1]
- ldr r2, _0803865C @ =0x00000452
- adds r1, r0, r2
- strh r3, [r1]
- adds r4, #0xb
- adds r1, r0, r4
- strh r3, [r1]
- adds r5, #0xc
- adds r1, r0, r5
- strh r3, [r1]
- adds r7, #2
- adds r0, r0, r7
- strh r3, [r0]
- movs r1, #0
- adds r5, r6, #0
- movs r4, #0
-_0803855C:
- ldr r0, [r5]
- lsls r2, r1, #0x10
- asrs r2, r2, #0x10
- ldr r1, _08038660 @ =0x00000441
- adds r0, r0, r1
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r5]
- ldr r3, _08038664 @ =0x00000443
- adds r0, r0, r3
- adds r0, r0, r2
- strb r4, [r0]
- ldr r1, [r5]
- lsls r3, r2, #1
- movs r7, #0x8b
- lsls r7, r7, #3
- adds r0, r1, r7
- adds r0, r0, r3
- strh r4, [r0]
- lsls r0, r2, #2
- adds r1, r1, r0
- ldr r3, _08038668 @ =0x0000045C
- adds r0, r1, r3
- strh r4, [r0]
- adds r7, #6
- adds r0, r1, r7
- strh r4, [r0]
- adds r3, #8
- adds r0, r1, r3
- strh r4, [r0]
- adds r7, #8
- adds r1, r1, r7
- strh r4, [r1]
- adds r2, #1
- lsls r2, r2, #0x10
- lsrs r1, r2, #0x10
- asrs r2, r2, #0x10
- cmp r2, #1
- ble _0803855C
- movs r1, #0
- ldr r7, _0803866C @ =0x020314E0
- ldr r5, _08038670 @ =0x0000046C
- movs r3, #0
- ldr r4, _08038674 @ =0x0000046E
-_080385B4:
- ldr r2, [r7]
- lsls r0, r1, #0x10
- asrs r0, r0, #0x10
- lsls r1, r0, #2
- adds r2, r2, r1
- adds r1, r2, r5
- strh r3, [r1]
- adds r2, r2, r4
- strh r3, [r2]
- adds r0, #1
- lsls r0, r0, #0x10
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _080385B4
- ldr r1, [r6]
- movs r0, #1
- strb r0, [r1, #0x1a]
- bl sub_38A20
- bl sub_395D8
- bl sub_39A40
- bl sub_3AE14
- movs r0, #0x29
- bl m4aSongNumStart
- ldr r2, _08038678 @ =0x040000D4
- ldr r0, [r6]
- ldr r1, _0803867C @ =0x000005F6
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #5
- ldr r1, _08038680 @ =0x08137E14
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _08038684 @ =0x05000220
- str r0, [r2, #4]
- ldr r1, _08038688 @ =0x80000010
- str r1, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, _0803868C @ =0x086AEAE0
- ldr r0, [r0]
- str r0, [r2]
- movs r0, #0xa0
- lsls r0, r0, #0x13
- str r0, [r2, #4]
- ldr r0, _08038690 @ =0x80000080
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, _08038694 @ =0x081B36A4
- str r0, [r2]
- ldr r0, _08038698 @ =0x05000320
- str r0, [r2, #4]
- str r1, [r2, #8]
- ldr r0, [r2, #8]
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08038634: .4byte 0x00000389
-_08038638: .4byte 0x00000383
-_0803863C: .4byte 0x00000382
-_08038640: .4byte 0x0000132C
-_08038644: .4byte 0x00000386
-_08038648: .4byte 0x0000038E
-_0803864C: .4byte 0x00000385
-_08038650: .4byte 0x000006C4
-_08038654: .4byte 0x000003EA
-_08038658: .4byte 0x000003DE
-_0803865C: .4byte 0x00000452
-_08038660: .4byte 0x00000441
-_08038664: .4byte 0x00000443
-_08038668: .4byte 0x0000045C
-_0803866C: .4byte 0x020314E0
-_08038670: .4byte 0x0000046C
-_08038674: .4byte 0x0000046E
-_08038678: .4byte 0x040000D4
-_0803867C: .4byte 0x000005F6
-_08038680: .4byte 0x08137E14
-_08038684: .4byte 0x05000220
-_08038688: .4byte 0x80000010
-_0803868C: .4byte 0x086AEAE0
-_08038690: .4byte 0x80000080
-_08038694: .4byte 0x081B36A4
-_08038698: .4byte 0x05000320
-
- thumb_func_start sub_3869C
-sub_3869C: @ 0x0803869C
- push {r4, r5, r6, lr}
- ldr r0, _080386B8 @ =0x020314E0
- ldr r0, [r0]
- ldrb r0, [r0, #0x13]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #6
- bls _080386AE
- b _0803899C
-_080386AE:
- lsls r0, r0, #2
- ldr r1, _080386BC @ =_080386C0
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080386B8: .4byte 0x020314E0
-_080386BC: .4byte _080386C0
-_080386C0: @ jump table
- .4byte _080386DC @ case 0
- .4byte _0803899C @ case 1
- .4byte _080387D2 @ case 2
- .4byte _08038848 @ case 3
- .4byte _080388C8 @ case 4
- .4byte _08038924 @ case 5
- .4byte _08038984 @ case 6
-_080386DC:
- ldr r6, _08038704 @ =0x020314E0
- ldr r0, [r6]
- ldr r1, _08038708 @ =0x000005F7
- adds r0, r0, r1
- movs r3, #0
- movs r2, #1
- strb r2, [r0]
- ldr r5, [r6]
- ldrh r1, [r5, #0x18]
- ldr r0, _0803870C @ =0x000001F3
- cmp r1, r0
- bhi _08038714
- adds r1, r5, #0
- adds r1, #0xe6
- ldr r0, _08038710 @ =0x0000FFC0
- strh r0, [r1]
- ldrh r0, [r5, #0x18]
- adds r0, #1
- strh r0, [r5, #0x18]
- b _0803899C
- .align 2, 0
-_08038704: .4byte 0x020314E0
-_08038708: .4byte 0x000005F7
-_0803870C: .4byte 0x000001F3
-_08038710: .4byte 0x0000FFC0
-_08038714:
- ldr r0, _080387A4 @ =0x00000333
- cmp r1, r0
- bhi _080387C4
- ldrh r0, [r5, #0x18]
- ldr r4, _080387A8 @ =0xFFFFFE0C
- adds r0, r0, r4
- movs r1, #5
- bl __divsi3
- subs r0, #0x40
- adds r1, r5, #0
- adds r1, #0xe6
- strh r0, [r1]
- ldrh r0, [r5, #0x18]
- adds r0, r0, r4
- movs r1, #0x18
- bl __divsi3
- ldr r2, _080387AC @ =0x00000382
- adds r1, r5, r2
- strb r0, [r1]
- ldr r0, [r6]
- adds r1, r0, r2
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #5
- ble _0803874E
- movs r0, #5
- strb r0, [r1]
-_0803874E:
- ldr r4, [r6]
- ldrh r0, [r4, #0x18]
- adds r0, #1
- strh r0, [r4, #0x18]
- ldr r1, _080387B0 @ =0x040000D4
- ldr r3, _080387B4 @ =0x086AEAE0
- adds r2, r4, r2
- movs r0, #0
- ldrsb r0, [r2, r0]
- lsls r0, r0, #2
- adds r0, r0, r3
- ldr r0, [r0]
- str r0, [r1]
- movs r0, #0xa0
- lsls r0, r0, #0x13
- str r0, [r1, #4]
- ldr r0, _080387B8 @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- movs r0, #0
- ldrsb r0, [r2, r0]
- lsls r0, r0, #2
- adds r0, r0, r3
- ldr r0, [r0]
- adds r0, #0x80
- str r0, [r1]
- ldr r0, _080387BC @ =0x05000080
- str r0, [r1, #4]
- ldr r0, _080387C0 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- adds r0, r4, #0
- adds r0, #0xe6
- movs r2, #0
- ldrsh r1, [r0, r2]
- movs r0, #0x20
- rsbs r0, r0, #0
- cmp r1, r0
- bge _0803879E
- b _0803899C
-_0803879E:
- movs r0, #0
- strb r0, [r4, #0x1a]
- b _0803899C
- .align 2, 0
-_080387A4: .4byte 0x00000333
-_080387A8: .4byte 0xFFFFFE0C
-_080387AC: .4byte 0x00000382
-_080387B0: .4byte 0x040000D4
-_080387B4: .4byte 0x086AEAE0
-_080387B8: .4byte 0x80000030
-_080387BC: .4byte 0x05000080
-_080387C0: .4byte 0x80000040
-_080387C4:
- adds r0, r5, #0
- adds r0, #0xe6
- strh r3, [r0]
- strb r2, [r5, #0x13]
- ldr r0, [r6]
- strh r3, [r0, #0x18]
- b _0803899C
-_080387D2:
- ldr r2, _080387E4 @ =0x020314E0
- ldr r3, [r2]
- ldrh r0, [r3, #0x18]
- cmp r0, #0x77
- bhi _080387E8
- adds r0, #1
- strh r0, [r3, #0x18]
- b _0803899C
- .align 2, 0
-_080387E4: .4byte 0x020314E0
-_080387E8:
- movs r1, #0
- movs r0, #3
- strb r0, [r3, #0x13]
- ldr r2, [r2]
- strh r1, [r2, #0x18]
- ldr r3, _08038830 @ =gMain
- movs r4, #0xe9
- lsls r4, r4, #3
- adds r0, r3, r4
- movs r4, #1
- movs r1, #1
- strh r1, [r0]
- movs r5, #0xd2
- lsls r5, r5, #3
- adds r0, r3, r5
- strh r1, [r0]
- ldr r1, _08038834 @ =0x040000D4
- ldr r0, _08038838 @ =0x0813C874
- str r0, [r1]
- ldr r0, _0803883C @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _08038840 @ =0x80001000
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- movs r0, #0xe5
- lsls r0, r0, #2
- adds r1, r2, r0
- movs r0, #0x88
- strh r0, [r1]
- movs r0, #0x80
- strb r0, [r3, #0xf]
- ldr r1, _08038844 @ =0x000005FA
- adds r2, r2, r1
- strb r4, [r2]
- b _0803899C
- .align 2, 0
-_08038830: .4byte gMain
-_08038834: .4byte 0x040000D4
-_08038838: .4byte 0x0813C874
-_0803883C: .4byte 0x06015800
-_08038840: .4byte 0x80001000
-_08038844: .4byte 0x000005FA
-_08038848:
- bl sub_351A8
- ldr r4, _08038890 @ =0x020314E0
- ldr r1, [r4]
- ldrb r0, [r1, #0x1c]
- cmp r0, #0
- beq _0803885A
- movs r0, #0xb5
- strh r0, [r1, #0x18]
-_0803885A:
- ldr r1, [r4]
- ldrh r0, [r1, #0x18]
- cmp r0, #0xb4
- bne _08038870
- movs r0, #1
- strb r0, [r1, #0x1c]
- ldr r1, [r4]
- ldr r0, _08038894 @ =0x00061A80
- str r0, [r1, #0x38]
- ldr r0, _08038898 @ =0x02FAF080
- str r0, [r1, #0x3c]
-_08038870:
- ldr r1, [r4]
- ldrh r0, [r1, #0x18]
- cmp r0, #0xef
- bhi _0803889C
- cmp r0, #0x14
- bne _08038886
- bl m4aMPlayAllStop
- movs r0, #0x2b
- bl m4aSongNumStart
-_08038886:
- ldr r1, [r4]
- ldrh r0, [r1, #0x18]
- adds r0, #1
- strh r0, [r1, #0x18]
- b _080388B0
- .align 2, 0
-_08038890: .4byte 0x020314E0
-_08038894: .4byte 0x00061A80
-_08038898: .4byte 0x02FAF080
-_0803889C:
- movs r0, #0
- strh r0, [r1, #0x18]
- movs r0, #6
- strb r0, [r1, #0x13]
- ldr r1, [r4]
- ldr r2, _080388BC @ =0x00000283
- adds r1, r1, r2
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
-_080388B0:
- ldr r0, _080388C0 @ =0x020314E0
- ldr r0, [r0]
- ldr r4, _080388C4 @ =0x000005FA
- adds r0, r0, r4
- movs r1, #1
- b _0803899A
- .align 2, 0
-_080388BC: .4byte 0x00000283
-_080388C0: .4byte 0x020314E0
-_080388C4: .4byte 0x000005FA
-_080388C8:
- ldr r2, _0803890C @ =0x020314E0
- ldr r1, [r2]
- movs r0, #5
- strb r0, [r1, #0x13]
- ldr r2, [r2]
- movs r0, #0x8c
- strh r0, [r2, #0x18]
- ldr r3, _08038910 @ =gMain
- movs r5, #0xe9
- lsls r5, r5, #3
- adds r0, r3, r5
- movs r1, #1
- strh r1, [r0]
- movs r4, #0xd2
- lsls r4, r4, #3
- adds r0, r3, r4
- strh r1, [r0]
- ldr r1, _08038914 @ =0x040000D4
- ldr r0, _08038918 @ =0x0813C874
- str r0, [r1]
- ldr r0, _0803891C @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _08038920 @ =0x80001000
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- movs r5, #0xe5
- lsls r5, r5, #2
- adds r2, r2, r5
- movs r0, #0x88
- strh r0, [r2]
- movs r0, #0x80
- strb r0, [r3, #0xf]
- b _0803899C
- .align 2, 0
-_0803890C: .4byte 0x020314E0
-_08038910: .4byte gMain
-_08038914: .4byte 0x040000D4
-_08038918: .4byte 0x0813C874
-_0803891C: .4byte 0x06015800
-_08038920: .4byte 0x80001000
-_08038924:
- bl sub_351A8
- ldr r2, _0803895C @ =0x020314E0
- ldr r1, [r2]
- ldrb r0, [r1, #0x1c]
- cmp r0, #0
- beq _08038936
- movs r0, #0xb5
- strh r0, [r1, #0x18]
-_08038936:
- ldr r1, [r2]
- ldrh r0, [r1, #0x18]
- cmp r0, #0xb4
- bne _0803894C
- movs r0, #1
- strb r0, [r1, #0x1c]
- ldr r1, [r2]
- ldr r0, _08038960 @ =0x00061A80
- str r0, [r1, #0x38]
- ldr r0, _08038964 @ =0x02FAF080
- str r0, [r1, #0x3c]
-_0803894C:
- ldr r1, [r2]
- ldrh r0, [r1, #0x18]
- cmp r0, #0xef
- bhi _08038968
- adds r0, #1
- strh r0, [r1, #0x18]
- b _0803899C
- .align 2, 0
-_0803895C: .4byte 0x020314E0
-_08038960: .4byte 0x00061A80
-_08038964: .4byte 0x02FAF080
-_08038968:
- movs r0, #0
- strh r0, [r1, #0x18]
- movs r0, #6
- strb r0, [r1, #0x13]
- ldr r1, [r2]
- ldr r0, _08038980 @ =0x00000283
- adds r1, r1, r0
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- b _0803899C
- .align 2, 0
-_08038980: .4byte 0x00000283
-_08038984:
- bl sub_351A8
- ldr r2, _08038A0C @ =0x020314E0
- ldr r0, [r2]
- ldr r1, _08038A10 @ =0x00000386
- adds r0, r0, r1
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r2, _08038A14 @ =0x000005FA
- adds r0, r0, r2
-_0803899A:
- strb r1, [r0]
-_0803899C:
- bl sub_39A40
- bl sub_38A20
- bl sub_395D8
- bl sub_3AE14
- ldr r0, _08038A0C @ =0x020314E0
- ldr r1, [r0]
- movs r4, #0xa5
- lsls r4, r4, #2
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _080389E4
- ldr r5, _08038A18 @ =0x00000296
- adds r0, r1, r5
- ldrh r0, [r0]
- cmp r0, #1
- bhi _080389E4
- ldr r4, _08038A1C @ =gMain
- ldrb r0, [r4, #0xf]
- cmp r0, #0
- bne _080389E4
- bl m4aMPlayAllStop
- movs r0, #0x2c
- bl m4aSongNumStart
- ldrb r1, [r4, #0xf]
- movs r0, #0x40
- orrs r0, r1
- strb r0, [r4, #0xf]
-_080389E4:
- ldr r0, _08038A0C @ =0x020314E0
- ldr r1, [r0]
- ldr r2, _08038A10 @ =0x00000386
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08038A02
- ldr r4, _08038A14 @ =0x000005FA
- adds r1, r1, r4
- movs r0, #1
- strb r0, [r1]
- bl sub_350F0
-_08038A02:
- bl sub_472E4
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08038A0C: .4byte 0x020314E0
-_08038A10: .4byte 0x00000386
-_08038A14: .4byte 0x000005FA
-_08038A18: .4byte 0x00000296
-_08038A1C: .4byte gMain
-
- thumb_func_start sub_38A20
-sub_38A20: @ 0x08038A20
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- ldr r0, _08038AE8 @ =0x020314E0
- ldr r1, [r0]
- ldr r2, _08038AEC @ =0x00000452
- adds r5, r1, r2
- ldrh r4, [r5]
- mov r8, r0
- cmp r4, #0
- beq _08038AC6
- subs r0, r4, #1
- strh r0, [r5]
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #8
- beq _08038AB0
- ldr r0, _08038AF0 @ =0x00000389
- adds r1, r1, r0
- movs r0, #1
- strb r0, [r1]
- mov r1, r8
- ldr r0, [r1]
- adds r0, r0, r2
- ldrh r0, [r0]
- cmp r0, #4
- bne _08038AB0
- ldr r0, _08038AF4 @ =0x02032F20
- ldr r1, _08038AF8 @ =0x086A1E74
- bl MPlayStart
- movs r0, #7
- bl sub_11B0
- mov r2, r8
- ldr r1, [r2]
- ldr r0, _08038AFC @ =0x0007A120
- str r0, [r1, #0x3c]
- ldr r2, _08038B00 @ =0x00000385
- adds r1, r1, r2
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- mov r6, r8
- ldr r3, [r6]
- adds r2, r3, r2
- movs r1, #0xe1
- lsls r1, r1, #2
- adds r0, r3, r1
- movs r1, #0
- ldrsb r1, [r2, r1]
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r1, r0
- blt _08038AB0
- ldr r2, _08038B04 @ =0x00000387
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #1
- bne _08038AB0
- adds r1, r3, r4
- movs r0, #7
- strb r0, [r1]
-_08038AB0:
- ldr r1, _08038AE8 @ =0x020314E0
- ldr r5, [r1]
- ldr r3, _08038AEC @ =0x00000452
- adds r0, r5, r3
- ldrh r4, [r0]
- mov r8, r1
- cmp r4, #0
- bne _08038AC6
- ldr r6, _08038AF0 @ =0x00000389
- adds r0, r5, r6
- strb r4, [r0]
-_08038AC6:
- mov r1, r8
- ldr r0, [r1]
- movs r2, #0xf7
- lsls r2, r2, #2
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0xd
- bls _08038ADE
- bl _08039562
-_08038ADE:
- lsls r0, r0, #2
- ldr r1, _08038B08 @ =_08038B0C
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08038AE8: .4byte 0x020314E0
-_08038AEC: .4byte 0x00000452
-_08038AF0: .4byte 0x00000389
-_08038AF4: .4byte 0x02032F20
-_08038AF8: .4byte 0x086A1E74
-_08038AFC: .4byte 0x0007A120
-_08038B00: .4byte 0x00000385
-_08038B04: .4byte 0x00000387
-_08038B08: .4byte _08038B0C
-_08038B0C: @ jump table
- .4byte _08038B44 @ case 0
- .4byte _08038B88 @ case 1
- .4byte _08038CE0 @ case 2
- .4byte _08038D80 @ case 3
- .4byte _08038E0C @ case 4
- .4byte _08038EF2 @ case 5
- .4byte _08038FE4 @ case 6
- .4byte _080390D8 @ case 7
- .4byte _08039562 @ case 8
- .4byte _080391F0 @ case 9
- .4byte _0803927C @ case 10
- .4byte _08039350 @ case 11
- .4byte _08039480 @ case 12
- .4byte _08039562 @ case 13
-_08038B44:
- ldr r2, _08038B80 @ =0x020314E0
- ldr r0, [r2]
- movs r3, #0xf7
- lsls r3, r3, #2
- adds r0, r0, r3
- movs r3, #0
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r4, _08038B84 @ =0x000003E2
- adds r2, r0, r4
- movs r1, #0xc
- strh r1, [r2]
- movs r6, #0xf9
- lsls r6, r6, #2
- adds r1, r0, r6
- strh r3, [r1]
- movs r2, #0xfa
- lsls r2, r2, #2
- adds r1, r0, r2
- strh r3, [r1]
- adds r4, #8
- adds r1, r0, r4
- strh r3, [r1]
- adds r6, #0x6c
- adds r0, r0, r6
- strh r3, [r0]
- bl _08039562
- .align 2, 0
-_08038B80: .4byte 0x020314E0
-_08038B84: .4byte 0x000003E2
-_08038B88:
- ldr r5, _08038C00 @ =0x086AEDA4
- ldr r7, _08038C04 @ =0x020314E0
- ldr r6, [r7]
- movs r0, #0x8a
- lsls r0, r0, #3
- adds r4, r6, r0
- ldrh r0, [r4]
- movs r1, #0x8c
- lsls r1, r1, #1
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #0xe
- bl __udivsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0xf
- adds r0, r0, r5
- ldr r5, _08038C08 @ =0x040000D4
- movs r1, #0
- ldrsh r0, [r0, r1]
- lsls r0, r0, #5
- ldr r2, _08038C0C @ =0x081B0DE4
- adds r0, r0, r2
- str r0, [r5]
- ldr r3, _08038C10 @ =0x050003E0
- mov ip, r3
- str r3, [r5, #4]
- ldr r0, _08038C14 @ =0x80000010
- mov sl, r0
- str r0, [r5, #8]
- ldr r0, [r5, #8]
- adds r3, r6, #0
- ldrh r0, [r4]
- adds r0, #1
- movs r1, #0
- mov sb, r1
- strh r0, [r4]
- ldr r2, _08038C18 @ =0x086AEAF8
- ldr r4, _08038C1C @ =0x000003E2
- mov r8, r4
- adds r4, r3, r4
- movs r0, #0
- ldrsh r1, [r4, r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r1, #0xf9
- lsls r1, r1, #2
- adds r3, r3, r1
- ldrh r1, [r3]
- ldrh r0, [r0]
- cmp r0, r1
- bls _08038C20
- adds r0, r1, #1
- strh r0, [r3]
- b _08038CA4
- .align 2, 0
-_08038C00: .4byte 0x086AEDA4
-_08038C04: .4byte 0x020314E0
-_08038C08: .4byte 0x040000D4
-_08038C0C: .4byte 0x081B0DE4
-_08038C10: .4byte 0x050003E0
-_08038C14: .4byte 0x80000010
-_08038C18: .4byte 0x086AEAF8
-_08038C1C: .4byte 0x000003E2
-_08038C20:
- mov r2, sb
- strh r2, [r3]
- ldrh r0, [r4]
- adds r0, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x22
- bne _08038C6E
- strh r2, [r4]
- movs r3, #0xf7
- lsls r3, r3, #2
- adds r1, r6, r3
- movs r0, #4
- strb r0, [r1]
- ldr r0, [r7]
- ldr r4, _08038CC0 @ =0x000003DD
- adds r0, r0, r4
- movs r1, #6
- strb r1, [r0]
- ldr r0, [r7]
- ldr r6, _08038CC4 @ =0x000003E1
- adds r0, r0, r6
- movs r1, #0
- strb r1, [r0]
- ldr r0, [r7]
- movs r1, #0xe4
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r1, #0x3c
- strh r1, [r0]
- ldr r0, _08038CC8 @ =0x081B0DE4
- adds r0, #0xa0
- str r0, [r5]
- mov r2, ip
- str r2, [r5, #4]
- mov r3, sl
- str r3, [r5, #8]
- ldr r0, [r5, #8]
-_08038C6E:
- ldr r1, [r7]
- mov r4, r8
- adds r0, r1, r4
- movs r6, #0
- ldrsh r0, [r0, r6]
- cmp r0, #0x20
- bne _08038C86
- movs r0, #0xa5
- lsls r0, r0, #2
- adds r1, r1, r0
- movs r0, #1
- strb r0, [r1]
-_08038C86:
- ldr r0, [r7]
- add r0, r8
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x21
- bne _08038CA4
- ldr r0, _08038CCC @ =0x02032F20
- ldr r1, _08038CD0 @ =0x086A1F10
- bl MPlayStart
- ldr r0, [r7]
- ldr r2, _08038CD4 @ =0x00000387
- adds r0, r0, r2
- movs r1, #1
- strb r1, [r0]
-_08038CA4:
- ldr r0, _08038CD8 @ =0x020314E0
- ldr r0, [r0]
- ldr r3, _08038CDC @ =0x00000392
- adds r1, r0, r3
- ldrh r0, [r1]
- cmp r0, #2
- bhi _08038CB6
- bl _08039562
-_08038CB6:
- subs r0, #1
- strh r0, [r1]
- bl _08039562
- .align 2, 0
-_08038CC0: .4byte 0x000003DD
-_08038CC4: .4byte 0x000003E1
-_08038CC8: .4byte 0x081B0DE4
-_08038CCC: .4byte 0x02032F20
-_08038CD0: .4byte 0x086A1F10
-_08038CD4: .4byte 0x00000387
-_08038CD8: .4byte 0x020314E0
-_08038CDC: .4byte 0x00000392
-_08038CE0:
- ldr r2, _08038D60 @ =0x086AEAF8
- ldr r5, _08038D64 @ =0x020314E0
- ldr r4, [r5]
- ldr r6, _08038D68 @ =0x000003E2
- adds r3, r4, r6
- movs r0, #0
- ldrsh r1, [r3, r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r1, r4, r2
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r0, r2
- bls _08038D08
- b _080394A6
-_08038D08:
- movs r2, #0
- strh r2, [r1]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xc
- bne _08038D3A
- strh r2, [r3]
- movs r3, #0xf7
- lsls r3, r3, #2
- adds r1, r4, r3
- movs r0, #4
- strb r0, [r1]
- ldr r0, [r5]
- ldr r4, _08038D6C @ =0x000003DD
- adds r0, r0, r4
- movs r1, #6
- strb r1, [r0]
- ldr r0, [r5]
- ldr r1, _08038D70 @ =0x000003E1
- adds r0, r0, r1
- movs r1, #2
- strb r1, [r0]
-_08038D3A:
- ldr r1, [r5]
- adds r0, r1, r6
- movs r2, #0
- ldrsh r0, [r0, r2]
- cmp r0, #0xb
- beq _08038D4A
- bl _08039562
-_08038D4A:
- ldr r3, _08038D74 @ =0x00000387
- adds r1, r1, r3
- movs r0, #1
- strb r0, [r1]
- ldr r0, _08038D78 @ =0x02032F20
- ldr r1, _08038D7C @ =0x086A1F10
- bl MPlayStart
- bl _08039562
- .align 2, 0
-_08038D60: .4byte 0x086AEAF8
-_08038D64: .4byte 0x020314E0
-_08038D68: .4byte 0x000003E2
-_08038D6C: .4byte 0x000003DD
-_08038D70: .4byte 0x000003E1
-_08038D74: .4byte 0x00000387
-_08038D78: .4byte 0x02032F20
-_08038D7C: .4byte 0x086A1F10
-_08038D80:
- ldr r2, _08038DF0 @ =0x086AEAF8
- ldr r5, _08038DF4 @ =0x020314E0
- ldr r4, [r5]
- ldr r6, _08038DF8 @ =0x000003E2
- adds r3, r4, r6
- movs r0, #0
- ldrsh r1, [r3, r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r1, r4, r2
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r0, r2
- bls _08038DA8
- b _080394A6
-_08038DA8:
- movs r2, #0
- movs r0, #0
- strh r0, [r1]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #8
- bne _08038DD0
- strh r0, [r3]
- movs r3, #0xf7
- lsls r3, r3, #2
- adds r1, r4, r3
- movs r0, #0xb
- strb r0, [r1]
- ldr r0, [r5]
- ldr r4, _08038DFC @ =0x000003E1
- adds r0, r0, r4
- strb r2, [r0]
-_08038DD0:
- ldr r1, [r5]
- adds r0, r1, r6
- movs r6, #0
- ldrsh r0, [r0, r6]
- cmp r0, #5
- beq _08038DDE
- b _08039562
-_08038DDE:
- ldr r3, _08038E00 @ =0x00000387
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, _08038E04 @ =0x02032F20
- ldr r1, _08038E08 @ =0x086A1FC4
- bl MPlayStart
- b _08039562
- .align 2, 0
-_08038DF0: .4byte 0x086AEAF8
-_08038DF4: .4byte 0x020314E0
-_08038DF8: .4byte 0x000003E2
-_08038DFC: .4byte 0x000003E1
-_08038E00: .4byte 0x00000387
-_08038E04: .4byte 0x02032F20
-_08038E08: .4byte 0x086A1FC4
-_08038E0C:
- ldr r2, _08038E68 @ =0x086AEAF8
- ldr r4, _08038E6C @ =0x020314E0
- mov r8, r4
- ldr r3, [r4]
- ldr r6, _08038E70 @ =0x000003E2
- adds r4, r3, r6
- movs r0, #0
- ldrsh r1, [r4, r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r1, r3, r2
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r0, r2
- bls _08038E36
- b _080394A6
-_08038E36:
- movs r6, #0
- mov sb, r6
- movs r7, #0
- strh r7, [r1]
- ldrh r0, [r4]
- adds r0, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- asrs r6, r0, #0x10
- cmp r6, #4
- beq _08038E4E
- b _08039562
-_08038E4E:
- ldr r0, _08038E74 @ =0x000003E1
- mov ip, r0
- adds r1, r3, r0
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #2
- bgt _08038E78
- strh r7, [r4]
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- b _08039562
- .align 2, 0
-_08038E68: .4byte 0x086AEAF8
-_08038E6C: .4byte 0x020314E0
-_08038E70: .4byte 0x000003E2
-_08038E74: .4byte 0x000003E1
-_08038E78:
- ldr r1, _08038EB8 @ =0x000003DD
- mov sl, r1
- adds r5, r3, r1
- movs r0, #0
- ldrsb r0, [r5, r0]
- cmp r0, #3
- bne _08038ECE
- ldr r2, _08038EBC @ =0x00000385
- adds r0, r3, r2
- subs r2, #1
- adds r1, r3, r2
- movs r2, #0
- ldrsb r2, [r0, r2]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- blt _08038EC0
- strh r7, [r4]
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r0, r3, r4
- strb r6, [r0]
- mov r6, r8
- ldr r0, [r6]
- add r0, ip
- mov r1, sb
- strb r1, [r0]
- ldr r0, [r6]
- add r0, sl
- movs r1, #6
- strb r1, [r0]
- b _08039562
- .align 2, 0
-_08038EB8: .4byte 0x000003DD
-_08038EBC: .4byte 0x00000385
-_08038EC0:
- strh r6, [r4]
- ldrb r1, [r5]
- movs r2, #0xf7
- lsls r2, r2, #2
- adds r0, r3, r2
- strb r1, [r0]
- b _08039562
-_08038ECE:
- movs r0, #0x22
- strh r0, [r4]
- ldrb r1, [r5]
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r0, r3, r4
- strb r1, [r0]
- mov r6, r8
- ldr r0, [r6]
- movs r1, #0x88
- lsls r1, r1, #3
- adds r0, r0, r1
- mov r2, sb
- strb r2, [r0]
- ldr r0, [r6]
- add r0, ip
- strb r2, [r0]
- b _08039562
-_08038EF2:
- ldr r2, _08038F44 @ =0x086AEAF8
- mov r3, r8
- ldr r4, [r3]
- ldr r6, _08038F48 @ =0x000003E2
- adds r3, r4, r6
- movs r0, #0
- ldrsh r1, [r3, r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r1, r4, r2
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r0, r2
- bls _08038F1A
- b _080394A6
-_08038F1A:
- movs r2, #0
- strh r2, [r1]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x43
- bne _08038F74
- ldr r6, _08038F4C @ =0x000003E1
- adds r1, r4, r6
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- bgt _08038F50
- movs r0, #0x2d
- strh r0, [r3]
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- b _08038F74
- .align 2, 0
-_08038F44: .4byte 0x086AEAF8
-_08038F48: .4byte 0x000003E2
-_08038F4C: .4byte 0x000003E1
-_08038F50:
- strh r2, [r3]
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r4, r0
- movs r0, #4
- strb r0, [r1]
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _08038FC8 @ =0x000003E1
- adds r0, r0, r2
- movs r1, #1
- strb r1, [r0]
- mov r3, r8
- ldr r0, [r3]
- ldr r4, _08038FCC @ =0x000003DD
- adds r0, r0, r4
- movs r1, #3
- strb r1, [r0]
-_08038F74:
- ldr r5, _08038FD0 @ =0x020314E0
- ldr r3, [r5]
- ldr r4, _08038FD4 @ =0x000003E2
- adds r0, r3, r4
- movs r6, #0
- ldrsh r0, [r0, r6]
- cmp r0, #0x34
- bne _08038FA8
- ldr r0, _08038FC8 @ =0x000003E1
- adds r2, r3, r0
- movs r0, #0
- ldrsb r0, [r2, r0]
- lsls r0, r0, #1
- movs r6, #0x8b
- lsls r6, r6, #3
- adds r1, r3, r6
- adds r1, r1, r0
- movs r0, #0
- strh r0, [r1]
- movs r1, #0
- ldrsb r1, [r2, r1]
- ldr r2, _08038FD8 @ =0x00000441
- adds r0, r3, r2
- adds r0, r0, r1
- movs r1, #1
- strb r1, [r0]
-_08038FA8:
- ldr r0, [r5]
- adds r0, r0, r4
- movs r3, #0
- ldrsh r0, [r0, r3]
- cmp r0, #0x32
- beq _08038FBE
- cmp r0, #0x38
- beq _08038FBE
- cmp r0, #0x3e
- beq _08038FBE
- b _08039562
-_08038FBE:
- ldr r0, _08038FDC @ =0x02032F20
- ldr r1, _08038FE0 @ =0x086A1FE4
- bl MPlayStart
- b _08039562
- .align 2, 0
-_08038FC8: .4byte 0x000003E1
-_08038FCC: .4byte 0x000003DD
-_08038FD0: .4byte 0x020314E0
-_08038FD4: .4byte 0x000003E2
-_08038FD8: .4byte 0x00000441
-_08038FDC: .4byte 0x02032F20
-_08038FE0: .4byte 0x086A1FE4
-_08038FE4:
- ldr r2, _08039010 @ =0x086AEAF8
- mov r4, r8
- ldr r3, [r4]
- ldr r6, _08039014 @ =0x000003E2
- adds r4, r3, r6
- movs r0, #0
- ldrsh r1, [r4, r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r1, r3, r2
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r0, r2
- bls _08039018
- adds r0, r2, #1
- strh r0, [r1]
- b _08039098
- .align 2, 0
-_08039010: .4byte 0x086AEAF8
-_08039014: .4byte 0x000003E2
-_08039018:
- movs r0, #0
- strh r0, [r1]
- ldrh r0, [r4]
- adds r0, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x28
- bne _08039040
- ldr r6, _080390B4 @ =0x000003E1
- adds r1, r3, r6
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- bgt _08039040
- movs r0, #0x22
- strh r0, [r4]
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
-_08039040:
- ldr r4, _080390B8 @ =0x020314E0
- ldr r1, [r4]
- ldr r5, _080390BC @ =0x000003E2
- adds r3, r1, r5
- movs r2, #0
- ldrsh r0, [r3, r2]
- cmp r0, #0x2d
- bne _08039066
- movs r2, #0
- strh r0, [r3]
- movs r3, #0xf7
- lsls r3, r3, #2
- adds r1, r1, r3
- movs r0, #5
- strb r0, [r1]
- ldr r0, [r4]
- ldr r6, _080390B4 @ =0x000003E1
- adds r0, r0, r6
- strb r2, [r0]
-_08039066:
- ldr r2, [r4]
- movs r1, #0x88
- lsls r1, r1, #3
- adds r0, r2, r1
- movs r3, #0
- ldrsb r3, [r0, r3]
- cmp r3, #0
- bne _08039098
- adds r0, r2, r5
- movs r4, #0
- ldrsh r0, [r0, r4]
- cmp r0, #0x2a
- bne _08039098
- ldr r0, _080390C0 @ =gMain
- ldr r6, _080390C4 @ =0x00001438
- adds r0, r0, r6
- movs r1, #1
- strh r1, [r0]
- ldr r1, _080390C8 @ =0x00000456
- adds r0, r2, r1
- strh r3, [r0]
- ldr r0, _080390CC @ =0x02032F20
- ldr r1, _080390D0 @ =0x086A2038
- bl MPlayStart
-_08039098:
- ldr r0, _080390B8 @ =0x020314E0
- ldr r1, [r0]
- ldr r2, _080390D4 @ =0x00000452
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, #6
- bhi _080390A8
- b _08039562
-_080390A8:
- movs r3, #0x88
- lsls r3, r3, #3
- adds r1, r1, r3
- movs r0, #1
- strb r0, [r1]
- b _08039562
- .align 2, 0
-_080390B4: .4byte 0x000003E1
-_080390B8: .4byte 0x020314E0
-_080390BC: .4byte 0x000003E2
-_080390C0: .4byte gMain
-_080390C4: .4byte 0x00001438
-_080390C8: .4byte 0x00000456
-_080390CC: .4byte 0x02032F20
-_080390D0: .4byte 0x086A2038
-_080390D4: .4byte 0x00000452
-_080390D8:
- mov r4, r8
- ldr r0, [r4]
- movs r6, #0xa5
- lsls r6, r6, #2
- adds r0, r0, r6
- movs r5, #0
- movs r1, #3
- strb r1, [r0]
- ldr r4, [r4]
- ldr r1, _08039158 @ =0x00000283
- adds r0, r4, r1
- ldrb r0, [r0]
- movs r1, #5
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- cmp r0, #3
- bne _08039174
- movs r2, #0xf7
- lsls r2, r2, #2
- adds r1, r4, r2
- movs r0, #0xa
- strb r0, [r1]
- mov r3, r8
- ldr r0, [r3]
- ldr r4, _0803915C @ =0x000003E2
- adds r0, r0, r4
- movs r4, #0
- strh r5, [r0]
- ldr r3, _08039160 @ =gMain
- ldr r6, _08039164 @ =0x00000A28
- adds r0, r3, r6
- movs r1, #1
- strh r1, [r0]
- movs r2, #0x97
- lsls r2, r2, #4
- adds r0, r3, r2
- strh r1, [r0]
- mov r6, r8
- ldr r1, [r6]
- movs r0, #0xb3
- lsls r0, r0, #3
- adds r2, r1, r0
- movs r0, #0xc5
- strh r0, [r2]
- ldr r2, _08039168 @ =0x0000038E
- adds r0, r1, r2
- strh r5, [r0]
- movs r6, #0xb5
- lsls r6, r6, #3
- adds r1, r1, r6
- strb r4, [r1]
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _0803916C @ =0x000005A6
- adds r1, r0, r2
- strh r5, [r1]
- ldr r4, _08039170 @ =0x000005A4
- adds r0, r0, r4
- movs r1, #2
- strb r1, [r0]
- adds r2, r3, #0
- b _080391A4
- .align 2, 0
-_08039158: .4byte 0x00000283
-_0803915C: .4byte 0x000003E2
-_08039160: .4byte gMain
-_08039164: .4byte 0x00000A28
-_08039168: .4byte 0x0000038E
-_0803916C: .4byte 0x000005A6
-_08039170: .4byte 0x000005A4
-_08039174:
- movs r6, #0xf7
- lsls r6, r6, #2
- adds r1, r4, r6
- movs r0, #9
- strb r0, [r1]
- mov r0, r8
- ldr r1, [r0]
- ldr r3, _080391D4 @ =0x000003E2
- adds r2, r1, r3
- movs r0, #0x4f
- strh r0, [r2]
- ldr r2, _080391D8 @ =gMain
- movs r0, #0x80
- strb r0, [r2, #0xf]
- movs r4, #0xe2
- lsls r4, r4, #2
- adds r1, r1, r4
- movs r0, #2
- strb r0, [r1]
- mov r6, r8
- ldr r0, [r6]
- ldr r1, _080391DC @ =0x00000392
- adds r0, r0, r1
- strh r5, [r0]
-_080391A4:
- ldr r3, _080391E0 @ =0x00000E78
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, #0
- beq _080391C4
- mov r4, r8
- ldr r0, [r4]
- ldr r6, _080391E4 @ =0x00000445
- adds r0, r0, r6
- movs r1, #7
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _080391E8 @ =0x0000044E
- adds r0, r0, r1
- movs r1, #1
- strh r1, [r0]
-_080391C4:
- ldr r0, _080391EC @ =0x020314E0
- ldr r0, [r0]
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r0, r0, r2
- movs r1, #0
- strh r1, [r0]
- b _08039562
- .align 2, 0
-_080391D4: .4byte 0x000003E2
-_080391D8: .4byte gMain
-_080391DC: .4byte 0x00000392
-_080391E0: .4byte 0x00000E78
-_080391E4: .4byte 0x00000445
-_080391E8: .4byte 0x0000044E
-_080391EC: .4byte 0x020314E0
-_080391F0:
- ldr r2, _08039264 @ =0x086AEAF8
- ldr r5, _08039268 @ =0x020314E0
- ldr r4, [r5]
- ldr r6, _0803926C @ =0x000003E2
- adds r3, r4, r6
- movs r0, #0
- ldrsh r1, [r3, r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r1, r4, r2
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r0, r2
- bls _08039218
- b _080394A6
-_08039218:
- movs r2, #0
- strh r2, [r1]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x6c
- bne _08039242
- movs r0, #0x6b
- strh r0, [r3]
- movs r3, #0xf7
- lsls r3, r3, #2
- adds r1, r4, r3
- movs r0, #0xd
- strb r0, [r1]
- ldr r1, [r5]
- movs r0, #2
- strb r0, [r1, #0x13]
- ldr r0, [r5]
- strh r2, [r0, #0x18]
-_08039242:
- ldr r1, [r5]
- adds r0, r1, r6
- movs r4, #0
- ldrsh r0, [r0, r4]
- cmp r0, #0x61
- beq _08039250
- b _08039562
-_08039250:
- ldr r6, _08039270 @ =0x00000387
- adds r1, r1, r6
- movs r0, #0
- strb r0, [r1]
- ldr r0, _08039274 @ =0x02032F20
- ldr r1, _08039278 @ =0x086A20F8
- bl MPlayStart
- b _08039562
- .align 2, 0
-_08039264: .4byte 0x086AEAF8
-_08039268: .4byte 0x020314E0
-_0803926C: .4byte 0x000003E2
-_08039270: .4byte 0x00000387
-_08039274: .4byte 0x02032F20
-_08039278: .4byte 0x086A20F8
-_0803927C:
- ldr r2, _080392A8 @ =0x086AEAF8
- mov r0, r8
- ldr r3, [r0]
- ldr r1, _080392AC @ =0x000003E2
- adds r4, r3, r1
- movs r6, #0
- ldrsh r1, [r4, r6]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r1, #0xf9
- lsls r1, r1, #2
- adds r3, r3, r1
- ldrh r1, [r3]
- ldrh r0, [r0]
- cmp r0, r1
- bls _080392B0
- adds r0, r1, #1
- strh r0, [r3]
- b _080392C4
- .align 2, 0
-_080392A8: .4byte 0x086AEAF8
-_080392AC: .4byte 0x000003E2
-_080392B0:
- movs r1, #0
- strh r1, [r3]
- ldrh r0, [r4]
- adds r0, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #4
- bne _080392C4
- strh r1, [r4]
-_080392C4:
- mov r2, r8
- ldr r6, [r2]
- ldr r3, _0803933C @ =0x0000038E
- adds r4, r6, r3
- ldrh r5, [r4]
- movs r1, #0
- ldrsh r0, [r4, r1]
- ldr r1, _08039340 @ =0xFFFFFE0C
- cmp r0, r1
- ble _08039304
- subs r0, r1, r0
- movs r1, #0x1e
- bl __divsi3
- adds r0, r5, r0
- strh r0, [r4]
- movs r3, #0
- ldrsh r0, [r4, r3]
- movs r1, #0xa
- bl __divsi3
- adds r2, r6, #0
- adds r2, #0xe6
- strh r0, [r2]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #0x32
- rsbs r1, r1, #0
- cmp r0, r1
- bge _08039304
- ldr r0, _08039344 @ =0x0000FFCE
- strh r0, [r2]
-_08039304:
- ldr r3, _08039348 @ =0x020314E0
- ldr r1, [r3]
- movs r2, #0xb5
- lsls r2, r2, #3
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x15
- bne _08039320
- ldr r4, _0803934C @ =0x000003E2
- adds r1, r1, r4
- movs r0, #0x72
- strh r0, [r1]
-_08039320:
- ldr r1, [r3]
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x16
- beq _08039330
- b _08039562
-_08039330:
- ldr r6, _0803934C @ =0x000003E2
- adds r1, r1, r6
- movs r0, #0x73
- strh r0, [r1]
- b _08039562
- .align 2, 0
-_0803933C: .4byte 0x0000038E
-_08039340: .4byte 0xFFFFFE0C
-_08039344: .4byte 0x0000FFCE
-_08039348: .4byte 0x020314E0
-_0803934C: .4byte 0x000003E2
-_08039350:
- ldr r5, _08039428 @ =0x020314E0
- ldr r2, [r5]
- movs r6, #0xf9
- lsls r6, r6, #2
- adds r1, r2, r6
- ldrh r3, [r1]
- ldr r0, _0803942C @ =0x0000012B
- cmp r3, r0
- bhi _08039440
- adds r0, r3, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0xda
- bne _080393AE
- ldr r0, _08039430 @ =0x00000456
- adds r1, r2, r0
- movs r0, #0
- strh r0, [r1]
- bl Random
- ldr r4, [r5]
- movs r1, #0x64
- bl __umodsi3
- lsls r1, r0, #2
- adds r1, r1, r0
- lsls r1, r1, #1
- movs r2, #0xfa
- lsls r2, r2, #1
- adds r0, r2, #0
- subs r0, r0, r1
- movs r3, #0xfa
- lsls r3, r3, #2
- adds r4, r4, r3
- strh r0, [r4]
- bl Random
- ldr r4, [r5]
- movs r1, #0x64
- bl __umodsi3
- lsls r0, r0, #2
- adds r0, #0xc8
- ldr r1, _08039434 @ =0x000003EA
- adds r4, r4, r1
- strh r0, [r4]
-_080393AE:
- ldr r0, [r5]
- adds r0, r0, r6
- ldrh r1, [r0]
- movs r0, #0x82
- lsls r0, r0, #1
- cmp r1, r0
- beq _080393BE
- b _08039562
-_080393BE:
- movs r1, #0
- mov r8, r5
- mov ip, r8
- ldr r7, _08039438 @ =0x00000441
- movs r6, #0x8b
- lsls r6, r6, #3
- movs r5, #0
-_080393CC:
- mov r3, ip
- ldr r2, [r3]
- lsls r0, r1, #0x10
- asrs r4, r0, #0x10
- adds r0, r2, r7
- adds r3, r0, r4
- movs r0, #0
- ldrsb r0, [r3, r0]
- cmp r0, #3
- bne _080393FE
- lsls r1, r4, #1
- adds r0, r2, r6
- adds r0, r0, r1
- strh r5, [r0]
- movs r0, #4
- strb r0, [r3]
- mov r0, r8
- ldr r2, [r0]
- ldr r1, _0803943C @ =0x000005AC
- adds r2, r2, r1
- ldr r0, [r2]
- lsrs r1, r0, #0x1f
- adds r0, r0, r1
- asrs r0, r0, #1
- str r0, [r2]
-_080393FE:
- mov r2, ip
- ldr r1, [r2]
- adds r0, r1, r7
- adds r2, r0, r4
- movs r0, #0
- ldrsb r0, [r2, r0]
- cmp r0, #2
- bne _0803941A
- lsls r0, r4, #1
- adds r1, r1, r6
- adds r1, r1, r0
- strh r5, [r1]
- movs r0, #5
- strb r0, [r2]
-_0803941A:
- adds r0, r4, #1
- lsls r0, r0, #0x10
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #1
- ble _080393CC
- b _08039562
- .align 2, 0
-_08039428: .4byte 0x020314E0
-_0803942C: .4byte 0x0000012B
-_08039430: .4byte 0x00000456
-_08039434: .4byte 0x000003EA
-_08039438: .4byte 0x00000441
-_0803943C: .4byte 0x000005AC
-_08039440:
- movs r0, #0
- strh r0, [r1]
- ldr r3, _08039470 @ =0x000003E2
- adds r1, r2, r3
- movs r0, #0x43
- strh r0, [r1]
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r1, r2, r4
- movs r0, #0xc
- strb r0, [r1]
- ldr r0, [r5]
- ldr r6, _08039474 @ =0x00000387
- adds r0, r0, r6
- movs r1, #2
- strb r1, [r0]
- ldr r0, _08039478 @ =0x02032F20
- ldr r1, _0803947C @ =0x086A1F10
- bl MPlayStart
- movs r0, #8
- bl sub_11B0
- b _08039562
- .align 2, 0
-_08039470: .4byte 0x000003E2
-_08039474: .4byte 0x00000387
-_08039478: .4byte 0x02032F20
-_0803947C: .4byte 0x086A1F10
-_08039480:
- ldr r2, _080394AC @ =0x086AEAF8
- mov r7, r8
- ldr r4, [r7]
- ldr r6, _080394B0 @ =0x000003E2
- adds r3, r4, r6
- movs r0, #0
- ldrsh r1, [r3, r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r1, r4, r2
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r0, r2
- bls _080394B4
-_080394A6:
- adds r0, r2, #1
- strh r0, [r1]
- b _08039562
- .align 2, 0
-_080394AC: .4byte 0x086AEAF8
-_080394B0: .4byte 0x000003E2
-_080394B4:
- movs r5, #0
- strh r5, [r1]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x4f
- bne _0803951C
- ldr r0, _080394F0 @ =0x000003E1
- adds r1, r4, r0
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- bgt _080394F4
- movs r0, #0x4e
- strh r0, [r3]
- movs r2, #0xf7
- lsls r2, r2, #2
- adds r1, r4, r2
- movs r0, #0xb
- strb r0, [r1]
- ldr r1, [r7]
- ldr r3, _080394F0 @ =0x000003E1
- adds r1, r1, r3
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- b _0803951C
- .align 2, 0
-_080394F0: .4byte 0x000003E1
-_080394F4:
- movs r0, #0
- strb r0, [r1]
- mov r4, r8
- ldr r1, [r4]
- adds r2, r1, r6
- movs r0, #8
- strh r0, [r2]
- movs r6, #0xf7
- lsls r6, r6, #2
- adds r1, r1, r6
- movs r0, #2
- strb r0, [r1]
- ldr r0, [r4]
- movs r2, #0xfa
- lsls r2, r2, #2
- adds r1, r0, r2
- strh r5, [r1]
- ldr r3, _080395B0 @ =0x000003EA
- adds r0, r0, r3
- strh r5, [r0]
-_0803951C:
- ldr r3, _080395B4 @ =0x020314E0
- ldr r1, [r3]
- ldr r2, _080395B8 @ =0x000003E2
- adds r0, r1, r2
- movs r4, #0
- ldrsh r0, [r0, r4]
- cmp r0, #0x46
- bne _08039534
- ldr r6, _080395BC @ =0x00000387
- adds r1, r1, r6
- movs r0, #3
- strb r0, [r1]
-_08039534:
- ldr r1, [r3]
- adds r0, r1, r2
- movs r4, #0
- ldrsh r0, [r0, r4]
- cmp r0, #0x49
- bne _08039548
- ldr r6, _080395BC @ =0x00000387
- adds r1, r1, r6
- movs r0, #0
- strb r0, [r1]
-_08039548:
- ldr r0, [r3]
- adds r0, r0, r2
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x48
- bne _08039562
- ldr r0, _080395C0 @ =0x02032F20
- ldr r1, _080395C4 @ =0x086A1FC4
- bl MPlayStart
- movs r0, #8
- bl sub_11B0
-_08039562:
- ldr r5, _080395B4 @ =0x020314E0
- ldr r0, [r5]
- movs r4, #0xe4
- lsls r4, r4, #2
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, #0
- beq _080395A2
- subs r0, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0x14
- bne _0803958C
- ldr r0, _080395C8 @ =0x086A3700
- ldr r2, _080395CC @ =0x00001278
- adds r0, r0, r2
- ldrh r0, [r0]
- movs r1, #0
- bl sub_528DC
-_0803958C:
- ldr r0, [r5]
- adds r0, r0, r4
- ldrh r0, [r0]
- cmp r0, #0
- bne _080395A2
- ldr r0, _080395D0 @ =0x02032EE0
- ldr r1, _080395D4 @ =0x0000FFFF
- movs r2, #0x80
- lsls r2, r2, #1
- bl m4aMPlayVolumeControl
-_080395A2:
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080395B0: .4byte 0x000003EA
-_080395B4: .4byte 0x020314E0
-_080395B8: .4byte 0x000003E2
-_080395BC: .4byte 0x00000387
-_080395C0: .4byte 0x02032F20
-_080395C4: .4byte 0x086A1FC4
-_080395C8: .4byte 0x086A3700
-_080395CC: .4byte 0x00001278
-_080395D0: .4byte 0x02032EE0
-_080395D4: .4byte 0x0000FFFF
-
- thumb_func_start sub_395D8
-sub_395D8: @ 0x080395D8
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #8
- ldr r7, _08039648 @ =0x0200C2D0
- ldrh r0, [r7]
- cmp r0, #0
- bne _080395EE
- b _080398D0
-_080395EE:
- ldr r1, _0803964C @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08039650 @ =0x000003DF
- adds r3, r0, r2
- movs r5, #0
- ldrsb r5, [r3, r5]
- ldr r4, _08039654 @ =0x086AEAF8
- adds r2, #3
- adds r0, r0, r2
- movs r6, #0
- ldrsh r1, [r0, r6]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r1, r4, #4
- adds r0, r0, r1
- ldrh r0, [r0]
- strb r0, [r3]
- ldr r1, _0803964C @ =0x020314E0
- ldr r0, [r1]
- adds r0, r0, r2
- movs r2, #0
- ldrsh r1, [r0, r2]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r0, r0, r4
- ldrh r0, [r0]
- mov r8, r0
- cmp r5, #0xe
- bgt _08039668
- ldr r2, _08039658 @ =0x040000D4
- lsls r0, r5, #1
- adds r0, r0, r5
- lsls r0, r0, #2
- subs r0, r0, r5
- lsls r0, r0, #7
- ldr r1, _0803965C @ =0x0849664C
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _08039660 @ =0x06010FA0
- str r0, [r2, #4]
- ldr r0, _08039664 @ =0x800002C0
- b _08039684
- .align 2, 0
-_08039648: .4byte 0x0200C2D0
-_0803964C: .4byte 0x020314E0
-_08039650: .4byte 0x000003DF
-_08039654: .4byte 0x086AEAF8
-_08039658: .4byte 0x040000D4
-_0803965C: .4byte 0x0849664C
-_08039660: .4byte 0x06010FA0
-_08039664: .4byte 0x800002C0
-_08039668:
- ldr r2, _08039720 @ =0x040000D4
- adds r1, r5, #0
- subs r1, #0xf
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r0, r0, #2
- subs r0, r0, r1
- lsls r0, r0, #6
- ldr r1, _08039724 @ =0x0849B8CC
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _08039728 @ =0x06010FA0
- str r0, [r2, #4]
- ldr r0, _0803972C @ =0x80000260
-_08039684:
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- ldr r3, _08039730 @ =0x020314E0
- ldr r4, [r3]
- movs r6, #0xfa
- lsls r6, r6, #2
- adds r5, r4, r6
- movs r1, #0
- ldrsh r0, [r5, r1]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x48
- adds r1, r4, #0
- adds r1, #0x58
- ldrh r1, [r1]
- subs r0, r0, r1
- strh r0, [r7, #2]
- ldr r2, _08039734 @ =0x000003EA
- adds r6, r4, r2
- movs r3, #0
- ldrsh r0, [r6, r3]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x42
- adds r1, r4, #0
- adds r1, #0x5a
- ldrh r1, [r1]
- subs r0, r0, r1
- strh r0, [r7, #4]
- movs r1, #0
- ldrsh r0, [r5, r1]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x78
- movs r2, #0xa2
- lsls r2, r2, #2
- adds r1, r4, r2
- strh r0, [r1]
- movs r3, #0
- ldrsh r0, [r6, r3]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x32
- ldr r2, _08039738 @ =0x0000028A
- adds r1, r4, r2
- strh r0, [r1]
- ldr r3, _0803973C @ =0x00000387
- adds r0, r4, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- bne _08039740
- movs r1, #0
- ldrsh r0, [r5, r1]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0xc0
- movs r2, #0xfc
- lsls r2, r2, #2
- adds r1, r4, r2
- strh r0, [r1]
- movs r3, #0
- ldrsh r0, [r6, r3]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0x86
- b _08039796
- .align 2, 0
-_08039720: .4byte 0x040000D4
-_08039724: .4byte 0x0849B8CC
-_08039728: .4byte 0x06010FA0
-_0803972C: .4byte 0x80000260
-_08039730: .4byte 0x020314E0
-_08039734: .4byte 0x000003EA
-_08039738: .4byte 0x0000028A
-_0803973C: .4byte 0x00000387
-_08039740:
- cmp r0, #3
- bne _0803976E
- movs r1, #0
- ldrsh r0, [r5, r1]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0xc0
- movs r2, #0xfc
- lsls r2, r2, #2
- adds r1, r4, r2
- strh r0, [r1]
- movs r3, #0
- ldrsh r0, [r6, r3]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0x96
- b _08039796
-_0803976E:
- movs r1, #0
- ldrsh r0, [r5, r1]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0xb4
- movs r2, #0xfc
- lsls r2, r2, #2
- adds r1, r4, r2
- strh r0, [r1]
- movs r3, #0
- ldrsh r0, [r6, r3]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0x74
-_08039796:
- ldr r6, _080397FC @ =0x000003F2
- adds r1, r4, r6
- strh r0, [r1]
- ldr r1, _08039800 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08039804 @ =0x00000389
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #9
- ble _08039810
- movs r2, #0
- ldr r4, _08039808 @ =gOamBuffer
- ldr r3, _0803980C @ =0xFFFFFE00
- mov r8, r3
- movs r6, #0xb0
-_080397B8:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- adds r5, r7, r0
- ldrh r2, [r5]
- lsls r2, r2, #3
- adds r2, r2, r4
- ldrh r1, [r2, #2]
- mov r0, r8
- ands r0, r1
- movs r1, #0xf0
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r0, [r5]
- lsls r0, r0, #3
- adds r0, r0, r4
- movs r1, #0xb4
- strb r1, [r0]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r2, [r1, #5]
- movs r0, #0xf
- ands r0, r2
- orrs r0, r6
- strb r0, [r1, #5]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #9
- ble _080397B8
- b _080398D0
- .align 2, 0
-_080397FC: .4byte 0x000003F2
-_08039800: .4byte 0x020314E0
-_08039804: .4byte 0x00000389
-_08039808: .4byte gOamBuffer
-_0803980C: .4byte 0xFFFFFE00
-_08039810:
- cmp r0, #1
- bne _0803981C
- movs r3, #0xe
- mov r4, r8
- lsls r0, r4, #0x10
- b _0803983C
-_0803981C:
- cmp r0, #3
- bne _08039828
- movs r3, #0xb
- mov r6, r8
- lsls r0, r6, #0x10
- b _0803983C
-_08039828:
- mov r1, r8
- lsls r0, r1, #0x10
- asrs r1, r0, #0x10
- movs r3, #4
- cmp r1, #0x14
- beq _0803983C
- movs r3, #0xf
- cmp r1, #0x15
- bne _0803983C
- movs r3, #3
-_0803983C:
- movs r2, #0
- lsls r3, r3, #4
- mov r8, r3
- ldr r3, _080399BC @ =0x086B92FC
- mov sl, r3
- ldr r6, _080399C0 @ =gOamBuffer
- asrs r1, r0, #0x10
- lsls r0, r1, #4
- subs r0, r0, r1
- lsls r0, r0, #2
- mov ip, r0
- ldr r4, _080399C4 @ =0xFFFFFE00
- mov sb, r4
-_08039856:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- adds r5, r7, r0
- ldrh r2, [r5]
- lsls r2, r2, #3
- adds r2, r2, r6
- lsls r0, r3, #1
- adds r0, r0, r3
- lsls r0, r0, #1
- add r0, sl
- add r0, ip
- ldrh r1, [r0]
- strh r1, [r2]
- adds r0, #2
- adds r2, #2
- ldrh r1, [r0]
- strh r1, [r2]
- ldrh r0, [r0, #2]
- strh r0, [r2, #2]
- ldrh r2, [r5]
- lsls r2, r2, #3
- adds r2, r2, r6
- ldrh r0, [r2, #2]
- lsls r1, r0, #0x17
- lsrs r1, r1, #0x17
- str r1, [sp]
- movs r4, #2
- ldrsh r1, [r7, r4]
- ldr r0, [sp]
- adds r1, r0, r1
- ldr r4, _080399C8 @ =0x000001FF
- ands r1, r4
- mov r0, sb
- ldrh r4, [r2, #2]
- ands r0, r4
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r6
- ldrb r0, [r7, #4]
- ldrb r2, [r1]
- adds r0, r0, r2
- strb r0, [r1]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r6
- ldrb r2, [r1, #5]
- movs r0, #0xf
- ands r0, r2
- mov r4, r8
- orrs r0, r4
- strb r0, [r1, #5]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #9
- ble _08039856
-_080398D0:
- ldr r7, _080399CC @ =0x0200C668
- ldrh r0, [r7]
- cmp r0, #0
- bne _080398DA
- b _08039A08
-_080398DA:
- ldr r6, _080399D0 @ =0x020314E0
- ldr r4, [r6]
- movs r1, #0xfa
- lsls r1, r1, #2
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldrh r1, [r4]
- subs r1, #0x6c
- subs r0, r0, r1
- strh r0, [r7, #2]
- ldr r4, [r6]
- ldr r3, _080399D4 @ =0x000003EA
- adds r0, r4, r3
- movs r6, #0
- ldrsh r0, [r0, r6]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x52
- subs r0, r0, r1
- strh r0, [r7, #4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xc7
- ble _0803991E
- movs r0, #0xc8
- strh r0, [r7, #4]
-_0803991E:
- ldr r4, _080399D8 @ =0x086AEDCC
- ldr r1, _080399D0 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _080399DC @ =0x00000456
- adds r0, r0, r2
- ldrh r0, [r0]
- movs r1, #0x54
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #6
- bl __udivsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0xf
- adds r0, r0, r4
- ldr r2, _080399E0 @ =0x040000D4
- movs r3, #0
- ldrsh r1, [r0, r3]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #6
- ldr r1, _080399E4 @ =0x083C13AC
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _080399E8 @ =0x06012420
- str r0, [r2, #4]
- ldr r0, _080399EC @ =0x80000060
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- movs r2, #0
- ldr r6, _080399C0 @ =gOamBuffer
- ldr r4, _080399C4 @ =0xFFFFFE00
- mov r8, r4
-_08039964:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r7, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r6
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r7, r2]
- adds r1, r1, r0
- ldr r2, _080399C8 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r6
- ldrb r0, [r7, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #1
- ble _08039964
- ldr r3, _080399D0 @ =0x020314E0
- ldr r0, [r3]
- ldr r6, _080399DC @ =0x00000456
- adds r4, r0, r6
- ldrh r0, [r4]
- cmp r0, #0x52
- bhi _080399F0
- adds r0, #1
- strh r0, [r4]
- b _08039A2C
- .align 2, 0
-_080399BC: .4byte 0x086B92FC
-_080399C0: .4byte gOamBuffer
-_080399C4: .4byte 0xFFFFFE00
-_080399C8: .4byte 0x000001FF
-_080399CC: .4byte 0x0200C668
-_080399D0: .4byte 0x020314E0
-_080399D4: .4byte 0x000003EA
-_080399D8: .4byte 0x086AEDCC
-_080399DC: .4byte 0x00000456
-_080399E0: .4byte 0x040000D4
-_080399E4: .4byte 0x083C13AC
-_080399E8: .4byte 0x06012420
-_080399EC: .4byte 0x80000060
-_080399F0:
- movs r1, #0
- strh r1, [r4]
- ldr r0, _08039A00 @ =gMain
- ldr r2, _08039A04 @ =0x000015A8
- adds r0, r0, r2
- strh r1, [r0]
- b _08039A2C
- .align 2, 0
-_08039A00: .4byte gMain
-_08039A04: .4byte 0x000015A8
-_08039A08:
- ldr r3, _08039A3C @ =0x020314E0
- ldr r1, [r3]
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0xb
- bne _08039A2C
- movs r6, #0xf9
- lsls r6, r6, #2
- adds r0, r1, r6
- ldrh r0, [r0]
- cmp r0, #0xda
- bne _08039A2C
- movs r0, #1
- strh r0, [r7]
-_08039A2C:
- add sp, #8
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08039A3C: .4byte 0x020314E0
-
- thumb_func_start sub_39A40
-sub_39A40: @ 0x08039A40
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #0x40
- movs r0, #0
- str r0, [sp, #4]
- ldr r1, _08039A84 @ =0x0200BAE8
- str r1, [sp]
- ldrh r0, [r1]
- movs r2, #0x8a
- lsls r2, r2, #3
- adds r1, r1, r2
- mov ip, r1
- cmp r0, #0
- bne _08039A64
- b _08039BF8
-_08039A64:
- ldr r0, _08039A88 @ =0x020314E0
- ldr r1, [r0]
- ldr r3, _08039A8C @ =0x000006C4
- adds r1, r1, r3
- ldrb r1, [r1]
- lsls r1, r1, #0x18
- asrs r1, r1, #0x18
- cmp r1, #3
- bne _08039A90
- movs r0, #0xf0
- ldr r4, [sp]
- strh r0, [r4, #2]
- movs r0, #0xb4
- strh r0, [r4, #4]
- b _08039A9A
- .align 2, 0
-_08039A84: .4byte 0x0200BAE8
-_08039A88: .4byte 0x020314E0
-_08039A8C: .4byte 0x000006C4
-_08039A90:
- movs r0, #0x60
- ldr r5, [sp]
- strh r0, [r5, #2]
- movs r0, #0x37
- strh r0, [r5, #4]
-_08039A9A:
- ldr r6, _08039C24 @ =0x020314E0
- ldr r1, [r6]
- ldr r7, [sp]
- ldrh r2, [r7, #2]
- ldr r3, _08039C28 @ =0x000006E4
- adds r0, r1, r3
- strh r2, [r0]
- ldrh r0, [r7, #4]
- ldr r4, _08039C2C @ =0x000006E6
- adds r1, r1, r4
- strh r0, [r1]
- movs r5, #4
- ldrsh r0, [r7, r5]
- cmp r0, #0xc7
- ble _08039ABC
- movs r0, #0xc8
- strh r0, [r7, #4]
-_08039ABC:
- movs r2, #0
- ldr r6, _08039C30 @ =0x0200BA30
- mov sl, r6
- movs r7, #0xa1
- lsls r7, r7, #3
- add r7, sl
- mov ip, r7
- ldr r5, _08039C34 @ =gOamBuffer
- movs r0, #3
- mov r8, r0
- movs r1, #0xd
- rsbs r1, r1, #0
- mov sb, r1
-_08039AD6:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- ldr r2, [sp]
- adds r6, r2, r0
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r5
- ldrb r1, [r2, #5]
- movs r0, #0xf
- ands r0, r1
- movs r1, #0xd0
- orrs r0, r1
- strb r0, [r2, #5]
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r5
- ldr r7, _08039C24 @ =0x020314E0
- ldr r0, [r7]
- ldr r1, _08039C38 @ =0x000006DB
- adds r0, r0, r1
- ldrb r1, [r0]
- mov r2, r8
- ands r1, r2
- lsls r1, r1, #2
- ldrb r2, [r3, #5]
- mov r0, sb
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, #5]
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r5
- movs r7, #2
- ldrsh r1, [r6, r7]
- ldr r2, [sp]
- movs r7, #2
- ldrsh r0, [r2, r7]
- adds r1, r1, r0
- ldr r2, _08039C3C @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- ldr r0, _08039C40 @ =0xFFFFFE00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldr r3, [sp]
- ldrb r0, [r3, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #5
- ble _08039AD6
- mov r4, sl
- str r4, [sp]
- ldr r5, _08039C24 @ =0x020314E0
- ldr r0, [r5]
- ldr r6, _08039C28 @ =0x000006E4
- adds r0, r0, r6
- ldrh r0, [r0]
- subs r0, #8
- strh r0, [r4, #2]
- ldr r0, [r5]
- ldr r7, _08039C2C @ =0x000006E6
- adds r0, r0, r7
- ldrh r0, [r0]
- subs r0, #8
- strh r0, [r4, #4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xc7
- ble _08039B7C
- movs r0, #0xc8
- strh r0, [r4, #4]
-_08039B7C:
- movs r2, #0
- ldr r5, _08039C34 @ =gOamBuffer
- movs r0, #3
- mov r8, r0
- movs r1, #0xd
- rsbs r1, r1, #0
- mov sb, r1
- ldr r3, _08039C40 @ =0xFFFFFE00
- mov sl, r3
-_08039B8E:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- ldr r7, [sp]
- adds r6, r7, r0
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r5
- ldr r1, _08039C24 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08039C38 @ =0x000006DB
- adds r0, r0, r2
- ldrb r1, [r0]
- mov r7, r8
- ands r1, r7
- lsls r1, r1, #2
- ldrb r2, [r3, #5]
- mov r0, sb
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, #5]
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r5
- movs r0, #2
- ldrsh r1, [r6, r0]
- ldr r2, [sp]
- movs r7, #2
- ldrsh r0, [r2, r7]
- adds r1, r1, r0
- ldr r2, _08039C3C @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, sl
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldr r3, [sp]
- ldrb r0, [r3, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #5
- ble _08039B8E
-_08039BF8:
- mov r4, ip
- str r4, [sp]
- ldrh r0, [r4]
- cmp r0, #0
- bne _08039C04
- b _0803A14E
-_08039C04:
- ldr r1, _08039C24 @ =0x020314E0
- ldr r0, [r1]
- ldr r5, _08039C44 @ =0x00000445
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #7
- bls _08039C18
- b _08039EBA
-_08039C18:
- lsls r0, r0, #2
- ldr r1, _08039C48 @ =_08039C4C
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08039C24: .4byte 0x020314E0
-_08039C28: .4byte 0x000006E4
-_08039C2C: .4byte 0x000006E6
-_08039C30: .4byte 0x0200BA30
-_08039C34: .4byte gOamBuffer
-_08039C38: .4byte 0x000006DB
-_08039C3C: .4byte 0x000001FF
-_08039C40: .4byte 0xFFFFFE00
-_08039C44: .4byte 0x00000445
-_08039C48: .4byte _08039C4C
-_08039C4C: @ jump table
- .4byte _08039C6C @ case 0
- .4byte _08039CFC @ case 1
- .4byte _08039D30 @ case 2
- .4byte _08039D90 @ case 3
- .4byte _08039DC0 @ case 4
- .4byte _08039E20 @ case 5
- .4byte _08039E50 @ case 6
- .4byte _08039EB0 @ case 7
-_08039C6C:
- ldr r6, _08039CD0 @ =0x020314E0
- ldr r0, [r6]
- ldr r7, _08039CD4 @ =0x00000449
- adds r0, r0, r7
- movs r2, #0
- strb r2, [r0]
- ldr r0, [r6]
- ldr r1, _08039CD8 @ =0x00000446
- adds r0, r0, r1
- movs r1, #5
- strb r1, [r0]
- ldr r0, [r6]
- ldr r3, _08039CDC @ =0x00000447
- adds r0, r0, r3
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r6]
- ldr r4, _08039CE0 @ =0x0000044A
- adds r0, r0, r4
- strb r2, [r0]
- ldr r1, [r6]
- ldr r5, _08039CE4 @ =0x0000044E
- adds r0, r1, r5
- strh r2, [r0]
- movs r6, #0x89
- lsls r6, r6, #3
- adds r0, r1, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- beq _08039CAE
- b _08039EBA
-_08039CAE:
- ldr r2, _08039CE8 @ =0x040000D4
- ldr r7, _08039CEC @ =0x000005F6
- adds r0, r1, r7
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #8
- lsls r0, r0, #5
- ldr r1, _08039CF0 @ =0x08137E14
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _08039CF4 @ =0x05000220
- str r0, [r2, #4]
- ldr r0, _08039CF8 @ =0x80000010
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- b _08039EBA
- .align 2, 0
-_08039CD0: .4byte 0x020314E0
-_08039CD4: .4byte 0x00000449
-_08039CD8: .4byte 0x00000446
-_08039CDC: .4byte 0x00000447
-_08039CE0: .4byte 0x0000044A
-_08039CE4: .4byte 0x0000044E
-_08039CE8: .4byte 0x040000D4
-_08039CEC: .4byte 0x000005F6
-_08039CF0: .4byte 0x08137E14
-_08039CF4: .4byte 0x05000220
-_08039CF8: .4byte 0x80000010
-_08039CFC:
- ldr r1, _08039D20 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08039D24 @ =0x0000044A
- adds r0, r0, r2
- movs r1, #4
- strb r1, [r0]
- ldr r3, _08039D20 @ =0x020314E0
- ldr r1, [r3]
- ldr r4, _08039D28 @ =0x0000044E
- adds r2, r1, r4
- movs r0, #0x5a
- strh r0, [r2]
- ldr r5, _08039D2C @ =0x00000445
- adds r1, r1, r5
- movs r0, #2
- strb r0, [r1]
- b _08039EBA
- .align 2, 0
-_08039D20: .4byte 0x020314E0
-_08039D24: .4byte 0x0000044A
-_08039D28: .4byte 0x0000044E
-_08039D2C: .4byte 0x00000445
-_08039D30:
- ldr r0, _08039D78 @ =0x020314E0
- ldr r1, [r0]
- ldrh r0, [r1, #4]
- cmp r0, #0
- beq _08039D54
- ldr r6, _08039D7C @ =0x0000044E
- adds r1, r1, r6
- ldrh r0, [r1]
- subs r0, #0x5a
- strh r0, [r1]
- lsls r0, r0, #0x10
- cmp r0, #0
- bge _08039D4E
- movs r0, #0
- strh r0, [r1]
-_08039D4E:
- ldr r0, _08039D80 @ =0x00000111
- bl m4aSongNumStart
-_08039D54:
- ldr r2, _08039D78 @ =0x020314E0
- ldr r0, [r2]
- ldr r7, _08039D84 @ =0x00000449
- adds r0, r0, r7
- movs r1, #5
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _08039D88 @ =0x00000446
- adds r0, r0, r1
- movs r1, #9
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, _08039D8C @ =0x00000447
- adds r0, r0, r3
- movs r1, #3
- strb r1, [r0]
- b _08039EBA
- .align 2, 0
-_08039D78: .4byte 0x020314E0
-_08039D7C: .4byte 0x0000044E
-_08039D80: .4byte 0x00000111
-_08039D84: .4byte 0x00000449
-_08039D88: .4byte 0x00000446
-_08039D8C: .4byte 0x00000447
-_08039D90:
- ldr r4, _08039DB0 @ =0x020314E0
- ldr r0, [r4]
- ldr r5, _08039DB4 @ =0x0000044A
- adds r0, r0, r5
- movs r3, #4
- strb r3, [r0]
- ldr r0, [r4]
- ldr r6, _08039DB8 @ =0x0000044E
- adds r2, r0, r6
- movs r1, #0x5a
- strh r1, [r2]
- ldr r7, _08039DBC @ =0x00000445
- adds r0, r0, r7
- strb r3, [r0]
- b _08039EBA
- .align 2, 0
-_08039DB0: .4byte 0x020314E0
-_08039DB4: .4byte 0x0000044A
-_08039DB8: .4byte 0x0000044E
-_08039DBC: .4byte 0x00000445
-_08039DC0:
- ldr r0, _08039E08 @ =0x020314E0
- ldr r1, [r0]
- ldrh r0, [r1, #4]
- cmp r0, #0
- beq _08039DE4
- ldr r0, _08039E0C @ =0x0000044E
- adds r1, r1, r0
- ldrh r0, [r1]
- subs r0, #0x5a
- strh r0, [r1]
- lsls r0, r0, #0x10
- cmp r0, #0
- bge _08039DDE
- movs r0, #0
- strh r0, [r1]
-_08039DDE:
- ldr r0, _08039E10 @ =0x00000111
- bl m4aSongNumStart
-_08039DE4:
- ldr r2, _08039E08 @ =0x020314E0
- ldr r0, [r2]
- ldr r1, _08039E14 @ =0x00000449
- adds r0, r0, r1
- movs r1, #9
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, _08039E18 @ =0x00000446
- adds r0, r0, r3
- movs r1, #0xd
- strb r1, [r0]
- ldr r0, [r2]
- ldr r4, _08039E1C @ =0x00000447
- adds r0, r0, r4
- movs r1, #5
- strb r1, [r0]
- b _08039EBA
- .align 2, 0
-_08039E08: .4byte 0x020314E0
-_08039E0C: .4byte 0x0000044E
-_08039E10: .4byte 0x00000111
-_08039E14: .4byte 0x00000449
-_08039E18: .4byte 0x00000446
-_08039E1C: .4byte 0x00000447
-_08039E20:
- ldr r5, _08039E40 @ =0x020314E0
- ldr r0, [r5]
- ldr r6, _08039E44 @ =0x0000044A
- adds r0, r0, r6
- movs r1, #0
- strb r1, [r0]
- ldr r1, [r5]
- ldr r7, _08039E48 @ =0x0000044E
- adds r2, r1, r7
- movs r0, #0x5a
- strh r0, [r2]
- ldr r0, _08039E4C @ =0x00000445
- adds r1, r1, r0
- movs r0, #6
- strb r0, [r1]
- b _08039EBA
- .align 2, 0
-_08039E40: .4byte 0x020314E0
-_08039E44: .4byte 0x0000044A
-_08039E48: .4byte 0x0000044E
-_08039E4C: .4byte 0x00000445
-_08039E50:
- ldr r0, _08039E98 @ =0x020314E0
- ldr r1, [r0]
- ldrh r0, [r1, #4]
- cmp r0, #0
- beq _08039E74
- ldr r2, _08039E9C @ =0x0000044E
- adds r1, r1, r2
- ldrh r0, [r1]
- subs r0, #0x5a
- strh r0, [r1]
- lsls r0, r0, #0x10
- cmp r0, #0
- bge _08039E6E
- movs r0, #0
- strh r0, [r1]
-_08039E6E:
- ldr r0, _08039EA0 @ =0x00000111
- bl m4aSongNumStart
-_08039E74:
- ldr r2, _08039E98 @ =0x020314E0
- ldr r0, [r2]
- ldr r3, _08039EA4 @ =0x00000449
- adds r0, r0, r3
- movs r1, #0xd
- strb r1, [r0]
- ldr r0, [r2]
- ldr r4, _08039EA8 @ =0x00000446
- adds r0, r0, r4
- movs r1, #0x13
- strb r1, [r0]
- ldr r0, [r2]
- ldr r5, _08039EAC @ =0x00000447
- adds r0, r0, r5
- movs r1, #7
- strb r1, [r0]
- b _08039EBA
- .align 2, 0
-_08039E98: .4byte 0x020314E0
-_08039E9C: .4byte 0x0000044E
-_08039EA0: .4byte 0x00000111
-_08039EA4: .4byte 0x00000449
-_08039EA8: .4byte 0x00000446
-_08039EAC: .4byte 0x00000447
-_08039EB0:
- ldr r0, _08039EE0 @ =gMain
- ldr r6, _08039EE4 @ =0x00000E78
- adds r0, r0, r6
- movs r1, #0
- strh r1, [r0]
-_08039EBA:
- ldr r7, _08039EE8 @ =0x020314E0
- ldr r4, [r7]
- ldr r0, _08039EEC @ =0x0000044E
- adds r1, r4, r0
- ldrh r2, [r1]
- movs r3, #0
- ldrsh r0, [r1, r3]
- cmp r0, #0
- ble _08039EF4
- subs r0, r2, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- cmp r0, #0
- beq _08039ED8
- b _08039FF4
-_08039ED8:
- ldr r0, _08039EF0 @ =0x00000111
- bl m4aSongNumStart
- b _08039FF4
- .align 2, 0
-_08039EE0: .4byte gMain
-_08039EE4: .4byte 0x00000E78
-_08039EE8: .4byte 0x020314E0
-_08039EEC: .4byte 0x0000044E
-_08039EF0: .4byte 0x00000111
-_08039EF4:
- ldr r2, _08039F20 @ =0x086AEE5E
- movs r5, #0x89
- lsls r5, r5, #3
- adds r3, r4, r5
- movs r1, #0
- ldrsb r1, [r3, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r6, #0
- ldrsh r0, [r0, r6]
- ldr r7, _08039F24 @ =0x00000454
- adds r1, r4, r7
- ldrh r2, [r1]
- cmp r0, r2
- ble _08039F28
- adds r0, r2, #1
- strh r0, [r1]
- b _08039FF4
- .align 2, 0
-_08039F20: .4byte 0x086AEE5E
-_08039F24: .4byte 0x00000454
-_08039F28:
- movs r0, #0
- strh r0, [r1]
- ldrb r0, [r3]
- adds r0, #1
- strb r0, [r3]
- ldr r0, _08039F74 @ =0x020314E0
- ldr r2, [r0]
- movs r1, #0x89
- lsls r1, r1, #3
- adds r3, r2, r1
- ldr r4, _08039F78 @ =0x00000446
- adds r0, r2, r4
- movs r1, #0
- ldrsb r1, [r3, r1]
- ldrb r4, [r0]
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r1, r0
- bne _08039FA4
- ldr r5, _08039F7C @ =0x0000044A
- adds r0, r2, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _08039F84
- ldr r6, _08039F80 @ =0x00000449
- adds r0, r2, r6
- ldrb r0, [r0]
- strb r0, [r3]
- ldr r7, _08039F74 @ =0x020314E0
- ldr r1, [r7]
- adds r1, r1, r5
- ldrb r0, [r1]
- subs r0, #1
- strb r0, [r1]
- b _08039F98
- .align 2, 0
-_08039F74: .4byte 0x020314E0
-_08039F78: .4byte 0x00000446
-_08039F7C: .4byte 0x0000044A
-_08039F80: .4byte 0x00000449
-_08039F84:
- subs r0, r4, #1
- strb r0, [r3]
- ldr r1, _0803A028 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _0803A02C @ =0x00000447
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r3, _0803A030 @ =0x00000445
- adds r0, r0, r3
- strb r1, [r0]
-_08039F98:
- ldr r4, _0803A028 @ =0x020314E0
- ldr r0, [r4]
- ldr r5, _0803A034 @ =0x0000044E
- adds r0, r0, r5
- movs r1, #0x5a
- strh r1, [r0]
-_08039FA4:
- ldr r5, _0803A028 @ =0x020314E0
- ldr r0, [r5]
- movs r4, #0x89
- lsls r4, r4, #3
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #1
- bne _08039FC0
- movs r0, #0x88
- lsls r0, r0, #1
- bl m4aSongNumStart
-_08039FC0:
- ldr r1, [r5]
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0xf
- bne _08039FF4
- ldr r2, _0803A038 @ =0x040000D4
- ldr r6, _0803A03C @ =0x000005F6
- adds r0, r1, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #5
- ldr r1, _0803A040 @ =0x08137E14
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _0803A044 @ =0x05000220
- str r0, [r2, #4]
- ldr r0, _0803A048 @ =0x80000010
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- movs r0, #0x89
- lsls r0, r0, #1
- bl m4aSongNumStart
-_08039FF4:
- ldr r0, _0803A028 @ =0x020314E0
- ldr r3, [r0]
- movs r7, #0x89
- lsls r7, r7, #3
- adds r1, r3, r7
- ldrb r1, [r1]
- lsls r1, r1, #0x18
- asrs r1, r1, #0x18
- cmp r1, #0x11
- bgt _0803A054
- ldr r0, _0803A04C @ =0x00000383
- adds r1, r3, r0
- movs r2, #0
- movs r0, #1
- strb r0, [r1]
- ldr r1, _0803A028 @ =0x020314E0
- ldr r0, [r1]
- ldr r3, _0803A050 @ =0x0000132C
- adds r0, r0, r3
- ldr r1, [r0]
- strh r2, [r1, #0x30]
- ldr r1, [r0]
- strh r2, [r1, #0x32]
- ldr r0, [r0]
- strh r2, [r0, #6]
- b _0803A05C
- .align 2, 0
-_0803A028: .4byte 0x020314E0
-_0803A02C: .4byte 0x00000447
-_0803A030: .4byte 0x00000445
-_0803A034: .4byte 0x0000044E
-_0803A038: .4byte 0x040000D4
-_0803A03C: .4byte 0x000005F6
-_0803A040: .4byte 0x08137E14
-_0803A044: .4byte 0x05000220
-_0803A048: .4byte 0x80000010
-_0803A04C: .4byte 0x00000383
-_0803A050: .4byte 0x0000132C
-_0803A054:
- ldr r4, _0803A194 @ =0x00000383
- adds r1, r3, r4
- movs r0, #0
- strb r0, [r1]
-_0803A05C:
- ldr r5, _0803A198 @ =0x020314E0
- ldr r0, [r5]
- ldr r6, _0803A19C @ =0x0000132C
- adds r0, r0, r6
- ldr r1, [r0]
- ldrh r1, [r1, #0x24]
- ldr r7, [sp]
- strh r1, [r7, #2]
- ldr r0, [r0]
- ldrh r0, [r0, #0x26]
- strh r0, [r7, #4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xc7
- ble _0803A07E
- movs r0, #0xc8
- strh r0, [r7, #4]
-_0803A07E:
- ldr r4, _0803A1A0 @ =0x086AEE5E
- ldr r1, _0803A198 @ =0x020314E0
- ldr r0, [r1]
- movs r3, #0x89
- lsls r3, r3, #3
- adds r0, r0, r3
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r1, r4, #4
- adds r0, r0, r1
- ldr r2, _0803A1A4 @ =0x040000D4
- ldrh r5, [r0]
- str r5, [sp, #4]
- movs r6, #0
- ldrsh r1, [r0, r6]
- lsls r0, r1, #4
- subs r0, r0, r1
- lsls r0, r0, #6
- ldr r1, _0803A1A8 @ =0x083C1A6C
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _0803A1AC @ =0x060124E0
- str r0, [r2, #4]
- ldr r0, _0803A1B0 @ =0x800001E0
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- ldr r7, _0803A198 @ =0x020314E0
- ldr r0, [r7]
- adds r0, r0, r3
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r0, r0, r4
- movs r2, #0
- ldr r1, _0803A1B4 @ =0x086B91AC
- mov sb, r1
- ldr r5, _0803A1B8 @ =gOamBuffer
- movs r3, #0
- ldrsh r1, [r0, r3]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #3
- mov sl, r0
- ldr r4, _0803A1BC @ =0xFFFFFE00
- mov r8, r4
-_0803A0E2:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- ldr r7, [sp]
- adds r6, r7, r0
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r5
- lsls r0, r3, #1
- adds r0, r0, r3
- lsls r0, r0, #1
- add r0, sb
- add r0, sl
- ldrh r1, [r0]
- strh r1, [r2]
- adds r0, #2
- adds r2, #2
- ldrh r1, [r0]
- strh r1, [r2]
- ldrh r0, [r0, #2]
- strh r0, [r2, #2]
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r5
- ldrh r4, [r2, #2]
- lsls r1, r4, #0x17
- lsrs r1, r1, #0x17
- mov ip, r1
- movs r1, #2
- ldrsh r0, [r7, r1]
- mov r7, ip
- adds r1, r7, r0
- ldr r7, _0803A1C0 @ =0x000001FF
- adds r0, r7, #0
- ands r1, r0
- mov r0, r8
- ands r0, r4
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldr r2, [sp]
- ldrb r0, [r2, #4]
- ldrb r4, [r1]
- adds r0, r0, r4
- strb r0, [r1]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #3
- ble _0803A0E2
-_0803A14E:
- movs r2, #0
-
- thumb_func_start sub_3A150
-sub_3A150: @ 0x0803A150
- lsls r2, r2, #0x10
- asrs r3, r2, #0x10
- movs r0, #0xb8
- adds r1, r3, #0
- muls r1, r0, r1
- ldr r0, _0803A1C4 @ =0x0200C388
- adds r1, r1, r0
- str r1, [sp]
- ldr r5, _0803A1C8 @ =0xFFFFED38
- adds r0, r0, r5
- ldrb r1, [r0, #0xf]
- movs r0, #0x80
- ands r0, r1
- str r2, [sp, #0x3c]
- cmp r0, #0
- beq _0803A174
- bl _0803A9A6
-_0803A174:
- ldr r0, _0803A198 @ =0x020314E0
- ldr r0, [r0]
- ldr r6, _0803A1CC @ =0x00000441
- adds r0, r0, r6
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #5
- bls _0803A18A
- b _0803A8A2
-_0803A18A:
- lsls r0, r0, #2
- ldr r1, _0803A1D0 @ =_0803A1D4
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803A194: .4byte 0x00000383
-_0803A198: .4byte 0x020314E0
-_0803A19C: .4byte 0x0000132C
-_0803A1A0: .4byte 0x086AEE5E
-_0803A1A4: .4byte 0x040000D4
-_0803A1A8: .4byte 0x083C1A6C
-_0803A1AC: .4byte 0x060124E0
-_0803A1B0: .4byte 0x800001E0
-_0803A1B4: .4byte 0x086B91AC
-_0803A1B8: .4byte gOamBuffer
-_0803A1BC: .4byte 0xFFFFFE00
-_0803A1C0: .4byte 0x000001FF
-_0803A1C4: .4byte 0x0200C388
-_0803A1C8: .4byte 0xFFFFED38
-_0803A1CC: .4byte 0x00000441
-_0803A1D0: .4byte _0803A1D4
-_0803A1D4: @ jump table
- .4byte _0803A1EC @ case 0
- .4byte _0803A218 @ case 1
- .4byte _0803A2E4 @ case 2
- .4byte _0803A4F0 @ case 3
- .4byte _0803A6B8 @ case 4
- .4byte _0803A860 @ case 5
-_0803A1EC:
- movs r7, #0
- str r7, [sp, #4]
- ldr r0, _0803A20C @ =0x020314E0
- ldr r1, [r0]
- ldr r2, [sp, #0x3c]
- asrs r0, r2, #0xe
- adds r1, r1, r0
- ldr r3, _0803A210 @ =0x0000045C
- adds r0, r1, r3
- strh r7, [r0]
- ldr r5, _0803A214 @ =0x0000045E
- adds r1, r1, r5
- mov r6, sp
- ldrh r6, [r6, #4]
- strh r6, [r1]
- b _0803A8A2
- .align 2, 0
-_0803A20C: .4byte 0x020314E0
-_0803A210: .4byte 0x0000045C
-_0803A214: .4byte 0x0000045E
-_0803A218:
- ldr r7, _0803A248 @ =0x020314E0
- mov r8, r7
- mov r0, r8
- ldr r6, [r0]
- ldr r1, [sp, #0x3c]
- asrs r7, r1, #0x10
- lsls r1, r7, #1
- movs r2, #0x8b
- lsls r2, r2, #3
- adds r0, r6, r2
- adds r5, r0, r1
- ldrh r4, [r5]
- adds r0, r4, #0
- movs r1, #9
- bl __udivsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- str r0, [sp, #4]
- cmp r4, #0x61
- bhi _0803A24C
- adds r0, r4, #1
- strh r0, [r5]
- b _0803A2AA
- .align 2, 0
-_0803A248: .4byte 0x020314E0
-_0803A24C:
- movs r0, #0
- strh r0, [r5]
- ldr r3, _0803A2C4 @ =0x00000441
- adds r0, r6, r3
- adds r0, r0, r7
- movs r1, #2
- strb r1, [r0]
- bl Random
- mov r4, r8
- ldr r5, [r4]
- ldr r6, _0803A2C8 @ =0x00000443
- adds r5, r5, r6
- adds r5, r5, r7
- lsls r4, r7, #3
- subs r4, r4, r7
- ldr r1, _0803A2CC @ =gMain
- ldr r1, [r1, #0x4c]
- adds r0, r0, r1
- movs r1, #7
- bl __umodsi3
- adds r4, r4, r0
- strb r4, [r5]
- mov r5, r8
- ldr r1, [r5]
- lsls r3, r7, #2
- adds r3, r1, r3
- ldr r4, _0803A2D0 @ =0x086AEDE8
- adds r1, r1, r6
- adds r1, r1, r7
- movs r0, #0
- ldrsb r0, [r1, r0]
- lsls r0, r0, #2
- adds r0, r0, r4
- ldrh r2, [r0]
- adds r6, #0x21
- adds r0, r3, r6
- strh r2, [r0]
- movs r0, #0
- ldrsb r0, [r1, r0]
- lsls r0, r0, #2
- adds r0, r0, r4
- ldrh r0, [r0, #2]
- ldr r7, _0803A2D4 @ =0x00000466
- adds r3, r3, r7
- strh r0, [r3]
-_0803A2AA:
- ldr r0, _0803A2D8 @ =0x020314E0
- ldr r1, [r0]
- ldr r2, [sp, #0x3c]
- asrs r0, r2, #0xe
- adds r1, r1, r0
- ldr r3, _0803A2DC @ =0x0000045C
- adds r0, r1, r3
- movs r2, #0
- strh r2, [r0]
- ldr r4, _0803A2E0 @ =0x0000045E
- adds r1, r1, r4
- strh r2, [r1]
- b _0803A8A2
- .align 2, 0
-_0803A2C4: .4byte 0x00000441
-_0803A2C8: .4byte 0x00000443
-_0803A2CC: .4byte gMain
-_0803A2D0: .4byte 0x086AEDE8
-_0803A2D4: .4byte 0x00000466
-_0803A2D8: .4byte 0x020314E0
-_0803A2DC: .4byte 0x0000045C
-_0803A2E0: .4byte 0x0000045E
-_0803A2E4:
- ldr r5, _0803A4AC @ =0x020314E0
- mov sl, r5
- ldr r7, [r5]
- ldr r6, [sp, #0x3c]
- asrs r6, r6, #0x10
- mov sb, r6
- lsls r6, r6, #1
- str r6, [sp, #0x20]
- movs r1, #0x8b
- lsls r1, r1, #3
- adds r0, r7, r1
- adds r0, r0, r6
- ldrh r0, [r0]
- movs r1, #0x28
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x13
- adds r0, #6
- str r0, [sp, #4]
- ldr r2, _0803A4B0 @ =0x00000441
- adds r0, r7, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- ble _0803A31C
- b _0803A48A
-_0803A31C:
- ldr r3, _0803A4B4 @ =0x00000442
- adds r0, r7, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- ble _0803A32C
- b _0803A48A
-_0803A32C:
- ldr r4, _0803A4B8 @ =0x0000132C
- adds r0, r7, r4
- ldr r6, [r0]
- movs r5, #0x10
- ldrsh r4, [r6, r5]
- subs r4, #0x78
- mov r0, sb
- lsls r0, r0, #2
- str r0, [sp, #0x24]
- adds r5, r7, r0
- ldr r1, _0803A4BC @ =0x0000045C
- adds r0, r5, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- subs r0, r4, r0
- str r0, [sp, #0x10]
- movs r3, #0x12
- ldrsh r4, [r6, r3]
- subs r4, #0x90
- ldr r6, _0803A4C0 @ =0x0000045E
- adds r5, r5, r6
- movs r1, #0
- ldrsh r0, [r5, r1]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- subs r0, r4, r0
- str r0, [sp, #0x14]
- ldr r2, [sp, #0x10]
- adds r1, r2, #0
- muls r1, r2, r1
- adds r3, r0, #0
- adds r0, r3, #0
- muls r0, r3, r0
- adds r1, r1, r0
- mov r8, r1
- ldr r4, _0803A4C4 @ =0x00000383
- adds r0, r7, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0803A48A
- movs r5, #0xe2
- lsls r5, r5, #2
- adds r0, r7, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0803A48A
- ldr r1, _0803A4C8 @ =0x00000385
- adds r0, r7, r1
- movs r2, #0xe1
- lsls r2, r2, #2
- adds r1, r7, r2
- movs r2, #0
- ldrsb r2, [r0, r2]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- bge _0803A48A
- ldr r3, _0803A4CC @ =0x00000452
- adds r0, r7, r3
- ldrh r5, [r0]
- cmp r5, #0
- bne _0803A48A
- ldr r0, _0803A4D0 @ =0x0000018F
- cmp r8, r0
- bgt _0803A48A
- subs r0, #0x7c
- bl m4aSongNumStart
- movs r0, #0xc
- bl sub_11B0
- mov r4, sl
- ldr r0, [r4]
- movs r2, #1
- strb r2, [r0, #0x1f]
- ldr r1, [r4]
- movs r7, #0x8b
- lsls r7, r7, #3
- adds r0, r1, r7
- ldr r3, [sp, #0x20]
- adds r0, r0, r3
- strh r5, [r0]
- ldr r4, _0803A4B0 @ =0x00000441
- adds r1, r1, r4
- add r1, sb
- movs r0, #3
- strb r0, [r1]
- mov r5, sl
- ldr r0, [r5]
- ldr r7, _0803A4D4 @ =0x000005FA
- adds r0, r0, r7
- strb r2, [r0]
- ldr r5, [r5]
- ldr r0, [sp, #0x24]
- adds r4, r5, r0
- ldr r1, _0803A4BC @ =0x0000045C
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- adds r0, #0x78
- str r0, [sp, #8]
- adds r4, r4, r6
- movs r3, #0
- ldrsh r0, [r4, r3]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- adds r0, #0x90
- str r0, [sp, #0xc]
- ldr r4, [sp, #8]
- lsls r1, r4, #8
- ldr r6, _0803A4B8 @ =0x0000132C
- adds r0, r5, r6
- ldr r2, [r0]
- ldr r0, [r2, #0x34]
- subs r0, r1, r0
- str r0, [sp, #0x10]
- ldr r7, [sp, #0xc]
- lsls r1, r7, #8
- ldr r0, [r2, #0x38]
- subs r0, r1, r0
- str r0, [sp, #0x14]
- ldr r4, _0803A4D8 @ =0x000005AC
- adds r5, r5, r4
- ldr r1, [sp, #0x10]
- adds r0, r1, #0
- muls r0, r1, r0
- ldr r2, [sp, #0x14]
- adds r1, r2, #0
- muls r1, r2, r1
- adds r0, r0, r1
- str r0, [r5]
- lsls r0, r0, #2
- bl Sqrt
- mov r3, sl
- ldr r1, [r3]
- adds r1, r1, r4
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x11
- str r0, [r1]
- ldr r4, [sp, #0x10]
- rsbs r0, r4, #0
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- ldr r5, [sp, #0x14]
- lsls r1, r5, #0x10
- asrs r1, r1, #0x10
- bl ArcTan2
- mov r6, sl
- ldr r1, [r6]
- movs r7, #0xb6
- lsls r7, r7, #3
- adds r1, r1, r7
- strh r0, [r1]
-_0803A48A:
- ldr r0, _0803A4AC @ =0x020314E0
- ldr r3, [r0]
- ldr r0, [sp, #0x3c]
- asrs r4, r0, #0x10
- lsls r1, r4, #1
- movs r2, #0x8b
- lsls r2, r2, #3
- adds r0, r3, r2
- adds r1, r0, r1
- ldrh r2, [r1]
- ldr r0, _0803A4C4 @ =0x00000383
- cmp r2, r0
- bhi _0803A4DC
- adds r0, r2, #1
- strh r0, [r1]
- b _0803A8A2
- .align 2, 0
-_0803A4AC: .4byte 0x020314E0
-_0803A4B0: .4byte 0x00000441
-_0803A4B4: .4byte 0x00000442
-_0803A4B8: .4byte 0x0000132C
-_0803A4BC: .4byte 0x0000045C
-_0803A4C0: .4byte 0x0000045E
-_0803A4C4: .4byte 0x00000383
-_0803A4C8: .4byte 0x00000385
-_0803A4CC: .4byte 0x00000452
-_0803A4D0: .4byte 0x0000018F
-_0803A4D4: .4byte 0x000005FA
-_0803A4D8: .4byte 0x000005AC
-_0803A4DC:
- movs r0, #0
- strh r0, [r1]
- ldr r5, _0803A4EC @ =0x00000441
- adds r0, r3, r5
- adds r0, r0, r4
- movs r1, #5
- b _0803A8A0
- .align 2, 0
-_0803A4EC: .4byte 0x00000441
-_0803A4F0:
- ldr r6, _0803A668 @ =0x020314E0
- ldr r4, [r6]
- ldr r7, [sp, #0x3c]
- asrs r7, r7, #0x10
- str r7, [sp, #0x28]
- lsls r0, r7, #1
- str r0, [sp, #0x2c]
- movs r1, #0x8b
- lsls r1, r1, #3
- adds r0, r4, r1
- ldr r2, [sp, #0x2c]
- adds r6, r0, r2
- ldrh r5, [r6]
- adds r0, r5, #0
- movs r1, #0x28
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x13
- adds r0, #6
- str r0, [sp, #4]
- ldrh r0, [r4, #4]
- cmp r0, #0
- beq _0803A526
- adds r0, r5, #0
- adds r0, #8
- strh r0, [r6]
-_0803A526:
- ldr r3, _0803A668 @ =0x020314E0
- ldr r7, [r3]
- movs r4, #0x8b
- lsls r4, r4, #3
- adds r0, r7, r4
- ldr r5, [sp, #0x2c]
- adds r0, r0, r5
- ldrh r1, [r0]
- movs r0, #0x1d
- subs r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #9
- bgt _0803A546
- movs r4, #0xa
-_0803A546:
- movs r6, #0xb6
- lsls r6, r6, #3
- adds r5, r7, r6
- lsls r4, r4, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #0xd
- movs r1, #0x1e
- bl __divsi3
- adds r1, r0, #0
- movs r0, #0x80
- lsls r0, r0, #6
- subs r0, r0, r1
- lsls r0, r0, #1
- movs r1, #5
- bl __divsi3
- ldrh r1, [r5]
- subs r1, r1, r0
- strh r1, [r5]
- ldr r6, _0803A66C @ =0x0000132C
- adds r0, r7, r6
- ldr r1, [r0]
- ldr r2, _0803A670 @ =0xFFFFE000
- adds r0, r2, #0
- ldrh r3, [r1, #0xa]
- adds r0, r0, r3
- strh r0, [r1, #0xa]
- ldr r1, _0803A674 @ =0x000005AC
- adds r0, r7, r1
- ldr r0, [r0]
- muls r0, r4, r0
- movs r1, #0x1e
- bl __divsi3
- mov sl, r0
- ldr r2, [sp, #0x28]
- lsls r4, r2, #2
- adds r4, r7, r4
- ldr r3, _0803A678 @ =0x0000045C
- adds r0, r4, r3
- movs r7, #0
- ldrsh r0, [r0, r7]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- adds r0, #0x78
- str r0, [sp, #8]
- ldr r0, _0803A67C @ =0x0000045E
- adds r4, r4, r0
- movs r1, #0
- ldrsh r0, [r4, r1]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- adds r0, #0x90
- str r0, [sp, #0xc]
- ldrh r0, [r5]
- bl sub_C74
- ldr r2, _0803A668 @ =0x020314E0
- ldr r5, [r2]
- adds r1, r5, r6
- ldr r1, [r1]
- mov r8, r1
- ldr r3, [sp, #8]
- lsls r4, r3, #8
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- mov r7, sl
- muls r7, r0, r7
- adds r0, r7, #0
- ldr r1, _0803A680 @ =0x00004E20
- mov sb, r1
- bl __divsi3
- adds r4, r4, r0
- mov r2, r8
- str r4, [r2, #0x34]
- movs r3, #0xb6
- lsls r3, r3, #3
- adds r5, r5, r3
- ldrh r0, [r5]
- bl sub_C24
- ldr r4, _0803A668 @ =0x020314E0
- ldr r7, [r4]
- adds r6, r7, r6
- ldr r5, [r6]
- ldr r1, [sp, #0xc]
- lsls r4, r1, #8
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- mov r2, sl
- muls r2, r0, r2
- adds r0, r2, #0
- mov r1, sb
- bl __divsi3
- subs r4, r4, r0
- str r4, [r5, #0x38]
- ldr r4, [r6]
- movs r3, #0x30
- ldrsh r0, [r4, r3]
- lsls r0, r0, #2
- movs r1, #5
- bl __divsi3
- strh r0, [r4, #0x30]
- ldr r4, [r6]
- movs r5, #0x32
- ldrsh r0, [r4, r5]
- lsls r0, r0, #2
- movs r1, #5
- bl __divsi3
- strh r0, [r4, #0x32]
- movs r6, #0x8b
- lsls r6, r6, #3
- adds r0, r7, r6
- ldr r2, [sp, #0x2c]
- adds r1, r0, r2
- ldrh r2, [r1]
- ldr r0, _0803A684 @ =0x000001DF
- cmp r2, r0
- bhi _0803A688
- adds r0, r2, #1
- strh r0, [r1]
- ldrh r0, [r1]
- movs r1, #9
- bl __umodsi3
- lsls r0, r0, #0x10
- cmp r0, #0
- beq _0803A65E
- b _0803A8A2
-_0803A65E:
- movs r0, #0xc
- bl sub_11B0
- b _0803A8A2
- .align 2, 0
-_0803A668: .4byte 0x020314E0
-_0803A66C: .4byte 0x0000132C
-_0803A670: .4byte 0xFFFFE000
-_0803A674: .4byte 0x000005AC
-_0803A678: .4byte 0x0000045C
-_0803A67C: .4byte 0x0000045E
-_0803A680: .4byte 0x00004E20
-_0803A684: .4byte 0x000001DF
-_0803A688:
- movs r3, #0
- strh r3, [r1]
- ldr r4, _0803A6AC @ =0x00000441
- adds r0, r7, r4
- ldr r5, [sp, #0x28]
- adds r0, r0, r5
- movs r1, #4
- strb r1, [r0]
- ldr r6, _0803A6B0 @ =0x020314E0
- ldr r2, [r6]
- ldr r7, _0803A6B4 @ =0x000005AC
- adds r2, r2, r7
- ldr r0, [r2]
- lsrs r1, r0, #0x1f
- adds r0, r0, r1
- asrs r0, r0, #1
- str r0, [r2]
- b _0803A8A2
- .align 2, 0
-_0803A6AC: .4byte 0x00000441
-_0803A6B0: .4byte 0x020314E0
-_0803A6B4: .4byte 0x000005AC
-_0803A6B8:
- ldr r0, _0803A7EC @ =0x020314E0
- ldr r5, [r0]
- ldr r1, [sp, #0x3c]
- asrs r1, r1, #0x10
- str r1, [sp, #0x30]
- lsls r2, r1, #1
- str r2, [sp, #0x34]
- movs r3, #0x8b
- lsls r3, r3, #3
- adds r0, r5, r3
- adds r0, r0, r2
- ldrh r2, [r0]
- lsrs r1, r2, #3
- movs r0, #5
- subs r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- str r0, [sp, #4]
- movs r4, #0x2f
- subs r4, r4, r2
- movs r7, #0xb6
- lsls r7, r7, #3
- adds r6, r5, r7
- lsls r4, r4, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #0xc
- movs r1, #0x2f
- bl __divsi3
- adds r1, r0, #0
- movs r0, #0x80
- lsls r0, r0, #6
- subs r0, r0, r1
- lsls r0, r0, #1
- movs r1, #5
- bl __divsi3
- ldrh r1, [r6]
- subs r1, r1, r0
- strh r1, [r6]
- ldr r0, _0803A7F0 @ =0x0000132C
- mov sb, r0
- adds r0, r5, r0
- ldr r1, [r0]
- ldr r2, _0803A7F4 @ =0xFFFFE000
- adds r0, r2, #0
- ldrh r3, [r1, #0xa]
- adds r0, r0, r3
- strh r0, [r1, #0xa]
- ldr r1, _0803A7F8 @ =0x000005AC
- adds r0, r5, r1
- ldr r0, [r0]
- muls r0, r4, r0
- movs r1, #0x2f
- bl __divsi3
- mov sl, r0
- ldr r2, [sp, #0x30]
- lsls r0, r2, #2
- adds r5, r5, r0
- ldr r3, _0803A7FC @ =0x0000045C
- adds r0, r5, r3
- movs r4, #0
- ldrsh r0, [r0, r4]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- adds r0, #0x78
- str r0, [sp, #8]
- ldr r0, _0803A800 @ =0x0000045E
- adds r5, r5, r0
- movs r1, #0
- ldrsh r0, [r5, r1]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- adds r0, #0x90
- str r0, [sp, #0xc]
- ldrh r0, [r6]
- bl sub_C74
- ldr r2, _0803A7EC @ =0x020314E0
- ldr r5, [r2]
- mov r3, sb
- adds r1, r5, r3
- ldr r6, [r1]
- ldr r1, [sp, #8]
- lsls r4, r1, #8
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- mov r2, sl
- muls r2, r0, r2
- adds r0, r2, #0
- ldr r3, _0803A804 @ =0x00004E20
- mov r8, r3
- mov r1, r8
- bl __divsi3
- adds r4, r4, r0
- str r4, [r6, #0x34]
- adds r5, r5, r7
- ldrh r0, [r5]
- bl sub_C24
- ldr r4, _0803A7EC @ =0x020314E0
- ldr r7, [r4]
- mov r5, sb
- adds r6, r7, r5
- ldr r5, [r6]
- ldr r1, [sp, #0xc]
- lsls r4, r1, #8
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- mov r2, sl
- muls r2, r0, r2
- adds r0, r2, #0
- mov r1, r8
- bl __divsi3
- subs r4, r4, r0
- str r4, [r5, #0x38]
- ldr r4, [r6]
- movs r3, #0x30
- ldrsh r0, [r4, r3]
- lsls r0, r0, #2
- movs r1, #5
- bl __divsi3
- strh r0, [r4, #0x30]
- ldr r4, [r6]
- movs r5, #0x32
- ldrsh r0, [r4, r5]
- lsls r0, r0, #2
- movs r1, #5
- bl __divsi3
- strh r0, [r4, #0x32]
- movs r0, #0x8b
- lsls r0, r0, #3
- adds r0, r7, r0
- str r0, [sp, #0x38]
- ldr r2, [sp, #0x34]
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, #0x2e
- bhi _0803A808
- adds r0, #1
- strh r0, [r1]
- b _0803A8A2
- .align 2, 0
-_0803A7EC: .4byte 0x020314E0
-_0803A7F0: .4byte 0x0000132C
-_0803A7F4: .4byte 0xFFFFE000
-_0803A7F8: .4byte 0x000005AC
-_0803A7FC: .4byte 0x0000045C
-_0803A800: .4byte 0x0000045E
-_0803A804: .4byte 0x00004E20
-_0803A808:
- movs r3, #0
- strh r3, [r1]
- ldr r3, [r6]
- ldr r0, _0803A84C @ =gMain
- ldr r2, [r0, #0x4c]
- movs r0, #1
- ands r2, r0
- lsls r1, r2, #2
- adds r1, r1, r2
- lsls r0, r1, #4
- subs r0, r0, r1
- lsls r0, r0, #2
- ldr r4, _0803A850 @ =0x0000FF6A
- adds r0, r0, r4
- strh r0, [r3, #0x30]
- ldr r1, [r6]
- movs r0, #0x96
- lsls r0, r0, #1
- strh r0, [r1, #0x32]
- movs r5, #0
- strb r5, [r7, #0x1f]
- ldr r6, _0803A854 @ =0x020314E0
- ldr r0, [r6]
- ldr r7, _0803A858 @ =0x00000441
- adds r0, r0, r7
- ldr r1, [sp, #0x30]
- adds r0, r0, r1
- strb r5, [r0]
- ldr r0, [r6]
- ldr r2, _0803A85C @ =0x000005FA
- adds r0, r0, r2
- strb r5, [r0]
- b _0803A8A2
- .align 2, 0
-_0803A84C: .4byte gMain
-_0803A850: .4byte 0x0000FF6A
-_0803A854: .4byte 0x020314E0
-_0803A858: .4byte 0x00000441
-_0803A85C: .4byte 0x000005FA
-_0803A860:
- ldr r0, _0803A890 @ =0x020314E0
- ldr r6, [r0]
- ldr r3, [sp, #0x3c]
- asrs r7, r3, #0x10
- lsls r1, r7, #1
- movs r4, #0x8b
- lsls r4, r4, #3
- adds r0, r6, r4
- adds r5, r0, r1
- ldrh r4, [r5]
- adds r0, r4, #0
- movs r1, #6
- bl __udivsi3
- movs r1, #5
- subs r1, r1, r0
- lsls r1, r1, #0x10
- lsrs r1, r1, #0x10
- str r1, [sp, #4]
- cmp r4, #0x23
- bhi _0803A894
- adds r0, r4, #1
- strh r0, [r5]
- b _0803A8A2
- .align 2, 0
-_0803A890: .4byte 0x020314E0
-_0803A894:
- movs r1, #0
- movs r0, #0
- strh r0, [r5]
- ldr r5, _0803AA20 @ =0x00000441
- adds r0, r6, r5
- adds r0, r0, r7
-_0803A8A0:
- strb r1, [r0]
-_0803A8A2:
- ldr r6, _0803AA24 @ =0x020314E0
- mov sl, r6
- ldr r1, [r6]
- ldr r0, [sp, #0x3c]
- asrs r7, r0, #0x10
- ldr r2, _0803AA20 @ =0x00000441
- adds r0, r1, r2
- adds r0, r0, r7
- ldrb r0, [r0]
- subs r0, #2
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- cmp r0, #1
- bhi _0803A9A6
- lsls r3, r7, #2
- mov sb, r3
- add r1, sb
- ldr r4, _0803AA28 @ =0x00000464
- adds r0, r1, r4
- movs r5, #0
- ldrsh r2, [r0, r5]
- ldr r5, _0803AA2C @ =0x0000045C
- adds r0, r1, r5
- movs r6, #0
- ldrsh r0, [r0, r6]
- subs r0, r2, r0
- str r0, [sp, #0x10]
- ldr r2, _0803AA30 @ =0x00000466
- adds r0, r1, r2
- movs r3, #0
- ldrsh r2, [r0, r3]
- ldr r6, _0803AA34 @ =0x0000045E
- adds r1, r1, r6
- movs r4, #0
- ldrsh r0, [r1, r4]
- subs r0, r2, r0
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x10]
- adds r1, r0, #0
- muls r1, r0, r1
- ldr r2, [sp, #0x14]
- adds r0, r2, #0
- muls r0, r2, r0
- adds r1, r1, r0
- mov r8, r1
- ldr r3, [sp, #0x10]
- lsls r0, r3, #0x10
- asrs r0, r0, #0x10
- rsbs r1, r2, #0
- lsls r1, r1, #0x10
- asrs r1, r1, #0x10
- bl ArcTan2
- adds r4, r0, #0
- lsls r4, r4, #0x10
- lsrs r4, r4, #0x10
- adds r0, r4, #0
- bl sub_C74
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- ldr r1, _0803AA38 @ =0x00001388
- bl __divsi3
- str r0, [sp, #0x18]
- adds r0, r4, #0
- bl sub_C24
- lsls r0, r0, #0x10
- asrs r0, r0, #0xe
- rsbs r0, r0, #0
- ldr r1, _0803AA3C @ =0x00004E20
- bl __divsi3
- str r0, [sp, #0x1c]
- mov r4, sl
- ldr r1, [r4]
- add r1, sb
- adds r5, r1, r5
- ldrh r0, [r5]
- ldr r2, [sp, #0x18]
- adds r0, r2, r0
- strh r0, [r5]
- adds r1, r1, r6
- ldrh r0, [r1]
- ldr r3, [sp, #0x1c]
- adds r0, r3, r0
- strh r0, [r1]
- ldr r0, _0803AA40 @ =0x000009C3
- cmp r8, r0
- bgt _0803A9A6
- bl Random
- ldr r5, [r4]
- subs r6, #0x1b
- adds r5, r5, r6
- adds r5, r5, r7
- lsls r4, r7, #3
- subs r4, r4, r7
- ldr r1, _0803AA44 @ =gMain
- ldr r1, [r1, #0x4c]
- adds r0, r0, r1
- movs r1, #7
- bl __umodsi3
- adds r4, r4, r0
- strb r4, [r5]
- mov r4, sl
- ldr r1, [r4]
- mov r5, sb
- adds r3, r1, r5
- ldr r4, _0803AA48 @ =0x086AEDE8
- adds r1, r1, r6
- adds r1, r1, r7
- movs r0, #0
- ldrsb r0, [r1, r0]
- lsls r0, r0, #2
- adds r0, r0, r4
- ldrh r2, [r0]
- adds r6, #0x21
- adds r0, r3, r6
- strh r2, [r0]
- movs r0, #0
- ldrsb r0, [r1, r0]
- lsls r0, r0, #2
- adds r0, r0, r4
- ldrh r0, [r0, #2]
- ldr r7, _0803AA30 @ =0x00000466
- adds r3, r3, r7
- strh r0, [r3]
-_0803A9A6:
- ldr r2, _0803AA4C @ =0x040000D4
- ldr r1, [sp, #4]
- lsls r0, r1, #0x10
- asrs r0, r0, #7
- ldr r1, _0803AA50 @ =0x084FF90C
- adds r0, r0, r1
- str r0, [r2]
- ldr r3, [sp, #0x3c]
- asrs r4, r3, #0x10
- lsls r0, r4, #9
- ldr r5, _0803AA54 @ =0x06011520
- adds r0, r0, r5
- str r0, [r2, #4]
- ldr r0, _0803AA58 @ =0x80000100
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- ldr r6, [sp]
- ldrh r0, [r6]
- cmp r0, #0
- beq _0803AA9E
- ldr r0, _0803AA24 @ =0x020314E0
- ldr r5, [r0]
- ldr r7, _0803AA20 @ =0x00000441
- adds r0, r5, r7
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _0803AA5C
- lsls r4, r4, #2
- adds r4, r5, r4
- ldr r1, _0803AA2C @ =0x0000045C
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r1, r5, #0
- adds r1, #0x58
- ldrh r1, [r1]
- subs r1, #0x68
- subs r0, r0, r1
- strh r0, [r6, #2]
- ldr r3, _0803AA34 @ =0x0000045E
- adds r4, r4, r3
- movs r6, #0
- ldrsh r0, [r4, r6]
- movs r1, #0xa
- bl __divsi3
- adds r1, r5, #0
- adds r1, #0x5a
- ldrh r1, [r1]
- subs r1, #0x80
- subs r0, r0, r1
- ldr r7, [sp]
- strh r0, [r7, #4]
- b _0803AA66
- .align 2, 0
-_0803AA20: .4byte 0x00000441
-_0803AA24: .4byte 0x020314E0
-_0803AA28: .4byte 0x00000464
-_0803AA2C: .4byte 0x0000045C
-_0803AA30: .4byte 0x00000466
-_0803AA34: .4byte 0x0000045E
-_0803AA38: .4byte 0x00001388
-_0803AA3C: .4byte 0x00004E20
-_0803AA40: .4byte 0x000009C3
-_0803AA44: .4byte gMain
-_0803AA48: .4byte 0x086AEDE8
-_0803AA4C: .4byte 0x040000D4
-_0803AA50: .4byte 0x084FF90C
-_0803AA54: .4byte 0x06011520
-_0803AA58: .4byte 0x80000100
-_0803AA5C:
- movs r0, #0xf0
- ldr r1, [sp]
- strh r0, [r1, #2]
- movs r0, #0xb4
- strh r0, [r1, #4]
-_0803AA66:
- ldr r6, [sp]
- adds r6, #8
- ldr r4, _0803AB38 @ =gOamBuffer
- ldr r2, [sp]
- ldrh r3, [r2, #8]
- lsls r3, r3, #3
- adds r3, r3, r4
- movs r5, #2
- ldrsh r1, [r6, r5]
- movs r7, #2
- ldrsh r0, [r2, r7]
- adds r1, r1, r0
- ldr r2, _0803AB3C @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- ldr r0, _0803AB40 @ =0xFFFFFE00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldr r3, [sp]
- ldrh r1, [r3, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r3, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
-_0803AA9E:
- ldr r4, [sp, #0x3c]
- movs r5, #0x80
- lsls r5, r5, #9
- adds r0, r4, r5
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #1
- bgt _0803AAB2
- bl sub_3A150
-_0803AAB2:
- ldr r6, _0803AB44 @ =0x0200C4F8
- str r6, [sp]
- ldrh r0, [r6]
- cmp r0, #0
- bne _0803AABE
- b _0803AD44
-_0803AABE:
- ldr r0, _0803AB48 @ =0x020314E0
- ldr r1, [r0]
- ldr r7, _0803AB4C @ =0x00000456
- adds r3, r1, r7
- ldrh r1, [r3]
- cmp r1, #0x23
- bhi _0803AB7C
- adds r0, r1, #0
- lsls r0, r0, #9
- movs r1, #0x23
- bl __divsi3
- adds r0, #0x10
- lsls r0, r0, #0x10
- lsrs r6, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #0x80
- lsls r1, r1, #2
- cmp r0, r1
- ble _0803AAE8
- adds r6, r1, #0
-_0803AAE8:
- lsls r5, r6, #0x10
- asrs r5, r5, #0x10
- adds r0, r5, #0
- adds r1, r5, #0
- movs r2, #1
- bl SetMatrixScale
- rsbs r4, r5, #0
- lsls r4, r4, #0x10
- asrs r4, r4, #0x10
- adds r0, r4, #0
- adds r1, r5, #0
- movs r2, #2
- bl SetMatrixScale
- adds r0, r5, #0
- adds r1, r4, #0
- movs r2, #3
- bl SetMatrixScale
- adds r0, r4, #0
- adds r1, r4, #0
- movs r2, #4
- bl SetMatrixScale
- ldr r1, _0803AB48 @ =0x020314E0
- ldr r0, [r1]
- adds r1, r0, r7
- ldrh r0, [r1]
- cmp r0, #0x1e
- bls _0803AB50
- subs r0, #0x1e
- movs r1, #0xb
- muls r0, r1, r0
- movs r1, #5
- bl __divsi3
- movs r1, #0xc
- b _0803AB5C
- .align 2, 0
-_0803AB38: .4byte gOamBuffer
-_0803AB3C: .4byte 0x000001FF
-_0803AB40: .4byte 0xFFFFFE00
-_0803AB44: .4byte 0x0200C4F8
-_0803AB48: .4byte 0x020314E0
-_0803AB4C: .4byte 0x00000456
-_0803AB50:
- ldrh r0, [r1]
- lsls r0, r0, #2
- movs r1, #0x1e
- bl __divsi3
- movs r1, #0x10
-_0803AB5C:
- subs r1, r1, r0
- lsls r1, r1, #0x10
- lsrs r4, r1, #0x10
- ldr r2, _0803AB74 @ =0x020314E0
- ldr r1, [r2]
- ldr r3, _0803AB78 @ =0x00000456
- adds r1, r1, r3
- ldrh r0, [r1]
- adds r0, #1
- strh r0, [r1]
- b _0803AB86
- .align 2, 0
-_0803AB74: .4byte 0x020314E0
-_0803AB78: .4byte 0x00000456
-_0803AB7C:
- movs r6, #0x80
- lsls r6, r6, #1
- movs r4, #0
- ldr r5, [sp]
- strh r4, [r5]
-_0803AB86:
- ldr r7, _0803AD54 @ =0x020314E0
- ldr r1, [r7]
- lsls r0, r6, #0x10
- asrs r5, r0, #0x10
- adds r0, r5, #0
- cmp r5, #0
- bge _0803AB96
- adds r0, r5, #7
-_0803AB96:
- asrs r3, r0, #3
- movs r0, #0x20
- subs r2, r0, r3
- ldr r6, _0803AD58 @ =0x0000046C
- adds r0, r1, r6
- strh r2, [r0]
- adds r3, #0x20
- movs r7, #0x8e
- lsls r7, r7, #3
- adds r0, r1, r7
- strh r3, [r0]
- ldr r6, _0803AD5C @ =0x00000474
- adds r0, r1, r6
- strh r2, [r0]
- movs r7, #0x8f
- lsls r7, r7, #3
- adds r0, r1, r7
- strh r3, [r0]
- ldr r6, _0803AD60 @ =0x0000046E
- adds r0, r1, r6
- strh r2, [r0]
- ldr r7, _0803AD64 @ =0x00000472
- adds r0, r1, r7
- strh r2, [r0]
- ldr r2, _0803AD68 @ =0x00000476
- adds r0, r1, r2
- strh r3, [r0]
- ldr r5, _0803AD6C @ =0x0000047A
- adds r0, r1, r5
- strh r3, [r0]
- ldr r2, _0803AD70 @ =gMain
- ldrb r1, [r2, #0xf]
- movs r0, #0xc0
- ands r0, r1
- mov sb, r2
- cmp r0, #0
- bne _0803ABF6
- ldrh r0, [r2, #0x38]
- ldr r0, _0803AD74 @ =0x00001E10
- strh r0, [r2, #0x38]
- movs r0, #0x10
- lsls r1, r4, #0x10
- asrs r1, r1, #0x10
- subs r0, r0, r1
- lsls r0, r0, #8
- orrs r0, r1
- ldrh r1, [r2, #0x3a]
- strh r0, [r2, #0x3a]
-_0803ABF6:
- ldr r6, [sp]
- ldrh r0, [r6]
- cmp r0, #0
- beq _0803ACAE
- ldr r7, _0803AD54 @ =0x020314E0
- ldr r1, [r7]
- adds r0, r1, #0
- adds r0, #0x58
- ldrh r2, [r0]
- movs r0, #0x17
- subs r0, r0, r2
- strh r0, [r6, #2]
- adds r1, #0x5a
- ldrh r1, [r1]
- movs r0, #0x1e
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r2, #0
- ldr r7, _0803AD78 @ =gOamBuffer
- ldr r0, _0803AD7C @ =0xFFFFFE00
- mov sl, r0
- movs r1, #0xf
- rsbs r1, r1, #0
- mov r8, r1
-_0803AC26:
- lsls r5, r2, #0x10
- asrs r5, r5, #0x10
- lsls r0, r5, #3
- adds r0, #8
- ldr r2, [sp]
- adds r6, r2, r0
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r4, #2
- ldrsh r1, [r6, r4]
- movs r4, #2
- ldrsh r0, [r2, r4]
- adds r1, r1, r0
- ldr r0, _0803AD54 @ =0x020314E0
- ldr r4, [r0]
- lsls r0, r5, #2
- adds r4, r4, r0
- ldr r2, _0803AD58 @ =0x0000046C
- adds r0, r4, r2
- movs r2, #0
- ldrsh r0, [r0, r2]
- adds r1, r1, r0
- ldr r2, _0803AD80 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, sl
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r7
- ldr r3, [sp]
- ldrb r1, [r3, #4]
- ldrb r0, [r6, #4]
- adds r1, r1, r0
- ldr r3, _0803AD60 @ =0x0000046E
- adds r4, r4, r3
- ldrb r0, [r4]
- adds r0, r0, r1
- strb r0, [r2]
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r7
- ldrb r0, [r2, #1]
- movs r1, #3
- orrs r0, r1
- strb r0, [r2, #1]
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r7
- adds r5, #1
- movs r0, #7
- adds r1, r5, #0
- ands r1, r0
- lsls r1, r1, #1
- ldrb r2, [r3, #3]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, #3]
- lsls r5, r5, #0x10
- lsrs r2, r5, #0x10
- asrs r5, r5, #0x10
- cmp r5, #3
- ble _0803AC26
-_0803ACAE:
- ldr r4, _0803AD54 @ =0x020314E0
- ldr r3, [r4]
- ldr r5, _0803AD84 @ =0x00000456
- adds r4, r3, r5
- ldrh r0, [r4]
- cmp r0, #0x1d
- bhi _0803AD30
- ldr r6, _0803AD88 @ =0x0000132C
- adds r0, r3, r6
- ldr r1, [r0]
- movs r7, #0x10
- ldrsh r0, [r1, r7]
- subs r0, #0x77
- str r0, [sp, #0x10]
- movs r2, #0x12
- ldrsh r0, [r1, r2]
- subs r0, #0x7f
- str r0, [sp, #0x14]
- ldr r5, [sp, #0x10]
- adds r1, r5, #0
- muls r1, r5, r1
- adds r6, r0, #0
- adds r0, r6, #0
- muls r0, r6, r0
- adds r1, r1, r0
- mov r8, r1
- movs r7, #0xe2
- lsls r7, r7, #2
- adds r0, r3, r7
- movs r2, #0
- ldrsb r2, [r0, r2]
- cmp r2, #0
- bne _0803AD30
- ldr r0, _0803AD8C @ =0x086AEE20
- ldrh r1, [r4]
- lsls r1, r1, #1
- adds r1, r1, r0
- movs r4, #0
- ldrsh r0, [r1, r4]
- cmp r8, r0
- bge _0803AD30
- ldr r5, _0803AD90 @ =0x00000445
- adds r0, r3, r5
- strb r2, [r0]
- ldr r6, _0803AD54 @ =0x020314E0
- ldr r0, [r6]
- adds r7, #0xc0
- adds r0, r0, r7
- strb r2, [r0]
- ldr r0, [r6]
- ldr r1, _0803AD94 @ =0x00000454
- adds r0, r0, r1
- strh r2, [r0]
- ldr r5, _0803AD70 @ =gMain
- ldr r2, _0803AD98 @ =0x00000E78
- adds r4, r5, r2
- ldrh r0, [r4]
- cmp r0, #0
- bne _0803AD2A
- movs r0, #8
- bl sub_11B0
-_0803AD2A:
- movs r0, #1
- strh r0, [r4]
- mov sb, r5
-_0803AD30:
- mov r3, sb
- ldrb r1, [r3, #0xf]
- movs r0, #0xc0
- ands r0, r1
- cmp r0, #0
- beq _0803AD44
- ldr r1, _0803AD9C @ =0x00001438
- add r1, sb
- movs r0, #0
- strh r0, [r1]
-_0803AD44:
- add sp, #0x40
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803AD54: .4byte 0x020314E0
-_0803AD58: .4byte 0x0000046C
-_0803AD5C: .4byte 0x00000474
-_0803AD60: .4byte 0x0000046E
-_0803AD64: .4byte 0x00000472
-_0803AD68: .4byte 0x00000476
-_0803AD6C: .4byte 0x0000047A
-_0803AD70: .4byte gMain
-_0803AD74: .4byte 0x00001E10
-_0803AD78: .4byte gOamBuffer
-_0803AD7C: .4byte 0xFFFFFE00
-_0803AD80: .4byte 0x000001FF
-_0803AD84: .4byte 0x00000456
-_0803AD88: .4byte 0x0000132C
-_0803AD8C: .4byte 0x086AEE20
-_0803AD90: .4byte 0x00000445
-_0803AD94: .4byte 0x00000454
-_0803AD98: .4byte 0x00000E78
-_0803AD9C: .4byte 0x00001438
-
- thumb_func_start sub_3ADA0
-sub_3ADA0: @ 0x0803ADA0
- push {r4, r5, r6, r7, lr}
- ldr r6, _0803AE04 @ =0x0200C4F8
- ldrh r0, [r6]
- cmp r0, #0
- beq _0803ADFE
- movs r0, #0xf0
- strh r0, [r6, #2]
- movs r0, #0xa0
- strh r0, [r6, #4]
- movs r0, #0
- ldr r7, _0803AE08 @ =gOamBuffer
- ldr r1, _0803AE0C @ =0xFFFFFE00
- mov ip, r1
-_0803ADBA:
- lsls r5, r0, #0x10
- asrs r5, r5, #0x10
- lsls r3, r5, #3
- adds r3, #8
- adds r3, r6, r3
- ldrh r4, [r3]
- lsls r4, r4, #3
- adds r4, r4, r7
- movs r2, #2
- ldrsh r1, [r3, r2]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _0803AE10 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r4, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, #2]
- ldrh r1, [r3]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r3, [r3, #4]
- adds r0, r0, r3
- strb r0, [r1]
- adds r5, #1
- lsls r5, r5, #0x10
- lsrs r0, r5, #0x10
- asrs r5, r5, #0x10
- cmp r5, #3
- ble _0803ADBA
-_0803ADFE:
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803AE04: .4byte 0x0200C4F8
-_0803AE08: .4byte gOamBuffer
-_0803AE0C: .4byte 0xFFFFFE00
-_0803AE10: .4byte 0x000001FF
-
- thumb_func_start sub_3AE14
-sub_3AE14: @ 0x0803AE14
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- ldr r0, _0803AE80 @ =0x020314E0
- ldr r5, [r0]
- movs r1, #0x13
- ldrsb r1, [r5, r1]
- cmp r1, #0
- bne _0803AEA8
- ldrh r1, [r5, #0x18]
- ldr r0, _0803AE84 @ =0x00000257
- cmp r1, r0
- bhi _0803AEA8
- ldr r4, _0803AE88 @ =0x086AEF04
- adds r0, r1, #0
- movs r1, #0xf0
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #0x18
- bl __udivsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0xf
- adds r0, r0, r4
- ldr r1, _0803AE8C @ =0x040000D4
- movs r3, #0
- ldrsh r2, [r0, r3]
- lsls r2, r2, #5
- ldr r0, _0803AE90 @ =0x083529D8
- adds r0, r2, r0
- str r0, [r1]
- ldr r0, _0803AE94 @ =0x05000340
- str r0, [r1, #4]
- ldr r3, _0803AE98 @ =0x80000010
- str r3, [r1, #8]
- ldr r0, [r1, #8]
- ldr r0, _0803AE9C @ =0x0833FF58
- adds r2, r2, r0
- str r2, [r1]
- ldr r0, _0803AEA0 @ =0x050002A0
- str r0, [r1, #4]
- str r3, [r1, #8]
- ldr r0, [r1, #8]
- movs r6, #2
- ldr r0, _0803AEA4 @ =0x0000044C
- adds r1, r5, r0
- movs r0, #0
- strh r0, [r1]
- b _0803AED2
- .align 2, 0
-_0803AE80: .4byte 0x020314E0
-_0803AE84: .4byte 0x00000257
-_0803AE88: .4byte 0x086AEF04
-_0803AE8C: .4byte 0x040000D4
-_0803AE90: .4byte 0x083529D8
-_0803AE94: .4byte 0x05000340
-_0803AE98: .4byte 0x80000010
-_0803AE9C: .4byte 0x0833FF58
-_0803AEA0: .4byte 0x050002A0
-_0803AEA4: .4byte 0x0000044C
-_0803AEA8:
- ldr r6, _0803B0C4 @ =0x086AEEE6
- ldr r1, _0803B0C8 @ =0x020314E0
- ldr r5, [r1]
- ldr r2, _0803B0CC @ =0x0000044C
- adds r5, r5, r2
- ldrh r4, [r5]
- adds r0, r4, #0
- movs r1, #0x60
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #0x18
- bl __udivsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0xf
- adds r0, r0, r6
- ldrh r6, [r0]
- adds r4, #1
- strh r4, [r5]
-_0803AED2:
- ldr r4, _0803B0D0 @ =0x086AEED6
- ldr r3, _0803B0C8 @ =0x020314E0
- ldr r0, [r3]
- movs r1, #0xa4
- lsls r1, r1, #2
- adds r0, r0, r1
- ldr r0, [r0]
- movs r1, #0x60
- bl __umodsi3
- movs r1, #0x18
- bl __udivsi3
- lsls r0, r0, #1
- adds r0, r0, r4
- movs r2, #0
- ldr r3, _0803B0D4 @ =0x03006C00
- mov r8, r3
- ldr r1, _0803B0D8 @ =0x086AEEDE
- mov sl, r1
- lsls r6, r6, #0x10
- mov sb, r6
- ldr r7, _0803B0DC @ =0xFFFFF000
- add r7, r8
- ldr r6, _0803B0E0 @ =0x08333004
- movs r3, #0
- ldrsh r0, [r0, r3]
- lsls r3, r0, #2
- ldr r5, _0803B0E4 @ =0x000003FF
- movs r4, #0x80
- lsls r4, r4, #4
-_0803AF10:
- lsls r1, r2, #0x10
- asrs r1, r1, #0x10
- adds r2, r1, r4
- lsls r2, r2, #1
- adds r2, r2, r7
- lsls r0, r1, #1
- adds r0, r0, r6
- ldrh r0, [r0]
- adds r0, r0, r3
- strh r0, [r2]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r2, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, r5
- ble _0803AF10
- ldr r4, _0803B0E8 @ =0x040000D4
- mov r0, r8
- str r0, [r4]
- movs r0, #0xc0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- ldr r0, _0803B0EC @ =0x80000400
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r1, _0803B0F0 @ =gMain
- ldr r0, [r1, #0x4c]
- movs r1, #0x60
- bl __umodsi3
- movs r1, #0x18
- bl __udivsi3
- lsls r0, r0, #1
- add r0, sl
- ldr r2, _0803B0C8 @ =0x020314E0
- ldr r1, [r2]
- ldr r3, _0803B0F4 @ =0x00000382
- adds r1, r1, r3
- movs r2, #0
- ldrsb r2, [r1, r2]
- lsls r2, r2, #2
- ldr r1, _0803B0F8 @ =0x086AEAE0
- adds r2, r2, r1
- movs r3, #0
- ldrsh r1, [r0, r3]
- lsls r1, r1, #5
- ldr r0, [r2]
- adds r0, r0, r1
- str r0, [r4]
- ldr r0, _0803B0FC @ =0x05000060
- str r0, [r4, #4]
- ldr r0, _0803B100 @ =0x80000010
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- movs r3, #0
- ldr r7, _0803B104 @ =gOamBuffer
- mov r0, sb
- asrs r0, r0, #0xd
- mov r8, r0
- ldr r1, _0803B108 @ =0x086AEEFE
- mov sb, r1
- ldr r2, _0803B10C @ =0xFFFFFC00
- mov sl, r2
-_0803AF90:
- lsls r3, r3, #0x10
- asrs r1, r3, #0x10
- movs r0, #0xb8
- muls r0, r1, r0
- ldr r1, _0803B110 @ =0x0200BBA0
- adds r6, r0, r1
- ldr r2, _0803B0C8 @ =0x020314E0
- ldr r1, [r2]
- adds r0, r1, #0
- adds r0, #0x58
- ldrh r2, [r0]
- movs r0, #0x78
- subs r0, r0, r2
- strh r0, [r6, #2]
- adds r1, #0x5a
- ldrh r1, [r1]
- movs r0, #0x80
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r2, #0
- mov ip, r3
-_0803AFBA:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r2, [r5]
- lsls r2, r2, #3
- adds r2, r2, r7
- movs r3, #2
- ldrsh r1, [r5, r3]
- movs r3, #2
- ldrsh r0, [r6, r3]
- adds r1, r1, r0
- ldr r3, _0803B114 @ =0x000001FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- ldr r0, _0803B118 @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r2, [r5, #4]
- adds r0, r0, r2
- strb r0, [r1]
- ldrh r2, [r5]
- lsls r2, r2, #3
- adds r2, r2, r7
- lsls r0, r4, #1
- add r0, sb
- ldrh r1, [r0]
- add r1, r8
- ldr r3, _0803B0E4 @ =0x000003FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #4]
- mov r0, sl
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #4]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #2
- ble _0803AFBA
- movs r0, #0x80
- lsls r0, r0, #9
- add r0, ip
- lsrs r3, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0803AF90
- ldr r6, _0803B11C @ =0x0200BE80
- ldrh r0, [r6]
- cmp r0, #0
- beq _0803B0B4
- ldr r1, _0803B0C8 @ =0x020314E0
- ldr r0, [r1]
- adds r0, #0x58
- ldrh r1, [r0]
- movs r0, #0x78
- subs r0, r0, r1
- strh r0, [r6, #2]
- ldr r2, _0803B0C8 @ =0x020314E0
- ldr r0, [r2]
- adds r0, #0x5a
- ldrh r1, [r0]
- movs r0, #0x80
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r2, #0
- ldr r7, _0803B104 @ =gOamBuffer
- ldr r3, _0803B118 @ =0xFFFFFE00
- mov r8, r3
-_0803B056:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _0803B114 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #7
- ble _0803B056
- ldr r3, _0803B0C8 @ =0x020314E0
- ldr r0, [r3]
- ldrh r1, [r0, #0x18]
- movs r0, #0xf0
- lsls r0, r0, #1
- cmp r1, r0
- bne _0803B0B4
- ldr r0, _0803B0F0 @ =gMain
- movs r2, #0xdc
- lsls r2, r2, #4
- adds r1, r0, r2
- movs r0, #0
- strh r0, [r1]
-_0803B0B4:
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803B0C4: .4byte 0x086AEEE6
-_0803B0C8: .4byte 0x020314E0
-_0803B0CC: .4byte 0x0000044C
-_0803B0D0: .4byte 0x086AEED6
-_0803B0D4: .4byte 0x03006C00
-_0803B0D8: .4byte 0x086AEEDE
-_0803B0DC: .4byte 0xFFFFF000
-_0803B0E0: .4byte 0x08333004
-_0803B0E4: .4byte 0x000003FF
-_0803B0E8: .4byte 0x040000D4
-_0803B0EC: .4byte 0x80000400
-_0803B0F0: .4byte gMain
-_0803B0F4: .4byte 0x00000382
-_0803B0F8: .4byte 0x086AEAE0
-_0803B0FC: .4byte 0x05000060
-_0803B100: .4byte 0x80000010
-_0803B104: .4byte gOamBuffer
-_0803B108: .4byte 0x086AEEFE
-_0803B10C: .4byte 0xFFFFFC00
-_0803B110: .4byte 0x0200BBA0
-_0803B114: .4byte 0x000001FF
-_0803B118: .4byte 0xFFFFFE00
-_0803B11C: .4byte 0x0200BE80
-
- thumb_func_start sub_3B120
-sub_3B120: @ 0x0803B120
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- ldr r4, _0803B158 @ =0x020314E0
- ldr r1, [r4]
- movs r2, #0
- movs r0, #0
- strh r0, [r1, #0x18]
- strb r2, [r1, #0x17]
- ldr r0, [r4]
- strb r2, [r0, #0x13]
- ldr r5, [r4]
- ldr r1, _0803B15C @ =0x00000283
- adds r0, r5, r1
- ldrb r0, [r0]
- movs r1, #5
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- mov ip, r4
- cmp r0, #3
- bne _0803B160
- movs r2, #0xe1
- lsls r2, r2, #2
- adds r1, r5, r2
- movs r0, #0x12
- b _0803B168
- .align 2, 0
-_0803B158: .4byte 0x020314E0
-_0803B15C: .4byte 0x00000283
-_0803B160:
- movs r3, #0xe1
- lsls r3, r3, #2
- adds r1, r5, r3
- movs r0, #0xf
-_0803B168:
- strb r0, [r1]
- mov r4, ip
- ldr r0, [r4]
- movs r5, #0xa5
- lsls r5, r5, #2
- adds r0, r0, r5
- movs r3, #0
- strb r3, [r0]
- ldr r1, [r4]
- adds r5, r1, #0
- adds r5, #0x6c
- ldr r6, _0803B42C @ =0x00002A30
- adds r0, r6, #0
- ldrh r2, [r5]
- adds r0, r0, r2
- ldr r4, _0803B430 @ =0x00000296
- adds r2, r1, r4
- movs r4, #0
- strh r0, [r2]
- strh r3, [r5]
- movs r5, #0xe2
- lsls r5, r5, #2
- adds r1, r1, r5
- movs r2, #3
- strb r2, [r1]
- mov r6, ip
- ldr r0, [r6]
- adds r5, #0xa
- adds r1, r0, r5
- strh r3, [r1]
- ldr r6, _0803B434 @ =0x0000132C
- adds r0, r0, r6
- ldr r0, [r0]
- movs r1, #1
- strb r1, [r0]
- mov r5, ip
- ldr r0, [r5]
- ldr r6, _0803B438 @ =0x00000386
- adds r0, r0, r6
- strb r4, [r0]
- ldr r0, [r5]
- ldr r5, _0803B43C @ =0x00000387
- adds r0, r0, r5
- strb r1, [r0]
- mov r6, ip
- ldr r0, [r6]
- ldr r1, _0803B440 @ =0x000006C4
- adds r0, r0, r1
- strb r2, [r0]
- ldr r0, [r6]
- ldr r2, _0803B444 @ =0x00000382
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r6]
- subs r5, #4
- adds r0, r0, r5
- strb r4, [r0]
- ldr r0, [r6]
- ldr r6, _0803B448 @ =0x00000385
- adds r0, r0, r6
- strb r4, [r0]
- mov r1, ip
- ldr r0, [r1]
- adds r2, #7
- adds r0, r0, r2
- strb r4, [r0]
- ldr r1, [r1]
- adds r5, #0xb
- adds r0, r1, r5
- strh r3, [r0]
- adds r6, #0xb
- adds r0, r1, r6
- strh r3, [r0]
- adds r2, #0xb
- adds r0, r1, r2
- strh r3, [r0]
- adds r5, #0x4e
- adds r0, r1, r5
- strb r4, [r0]
- mov r6, ip
- ldr r0, [r6]
- ldr r1, _0803B44C @ =0x000003DD
- adds r0, r0, r1
- strb r4, [r0]
- ldr r0, [r6]
- adds r2, #0x4a
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r6]
- adds r5, #3
- adds r0, r0, r5
- strb r4, [r0]
- ldr r0, [r6]
- movs r6, #0xf8
- lsls r6, r6, #2
- adds r0, r0, r6
- strb r4, [r0]
- mov r1, ip
- ldr r0, [r1]
- adds r2, #4
- adds r1, r0, r2
- strh r3, [r1]
- adds r5, #2
- adds r0, r0, r5
- strb r4, [r0]
- mov r6, ip
- ldr r1, [r6]
- adds r2, #2
- adds r0, r1, r2
- strh r3, [r0]
- adds r5, #5
- adds r0, r1, r5
- strh r3, [r0]
- movs r6, #0xfa
- lsls r6, r6, #2
- adds r0, r1, r6
- strh r3, [r0]
- adds r2, #6
- adds r0, r1, r2
- strh r3, [r0]
- adds r5, #6
- adds r0, r1, r5
- strh r3, [r0]
- adds r6, #6
- adds r0, r1, r6
- strh r3, [r0]
- adds r2, #6
- adds r0, r1, r2
- strh r3, [r0]
- adds r5, #6
- adds r0, r1, r5
- strh r3, [r0]
- adds r6, #0x64
- adds r0, r1, r6
- strh r3, [r0]
- adds r2, #0x66
- adds r0, r1, r2
- strh r3, [r0]
- adds r5, #0x8a
- adds r1, r1, r5
- strb r4, [r1]
- mov r6, ip
- ldr r0, [r6]
- ldr r1, _0803B450 @ =0x0000047D
- adds r0, r0, r1
- strb r4, [r0]
- ldr r0, [r6]
- adds r2, #0x28
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r6]
- adds r5, #3
- adds r0, r0, r5
- strb r4, [r0]
- ldr r0, [r6]
- movs r6, #0x90
- lsls r6, r6, #3
- adds r1, r0, r6
- strh r3, [r1]
- adds r2, #4
- adds r1, r0, r2
- strh r3, [r1]
- adds r5, #5
- adds r1, r0, r5
- strh r3, [r1]
- adds r6, #6
- adds r1, r0, r6
- strh r3, [r1]
- adds r2, #6
- adds r1, r0, r2
- strh r3, [r1]
- adds r5, #6
- adds r1, r0, r5
- strh r3, [r1]
- adds r6, #0x3e
- adds r1, r0, r6
- strh r3, [r1]
- adds r2, #0x3e
- adds r1, r0, r2
- strh r3, [r1]
- adds r5, #0x3e
- adds r0, r0, r5
- strb r4, [r0]
- mov r6, ip
- ldr r0, [r6]
- adds r2, #4
- adds r1, r0, r2
- strh r3, [r1]
- ldr r3, _0803B454 @ =0x000004C9
- adds r0, r0, r3
- strb r4, [r0]
- movs r1, #0
- mov r5, ip
- movs r6, #0
- movs r7, #0
-_0803B2EE:
- ldr r3, [r5]
- lsls r2, r1, #0x10
- asrs r2, r2, #0x10
- lsls r4, r2, #2
- adds r1, r3, r4
- ldr r0, _0803B458 @ =0x0000046C
- strh r7, [r0, r1]
- adds r0, #2
- adds r1, r1, r0
- strh r7, [r1]
- ldr r1, _0803B45C @ =0x0000048C
- adds r3, r3, r1
- adds r3, r3, r2
- strb r6, [r3]
- ldr r0, [r5]
- movs r3, #0x92
- lsls r3, r3, #3
- adds r0, r0, r3
- adds r0, r0, r2
- strb r6, [r0]
- ldr r0, [r5]
- adds r1, #8
- adds r0, r0, r1
- adds r0, r0, r2
- strb r6, [r0]
- ldr r0, [r5]
- adds r3, #8
- adds r0, r0, r3
- adds r0, r0, r2
- strb r6, [r0]
- ldr r0, [r5]
- adds r1, #8
- adds r0, r0, r1
- adds r0, r0, r2
- strb r6, [r0]
- ldr r0, [r5]
- adds r3, #8
- adds r0, r0, r3
- adds r0, r0, r2
- strb r6, [r0]
- ldr r0, [r5]
- adds r1, #8
- adds r0, r0, r1
- adds r0, r0, r2
- strb r6, [r0]
- ldr r1, [r5]
- lsls r3, r2, #1
- mov r8, r3
- ldr r3, _0803B460 @ =0x000004AC
- adds r0, r1, r3
- add r0, r8
- strh r7, [r0]
- adds r1, r1, r4
- ldr r4, _0803B464 @ =0x000004B4
- adds r0, r1, r4
- strh r7, [r0]
- ldr r0, _0803B468 @ =0x000004B6
- adds r1, r1, r0
- strh r7, [r1]
- adds r2, #1
- lsls r2, r2, #0x10
- lsrs r1, r2, #0x10
- asrs r2, r2, #0x10
- cmp r2, #3
- ble _0803B2EE
- movs r1, #0
- ldr r5, _0803B46C @ =0x020314E0
- movs r4, #0
-_0803B376:
- ldr r0, [r5]
- lsls r2, r1, #0x10
- asrs r2, r2, #0x10
- ldr r1, _0803B470 @ =0x000004CC
- adds r0, r0, r1
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r5]
- ldr r3, _0803B474 @ =0x000004CF
- adds r0, r0, r3
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r5]
- ldr r6, _0803B478 @ =0x000004D2
- adds r0, r0, r6
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r5]
- adds r1, #9
- adds r0, r0, r1
- adds r0, r0, r2
- strb r4, [r0]
- ldr r1, [r5]
- lsls r3, r2, #1
- adds r6, #6
- adds r0, r1, r6
- adds r0, r0, r3
- strh r4, [r0]
- adds r6, #6
- adds r0, r1, r6
- adds r0, r0, r3
- strh r4, [r0]
- adds r6, #6
- adds r0, r1, r6
- adds r0, r0, r3
- strh r4, [r0]
- lsls r0, r2, #2
- adds r1, r1, r0
- ldr r3, _0803B47C @ =0x000004EC
- adds r0, r1, r3
- strh r4, [r0]
- adds r6, #0xa
- adds r0, r1, r6
- strh r4, [r0]
- adds r3, #0xc
- adds r0, r1, r3
- strh r4, [r0]
- adds r6, #0xc
- adds r1, r1, r6
- strh r4, [r1]
- adds r2, #1
- lsls r2, r2, #0x10
- lsrs r1, r2, #0x10
- asrs r2, r2, #0x10
- cmp r2, #2
- ble _0803B376
- mov r0, ip
- ldr r1, [r0]
- movs r0, #1
- strb r0, [r1, #0x1a]
- bl sub_3CBC4
- bl sub_3B7C4
- bl sub_3C6E0
- ldr r4, _0803B480 @ =0x040000D4
- ldr r0, _0803B484 @ =0x0849F1CC
- str r0, [r4]
- ldr r0, _0803B488 @ =0x06015800
- str r0, [r4, #4]
- ldr r0, _0803B48C @ =0x80001000
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- bl sub_3E644
- movs r0, #0x28
- bl m4aSongNumStart
- ldr r0, _0803B490 @ =0x081B36A4
- str r0, [r4]
- ldr r0, _0803B494 @ =0x05000320
- str r0, [r4, #4]
- ldr r0, _0803B498 @ =0x80000010
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803B42C: .4byte 0x00002A30
-_0803B430: .4byte 0x00000296
-_0803B434: .4byte 0x0000132C
-_0803B438: .4byte 0x00000386
-_0803B43C: .4byte 0x00000387
-_0803B440: .4byte 0x000006C4
-_0803B444: .4byte 0x00000382
-_0803B448: .4byte 0x00000385
-_0803B44C: .4byte 0x000003DD
-_0803B450: .4byte 0x0000047D
-_0803B454: .4byte 0x000004C9
-_0803B458: .4byte 0x0000046C
-_0803B45C: .4byte 0x0000048C
-_0803B460: .4byte 0x000004AC
-_0803B464: .4byte 0x000004B4
-_0803B468: .4byte 0x000004B6
-_0803B46C: .4byte 0x020314E0
-_0803B470: .4byte 0x000004CC
-_0803B474: .4byte 0x000004CF
-_0803B478: .4byte 0x000004D2
-_0803B47C: .4byte 0x000004EC
-_0803B480: .4byte 0x040000D4
-_0803B484: .4byte 0x0849F1CC
-_0803B488: .4byte 0x06015800
-_0803B48C: .4byte 0x80001000
-_0803B490: .4byte 0x081B36A4
-_0803B494: .4byte 0x05000320
-_0803B498: .4byte 0x80000010
-
- thumb_func_start sub_3B49C
-sub_3B49C: @ 0x0803B49C
- push {r4, r5, r6, lr}
- ldr r0, _0803B4B8 @ =0x020314E0
- ldr r0, [r0]
- ldrb r0, [r0, #0x13]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #6
- bls _0803B4AE
- b _0803B740
-_0803B4AE:
- lsls r0, r0, #2
- ldr r1, _0803B4BC @ =_0803B4C0
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803B4B8: .4byte 0x020314E0
-_0803B4BC: .4byte _0803B4C0
-_0803B4C0: @ jump table
- .4byte _0803B4DC @ case 0
- .4byte _0803B740 @ case 1
- .4byte _0803B576 @ case 2
- .4byte _0803B5EC @ case 3
- .4byte _0803B66C @ case 4
- .4byte _0803B6C8 @ case 5
- .4byte _0803B728 @ case 6
-_0803B4DC:
- ldr r5, _0803B504 @ =0x020314E0
- ldr r0, [r5]
- ldr r1, _0803B508 @ =0x000005F7
- adds r0, r0, r1
- movs r2, #0
- movs r6, #1
- strb r6, [r0]
- ldr r4, [r5]
- ldrh r1, [r4, #0x18]
- ldr r0, _0803B50C @ =0x000001F3
- cmp r1, r0
- bhi _0803B514
- adds r1, r4, #0
- adds r1, #0xe6
- ldr r0, _0803B510 @ =0x0000FFC0
- strh r0, [r1]
- ldrh r0, [r4, #0x18]
- adds r0, #1
- strh r0, [r4, #0x18]
- b _0803B740
- .align 2, 0
-_0803B504: .4byte 0x020314E0
-_0803B508: .4byte 0x000005F7
-_0803B50C: .4byte 0x000001F3
-_0803B510: .4byte 0x0000FFC0
-_0803B514:
- ldr r0, _0803B55C @ =0x00000333
- cmp r1, r0
- bhi _0803B568
- ldrh r0, [r4, #0x18]
- ldr r2, _0803B560 @ =0xFFFFFE0C
- adds r0, r0, r2
- movs r1, #5
- bl __divsi3
- subs r0, #0x40
- adds r1, r4, #0
- adds r1, #0xe6
- strh r0, [r1]
- ldrh r0, [r4, #0x18]
- adds r0, #1
- strh r0, [r4, #0x18]
- movs r0, #0
- ldrsh r1, [r1, r0]
- movs r0, #0x20
- rsbs r0, r0, #0
- cmp r1, r0
- blt _0803B544
- movs r0, #0
- strb r0, [r4, #0x1a]
-_0803B544:
- ldr r2, [r5]
- ldrh r1, [r2, #0x18]
- ldr r0, _0803B564 @ =0x0000028A
- cmp r1, r0
- beq _0803B550
- b _0803B740
-_0803B550:
- movs r1, #0xa5
- lsls r1, r1, #2
- adds r0, r2, r1
- strb r6, [r0]
- b _0803B740
- .align 2, 0
-_0803B55C: .4byte 0x00000333
-_0803B560: .4byte 0xFFFFFE0C
-_0803B564: .4byte 0x0000028A
-_0803B568:
- adds r0, r4, #0
- adds r0, #0xe6
- strh r2, [r0]
- strb r6, [r4, #0x13]
- ldr r0, [r5]
- strh r2, [r0, #0x18]
- b _0803B740
-_0803B576:
- ldr r2, _0803B588 @ =0x020314E0
- ldr r3, [r2]
- ldrh r0, [r3, #0x18]
- cmp r0, #0x77
- bhi _0803B58C
- adds r0, #1
- strh r0, [r3, #0x18]
- b _0803B740
- .align 2, 0
-_0803B588: .4byte 0x020314E0
-_0803B58C:
- movs r1, #0
- movs r0, #3
- strb r0, [r3, #0x13]
- ldr r2, [r2]
- strh r1, [r2, #0x18]
- ldr r3, _0803B5D4 @ =gMain
- movs r4, #0xe9
- lsls r4, r4, #3
- adds r0, r3, r4
- movs r4, #1
- movs r1, #1
- strh r1, [r0]
- movs r5, #0xd2
- lsls r5, r5, #3
- adds r0, r3, r5
- strh r1, [r0]
- ldr r1, _0803B5D8 @ =0x040000D4
- ldr r0, _0803B5DC @ =0x0813E894
- str r0, [r1]
- ldr r0, _0803B5E0 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0803B5E4 @ =0x80001000
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- movs r0, #0xe5
- lsls r0, r0, #2
- adds r1, r2, r0
- movs r0, #0x88
- strh r0, [r1]
- movs r0, #0x80
- strb r0, [r3, #0xf]
- ldr r1, _0803B5E8 @ =0x000005FA
- adds r2, r2, r1
- strb r4, [r2]
- b _0803B740
- .align 2, 0
-_0803B5D4: .4byte gMain
-_0803B5D8: .4byte 0x040000D4
-_0803B5DC: .4byte 0x0813E894
-_0803B5E0: .4byte 0x06015800
-_0803B5E4: .4byte 0x80001000
-_0803B5E8: .4byte 0x000005FA
-_0803B5EC:
- bl sub_351A8
- ldr r4, _0803B634 @ =0x020314E0
- ldr r1, [r4]
- ldrb r0, [r1, #0x1c]
- cmp r0, #0
- beq _0803B5FE
- movs r0, #0xb5
- strh r0, [r1, #0x18]
-_0803B5FE:
- ldr r1, [r4]
- ldrh r0, [r1, #0x18]
- cmp r0, #0xb4
- bne _0803B614
- movs r0, #1
- strb r0, [r1, #0x1c]
- ldr r1, [r4]
- ldr r0, _0803B638 @ =0x00061A80
- str r0, [r1, #0x38]
- ldr r0, _0803B63C @ =0x02FAF080
- str r0, [r1, #0x3c]
-_0803B614:
- ldr r1, [r4]
- ldrh r0, [r1, #0x18]
- cmp r0, #0xef
- bhi _0803B640
- cmp r0, #0x14
- bne _0803B62A
- bl m4aMPlayAllStop
- movs r0, #0x2b
- bl m4aSongNumStart
-_0803B62A:
- ldr r1, [r4]
- ldrh r0, [r1, #0x18]
- adds r0, #1
- strh r0, [r1, #0x18]
- b _0803B654
- .align 2, 0
-_0803B634: .4byte 0x020314E0
-_0803B638: .4byte 0x00061A80
-_0803B63C: .4byte 0x02FAF080
-_0803B640:
- movs r0, #0
- strh r0, [r1, #0x18]
- movs r0, #6
- strb r0, [r1, #0x13]
- ldr r1, [r4]
- ldr r2, _0803B660 @ =0x00000283
- adds r1, r1, r2
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
-_0803B654:
- ldr r0, _0803B664 @ =0x020314E0
- ldr r0, [r0]
- ldr r4, _0803B668 @ =0x000005FA
- adds r0, r0, r4
- movs r1, #1
- b _0803B73E
- .align 2, 0
-_0803B660: .4byte 0x00000283
-_0803B664: .4byte 0x020314E0
-_0803B668: .4byte 0x000005FA
-_0803B66C:
- ldr r2, _0803B6B0 @ =0x020314E0
- ldr r1, [r2]
- movs r0, #5
- strb r0, [r1, #0x13]
- ldr r2, [r2]
- movs r0, #0x8c
- strh r0, [r2, #0x18]
- ldr r3, _0803B6B4 @ =gMain
- movs r5, #0xe9
- lsls r5, r5, #3
- adds r0, r3, r5
- movs r1, #1
- strh r1, [r0]
- movs r4, #0xd2
- lsls r4, r4, #3
- adds r0, r3, r4
- strh r1, [r0]
- ldr r1, _0803B6B8 @ =0x040000D4
- ldr r0, _0803B6BC @ =0x0813E894
- str r0, [r1]
- ldr r0, _0803B6C0 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0803B6C4 @ =0x80001000
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- movs r5, #0xe5
- lsls r5, r5, #2
- adds r2, r2, r5
- movs r0, #0x88
- strh r0, [r2]
- movs r0, #0x80
- strb r0, [r3, #0xf]
- b _0803B740
- .align 2, 0
-_0803B6B0: .4byte 0x020314E0
-_0803B6B4: .4byte gMain
-_0803B6B8: .4byte 0x040000D4
-_0803B6BC: .4byte 0x0813E894
-_0803B6C0: .4byte 0x06015800
-_0803B6C4: .4byte 0x80001000
-_0803B6C8:
- bl sub_351A8
- ldr r2, _0803B700 @ =0x020314E0
- ldr r1, [r2]
- ldrb r0, [r1, #0x1c]
- cmp r0, #0
- beq _0803B6DA
- movs r0, #0xb5
- strh r0, [r1, #0x18]
-_0803B6DA:
- ldr r1, [r2]
- ldrh r0, [r1, #0x18]
- cmp r0, #0xb4
- bne _0803B6F0
- movs r0, #1
- strb r0, [r1, #0x1c]
- ldr r1, [r2]
- ldr r0, _0803B704 @ =0x00061A80
- str r0, [r1, #0x38]
- ldr r0, _0803B708 @ =0x02FAF080
- str r0, [r1, #0x3c]
-_0803B6F0:
- ldr r1, [r2]
- ldrh r0, [r1, #0x18]
- cmp r0, #0xef
- bhi _0803B70C
- adds r0, #1
- strh r0, [r1, #0x18]
- b _0803B740
- .align 2, 0
-_0803B700: .4byte 0x020314E0
-_0803B704: .4byte 0x00061A80
-_0803B708: .4byte 0x02FAF080
-_0803B70C:
- movs r0, #0
- strh r0, [r1, #0x18]
- movs r0, #6
- strb r0, [r1, #0x13]
- ldr r1, [r2]
- ldr r0, _0803B724 @ =0x00000283
- adds r1, r1, r0
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- b _0803B740
- .align 2, 0
-_0803B724: .4byte 0x00000283
-_0803B728:
- bl sub_351A8
- ldr r2, _0803B7B0 @ =0x020314E0
- ldr r0, [r2]
- ldr r1, _0803B7B4 @ =0x00000386
- adds r0, r0, r1
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r2, _0803B7B8 @ =0x000005FA
- adds r0, r0, r2
-_0803B73E:
- strb r1, [r0]
-_0803B740:
- bl sub_3CBC4
- bl sub_3B7C4
- bl sub_3C6E0
- bl sub_3E644
- ldr r0, _0803B7B0 @ =0x020314E0
- ldr r1, [r0]
- movs r4, #0xa5
- lsls r4, r4, #2
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _0803B788
- ldr r5, _0803B7BC @ =0x00000296
- adds r0, r1, r5
- ldrh r0, [r0]
- cmp r0, #1
- bhi _0803B788
- ldr r4, _0803B7C0 @ =gMain
- ldrb r0, [r4, #0xf]
- cmp r0, #0
- bne _0803B788
- bl m4aMPlayAllStop
- movs r0, #0x2c
- bl m4aSongNumStart
- ldrb r1, [r4, #0xf]
- movs r0, #0x40
- orrs r0, r1
- strb r0, [r4, #0xf]
-_0803B788:
- ldr r0, _0803B7B0 @ =0x020314E0
- ldr r1, [r0]
- ldr r2, _0803B7B4 @ =0x00000386
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _0803B7A6
- ldr r4, _0803B7B8 @ =0x000005FA
- adds r1, r1, r4
- movs r0, #1
- strb r0, [r1]
- bl sub_350F0
-_0803B7A6:
- bl sub_472E4
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803B7B0: .4byte 0x020314E0
-_0803B7B4: .4byte 0x00000386
-_0803B7B8: .4byte 0x000005FA
-_0803B7BC: .4byte 0x00000296
-_0803B7C0: .4byte gMain
-
- thumb_func_start sub_3B7C4
-sub_3B7C4: @ 0x0803B7C4
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- ldr r0, _0803B874 @ =0x020314E0
- ldr r1, [r0]
- ldr r2, _0803B878 @ =0x00000452
- adds r4, r1, r2
- ldrh r3, [r4]
- mov r8, r0
- cmp r3, #0
- beq _0803B850
- subs r0, r3, #1
- strh r0, [r4]
- ldr r3, _0803B87C @ =0x00000389
- adds r1, r1, r3
- movs r0, #1
- strb r0, [r1]
- mov r4, r8
- ldr r0, [r4]
- adds r0, r0, r2
- ldrh r0, [r0]
- cmp r0, #0x23
- bne _0803B838
- ldr r0, _0803B880 @ =0x02032F20
- ldr r1, _0803B884 @ =0x086A22D8
- bl MPlayStart
- ldr r1, [r4]
- ldr r0, _0803B888 @ =0x0007A120
- str r0, [r1, #0x3c]
- movs r0, #7
- bl sub_11B0
- ldr r1, [r4]
- ldr r2, _0803B88C @ =0x00000385
- adds r1, r1, r2
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- ldr r3, [r4]
- adds r2, r3, r2
- movs r1, #0xe1
- lsls r1, r1, #2
- adds r0, r3, r1
- movs r1, #0
- ldrsb r1, [r2, r1]
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r1, r0
- blt _0803B838
- movs r2, #0xf7
- lsls r2, r2, #2
- adds r1, r3, r2
- movs r0, #6
- strb r0, [r1]
-_0803B838:
- ldr r0, _0803B874 @ =0x020314E0
- ldr r3, [r0]
- ldr r4, _0803B878 @ =0x00000452
- adds r1, r3, r4
- ldrh r1, [r1]
- mov r8, r0
- cmp r1, #0x1e
- bhi _0803B850
- ldr r0, _0803B87C @ =0x00000389
- adds r1, r3, r0
- movs r0, #0
- strb r0, [r1]
-_0803B850:
- mov r1, r8
- ldr r0, [r1]
- movs r2, #0xf7
- lsls r2, r2, #2
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0xa
- bls _0803B868
- bl _0803C476
-_0803B868:
- lsls r0, r0, #2
- ldr r1, _0803B890 @ =_0803B894
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803B874: .4byte 0x020314E0
-_0803B878: .4byte 0x00000452
-_0803B87C: .4byte 0x00000389
-_0803B880: .4byte 0x02032F20
-_0803B884: .4byte 0x086A22D8
-_0803B888: .4byte 0x0007A120
-_0803B88C: .4byte 0x00000385
-_0803B890: .4byte _0803B894
-_0803B894: @ jump table
- .4byte _0803B8C0 @ case 0
- .4byte _0803B91C @ case 1
- .4byte _0803BB2C @ case 2
- .4byte _0803BC74 @ case 3
- .4byte _0803BEF8 @ case 4
- .4byte _0803BFD4 @ case 5
- .4byte _0803C098 @ case 6
- .4byte _0803C1BC @ case 7
- .4byte _0803C26C @ case 8
- .4byte _0803C3C0 @ case 9
- .4byte _0803C476 @ case 10
-_0803B8C0:
- ldr r3, _0803B904 @ =0x020314E0
- ldr r0, [r3]
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r0, r0, r4
- movs r4, #0
- movs r1, #1
- strb r1, [r0]
- ldr r1, [r3]
- ldr r0, _0803B908 @ =0x000003E2
- adds r2, r1, r0
- movs r5, #0
- movs r0, #0x16
- strh r0, [r2]
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r0, r1, r2
- strh r4, [r0]
- ldr r0, _0803B90C @ =0x000003E1
- adds r1, r1, r0
- strb r5, [r1]
- ldr r1, [r3]
- adds r2, #4
- adds r0, r1, r2
- strh r4, [r0]
- ldr r3, _0803B910 @ =0x000003EA
- adds r2, r1, r3
- ldr r0, _0803B914 @ =0x0000FB50
- strh r0, [r2]
- ldr r0, _0803B918 @ =0x000004C6
- adds r1, r1, r0
- strh r4, [r1]
- bl _0803C476
- .align 2, 0
-_0803B904: .4byte 0x020314E0
-_0803B908: .4byte 0x000003E2
-_0803B90C: .4byte 0x000003E1
-_0803B910: .4byte 0x000003EA
-_0803B914: .4byte 0x0000FB50
-_0803B918: .4byte 0x000004C6
-_0803B91C:
- ldr r0, _0803B944 @ =0x086AF140
- mov r1, r8
- ldr r5, [r1]
- ldr r2, _0803B948 @ =0x000003E2
- adds r4, r5, r2
- movs r3, #0
- ldrsh r1, [r4, r3]
- lsls r1, r1, #2
- adds r0, #2
- adds r1, r1, r0
- movs r0, #0xf9
- lsls r0, r0, #2
- adds r2, r5, r0
- ldrh r3, [r2]
- ldrh r0, [r1]
- cmp r0, r3
- bls _0803B94C
- adds r0, r3, #1
- strh r0, [r2]
- b _0803B99E
- .align 2, 0
-_0803B944: .4byte 0x086AF140
-_0803B948: .4byte 0x000003E2
-_0803B94C:
- movs r3, #0
- strh r3, [r2]
- ldrh r0, [r4]
- adds r0, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x24
- bne _0803B99E
- ldr r2, _0803B978 @ =0x000003E1
- adds r1, r5, r2
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0x11
- bgt _0803B97C
- movs r0, #0x22
- strh r0, [r4]
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- b _0803B99E
- .align 2, 0
-_0803B978: .4byte 0x000003E1
-_0803B97C:
- strh r3, [r4]
- movs r3, #0xf7
- lsls r3, r3, #2
- adds r1, r5, r3
- movs r0, #2
- strb r0, [r1]
- mov r4, r8
- ldr r0, [r4]
- ldr r1, _0803BAF8 @ =0x000003DD
- adds r0, r0, r1
- movs r1, #4
- strb r1, [r0]
- ldr r0, [r4]
- ldr r2, _0803BAFC @ =0x000003E1
- adds r0, r0, r2
- movs r1, #9
- strb r1, [r0]
-_0803B99E:
- ldr r0, _0803BB00 @ =0x020314E0
- ldr r4, [r0]
- ldr r3, _0803BB04 @ =0x000003E2
- adds r0, r4, r3
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x16
- beq _0803B9B0
- b _0803BABA
-_0803B9B0:
- adds r3, #2
- adds r2, r4, r3
- ldrh r1, [r2]
- ldr r0, _0803BB08 @ =0x000001F3
- cmp r1, r0
- bhi _0803BA54
- cmp r1, #0x32
- beq _0803B9C6
- subs r0, #0xe5
- cmp r1, r0
- bne _0803B9E8
-_0803B9C6:
- ldr r0, _0803BB0C @ =0x000004CA
- adds r1, r4, r0
- movs r0, #0x1f
- strh r0, [r1]
- ldrh r0, [r2]
- movs r1, #0x6e
- bl __udivsi3
- ldr r2, _0803BB10 @ =0x000004C9
- adds r1, r4, r2
- strb r0, [r1]
- ldr r0, _0803BB14 @ =0x00000119
- bl m4aSongNumStart
- movs r0, #8
- bl sub_11B0
-_0803B9E8:
- ldr r0, _0803BB00 @ =0x020314E0
- ldr r4, [r0]
- movs r3, #0xf9
- lsls r3, r3, #2
- adds r2, r4, r3
- ldrh r1, [r2]
- cmp r1, #0xa0
- beq _0803BA00
- movs r0, #0xbe
- lsls r0, r0, #1
- cmp r1, r0
- bne _0803BA22
-_0803BA00:
- ldr r0, _0803BB0C @ =0x000004CA
- adds r1, r4, r0
- movs r0, #0x1f
- strh r0, [r1]
- ldrh r0, [r2]
- movs r1, #0x6e
- bl __udivsi3
- ldr r2, _0803BB10 @ =0x000004C9
- adds r1, r4, r2
- strb r0, [r1]
- ldr r0, _0803BB14 @ =0x00000119
- bl m4aSongNumStart
- movs r0, #8
- bl sub_11B0
-_0803BA22:
- ldr r0, _0803BB00 @ =0x020314E0
- ldr r2, [r0]
- movs r3, #0xf9
- lsls r3, r3, #2
- adds r0, r2, r3
- ldrh r1, [r0]
- movs r0, #0xf5
- lsls r0, r0, #1
- cmp r1, r0
- bne _0803BA54
- ldr r4, _0803BB0C @ =0x000004CA
- adds r1, r2, r4
- movs r0, #0x1f
- strh r0, [r1]
- ldr r0, _0803BB10 @ =0x000004C9
- adds r1, r2, r0
- movs r0, #4
- strb r0, [r1]
- movs r0, #0x8d
- lsls r0, r0, #1
- bl m4aSongNumStart
- movs r0, #8
- bl sub_11B0
-_0803BA54:
- ldr r2, _0803BB00 @ =0x020314E0
- ldr r3, [r2]
- movs r1, #0xf9
- lsls r1, r1, #2
- adds r0, r3, r1
- ldrh r1, [r0]
- ldr r0, _0803BB18 @ =0x00000275
- mov r8, r2
- cmp r1, r0
- bls _0803BA8E
- ldr r4, _0803BB1C @ =0x000003EA
- adds r2, r3, r4
- movs r1, #0
- ldrsh r0, [r2, r1]
- cmp r0, #0
- bge _0803BA9E
- adds r4, #0xdc
- adds r0, r3, r4
- ldrh r1, [r0]
- adds r1, #4
- strh r1, [r0]
- ldrh r0, [r2]
- adds r0, r0, r1
- strh r0, [r2]
- lsls r0, r0, #0x10
- cmp r0, #0
- ble _0803BA8E
- movs r0, #0
- strh r0, [r2]
-_0803BA8E:
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _0803BB1C @ =0x000003EA
- adds r0, r0, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- cmp r0, #0
- blt _0803BABA
-_0803BA9E:
- ldr r0, _0803BB00 @ =0x020314E0
- ldr r0, [r0]
- movs r4, #0x99
- lsls r4, r4, #3
- adds r0, r0, r4
- movs r1, #0x3c
- strb r1, [r0]
- ldr r0, _0803BB20 @ =0x02032F20
- ldr r1, _0803BB24 @ =0x086A2454
- bl MPlayStart
- movs r0, #0xd
- bl sub_11B0
-_0803BABA:
- ldr r0, _0803BB00 @ =0x020314E0
- ldr r1, [r0]
- ldr r2, _0803BB04 @ =0x000003E2
- adds r0, r1, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- cmp r0, #0x21
- bne _0803BAE0
- movs r4, #0xf9
- lsls r4, r4, #2
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, #0
- bne _0803BAE0
- movs r0, #0xe4
- lsls r0, r0, #2
- adds r1, r1, r0
- movs r0, #0x29
- strh r0, [r1]
-_0803BAE0:
- ldr r0, _0803BB00 @ =0x020314E0
- ldr r0, [r0]
- ldr r2, _0803BB28 @ =0x00000392
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, #0x78
- bhi _0803BAF2
- bl _0803C476
-_0803BAF2:
- subs r0, #1
- bl _0803C474
- .align 2, 0
-_0803BAF8: .4byte 0x000003DD
-_0803BAFC: .4byte 0x000003E1
-_0803BB00: .4byte 0x020314E0
-_0803BB04: .4byte 0x000003E2
-_0803BB08: .4byte 0x000001F3
-_0803BB0C: .4byte 0x000004CA
-_0803BB10: .4byte 0x000004C9
-_0803BB14: .4byte 0x00000119
-_0803BB18: .4byte 0x00000275
-_0803BB1C: .4byte 0x000003EA
-_0803BB20: .4byte 0x02032F20
-_0803BB24: .4byte 0x086A2454
-_0803BB28: .4byte 0x00000392
-_0803BB2C:
- mov r3, r8
- ldr r4, [r3]
- ldr r1, _0803BB50 @ =0x00000452
- adds r0, r4, r1
- ldrh r0, [r0]
- cmp r0, #0x1e
- bls _0803BB58
- ldr r2, _0803BB54 @ =0x000003E2
- adds r1, r4, r2
- movs r2, #0
- movs r0, #0x15
- strh r0, [r1]
- movs r3, #0xf9
- lsls r3, r3, #2
- adds r0, r4, r3
- strh r2, [r0]
- bl _0803C476
- .align 2, 0
-_0803BB50: .4byte 0x00000452
-_0803BB54: .4byte 0x000003E2
-_0803BB58:
- ldr r0, _0803BB7C @ =0x086AF140
- ldr r1, _0803BB80 @ =0x000003E2
- adds r3, r4, r1
- movs r2, #0
- ldrsh r1, [r3, r2]
- lsls r1, r1, #2
- adds r0, #2
- adds r1, r1, r0
- movs r0, #0xf9
- lsls r0, r0, #2
- adds r2, r4, r0
- ldrh r5, [r2]
- ldrh r0, [r1]
- cmp r0, r5
- bls _0803BB84
- adds r0, r5, #1
- strh r0, [r2]
- b _0803BC50
- .align 2, 0
-_0803BB7C: .4byte 0x086AF140
-_0803BB80: .4byte 0x000003E2
-_0803BB84:
- movs r6, #0
- movs r5, #0
- strh r5, [r2]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #2
- bne _0803BC50
- ldr r2, _0803BBF4 @ =0x000003E1
- adds r1, r4, r2
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0xb
- bgt _0803BC00
- strh r5, [r3]
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- mov r2, r8
- ldr r1, [r2]
- ldr r3, _0803BBF4 @ =0x000003E1
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0xc
- bne _0803BC50
- ldr r4, _0803BBF8 @ =0x000003DD
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #4
- bne _0803BC50
- movs r3, #0
- ldr r5, _0803BBFC @ =0x0000048C
- movs r4, #9
-_0803BBD2:
- ldr r0, [r2]
- lsls r1, r3, #0x10
- asrs r1, r1, #0x10
- adds r0, r0, r5
- adds r3, r0, r1
- movs r0, #0
- ldrsb r0, [r3, r0]
- cmp r0, #8
- bgt _0803BBE6
- strb r4, [r3]
-_0803BBE6:
- adds r0, r1, #1
- lsls r0, r0, #0x10
- lsrs r3, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0803BBD2
- b _0803BC50
- .align 2, 0
-_0803BBF4: .4byte 0x000003E1
-_0803BBF8: .4byte 0x000003DD
-_0803BBFC: .4byte 0x0000048C
-_0803BC00:
- ldr r1, _0803BC20 @ =0x000003DD
- adds r0, r4, r1
- movs r1, #0
- ldrsb r1, [r0, r1]
- cmp r1, #4
- bne _0803BC24
- movs r0, #0x24
- strh r0, [r3]
- movs r3, #0xf7
- lsls r3, r3, #2
- adds r0, r4, r3
- strb r1, [r0]
- mov r4, r8
- ldr r0, [r4]
- b _0803BC4C
- .align 2, 0
-_0803BC20: .4byte 0x000003DD
-_0803BC24:
- cmp r1, #3
- bne _0803BC3A
- movs r0, #0x4c
- strh r0, [r3]
- movs r3, #0xf7
- lsls r3, r3, #2
- adds r0, r4, r3
- strb r1, [r0]
- mov r4, r8
- ldr r0, [r4]
- b _0803BC4C
-_0803BC3A:
- movs r0, #0x3a
- strh r0, [r3]
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r4, r0
- movs r0, #5
- strb r0, [r1]
- mov r1, r8
- ldr r0, [r1]
-_0803BC4C:
- adds r0, r0, r2
- strb r6, [r0]
-_0803BC50:
- ldr r0, _0803BC6C @ =0x020314E0
- ldr r0, [r0]
- ldr r2, _0803BC70 @ =0x000003E2
- adds r1, r0, r2
- movs r3, #0
- ldrsh r0, [r1, r3]
- cmp r0, #0x15
- beq _0803BC64
- bl _0803C476
-_0803BC64:
- movs r0, #0
- bl _0803C474
- .align 2, 0
-_0803BC6C: .4byte 0x020314E0
-_0803BC70: .4byte 0x000003E2
-_0803BC74:
- ldr r1, _0803BCA0 @ =0x086AF140
- mov r4, r8
- ldr r2, [r4]
- ldr r0, _0803BCA4 @ =0x000003E2
- adds r3, r2, r0
- movs r4, #0
- ldrsh r0, [r3, r4]
- lsls r0, r0, #2
- adds r1, #2
- adds r0, r0, r1
- movs r1, #0xf9
- lsls r1, r1, #2
- adds r2, r2, r1
- ldrh r1, [r2]
- ldrh r0, [r0]
- cmp r0, r1
- bls _0803BCA8
- adds r0, r1, #1
- strh r0, [r2]
- bl _0803C476
- .align 2, 0
-_0803BCA0: .4byte 0x086AF140
-_0803BCA4: .4byte 0x000003E2
-_0803BCA8:
- movs r0, #0
- strh r0, [r2]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x5d
- beq _0803BCC2
- cmp r0, #0x60
- beq _0803BCC2
- cmp r0, #0x63
- bne _0803BD1E
-_0803BCC2:
- mov r2, r8
- ldr r1, [r2]
- ldr r3, _0803BCF4 @ =0x000003E2
- adds r2, r1, r3
- movs r0, #0
- strh r0, [r2]
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r1, r1, r4
- movs r0, #2
- strb r0, [r1]
- mov r0, r8
- ldr r2, [r0]
- ldr r1, _0803BCF8 @ =0x0000047C
- adds r0, r2, r1
- ldrb r1, [r0]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _0803BCFC
- subs r3, #5
- adds r1, r2, r3
- movs r0, #4
- b _0803BD02
- .align 2, 0
-_0803BCF4: .4byte 0x000003E2
-_0803BCF8: .4byte 0x0000047C
-_0803BCFC:
- ldr r3, _0803BDF8 @ =0x000003DD
- adds r1, r2, r3
- movs r0, #5
-_0803BD02:
- strb r0, [r1]
- mov r4, r8
- ldr r0, [r4]
- ldr r1, _0803BDFC @ =0x000003E1
- adds r0, r0, r1
- movs r1, #8
- strb r1, [r0]
- mov r2, r8
- ldr r1, [r2]
- ldr r3, _0803BE00 @ =0x0000047C
- adds r1, r1, r3
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
-_0803BD1E:
- ldr r5, _0803BE04 @ =0x020314E0
- ldr r0, [r5]
- ldr r4, _0803BE08 @ =0x000003E2
- adds r0, r0, r4
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x5a
- beq _0803BD30
- b _0803C476
-_0803BD30:
- ldr r0, _0803BE0C @ =0x02032F20
- ldr r1, _0803BE10 @ =0x086A24F0
- bl MPlayStart
- ldr r0, [r5]
- ldr r2, _0803BE14 @ =0x0000047E
- adds r0, r0, r2
- movs r1, #8
- strb r1, [r0]
- ldr r4, [r5]
- ldr r3, _0803BE18 @ =0x00000482
- adds r1, r4, r3
- movs r0, #0
- mov sb, r0
- movs r0, #0x23
- strh r0, [r1]
- ldr r1, _0803BE1C @ =gMain
- mov sl, r1
- ldr r1, _0803BE20 @ =0x000012C8
- add r1, sl
- movs r0, #1
- strh r0, [r1]
- adds r2, #0xa
- mov r8, r2
- adds r2, r4, r2
- movs r0, #0x96
- lsls r0, r0, #3
- strh r0, [r2]
- adds r3, #8
- adds r1, r4, r3
- adds r0, #0x28
- strh r0, [r1]
- movs r1, #0
- ldrsh r0, [r2, r1]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- ldr r2, _0803BE24 @ =0x0000132C
- adds r4, r4, r2
- ldr r2, [r4]
- movs r3, #0x10
- ldrsh r1, [r2, r3]
- subs r6, r0, r1
- movs r1, #0x7c
- movs r4, #0x12
- ldrsh r0, [r2, r4]
- subs r7, r1, r0
- rsbs r0, r6, #0
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- lsls r1, r7, #0x10
- asrs r1, r1, #0x10
- bl ArcTan2
- ldr r1, [r5]
- ldr r6, _0803BE28 @ =0x00000484
- adds r2, r1, r6
- strh r0, [r2]
- movs r0, #0xe2
- lsls r0, r0, #2
- adds r1, r1, r0
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- beq _0803BDE0
- bl Random
- ldr r4, [r5]
- mov r2, sl
- ldr r1, [r2, #0x4c]
- muls r0, r1, r0
- movs r1, #0x64
- bl __umodsi3
- adds r1, r0, #0
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r0, r0, #0xc
- movs r1, #0x64
- bl __udivsi3
- movs r3, #0x98
- lsls r3, r3, #8
- adds r0, r0, r3
- adds r4, r4, r6
- strh r0, [r4]
-_0803BDE0:
- ldr r1, [r5]
- adds r3, r1, r6
- ldrh r2, [r3]
- ldr r0, _0803BE2C @ =0x00003FFF
- cmp r2, r0
- bhi _0803BE34
- movs r0, #0xe8
- lsls r0, r0, #8
- strh r0, [r3]
- ldr r4, _0803BE30 @ =0x0000047D
- adds r1, r1, r4
- b _0803BEB6
- .align 2, 0
-_0803BDF8: .4byte 0x000003DD
-_0803BDFC: .4byte 0x000003E1
-_0803BE00: .4byte 0x0000047C
-_0803BE04: .4byte 0x020314E0
-_0803BE08: .4byte 0x000003E2
-_0803BE0C: .4byte 0x02032F20
-_0803BE10: .4byte 0x086A24F0
-_0803BE14: .4byte 0x0000047E
-_0803BE18: .4byte 0x00000482
-_0803BE1C: .4byte gMain
-_0803BE20: .4byte 0x000012C8
-_0803BE24: .4byte 0x0000132C
-_0803BE28: .4byte 0x00000484
-_0803BE2C: .4byte 0x00003FFF
-_0803BE30: .4byte 0x0000047D
-_0803BE34:
- ldr r0, _0803BE50 @ =0x000097FF
- cmp r2, r0
- bhi _0803BE5C
- adds r0, #1
- strh r0, [r3]
- ldr r2, _0803BE54 @ =0x0000047D
- adds r0, r1, r2
- movs r3, #1
- strb r3, [r0]
- ldr r0, [r5]
- add r0, r8
- ldr r1, _0803BE58 @ =0x00000424
- b _0803BEC0
- .align 2, 0
-_0803BE50: .4byte 0x000097FF
-_0803BE54: .4byte 0x0000047D
-_0803BE58: .4byte 0x00000424
-_0803BE5C:
- ldr r0, _0803BE74 @ =0x0000AFFF
- cmp r2, r0
- bhi _0803BE80
- ldr r4, _0803BE78 @ =0x0000047D
- adds r0, r1, r4
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r5]
- add r0, r8
- ldr r1, _0803BE7C @ =0x00000424
- b _0803BEC0
- .align 2, 0
-_0803BE74: .4byte 0x0000AFFF
-_0803BE78: .4byte 0x0000047D
-_0803BE7C: .4byte 0x00000424
-_0803BE80:
- ldr r0, _0803BE90 @ =0x0000CFFF
- cmp r2, r0
- bhi _0803BE98
- ldr r2, _0803BE94 @ =0x0000047D
- adds r0, r1, r2
- mov r3, sb
- strb r3, [r0]
- b _0803BEC2
- .align 2, 0
-_0803BE90: .4byte 0x0000CFFF
-_0803BE94: .4byte 0x0000047D
-_0803BE98:
- ldr r0, _0803BEA4 @ =0x0000E7FF
- cmp r2, r0
- bhi _0803BEAC
- ldr r4, _0803BEA8 @ =0x0000047D
- adds r1, r1, r4
- b _0803BEB6
- .align 2, 0
-_0803BEA4: .4byte 0x0000E7FF
-_0803BEA8: .4byte 0x0000047D
-_0803BEAC:
- movs r0, #0xe8
- lsls r0, r0, #8
- strh r0, [r3]
- ldr r0, _0803BEE8 @ =0x0000047D
- adds r1, r1, r0
-_0803BEB6:
- movs r0, #2
- strb r0, [r1]
- ldr r0, [r5]
- add r0, r8
- ldr r1, _0803BEEC @ =0x0000053C
-_0803BEC0:
- strh r1, [r0]
-_0803BEC2:
- ldr r0, _0803BEF0 @ =0x020314E0
- ldr r2, [r0]
- ldr r1, _0803BEF4 @ =0x000003E2
- adds r3, r2, r1
- ldr r4, _0803BEE8 @ =0x0000047D
- adds r0, r2, r4
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- ldrh r1, [r3]
- adds r0, r0, r1
- strh r0, [r3]
- movs r3, #0xe2
- lsls r3, r3, #2
- adds r2, r2, r3
- movs r0, #0
- ldrsb r0, [r2, r0]
- b _0803C476
- .align 2, 0
-_0803BEE8: .4byte 0x0000047D
-_0803BEEC: .4byte 0x0000053C
-_0803BEF0: .4byte 0x020314E0
-_0803BEF4: .4byte 0x000003E2
-_0803BEF8:
- ldr r0, _0803BF48 @ =0x086AF140
- mov r4, r8
- ldr r5, [r4]
- ldr r1, _0803BF4C @ =0x000003E2
- adds r4, r5, r1
- movs r2, #0
- ldrsh r1, [r4, r2]
- lsls r1, r1, #2
- adds r0, #2
- adds r1, r1, r0
- movs r3, #0xf9
- lsls r3, r3, #2
- adds r2, r5, r3
- ldrh r3, [r2]
- ldrh r0, [r1]
- cmp r0, r3
- bls _0803BF1C
- b _0803C28E
-_0803BF1C:
- movs r3, #0
- strh r3, [r2]
- ldrh r0, [r4]
- adds r0, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x38
- bne _0803BF76
- ldr r0, _0803BF50 @ =0x000003E1
- adds r1, r5, r0
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #5
- bgt _0803BF54
- movs r0, #0x36
- strh r0, [r4]
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- b _0803BF76
- .align 2, 0
-_0803BF48: .4byte 0x086AF140
-_0803BF4C: .4byte 0x000003E2
-_0803BF50: .4byte 0x000003E1
-_0803BF54:
- strh r3, [r4]
- movs r2, #0xf7
- lsls r2, r2, #2
- adds r1, r5, r2
- movs r0, #2
- strb r0, [r1]
- mov r3, r8
- ldr r0, [r3]
- ldr r4, _0803BFB0 @ =0x000003DD
- adds r0, r0, r4
- movs r1, #3
- strb r1, [r0]
- ldr r0, [r3]
- ldr r1, _0803BFB4 @ =0x000003E1
- adds r0, r0, r1
- movs r1, #6
- strb r1, [r0]
-_0803BF76:
- ldr r0, _0803BFB8 @ =0x020314E0
- ldr r2, [r0]
- ldr r3, _0803BFBC @ =0x000003E2
- adds r0, r2, r3
- movs r4, #0
- ldrsh r0, [r0, r4]
- cmp r0, #0x32
- beq _0803BF88
- b _0803C476
-_0803BF88:
- movs r1, #0xf9
- lsls r1, r1, #2
- adds r0, r2, r1
- ldrh r3, [r0]
- cmp r3, #0
- beq _0803BF96
- b _0803C476
-_0803BF96:
- ldr r0, _0803BFC0 @ =gMain
- ldr r4, _0803BFC4 @ =0x00001888
- adds r0, r0, r4
- movs r1, #1
- strh r1, [r0]
- ldr r1, _0803BFC8 @ =0x00000456
- adds r0, r2, r1
- strh r3, [r0]
- ldr r0, _0803BFCC @ =0x02032F20
- ldr r1, _0803BFD0 @ =0x086A2548
- bl MPlayStart
- b _0803C476
- .align 2, 0
-_0803BFB0: .4byte 0x000003DD
-_0803BFB4: .4byte 0x000003E1
-_0803BFB8: .4byte 0x020314E0
-_0803BFBC: .4byte 0x000003E2
-_0803BFC0: .4byte gMain
-_0803BFC4: .4byte 0x00001888
-_0803BFC8: .4byte 0x00000456
-_0803BFCC: .4byte 0x02032F20
-_0803BFD0: .4byte 0x086A2548
-_0803BFD4:
- ldr r1, _0803BFFC @ =0x086AF140
- ldr r5, _0803C000 @ =0x020314E0
- ldr r4, [r5]
- ldr r6, _0803C004 @ =0x000003E2
- adds r2, r4, r6
- movs r3, #0
- ldrsh r0, [r2, r3]
- lsls r0, r0, #2
- adds r1, #2
- adds r0, r0, r1
- movs r7, #0xf9
- lsls r7, r7, #2
- adds r1, r4, r7
- ldrh r3, [r1]
- ldrh r0, [r0]
- cmp r0, r3
- bls _0803C008
- adds r0, r3, #1
- b _0803C474
- .align 2, 0
-_0803BFFC: .4byte 0x086AF140
-_0803C000: .4byte 0x020314E0
-_0803C004: .4byte 0x000003E2
-_0803C008:
- movs r3, #0
- strh r3, [r1]
- ldrh r0, [r2]
- adds r0, #1
- strh r0, [r2]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x4a
- bne _0803C03A
- strh r3, [r2]
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r4, r0
- movs r0, #2
- strb r0, [r1]
- ldr r0, [r5]
- ldr r1, _0803C084 @ =0x000003DD
- adds r0, r0, r1
- movs r1, #3
- strb r1, [r0]
- ldr r0, [r5]
- ldr r2, _0803C088 @ =0x000003E1
- adds r0, r0, r2
- movs r1, #8
- strb r1, [r0]
-_0803C03A:
- ldr r1, [r5]
- adds r0, r1, r6
- movs r3, #0
- ldrsh r0, [r0, r3]
- cmp r0, #0x47
- beq _0803C048
- b _0803C476
-_0803C048:
- adds r0, r1, r7
- ldrh r0, [r0]
- cmp r0, #0
- beq _0803C052
- b _0803C476
-_0803C052:
- ldr r4, _0803C08C @ =0x00000129
- adds r1, r1, r4
- movs r0, #0
- strb r0, [r1]
- ldr r0, [r5]
- movs r1, #0x94
- lsls r1, r1, #1
- adds r0, r0, r1
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r5]
- movs r2, #0x99
- lsls r2, r2, #3
- adds r0, r0, r2
- movs r1, #0x3c
- strb r1, [r0]
- movs r0, #0xd
- bl sub_11B0
- ldr r0, _0803C090 @ =0x02032F20
- ldr r1, _0803C094 @ =0x086A2454
- bl MPlayStart
- b _0803C476
- .align 2, 0
-_0803C084: .4byte 0x000003DD
-_0803C088: .4byte 0x000003E1
-_0803C08C: .4byte 0x00000129
-_0803C090: .4byte 0x02032F20
-_0803C094: .4byte 0x086A2454
-_0803C098:
- mov r3, r8
- ldr r0, [r3]
- movs r4, #0xa5
- lsls r4, r4, #2
- adds r0, r0, r4
- movs r5, #0
- movs r1, #3
- strb r1, [r0]
- ldr r4, [r3]
- ldr r1, _0803C118 @ =0x00000283
- adds r0, r4, r1
- ldrb r0, [r0]
- movs r1, #5
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- cmp r0, #3
- bne _0803C134
- movs r2, #0xf7
- lsls r2, r2, #2
- adds r1, r4, r2
- movs r0, #9
- strb r0, [r1]
- mov r3, r8
- ldr r0, [r3]
- ldr r4, _0803C11C @ =0x000003E2
- adds r0, r0, r4
- movs r4, #0
- strh r5, [r0]
- ldr r3, _0803C120 @ =gMain
- ldr r1, _0803C124 @ =0x00000A28
- adds r0, r3, r1
- movs r1, #1
- strh r1, [r0]
- movs r2, #0x97
- lsls r2, r2, #4
- adds r0, r3, r2
- strh r1, [r0]
- mov r0, r8
- ldr r1, [r0]
- movs r0, #0xb3
- lsls r0, r0, #3
- adds r2, r1, r0
- movs r0, #0xc6
- strh r0, [r2]
- ldr r2, _0803C128 @ =0x0000038E
- adds r0, r1, r2
- strh r5, [r0]
- movs r0, #0xb5
- lsls r0, r0, #3
- adds r1, r1, r0
- strb r4, [r1]
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _0803C12C @ =0x000005A6
- adds r1, r0, r2
- strh r5, [r1]
- ldr r4, _0803C130 @ =0x000005A4
- adds r0, r0, r4
- movs r1, #2
- strb r1, [r0]
- b _0803C172
- .align 2, 0
-_0803C118: .4byte 0x00000283
-_0803C11C: .4byte 0x000003E2
-_0803C120: .4byte gMain
-_0803C124: .4byte 0x00000A28
-_0803C128: .4byte 0x0000038E
-_0803C12C: .4byte 0x000005A6
-_0803C130: .4byte 0x000005A4
-_0803C134:
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r4, r0
- movs r0, #7
- strb r0, [r1]
- mov r2, r8
- ldr r1, [r2]
- ldr r3, _0803C19C @ =0x000003E2
- adds r2, r1, r3
- movs r3, #0
- movs r0, #0x20
- strh r0, [r2]
- ldr r4, _0803C1A0 @ =0x00000387
- adds r1, r1, r4
- strb r3, [r1]
- ldr r2, _0803C1A4 @ =gMain
- movs r0, #0x80
- strb r0, [r2, #0xf]
- mov r1, r8
- ldr r0, [r1]
- movs r3, #0xe2
- lsls r3, r3, #2
- adds r0, r0, r3
- movs r1, #2
- strb r1, [r0]
- mov r4, r8
- ldr r0, [r4]
- ldr r1, _0803C1A8 @ =0x00000392
- adds r0, r0, r1
- strh r5, [r0]
- adds r3, r2, #0
-_0803C172:
- ldr r2, _0803C1AC @ =0x020314E0
- ldr r0, [r2]
- ldr r4, _0803C1B0 @ =0x000003E1
- adds r0, r0, r4
- movs r1, #0
- strb r1, [r0]
- ldr r2, [r2]
- adds r4, #3
- adds r0, r2, r4
- strh r1, [r0]
- ldr r1, _0803C1B4 @ =0x00001438
- adds r0, r3, r1
- ldrh r0, [r0]
- cmp r0, #0
- bne _0803C192
- b _0803C476
-_0803C192:
- ldr r3, _0803C1B8 @ =0x00000486
- adds r1, r2, r3
- movs r0, #1
- b _0803C474
- .align 2, 0
-_0803C19C: .4byte 0x000003E2
-_0803C1A0: .4byte 0x00000387
-_0803C1A4: .4byte gMain
-_0803C1A8: .4byte 0x00000392
-_0803C1AC: .4byte 0x020314E0
-_0803C1B0: .4byte 0x000003E1
-_0803C1B4: .4byte 0x00001438
-_0803C1B8: .4byte 0x00000486
-_0803C1BC:
- ldr r0, _0803C1E4 @ =0x086AF140
- mov r4, r8
- ldr r5, [r4]
- ldr r1, _0803C1E8 @ =0x000003E2
- adds r4, r5, r1
- movs r2, #0
- ldrsh r1, [r4, r2]
- lsls r1, r1, #2
- adds r0, #2
- adds r1, r1, r0
- movs r3, #0xf9
- lsls r3, r3, #2
- adds r2, r5, r3
- ldrh r3, [r2]
- ldrh r0, [r1]
- cmp r0, r3
- bls _0803C1EC
- adds r0, r3, #1
- strh r0, [r2]
- b _0803C236
- .align 2, 0
-_0803C1E4: .4byte 0x086AF140
-_0803C1E8: .4byte 0x000003E2
-_0803C1EC:
- movs r0, #0
- strh r0, [r2]
- ldrh r0, [r4]
- adds r0, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x24
- bne _0803C236
- ldr r0, _0803C218 @ =0x000003E1
- adds r1, r5, r0
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0x11
- bgt _0803C21C
- movs r0, #0x22
- strh r0, [r4]
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- b _0803C236
- .align 2, 0
-_0803C218: .4byte 0x000003E1
-_0803C21C:
- movs r0, #2
- strh r0, [r4]
- movs r2, #0xf7
- lsls r2, r2, #2
- adds r1, r5, r2
- movs r0, #8
- strb r0, [r1]
- mov r3, r8
- ldr r0, [r3]
- ldr r4, _0803C260 @ =0x000003E1
- adds r0, r0, r4
- movs r1, #0
- strb r1, [r0]
-_0803C236:
- ldr r0, _0803C264 @ =0x020314E0
- ldr r1, [r0]
- ldr r2, _0803C268 @ =0x000003E2
- adds r0, r1, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- cmp r0, #0x21
- beq _0803C248
- b _0803C476
-_0803C248:
- movs r4, #0xf9
- lsls r4, r4, #2
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, #0
- beq _0803C256
- b _0803C476
-_0803C256:
- movs r0, #0xe4
- lsls r0, r0, #2
- adds r1, r1, r0
- movs r0, #0x29
- b _0803C474
- .align 2, 0
-_0803C260: .4byte 0x000003E1
-_0803C264: .4byte 0x020314E0
-_0803C268: .4byte 0x000003E2
-_0803C26C:
- ldr r0, _0803C294 @ =0x086AF140
- mov r1, r8
- ldr r5, [r1]
- ldr r2, _0803C298 @ =0x000003E2
- adds r4, r5, r2
- movs r3, #0
- ldrsh r1, [r4, r3]
- lsls r1, r1, #2
- adds r0, #2
- adds r1, r1, r0
- movs r0, #0xf9
- lsls r0, r0, #2
- adds r2, r5, r0
- ldrh r3, [r2]
- ldrh r0, [r1]
- cmp r0, r3
- bls _0803C29C
-_0803C28E:
- adds r0, r3, #1
- strh r0, [r2]
- b _0803C476
- .align 2, 0
-_0803C294: .4byte 0x086AF140
-_0803C298: .4byte 0x000003E2
-_0803C29C:
- movs r3, #0
- strh r3, [r2]
- ldrh r0, [r4]
- adds r0, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x14
- bne _0803C2E8
- ldr r2, _0803C2C8 @ =0x000003E1
- adds r1, r5, r2
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #6
- bgt _0803C2CC
- movs r0, #3
- strh r0, [r4]
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- b _0803C2E8
- .align 2, 0
-_0803C2C8: .4byte 0x000003E1
-_0803C2CC:
- movs r0, #3
- strh r0, [r4]
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r1, r5, r4
- movs r0, #0xa
- strb r0, [r1]
- mov r0, r8
- ldr r1, [r0]
- movs r0, #2
- strb r0, [r1, #0x13]
- mov r1, r8
- ldr r0, [r1]
- strh r3, [r0, #0x18]
-_0803C2E8:
- mov r2, r8
- ldr r1, [r2]
- ldr r3, _0803C3A8 @ =0x000003E2
- adds r0, r1, r3
- movs r4, #0
- ldrsh r0, [r0, r4]
- cmp r0, #3
- beq _0803C2FC
- cmp r0, #0xc
- bne _0803C306
-_0803C2FC:
- ldr r0, _0803C3AC @ =0x000003EA
- adds r1, r1, r0
- ldrh r0, [r1]
- subs r0, #0xa
- strh r0, [r1]
-_0803C306:
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _0803C3A8 @ =0x000003E2
- adds r0, r0, r2
- ldrh r1, [r0]
- subs r0, r1, #4
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #1
- bls _0803C326
- lsls r0, r1, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xd
- beq _0803C326
- cmp r0, #0xe
- bne _0803C334
-_0803C326:
- mov r3, r8
- ldr r1, [r3]
- ldr r4, _0803C3AC @ =0x000003EA
- adds r1, r1, r4
- ldrh r0, [r1]
- subs r0, #0x14
- strh r0, [r1]
-_0803C334:
- ldr r0, _0803C3B0 @ =0x020314E0
- ldr r2, [r0]
- ldr r1, _0803C3A8 @ =0x000003E2
- adds r0, r2, r1
- movs r3, #0
- ldrsh r0, [r0, r3]
- cmp r0, #5
- bne _0803C36C
- movs r4, #0xf9
- lsls r4, r4, #2
- adds r0, r2, r4
- ldrh r0, [r0]
- cmp r0, #0
- bne _0803C36C
- ldr r0, _0803C3B4 @ =0x000004CA
- adds r1, r2, r0
- movs r0, #0x1f
- strh r0, [r1]
- ldr r3, _0803C3B8 @ =0x000004C9
- adds r1, r2, r3
- movs r0, #6
- strb r0, [r1]
- ldr r0, _0803C3BC @ =0x00000119
- bl m4aSongNumStart
- movs r0, #8
- bl sub_11B0
-_0803C36C:
- ldr r0, _0803C3B0 @ =0x020314E0
- ldr r2, [r0]
- ldr r4, _0803C3A8 @ =0x000003E2
- adds r0, r2, r4
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xe
- beq _0803C37E
- b _0803C476
-_0803C37E:
- movs r3, #0xf9
- lsls r3, r3, #2
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, #0
- bne _0803C476
- adds r4, #0xe8
- adds r1, r2, r4
- movs r0, #0x1f
- strh r0, [r1]
- ldr r0, _0803C3B8 @ =0x000004C9
- adds r1, r2, r0
- movs r0, #5
- strb r0, [r1]
- ldr r0, _0803C3BC @ =0x00000119
- bl m4aSongNumStart
- movs r0, #8
- bl sub_11B0
- b _0803C476
- .align 2, 0
-_0803C3A8: .4byte 0x000003E2
-_0803C3AC: .4byte 0x000003EA
-_0803C3B0: .4byte 0x020314E0
-_0803C3B4: .4byte 0x000004CA
-_0803C3B8: .4byte 0x000004C9
-_0803C3BC: .4byte 0x00000119
-_0803C3C0:
- ldr r1, _0803C3E8 @ =0x086AF140
- mov r3, r8
- ldr r2, [r3]
- ldr r4, _0803C3EC @ =0x000003E2
- adds r3, r2, r4
- movs r4, #0
- ldrsh r0, [r3, r4]
- lsls r0, r0, #2
- adds r1, #2
- adds r0, r0, r1
- movs r1, #0xf9
- lsls r1, r1, #2
- adds r2, r2, r1
- ldrh r1, [r2]
- ldrh r0, [r0]
- cmp r0, r1
- bls _0803C3F0
- adds r0, r1, #1
- strh r0, [r2]
- b _0803C404
- .align 2, 0
-_0803C3E8: .4byte 0x086AF140
-_0803C3EC: .4byte 0x000003E2
-_0803C3F0:
- movs r1, #0
- strh r1, [r2]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #2
- bne _0803C404
- strh r1, [r3]
-_0803C404:
- mov r2, r8
- ldr r6, [r2]
- ldr r3, _0803C4BC @ =0x0000038E
- adds r4, r6, r3
- ldrh r5, [r4]
- movs r1, #0
- ldrsh r0, [r4, r1]
- ldr r1, _0803C4C0 @ =0xFFFFFE0C
- cmp r0, r1
- ble _0803C444
- subs r0, r1, r0
- movs r1, #0x1e
- bl __divsi3
- adds r0, r5, r0
- strh r0, [r4]
- movs r3, #0
- ldrsh r0, [r4, r3]
- movs r1, #0xa
- bl __divsi3
- adds r2, r6, #0
- adds r2, #0xe6
- strh r0, [r2]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #0x26
- rsbs r1, r1, #0
- cmp r0, r1
- bge _0803C444
- ldr r0, _0803C4C4 @ =0x0000FFDA
- strh r0, [r2]
-_0803C444:
- ldr r3, _0803C4C8 @ =0x020314E0
- ldr r1, [r3]
- movs r2, #0xb5
- lsls r2, r2, #3
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x15
- bne _0803C460
- ldr r4, _0803C4CC @ =0x000003E2
- adds r1, r1, r4
- movs r0, #0x4a
- strh r0, [r1]
-_0803C460:
- ldr r1, [r3]
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x16
- bne _0803C476
- ldr r0, _0803C4CC @ =0x000003E2
- adds r1, r1, r0
- movs r0, #0x4b
-_0803C474:
- strh r0, [r1]
-_0803C476:
- ldr r0, _0803C4C8 @ =0x020314E0
- ldr r1, [r0]
- movs r2, #0x99
- lsls r2, r2, #3
- adds r3, r1, r2
- ldrb r4, [r3]
- movs r1, #0
- ldrsb r1, [r3, r1]
- mov r8, r0
- cmp r1, #0
- bgt _0803C48E
- b _0803C5BC
-_0803C48E:
- subs r0, r4, #1
- strb r0, [r3]
- mov r3, r8
- ldr r5, [r3]
- adds r1, r5, r2
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0x13
- bgt _0803C4D4
- ldr r4, _0803C4D0 @ =0x086AEF28
- movs r1, #0xc
- bl __modsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #0x17
- adds r0, r0, r4
- movs r4, #0
- ldrsh r0, [r0, r4]
- lsls r0, r0, #1
- movs r2, #0xab
- lsls r2, r2, #2
- adds r1, r5, r2
- b _0803C4F2
- .align 2, 0
-_0803C4BC: .4byte 0x0000038E
-_0803C4C0: .4byte 0xFFFFFE0C
-_0803C4C4: .4byte 0x0000FFDA
-_0803C4C8: .4byte 0x020314E0
-_0803C4CC: .4byte 0x000003E2
-_0803C4D0: .4byte 0x086AEF28
-_0803C4D4:
- ldr r4, _0803C600 @ =0x086AEF28
- movs r0, #0
- ldrsb r0, [r1, r0]
- movs r1, #0xc
- bl __modsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #0x17
- adds r0, r0, r4
- movs r3, #0
- ldrsh r0, [r0, r3]
- lsls r0, r0, #2
- movs r4, #0xab
- lsls r4, r4, #2
- adds r1, r5, r4
-_0803C4F2:
- strh r0, [r1]
- mov r0, r8
- ldr r2, [r0]
- movs r5, #0x99
- lsls r5, r5, #3
- adds r0, r2, r5
- movs r1, #0
- ldrsb r1, [r0, r1]
- cmp r1, #0
- bne _0803C50E
- movs r3, #0xab
- lsls r3, r3, #2
- adds r0, r2, r3
- strh r1, [r0]
-_0803C50E:
- mov r0, r8
- ldr r4, [r0]
- adds r0, r4, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #8
- bne _0803C548
- movs r3, #0
- ldr r0, _0803C604 @ =gMain
- movs r2, #0
- movs r1, #0xdc
- lsls r1, r1, #4
- adds r0, r0, r1
- movs r1, #1
- strh r1, [r0]
- ldr r1, _0803C608 @ =0x000004CF
- adds r0, r4, r1
- strb r2, [r0]
- mov r4, r8
- ldr r0, [r4]
- adds r1, #3
- adds r0, r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- movs r2, #0x9b
- lsls r2, r2, #3
- adds r0, r0, r2
- strh r3, [r0]
-_0803C548:
- mov r3, r8
- ldr r4, [r3]
- adds r0, r4, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x14
- bne _0803C582
- movs r3, #1
- ldr r0, _0803C604 @ =gMain
- ldr r1, _0803C60C @ =0x00000E78
- adds r0, r0, r1
- movs r1, #0
- movs r2, #0
- strh r3, [r0]
- movs r3, #0x9a
- lsls r3, r3, #3
- adds r0, r4, r3
- strb r1, [r0]
- mov r4, r8
- ldr r0, [r4]
- ldr r1, _0803C610 @ =0x000004D3
- adds r0, r0, r1
- movs r1, #0xd
- strb r1, [r0]
- ldr r0, [r4]
- adds r3, #0xa
- adds r0, r0, r3
- strh r2, [r0]
-_0803C582:
- mov r0, r8
- ldr r4, [r0]
- adds r0, r4, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x35
- bne _0803C5BC
- ldr r1, _0803C604 @ =gMain
- movs r2, #0xf3
- lsls r2, r2, #4
- adds r1, r1, r2
- movs r2, #0
- movs r3, #0
- movs r0, #1
- strh r0, [r1]
- ldr r1, _0803C614 @ =0x000004D1
- adds r0, r4, r1
- strb r2, [r0]
- mov r2, r8
- ldr r0, [r2]
- ldr r4, _0803C618 @ =0x000004D4
- adds r0, r0, r4
- movs r1, #0x16
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _0803C61C @ =0x000004DC
- adds r0, r0, r1
- strh r3, [r0]
-_0803C5BC:
- mov r2, r8
- ldr r5, [r2]
- ldr r3, _0803C620 @ =0x000004CA
- adds r1, r5, r3
- ldrh r0, [r1]
- cmp r0, #0
- beq _0803C662
- subs r0, #1
- strh r0, [r1]
- ldr r4, _0803C624 @ =0x000004C9
- adds r6, r5, r4
- ldrb r0, [r6]
- cmp r0, #5
- bhi _0803C62C
- ldr r4, _0803C628 @ =0x086AEF40
- ldrh r0, [r1]
- movs r1, #0x1f
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #0x1e
- subs r1, r1, r0
- ldrb r2, [r6]
- lsls r0, r2, #5
- subs r0, r0, r2
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r0, r0, r4
- ldrh r1, [r0]
- movs r2, #0xab
- lsls r2, r2, #2
- adds r0, r5, r2
- b _0803C64A
- .align 2, 0
-_0803C600: .4byte 0x086AEF28
-_0803C604: .4byte gMain
-_0803C608: .4byte 0x000004CF
-_0803C60C: .4byte 0x00000E78
-_0803C610: .4byte 0x000004D3
-_0803C614: .4byte 0x000004D1
-_0803C618: .4byte 0x000004D4
-_0803C61C: .4byte 0x000004DC
-_0803C620: .4byte 0x000004CA
-_0803C624: .4byte 0x000004C9
-_0803C628: .4byte 0x086AEF40
-_0803C62C:
- ldr r4, _0803C6C4 @ =0x086AF0B4
- ldrh r0, [r1]
- movs r1, #0x46
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #0x45
- subs r1, r1, r0
- lsls r1, r1, #1
- adds r1, r1, r4
- ldrh r1, [r1]
- movs r3, #0xab
- lsls r3, r3, #2
- adds r0, r5, r3
-_0803C64A:
- strh r1, [r0]
- mov r4, r8
- ldr r2, [r4]
- ldr r1, _0803C6C8 @ =0x000004CA
- adds r0, r2, r1
- ldrh r1, [r0]
- cmp r1, #0
- bne _0803C662
- movs r3, #0xab
- lsls r3, r3, #2
- adds r0, r2, r3
- strh r1, [r0]
-_0803C662:
- mov r4, r8
- ldr r0, [r4]
- movs r5, #0xe4
- lsls r5, r5, #2
- adds r1, r0, r5
- ldrh r0, [r1]
- cmp r0, #0
- beq _0803C6B6
- subs r0, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0x14
- bne _0803C69E
- ldr r0, _0803C6CC @ =0x086A3700
- ldr r1, _0803C6D0 @ =0x00001290
- adds r0, r0, r1
- ldrh r0, [r0]
- movs r1, #0
- bl sub_528DC
- ldr r1, [r4]
- ldr r3, _0803C6C8 @ =0x000004CA
- adds r2, r1, r3
- movs r0, #0x46
- strh r0, [r2]
- ldr r4, _0803C6D4 @ =0x000004C9
- adds r1, r1, r4
- movs r0, #6
- strb r0, [r1]
-_0803C69E:
- mov r1, r8
- ldr r0, [r1]
- adds r0, r0, r5
- ldrh r0, [r0]
- cmp r0, #0
- bne _0803C6B6
- ldr r0, _0803C6D8 @ =0x02032EE0
- ldr r1, _0803C6DC @ =0x0000FFFF
- movs r2, #0x80
- lsls r2, r2, #1
- bl m4aMPlayVolumeControl
-_0803C6B6:
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803C6C4: .4byte 0x086AF0B4
-_0803C6C8: .4byte 0x000004CA
-_0803C6CC: .4byte 0x086A3700
-_0803C6D0: .4byte 0x00001290
-_0803C6D4: .4byte 0x000004C9
-_0803C6D8: .4byte 0x02032EE0
-_0803C6DC: .4byte 0x0000FFFF
-
- thumb_func_start sub_3C6E0
-sub_3C6E0: @ 0x0803C6E0
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #8
- ldr r7, _0803C820 @ =0x0200C890
- ldrh r0, [r7]
- ldr r1, _0803C824 @ =0x020314E0
- mov sl, r1
- cmp r0, #0
- bne _0803C6FA
- b _0803CA2E
-_0803C6FA:
- ldr r1, _0803C828 @ =0x086AF140
- mov r2, sl
- ldr r4, [r2]
- ldr r3, _0803C82C @ =0x000003E2
- adds r0, r4, r3
- movs r6, #0
- ldrsh r0, [r0, r6]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldrh r0, [r0]
- mov r8, r0
- movs r6, #0xfa
- lsls r6, r6, #2
- adds r0, r4, r6
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x64
- adds r4, #0x58
- ldrh r1, [r4]
- subs r0, r0, r1
- strh r0, [r7, #2]
- mov r2, sl
- ldr r4, [r2]
- ldr r5, _0803C830 @ =0x000003EA
- adds r0, r4, r5
- movs r3, #0
- ldrsh r0, [r0, r3]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x54
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r0, r0, r1
- strh r0, [r7, #4]
- mov r0, sl
- ldr r4, [r0]
- adds r6, r4, r6
- movs r1, #0
- ldrsh r0, [r6, r1]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x76
- movs r2, #0xa2
- lsls r2, r2, #2
- adds r1, r4, r2
- strh r0, [r1]
- adds r5, r4, r5
- movs r3, #0
- ldrsh r0, [r5, r3]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x3c
- ldr r2, _0803C834 @ =0x0000028A
- adds r1, r4, r2
- strh r0, [r1]
- movs r3, #0
- ldrsh r0, [r6, r3]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0xb8
- movs r6, #0xfc
- lsls r6, r6, #2
- adds r1, r4, r6
- strh r0, [r1]
- movs r1, #0
- ldrsh r0, [r5, r1]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0x9c
- ldr r2, _0803C838 @ =0x000003F2
- adds r4, r4, r2
- strh r0, [r4]
- movs r3, #4
- ldrsh r1, [r7, r3]
- movs r0, #0x3c
- rsbs r0, r0, #0
- cmp r1, r0
- bge _0803C7B2
- ldr r0, _0803C83C @ =0x0000FFC4
- strh r0, [r7, #4]
-_0803C7B2:
- movs r4, #4
- ldrsh r0, [r7, r4]
- cmp r0, #0xb4
- ble _0803C7BE
- movs r0, #0xb4
- strh r0, [r7, #4]
-_0803C7BE:
- mov r6, sl
- ldr r0, [r6]
- ldr r1, _0803C840 @ =0x00000389
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #9
- ble _0803C84C
- movs r2, #0
- ldr r4, _0803C844 @ =gOamBuffer
- ldr r3, _0803C848 @ =0xFFFFFE00
- mov r8, r3
- movs r6, #0xb0
-_0803C7DA:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- adds r5, r7, r0
- ldrh r2, [r5]
- lsls r2, r2, #3
- adds r2, r2, r4
- ldrh r1, [r2, #2]
- mov r0, r8
- ands r0, r1
- movs r1, #0xf0
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r0, [r5]
- lsls r0, r0, #3
- adds r0, r0, r4
- movs r1, #0xb4
- strb r1, [r0]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r2, [r1, #5]
- movs r0, #0xf
- ands r0, r2
- orrs r0, r6
- strb r0, [r1, #5]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #0x12
- ble _0803C7DA
- b _0803CA2E
- .align 2, 0
-_0803C820: .4byte 0x0200C890
-_0803C824: .4byte 0x020314E0
-_0803C828: .4byte 0x086AF140
-_0803C82C: .4byte 0x000003E2
-_0803C830: .4byte 0x000003EA
-_0803C834: .4byte 0x0000028A
-_0803C838: .4byte 0x000003F2
-_0803C83C: .4byte 0x0000FFC4
-_0803C840: .4byte 0x00000389
-_0803C844: .4byte gOamBuffer
-_0803C848: .4byte 0xFFFFFE00
-_0803C84C:
- cmp r0, #1
- bne _0803C8FC
- movs r2, #0
- mov r4, r8
- lsls r0, r4, #0x10
- ldr r6, _0803C8EC @ =gOamBuffer
- asrs r1, r0, #0x10
- movs r0, #0x72
- adds r3, r1, #0
- muls r3, r0, r3
- mov r8, r3
- ldr r4, _0803C8F0 @ =0xFFFFFE00
- mov ip, r4
- movs r0, #0xe0
- mov sb, r0
-_0803C86A:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- adds r5, r7, r0
- ldrh r0, [r5]
- lsls r0, r0, #3
- adds r2, r0, r6
- lsls r0, r3, #1
- adds r0, r0, r3
- lsls r0, r0, #1
- ldr r1, _0803C8F4 @ =0x086B65EA
- adds r0, r0, r1
- mov r4, r8
- adds r1, r4, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, #2
- adds r2, #2
- ldrh r0, [r1]
- strh r0, [r2]
- ldrh r0, [r1, #2]
- strh r0, [r2, #2]
- ldrh r2, [r5]
- lsls r2, r2, #3
- adds r2, r2, r6
- ldrh r0, [r2, #2]
- lsls r1, r0, #0x17
- lsrs r1, r1, #0x17
- str r1, [sp]
- movs r4, #2
- ldrsh r1, [r7, r4]
- ldr r0, [sp]
- adds r1, r0, r1
- ldr r4, _0803C8F8 @ =0x000001FF
- ands r1, r4
- mov r0, ip
- ldrh r4, [r2, #2]
- ands r0, r4
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r6
- ldrb r0, [r7, #4]
- ldrb r2, [r1]
- adds r0, r0, r2
- strb r0, [r1]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r6
- ldrb r2, [r1, #5]
- movs r0, #0xf
- ands r0, r2
- mov r4, sb
- orrs r0, r4
- strb r0, [r1, #5]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #0x12
- ble _0803C86A
- b _0803CA2E
- .align 2, 0
-_0803C8EC: .4byte gOamBuffer
-_0803C8F0: .4byte 0xFFFFFE00
-_0803C8F4: .4byte 0x086B65EA
-_0803C8F8: .4byte 0x000001FF
-_0803C8FC:
- cmp r0, #3
- bne _0803C9AC
- movs r2, #0
- mov r6, r8
- lsls r0, r6, #0x10
- ldr r6, _0803C99C @ =gOamBuffer
- asrs r1, r0, #0x10
- movs r0, #0x72
- adds r3, r1, #0
- muls r3, r0, r3
- mov r8, r3
- ldr r4, _0803C9A0 @ =0xFFFFFE00
- mov ip, r4
- movs r0, #0xb0
- mov sb, r0
-_0803C91A:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- adds r5, r7, r0
- ldrh r0, [r5]
- lsls r0, r0, #3
- adds r2, r0, r6
- lsls r0, r3, #1
- adds r0, r0, r3
- lsls r0, r0, #1
- ldr r1, _0803C9A4 @ =0x086B65EA
- adds r0, r0, r1
- mov r4, r8
- adds r1, r4, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, #2
- adds r2, #2
- ldrh r0, [r1]
- strh r0, [r2]
- ldrh r0, [r1, #2]
- strh r0, [r2, #2]
- ldrh r2, [r5]
- lsls r2, r2, #3
- adds r2, r2, r6
- ldrh r0, [r2, #2]
- lsls r1, r0, #0x17
- lsrs r1, r1, #0x17
- str r1, [sp]
- movs r4, #2
- ldrsh r1, [r7, r4]
- ldr r0, [sp]
- adds r1, r0, r1
- ldr r4, _0803C9A8 @ =0x000001FF
- ands r1, r4
- mov r0, ip
- ldrh r4, [r2, #2]
- ands r0, r4
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r6
- ldrb r0, [r7, #4]
- ldrb r2, [r1]
- adds r0, r0, r2
- strb r0, [r1]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r6
- ldrb r2, [r1, #5]
- movs r0, #0xf
- ands r0, r2
- mov r4, sb
- orrs r0, r4
- strb r0, [r1, #5]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #0x12
- ble _0803C91A
- b _0803CA2E
- .align 2, 0
-_0803C99C: .4byte gOamBuffer
-_0803C9A0: .4byte 0xFFFFFE00
-_0803C9A4: .4byte 0x086B65EA
-_0803C9A8: .4byte 0x000001FF
-_0803C9AC:
- movs r2, #0
- mov r6, r8
- lsls r0, r6, #0x10
- ldr r1, _0803CB6C @ =gOamBuffer
- mov sb, r1
- asrs r1, r0, #0x10
- movs r0, #0x72
- adds r3, r1, #0
- muls r3, r0, r3
- mov r8, r3
- ldr r4, _0803CB70 @ =0xFFFFFE00
- mov ip, r4
-_0803C9C4:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- adds r5, r7, r0
- ldrh r0, [r5]
- lsls r0, r0, #3
- mov r6, sb
- adds r2, r0, r6
- lsls r0, r3, #1
- adds r0, r0, r3
- lsls r0, r0, #1
- ldr r1, _0803CB74 @ =0x086B65EA
- adds r0, r0, r1
- mov r4, r8
- adds r1, r4, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, #2
- adds r2, #2
- ldrh r0, [r1]
- strh r0, [r2]
- ldrh r0, [r1, #2]
- strh r0, [r2, #2]
- ldrh r2, [r5]
- lsls r2, r2, #3
- add r2, sb
- ldrh r4, [r2, #2]
- lsls r1, r4, #0x17
- lsrs r1, r1, #0x17
- movs r6, #2
- ldrsh r0, [r7, r6]
- adds r1, r1, r0
- ldr r6, _0803CB78 @ =0x000001FF
- adds r0, r6, #0
- ands r1, r0
- mov r0, ip
- ands r0, r4
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- add r1, sb
- ldrb r0, [r7, #4]
- ldrb r2, [r1]
- adds r0, r0, r2
- strb r0, [r1]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #0x12
- ble _0803C9C4
-_0803CA2E:
- ldr r7, _0803CB7C @ =0x0200C440
- ldrh r0, [r7]
- cmp r0, #0
- bne _0803CA38
- b _0803CB98
-_0803CA38:
- mov r3, sl
- ldr r0, [r3]
- ldr r4, _0803CB80 @ =0x0000047E
- adds r1, r0, r4
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- ble _0803CA5E
- subs r0, r2, #1
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0803CA5E
- strh r0, [r7]
-_0803CA5E:
- mov r6, sl
- ldr r4, [r6]
- ldr r1, _0803CB84 @ =0x0000047D
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #1
- adds r1, r0, #1
- ldr r2, _0803CB80 @ =0x0000047E
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bge _0803CA80
- adds r0, #3
-_0803CA80:
- asrs r0, r0, #2
- subs r0, r1, r0
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- mov r8, r0
- movs r3, #0xfa
- lsls r3, r3, #2
- adds r0, r4, r3
- movs r6, #0
- ldrsh r0, [r0, r6]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x64
- adds r1, r4, #0
- adds r1, #0x58
- ldrh r1, [r1]
- subs r0, r0, r1
- strh r0, [r7, #2]
- ldr r1, _0803CB88 @ =0x000003EA
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x54
- adds r1, r4, #0
- adds r1, #0x5a
- ldrh r1, [r1]
- subs r0, r0, r1
- strh r0, [r7, #4]
- movs r2, #0
- ldr r3, _0803CB8C @ =0x086B6512
- mov sb, r3
- mov r4, r8
- lsls r1, r4, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #3
- adds r0, r0, r1
- lsls r0, r0, #2
- mov r8, r0
- ldr r6, _0803CB70 @ =0xFFFFFE00
- mov ip, r6
-_0803CAD8:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- adds r5, r7, r0
- ldrh r0, [r5]
- lsls r0, r0, #3
- ldr r1, _0803CB6C @ =gOamBuffer
- adds r2, r0, r1
- lsls r0, r3, #1
- adds r0, r0, r3
- lsls r0, r0, #1
- add r0, sb
- mov r4, r8
- adds r1, r4, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, #2
- adds r2, #2
- ldrh r0, [r1]
- strh r0, [r2]
- ldrh r0, [r1, #2]
- strh r0, [r2, #2]
- ldrh r2, [r5]
- lsls r2, r2, #3
- ldr r6, _0803CB6C @ =gOamBuffer
- adds r2, r2, r6
- ldrh r4, [r2, #2]
- lsls r1, r4, #0x17
- lsrs r1, r1, #0x17
- movs r6, #2
- ldrsh r0, [r7, r6]
- adds r1, r1, r0
- ldr r6, _0803CB78 @ =0x000001FF
- adds r0, r6, #0
- ands r1, r0
- mov r0, ip
- ands r0, r4
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- ldr r0, _0803CB6C @ =gOamBuffer
- adds r1, r1, r0
- ldrb r0, [r7, #4]
- ldrb r2, [r1]
- adds r0, r0, r2
- strb r0, [r1]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #5
- ble _0803CAD8
- mov r3, sl
- ldr r0, [r3]
- ldr r4, _0803CB90 @ =0x000005A4
- adds r0, r0, r4
- ldrb r0, [r0]
- cmp r0, #2
- bne _0803CBAE
- ldr r0, _0803CB94 @ =gMain
- movs r6, #0x9c
- lsls r6, r6, #5
- adds r0, r0, r6
- movs r2, #0
- movs r1, #0
- strh r1, [r0]
- ldr r0, [r3]
- ldr r1, _0803CB80 @ =0x0000047E
- adds r0, r0, r1
- strb r2, [r0]
- b _0803CBAE
- .align 2, 0
-_0803CB6C: .4byte gOamBuffer
-_0803CB70: .4byte 0xFFFFFE00
-_0803CB74: .4byte 0x086B65EA
-_0803CB78: .4byte 0x000001FF
-_0803CB7C: .4byte 0x0200C440
-_0803CB80: .4byte 0x0000047E
-_0803CB84: .4byte 0x0000047D
-_0803CB88: .4byte 0x000003EA
-_0803CB8C: .4byte 0x086B6512
-_0803CB90: .4byte 0x000005A4
-_0803CB94: .4byte gMain
-_0803CB98:
- mov r2, sl
- ldr r0, [r2]
- ldr r3, _0803CBC0 @ =0x0000047E
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #8
- bne _0803CBAE
- movs r0, #1
- strh r0, [r7]
-_0803CBAE:
- add sp, #8
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803CBC0: .4byte 0x0000047E
-
- thumb_func_start sub_3CBC4
-sub_3CBC4: @ 0x0803CBC4
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #0x1c
- movs r0, #0
- mov sl, r0
- ldr r1, _0803CBFC @ =0x0200BAE8
- str r1, [sp, #4]
- ldrh r0, [r1]
- cmp r0, #0
- bne _0803CBE0
- b _0803CD68
-_0803CBE0:
- ldr r2, _0803CC00 @ =0x020314E0
- ldr r0, [r2]
- ldr r3, _0803CC04 @ =0x000006C4
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #3
- bne _0803CC08
- movs r0, #0xf0
- strh r0, [r1, #2]
- movs r0, #0xb4
- strh r0, [r1, #4]
- b _0803CC12
- .align 2, 0
-_0803CBFC: .4byte 0x0200BAE8
-_0803CC00: .4byte 0x020314E0
-_0803CC04: .4byte 0x000006C4
-_0803CC08:
- movs r0, #0x60
- ldr r4, [sp, #4]
- strh r0, [r4, #2]
- movs r0, #0x37
- strh r0, [r4, #4]
-_0803CC12:
- ldr r5, _0803CD94 @ =0x020314E0
- ldr r1, [r5]
- ldr r6, [sp, #4]
- ldrh r2, [r6, #2]
- ldr r7, _0803CD98 @ =0x000006E4
- adds r0, r1, r7
- strh r2, [r0]
- ldrh r0, [r6, #4]
- ldr r2, _0803CD9C @ =0x000006E6
- adds r1, r1, r2
- strh r0, [r1]
- movs r3, #4
- ldrsh r0, [r6, r3]
- cmp r0, #0xc7
- ble _0803CC34
- movs r0, #0xc8
- strh r0, [r6, #4]
-_0803CC34:
- movs r2, #0
- ldr r4, _0803CDA0 @ =0x0200BA30
- mov ip, r4
- ldr r5, _0803CDA4 @ =gOamBuffer
- movs r6, #3
- mov r8, r6
- movs r7, #0xd
- rsbs r7, r7, #0
- mov sb, r7
-_0803CC46:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- ldr r1, [sp, #4]
- adds r6, r1, r0
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r5
- ldrb r1, [r2, #5]
- movs r0, #0xf
- ands r0, r1
- movs r1, #0xd0
- orrs r0, r1
- strb r0, [r2, #5]
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r5
- ldr r2, _0803CD94 @ =0x020314E0
- ldr r0, [r2]
- ldr r7, _0803CDA8 @ =0x000006DB
- adds r0, r0, r7
- ldrb r1, [r0]
- mov r0, r8
- ands r1, r0
- lsls r1, r1, #2
- ldrb r2, [r3, #5]
- mov r0, sb
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, #5]
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r5
- movs r2, #2
- ldrsh r1, [r6, r2]
- ldr r7, [sp, #4]
- movs r2, #2
- ldrsh r0, [r7, r2]
- adds r1, r1, r0
- ldr r7, _0803CDAC @ =0x000001FF
- adds r0, r7, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- ldr r0, _0803CDB0 @ =0xFFFFFE00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldr r2, [sp, #4]
- ldrb r0, [r2, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #5
- ble _0803CC46
- mov r3, ip
- str r3, [sp, #4]
- ldr r4, _0803CD94 @ =0x020314E0
- ldr r0, [r4]
- ldr r5, _0803CD98 @ =0x000006E4
- adds r0, r0, r5
- ldrh r0, [r0]
- subs r0, #8
- strh r0, [r3, #2]
- ldr r0, [r4]
- ldr r6, _0803CD9C @ =0x000006E6
- adds r0, r0, r6
- ldrh r0, [r0]
- subs r0, #8
- strh r0, [r3, #4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xc7
- ble _0803CCEC
- movs r0, #0xc8
- strh r0, [r3, #4]
-_0803CCEC:
- movs r2, #0
- ldr r5, _0803CDA4 @ =gOamBuffer
- movs r7, #3
- mov r8, r7
- movs r0, #0xd
- rsbs r0, r0, #0
- mov sb, r0
- ldr r1, _0803CDB0 @ =0xFFFFFE00
- mov ip, r1
-_0803CCFE:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- ldr r2, [sp, #4]
- adds r6, r2, r0
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r5
- ldr r7, _0803CD94 @ =0x020314E0
- ldr r0, [r7]
- ldr r1, _0803CDA8 @ =0x000006DB
- adds r0, r0, r1
- ldrb r1, [r0]
- mov r2, r8
- ands r1, r2
- lsls r1, r1, #2
- ldrb r2, [r3, #5]
- mov r0, sb
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, #5]
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r5
- movs r7, #2
- ldrsh r1, [r6, r7]
- ldr r2, [sp, #4]
- movs r7, #2
- ldrsh r0, [r2, r7]
- adds r1, r1, r0
- ldr r2, _0803CDAC @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldr r3, [sp, #4]
- ldrb r0, [r3, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #5
- ble _0803CCFE
-_0803CD68:
- ldr r4, _0803CDB4 @ =0x0200C4F8
- str r4, [sp, #4]
- ldrh r0, [r4]
- cmp r0, #0
- bne _0803CD74
- b _0803CFD4
-_0803CD74:
- ldr r5, _0803CD94 @ =0x020314E0
- ldr r7, [r5]
- ldr r6, _0803CDB8 @ =0x00000486
- adds r4, r7, r6
- ldrh r5, [r4]
- subs r0, r5, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- asrs r1, r0, #0x10
- ldr r0, _0803CDBC @ =0x00000257
- cmp r1, r0
- ble _0803CDC0
- movs r7, #0
- mov sl, r7
- b _0803CEC2
- .align 2, 0
-_0803CD94: .4byte 0x020314E0
-_0803CD98: .4byte 0x000006E4
-_0803CD9C: .4byte 0x000006E6
-_0803CDA0: .4byte 0x0200BA30
-_0803CDA4: .4byte gOamBuffer
-_0803CDA8: .4byte 0x000006DB
-_0803CDAC: .4byte 0x000001FF
-_0803CDB0: .4byte 0xFFFFFE00
-_0803CDB4: .4byte 0x0200C4F8
-_0803CDB8: .4byte 0x00000486
-_0803CDBC: .4byte 0x00000257
-_0803CDC0:
- cmp r1, #5
- bgt _0803CDC6
- b _0803CEBE
-_0803CDC6:
- movs r1, #0
- ldrsh r0, [r4, r1]
- movs r1, #0xf
- bl __modsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #5
- bl __divsi3
- adds r0, #1
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- mov sl, r0
- ldr r1, _0803CE04 @ =0x0000047F
- adds r0, r7, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _0803CE58
- cmp r0, #7
- bne _0803CE0C
- ldr r2, _0803CE08 @ =0x0000132C
- adds r0, r7, r2
- ldr r1, [r0]
- ldr r0, [r1, #0x34]
- movs r3, #0x80
- lsls r3, r3, #1
- adds r0, r0, r3
- b _0803CE3A
- .align 2, 0
-_0803CE04: .4byte 0x0000047F
-_0803CE08: .4byte 0x0000132C
-_0803CE0C:
- cmp r0, #4
- bne _0803CE28
- ldr r4, _0803CE20 @ =0x0000132C
- adds r0, r7, r4
- ldr r1, [r0]
- ldr r0, [r1, #0x34]
- ldr r5, _0803CE24 @ =0xFFFFFE00
- adds r0, r0, r5
- b _0803CE3A
- .align 2, 0
-_0803CE20: .4byte 0x0000132C
-_0803CE24: .4byte 0xFFFFFE00
-_0803CE28:
- cmp r0, #1
- bne _0803CE3C
- ldr r6, _0803CE4C @ =0x0000132C
- adds r0, r7, r6
- ldr r1, [r0]
- ldr r0, [r1, #0x34]
- movs r7, #0x80
- lsls r7, r7, #1
- adds r0, r0, r7
-_0803CE3A:
- str r0, [r1, #0x34]
-_0803CE3C:
- ldr r0, _0803CE50 @ =0x020314E0
- ldr r1, [r0]
- ldr r0, _0803CE54 @ =0x0000047F
- adds r1, r1, r0
- ldrb r0, [r1]
- subs r0, #1
- strb r0, [r1]
- b _0803CE82
- .align 2, 0
-_0803CE4C: .4byte 0x0000132C
-_0803CE50: .4byte 0x020314E0
-_0803CE54: .4byte 0x0000047F
-_0803CE58:
- ldrh r0, [r7, #4]
- cmp r0, #0
- beq _0803CE82
- adds r0, r5, #0
- subs r0, #0x1f
- strh r0, [r4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #4
- bgt _0803CE70
- movs r0, #5
- strh r0, [r4]
-_0803CE70:
- ldr r2, _0803CEA4 @ =0x020314E0
- ldr r0, [r2]
- adds r0, r0, r1
- movs r1, #7
- strb r1, [r0]
- movs r0, #0x8f
- lsls r0, r0, #1
- bl m4aSongNumStart
-_0803CE82:
- ldr r0, _0803CEA4 @ =0x020314E0
- ldr r2, [r0]
- movs r3, #0x90
- lsls r3, r3, #3
- adds r1, r2, r3
- ldrh r7, [r1]
- cmp r7, #0
- beq _0803CEB2
- subs r0, r7, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0x32
- bls _0803CEA8
- movs r4, #4
- mov sl, r4
- b _0803CEC2
- .align 2, 0
-_0803CEA4: .4byte 0x020314E0
-_0803CEA8:
- cmp r0, #0x28
- bls _0803CEC2
- movs r5, #5
- mov sl, r5
- b _0803CEC2
-_0803CEB2:
- ldrh r0, [r2, #4]
- cmp r0, #0
- beq _0803CEC2
- movs r0, #0x3c
- strh r0, [r1]
- b _0803CEC2
-_0803CEBE:
- movs r6, #4
- mov sl, r6
-_0803CEC2:
- ldr r7, _0803CEF0 @ =0x020314E0
- ldr r1, [r7]
- ldr r2, _0803CEF4 @ =0x00000486
- adds r0, r1, r2
- movs r4, #0
- ldrsh r3, [r0, r4]
- cmp r3, #0
- bne _0803CF04
- ldr r0, _0803CEF8 @ =gMain
- ldr r5, _0803CEFC @ =0x00001438
- adds r0, r0, r5
- movs r2, #0
- strh r3, [r0]
- ldr r0, [r7]
- movs r6, #0x90
- lsls r6, r6, #3
- adds r1, r0, r6
- strh r3, [r1]
- ldr r7, _0803CF00 @ =0x00000383
- adds r0, r0, r7
- strb r2, [r0]
- b _0803CF22
- .align 2, 0
-_0803CEF0: .4byte 0x020314E0
-_0803CEF4: .4byte 0x00000486
-_0803CEF8: .4byte gMain
-_0803CEFC: .4byte 0x00001438
-_0803CF00: .4byte 0x00000383
-_0803CF04:
- ldr r0, _0803D10C @ =0x00000383
- adds r1, r1, r0
- movs r2, #0
- movs r0, #1
- strb r0, [r1]
- ldr r1, _0803D110 @ =0x020314E0
- ldr r0, [r1]
- ldr r3, _0803D114 @ =0x0000132C
- adds r0, r0, r3
- ldr r1, [r0]
- strh r2, [r1, #0x30]
- ldr r1, [r0]
- strh r2, [r1, #0x32]
- ldr r0, [r0]
- strh r2, [r0, #6]
-_0803CF22:
- ldr r4, _0803D110 @ =0x020314E0
- ldr r2, [r4]
- ldr r5, _0803D114 @ =0x0000132C
- adds r3, r2, r5
- ldr r0, [r3]
- adds r1, r2, #0
- adds r1, #0x58
- ldrh r0, [r0, #0x10]
- ldrh r1, [r1]
- subs r0, r0, r1
- subs r0, #8
- ldr r6, [sp, #4]
- strh r0, [r6, #2]
- ldr r0, [r3]
- adds r2, #0x5a
- ldrh r0, [r0, #0x12]
- ldrh r1, [r2]
- subs r0, r0, r1
- subs r0, #8
- strh r0, [r6, #4]
- movs r2, #0
- mov r7, sl
- lsls r1, r7, #0x10
- ldr r0, _0803D118 @ =0x086B63AA
- mov sb, r0
- ldr r5, _0803D11C @ =gOamBuffer
- asrs r1, r1, #0x10
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- mov ip, r0
- ldr r1, _0803D120 @ =0xFFFFFE00
- mov r8, r1
-_0803CF64:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- ldr r2, [sp, #4]
- adds r6, r2, r0
- ldrh r0, [r6]
- lsls r0, r0, #3
- adds r2, r0, r5
- lsls r0, r3, #1
- adds r0, r0, r3
- lsls r0, r0, #1
- add r0, sb
- mov r4, ip
- adds r1, r4, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, #2
- adds r2, #2
- ldrh r0, [r1]
- strh r0, [r2]
- ldrh r0, [r1, #2]
- strh r0, [r2, #2]
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r5
- ldrh r4, [r2, #2]
- lsls r1, r4, #0x17
- lsrs r1, r1, #0x17
- str r1, [sp, #0x18]
- ldr r7, [sp, #4]
- movs r1, #2
- ldrsh r0, [r7, r1]
- ldr r7, [sp, #0x18]
- adds r1, r7, r0
- ldr r7, _0803D124 @ =0x000001FF
- adds r0, r7, #0
- ands r1, r0
- mov r0, r8
- ands r0, r4
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldr r2, [sp, #4]
- ldrb r0, [r2, #4]
- ldrb r4, [r1]
- adds r0, r0, r4
- strb r0, [r1]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #1
- ble _0803CF64
-_0803CFD4:
- ldr r5, _0803D128 @ =0x0200C388
- str r5, [sp, #4]
- ldrh r0, [r5]
- cmp r0, #0
- bne _0803CFE0
- b _0803D2C6
-_0803CFE0:
- ldr r6, _0803D110 @ =0x020314E0
- ldr r5, [r6]
- movs r7, #0x91
- lsls r7, r7, #3
- adds r6, r5, r7
- movs r1, #0
- ldrsh r0, [r6, r1]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- ldr r2, _0803D114 @ =0x0000132C
- adds r2, r2, r5
- mov sb, r2
- ldr r4, [r2]
- movs r3, #0x10
- ldrsh r1, [r4, r3]
- subs r1, r0, r1
- str r1, [sp, #8]
- ldr r0, _0803D12C @ =0x0000048A
- adds r7, r5, r0
- movs r1, #0
- ldrsh r0, [r7, r1]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r2, #0x12
- ldrsh r1, [r4, r2]
- subs r1, r0, r1
- str r1, [sp, #0xc]
- ldr r3, [sp, #8]
- adds r1, r3, #0
- muls r1, r3, r1
- ldr r4, [sp, #0xc]
- adds r0, r4, #0
- muls r0, r4, r0
- adds r3, r1, r0
- ldr r4, _0803D130 @ =0x00000482
- adds r1, r5, r4
- ldrh r0, [r1]
- cmp r0, #0
- bne _0803D03C
- b _0803D1E2
-_0803D03C:
- subs r0, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #9
- bhi _0803D04A
- b _0803D150
-_0803D04A:
- ldrh r1, [r1]
- movs r0, #7
- ands r1, r0
- lsrs r1, r1, #2
- ldr r6, _0803D134 @ =0x0000047D
- adds r0, r5, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #1
- adds r1, r1, r0
- lsls r1, r1, #0x10
- lsrs r1, r1, #0x10
- mov sl, r1
- cmp r3, #0xf0
- bgt _0803D0B6
- movs r7, #0xe2
- lsls r7, r7, #2
- adds r0, r5, r7
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0803D0B6
- ldr r1, _0803D138 @ =0x00000486
- adds r0, r5, r1
- movs r2, #0
- ldrsh r1, [r0, r2]
- ldr r0, _0803D13C @ =0x00000257
- cmp r1, r0
- bgt _0803D0B6
- ldr r0, _0803D140 @ =0x02032F20
- ldr r1, _0803D144 @ =0x086A26A0
- bl MPlayStart
- ldr r3, _0803D110 @ =0x020314E0
- ldr r1, [r3]
- adds r2, r1, r4
- movs r0, #0xa
- strh r0, [r2]
- ldr r4, [sp, #4]
- movs r5, #0xb8
- lsls r5, r5, #1
- adds r2, r4, r5
- movs r0, #1
- strh r0, [r2]
- adds r6, #9
- adds r1, r1, r6
- movs r0, #0x99
- lsls r0, r0, #2
- strh r0, [r1]
- movs r0, #9
- bl sub_11B0
-_0803D0B6:
- ldr r5, _0803D110 @ =0x020314E0
- ldr r0, [r5]
- ldr r7, _0803D148 @ =0x00000484
- mov r8, r7
- add r0, r8
- ldrh r0, [r0]
- bl sub_C74
- ldr r4, [r5]
- movs r1, #0x91
- lsls r1, r1, #3
- adds r6, r4, r1
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #0xfa
- lsls r1, r1, #1
- bl __divsi3
- ldrh r1, [r6]
- adds r1, r1, r0
- strh r1, [r6]
- add r4, r8
- ldrh r0, [r4]
- bl sub_C24
- adds r1, r0, #0
- ldr r4, [r5]
- ldr r2, _0803D12C @ =0x0000048A
- adds r4, r4, r2
- lsls r1, r1, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r0, r0, #3
- rsbs r0, r0, #0
- ldr r1, _0803D14C @ =0x00004E20
- bl __divsi3
- ldrh r1, [r4]
- adds r1, r1, r0
- strh r1, [r4]
- b _0803D1CC
- .align 2, 0
-_0803D10C: .4byte 0x00000383
-_0803D110: .4byte 0x020314E0
-_0803D114: .4byte 0x0000132C
-_0803D118: .4byte 0x086B63AA
-_0803D11C: .4byte gOamBuffer
-_0803D120: .4byte 0xFFFFFE00
-_0803D124: .4byte 0x000001FF
-_0803D128: .4byte 0x0200C388
-_0803D12C: .4byte 0x0000048A
-_0803D130: .4byte 0x00000482
-_0803D134: .4byte 0x0000047D
-_0803D138: .4byte 0x00000486
-_0803D13C: .4byte 0x00000257
-_0803D140: .4byte 0x02032F20
-_0803D144: .4byte 0x086A26A0
-_0803D148: .4byte 0x00000484
-_0803D14C: .4byte 0x00004E20
-_0803D150:
- ldr r4, _0803D1A0 @ =0x0000047D
- adds r4, r4, r5
- mov r8, r4
- ldrb r4, [r4]
- lsls r4, r4, #0x18
- asrs r4, r4, #0x18
- lsls r4, r4, #1
- ldrh r5, [r1]
- adds r0, r5, #0
- movs r1, #5
- str r3, [sp, #0x14]
- bl __udivsi3
- subs r0, #7
- subs r4, r4, r0
- lsls r4, r4, #0x10
- lsrs r4, r4, #0x10
- mov sl, r4
- ldr r3, [sp, #0x14]
- cmp r5, #9
- bne _0803D1CC
- cmp r3, #0xf0
- bgt _0803D1A4
- mov r5, sb
- ldr r0, [r5]
- movs r2, #0x10
- ldrsh r1, [r0, r2]
- adds r1, #4
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r0, r0, #1
- strh r0, [r6]
- ldr r0, [r5]
- movs r3, #0x12
- ldrsh r1, [r0, r3]
- adds r1, #0xe
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r0, r0, #1
- b _0803D1C2
- .align 2, 0
-_0803D1A0: .4byte 0x0000047D
-_0803D1A4:
- mov r4, r8
- movs r0, #0
- ldrsb r0, [r4, r0]
- cmp r0, #0
- beq _0803D1BE
- cmp r0, #1
- bne _0803D1B8
- ldrh r0, [r6]
- subs r0, #0x78
- b _0803D1BC
-_0803D1B8:
- ldrh r0, [r6]
- adds r0, #0x78
-_0803D1BC:
- strh r0, [r6]
-_0803D1BE:
- ldrh r0, [r7]
- adds r0, #0xf0
-_0803D1C2:
- strh r0, [r7]
- movs r0, #0x90
- lsls r0, r0, #1
- bl m4aSongNumStart
-_0803D1CC:
- ldr r1, _0803D308 @ =0x020314E0
- ldr r0, [r1]
- ldr r5, _0803D30C @ =0x00000482
- adds r0, r0, r5
- ldrh r7, [r0]
- cmp r7, #0
- bne _0803D1E2
- ldr r0, _0803D310 @ =gMain
- ldr r6, _0803D314 @ =0x000012C8
- adds r0, r0, r6
- strh r7, [r0]
-_0803D1E2:
- ldr r7, _0803D308 @ =0x020314E0
- ldr r4, [r7]
- movs r1, #0x91
- lsls r1, r1, #3
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r1, r4, #0
- adds r1, #0x58
- ldrh r1, [r1]
- subs r0, r0, r1
- subs r0, #0xc
- ldr r3, [sp, #4]
- strh r0, [r3, #2]
- ldr r5, _0803D318 @ =0x0000048A
- adds r0, r4, r5
- movs r6, #0
- ldrsh r0, [r0, r6]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r0, r0, r1
- subs r0, #0x16
- ldr r7, [sp, #4]
- strh r0, [r7, #4]
- movs r2, #0
- mov r0, sl
- lsls r1, r0, #0x10
- ldr r3, _0803D31C @ =0x086B63F2
- mov sb, r3
- ldr r5, _0803D320 @ =gOamBuffer
- asrs r1, r1, #0x10
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #3
- mov sl, r0
- ldr r4, _0803D324 @ =0xFFFFFE00
- mov r8, r4
-_0803D238:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- ldr r7, [sp, #4]
- adds r6, r7, r0
- ldrh r0, [r6]
- lsls r0, r0, #3
- adds r2, r0, r5
- lsls r0, r3, #1
- adds r0, r0, r3
- lsls r0, r0, #1
- add r0, sb
- mov r4, sl
- adds r1, r4, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, #2
- adds r2, #2
- ldrh r0, [r1]
- strh r0, [r2]
- ldrh r0, [r1, #2]
- strh r0, [r2, #2]
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r5
- ldrh r4, [r2, #2]
- lsls r1, r4, #0x17
- lsrs r1, r1, #0x17
- mov ip, r1
- movs r1, #2
- ldrsh r0, [r7, r1]
- mov r7, ip
- adds r1, r7, r0
- ldr r7, _0803D328 @ =0x000001FF
- adds r0, r7, #0
- ands r1, r0
- mov r0, r8
- ands r0, r4
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldr r2, [sp, #4]
- ldrb r0, [r2, #4]
- ldrb r4, [r1]
- adds r0, r0, r4
- strb r0, [r1]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #3
- ble _0803D238
- ldr r5, _0803D308 @ =0x020314E0
- ldr r0, [r5]
- ldr r6, _0803D32C @ =0x000005A4
- adds r0, r0, r6
- ldrb r0, [r0]
- cmp r0, #2
- bne _0803D2C6
- ldr r0, _0803D310 @ =gMain
- ldr r7, _0803D314 @ =0x000012C8
- adds r0, r0, r7
- movs r1, #0
- strh r1, [r0]
- ldr r0, [r5]
- ldr r2, _0803D30C @ =0x00000482
- adds r0, r0, r2
- strh r1, [r0]
-_0803D2C6:
- movs r3, #0
- str r3, [sp]
-_0803D2CA:
- ldr r4, [sp]
- lsls r2, r4, #0x10
- asrs r3, r2, #0x10
- movs r0, #0xb8
- adds r1, r3, #0
- muls r1, r0, r1
- ldr r0, _0803D330 @ =0x0200BE80
- adds r1, r1, r0
- str r1, [sp, #4]
- ldrh r0, [r1]
- str r2, [sp, #0x10]
- cmp r0, #0
- bne _0803D2E8
- bl _0803DABA
-_0803D2E8:
- ldr r5, _0803D308 @ =0x020314E0
- ldr r0, [r5]
- ldr r6, _0803D334 @ =0x000004CF
- adds r0, r0, r6
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #5
- bls _0803D2FE
- b _0803D982
-_0803D2FE:
- lsls r0, r0, #2
- ldr r1, _0803D338 @ =_0803D33C
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803D308: .4byte 0x020314E0
-_0803D30C: .4byte 0x00000482
-_0803D310: .4byte gMain
-_0803D314: .4byte 0x000012C8
-_0803D318: .4byte 0x0000048A
-_0803D31C: .4byte 0x086B63F2
-_0803D320: .4byte gOamBuffer
-_0803D324: .4byte 0xFFFFFE00
-_0803D328: .4byte 0x000001FF
-_0803D32C: .4byte 0x000005A4
-_0803D330: .4byte 0x0200BE80
-_0803D334: .4byte 0x000004CF
-_0803D338: .4byte _0803D33C
-_0803D33C: @ jump table
- .4byte _0803D354 @ case 0
- .4byte _0803D4E4 @ case 1
- .4byte _0803D600 @ case 2
- .4byte _0803D710 @ case 3
- .4byte _0803D824 @ case 4
- .4byte _0803D954 @ case 5
-_0803D354:
- ldr r6, _0803D4B4 @ =0x020314E0
- ldr r1, [r6]
- ldr r7, [sp, #0x10]
- asrs r5, r7, #0x10
- ldr r0, _0803D4B8 @ =0x000004D2
- adds r1, r1, r0
- adds r1, r1, r5
- ldr r2, _0803D4BC @ =0x086AF3AC
- lsls r0, r5, #1
- adds r0, r0, r2
- ldrh r0, [r0]
- strb r0, [r1]
- bl Random
- ldr r4, [r6]
- lsls r1, r5, #2
- adds r4, r4, r1
- movs r1, #0x65
- bl __umodsi3
- adds r1, r0, #0
- lsls r0, r1, #3
- adds r0, r0, r1
- lsls r0, r0, #4
- adds r0, r0, r1
- movs r1, #0x64
- bl __udivsi3
- adds r0, #0x1e
- lsls r1, r0, #2
- adds r1, r1, r0
- lsls r1, r1, #1
- ldr r2, _0803D4C0 @ =0x000004EC
- adds r4, r4, r2
- strh r1, [r4]
- bl Random
- ldr r2, [r6]
- ldr r3, _0803D4C4 @ =0x000004CC
- adds r2, r2, r3
- adds r2, r2, r5
- movs r1, #0xf
- ands r1, r0
- strb r1, [r2]
- ldr r4, [r6]
- adds r4, r4, r3
- adds r6, r4, r5
- adds r5, #1
- adds r0, r5, #0
- movs r1, #3
- bl __modsi3
- adds r4, r4, r0
- movs r1, #0
- ldrsb r1, [r6, r1]
- movs r0, #0
- ldrsb r0, [r4, r0]
- cmp r1, r0
- bne _0803D3E0
- adds r2, r1, #0
- adds r1, r2, #1
- adds r0, r1, #0
- cmp r1, #0
- bge _0803D3D8
- adds r0, r2, #0
- adds r0, #0x10
-_0803D3D8:
- asrs r0, r0, #4
- lsls r0, r0, #4
- subs r0, r1, r0
- strb r0, [r6]
-_0803D3E0:
- ldr r5, _0803D4B4 @ =0x020314E0
- ldr r4, [r5]
- ldr r3, [sp, #0x10]
- asrs r0, r3, #0x10
- ldr r6, _0803D4C4 @ =0x000004CC
- adds r4, r4, r6
- adds r7, r4, r0
- adds r0, #2
- movs r1, #3
- bl __modsi3
- adds r4, r4, r0
- movs r1, #0
- ldrsb r1, [r7, r1]
- movs r0, #0
- ldrsb r0, [r4, r0]
- cmp r1, r0
- bne _0803D41A
- adds r2, r1, #0
- adds r1, r2, #1
- adds r0, r1, #0
- cmp r1, #0
- bge _0803D412
- adds r0, r2, #0
- adds r0, #0x10
-_0803D412:
- asrs r0, r0, #4
- lsls r0, r0, #4
- subs r0, r1, r0
- strb r0, [r7]
-_0803D41A:
- ldr r7, _0803D4B4 @ =0x020314E0
- ldr r3, [r7]
- ldr r0, [sp, #0x10]
- asrs r0, r0, #0x10
- mov sb, r0
- lsls r5, r0, #2
- adds r6, r3, r5
- ldr r4, _0803D4C8 @ =0x086AF34C
- ldr r1, _0803D4C4 @ =0x000004CC
- adds r2, r3, r1
- add r2, sb
- movs r1, #0
- ldrsb r1, [r2, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r0, r0, r4
- movs r7, #0
- ldrsh r0, [r0, r7]
- lsls r1, r0, #2
- adds r1, r1, r0
- lsls r1, r1, #1
- ldr r7, _0803D4C0 @ =0x000004EC
- adds r0, r6, r7
- movs r7, #0
- mov sl, r7
- movs r7, #0
- mov r8, r7
- strh r1, [r0]
- movs r1, #0
- ldrsb r1, [r2, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r4, #2
- adds r0, r0, r4
- movs r2, #0
- ldrsh r1, [r0, r2]
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r0, r0, #1
- ldr r4, _0803D4CC @ =0x000004EE
- adds r6, r6, r4
- strh r0, [r6]
- mov r6, sb
- lsls r2, r6, #1
- ldr r7, _0803D4D0 @ =0x000004E4
- adds r0, r3, r7
- adds r0, r0, r2
- ldr r1, _0803D4D4 @ =0x0000FB50
- strh r1, [r0]
- ldr r1, _0803D4D8 @ =0x000004DE
- adds r0, r3, r1
- adds r0, r0, r2
- mov r2, r8
- strh r2, [r0]
- subs r4, #0x1f
- adds r3, r3, r4
- add r3, sb
- movs r0, #1
- strb r0, [r3]
- ldr r6, _0803D4B4 @ =0x020314E0
- ldr r1, [r6]
- adds r5, r1, r5
- adds r7, #0x14
- adds r0, r5, r7
- strh r2, [r0]
- ldr r0, _0803D4DC @ =0x000004FA
- adds r5, r5, r0
- strh r2, [r5]
- ldr r2, _0803D4E0 @ =0x000004D5
- adds r1, r1, r2
- add r1, sb
- mov r3, sl
- strb r3, [r1]
- b _0803D982
- .align 2, 0
-_0803D4B4: .4byte 0x020314E0
-_0803D4B8: .4byte 0x000004D2
-_0803D4BC: .4byte 0x086AF3AC
-_0803D4C0: .4byte 0x000004EC
-_0803D4C4: .4byte 0x000004CC
-_0803D4C8: .4byte 0x086AF34C
-_0803D4CC: .4byte 0x000004EE
-_0803D4D0: .4byte 0x000004E4
-_0803D4D4: .4byte 0x0000FB50
-_0803D4D8: .4byte 0x000004DE
-_0803D4DC: .4byte 0x000004FA
-_0803D4E0: .4byte 0x000004D5
-_0803D4E4:
- ldr r4, _0803D568 @ =0x020314E0
- ldr r1, [r4]
- ldr r5, [sp, #0x10]
- asrs r3, r5, #0xf
- ldr r5, _0803D56C @ =0x000004E4
- adds r0, r1, r5
- adds r2, r0, r3
- movs r6, #0
- ldrsh r0, [r2, r6]
- cmp r0, #0
- bge _0803D526
- ldr r7, _0803D570 @ =0x000004DE
- adds r0, r1, r7
- adds r0, r0, r3
- ldrh r1, [r0]
- adds r1, #3
- movs r4, #0
- strh r1, [r0]
- ldrh r0, [r2]
- adds r0, r0, r1
- strh r0, [r2]
- lsls r0, r0, #0x10
- cmp r0, #0
- ble _0803D516
- strh r4, [r2]
-_0803D516:
- ldr r1, _0803D568 @ =0x020314E0
- ldr r0, [r1]
- adds r0, r0, r5
- adds r0, r0, r3
- movs r2, #0
- ldrsh r0, [r0, r2]
- cmp r0, #0
- blt _0803D5D0
-_0803D526:
- ldr r7, _0803D568 @ =0x020314E0
- ldr r0, [r7]
- ldr r3, [sp, #0x10]
- asrs r5, r3, #0x10
- lsls r4, r5, #1
- movs r6, #0x9b
- lsls r6, r6, #3
- adds r0, r0, r6
- adds r0, r0, r4
- ldrh r0, [r0]
- cmp r0, #0
- bne _0803D54A
- ldr r0, _0803D574 @ =0x00000121
- bl m4aSongNumStart
- movs r0, #7
- bl sub_11B0
-_0803D54A:
- ldr r1, [r7]
- adds r0, r1, r6
- adds r2, r0, r4
- ldrh r0, [r2]
- cmp r0, #4
- bhi _0803D580
- ldr r6, _0803D578 @ =0x000004D2
- adds r0, r1, r6
- adds r0, r0, r5
- ldr r1, _0803D57C @ =0x086AF3AC
- adds r1, r4, r1
- ldrb r1, [r1]
- adds r1, #1
- b _0803D5B8
- .align 2, 0
-_0803D568: .4byte 0x020314E0
-_0803D56C: .4byte 0x000004E4
-_0803D570: .4byte 0x000004DE
-_0803D574: .4byte 0x00000121
-_0803D578: .4byte 0x000004D2
-_0803D57C: .4byte 0x086AF3AC
-_0803D580:
- cmp r0, #9
- bhi _0803D59C
- ldr r7, _0803D594 @ =0x000004D2
- adds r0, r1, r7
- adds r0, r0, r5
- ldr r1, _0803D598 @ =0x086AF3AC
- adds r1, r4, r1
- ldrb r1, [r1]
- adds r1, #2
- b _0803D5B8
- .align 2, 0
-_0803D594: .4byte 0x000004D2
-_0803D598: .4byte 0x086AF3AC
-_0803D59C:
- movs r0, #0
- strh r0, [r2]
- ldr r0, _0803D5EC @ =0x000004D2
- adds r1, r1, r0
- adds r1, r1, r5
- ldr r0, _0803D5F0 @ =0x086AF3AC
- adds r0, r4, r0
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r0, [r7]
- ldr r1, _0803D5F4 @ =0x000004CF
- adds r0, r0, r1
- adds r0, r0, r5
- movs r1, #2
-_0803D5B8:
- strb r1, [r0]
- ldr r2, _0803D5F8 @ =0x020314E0
- ldr r1, [r2]
- ldr r3, [sp, #0x10]
- asrs r0, r3, #0xf
- movs r4, #0x9b
- lsls r4, r4, #3
- adds r1, r1, r4
- adds r1, r1, r0
- ldrh r0, [r1]
- adds r0, #1
- strh r0, [r1]
-_0803D5D0:
- ldr r5, _0803D5F8 @ =0x020314E0
- ldr r1, [r5]
- ldr r6, [sp, #0x10]
- asrs r0, r6, #0xe
- adds r1, r1, r0
- movs r7, #0x9f
- lsls r7, r7, #3
- adds r0, r1, r7
- movs r2, #0
- strh r2, [r0]
- ldr r0, _0803D5FC @ =0x000004FA
- adds r1, r1, r0
- strh r2, [r1]
- b _0803D982
- .align 2, 0
-_0803D5EC: .4byte 0x000004D2
-_0803D5F0: .4byte 0x086AF3AC
-_0803D5F4: .4byte 0x000004CF
-_0803D5F8: .4byte 0x020314E0
-_0803D5FC: .4byte 0x000004FA
-_0803D600:
- ldr r1, _0803D694 @ =0x020314E0
- ldr r6, [r1]
- ldr r2, [sp, #0x10]
- asrs r5, r2, #0x10
- lsls r4, r5, #2
- adds r4, r6, r4
- ldr r3, _0803D698 @ =0x000004EC
- adds r0, r4, r3
- movs r7, #0
- ldrsh r0, [r0, r7]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #1
- movs r2, #0x9f
- lsls r2, r2, #3
- adds r1, r4, r2
- movs r3, #0
- mov sl, r3
- movs r7, #0
- mov sb, r7
- strh r0, [r1]
- ldr r1, _0803D69C @ =0x000004EE
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #8
- ldr r3, _0803D6A0 @ =0x000004FA
- adds r4, r4, r3
- strh r0, [r4]
- ldr r4, _0803D6A4 @ =0x000004D5
- mov r8, r4
- adds r0, r6, r4
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0803D65A
- b _0803D982
-_0803D65A:
- lsls r7, r5, #1
- adds r4, #3
- adds r0, r6, r4
- adds r0, r0, r7
- ldrh r0, [r0]
- cmp r0, #1
- bne _0803D674
- ldr r0, _0803D6A8 @ =0x00000121
- bl m4aSongNumStart
- movs r0, #7
- bl sub_11B0
-_0803D674:
- ldr r6, _0803D694 @ =0x020314E0
- ldr r1, [r6]
- adds r0, r1, r4
- adds r0, r0, r7
- ldrh r2, [r0]
- cmp r2, #4
- bhi _0803D6B4
- ldr r2, _0803D6AC @ =0x000004D2
- adds r0, r1, r2
- adds r0, r0, r5
- ldr r1, _0803D6B0 @ =0x086AF3AC
- adds r1, r7, r1
- ldrb r1, [r1]
- adds r1, #3
- strb r1, [r0]
- b _0803D92E
- .align 2, 0
-_0803D694: .4byte 0x020314E0
-_0803D698: .4byte 0x000004EC
-_0803D69C: .4byte 0x000004EE
-_0803D6A0: .4byte 0x000004FA
-_0803D6A4: .4byte 0x000004D5
-_0803D6A8: .4byte 0x00000121
-_0803D6AC: .4byte 0x000004D2
-_0803D6B0: .4byte 0x086AF3AC
-_0803D6B4:
- cmp r2, #9
- bhi _0803D6D4
- ldr r3, _0803D6CC @ =0x000004D2
- adds r0, r1, r3
- adds r0, r0, r5
- ldr r1, _0803D6D0 @ =0x086AF3AC
- adds r1, r7, r1
- ldrb r1, [r1]
- adds r1, #4
- strb r1, [r0]
- b _0803D92E
- .align 2, 0
-_0803D6CC: .4byte 0x000004D2
-_0803D6D0: .4byte 0x086AF3AC
-_0803D6D4:
- mov r4, sb
- strh r4, [r0]
- ldr r6, _0803D700 @ =0x000004D2
- adds r1, r1, r6
- adds r1, r1, r5
- ldr r0, _0803D704 @ =0x086AF3AC
- adds r0, r7, r0
- ldrb r0, [r0]
- adds r0, #5
- strb r0, [r1]
- ldr r7, _0803D708 @ =0x020314E0
- ldr r0, [r7]
- ldr r1, _0803D70C @ =0x000004CF
- adds r0, r0, r1
- adds r0, r0, r5
- movs r1, #3
- strb r1, [r0]
- ldr r0, [r7]
- add r0, r8
- adds r0, r0, r5
- mov r2, sl
- b _0803D92C
- .align 2, 0
-_0803D700: .4byte 0x000004D2
-_0803D704: .4byte 0x086AF3AC
-_0803D708: .4byte 0x020314E0
-_0803D70C: .4byte 0x000004CF
-_0803D710:
- ldr r5, _0803D7A8 @ =0x020314E0
- ldr r6, [r5]
- ldr r7, [sp, #0x10]
- asrs r5, r7, #0x10
- lsls r4, r5, #2
- adds r4, r6, r4
- ldr r1, _0803D7AC @ =0x000004EC
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #1
- movs r3, #0x9f
- lsls r3, r3, #3
- adds r1, r4, r3
- movs r7, #0
- mov sl, r7
- movs r2, #0
- mov sb, r2
- strh r0, [r1]
- subs r3, #0xa
- adds r0, r4, r3
- movs r7, #0
- ldrsh r0, [r0, r7]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #8
- ldr r1, _0803D7B0 @ =0x000004FA
- adds r4, r4, r1
- strh r0, [r4]
- ldr r2, _0803D7B4 @ =0x000004D5
- mov r8, r2
- adds r0, r6, r2
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0803D76A
- b _0803D982
-_0803D76A:
- lsls r7, r5, #1
- movs r4, #0x9b
- lsls r4, r4, #3
- adds r0, r6, r4
- adds r0, r0, r7
- ldrh r0, [r0]
- cmp r0, #1
- bne _0803D786
- ldr r0, _0803D7B8 @ =0x00000121
- bl m4aSongNumStart
- movs r0, #7
- bl sub_11B0
-_0803D786:
- ldr r3, _0803D7A8 @ =0x020314E0
- ldr r1, [r3]
- adds r0, r1, r4
- adds r0, r0, r7
- ldrh r2, [r0]
- cmp r2, #4
- bhi _0803D7C4
- ldr r4, _0803D7BC @ =0x000004D2
- adds r0, r1, r4
- adds r0, r0, r5
- ldr r1, _0803D7C0 @ =0x086AF3AC
- adds r1, r7, r1
- ldrb r1, [r1]
- adds r1, #6
- strb r1, [r0]
- b _0803D92E
- .align 2, 0
-_0803D7A8: .4byte 0x020314E0
-_0803D7AC: .4byte 0x000004EC
-_0803D7B0: .4byte 0x000004FA
-_0803D7B4: .4byte 0x000004D5
-_0803D7B8: .4byte 0x00000121
-_0803D7BC: .4byte 0x000004D2
-_0803D7C0: .4byte 0x086AF3AC
-_0803D7C4:
- cmp r2, #9
- bhi _0803D7E4
- ldr r6, _0803D7DC @ =0x000004D2
- adds r0, r1, r6
- adds r0, r0, r5
- ldr r1, _0803D7E0 @ =0x086AF3AC
- adds r1, r7, r1
- ldrb r1, [r1]
- adds r1, #7
- strb r1, [r0]
- b _0803D92E
- .align 2, 0
-_0803D7DC: .4byte 0x000004D2
-_0803D7E0: .4byte 0x086AF3AC
-_0803D7E4:
- mov r2, sb
- strh r2, [r0]
- ldr r3, _0803D814 @ =0x000004D2
- adds r1, r1, r3
- adds r1, r1, r5
- ldr r0, _0803D818 @ =0x086AF3AC
- adds r0, r7, r0
- ldrb r0, [r0]
- adds r0, #8
- strb r0, [r1]
- ldr r4, _0803D81C @ =0x020314E0
- ldr r0, [r4]
- ldr r6, _0803D820 @ =0x000004CF
- adds r0, r0, r6
- adds r0, r0, r5
- movs r1, #4
- strb r1, [r0]
- ldr r0, [r4]
- add r0, r8
-_0803D80A:
- adds r0, r0, r5
- mov r7, sl
- strb r7, [r0]
- b _0803D92E
- .align 2, 0
-_0803D814: .4byte 0x000004D2
-_0803D818: .4byte 0x086AF3AC
-_0803D81C: .4byte 0x020314E0
-_0803D820: .4byte 0x000004CF
-_0803D824:
- ldr r5, _0803D8B4 @ =0x020314E0
- ldr r6, [r5]
- ldr r7, [sp, #0x10]
- asrs r5, r7, #0x10
- lsls r4, r5, #2
- adds r4, r6, r4
- ldr r1, _0803D8B8 @ =0x000004EC
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r3, #0xa
- mov sl, r3
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #1
- movs r7, #0x9f
- lsls r7, r7, #3
- adds r1, r4, r7
- movs r2, #0
- mov sb, r2
- strh r0, [r1]
- ldr r3, _0803D8BC @ =0x000004EE
- adds r0, r4, r3
- movs r7, #0
- ldrsh r0, [r0, r7]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #8
- ldr r1, _0803D8C0 @ =0x000004FA
- adds r4, r4, r1
- strh r0, [r4]
- ldr r2, _0803D8C4 @ =0x000004D5
- mov r8, r2
- adds r0, r6, r2
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0803D87E
- b _0803D982
-_0803D87E:
- lsls r7, r5, #1
- movs r4, #0x9b
- lsls r4, r4, #3
- adds r0, r6, r4
- adds r0, r0, r7
- ldrh r0, [r0]
- cmp r0, #1
- bne _0803D89A
- ldr r0, _0803D8C8 @ =0x00000121
- bl m4aSongNumStart
- movs r0, #7
- bl sub_11B0
-_0803D89A:
- ldr r3, _0803D8B4 @ =0x020314E0
- ldr r2, [r3]
- adds r0, r2, r4
- adds r0, r0, r7
- ldrh r1, [r0]
- cmp r1, #2
- bhi _0803D8D0
- ldr r4, _0803D8CC @ =0x000004D2
- adds r0, r2, r4
- adds r0, r0, r5
- movs r1, #9
- strb r1, [r0]
- b _0803D92E
- .align 2, 0
-_0803D8B4: .4byte 0x020314E0
-_0803D8B8: .4byte 0x000004EC
-_0803D8BC: .4byte 0x000004EE
-_0803D8C0: .4byte 0x000004FA
-_0803D8C4: .4byte 0x000004D5
-_0803D8C8: .4byte 0x00000121
-_0803D8CC: .4byte 0x000004D2
-_0803D8D0:
- cmp r1, #7
- bhi _0803D8E0
- ldr r6, _0803D8DC @ =0x000004D2
- adds r0, r2, r6
- b _0803D80A
- .align 2, 0
-_0803D8DC: .4byte 0x000004D2
-_0803D8E0:
- cmp r1, #0xd
- bhi _0803D8F4
- ldr r1, _0803D8F0 @ =0x000004D2
- adds r0, r2, r1
- adds r0, r0, r5
- movs r1, #0xb
- strb r1, [r0]
- b _0803D92E
- .align 2, 0
-_0803D8F0: .4byte 0x000004D2
-_0803D8F4:
- cmp r1, #0x16
- bhi _0803D908
- ldr r3, _0803D904 @ =0x000004D2
- adds r0, r2, r3
- adds r0, r0, r5
- movs r1, #0xc
- strb r1, [r0]
- b _0803D92E
- .align 2, 0
-_0803D904: .4byte 0x000004D2
-_0803D908:
- mov r4, sb
- strh r4, [r0]
- ldr r6, _0803D948 @ =0x000004D2
- adds r0, r2, r6
- adds r0, r0, r5
- movs r1, #0xc
- strb r1, [r0]
- ldr r7, _0803D94C @ =0x020314E0
- ldr r0, [r7]
- ldr r1, _0803D950 @ =0x000004CF
- adds r0, r0, r1
- adds r0, r0, r5
- movs r1, #5
- strb r1, [r0]
- ldr r0, [r7]
- add r0, r8
- adds r0, r0, r5
- movs r2, #0
-_0803D92C:
- strb r2, [r0]
-_0803D92E:
- ldr r2, _0803D94C @ =0x020314E0
- ldr r1, [r2]
- ldr r3, [sp, #0x10]
- asrs r0, r3, #0xf
- movs r4, #0x9b
- lsls r4, r4, #3
- adds r1, r1, r4
- adds r1, r1, r0
- ldrh r0, [r1]
- adds r0, #1
- strh r0, [r1]
- b _0803D982
- .align 2, 0
-_0803D948: .4byte 0x000004D2
-_0803D94C: .4byte 0x020314E0
-_0803D950: .4byte 0x000004CF
-_0803D954:
- ldr r5, _0803DB14 @ =0x020314E0
- ldr r1, [r5]
- ldr r6, [sp, #0x10]
- asrs r2, r6, #0x10
- lsls r0, r2, #2
- adds r1, r1, r0
- movs r7, #0x9f
- lsls r7, r7, #3
- adds r0, r1, r7
- movs r3, #0
- strh r3, [r0]
- ldr r0, _0803DB18 @ =0x000004FA
- adds r1, r1, r0
- strh r3, [r1]
- ldr r1, _0803DB1C @ =gMain
- adds r2, #0xf
- movs r0, #0xb8
- muls r0, r2, r0
- adds r0, r0, r1
- movs r1, #0xbe
- lsls r1, r1, #2
- adds r0, r0, r1
- strh r3, [r0]
-_0803D982:
- ldr r2, _0803DB14 @ =0x020314E0
- ldr r0, [r2]
- ldr r3, [sp, #0x10]
- asrs r4, r3, #0x10
- ldr r5, _0803DB20 @ =0x000004D2
- adds r0, r0, r5
- adds r0, r0, r4
- ldr r2, _0803DB24 @ =0x040000D4
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #8
- ldr r1, _0803DB28 @ =0x084A11EC
- adds r0, r0, r1
- str r0, [r2]
- lsls r3, r4, #1
- adds r0, r3, r4
- lsls r0, r0, #8
- ldr r6, _0803DB2C @ =0x06010FA0
- adds r0, r0, r6
- str r0, [r2, #4]
- ldr r0, _0803DB30 @ =0x80000180
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- ldr r7, _0803DB14 @ =0x020314E0
- ldr r6, [r7]
- lsls r5, r4, #2
- adds r5, r6, r5
- ldr r1, _0803DB34 @ =0x000004EC
- adds r0, r5, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- str r3, [sp, #0x14]
- bl __divsi3
- adds r4, r4, r0
- adds r0, r6, #0
- adds r0, #0x58
- ldrh r0, [r0]
- subs r4, r4, r0
- ldr r7, [sp, #4]
- strh r4, [r7, #2]
- ldr r1, _0803DB38 @ =0x000004E4
- adds r0, r6, r1
- ldr r3, [sp, #0x14]
- adds r0, r0, r3
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r4, r0, #0
- ldr r3, _0803DB3C @ =0x000004EE
- adds r5, r5, r3
- movs r7, #0
- ldrsh r0, [r5, r7]
- movs r1, #0xa
- bl __divsi3
- adds r4, r4, r0
- adds r6, #0x5a
- ldrh r0, [r6]
- subs r4, r4, r0
- ldr r0, [sp, #4]
- strh r4, [r0, #4]
- movs r2, #0
- ldr r5, _0803DB40 @ =gOamBuffer
- ldr r1, _0803DB44 @ =0xFFFFFE00
- mov r8, r1
-_0803DA10:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- ldr r2, [sp, #4]
- adds r6, r2, r0
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r5
- movs r4, #2
- ldrsh r1, [r6, r4]
- ldr r7, [sp, #4]
- movs r4, #2
- ldrsh r0, [r7, r4]
- adds r1, r1, r0
- ldr r7, _0803DB48 @ =0x000001FF
- adds r0, r7, #0
- ands r1, r0
- ldrh r4, [r2, #2]
- mov r0, r8
- ands r0, r4
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldr r2, [sp, #4]
- ldrb r0, [r2, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #2
- ble _0803DA10
- ldr r3, _0803DB14 @ =0x020314E0
- ldr r6, [r3]
- ldr r4, [sp, #0x10]
- asrs r3, r4, #0x10
- ldr r5, _0803DB4C @ =0x000004CF
- adds r0, r6, r5
- adds r4, r0, r3
- ldrb r0, [r4]
- subs r0, #2
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- cmp r0, #2
- bhi _0803DABA
- ldr r2, _0803DB50 @ =0x086AF34C
- ldr r7, _0803DB54 @ =0x000004CC
- adds r0, r6, r7
- adds r0, r0, r3
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #4
- adds r0, r0, r2
- movs r2, #0
- ldrsh r1, [r0, r2]
- subs r5, #0x79
- adds r0, r6, r5
- ldrh r0, [r0]
- cmp r1, r0
- bne _0803DABA
- movs r2, #0
- movs r0, #4
- strb r0, [r4]
- ldr r6, _0803DB14 @ =0x020314E0
- ldr r0, [r6]
- adds r7, #9
- adds r0, r0, r7
- adds r0, r0, r3
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r6]
- lsls r1, r3, #1
- movs r3, #0x9b
- lsls r3, r3, #3
- adds r0, r0, r3
- adds r0, r0, r1
- strh r2, [r0]
-_0803DABA:
- ldr r4, [sp]
- lsls r0, r4, #0x10
- movs r5, #0x80
- lsls r5, r5, #9
- adds r0, r0, r5
- lsrs r6, r0, #0x10
- str r6, [sp]
- asrs r0, r0, #0x10
- cmp r0, #2
- bgt _0803DAD2
- bl _0803D2CA
-_0803DAD2:
- movs r7, #0
- str r7, [sp]
-_0803DAD6:
- ldr r0, [sp]
- lsls r2, r0, #0x10
- asrs r4, r2, #0x10
- movs r0, #0xb8
- adds r1, r4, #0
- muls r1, r0, r1
- ldr r0, _0803DB58 @ =0x0200C0A8
- adds r1, r1, r0
- str r1, [sp, #4]
- ldrh r3, [r1]
- str r2, [sp, #0x10]
- cmp r3, #0
- bne _0803DAF2
- b _0803E1B0
-_0803DAF2:
- ldr r1, _0803DB14 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _0803DB5C @ =0x0000048C
- adds r0, r0, r2
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0xa
- bls _0803DB08
- b _0803DF08
-_0803DB08:
- lsls r0, r0, #2
- ldr r1, _0803DB60 @ =_0803DB64
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803DB14: .4byte 0x020314E0
-_0803DB18: .4byte 0x000004FA
-_0803DB1C: .4byte gMain
-_0803DB20: .4byte 0x000004D2
-_0803DB24: .4byte 0x040000D4
-_0803DB28: .4byte 0x084A11EC
-_0803DB2C: .4byte 0x06010FA0
-_0803DB30: .4byte 0x80000180
-_0803DB34: .4byte 0x000004EC
-_0803DB38: .4byte 0x000004E4
-_0803DB3C: .4byte 0x000004EE
-_0803DB40: .4byte gOamBuffer
-_0803DB44: .4byte 0xFFFFFE00
-_0803DB48: .4byte 0x000001FF
-_0803DB4C: .4byte 0x000004CF
-_0803DB50: .4byte 0x086AF34C
-_0803DB54: .4byte 0x000004CC
-_0803DB58: .4byte 0x0200C0A8
-_0803DB5C: .4byte 0x0000048C
-_0803DB60: .4byte _0803DB64
-_0803DB64: @ jump table
- .4byte _0803DB90 @ case 0
- .4byte _0803DBD4 @ case 1
- .4byte _0803DC2C @ case 2
- .4byte _0803DC80 @ case 3
- .4byte _0803DCD8 @ case 4
- .4byte _0803DD2C @ case 5
- .4byte _0803DD84 @ case 6
- .4byte _0803DDD8 @ case 7
- .4byte _0803DE34 @ case 8
- .4byte _0803DEA8 @ case 9
- .4byte _0803DEF0 @ case 10
-_0803DB90:
- ldr r2, _0803DBC8 @ =0x020314E0
- ldr r0, [r2]
- ldr r4, [sp, #0x10]
- asrs r3, r4, #0x10
- ldr r5, _0803DBCC @ =0x0000049C
- adds r0, r0, r5
- adds r0, r0, r3
- movs r4, #0
- strb r4, [r0]
- ldr r0, [r2]
- movs r6, #0x92
- lsls r6, r6, #3
- adds r0, r0, r6
- adds r0, r0, r3
- movs r1, #8
- strb r1, [r0]
- ldr r0, [r2]
- ldr r7, _0803DBD0 @ =0x00000494
- adds r0, r0, r7
- adds r0, r0, r3
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r2]
- movs r1, #0x94
- lsls r1, r1, #3
- adds r0, r0, r1
- b _0803DEDE
- .align 2, 0
-_0803DBC8: .4byte 0x020314E0
-_0803DBCC: .4byte 0x0000049C
-_0803DBD0: .4byte 0x00000494
-_0803DBD4:
- ldr r2, _0803DC1C @ =0x020314E0
- ldr r1, [r2]
- ldr r4, [sp, #0x10]
- asrs r3, r4, #0x10
- ldr r5, _0803DC20 @ =0x0000049C
- adds r1, r1, r5
- adds r1, r1, r3
- movs r0, #8
- strb r0, [r1]
- ldr r0, [r2]
- movs r6, #0x92
- lsls r6, r6, #3
- adds r0, r0, r6
- adds r0, r0, r3
- movs r1, #0xc
- strb r1, [r0]
- ldr r0, [r2]
- ldr r7, _0803DC24 @ =0x00000494
- adds r0, r0, r7
- adds r0, r0, r3
- movs r1, #3
- strb r1, [r0]
- ldr r0, [r2]
- movs r1, #0x94
- lsls r1, r1, #3
- adds r0, r0, r1
- adds r0, r0, r3
- movs r1, #0xe
- strb r1, [r0]
- ldr r0, [r2]
- ldr r2, _0803DC28 @ =0x0000048C
- adds r0, r0, r2
- adds r0, r0, r3
- movs r1, #2
- strb r1, [r0]
- b _0803DF08
- .align 2, 0
-_0803DC1C: .4byte 0x020314E0
-_0803DC20: .4byte 0x0000049C
-_0803DC24: .4byte 0x00000494
-_0803DC28: .4byte 0x0000048C
-_0803DC2C:
- ldr r5, _0803DC70 @ =0x020314E0
- ldr r0, [r5]
- ldr r3, [sp, #0x10]
- asrs r4, r3, #0x10
- ldr r6, _0803DC74 @ =0x000004A4
- adds r0, r0, r6
- adds r1, r0, r4
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- bgt _0803DC46
- b _0803DF08
-_0803DC46:
- subs r0, r2, #1
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r0, r6
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #7
- beq _0803DC5C
- b _0803DF08
-_0803DC5C:
- ldr r0, _0803DC78 @ =0x00000123
- bl m4aSongNumStart
- ldr r0, [r5]
- ldr r7, _0803DC7C @ =0x0000048C
- adds r0, r0, r7
- adds r0, r0, r4
- movs r1, #3
- strb r1, [r0]
- b _0803DE98
- .align 2, 0
-_0803DC70: .4byte 0x020314E0
-_0803DC74: .4byte 0x000004A4
-_0803DC78: .4byte 0x00000123
-_0803DC7C: .4byte 0x0000048C
-_0803DC80:
- ldr r2, _0803DCC8 @ =0x020314E0
- ldr r1, [r2]
- ldr r0, [sp, #0x10]
- asrs r3, r0, #0x10
- ldr r4, _0803DCCC @ =0x0000049C
- adds r1, r1, r4
- adds r1, r1, r3
- movs r0, #0xc
- strb r0, [r1]
- ldr r0, [r2]
- movs r5, #0x92
- lsls r5, r5, #3
- adds r0, r0, r5
- adds r0, r0, r3
- movs r1, #0x10
- strb r1, [r0]
- ldr r0, [r2]
- ldr r6, _0803DCD0 @ =0x00000494
- adds r0, r0, r6
- adds r0, r0, r3
- movs r1, #5
- strb r1, [r0]
- ldr r0, [r2]
- movs r7, #0x94
- lsls r7, r7, #3
- adds r0, r0, r7
- adds r0, r0, r3
- movs r1, #0xe
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _0803DCD4 @ =0x0000048C
- adds r0, r0, r1
- adds r0, r0, r3
- movs r1, #4
- strb r1, [r0]
- b _0803DF08
- .align 2, 0
-_0803DCC8: .4byte 0x020314E0
-_0803DCCC: .4byte 0x0000049C
-_0803DCD0: .4byte 0x00000494
-_0803DCD4: .4byte 0x0000048C
-_0803DCD8:
- ldr r5, _0803DD1C @ =0x020314E0
- ldr r0, [r5]
- ldr r2, [sp, #0x10]
- asrs r4, r2, #0x10
- ldr r3, _0803DD20 @ =0x000004A4
- adds r0, r0, r3
- adds r1, r0, r4
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- bgt _0803DCF2
- b _0803DF08
-_0803DCF2:
- subs r0, r2, #1
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r0, r3
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #7
- beq _0803DD08
- b _0803DF08
-_0803DD08:
- ldr r0, _0803DD24 @ =0x00000123
- bl m4aSongNumStart
- ldr r0, [r5]
- ldr r5, _0803DD28 @ =0x0000048C
- adds r0, r0, r5
- adds r0, r0, r4
- movs r1, #5
- strb r1, [r0]
- b _0803DE98
- .align 2, 0
-_0803DD1C: .4byte 0x020314E0
-_0803DD20: .4byte 0x000004A4
-_0803DD24: .4byte 0x00000123
-_0803DD28: .4byte 0x0000048C
-_0803DD2C:
- ldr r2, _0803DD74 @ =0x020314E0
- ldr r1, [r2]
- ldr r6, [sp, #0x10]
- asrs r3, r6, #0x10
- ldr r7, _0803DD78 @ =0x0000049C
- adds r1, r1, r7
- adds r1, r1, r3
- movs r0, #0x10
- strb r0, [r1]
- ldr r0, [r2]
- movs r1, #0x92
- lsls r1, r1, #3
- adds r0, r0, r1
- adds r0, r0, r3
- movs r1, #0x14
- strb r1, [r0]
- ldr r0, [r2]
- ldr r4, _0803DD7C @ =0x00000494
- adds r0, r0, r4
- adds r0, r0, r3
- movs r1, #7
- strb r1, [r0]
- ldr r0, [r2]
- movs r5, #0x94
- lsls r5, r5, #3
- adds r0, r0, r5
- adds r0, r0, r3
- movs r1, #0xe
- strb r1, [r0]
- ldr r0, [r2]
- ldr r6, _0803DD80 @ =0x0000048C
- adds r0, r0, r6
- adds r0, r0, r3
- movs r1, #6
- strb r1, [r0]
- b _0803DF08
- .align 2, 0
-_0803DD74: .4byte 0x020314E0
-_0803DD78: .4byte 0x0000049C
-_0803DD7C: .4byte 0x00000494
-_0803DD80: .4byte 0x0000048C
-_0803DD84:
- ldr r6, _0803DDC8 @ =0x020314E0
- ldr r0, [r6]
- ldr r7, [sp, #0x10]
- asrs r5, r7, #0x10
- ldr r1, _0803DDCC @ =0x000004A4
- adds r0, r0, r1
- adds r1, r0, r5
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- bgt _0803DD9E
- b _0803DF08
-_0803DD9E:
- subs r0, r2, #1
- strb r0, [r1]
- ldr r0, [r6]
- ldr r2, _0803DDCC @ =0x000004A4
- adds r0, r0, r2
- adds r0, r0, r5
- movs r4, #0
- ldrsb r4, [r0, r4]
- cmp r4, #7
- beq _0803DDB4
- b _0803DF08
-_0803DDB4:
- ldr r0, _0803DDD0 @ =0x00000123
- bl m4aSongNumStart
- ldr r0, [r6]
- ldr r3, _0803DDD4 @ =0x0000048C
- adds r0, r0, r3
- adds r0, r0, r5
- strb r4, [r0]
- b _0803DE98
- .align 2, 0
-_0803DDC8: .4byte 0x020314E0
-_0803DDCC: .4byte 0x000004A4
-_0803DDD0: .4byte 0x00000123
-_0803DDD4: .4byte 0x0000048C
-_0803DDD8:
- ldr r2, _0803DE28 @ =0x020314E0
- ldr r1, [r2]
- ldr r4, [sp, #0x10]
- asrs r3, r4, #0x10
- ldr r5, _0803DE2C @ =0x0000049C
- adds r1, r1, r5
- adds r1, r1, r3
- movs r4, #0
- movs r0, #0x14
- strb r0, [r1]
- ldr r0, [r2]
- movs r6, #0x92
- lsls r6, r6, #3
- adds r0, r0, r6
- adds r0, r0, r3
- movs r1, #0x18
- strb r1, [r0]
- ldr r0, [r2]
- ldr r7, _0803DE30 @ =0x00000494
- adds r0, r0, r7
- adds r0, r0, r3
- movs r1, #9
- strb r1, [r0]
- ldr r0, [r2]
- movs r1, #0x94
- lsls r1, r1, #3
- adds r0, r0, r1
- adds r0, r0, r3
- movs r1, #0xe
- strb r1, [r0]
- ldr r0, [r2]
- subs r5, #0x10
- adds r0, r0, r5
- adds r0, r0, r3
- movs r1, #8
- strb r1, [r0]
- ldr r0, [r2]
- adds r6, #0x18
- adds r0, r0, r6
- b _0803DEDE
- .align 2, 0
-_0803DE28: .4byte 0x020314E0
-_0803DE2C: .4byte 0x0000049C
-_0803DE30: .4byte 0x00000494
-_0803DE34:
- ldr r4, _0803DE7C @ =0x020314E0
- ldr r0, [r4]
- ldr r7, [sp, #0x10]
- asrs r3, r7, #0x10
- ldr r1, _0803DE80 @ =0x000004A4
- adds r0, r0, r1
- adds r1, r0, r3
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- ble _0803DF08
- subs r0, r2, #1
- movs r5, #0
- strb r0, [r1]
- ldr r1, [r4]
- ldr r2, _0803DE80 @ =0x000004A4
- adds r0, r1, r2
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #7
- bne _0803DF08
- movs r6, #0x95
- lsls r6, r6, #3
- adds r0, r1, r6
- adds r1, r0, r3
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- bgt _0803DE84
- adds r0, r2, #1
- strb r0, [r1]
- b _0803DE92
- .align 2, 0
-_0803DE7C: .4byte 0x020314E0
-_0803DE80: .4byte 0x000004A4
-_0803DE84:
- strb r5, [r1]
- ldr r0, [r4]
- ldr r7, _0803DEA0 @ =0x0000048C
- adds r0, r0, r7
- adds r0, r0, r3
- movs r1, #9
- strb r1, [r0]
-_0803DE92:
- ldr r0, _0803DEA4 @ =0x00000123
- bl m4aSongNumStart
-_0803DE98:
- movs r0, #7
- bl sub_11B0
- b _0803DF08
- .align 2, 0
-_0803DEA0: .4byte 0x0000048C
-_0803DEA4: .4byte 0x00000123
-_0803DEA8:
- ldr r2, _0803DEE4 @ =0x020314E0
- ldr r1, [r2]
- ldr r0, [sp, #0x10]
- asrs r3, r0, #0x10
- ldr r4, _0803DEE8 @ =0x0000049C
- adds r1, r1, r4
- adds r1, r1, r3
- movs r4, #0
- movs r0, #0x18
- strb r0, [r1]
- ldr r0, [r2]
- movs r5, #0x92
- lsls r5, r5, #3
- adds r0, r0, r5
- adds r0, r0, r3
- movs r1, #0x1b
- strb r1, [r0]
- ldr r0, [r2]
- ldr r6, _0803DEEC @ =0x00000494
- adds r0, r0, r6
- adds r0, r0, r3
- movs r1, #0xa
- strb r1, [r0]
- ldr r0, [r2]
- movs r7, #0x94
- lsls r7, r7, #3
- adds r0, r0, r7
-_0803DEDE:
- adds r0, r0, r3
- strb r4, [r0]
- b _0803DF08
- .align 2, 0
-_0803DEE4: .4byte 0x020314E0
-_0803DEE8: .4byte 0x0000049C
-_0803DEEC: .4byte 0x00000494
-_0803DEF0:
- ldr r2, _0803DF3C @ =gMain
- ldr r1, [sp, #0x10]
- asrs r0, r1, #0x10
- adds r0, #0x12
- movs r1, #0xb8
- muls r0, r1, r0
- adds r0, r0, r2
- movs r2, #0xbe
- lsls r2, r2, #2
- adds r0, r0, r2
- movs r1, #0
- strh r1, [r0]
-_0803DF08:
- ldr r4, _0803DF40 @ =0x086AF2DC
- ldr r3, _0803DF44 @ =0x020314E0
- ldr r2, [r3]
- ldr r6, [sp, #0x10]
- asrs r5, r6, #0x10
- movs r7, #0x93
- lsls r7, r7, #3
- adds r0, r2, r7
- adds r7, r0, r5
- movs r1, #0
- ldrsb r1, [r7, r1]
- lsls r1, r1, #2
- adds r0, r4, #2
- adds r1, r1, r0
- lsls r0, r5, #1
- ldr r6, _0803DF48 @ =0x000004AC
- adds r2, r2, r6
- adds r2, r2, r0
- ldrh r6, [r2]
- ldrh r0, [r1]
- cmp r0, r6
- bls _0803DF4C
- adds r0, r6, #1
- strh r0, [r2]
- b _0803DFC8
- .align 2, 0
-_0803DF3C: .4byte gMain
-_0803DF40: .4byte 0x086AF2DC
-_0803DF44: .4byte 0x020314E0
-_0803DF48: .4byte 0x000004AC
-_0803DF4C:
- movs r0, #0
- strh r0, [r2]
- ldrb r0, [r7]
- adds r0, #1
- strb r0, [r7]
- ldr r7, _0803DFA8 @ =0x020314E0
- ldr r2, [r7]
- movs r1, #0x93
- lsls r1, r1, #3
- adds r0, r2, r1
- adds r3, r0, r5
- movs r6, #0x92
- lsls r6, r6, #3
- adds r0, r2, r6
- adds r0, r0, r5
- movs r1, #0
- ldrsb r1, [r3, r1]
- ldrb r6, [r0]
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r1, r0
- bne _0803DFC8
- movs r7, #0x94
- lsls r7, r7, #3
- adds r0, r2, r7
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _0803DFB0
- ldr r1, _0803DFAC @ =0x0000049C
- adds r0, r2, r1
- adds r0, r0, r5
- ldrb r0, [r0]
- strb r0, [r3]
- ldr r2, _0803DFA8 @ =0x020314E0
- ldr r1, [r2]
- adds r3, r7, #0
- adds r1, r1, r3
- adds r1, r1, r5
- ldrb r0, [r1]
- subs r0, #1
- b _0803DFC6
- .align 2, 0
-_0803DFA8: .4byte 0x020314E0
-_0803DFAC: .4byte 0x0000049C
-_0803DFB0:
- subs r0, r6, #1
- strb r0, [r3]
- ldr r6, _0803E0EC @ =0x020314E0
- ldr r0, [r6]
- ldr r7, _0803E0F0 @ =0x0000048C
- adds r1, r0, r7
- adds r1, r1, r5
- ldr r2, _0803E0F4 @ =0x00000494
- adds r0, r0, r2
- adds r0, r0, r5
- ldrb r0, [r0]
-_0803DFC6:
- strb r0, [r1]
-_0803DFC8:
- ldr r3, _0803E0EC @ =0x020314E0
- ldr r2, [r3]
- ldr r6, [sp, #0x10]
- asrs r5, r6, #0x10
- movs r7, #0x93
- lsls r7, r7, #3
- adds r0, r2, r7
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #2
- adds r0, r0, r4
- ldrh r0, [r0]
- mov sl, r0
- ldr r0, _0803E0F8 @ =0x086AF2CC
- lsls r4, r5, #2
- adds r3, r4, r0
- ldrh r1, [r3]
- adds r1, #0x41
- adds r0, r2, #0
- adds r0, #0x58
- ldrh r0, [r0]
- subs r1, r1, r0
- ldr r0, [sp, #4]
- strh r1, [r0, #2]
- ldrh r1, [r3, #2]
- adds r1, #0x3c
- adds r0, r2, #0
- adds r0, #0x5a
- ldrh r0, [r0]
- subs r1, r1, r0
- ldr r6, [sp, #4]
- strh r1, [r6, #4]
- subs r7, #0xc
- adds r0, r2, r7
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #8
- bgt _0803E03A
- adds r2, r2, r4
- movs r1, #0
- ldrsh r0, [r3, r1]
- adds r0, #0x3d
- lsls r0, r0, #1
- ldr r4, _0803E0FC @ =0x000004B4
- adds r1, r2, r4
- strh r0, [r1]
- movs r6, #2
- ldrsh r0, [r3, r6]
- adds r0, #0x60
- lsls r0, r0, #1
- adds r7, #0x2a
- adds r2, r2, r7
- strh r0, [r2]
-_0803E03A:
- ldr r1, _0803E0EC @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _0803E100 @ =0x000004A4
- adds r0, r0, r2
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _0803E114
- movs r2, #0
- mov r3, sl
- lsls r1, r3, #0x10
- ldr r4, _0803E104 @ =0x086B8AE0
- mov sb, r4
- ldr r5, _0803E108 @ =gOamBuffer
- asrs r1, r1, #0x10
- lsls r0, r1, #4
- subs r0, r0, r1
- lsls r0, r0, #2
- mov sl, r0
- ldr r6, _0803E10C @ =0xFFFFFE00
- mov r8, r6
-_0803E068:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- ldr r7, [sp, #4]
- adds r6, r7, r0
- ldrh r0, [r6]
- lsls r0, r0, #3
- adds r2, r0, r5
- lsls r0, r3, #1
- adds r0, r0, r3
- lsls r0, r0, #1
- add r0, sb
- mov r4, sl
- adds r1, r4, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, #2
- adds r2, #2
- ldrh r0, [r1]
- strh r0, [r2]
- ldrh r0, [r1, #2]
- strh r0, [r2, #2]
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r5
- ldrh r4, [r2, #2]
- lsls r1, r4, #0x17
- lsrs r1, r1, #0x17
- mov ip, r1
- movs r1, #2
- ldrsh r0, [r7, r1]
- mov r7, ip
- adds r1, r7, r0
- ldr r7, _0803E110 @ =0x000001FF
- adds r0, r7, #0
- ands r1, r0
- mov r0, r8
- ands r0, r4
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldr r2, [sp, #4]
- ldrb r0, [r2, #4]
- ldrb r4, [r1]
- adds r0, r0, r4
- strb r0, [r1]
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r5
- ldrb r1, [r2, #5]
- movs r0, #0xf
- ands r0, r1
- movs r1, #0x20
- orrs r0, r1
- strb r0, [r2, #5]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #9
- ble _0803E068
- b _0803E1C4
- .align 2, 0
-_0803E0EC: .4byte 0x020314E0
-_0803E0F0: .4byte 0x0000048C
-_0803E0F4: .4byte 0x00000494
-_0803E0F8: .4byte 0x086AF2CC
-_0803E0FC: .4byte 0x000004B4
-_0803E100: .4byte 0x000004A4
-_0803E104: .4byte 0x086B8AE0
-_0803E108: .4byte gOamBuffer
-_0803E10C: .4byte 0xFFFFFE00
-_0803E110: .4byte 0x000001FF
-_0803E114:
- movs r2, #0
- mov r5, sl
- lsls r1, r5, #0x10
- ldr r6, _0803E1A0 @ =0x086B8AE0
- mov sb, r6
- ldr r5, _0803E1A4 @ =gOamBuffer
- asrs r1, r1, #0x10
- lsls r0, r1, #4
- subs r0, r0, r1
- lsls r0, r0, #2
- mov sl, r0
- ldr r7, _0803E1A8 @ =0xFFFFFE00
- mov r8, r7
-_0803E12E:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- ldr r1, [sp, #4]
- adds r6, r1, r0
- ldrh r0, [r6]
- lsls r0, r0, #3
- adds r2, r0, r5
- lsls r0, r3, #1
- adds r0, r0, r3
- lsls r0, r0, #1
- add r0, sb
- mov r4, sl
- adds r1, r4, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, #2
- adds r2, #2
- ldrh r0, [r1]
- strh r0, [r2]
- ldrh r0, [r1, #2]
- strh r0, [r2, #2]
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r5
- ldrh r4, [r2, #2]
- lsls r1, r4, #0x17
- lsrs r1, r1, #0x17
- mov ip, r1
- ldr r7, [sp, #4]
- movs r1, #2
- ldrsh r0, [r7, r1]
- mov r7, ip
- adds r1, r7, r0
- ldr r7, _0803E1AC @ =0x000001FF
- adds r0, r7, #0
- ands r1, r0
- mov r0, r8
- ands r0, r4
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldr r2, [sp, #4]
- ldrb r0, [r2, #4]
- ldrb r4, [r1]
- adds r0, r0, r4
- strb r0, [r1]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #9
- ble _0803E12E
- b _0803E1C4
- .align 2, 0
-_0803E1A0: .4byte 0x086B8AE0
-_0803E1A4: .4byte gOamBuffer
-_0803E1A8: .4byte 0xFFFFFE00
-_0803E1AC: .4byte 0x000001FF
-_0803E1B0:
- ldr r5, _0803E2BC @ =0x020314E0
- ldr r0, [r5]
- lsls r1, r4, #2
- adds r0, r0, r1
- ldr r6, _0803E2C0 @ =0x000004B4
- adds r1, r0, r6
- strh r3, [r1]
- ldr r7, _0803E2C4 @ =0x000004B6
- adds r0, r0, r7
- strh r3, [r0]
-_0803E1C4:
- ldr r1, [sp, #0x10]
- movs r2, #0x80
- lsls r2, r2, #9
- adds r0, r1, r2
- lsrs r3, r0, #0x10
- str r3, [sp]
- asrs r0, r0, #0x10
- cmp r0, #3
- bgt _0803E1D8
- b _0803DAD6
-_0803E1D8:
- ldr r4, _0803E2BC @ =0x020314E0
- ldr r0, [r4]
- ldr r4, _0803E2C8 @ =0x000004C4
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, #0
- beq _0803E236
- subs r0, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0x24
- bne _0803E1FA
- movs r0, #0x91
- lsls r0, r0, #1
- bl m4aSongNumStart
-_0803E1FA:
- ldr r5, _0803E2BC @ =0x020314E0
- ldr r0, [r5]
- adds r0, r0, r4
- ldrh r0, [r0]
- cmp r0, #0x18
- bne _0803E20E
- movs r0, #0x91
- lsls r0, r0, #1
- bl m4aSongNumStart
-_0803E20E:
- ldr r6, _0803E2BC @ =0x020314E0
- ldr r0, [r6]
- adds r0, r0, r4
- ldrh r0, [r0]
- cmp r0, #0xc
- bne _0803E222
- movs r0, #0x91
- lsls r0, r0, #1
- bl m4aSongNumStart
-_0803E222:
- ldr r7, _0803E2BC @ =0x020314E0
- ldr r0, [r7]
- adds r0, r0, r4
- ldrh r0, [r0]
- cmp r0, #0
- bne _0803E236
- movs r0, #0x91
- lsls r0, r0, #1
- bl m4aSongNumStart
-_0803E236:
- ldr r0, _0803E2CC @ =0x0200C948
- str r0, [sp, #4]
- ldrh r0, [r0]
- cmp r0, #0
- bne _0803E242
- b _0803E574
-_0803E242:
- ldr r0, _0803E2BC @ =0x020314E0
- ldr r1, [r0]
- ldr r6, _0803E2D0 @ =0x00000456
- adds r7, r1, r6
- ldrh r1, [r7]
- cmp r1, #0x23
- bhi _0803E300
- adds r0, r1, #0
- lsls r0, r0, #9
- movs r1, #0x23
- bl __divsi3
- adds r0, #0x10
- lsls r0, r0, #0x10
- lsrs r7, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #0x80
- lsls r1, r1, #2
- cmp r0, r1
- ble _0803E26C
- adds r7, r1, #0
-_0803E26C:
- lsls r5, r7, #0x10
- asrs r5, r5, #0x10
- adds r0, r5, #0
- adds r1, r5, #0
- movs r2, #1
- bl SetMatrixScale
- rsbs r4, r5, #0
- lsls r4, r4, #0x10
- asrs r4, r4, #0x10
- adds r0, r4, #0
- adds r1, r5, #0
- movs r2, #2
- bl SetMatrixScale
- adds r0, r5, #0
- adds r1, r4, #0
- movs r2, #3
- bl SetMatrixScale
- adds r0, r4, #0
- adds r1, r4, #0
- movs r2, #4
- bl SetMatrixScale
- ldr r1, _0803E2BC @ =0x020314E0
- ldr r0, [r1]
- adds r1, r0, r6
- ldrh r0, [r1]
- cmp r0, #0x1e
- bls _0803E2D4
- subs r0, #0x1e
- movs r1, #0xb
- muls r0, r1, r0
- movs r1, #5
- bl __divsi3
- movs r1, #0xc
- b _0803E2E0
- .align 2, 0
-_0803E2BC: .4byte 0x020314E0
-_0803E2C0: .4byte 0x000004B4
-_0803E2C4: .4byte 0x000004B6
-_0803E2C8: .4byte 0x000004C4
-_0803E2CC: .4byte 0x0200C948
-_0803E2D0: .4byte 0x00000456
-_0803E2D4:
- ldrh r0, [r1]
- lsls r0, r0, #2
- movs r1, #0x1e
- bl __divsi3
- movs r1, #0x10
-_0803E2E0:
- subs r1, r1, r0
- lsls r1, r1, #0x10
- lsrs r6, r1, #0x10
- ldr r2, _0803E2F8 @ =0x020314E0
- ldr r1, [r2]
- ldr r3, _0803E2FC @ =0x00000456
- adds r1, r1, r3
- ldrh r0, [r1]
- adds r0, #1
- strh r0, [r1]
- b _0803E30A
- .align 2, 0
-_0803E2F8: .4byte 0x020314E0
-_0803E2FC: .4byte 0x00000456
-_0803E300:
- movs r7, #0x80
- lsls r7, r7, #1
- movs r6, #0
- ldr r4, [sp, #4]
- strh r6, [r4]
-_0803E30A:
- ldr r5, _0803E584 @ =0x020314E0
- ldr r0, [r5]
- ldr r1, _0803E588 @ =0x00000456
- adds r0, r0, r1
- ldrh r0, [r0]
- ldr r2, _0803E58C @ =gMain
- mov r8, r2
- lsls r7, r7, #0x10
- mov sl, r7
- cmp r0, #0x22
- bne _0803E382
- movs r3, #0
- str r3, [sp]
- mov sb, r8
- movs r4, #0
- movs r7, #0
- adds r3, r5, #0
-_0803E32C:
- ldr r5, [sp]
- lsls r2, r5, #0x10
- asrs r2, r2, #0x10
- adds r1, r2, #0
- adds r1, #0x12
- movs r0, #0xb8
- muls r0, r1, r0
- add r0, sb
- movs r1, #0xbe
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r1, #1
- strh r1, [r0]
- ldr r0, [r3]
- ldr r5, _0803E590 @ =0x0000048C
- adds r0, r0, r5
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r3]
- movs r1, #0x93
- lsls r1, r1, #3
- adds r0, r0, r1
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r3]
- lsls r1, r2, #1
- adds r5, #0x20
- adds r0, r0, r5
- adds r0, r0, r1
- strh r7, [r0]
- adds r2, #1
- lsls r2, r2, #0x10
- lsrs r0, r2, #0x10
- str r0, [sp]
- asrs r2, r2, #0x10
- cmp r2, #3
- ble _0803E32C
- ldr r1, _0803E584 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _0803E594 @ =0x000004C4
- adds r0, r0, r2
- movs r1, #0x25
- strh r1, [r0]
-_0803E382:
- ldr r3, _0803E584 @ =0x020314E0
- ldr r1, [r3]
- mov r4, sl
- asrs r5, r4, #0x10
- adds r0, r5, #0
- cmp r5, #0
- bge _0803E392
- adds r0, r5, #7
-_0803E392:
- asrs r3, r0, #3
- movs r0, #0x20
- subs r2, r0, r3
- ldr r7, _0803E598 @ =0x0000046C
- adds r0, r1, r7
- strh r2, [r0]
- adds r3, #0x20
- movs r4, #0x8e
- lsls r4, r4, #3
- adds r0, r1, r4
- strh r3, [r0]
- ldr r7, _0803E59C @ =0x00000474
- adds r0, r1, r7
- strh r2, [r0]
- movs r4, #0x8f
- lsls r4, r4, #3
- adds r0, r1, r4
- strh r3, [r0]
- ldr r7, _0803E5A0 @ =0x0000046E
- adds r0, r1, r7
- strh r2, [r0]
- ldr r4, _0803E5A4 @ =0x00000472
- adds r0, r1, r4
- strh r2, [r0]
- ldr r7, _0803E5A8 @ =0x00000476
- adds r0, r1, r7
- strh r3, [r0]
- ldr r2, _0803E5AC @ =0x0000047A
- adds r0, r1, r2
- strh r3, [r0]
- mov r3, r8
- ldrb r1, [r3, #0xf]
- movs r0, #0xc0
- ands r0, r1
- cmp r0, #0
- bne _0803E3F0
- ldrh r0, [r3, #0x38]
- ldr r0, _0803E5B0 @ =0x00001E10
- strh r0, [r3, #0x38]
- movs r0, #0x10
- lsls r1, r6, #0x10
- asrs r1, r1, #0x10
- subs r0, r0, r1
- lsls r0, r0, #8
- orrs r0, r1
- ldrh r1, [r3, #0x3a]
- strh r0, [r3, #0x3a]
-_0803E3F0:
- ldr r4, [sp, #4]
- ldrh r0, [r4]
- cmp r0, #0
- beq _0803E4AA
- ldr r5, _0803E584 @ =0x020314E0
- ldr r1, [r5]
- adds r0, r1, #0
- adds r0, #0x58
- ldrh r2, [r0]
- movs r0, #0x17
- subs r0, r0, r2
- strh r0, [r4, #2]
- adds r1, #0x5a
- ldrh r1, [r1]
- movs r0, #0x32
- subs r0, r0, r1
- strh r0, [r4, #4]
- movs r2, #0
- ldr r7, _0803E5B4 @ =gOamBuffer
- ldr r6, _0803E5B8 @ =0xFFFFFE00
- mov sb, r6
- movs r0, #0xf
- rsbs r0, r0, #0
- mov r8, r0
-_0803E420:
- lsls r5, r2, #0x10
- asrs r5, r5, #0x10
- lsls r0, r5, #3
- adds r0, #8
- ldr r1, [sp, #4]
- adds r6, r1, r0
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r2, #2
- ldrsh r1, [r6, r2]
- ldr r4, [sp, #4]
- movs r2, #2
- ldrsh r0, [r4, r2]
- adds r1, r1, r0
- ldr r0, _0803E584 @ =0x020314E0
- ldr r4, [r0]
- lsls r0, r5, #2
- adds r4, r4, r0
- ldr r2, _0803E598 @ =0x0000046C
- adds r0, r4, r2
- movs r2, #0
- ldrsh r0, [r0, r2]
- adds r1, r1, r0
- ldr r2, _0803E5BC @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, sb
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r7
- ldr r3, [sp, #4]
- ldrb r1, [r3, #4]
- ldrb r0, [r6, #4]
- adds r1, r1, r0
- ldr r3, _0803E5A0 @ =0x0000046E
- adds r4, r4, r3
- ldrb r0, [r4]
- adds r0, r0, r1
- strb r0, [r2]
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r7
- ldrb r0, [r2, #1]
- movs r1, #3
- orrs r0, r1
- strb r0, [r2, #1]
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r7
- adds r5, #1
- movs r0, #7
- adds r1, r5, #0
- ands r1, r0
- lsls r1, r1, #1
- ldrb r2, [r3, #3]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, #3]
- lsls r5, r5, #0x10
- lsrs r2, r5, #0x10
- asrs r5, r5, #0x10
- cmp r5, #3
- ble _0803E420
-_0803E4AA:
- ldr r4, _0803E584 @ =0x020314E0
- ldr r2, [r4]
- ldr r5, _0803E588 @ =0x00000456
- adds r4, r2, r5
- ldrh r0, [r4]
- cmp r0, #0x1d
- bhi _0803E560
- ldr r7, _0803E5C0 @ =0x0000132C
- adds r0, r2, r7
- ldr r1, [r0]
- movs r6, #0x10
- ldrsh r0, [r1, r6]
- subs r0, #0x77
- str r0, [sp, #8]
- movs r3, #0x12
- ldrsh r0, [r1, r3]
- subs r0, #0x93
- str r0, [sp, #0xc]
- ldr r5, [sp, #8]
- adds r1, r5, #0
- muls r1, r5, r1
- adds r6, r0, #0
- adds r0, r6, #0
- muls r0, r6, r0
- adds r3, r1, r0
- movs r1, #0xe2
- lsls r1, r1, #2
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0803E560
- ldr r0, _0803E5C4 @ =0x086AEE20
- ldrh r1, [r4]
- lsls r1, r1, #1
- adds r1, r1, r0
- movs r2, #0
- ldrsh r0, [r1, r2]
- cmp r3, r0
- bge _0803E560
- rsbs r0, r5, #0
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- adds r3, r6, #0
- lsls r1, r3, #0x10
- asrs r1, r1, #0x10
- bl ArcTan2
- ldr r4, _0803E584 @ =0x020314E0
- ldr r1, [r4]
- movs r6, #0xb6
- lsls r6, r6, #3
- adds r1, r1, r6
- strh r0, [r1]
- ldrh r0, [r1]
- bl sub_C74
- adds r1, r0, #0
- ldr r4, [r4]
- adds r0, r4, r7
- ldr r5, [r0]
- lsls r1, r1, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #3
- adds r0, r0, r1
- lsls r0, r0, #4
- rsbs r0, r0, #0
- ldr r1, _0803E5C8 @ =0x00004E20
- bl __divsi3
- strh r0, [r5, #0x30]
- adds r4, r4, r6
- ldrh r0, [r4]
- bl sub_C24
- ldr r5, _0803E584 @ =0x020314E0
- ldr r1, [r5]
- adds r1, r1, r7
- ldr r4, [r1]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #0x32
- bl __divsi3
- strh r0, [r4, #0x32]
- movs r0, #9
- bl sub_11B0
-_0803E560:
- ldr r2, _0803E58C @ =gMain
- ldrb r1, [r2, #0xf]
- movs r0, #0xc0
- ands r0, r1
- cmp r0, #0
- beq _0803E574
- ldr r6, _0803E5CC @ =0x00001888
- adds r1, r2, r6
- movs r0, #0
- strh r0, [r1]
-_0803E574:
- add sp, #0x1c
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803E584: .4byte 0x020314E0
-_0803E588: .4byte 0x00000456
-_0803E58C: .4byte gMain
-_0803E590: .4byte 0x0000048C
-_0803E594: .4byte 0x000004C4
-_0803E598: .4byte 0x0000046C
-_0803E59C: .4byte 0x00000474
-_0803E5A0: .4byte 0x0000046E
-_0803E5A4: .4byte 0x00000472
-_0803E5A8: .4byte 0x00000476
-_0803E5AC: .4byte 0x0000047A
-_0803E5B0: .4byte 0x00001E10
-_0803E5B4: .4byte gOamBuffer
-_0803E5B8: .4byte 0xFFFFFE00
-_0803E5BC: .4byte 0x000001FF
-_0803E5C0: .4byte 0x0000132C
-_0803E5C4: .4byte 0x086AEE20
-_0803E5C8: .4byte 0x00004E20
-_0803E5CC: .4byte 0x00001888
-
- thumb_func_start sub_3E5D0
-sub_3E5D0: @ 0x0803E5D0
- push {r4, r5, r6, r7, lr}
- ldr r6, _0803E634 @ =0x0200C948
- ldrh r0, [r6]
- cmp r0, #0
- beq _0803E62E
- movs r0, #0xf0
- strh r0, [r6, #2]
- movs r0, #0xa0
- strh r0, [r6, #4]
- movs r0, #0
- ldr r7, _0803E638 @ =gOamBuffer
- ldr r1, _0803E63C @ =0xFFFFFE00
- mov ip, r1
-_0803E5EA:
- lsls r5, r0, #0x10
- asrs r5, r5, #0x10
- lsls r3, r5, #3
- adds r3, #8
- adds r3, r6, r3
- ldrh r4, [r3]
- lsls r4, r4, #3
- adds r4, r4, r7
- movs r2, #2
- ldrsh r1, [r3, r2]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _0803E640 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r4, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, #2]
- ldrh r1, [r3]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r3, [r3, #4]
- adds r0, r0, r3
- strb r0, [r1]
- adds r5, #1
- lsls r5, r5, #0x10
- lsrs r0, r5, #0x10
- asrs r5, r5, #0x10
- cmp r5, #3
- ble _0803E5EA
-_0803E62E:
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803E634: .4byte 0x0200C948
-_0803E638: .4byte gOamBuffer
-_0803E63C: .4byte 0xFFFFFE00
-_0803E640: .4byte 0x000001FF
-
- thumb_func_start sub_3E644
-sub_3E644: @ 0x0803E644
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- ldr r4, _0803E760 @ =0x086AF3B2
- ldr r6, _0803E764 @ =gMain
- ldr r5, [r6, #0x4c]
- adds r0, r5, #0
- movs r1, #0x90
- bl __umodsi3
- movs r1, #0x18
- bl __udivsi3
- lsls r0, r0, #1
- adds r0, r0, r4
- ldr r2, _0803E768 @ =0x040000D4
- movs r3, #0
- ldrsh r1, [r0, r3]
- lsls r0, r1, #5
- ldr r4, _0803E76C @ =0x08352BD8
- adds r0, r0, r4
- str r0, [r2]
- movs r0, #0xa0
- lsls r0, r0, #0x13
- str r0, [r2, #4]
- ldr r3, _0803E770 @ =0x80000010
- str r3, [r2, #8]
- ldr r0, [r2, #8]
- adds r1, #4
- lsls r1, r1, #5
- adds r1, r1, r4
- str r1, [r2]
- ldr r0, _0803E774 @ =0x05000080
- str r0, [r2, #4]
- str r3, [r2, #8]
- ldr r0, [r2, #8]
- ldr r4, _0803E778 @ =0x086AF3BE
- adds r0, r5, #0
- movs r1, #0x60
- bl __umodsi3
- movs r1, #0x18
- bl __udivsi3
- lsls r0, r0, #1
- adds r0, r0, r4
- movs r3, #0
- ldr r7, _0803E77C @ =gOamBuffer
- movs r1, #0
- ldrsh r0, [r0, r1]
- lsls r0, r0, #3
- mov r8, r0
- ldr r2, _0803E780 @ =0x086AF3C6
- mov sb, r2
- ldr r0, _0803E784 @ =0xFFFFFC00
- mov sl, r0
-_0803E6B8:
- lsls r3, r3, #0x10
- asrs r1, r3, #0x10
- movs r0, #0xb8
- muls r0, r1, r0
- ldr r1, _0803E788 @ =0x0200BBA0
- adds r6, r0, r1
- ldr r2, _0803E78C @ =0x020314E0
- ldr r1, [r2]
- adds r0, r1, #0
- adds r0, #0x58
- ldrh r2, [r0]
- movs r0, #0x78
- subs r0, r0, r2
- strh r0, [r6, #2]
- adds r1, #0x5a
- ldrh r1, [r1]
- movs r0, #0x80
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r0, #0
- mov ip, r3
-_0803E6E2:
- lsls r5, r0, #0x10
- asrs r5, r5, #0x10
- lsls r4, r5, #3
- adds r4, #8
- adds r4, r6, r4
- ldrh r2, [r4]
- lsls r2, r2, #3
- adds r2, r2, r7
- movs r3, #2
- ldrsh r1, [r4, r3]
- movs r3, #2
- ldrsh r0, [r6, r3]
- adds r1, r1, r0
- ldr r3, _0803E790 @ =0x000001FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- ldr r0, _0803E794 @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r4]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r2, [r4, #4]
- adds r0, r0, r2
- strb r0, [r1]
- ldrh r2, [r4]
- lsls r2, r2, #3
- adds r2, r2, r7
- lsls r0, r5, #1
- add r0, sb
- ldrh r1, [r0]
- add r1, r8
- ldr r3, _0803E798 @ =0x000003FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #4]
- mov r0, sl
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #4]
- adds r5, #1
- lsls r5, r5, #0x10
- lsrs r0, r5, #0x10
- asrs r5, r5, #0x10
- cmp r5, #2
- ble _0803E6E2
- movs r0, #0x80
- lsls r0, r0, #9
- add r0, ip
- lsrs r3, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0803E6B8
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803E760: .4byte 0x086AF3B2
-_0803E764: .4byte gMain
-_0803E768: .4byte 0x040000D4
-_0803E76C: .4byte 0x08352BD8
-_0803E770: .4byte 0x80000010
-_0803E774: .4byte 0x05000080
-_0803E778: .4byte 0x086AF3BE
-_0803E77C: .4byte gOamBuffer
-_0803E780: .4byte 0x086AF3C6
-_0803E784: .4byte 0xFFFFFC00
-_0803E788: .4byte 0x0200BBA0
-_0803E78C: .4byte 0x020314E0
-_0803E790: .4byte 0x000001FF
-_0803E794: .4byte 0xFFFFFE00
-_0803E798: .4byte 0x000003FF
-
- thumb_func_start sub_3E79C
-sub_3E79C: @ 0x0803E79C
- push {r4, r5, r6, r7, lr}
- ldr r0, _0803E7FC @ =gMain
- ldr r0, [r0, #0x4c]
- movs r1, #0xa
- bl __umodsi3
- movs r4, #0
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r4, r0
- bge _0803E7C8
- adds r5, r0, #0
-_0803E7B4:
- bl Random
- lsls r0, r4, #0x10
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r0, r1
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, r5
- blt _0803E7B4
-_0803E7C8:
- ldr r4, _0803E800 @ =0x020314E0
- ldr r1, [r4]
- movs r2, #0
- movs r0, #0
- strh r0, [r1, #0x18]
- strb r2, [r1, #0x17]
- ldr r0, [r4]
- strb r2, [r0, #0x13]
- ldr r5, [r4]
- ldr r2, _0803E804 @ =0x00000283
- adds r0, r5, r2
- ldrb r0, [r0]
- movs r1, #0xa
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- adds r6, r4, #0
- cmp r0, #9
- bne _0803E808
- movs r3, #0xe1
- lsls r3, r3, #2
- adds r1, r5, r3
- movs r0, #0x12
- b _0803E810
- .align 2, 0
-_0803E7FC: .4byte gMain
-_0803E800: .4byte 0x020314E0
-_0803E804: .4byte 0x00000283
-_0803E808:
- movs r4, #0xe1
- lsls r4, r4, #2
- adds r1, r5, r4
- movs r0, #0xf
-_0803E810:
- strb r0, [r1]
- ldr r0, [r6]
- movs r5, #0xa5
- lsls r5, r5, #2
- adds r0, r0, r5
- movs r3, #0
- strb r3, [r0]
- ldr r1, [r6]
- adds r4, r1, #0
- adds r4, #0x6c
- ldr r7, _0803EAB4 @ =0x00002A30
- adds r0, r7, #0
- ldrh r2, [r4]
- adds r0, r0, r2
- adds r5, #2
- adds r2, r1, r5
- movs r5, #0
- strh r0, [r2]
- strh r3, [r4]
- movs r7, #0xe2
- lsls r7, r7, #2
- adds r1, r1, r7
- movs r4, #3
- strb r4, [r1]
- ldr r0, [r6]
- ldr r2, _0803EAB8 @ =0x00000392
- adds r1, r0, r2
- strh r3, [r1]
- ldr r7, _0803EABC @ =0x0000132C
- adds r0, r0, r7
- ldr r0, [r0]
- movs r2, #1
- strb r2, [r0]
- ldr r0, [r6]
- movs r1, #0xe6
- adds r1, r1, r0
- mov ip, r1
- ldr r1, _0803EAC0 @ =0x0000FFA8
- mov r7, ip
- strh r1, [r7]
- ldr r1, _0803EAC4 @ =0x00000387
- adds r0, r0, r1
- strb r2, [r0]
- ldr r0, [r6]
- ldr r2, _0803EAC8 @ =0x000006C4
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r6]
- ldr r4, _0803EACC @ =0x00000382
- adds r0, r0, r4
- strb r5, [r0]
- ldr r0, [r6]
- ldr r7, _0803EAD0 @ =0x00000383
- adds r0, r0, r7
- strb r5, [r0]
- ldr r0, [r6]
- subs r1, #2
- adds r0, r0, r1
- strb r5, [r0]
- ldr r0, [r6]
- ldr r2, _0803EAD4 @ =0x00000386
- adds r0, r0, r2
- strb r5, [r0]
- ldr r0, [r6]
- adds r4, #7
- adds r0, r0, r4
- strb r5, [r0]
- ldr r0, [r6]
- ldr r5, _0803EAD8 @ =0x0000038A
- adds r1, r0, r5
- strh r3, [r1]
- adds r7, #9
- adds r1, r0, r7
- strh r3, [r1]
- adds r2, #8
- adds r1, r0, r2
- strh r3, [r1]
- adds r4, #7
- adds r1, r0, r4
- strh r3, [r1]
- adds r5, #0xa
- adds r0, r0, r5
- strh r3, [r0]
- movs r4, #0
- mov ip, r6
- adds r7, #0x38
- adds r5, #0x32
-_0803E8BE:
- mov r0, ip
- ldr r2, [r0]
- lsls r0, r4, #0x10
- asrs r0, r0, #0x10
- lsls r1, r0, #2
- adds r2, r2, r1
- adds r1, r2, r7
- strh r3, [r1]
- adds r2, r2, r5
- strh r3, [r2]
- adds r0, #1
- lsls r0, r0, #0x10
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #2
- ble _0803E8BE
- ldr r0, [r6]
- movs r1, #0xf7
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r2, #0
- strb r2, [r0]
- ldr r0, [r6]
- ldr r3, _0803EADC @ =0x000003DD
- adds r0, r0, r3
- strb r2, [r0]
- ldr r0, [r6]
- ldr r4, _0803EAE0 @ =0x000003DE
- adds r0, r0, r4
- strb r2, [r0]
- ldr r0, [r6]
- ldr r5, _0803EAE4 @ =0x000003DF
- adds r0, r0, r5
- strb r2, [r0]
- ldr r0, [r6]
- movs r7, #0xf8
- lsls r7, r7, #2
- adds r0, r0, r7
- strb r2, [r0]
- ldr r0, [r6]
- adds r3, #5
- adds r1, r0, r3
- movs r3, #0
- strh r2, [r1]
- adds r4, #3
- adds r0, r0, r4
- strb r3, [r0]
- ldr r0, [r6]
- adds r5, #5
- adds r1, r0, r5
- strh r2, [r1]
- adds r7, #6
- adds r1, r0, r7
- strh r2, [r1]
- movs r3, #0xfa
- lsls r3, r3, #2
- adds r1, r0, r3
- strh r2, [r1]
- adds r4, #9
- adds r1, r0, r4
- strh r2, [r1]
- adds r5, #8
- adds r1, r0, r5
- strh r2, [r1]
- adds r7, #8
- adds r1, r0, r7
- strh r2, [r1]
- adds r3, #8
- adds r1, r0, r3
- strh r2, [r1]
- adds r4, #8
- adds r1, r0, r4
- strh r2, [r1]
- adds r5, #0x28
- adds r1, r0, r5
- strh r2, [r1]
- adds r7, #0x28
- adds r1, r0, r7
- strh r2, [r1]
- adds r3, #0x28
- adds r1, r0, r3
- strh r2, [r1]
- adds r4, #0x28
- adds r1, r0, r4
- strh r2, [r1]
- adds r5, #0x3e
- adds r0, r0, r5
- strh r2, [r0]
- movs r4, #0
- adds r7, r6, #0
- movs r5, #0
-_0803E974:
- ldr r0, [r7]
- lsls r2, r4, #0x10
- asrs r2, r2, #0x10
- ldr r1, _0803EAE8 @ =0x00000441
- adds r0, r0, r1
- adds r0, r0, r2
- strb r5, [r0]
- ldr r0, [r7]
- ldr r3, _0803EAEC @ =0x00000443
- adds r0, r0, r3
- adds r0, r0, r2
- strb r5, [r0]
- ldr r1, [r7]
- lsls r3, r2, #1
- movs r4, #0x8b
- lsls r4, r4, #3
- adds r0, r1, r4
- adds r0, r0, r3
- strh r5, [r0]
- lsls r0, r2, #2
- adds r1, r1, r0
- ldr r3, _0803EAF0 @ =0x0000045C
- adds r0, r1, r3
- strh r5, [r0]
- adds r4, #6
- adds r0, r1, r4
- strh r5, [r0]
- adds r3, #8
- adds r0, r1, r3
- strh r5, [r0]
- adds r4, #8
- adds r1, r1, r4
- strh r5, [r1]
- adds r2, #1
- lsls r2, r2, #0x10
- lsrs r4, r2, #0x10
- asrs r2, r2, #0x10
- cmp r2, #1
- ble _0803E974
- ldr r0, [r6]
- movs r5, #0x99
- lsls r5, r5, #3
- adds r0, r0, r5
- movs r2, #0
- strb r2, [r0]
- ldr r0, [r6]
- ldr r7, _0803EAF4 @ =0x0000047F
- adds r0, r0, r7
- strb r2, [r0]
- ldr r1, [r6]
- adds r3, #0x1c
- adds r0, r1, r3
- movs r3, #0
- strh r2, [r0]
- ldr r4, _0803EAF8 @ =0x00000486
- adds r0, r1, r4
- strh r2, [r0]
- adds r5, #0x3c
- adds r1, r1, r5
- strb r3, [r1]
- ldr r0, [r6]
- adds r7, #0x86
- adds r0, r0, r7
- strb r3, [r0]
- ldr r0, [r6]
- ldr r1, _0803EAFC @ =0x00000506
- adds r0, r0, r1
- strb r3, [r0]
- ldr r0, [r6]
- adds r4, #0x81
- adds r0, r0, r4
- strb r3, [r0]
- ldr r0, [r6]
- adds r5, #4
- adds r1, r0, r5
- strh r2, [r1]
- adds r7, #5
- adds r1, r0, r7
- strh r2, [r1]
- ldr r3, _0803EB00 @ =0x0000050C
- adds r1, r0, r3
- strh r2, [r1]
- adds r4, #7
- adds r1, r0, r4
- strh r2, [r1]
- adds r5, #8
- adds r1, r0, r5
- strh r2, [r1]
- adds r7, #8
- adds r1, r0, r7
- strh r2, [r1]
- adds r3, #8
- adds r1, r0, r3
- strh r2, [r1]
- adds r4, #8
- adds r1, r0, r4
- strh r2, [r1]
- adds r5, #8
- adds r1, r0, r5
- strh r2, [r1]
- adds r7, #8
- adds r1, r0, r7
- strh r2, [r1]
- adds r3, #8
- adds r1, r0, r3
- strh r2, [r1]
- adds r4, #8
- adds r1, r0, r4
- strh r2, [r1]
- adds r5, #8
- adds r1, r0, r5
- strh r2, [r1]
- adds r7, #8
- adds r1, r0, r7
- strh r2, [r1]
- adds r3, #8
- adds r1, r0, r3
- strh r2, [r1]
- adds r4, #8
- adds r1, r0, r4
- strh r2, [r1]
- adds r5, #8
- adds r1, r0, r5
- strh r2, [r1]
- adds r7, #8
- adds r1, r0, r7
- strh r2, [r1]
- movs r1, #1
- strb r1, [r0, #0x1a]
- bl sub_423D8
- ldr r4, _0803EB04 @ =0x040000D4
- ldr r0, _0803EB08 @ =0x083C5A2C
- str r0, [r4]
- ldr r0, _0803EB0C @ =0x06015800
- str r0, [r4, #4]
- ldr r0, _0803EB10 @ =0x80001400
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _0803EB14 @ =0x084AA18C
- str r0, [r4]
- ldr r0, _0803EB18 @ =0x06011620
- str r0, [r4, #4]
- ldr r0, _0803EB1C @ =0x80000430
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- bl sub_3EDF0
- bl sub_3FAE0
- ldr r0, _0803EB20 @ =0x081B36A4
- str r0, [r4]
- ldr r0, _0803EB24 @ =0x05000320
- str r0, [r4, #4]
- ldr r0, _0803EB28 @ =0x80000010
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803EAB4: .4byte 0x00002A30
-_0803EAB8: .4byte 0x00000392
-_0803EABC: .4byte 0x0000132C
-_0803EAC0: .4byte 0x0000FFA8
-_0803EAC4: .4byte 0x00000387
-_0803EAC8: .4byte 0x000006C4
-_0803EACC: .4byte 0x00000382
-_0803EAD0: .4byte 0x00000383
-_0803EAD4: .4byte 0x00000386
-_0803EAD8: .4byte 0x0000038A
-_0803EADC: .4byte 0x000003DD
-_0803EAE0: .4byte 0x000003DE
-_0803EAE4: .4byte 0x000003DF
-_0803EAE8: .4byte 0x00000441
-_0803EAEC: .4byte 0x00000443
-_0803EAF0: .4byte 0x0000045C
-_0803EAF4: .4byte 0x0000047F
-_0803EAF8: .4byte 0x00000486
-_0803EAFC: .4byte 0x00000506
-_0803EB00: .4byte 0x0000050C
-_0803EB04: .4byte 0x040000D4
-_0803EB08: .4byte 0x083C5A2C
-_0803EB0C: .4byte 0x06015800
-_0803EB10: .4byte 0x80001400
-_0803EB14: .4byte 0x084AA18C
-_0803EB18: .4byte 0x06011620
-_0803EB1C: .4byte 0x80000430
-_0803EB20: .4byte 0x081B36A4
-_0803EB24: .4byte 0x05000320
-_0803EB28: .4byte 0x80000010
-
- thumb_func_start sub_3EB2C
-sub_3EB2C: @ 0x0803EB2C
- push {r4, r5, lr}
- ldr r0, _0803EB48 @ =0x020314E0
- ldr r0, [r0]
- ldrb r0, [r0, #0x13]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #6
- bls _0803EB3E
- b _0803ED6C
-_0803EB3E:
- lsls r0, r0, #2
- ldr r1, _0803EB4C @ =_0803EB50
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803EB48: .4byte 0x020314E0
-_0803EB4C: .4byte _0803EB50
-_0803EB50: @ jump table
- .4byte _0803EB6C @ case 0
- .4byte _0803ED6C @ case 1
- .4byte _0803EBA4 @ case 2
- .4byte _0803EC0C @ case 3
- .4byte _0803EC8C @ case 4
- .4byte _0803ECE8 @ case 5
- .4byte _0803ED54 @ case 6
-_0803EB6C:
- ldr r3, _0803EB98 @ =0x020314E0
- ldr r0, [r3]
- ldr r1, _0803EB9C @ =0x000005F7
- adds r0, r0, r1
- movs r4, #0
- movs r1, #1
- strb r1, [r0]
- ldr r1, [r3]
- ldr r2, _0803EBA0 @ =0x00000506
- adds r0, r1, r2
- movs r2, #0
- ldrsb r2, [r0, r2]
- cmp r2, #1
- beq _0803EB8A
- b _0803ED6C
-_0803EB8A:
- adds r0, r1, #0
- adds r0, #0xe6
- strh r4, [r0]
- strb r2, [r1, #0x13]
- ldr r0, [r3]
- strh r4, [r0, #0x18]
- b _0803ED6C
- .align 2, 0
-_0803EB98: .4byte 0x020314E0
-_0803EB9C: .4byte 0x000005F7
-_0803EBA0: .4byte 0x00000506
-_0803EBA4:
- ldr r2, _0803EBF0 @ =0x020314E0
- ldr r1, [r2]
- movs r3, #0
- movs r0, #3
- strb r0, [r1, #0x13]
- ldr r2, [r2]
- strh r3, [r2, #0x18]
- ldr r3, _0803EBF4 @ =gMain
- movs r4, #0xe9
- lsls r4, r4, #3
- adds r0, r3, r4
- movs r4, #1
- movs r1, #1
- strh r1, [r0]
- movs r5, #0xd2
- lsls r5, r5, #3
- adds r0, r3, r5
- strh r1, [r0]
- ldr r1, _0803EBF8 @ =0x040000D4
- ldr r0, _0803EBFC @ =0x081408B4
- str r0, [r1]
- ldr r0, _0803EC00 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0803EC04 @ =0x80001000
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- movs r0, #0xe5
- lsls r0, r0, #2
- adds r1, r2, r0
- movs r0, #0x88
- strh r0, [r1]
- movs r0, #0x80
- strb r0, [r3, #0xf]
- ldr r1, _0803EC08 @ =0x000005FA
- adds r2, r2, r1
- strb r4, [r2]
- b _0803ED6C
- .align 2, 0
-_0803EBF0: .4byte 0x020314E0
-_0803EBF4: .4byte gMain
-_0803EBF8: .4byte 0x040000D4
-_0803EBFC: .4byte 0x081408B4
-_0803EC00: .4byte 0x06015800
-_0803EC04: .4byte 0x80001000
-_0803EC08: .4byte 0x000005FA
-_0803EC0C:
- bl sub_351A8
- ldr r4, _0803EC54 @ =0x020314E0
- ldr r1, [r4]
- ldrb r0, [r1, #0x1c]
- cmp r0, #0
- beq _0803EC1E
- movs r0, #0xb5
- strh r0, [r1, #0x18]
-_0803EC1E:
- ldr r1, [r4]
- ldrh r0, [r1, #0x18]
- cmp r0, #0xb4
- bne _0803EC34
- movs r0, #1
- strb r0, [r1, #0x1c]
- ldr r1, [r4]
- ldr r0, _0803EC58 @ =0x00061A80
- str r0, [r1, #0x38]
- ldr r0, _0803EC5C @ =0x05F5E0FF
- str r0, [r1, #0x3c]
-_0803EC34:
- ldr r1, [r4]
- ldrh r0, [r1, #0x18]
- cmp r0, #0xef
- bhi _0803EC60
- cmp r0, #0x14
- bne _0803EC4A
- bl m4aMPlayAllStop
- movs r0, #0x2b
- bl m4aSongNumStart
-_0803EC4A:
- ldr r1, [r4]
- ldrh r0, [r1, #0x18]
- adds r0, #1
- strh r0, [r1, #0x18]
- b _0803EC74
- .align 2, 0
-_0803EC54: .4byte 0x020314E0
-_0803EC58: .4byte 0x00061A80
-_0803EC5C: .4byte 0x05F5E0FF
-_0803EC60:
- movs r0, #0
- strh r0, [r1, #0x18]
- movs r0, #6
- strb r0, [r1, #0x13]
- ldr r1, [r4]
- ldr r2, _0803EC80 @ =0x00000283
- adds r1, r1, r2
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
-_0803EC74:
- ldr r0, _0803EC84 @ =0x020314E0
- ldr r0, [r0]
- ldr r4, _0803EC88 @ =0x000005FA
- adds r0, r0, r4
- movs r1, #1
- b _0803ED6A
- .align 2, 0
-_0803EC80: .4byte 0x00000283
-_0803EC84: .4byte 0x020314E0
-_0803EC88: .4byte 0x000005FA
-_0803EC8C:
- ldr r2, _0803ECD0 @ =0x020314E0
- ldr r1, [r2]
- movs r0, #5
- strb r0, [r1, #0x13]
- ldr r2, [r2]
- movs r0, #0x8c
- strh r0, [r2, #0x18]
- ldr r3, _0803ECD4 @ =gMain
- movs r5, #0xe9
- lsls r5, r5, #3
- adds r0, r3, r5
- movs r1, #1
- strh r1, [r0]
- movs r4, #0xd2
- lsls r4, r4, #3
- adds r0, r3, r4
- strh r1, [r0]
- ldr r1, _0803ECD8 @ =0x040000D4
- ldr r0, _0803ECDC @ =0x081408B4
- str r0, [r1]
- ldr r0, _0803ECE0 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0803ECE4 @ =0x80001000
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- movs r5, #0xe5
- lsls r5, r5, #2
- adds r2, r2, r5
- movs r0, #0x88
- strh r0, [r2]
- movs r0, #0x80
- strb r0, [r3, #0xf]
- b _0803ED6C
- .align 2, 0
-_0803ECD0: .4byte 0x020314E0
-_0803ECD4: .4byte gMain
-_0803ECD8: .4byte 0x040000D4
-_0803ECDC: .4byte 0x081408B4
-_0803ECE0: .4byte 0x06015800
-_0803ECE4: .4byte 0x80001000
-_0803ECE8:
- bl sub_351A8
- ldr r3, _0803ED20 @ =0x020314E0
- ldr r1, [r3]
- ldrb r0, [r1, #0x1c]
- cmp r0, #0
- beq _0803ECFA
- movs r0, #0xb5
- strh r0, [r1, #0x18]
-_0803ECFA:
- ldr r1, [r3]
- ldrh r0, [r1, #0x18]
- cmp r0, #0xb4
- bne _0803ED10
- movs r0, #1
- strb r0, [r1, #0x1c]
- ldr r1, [r3]
- ldr r0, _0803ED24 @ =0x00061A80
- str r0, [r1, #0x38]
- ldr r0, _0803ED28 @ =0x05F5E0FF
- str r0, [r1, #0x3c]
-_0803ED10:
- ldr r1, [r3]
- ldrh r0, [r1, #0x18]
- cmp r0, #0xef
- bhi _0803ED2C
- adds r0, #1
- strh r0, [r1, #0x18]
- b _0803ED6C
- .align 2, 0
-_0803ED20: .4byte 0x020314E0
-_0803ED24: .4byte 0x00061A80
-_0803ED28: .4byte 0x05F5E0FF
-_0803ED2C:
- movs r2, #0
- movs r0, #0
- strh r0, [r1, #0x18]
- movs r0, #6
- strb r0, [r1, #0x13]
- ldr r1, [r3]
- ldr r0, _0803ED4C @ =0x00000283
- adds r1, r1, r0
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- ldr r0, [r3]
- ldr r1, _0803ED50 @ =0x000001AF
- adds r0, r0, r1
- strb r2, [r0]
- b _0803ED6C
- .align 2, 0
-_0803ED4C: .4byte 0x00000283
-_0803ED50: .4byte 0x000001AF
-_0803ED54:
- bl sub_351A8
- ldr r2, _0803EDDC @ =0x020314E0
- ldr r0, [r2]
- ldr r4, _0803EDE0 @ =0x00000386
- adds r0, r0, r4
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r5, _0803EDE4 @ =0x000005FA
- adds r0, r0, r5
-_0803ED6A:
- strb r1, [r0]
-_0803ED6C:
- bl sub_423D8
- bl sub_40288
- bl sub_3EDF0
- bl sub_3FAE0
- ldr r0, _0803EDDC @ =0x020314E0
- ldr r1, [r0]
- movs r2, #0xa5
- lsls r2, r2, #2
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _0803EDB4
- ldr r4, _0803EDE8 @ =0x00000296
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, #1
- bhi _0803EDB4
- ldr r4, _0803EDEC @ =gMain
- ldrb r0, [r4, #0xf]
- cmp r0, #0
- bne _0803EDB4
- bl m4aMPlayAllStop
- movs r0, #0x2c
- bl m4aSongNumStart
- ldrb r1, [r4, #0xf]
- movs r0, #0x40
- orrs r0, r1
- strb r0, [r4, #0xf]
-_0803EDB4:
- ldr r0, _0803EDDC @ =0x020314E0
- ldr r1, [r0]
- ldr r5, _0803EDE0 @ =0x00000386
- adds r0, r1, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _0803EDD2
- ldr r0, _0803EDE4 @ =0x000005FA
- adds r1, r1, r0
- movs r0, #1
- strb r0, [r1]
- bl sub_350F0
-_0803EDD2:
- bl sub_472E4
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803EDDC: .4byte 0x020314E0
-_0803EDE0: .4byte 0x00000386
-_0803EDE4: .4byte 0x000005FA
-_0803EDE8: .4byte 0x00000296
-_0803EDEC: .4byte gMain
-
- thumb_func_start sub_3EDF0
-sub_3EDF0: @ 0x0803EDF0
- push {r4, r5, r6, r7, lr}
- ldr r0, _0803EE9C @ =0x020314E0
- ldr r1, [r0]
- ldr r2, _0803EEA0 @ =0x00000452
- adds r5, r1, r2
- ldrh r4, [r5]
- adds r6, r0, #0
- cmp r4, #0
- beq _0803EE80
- subs r0, r4, #1
- strh r0, [r5]
- ldr r3, _0803EEA4 @ =0x00000389
- adds r1, r1, r3
- movs r0, #1
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r0, r2
- ldrh r0, [r0]
- cmp r0, #5
- bne _0803EE60
- movs r0, #0x93
- lsls r0, r0, #1
- bl m4aSongNumStart
- ldr r1, [r6]
- ldr r0, _0803EEA8 @ =0x000F4240
- str r0, [r1, #0x3c]
- ldr r4, _0803EEAC @ =0x00000385
- adds r1, r1, r4
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- movs r0, #7
- bl sub_11B0
- ldr r2, [r6]
- adds r4, r2, r4
- movs r5, #0xe1
- lsls r5, r5, #2
- adds r0, r2, r5
- movs r1, #0
- ldrsb r1, [r4, r1]
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r1, r0
- blt _0803EE60
- movs r7, #0xf7
- lsls r7, r7, #2
- adds r1, r2, r7
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #6
- beq _0803EE60
- movs r0, #9
- strb r0, [r1]
-_0803EE60:
- ldr r2, _0803EE9C @ =0x020314E0
- ldr r5, [r2]
- ldr r0, _0803EEB0 @ =0x0000050C
- adds r1, r5, r0
- movs r0, #0x14
- strh r0, [r1]
- ldr r1, _0803EEA0 @ =0x00000452
- adds r0, r5, r1
- ldrh r0, [r0]
- adds r6, r2, #0
- cmp r0, #0
- bne _0803EE80
- ldr r2, _0803EEA4 @ =0x00000389
- adds r1, r5, r2
- movs r0, #0
- strb r0, [r1]
-_0803EE80:
- ldr r2, [r6]
- ldr r4, _0803EEB0 @ =0x0000050C
- adds r3, r2, r4
- ldrh r0, [r3]
- cmp r0, #0
- beq _0803EEB8
- subs r0, #1
- movs r1, #0
- strh r0, [r3]
- ldr r5, _0803EEB4 @ =0x00000387
- adds r0, r2, r5
- strb r1, [r0]
- b _0803EEC0
- .align 2, 0
-_0803EE9C: .4byte 0x020314E0
-_0803EEA0: .4byte 0x00000452
-_0803EEA4: .4byte 0x00000389
-_0803EEA8: .4byte 0x000F4240
-_0803EEAC: .4byte 0x00000385
-_0803EEB0: .4byte 0x0000050C
-_0803EEB4: .4byte 0x00000387
-_0803EEB8:
- ldr r7, _0803EEE0 @ =0x00000387
- adds r1, r2, r7
- movs r0, #1
- strb r0, [r1]
-_0803EEC0:
- ldr r0, [r6]
- movs r1, #0xf7
- lsls r1, r1, #2
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0xf
- bls _0803EED6
- bl _0803FA78
-_0803EED6:
- lsls r0, r0, #2
- ldr r1, _0803EEE4 @ =_0803EEE8
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803EEE0: .4byte 0x00000387
-_0803EEE4: .4byte _0803EEE8
-_0803EEE8: @ jump table
- .4byte _0803EF28 @ case 0
- .4byte _0803EF84 @ case 1
- .4byte _0803F00C @ case 2
- .4byte _0803F0A4 @ case 3
- .4byte _0803F154 @ case 4
- .4byte _0803F210 @ case 5
- .4byte _0803F334 @ case 6
- .4byte _0803F460 @ case 7
- .4byte _0803F550 @ case 8
- .4byte _0803F68C @ case 9
- .4byte _0803F788 @ case 10
- .4byte _0803F814 @ case 11
- .4byte _0803F8DC @ case 12
- .4byte _0803F9D0 @ case 13
- .4byte _0803FA2E @ case 14
- .4byte _0803FA78 @ case 15
-_0803EF28:
- ldr r3, _0803EF74 @ =0x020314E0
- ldr r1, [r3]
- movs r4, #0xfa
- lsls r4, r4, #2
- adds r2, r1, r4
- movs r5, #0
- movs r4, #0
- ldr r0, _0803EF78 @ =0x00000474
- strh r0, [r2]
- ldr r7, _0803EF7C @ =0x000003EA
- adds r2, r1, r7
- movs r0, #0x96
- lsls r0, r0, #4
- strh r0, [r2]
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r1, r0
- movs r0, #1
- strb r0, [r1]
- ldr r1, [r3]
- subs r7, #8
- adds r2, r1, r7
- movs r0, #0xd
- strh r0, [r2]
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r0, r1, r2
- strh r4, [r0]
- subs r7, #1
- adds r1, r1, r7
- strb r5, [r1]
- ldr r0, [r3]
- ldr r1, _0803EF80 @ =0x0000051A
- adds r0, r0, r1
- strh r4, [r0]
- bl _0803FA78
- .align 2, 0
-_0803EF74: .4byte 0x020314E0
-_0803EF78: .4byte 0x00000474
-_0803EF7C: .4byte 0x000003EA
-_0803EF80: .4byte 0x0000051A
-_0803EF84:
- ldr r2, [r6]
- ldr r7, _0803EFF4 @ =0x00000516
- adds r0, r2, r7
- ldrh r1, [r0]
- ldr r0, _0803EFF8 @ =0x00000212
- cmp r1, r0
- bls _0803EFD2
- ldr r3, _0803EFFC @ =0x000003EA
- adds r2, r2, r3
- ldrh r5, [r2]
- movs r4, #0
- ldrsh r1, [r2, r4]
- ldr r0, _0803F000 @ =0xFFFFFB50
- cmp r1, r0
- ble _0803EFA8
- adds r0, r5, #0
- subs r0, #0x46
- strh r0, [r2]
-_0803EFA8:
- ldr r2, [r6]
- adds r0, r2, r7
- ldrh r1, [r0]
- movs r0, #0xa8
- lsls r0, r0, #2
- cmp r1, r0
- bne _0803EFD2
- movs r5, #0xf7
- lsls r5, r5, #2
- adds r1, r2, r5
- movs r2, #0
- movs r0, #2
- strb r0, [r1]
- ldr r0, [r6]
- movs r7, #0xfa
- lsls r7, r7, #2
- adds r1, r0, r7
- strh r2, [r1]
- adds r0, r0, r3
- ldr r1, _0803F004 @ =0x0000FD80
- strh r1, [r0]
-_0803EFD2:
- ldr r0, _0803F008 @ =0x020314E0
- ldr r2, [r0]
- ldr r1, _0803EFF4 @ =0x00000516
- adds r0, r2, r1
- ldrh r1, [r0]
- ldr r0, _0803EFF8 @ =0x00000212
- cmp r1, r0
- beq _0803EFE6
- bl _0803FA78
-_0803EFE6:
- movs r3, #0xe4
- lsls r3, r3, #2
- adds r1, r2, r3
- movs r0, #0x19
- strh r0, [r1]
- bl _0803FA78
- .align 2, 0
-_0803EFF4: .4byte 0x00000516
-_0803EFF8: .4byte 0x00000212
-_0803EFFC: .4byte 0x000003EA
-_0803F000: .4byte 0xFFFFFB50
-_0803F004: .4byte 0x0000FD80
-_0803F008: .4byte 0x020314E0
-_0803F00C:
- ldr r2, _0803F038 @ =0x086AF3CC
- ldr r3, [r6]
- ldr r4, _0803F03C @ =0x000003E2
- adds r5, r3, r4
- movs r7, #0
- ldrsh r1, [r5, r7]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r1, r3, r2
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r0, r2
- bls _0803F040
- adds r0, r2, #1
- strh r0, [r1]
- b _0803F056
- .align 2, 0
-_0803F038: .4byte 0x086AF3CC
-_0803F03C: .4byte 0x000003E2
-_0803F040:
- movs r0, #0
- strh r0, [r1]
- ldrh r0, [r5]
- adds r0, #1
- strh r0, [r5]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x3f
- bne _0803F056
- movs r0, #0xd
- strh r0, [r5]
-_0803F056:
- ldr r0, _0803F09C @ =0x020314E0
- ldr r0, [r0]
- ldr r3, _0803F0A0 @ =0x000003EA
- adds r1, r0, r3
- ldrh r2, [r1]
- movs r4, #0
- ldrsh r0, [r1, r4]
- cmp r0, #0
- bge _0803F07E
- adds r0, r2, #0
- adds r0, #0x12
- strh r0, [r1]
- lsls r0, r0, #0x10
- cmp r0, #0
- ble _0803F07E
- movs r0, #0
- strh r0, [r1]
- movs r0, #0x2a
- bl m4aSongNumStart
-_0803F07E:
- ldr r3, _0803F09C @ =0x020314E0
- ldr r1, [r3]
- ldr r5, _0803F0A0 @ =0x000003EA
- adds r0, r1, r5
- movs r7, #0
- ldrsh r2, [r0, r7]
- cmp r2, #0
- beq _0803F092
- bl _0803FA78
-_0803F092:
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r1, r0
- b _0803F128
- .align 2, 0
-_0803F09C: .4byte 0x020314E0
-_0803F0A0: .4byte 0x000003EA
-_0803F0A4:
- ldr r2, _0803F0D0 @ =0x086AF3CC
- ldr r3, [r6]
- ldr r5, _0803F0D4 @ =0x000003E2
- adds r4, r3, r5
- movs r7, #0
- ldrsh r1, [r4, r7]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r1, #0xf9
- lsls r1, r1, #2
- adds r3, r3, r1
- ldrh r1, [r3]
- ldrh r0, [r0]
- cmp r0, r1
- bls _0803F0D8
- adds r0, r1, #1
- strh r0, [r3]
- b _0803F0EE
- .align 2, 0
-_0803F0D0: .4byte 0x086AF3CC
-_0803F0D4: .4byte 0x000003E2
-_0803F0D8:
- movs r0, #0
- strh r0, [r3]
- ldrh r0, [r4]
- adds r0, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x3f
- bne _0803F0EE
- movs r0, #0xd
- strh r0, [r4]
-_0803F0EE:
- ldr r0, [r6]
- ldr r2, _0803F144 @ =0x000003EA
- adds r1, r0, r2
- ldrh r2, [r1]
- movs r3, #0
- ldrsh r0, [r1, r3]
- cmp r0, #0
- bge _0803F10E
- adds r0, r2, #0
- adds r0, #0x12
- strh r0, [r1]
- lsls r0, r0, #0x10
- cmp r0, #0
- ble _0803F10E
- movs r0, #0
- strh r0, [r1]
-_0803F10E:
- ldr r3, _0803F148 @ =0x020314E0
- ldr r1, [r3]
- ldr r4, _0803F144 @ =0x000003EA
- adds r0, r1, r4
- movs r5, #0
- ldrsh r2, [r0, r5]
- cmp r2, #0
- beq _0803F122
- bl _0803FA78
-_0803F122:
- movs r7, #0xf7
- lsls r7, r7, #2
- adds r1, r1, r7
-_0803F128:
- movs r0, #5
- strb r0, [r1]
- ldr r0, [r3]
- ldr r1, _0803F14C @ =0x000003E1
- adds r0, r0, r1
- strb r2, [r0]
- ldr r0, [r3]
- ldr r2, _0803F150 @ =0x000003DD
- adds r0, r0, r2
- movs r1, #6
- strb r1, [r0]
- bl _0803FA78
- .align 2, 0
-_0803F144: .4byte 0x000003EA
-_0803F148: .4byte 0x020314E0
-_0803F14C: .4byte 0x000003E1
-_0803F150: .4byte 0x000003DD
-_0803F154:
- ldr r2, _0803F180 @ =0x086AF3CC
- ldr r3, [r6]
- ldr r5, _0803F184 @ =0x000003E2
- adds r4, r3, r5
- movs r7, #0
- ldrsh r1, [r4, r7]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r1, #0xf9
- lsls r1, r1, #2
- adds r3, r3, r1
- ldrh r1, [r3]
- ldrh r0, [r0]
- cmp r0, r1
- bls _0803F188
- adds r0, r1, #1
- strh r0, [r3]
- b _0803F19E
- .align 2, 0
-_0803F180: .4byte 0x086AF3CC
-_0803F184: .4byte 0x000003E2
-_0803F188:
- movs r0, #0
- strh r0, [r3]
- ldrh r0, [r4]
- adds r0, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x22
- bne _0803F19E
- movs r0, #0x21
- strh r0, [r4]
-_0803F19E:
- ldr r1, [r6]
- ldr r2, _0803F200 @ =0x000003E2
- adds r0, r1, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- cmp r0, #0x21
- bne _0803F1D0
- ldr r4, _0803F204 @ =0x000003EA
- adds r1, r1, r4
- ldrh r2, [r1]
- movs r5, #0
- ldrsh r0, [r1, r5]
- ldr r3, _0803F208 @ =0xFFFFFD00
- cmp r0, r3
- ble _0803F1D0
- adds r0, r2, #0
- subs r0, #0x18
- strh r0, [r1]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, r3
- bge _0803F1D0
- movs r0, #0xfd
- lsls r0, r0, #8
- strh r0, [r1]
-_0803F1D0:
- ldr r4, _0803F20C @ =0x020314E0
- ldr r3, [r4]
- ldr r7, _0803F204 @ =0x000003EA
- adds r0, r3, r7
- movs r2, #0
- ldrsh r1, [r0, r2]
- ldr r0, _0803F208 @ =0xFFFFFD00
- cmp r1, r0
- beq _0803F1E6
- bl _0803FA78
-_0803F1E6:
- ldr r5, _0803F200 @ =0x000003E2
- adds r0, r3, r5
- movs r2, #0
- movs r1, #0
- strh r1, [r0]
- subs r7, #6
- adds r0, r3, r7
- strh r1, [r0]
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r3, r0
- movs r0, #7
- b _0803F8BC
- .align 2, 0
-_0803F200: .4byte 0x000003E2
-_0803F204: .4byte 0x000003EA
-_0803F208: .4byte 0xFFFFFD00
-_0803F20C: .4byte 0x020314E0
-_0803F210:
- ldr r2, _0803F23C @ =0x086AF3CC
- ldr r5, [r6]
- ldr r4, _0803F240 @ =0x000003E2
- adds r3, r5, r4
- movs r7, #0
- ldrsh r1, [r3, r7]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r1, r5, r2
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r0, r2
- bls _0803F244
- adds r0, r2, #1
- strh r0, [r1]
- b _0803F2DC
- .align 2, 0
-_0803F23C: .4byte 0x086AF3CC
-_0803F240: .4byte 0x000003E2
-_0803F244:
- movs r4, #0
- mov ip, r4
- movs r0, #0
- strh r0, [r1]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x3f
- bne _0803F2DC
- ldr r4, _0803F274 @ =0x000003E1
- adds r1, r5, r4
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #5
- bgt _0803F278
- movs r0, #0xd
- strh r0, [r3]
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- b _0803F2DC
- .align 2, 0
-_0803F274: .4byte 0x000003E1
-_0803F278:
- ldr r7, _0803F2A8 @ =0x000003DD
- adds r0, r5, r7
- movs r2, #0
- ldrsb r2, [r0, r2]
- cmp r2, #6
- bne _0803F2C6
- ldr r1, _0803F2AC @ =0x00000385
- adds r0, r5, r1
- movs r1, #0
- ldrsb r1, [r0, r1]
- subs r7, #0x59
- adds r0, r5, r7
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- subs r0, #1
- cmp r1, r0
- blt _0803F2B0
- movs r0, #0xd
- strh r0, [r3]
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r5, r0
- b _0803F2D0
- .align 2, 0
-_0803F2A8: .4byte 0x000003DD
-_0803F2AC: .4byte 0x00000385
-_0803F2B0:
- movs r0, #0x62
- strh r0, [r3]
- movs r3, #0xf7
- lsls r3, r3, #2
- adds r0, r5, r3
- strb r2, [r0]
- ldr r0, [r6]
- adds r0, r0, r4
- mov r4, ip
- strb r4, [r0]
- b _0803F2DC
-_0803F2C6:
- movs r0, #0xd
- strh r0, [r3]
- movs r7, #0xf7
- lsls r7, r7, #2
- adds r1, r5, r7
-_0803F2D0:
- movs r0, #4
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r0, r4
- mov r1, ip
- strb r1, [r0]
-_0803F2DC:
- ldr r4, _0803F324 @ =0x020314E0
- ldr r1, [r4]
- ldr r2, _0803F328 @ =0x000003E1
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #1
- bgt _0803F2F0
- b _0803FA78
-_0803F2F0:
- ldr r3, _0803F32C @ =0x00000512
- adds r1, r1, r3
- ldrh r0, [r1]
- adds r0, #0x80
- strh r0, [r1]
- ldrh r0, [r1]
- bl sub_C24
- adds r1, r0, #0
- ldr r4, [r4]
- lsls r1, r1, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #5
- subs r0, r0, r1
- lsls r0, r0, #1
- ldr r1, _0803F330 @ =0x00004E20
- bl __divsi3
- lsls r1, r0, #2
- adds r1, r1, r0
- lsls r1, r1, #1
- movs r5, #0xfa
- lsls r5, r5, #2
- adds r4, r4, r5
- strh r1, [r4]
- b _0803FA78
- .align 2, 0
-_0803F324: .4byte 0x020314E0
-_0803F328: .4byte 0x000003E1
-_0803F32C: .4byte 0x00000512
-_0803F330: .4byte 0x00004E20
-_0803F334:
- ldr r0, [r6]
- ldr r7, _0803F438 @ =0x00000389
- adds r0, r0, r7
- movs r1, #2
- strb r1, [r0]
- ldr r2, _0803F43C @ =0x086AF3CC
- ldr r4, [r6]
- ldr r5, _0803F440 @ =0x000003E2
- adds r3, r4, r5
- movs r0, #0
- ldrsh r1, [r3, r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r1, r4, r2
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r0, r2
- bls _0803F364
- b _0803F7AE
-_0803F364:
- movs r0, #0
- strh r0, [r1]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x74
- bne _0803F390
- ldr r3, _0803F444 @ =0x000003E1
- adds r1, r4, r3
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0xe
- bgt _0803F390
- adds r0, r2, #1
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r0, r5
- movs r1, #0x72
- strh r1, [r0]
-_0803F390:
- ldr r3, [r6]
- ldr r5, _0803F440 @ =0x000003E2
- adds r1, r3, r5
- movs r4, #0
- ldrsh r0, [r1, r4]
- cmp r0, #0x83
- bne _0803F3C8
- movs r2, #0
- movs r0, #0x1d
- strh r0, [r1]
- ldr r7, _0803F444 @ =0x000003E1
- adds r0, r3, r7
- strb r2, [r0]
- ldr r0, [r6]
- movs r1, #0xf7
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r1, #5
- strb r1, [r0]
- ldr r0, [r6]
- ldr r3, _0803F448 @ =0x000003DD
- adds r0, r0, r3
- movs r1, #4
- strb r1, [r0]
- ldr r0, [r6]
- ldr r4, _0803F438 @ =0x00000389
- adds r0, r0, r4
- strb r2, [r0]
-_0803F3C8:
- ldr r4, [r6]
- adds r0, r4, r5
- movs r5, #0
- ldrsh r0, [r0, r5]
- cmp r0, #0x72
- bne _0803F404
- ldr r7, _0803F444 @ =0x000003E1
- adds r0, r4, r7
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0803F404
- ldr r2, _0803F44C @ =gMain
- movs r1, #0xf3
- lsls r1, r1, #4
- adds r0, r2, r1
- movs r3, #1
- movs r1, #1
- strh r1, [r0]
- ldr r5, _0803F450 @ =0x00000FE8
- adds r0, r2, r5
- strh r1, [r0]
- movs r7, #0x85
- lsls r7, r7, #5
- adds r2, r2, r7
- strh r1, [r2]
- ldr r1, _0803F454 @ =0x00000507
- adds r0, r4, r1
- strb r3, [r0]
-_0803F404:
- ldr r3, _0803F458 @ =0x020314E0
- ldr r1, [r3]
- ldr r2, _0803F440 @ =0x000003E2
- adds r0, r1, r2
- movs r4, #0
- ldrsh r0, [r0, r4]
- cmp r0, #0x78
- bne _0803F41E
- movs r5, #0xe4
- lsls r5, r5, #2
- adds r1, r1, r5
- movs r0, #0x15
- strh r0, [r1]
-_0803F41E:
- ldr r1, [r3]
- adds r0, r1, r2
- movs r7, #0
- ldrsh r0, [r0, r7]
- cmp r0, #0x7c
- beq _0803F42C
- b _0803FA78
-_0803F42C:
- ldr r0, _0803F45C @ =0x0000050A
- adds r1, r1, r0
- movs r0, #0x10
- strh r0, [r1]
- b _0803FA78
- .align 2, 0
-_0803F438: .4byte 0x00000389
-_0803F43C: .4byte 0x086AF3CC
-_0803F440: .4byte 0x000003E2
-_0803F444: .4byte 0x000003E1
-_0803F448: .4byte 0x000003DD
-_0803F44C: .4byte gMain
-_0803F450: .4byte 0x00000FE8
-_0803F454: .4byte 0x00000507
-_0803F458: .4byte 0x020314E0
-_0803F45C: .4byte 0x0000050A
-_0803F460:
- ldr r2, [r6]
- movs r3, #0xf9
- lsls r3, r3, #2
- adds r1, r2, r3
- ldrh r0, [r1]
- cmp r0, #0x77
- bhi _0803F470
- b _0803F9EA
-_0803F470:
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r1, r2, r4
- movs r0, #8
- strb r0, [r1]
- ldr r1, _0803F4B0 @ =0x040000D4
- ldr r0, _0803F4B4 @ =0x084A856C
- str r0, [r1]
- ldr r0, _0803F4B8 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0803F4BC @ =0x80000E00
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldr r0, [r6]
- ldr r5, _0803F4C0 @ =0x00000504
- adds r0, r0, r5
- ldrb r1, [r0]
- movs r2, #1
- adds r0, r2, #0
- ands r0, r1
- cmp r0, #0
- beq _0803F4D4
- ldr r0, _0803F4C4 @ =gMain
- ldr r7, _0803F4C8 @ =0x000012C8
- adds r1, r0, r7
- strh r2, [r1]
- ldr r3, _0803F4CC @ =0x00001438
- adds r1, r0, r3
- strh r2, [r1]
- ldr r4, _0803F4D0 @ =0x000014F0
- adds r0, r0, r4
- b _0803F4EA
- .align 2, 0
-_0803F4B0: .4byte 0x040000D4
-_0803F4B4: .4byte 0x084A856C
-_0803F4B8: .4byte 0x06015800
-_0803F4BC: .4byte 0x80000E00
-_0803F4C0: .4byte 0x00000504
-_0803F4C4: .4byte gMain
-_0803F4C8: .4byte 0x000012C8
-_0803F4CC: .4byte 0x00001438
-_0803F4D0: .4byte 0x000014F0
-_0803F4D4:
- ldr r0, _0803F530 @ =gMain
- movs r5, #0x9c
- lsls r5, r5, #5
- adds r1, r0, r5
- strh r2, [r1]
- ldr r7, _0803F534 @ =0x00001888
- adds r1, r0, r7
- strh r2, [r1]
- movs r1, #0xca
- lsls r1, r1, #5
- adds r0, r0, r1
-_0803F4EA:
- strh r2, [r0]
- ldr r3, _0803F538 @ =0x020314E0
- ldr r1, [r3]
- ldr r2, _0803F53C @ =0x00000504
- adds r1, r1, r2
- ldrb r0, [r1]
- adds r0, #1
- movs r2, #0
- strb r0, [r1]
- ldr r0, [r3]
- ldr r3, _0803F540 @ =0x00000524
- adds r1, r0, r3
- strh r2, [r1]
- ldr r4, _0803F544 @ =0x00000526
- adds r1, r0, r4
- strh r2, [r1]
- movs r5, #0xa5
- lsls r5, r5, #3
- adds r1, r0, r5
- strh r2, [r1]
- ldr r7, _0803F548 @ =0x0000052A
- adds r1, r0, r7
- strh r2, [r1]
- subs r3, #0x10
- adds r1, r0, r3
- strh r2, [r1]
- movs r4, #0xf9
- lsls r4, r4, #2
- adds r0, r0, r4
- strh r2, [r0]
- ldr r0, _0803F54C @ =0x00000127
- bl m4aSongNumStart
- b _0803FA78
- .align 2, 0
-_0803F530: .4byte gMain
-_0803F534: .4byte 0x00001888
-_0803F538: .4byte 0x020314E0
-_0803F53C: .4byte 0x00000504
-_0803F540: .4byte 0x00000524
-_0803F544: .4byte 0x00000526
-_0803F548: .4byte 0x0000052A
-_0803F54C: .4byte 0x00000127
-_0803F550:
- ldr r7, _0803F578 @ =gMain
- ldr r0, _0803F57C @ =0x000012C8
- adds r5, r7, r0
- ldrh r4, [r5]
- cmp r4, #0
- beq _0803F5CC
- ldr r0, [r6]
- ldr r1, _0803F580 @ =0x00000524
- adds r2, r0, r1
- ldrh r3, [r2]
- movs r4, #0
- ldrsh r1, [r2, r4]
- ldr r0, _0803F584 @ =0x000012BF
- cmp r1, r0
- bgt _0803F588
- adds r0, r3, #0
- adds r0, #0x8c
- strh r0, [r2]
- b _0803F58C
- .align 2, 0
-_0803F578: .4byte gMain
-_0803F57C: .4byte 0x000012C8
-_0803F580: .4byte 0x00000524
-_0803F584: .4byte 0x000012BF
-_0803F588:
- movs r0, #0
- strh r0, [r5]
-_0803F58C:
- ldr r2, [r6]
- ldr r5, _0803F5C0 @ =0x00000524
- adds r0, r2, r5
- movs r7, #0
- ldrsh r1, [r0, r7]
- movs r0, #0x96
- lsls r0, r0, #4
- cmp r1, r0
- ble _0803F62C
- movs r0, #0xa5
- lsls r0, r0, #3
- adds r2, r2, r0
- ldrh r3, [r2]
- movs r4, #0
- ldrsh r1, [r2, r4]
- ldr r0, _0803F5C4 @ =0x0000135F
- cmp r1, r0
- bgt _0803F5B6
- adds r0, r3, #0
- adds r0, #0xc8
- strh r0, [r2]
-_0803F5B6:
- ldr r1, [r6]
- ldr r5, _0803F5C8 @ =0x00000514
- adds r1, r1, r5
- b _0803F626
- .align 2, 0
-_0803F5C0: .4byte 0x00000524
-_0803F5C4: .4byte 0x0000135F
-_0803F5C8: .4byte 0x00000514
-_0803F5CC:
- ldr r0, [r6]
- ldr r1, _0803F5E8 @ =0x00000524
- adds r2, r0, r1
- ldrh r3, [r2]
- movs r5, #0
- ldrsh r1, [r2, r5]
- ldr r0, _0803F5EC @ =0xFFFFED40
- cmp r1, r0
- ble _0803F5F0
- adds r0, r3, #0
- subs r0, #0x8c
- strh r0, [r2]
- b _0803F5F8
- .align 2, 0
-_0803F5E8: .4byte 0x00000524
-_0803F5EC: .4byte 0xFFFFED40
-_0803F5F0:
- movs r1, #0x9c
- lsls r1, r1, #5
- adds r0, r7, r1
- strh r4, [r0]
-_0803F5F8:
- ldr r2, [r6]
- ldr r3, _0803F674 @ =0x00000524
- adds r0, r2, r3
- movs r4, #0
- ldrsh r1, [r0, r4]
- ldr r0, _0803F678 @ =0xFFFFF6A0
- cmp r1, r0
- bge _0803F62C
- movs r5, #0xa5
- lsls r5, r5, #3
- adds r2, r2, r5
- ldrh r3, [r2]
- movs r7, #0
- ldrsh r1, [r2, r7]
- ldr r0, _0803F67C @ =0xFFFFECA0
- cmp r1, r0
- ble _0803F620
- adds r0, r3, #0
- subs r0, #0xc8
- strh r0, [r2]
-_0803F620:
- ldr r1, [r6]
- ldr r0, _0803F680 @ =0x00000514
- adds r1, r1, r0
-_0803F626:
- ldrh r0, [r1]
- adds r0, #1
- strh r0, [r1]
-_0803F62C:
- ldr r2, _0803F684 @ =0x020314E0
- ldr r1, [r2]
- movs r3, #0xf9
- lsls r3, r3, #2
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, #0x14
- bne _0803F646
- movs r4, #0x99
- lsls r4, r4, #3
- adds r1, r1, r4
- movs r0, #0x3c
- strb r0, [r1]
-_0803F646:
- ldr r2, [r2]
- adds r1, r2, r3
- ldrh r0, [r1]
- adds r0, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0xc7
- bhi _0803F65A
- b _0803FA78
-_0803F65A:
- movs r0, #0
- strh r0, [r1]
- ldr r5, _0803F688 @ =0x000003E2
- adds r1, r2, r5
- movs r0, #0xd
- strh r0, [r1]
- movs r7, #0xf7
- lsls r7, r7, #2
- adds r1, r2, r7
- movs r0, #3
- strb r0, [r1]
- b _0803FA78
- .align 2, 0
-_0803F674: .4byte 0x00000524
-_0803F678: .4byte 0xFFFFF6A0
-_0803F67C: .4byte 0xFFFFECA0
-_0803F680: .4byte 0x00000514
-_0803F684: .4byte 0x020314E0
-_0803F688: .4byte 0x000003E2
-_0803F68C:
- ldr r0, [r6]
- movs r1, #0xa5
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r5, #0
- movs r1, #3
- strb r1, [r0]
- ldr r4, [r6]
- ldr r2, _0803F704 @ =0x00000283
- adds r0, r4, r2
- ldrb r0, [r0]
- movs r1, #0xa
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- cmp r0, #9
- bne _0803F720
- movs r3, #0xf7
- lsls r3, r3, #2
- adds r1, r4, r3
- movs r0, #0xe
- strb r0, [r1]
- ldr r0, [r6]
- ldr r4, _0803F708 @ =0x000003E2
- adds r0, r0, r4
- movs r4, #0
- strh r5, [r0]
- ldr r3, _0803F70C @ =gMain
- ldr r7, _0803F710 @ =0x00000A28
- adds r0, r3, r7
- movs r1, #1
- strh r1, [r0]
- movs r2, #0x97
- lsls r2, r2, #4
- adds r0, r3, r2
- strh r1, [r0]
- ldr r1, [r6]
- movs r7, #0xb3
- lsls r7, r7, #3
- adds r2, r1, r7
- movs r0, #0xc7
- strh r0, [r2]
- ldr r2, _0803F714 @ =0x0000038E
- adds r0, r1, r2
- strh r5, [r0]
- adds r7, #0x10
- adds r1, r1, r7
- strb r4, [r1]
- ldr r0, [r6]
- ldr r2, _0803F718 @ =0x000005A6
- adds r1, r0, r2
- strh r5, [r1]
- ldr r4, _0803F71C @ =0x000005A4
- adds r0, r0, r4
- movs r1, #2
- strb r1, [r0]
- adds r2, r3, #0
- b _0803F74C
- .align 2, 0
-_0803F704: .4byte 0x00000283
-_0803F708: .4byte 0x000003E2
-_0803F70C: .4byte gMain
-_0803F710: .4byte 0x00000A28
-_0803F714: .4byte 0x0000038E
-_0803F718: .4byte 0x000005A6
-_0803F71C: .4byte 0x000005A4
-_0803F720:
- movs r7, #0xf7
- lsls r7, r7, #2
- adds r1, r4, r7
- movs r0, #0xa
- strb r0, [r1]
- ldr r1, [r6]
- ldr r0, _0803F770 @ =0x000003E2
- adds r2, r1, r0
- movs r0, #0x62
- strh r0, [r2]
- ldr r2, _0803F774 @ =gMain
- movs r0, #0x80
- strb r0, [r2, #0xf]
- movs r3, #0xe2
- lsls r3, r3, #2
- adds r1, r1, r3
- movs r0, #2
- strb r0, [r1]
- ldr r0, [r6]
- ldr r4, _0803F778 @ =0x00000392
- adds r0, r0, r4
- strh r5, [r0]
-_0803F74C:
- ldr r0, _0803F77C @ =0x020314E0
- ldr r4, [r0]
- movs r5, #0xf9
- lsls r5, r5, #2
- adds r1, r4, r5
- movs r0, #0
- strh r0, [r1]
- ldr r7, _0803F780 @ =0x00001CD8
- adds r0, r2, r7
- ldrh r0, [r0]
- cmp r0, #0
- bne _0803F766
- b _0803FA78
-_0803F766:
- ldr r0, _0803F784 @ =0x00000486
- adds r1, r4, r0
- movs r0, #1
- strh r0, [r1]
- b _0803FA78
- .align 2, 0
-_0803F770: .4byte 0x000003E2
-_0803F774: .4byte gMain
-_0803F778: .4byte 0x00000392
-_0803F77C: .4byte 0x020314E0
-_0803F780: .4byte 0x00001CD8
-_0803F784: .4byte 0x00000486
-_0803F788:
- ldr r2, _0803F7B4 @ =0x086AF3CC
- ldr r5, _0803F7B8 @ =0x020314E0
- ldr r4, [r5]
- ldr r6, _0803F7BC @ =0x000003E2
- adds r3, r4, r6
- movs r7, #0
- ldrsh r1, [r3, r7]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r2, #0xf9
- lsls r2, r2, #2
- adds r1, r4, r2
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r0, r2
- bls _0803F7C0
-_0803F7AE:
- adds r0, r2, #1
- strh r0, [r1]
- b _0803FA78
- .align 2, 0
-_0803F7B4: .4byte 0x086AF3CC
-_0803F7B8: .4byte 0x020314E0
-_0803F7BC: .4byte 0x000003E2
-_0803F7C0:
- movs r2, #0
- movs r0, #0
- strh r0, [r1]
- ldrh r0, [r3]
- adds r0, #1
- strh r0, [r3]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x83
- bne _0803F7F2
- movs r0, #0xd
- strh r0, [r3]
- ldr r3, _0803F80C @ =0x000003E1
- adds r0, r4, r3
- strb r2, [r0]
- ldr r0, [r5]
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r0, r0, r4
- movs r1, #0xb
- strb r1, [r0]
- ldr r0, [r5]
- ldr r7, _0803F810 @ =0x00000389
- adds r0, r0, r7
- strb r2, [r0]
-_0803F7F2:
- ldr r1, [r5]
- adds r0, r1, r6
- movs r2, #0
- ldrsh r0, [r0, r2]
- cmp r0, #0x78
- beq _0803F800
- b _0803FA78
-_0803F800:
- movs r3, #0xe4
- lsls r3, r3, #2
- adds r1, r1, r3
- movs r0, #0x15
- strh r0, [r1]
- b _0803FA78
- .align 2, 0
-_0803F80C: .4byte 0x000003E1
-_0803F810: .4byte 0x00000389
-_0803F814:
- ldr r2, _0803F840 @ =0x086AF3CC
- ldr r3, [r6]
- ldr r5, _0803F844 @ =0x000003E2
- adds r4, r3, r5
- movs r7, #0
- ldrsh r1, [r4, r7]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, #2
- adds r0, r0, r2
- movs r1, #0xf9
- lsls r1, r1, #2
- adds r3, r3, r1
- ldrh r1, [r3]
- ldrh r0, [r0]
- cmp r0, r1
- bls _0803F848
- adds r0, r1, #1
- strh r0, [r3]
- b _0803F85E
- .align 2, 0
-_0803F840: .4byte 0x086AF3CC
-_0803F844: .4byte 0x000003E2
-_0803F848:
- movs r0, #0
- strh r0, [r3]
- ldrh r0, [r4]
- adds r0, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x22
- bne _0803F85E
- movs r0, #0x21
- strh r0, [r4]
-_0803F85E:
- ldr r1, [r6]
- ldr r2, _0803F8C8 @ =0x000003E2
- adds r0, r1, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- cmp r0, #0x21
- bne _0803F890
- ldr r4, _0803F8CC @ =0x000003EA
- adds r1, r1, r4
- ldrh r2, [r1]
- movs r5, #0
- ldrsh r0, [r1, r5]
- ldr r3, _0803F8D0 @ =0xFFFFFD00
- cmp r0, r3
- ble _0803F890
- adds r0, r2, #0
- subs r0, #0x18
- strh r0, [r1]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, r3
- bge _0803F890
- movs r0, #0xfd
- lsls r0, r0, #8
- strh r0, [r1]
-_0803F890:
- ldr r4, _0803F8D4 @ =0x020314E0
- ldr r3, [r4]
- ldr r7, _0803F8CC @ =0x000003EA
- adds r0, r3, r7
- movs r2, #0
- ldrsh r1, [r0, r2]
- ldr r0, _0803F8D0 @ =0xFFFFFD00
- cmp r1, r0
- beq _0803F8A4
- b _0803FA78
-_0803F8A4:
- ldr r5, _0803F8C8 @ =0x000003E2
- adds r0, r3, r5
- movs r2, #0
- movs r1, #0
- strh r1, [r0]
- subs r7, #6
- adds r0, r3, r7
- strh r1, [r0]
- movs r0, #0xf7
- lsls r0, r0, #2
- adds r1, r3, r0
- movs r0, #0xc
-_0803F8BC:
- strb r0, [r1]
- ldr r0, [r4]
- ldr r1, _0803F8D8 @ =0x000003E1
- adds r0, r0, r1
- strb r2, [r0]
- b _0803FA78
- .align 2, 0
-_0803F8C8: .4byte 0x000003E2
-_0803F8CC: .4byte 0x000003EA
-_0803F8D0: .4byte 0xFFFFFD00
-_0803F8D4: .4byte 0x020314E0
-_0803F8D8: .4byte 0x000003E1
-_0803F8DC:
- ldr r1, _0803F980 @ =0x040000D4
- ldr r0, _0803F984 @ =0x084AA18C
- str r0, [r1]
- ldr r0, _0803F988 @ =0x06011620
- str r0, [r1, #4]
- ldr r0, _0803F98C @ =0x80000430
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldr r3, _0803F990 @ =0x020314E0
- ldr r0, [r3]
- movs r2, #0xf7
- lsls r2, r2, #2
- adds r0, r0, r2
- movs r4, #0
- movs r1, #0xd
- strb r1, [r0]
- ldr r1, [r3]
- movs r5, #0xfa
- lsls r5, r5, #2
- adds r2, r1, r5
- ldr r0, _0803F994 @ =0x00000474
- strh r0, [r2]
- ldr r7, _0803F998 @ =0x000003EA
- adds r2, r1, r7
- ldr r0, _0803F99C @ =0x0000FB50
- strh r0, [r2]
- ldr r0, _0803F9A0 @ =0x00000506
- adds r1, r1, r0
- movs r0, #2
- strb r0, [r1]
- ldr r0, [r3]
- ldr r2, _0803F9A4 @ =0x00000516
- adds r1, r0, r2
- strh r4, [r1]
- ldr r5, _0803F9A8 @ =0x000005FA
- adds r0, r0, r5
- movs r2, #1
- strb r2, [r0]
- ldr r0, _0803F9AC @ =gMain
- movs r1, #0x80
- strb r1, [r0, #0xf]
- ldr r7, _0803F9B0 @ =0x00000D08
- adds r0, r0, r7
- strh r2, [r0]
- ldr r1, [r3]
- movs r2, #0xf1
- lsls r2, r2, #2
- adds r0, r1, r2
- strh r4, [r0]
- ldr r3, _0803F9B4 @ =0x000003C6
- adds r2, r1, r3
- ldr r0, _0803F9B8 @ =0x0000EC78
- strh r0, [r2]
- movs r4, #0xf2
- lsls r4, r4, #2
- adds r2, r1, r4
- movs r0, #0xaf
- lsls r0, r0, #3
- strh r0, [r2]
- ldr r5, _0803F9BC @ =0x000003CA
- adds r2, r1, r5
- ldr r0, _0803F9C0 @ =0x0000F830
- strh r0, [r2]
- movs r7, #0x83
- lsls r7, r7, #3
- adds r2, r1, r7
- ldr r0, _0803F9C4 @ =0x0000FF38
- strh r0, [r2]
- ldr r0, _0803F9C8 @ =0x0000041A
- adds r2, r1, r0
- subs r0, #0xfa
- strh r0, [r2]
- adds r3, #0x4e
- adds r2, r1, r3
- movs r0, #0x18
- strh r0, [r2]
- adds r4, #0x4e
- adds r1, r1, r4
- ldr r0, _0803F9CC @ =0x0000FFF0
- strh r0, [r1]
- b _0803FA78
- .align 2, 0
-_0803F980: .4byte 0x040000D4
-_0803F984: .4byte 0x084AA18C
-_0803F988: .4byte 0x06011620
-_0803F98C: .4byte 0x80000430
-_0803F990: .4byte 0x020314E0
-_0803F994: .4byte 0x00000474
-_0803F998: .4byte 0x000003EA
-_0803F99C: .4byte 0x0000FB50
-_0803F9A0: .4byte 0x00000506
-_0803F9A4: .4byte 0x00000516
-_0803F9A8: .4byte 0x000005FA
-_0803F9AC: .4byte gMain
-_0803F9B0: .4byte 0x00000D08
-_0803F9B4: .4byte 0x000003C6
-_0803F9B8: .4byte 0x0000EC78
-_0803F9BC: .4byte 0x000003CA
-_0803F9C0: .4byte 0x0000F830
-_0803F9C4: .4byte 0x0000FF38
-_0803F9C8: .4byte 0x0000041A
-_0803F9CC: .4byte 0x0000FFF0
-_0803F9D0:
- ldr r3, _0803F9F0 @ =0x020314E0
- ldr r2, [r3]
- ldr r5, _0803F9F4 @ =0x00000516
- adds r0, r2, r5
- ldrh r0, [r0]
- cmp r0, #0xff
- bhi _0803FA18
- movs r7, #0xf9
- lsls r7, r7, #2
- adds r1, r2, r7
- ldrh r0, [r1]
- cmp r0, #0x4f
- bhi _0803F9F8
-_0803F9EA:
- adds r0, #1
- strh r0, [r1]
- b _0803FA78
- .align 2, 0
-_0803F9F0: .4byte 0x020314E0
-_0803F9F4: .4byte 0x00000516
-_0803F9F8:
- ldr r0, _0803FA10 @ =0x000003EA
- adds r2, r2, r0
- ldrh r3, [r2]
- movs r4, #0
- ldrsh r1, [r2, r4]
- ldr r0, _0803FA14 @ =0x0000095F
- cmp r1, r0
- bgt _0803FA78
- adds r0, r3, #0
- adds r0, #0x50
- b _0803FA76
- .align 2, 0
-_0803FA10: .4byte 0x000003EA
-_0803FA14: .4byte 0x0000095F
-_0803FA18:
- movs r1, #0
- movs r0, #2
- strb r0, [r2, #0x13]
- ldr r0, [r3]
- strh r1, [r0, #0x18]
- movs r5, #0xf7
- lsls r5, r5, #2
- adds r0, r0, r5
- movs r1, #0xf
- strb r1, [r0]
- b _0803FA78
-_0803FA2E:
- ldr r0, _0803FAC0 @ =0x020314E0
- ldr r5, [r0]
- movs r7, #0xe3
- lsls r7, r7, #2
- adds r1, r5, r7
- movs r0, #1
- strh r0, [r1]
- ldr r0, _0803FAC4 @ =0x0000038E
- adds r4, r5, r0
- ldrh r6, [r4]
- movs r1, #0
- ldrsh r0, [r4, r1]
- ldr r1, _0803FAC8 @ =0xFFFFFE0C
- cmp r0, r1
- ble _0803FA78
- subs r0, r1, r0
- movs r1, #0x1e
- bl __divsi3
- adds r0, r6, r0
- strh r0, [r4]
- movs r3, #0
- ldrsh r0, [r4, r3]
- movs r1, #0xa
- bl __divsi3
- adds r2, r5, #0
- adds r2, #0xe6
- strh r0, [r2]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #0x26
- rsbs r1, r1, #0
- cmp r0, r1
- bge _0803FA78
- ldr r0, _0803FACC @ =0x0000FFDA
-_0803FA76:
- strh r0, [r2]
-_0803FA78:
- ldr r5, _0803FAC0 @ =0x020314E0
- ldr r0, [r5]
- movs r4, #0xe4
- lsls r4, r4, #2
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, #0
- beq _0803FAB8
- subs r0, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0x14
- bne _0803FAA2
- ldr r0, _0803FAD0 @ =0x086A3700
- ldr r7, _0803FAD4 @ =0x000012A8
- adds r0, r0, r7
- ldrh r0, [r0]
- movs r1, #0
- bl sub_528DC
-_0803FAA2:
- ldr r0, [r5]
- adds r0, r0, r4
- ldrh r0, [r0]
- cmp r0, #0
- bne _0803FAB8
- ldr r0, _0803FAD8 @ =0x02032EE0
- ldr r1, _0803FADC @ =0x0000FFFF
- movs r2, #0x80
- lsls r2, r2, #1
- bl m4aMPlayVolumeControl
-_0803FAB8:
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803FAC0: .4byte 0x020314E0
-_0803FAC4: .4byte 0x0000038E
-_0803FAC8: .4byte 0xFFFFFE0C
-_0803FACC: .4byte 0x0000FFDA
-_0803FAD0: .4byte 0x086A3700
-_0803FAD4: .4byte 0x000012A8
-_0803FAD8: .4byte 0x02032EE0
-_0803FADC: .4byte 0x0000FFFF
-
- thumb_func_start sub_3FAE0
-sub_3FAE0: @ 0x0803FAE0
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #4
- movs r0, #0
- mov sl, r0
- movs r1, #0
- str r1, [sp]
- ldr r7, _0803FB74 @ =0x0200D2A0
- ldrh r0, [r7]
- movs r2, #0xb8
- rsbs r2, r2, #0
- adds r2, r2, r7
- mov sb, r2
- cmp r0, #0
- beq _0803FBC4
- ldr r4, _0803FB78 @ =0x020314E0
- ldr r0, [r4]
- movs r3, #0xfa
- lsls r3, r3, #2
- adds r0, r0, r3
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r7, #2]
- ldr r0, [r4]
- ldr r2, _0803FB7C @ =0x000003EA
- adds r0, r0, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r7, #4]
- movs r2, #0
- ldr r4, _0803FB80 @ =gOamBuffer
- ldr r0, _0803FB84 @ =0xFFFFFE00
- mov r8, r0
-_0803FB34:
- lsls r1, r2, #0x10
- asrs r0, r1, #0xd
- adds r0, #8
- adds r6, r7, r0
- movs r0, #4
- ldrsb r0, [r6, r0]
- ldrh r2, [r7, #4]
- adds r0, r0, r2
- lsls r0, r0, #0x10
- movs r3, #0xf0
- lsls r3, r3, #0xe
- adds r0, r0, r3
- lsrs r0, r0, #0x10
- adds r5, r1, #0
- cmp r0, #0xf0
- bls _0803FB88
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r4
- ldrh r1, [r2, #2]
- mov r0, r8
- ands r0, r1
- movs r1, #0xf0
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r0, [r6]
- lsls r0, r0, #3
- adds r0, r0, r4
- movs r1, #0xb4
- strb r1, [r0]
- b _0803FBB6
- .align 2, 0
-_0803FB74: .4byte 0x0200D2A0
-_0803FB78: .4byte 0x020314E0
-_0803FB7C: .4byte 0x000003EA
-_0803FB80: .4byte gOamBuffer
-_0803FB84: .4byte 0xFFFFFE00
-_0803FB88:
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r4
- movs r0, #2
- ldrsh r1, [r6, r0]
- movs r2, #2
- ldrsh r0, [r7, r2]
- adds r1, r1, r0
- ldr r2, _0803FC40 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r7, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
-_0803FBB6:
- movs r3, #0x80
- lsls r3, r3, #9
- adds r0, r5, r3
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xd
- ble _0803FB34
-_0803FBC4:
- mov r7, sb
- ldrh r4, [r7]
- mov sb, r4
- cmp r4, #0
- bne _0803FBD0
- b _0803FCD4
-_0803FBD0:
- ldr r4, _0803FC44 @ =0x020314E0
- ldr r0, [r4]
- movs r1, #0xfa
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r7, #2]
- ldr r0, [r4]
- ldr r3, _0803FC48 @ =0x000003EA
- adds r0, r0, r3
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r7, #4]
- movs r2, #0
- ldr r4, _0803FC4C @ =gOamBuffer
- ldr r3, _0803FC50 @ =0xFFFFFE00
- mov r8, r3
-_0803FC00:
- lsls r1, r2, #0x10
- asrs r0, r1, #0xd
- adds r0, #8
- adds r6, r7, r0
- movs r0, #4
- ldrsb r0, [r6, r0]
- ldrh r2, [r7, #4]
- adds r0, r0, r2
- lsls r0, r0, #0x10
- movs r3, #0xf0
- lsls r3, r3, #0xe
- adds r0, r0, r3
- lsrs r0, r0, #0x10
- adds r5, r1, #0
- cmp r0, #0xf0
- bls _0803FC54
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r4
- ldrh r1, [r2, #2]
- mov r0, r8
- ands r0, r1
- movs r1, #0xf0
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r0, [r6]
- lsls r0, r0, #3
- adds r0, r0, r4
- movs r1, #0xb4
- strb r1, [r0]
- b _0803FC82
- .align 2, 0
-_0803FC40: .4byte 0x000001FF
-_0803FC44: .4byte 0x020314E0
-_0803FC48: .4byte 0x000003EA
-_0803FC4C: .4byte gOamBuffer
-_0803FC50: .4byte 0xFFFFFE00
-_0803FC54:
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r4
- movs r0, #2
- ldrsh r1, [r6, r0]
- movs r2, #2
- ldrsh r0, [r7, r2]
- adds r1, r1, r0
- ldr r2, _0803FCB8 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r7, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
-_0803FC82:
- movs r3, #0x80
- lsls r3, r3, #9
- adds r0, r5, r3
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xd
- ble _0803FC00
- ldr r4, _0803FCBC @ =0x020314E0
- ldr r0, [r4]
- ldr r1, _0803FCC0 @ =0x00000516
- adds r0, r0, r1
- ldrh r1, [r0]
- ldr r0, _0803FCC4 @ =0x0000029F
- cmp r1, r0
- beq _0803FCA2
- b _0804024A
-_0803FCA2:
- movs r0, #0
- strh r0, [r7]
- ldr r0, _0803FCC8 @ =gMain
- ldr r2, _0803FCCC @ =0x00002070
- adds r1, r0, r2
- movs r2, #1
- strh r2, [r1]
- ldr r3, _0803FCD0 @ =0x00002350
- adds r0, r0, r3
- strh r2, [r0]
- b _0804024A
- .align 2, 0
-_0803FCB8: .4byte 0x000001FF
-_0803FCBC: .4byte 0x020314E0
-_0803FCC0: .4byte 0x00000516
-_0803FCC4: .4byte 0x0000029F
-_0803FCC8: .4byte gMain
-_0803FCCC: .4byte 0x00002070
-_0803FCD0: .4byte 0x00002350
-_0803FCD4:
- subs r7, #0xb8
- ldrh r0, [r7]
- cmp r0, #0
- bne _0803FCDE
- b _0803FF98
-_0803FCDE:
- ldr r5, _0803FD84 @ =0x020314E0
- ldr r4, [r5]
- movs r0, #0xfa
- lsls r0, r0, #2
- mov r8, r0
- adds r0, r4, r0
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldrh r1, [r4]
- subs r1, #0x58
- subs r0, r0, r1
- strh r0, [r7, #2]
- ldr r4, [r5]
- ldr r6, _0803FD88 @ =0x000003EA
- adds r0, r4, r6
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x4e
- subs r0, r0, r1
- strh r0, [r7, #4]
- ldr r4, [r5]
- add r8, r4
- mov r3, r8
- movs r1, #0
- ldrsh r0, [r3, r1]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x74
- movs r2, #0xa2
- lsls r2, r2, #2
- adds r1, r4, r2
- strh r0, [r1]
- adds r6, r4, r6
- movs r3, #0
- ldrsh r0, [r6, r3]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x3c
- ldr r2, _0803FD8C @ =0x0000028A
- adds r1, r4, r2
- strh r0, [r1]
- ldr r3, _0803FD90 @ =0x0000051A
- adds r0, r4, r3
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x5b
- ble _0803FD98
- mov r2, r8
- movs r3, #0
- ldrsh r0, [r2, r3]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0xac
- movs r2, #0xfc
- lsls r2, r2, #2
- adds r1, r4, r2
- strh r0, [r1]
- movs r3, #0
- ldrsh r0, [r6, r3]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, #0xb8
- ldr r2, _0803FD94 @ =0x000003F2
- adds r1, r4, r2
- b _0803FDA8
- .align 2, 0
-_0803FD84: .4byte 0x020314E0
-_0803FD88: .4byte 0x000003EA
-_0803FD8C: .4byte 0x0000028A
-_0803FD90: .4byte 0x0000051A
-_0803FD94: .4byte 0x000003F2
-_0803FD98:
- movs r3, #0xfc
- lsls r3, r3, #2
- adds r0, r4, r3
- mov r1, sb
- strh r1, [r0]
- ldr r2, _0803FE1C @ =0x000003F2
- adds r1, r4, r2
- ldr r0, _0803FE20 @ =0x0000FF60
-_0803FDA8:
- strh r0, [r1]
- movs r3, #4
- ldrsh r1, [r7, r3]
- movs r0, #0x46
- rsbs r0, r0, #0
- cmp r1, r0
- bge _0803FDBA
- ldr r0, _0803FE24 @ =0x0000FFBA
- strh r0, [r7, #4]
-_0803FDBA:
- movs r4, #4
- ldrsh r0, [r7, r4]
- cmp r0, #0xb4
- ble _0803FDC6
- movs r0, #0xb4
- strh r0, [r7, #4]
-_0803FDC6:
- ldr r2, _0803FE28 @ =0x086AF3CC
- ldr r0, _0803FE2C @ =0x020314E0
- ldr r3, [r0]
- ldr r1, _0803FE30 @ =0x000003E2
- adds r0, r3, r1
- movs r4, #0
- ldrsh r1, [r0, r4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r0, r0, r2
- ldrh r1, [r0]
- ldr r4, _0803FE34 @ =0x00000389
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- mov r8, r2
- cmp r0, #9
- ble _0803FE40
- movs r0, #0xb
- str r0, [sp]
- ldr r3, _0803FE38 @ =gOamBuffer
- ldrh r2, [r7, #8]
- lsls r2, r2, #3
- adds r2, r2, r3
- ldrh r1, [r2, #2]
- ldr r0, _0803FE3C @ =0xFFFFFE00
- ands r0, r1
- movs r1, #0xf0
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r0, [r7, #8]
- lsls r0, r0, #3
- adds r0, r0, r3
- movs r1, #0xb4
- strb r1, [r0]
- ldrh r1, [r7, #8]
- lsls r1, r1, #3
- adds r1, r1, r3
- movs r3, #0xb0
- b _0803FF24
- .align 2, 0
-_0803FE1C: .4byte 0x000003F2
-_0803FE20: .4byte 0x0000FF60
-_0803FE24: .4byte 0x0000FFBA
-_0803FE28: .4byte 0x086AF3CC
-_0803FE2C: .4byte 0x020314E0
-_0803FE30: .4byte 0x000003E2
-_0803FE34: .4byte 0x00000389
-_0803FE38: .4byte gOamBuffer
-_0803FE3C: .4byte 0xFFFFFE00
-_0803FE40:
- cmp r0, #1
- bne _0803FE4C
- movs r2, #2
- mov sl, r2
- movs r3, #0xe
- b _0803FE6C
-_0803FE4C:
- cmp r0, #3
- bne _0803FE5A
- movs r4, #2
- mov sl, r4
- movs r0, #0xb
- str r0, [sp]
- b _0803FE6E
-_0803FE5A:
- ldr r2, _0803FF30 @ =0x000003DF
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- mov sl, r0
- movs r3, #0xf
-_0803FE6C:
- str r3, [sp]
-_0803FE6E:
- ldr r4, _0803FF34 @ =0x020314E0
- ldr r0, [r4]
- movs r2, #0xb5
- lsls r2, r2, #3
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x15
- bne _0803FE86
- movs r3, #8
- mov sl, r3
-_0803FE86:
- cmp r0, #0x16
- bne _0803FE8E
- movs r4, #9
- mov sl, r4
-_0803FE8E:
- ldrh r2, [r7, #8]
- lsls r2, r2, #3
- ldr r6, _0803FF38 @ =gOamBuffer
- adds r2, r2, r6
- lsls r0, r1, #0x10
- asrs r0, r0, #0x10
- lsls r1, r0, #1
- adds r1, r1, r0
- lsls r1, r1, #1
- ldr r0, _0803FF3C @ =0x086B612E
- adds r1, r1, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, #2
- adds r2, #2
- ldrh r0, [r1]
- strh r0, [r2]
- ldrh r0, [r1, #2]
- strh r0, [r2, #2]
- ldrh r0, [r7, #8]
- lsls r0, r0, #3
- adds r0, r0, r6
- ldr r1, _0803FF34 @ =0x020314E0
- ldr r5, [r1]
- movs r4, #0
- ldrsb r4, [r0, r4]
- adds r4, #0x4e
- ldr r2, _0803FF40 @ =0x000003EA
- adds r0, r5, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- movs r1, #0xa
- bl __divsi3
- adds r4, r4, r0
- ldr r0, _0803FF44 @ =0x0000051A
- adds r5, r5, r0
- strh r4, [r5]
- ldrh r2, [r7, #8]
- lsls r2, r2, #3
- adds r2, r2, r6
- ldrh r3, [r2, #2]
- lsls r1, r3, #0x17
- lsrs r1, r1, #0x17
- movs r4, #2
- ldrsh r0, [r7, r4]
- adds r1, r1, r0
- ldr r4, _0803FF48 @ =0x000001FF
- adds r0, r4, #0
- ands r1, r0
- ldr r0, _0803FF4C @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r7, #8]
- lsls r1, r1, #3
- adds r1, r1, r6
- ldrb r0, [r7, #4]
- ldrb r2, [r1]
- adds r0, r0, r2
- strb r0, [r1]
- ldr r3, _0803FF34 @ =0x020314E0
- ldr r0, [r3]
- ldr r4, _0803FF50 @ =0x00000389
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #1
- bgt _0803FF54
- ldrh r1, [r7, #8]
- lsls r1, r1, #3
- adds r1, r1, r6
- ldr r0, [sp]
- lsls r3, r0, #4
-_0803FF24:
- ldrb r2, [r1, #5]
- movs r0, #0xf
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, #5]
- b _0803FF60
- .align 2, 0
-_0803FF30: .4byte 0x000003DF
-_0803FF34: .4byte 0x020314E0
-_0803FF38: .4byte gOamBuffer
-_0803FF3C: .4byte 0x086B612E
-_0803FF40: .4byte 0x000003EA
-_0803FF44: .4byte 0x0000051A
-_0803FF48: .4byte 0x000001FF
-_0803FF4C: .4byte 0xFFFFFE00
-_0803FF50: .4byte 0x00000389
-_0803FF54:
- ldrh r0, [r7, #8]
- lsls r0, r0, #3
- adds r0, r0, r6
- ldrb r0, [r0, #5]
- lsrs r0, r0, #4
- str r0, [sp]
-_0803FF60:
- ldr r1, _0803FFB8 @ =0x020314E0
- ldr r2, [r1]
- ldr r3, _0803FFBC @ =0x000003E2
- adds r0, r2, r3
- movs r4, #0
- ldrsh r1, [r0, r4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- mov r1, r8
- adds r1, #4
- adds r0, r0, r1
- ldrh r0, [r0]
- ldr r1, _0803FFC0 @ =0x000003DF
- adds r2, r2, r1
- strb r0, [r2]
- ldr r2, _0803FFC4 @ =0x040000D4
- mov r3, sl
- lsls r0, r3, #0x10
- asrs r0, r0, #5
- ldr r1, _0803FFC8 @ =0x084AA9EC
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _0803FFCC @ =0x06011620
- str r0, [r2, #4]
- ldr r0, _0803FFD0 @ =0x80000400
- str r0, [r2, #8]
- ldr r0, [r2, #8]
-_0803FF98:
- ldr r7, _0803FFD4 @ =0x0200C2D0
- ldrh r0, [r7]
- cmp r0, #0
- bne _0803FFA2
- b _080400C0
-_0803FFA2:
- mov r4, sl
- lsls r0, r4, #0x10
- asrs r5, r0, #0x10
- cmp r5, #7
- ble _0803FFD8
- movs r0, #0
- strh r0, [r7, #2]
- strh r0, [r7, #4]
- mov sl, r0
- b _0804002E
- .align 2, 0
-_0803FFB8: .4byte 0x020314E0
-_0803FFBC: .4byte 0x000003E2
-_0803FFC0: .4byte 0x000003DF
-_0803FFC4: .4byte 0x040000D4
-_0803FFC8: .4byte 0x084AA9EC
-_0803FFCC: .4byte 0x06011620
-_0803FFD0: .4byte 0x80000400
-_0803FFD4: .4byte 0x0200C2D0
-_0803FFD8:
- cmp r5, #5
- ble _08040028
- ldr r0, _08040020 @ =0x020314E0
- ldr r4, [r0]
- movs r1, #0xfa
- lsls r1, r1, #2
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r1, r4, #0
- adds r1, #0x58
- ldrh r1, [r1]
- subs r1, #0x58
- subs r0, r0, r1
- strh r0, [r7, #2]
- ldr r3, _08040024 @ =0x000003EA
- adds r0, r4, r3
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r0, r0, r1
- adds r0, #0x60
- strh r0, [r7, #4]
- subs r0, r5, #6
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- mov sl, r0
- b _0804002E
- .align 2, 0
-_08040020: .4byte 0x020314E0
-_08040024: .4byte 0x000003EA
-_08040028:
- movs r0, #0
- strh r0, [r7, #2]
- strh r0, [r7, #4]
-_0804002E:
- movs r2, #0
- ldr r3, [sp]
- lsls r3, r3, #4
- mov sb, r3
- mov r4, sl
- lsls r1, r4, #0x10
- ldr r0, _080400F0 @ =gOamBuffer
- mov r8, r0
- asrs r1, r1, #0x10
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- mov ip, r0
- ldr r1, _080400F4 @ =0xFFFFFC00
- mov sl, r1
-_0804004C:
- lsls r5, r2, #0x10
- asrs r5, r5, #0x10
- lsls r4, r5, #3
- adds r0, r4, #0
- adds r0, #8
- adds r6, r7, r0
- ldrh r3, [r6]
- lsls r3, r3, #3
- add r3, r8
- movs r2, #2
- ldrsh r1, [r6, r2]
- movs r2, #2
- ldrsh r0, [r7, r2]
- adds r1, r1, r0
- ldr r2, _080400F8 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- ldr r0, _080400FC @ =0xFFFFFE00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- add r1, r8
- ldrb r0, [r7, #4]
- ldrb r3, [r6, #4]
- adds r0, r0, r3
- strb r0, [r1]
- ldrh r2, [r6]
- lsls r2, r2, #3
- add r2, r8
- add r4, ip
- ldr r0, _08040100 @ =0x00000109
- adds r4, r4, r0
- ldr r1, _08040104 @ =0x000003FF
- adds r0, r1, #0
- ands r4, r0
- ldrh r1, [r2, #4]
- mov r0, sl
- ands r0, r1
- orrs r0, r4
- strh r0, [r2, #4]
- ldrh r1, [r6]
- lsls r1, r1, #3
- add r1, r8
- ldrb r2, [r1, #5]
- movs r0, #0xf
- ands r0, r2
- mov r2, sb
- orrs r0, r2
- strb r0, [r1, #5]
- adds r5, #1
- lsls r5, r5, #0x10
- lsrs r2, r5, #0x10
- asrs r5, r5, #0x10
- cmp r5, #1
- ble _0804004C
-_080400C0:
- ldr r7, _08040108 @ =0x0200D410
- ldrh r0, [r7]
- cmp r0, #0
- bne _080400CA
- b _0804024A
-_080400CA:
- ldr r4, _0804010C @ =0x020314E0
- ldr r0, [r4]
- ldr r3, _08040110 @ =0x0000051A
- adds r0, r0, r3
- movs r1, #0
- ldrsh r0, [r0, r1]
- subs r0, #0x46
- movs r1, #3
- bl __divsi3
- adds r0, #1
- lsls r0, r0, #0x10
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0
- bge _08040114
- movs r1, #0
- b _0804011A
- .align 2, 0
-_080400F0: .4byte gOamBuffer
-_080400F4: .4byte 0xFFFFFC00
-_080400F8: .4byte 0x000001FF
-_080400FC: .4byte 0xFFFFFE00
-_08040100: .4byte 0x00000109
-_08040104: .4byte 0x000003FF
-_08040108: .4byte 0x0200D410
-_0804010C: .4byte 0x020314E0
-_08040110: .4byte 0x0000051A
-_08040114:
- cmp r0, #9
- ble _0804011A
- movs r1, #9
-_0804011A:
- ldr r3, _08040154 @ =0x020314E0
- ldr r2, [r3]
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r0, r2, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r6, r1, #0x10
- cmp r0, #0xe
- beq _08040180
- ldr r0, _08040158 @ =0x0000050A
- adds r3, r2, r0
- movs r1, #0
- ldrsh r0, [r3, r1]
- cmp r0, #0
- ble _08040160
- ldr r1, _0804015C @ =gMain
- ldrh r0, [r1, #0x38]
- movs r0, #0x9e
- strh r0, [r1, #0x38]
- ldrh r0, [r3]
- ldrh r2, [r1, #0x3c]
- strh r0, [r1, #0x3c]
- ldrh r0, [r3]
- subs r0, #1
- strh r0, [r3]
- b _08040180
- .align 2, 0
-_08040154: .4byte 0x020314E0
-_08040158: .4byte 0x0000050A
-_0804015C: .4byte gMain
-_08040160:
- ldr r2, _0804025C @ =gMain
- ldrb r1, [r2, #0xf]
- movs r0, #0xc0
- ands r0, r1
- cmp r0, #0
- bne _08040180
- ldrh r0, [r2, #0x38]
- ldr r0, _08040260 @ =0x00001E10
- strh r0, [r2, #0x38]
- movs r0, #0x10
- asrs r1, r6, #0x10
- subs r0, r0, r1
- lsls r0, r0, #8
- orrs r0, r1
- ldrh r1, [r2, #0x3a]
- strh r0, [r2, #0x3a]
-_08040180:
- ldr r5, _08040264 @ =0x020314E0
- ldr r4, [r5]
- movs r2, #0xfa
- lsls r2, r2, #2
- adds r0, r4, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- movs r1, #0xa
- bl __divsi3
- adds r1, r4, #0
- adds r1, #0x58
- ldrh r1, [r1]
- subs r1, #0x58
- subs r0, r0, r1
- movs r1, #0
- mov r8, r1
- strh r0, [r7, #2]
- ldr r2, _08040268 @ =0x000003EA
- adds r0, r4, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x4e
- subs r0, r0, r1
- asrs r1, r6, #0x10
- adds r1, #0x24
- adds r0, r0, r1
- strh r0, [r7, #4]
- adds r6, r7, #0
- adds r6, #8
- ldr r4, _0804026C @ =gOamBuffer
- ldrh r2, [r7, #8]
- lsls r2, r2, #3
- adds r2, r2, r4
- movs r0, #2
- ldrsh r1, [r6, r0]
- movs r3, #2
- ldrsh r0, [r7, r3]
- adds r1, r1, r0
- ldr r3, _08040270 @ =0x000001FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- ldr r0, _08040274 @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r7, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r7, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
- ldr r0, [r5]
- movs r4, #0xf7
- lsls r4, r4, #2
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0xc
- bne _08040226
- ldr r1, _0804025C @ =gMain
- ldr r0, _08040278 @ =0x000021E0
- adds r2, r1, r0
- movs r0, #1
- strh r0, [r2]
- ldr r2, _0804027C @ =0x00002070
- adds r0, r1, r2
- mov r3, r8
- strh r3, [r0]
- ldr r4, _08040280 @ =0x00002350
- adds r0, r1, r4
- strh r3, [r0]
- ldr r0, _08040284 @ =0x00001210
- adds r1, r1, r0
- strh r3, [r1]
-_08040226:
- ldr r1, _08040264 @ =0x020314E0
- ldr r0, [r1]
- movs r2, #0xb5
- lsls r2, r2, #3
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x15
- bne _0804024A
- ldr r0, _0804025C @ =gMain
- ldr r3, _08040280 @ =0x00002350
- adds r1, r0, r3
- mov r4, r8
- strh r4, [r1]
- ldr r1, _08040284 @ =0x00001210
- adds r0, r0, r1
- strh r4, [r0]
-_0804024A:
- add sp, #4
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804025C: .4byte gMain
-_08040260: .4byte 0x00001E10
-_08040264: .4byte 0x020314E0
-_08040268: .4byte 0x000003EA
-_0804026C: .4byte gOamBuffer
-_08040270: .4byte 0x000001FF
-_08040274: .4byte 0xFFFFFE00
-_08040278: .4byte 0x000021E0
-_0804027C: .4byte 0x00002070
-_08040280: .4byte 0x00002350
-_08040284: .4byte 0x00001210
-
- thumb_func_start sub_40288
-sub_40288: @ 0x08040288
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #0x44
- movs r0, #0
- str r0, [sp, #8]
- movs r1, #0
- str r1, [sp, #4]
- movs r7, #0
- movs r2, #0
- str r2, [sp]
- ldr r3, _080402CC @ =0x0200BAE8
- str r3, [sp, #0x10]
- ldrh r0, [r3]
- cmp r0, #0
- bne _080402AE
- b _08040444
-_080402AE:
- ldr r0, _080402D0 @ =0x020314E0
- ldr r1, [r0]
- ldr r4, _080402D4 @ =0x000006C4
- adds r1, r1, r4
- ldrb r1, [r1]
- lsls r1, r1, #0x18
- asrs r1, r1, #0x18
- cmp r1, #3
- bne _080402D8
- movs r0, #0xf0
- strh r0, [r3, #2]
- movs r0, #0xb4
- strh r0, [r3, #4]
- b _080402E2
- .align 2, 0
-_080402CC: .4byte 0x0200BAE8
-_080402D0: .4byte 0x020314E0
-_080402D4: .4byte 0x000006C4
-_080402D8:
- movs r0, #0x60
- ldr r5, [sp, #0x10]
- strh r0, [r5, #2]
- movs r0, #0x37
- strh r0, [r5, #4]
-_080402E2:
- ldr r0, _08040468 @ =0x020314E0
- ldr r1, [r0]
- ldr r3, [sp, #0x10]
- ldrh r2, [r3, #2]
- ldr r4, _0804046C @ =0x000006E4
- adds r0, r1, r4
- strh r2, [r0]
- ldrh r0, [r3, #4]
- ldr r5, _08040470 @ =0x000006E6
- adds r1, r1, r5
- strh r0, [r1]
- movs r1, #4
- ldrsh r0, [r3, r1]
- cmp r0, #0xc7
- ble _08040304
- movs r0, #0xc8
- strh r0, [r3, #4]
-_08040304:
- movs r2, #0
- ldr r3, _08040474 @ =0x0200BA30
- mov ip, r3
- ldr r5, _08040478 @ =gOamBuffer
- movs r4, #3
- mov sb, r4
- movs r0, #0xd
- rsbs r0, r0, #0
- mov sl, r0
- ldr r1, _0804047C @ =0xFFFFFE00
- mov r8, r1
-_0804031A:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- ldr r2, [sp, #0x10]
- adds r6, r2, r0
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r5
- ldrb r1, [r2, #5]
- movs r0, #0xf
- ands r0, r1
- movs r1, #0xd0
- orrs r0, r1
- strb r0, [r2, #5]
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r5
- ldr r1, _08040468 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08040480 @ =0x000006DB
- adds r0, r0, r2
- ldrb r1, [r0]
- mov r0, sb
- ands r1, r0
- lsls r1, r1, #2
- ldrb r2, [r3, #5]
- mov r0, sl
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, #5]
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r5
- movs r2, #2
- ldrsh r1, [r6, r2]
- str r1, [sp, #0x3c]
- ldr r1, [sp, #0x10]
- movs r2, #2
- ldrsh r0, [r1, r2]
- ldr r2, [sp, #0x3c]
- adds r1, r2, r0
- ldr r2, _08040484 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldr r3, [sp, #0x10]
- ldrb r0, [r3, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #5
- ble _0804031A
- mov r4, ip
- str r4, [sp, #0x10]
- ldr r5, _08040468 @ =0x020314E0
- ldr r0, [r5]
- ldr r1, _0804046C @ =0x000006E4
- adds r0, r0, r1
- ldrh r0, [r0]
- subs r0, #8
- strh r0, [r4, #2]
- ldr r0, [r5]
- ldr r2, _08040470 @ =0x000006E6
- adds r0, r0, r2
- ldrh r0, [r0]
- subs r0, #8
- strh r0, [r4, #4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xc7
- ble _080403C4
- movs r0, #0xc8
- strh r0, [r4, #4]
-_080403C4:
- movs r2, #0
- ldr r5, _08040478 @ =gOamBuffer
- movs r3, #3
- mov sb, r3
- movs r4, #0xd
- rsbs r4, r4, #0
- mov sl, r4
- ldr r0, _0804047C @ =0xFFFFFE00
- mov r8, r0
-_080403D6:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- ldr r1, [sp, #0x10]
- adds r6, r1, r0
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r5
- ldr r2, _08040468 @ =0x020314E0
- ldr r0, [r2]
- ldr r1, _08040480 @ =0x000006DB
- adds r0, r0, r1
- ldrb r1, [r0]
- mov r2, sb
- ands r1, r2
- lsls r1, r1, #2
- ldrb r2, [r3, #5]
- mov r0, sl
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, #5]
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r5
- movs r1, #2
- ldrsh r0, [r6, r1]
- mov ip, r0
- ldr r2, [sp, #0x10]
- movs r1, #2
- ldrsh r0, [r2, r1]
- mov r2, ip
- adds r1, r2, r0
- ldr r2, _08040484 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldr r3, [sp, #0x10]
- ldrb r0, [r3, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #5
- ble _080403D6
-_08040444:
- bl sub_41580
- ldr r0, _08040468 @ =0x020314E0
- ldr r0, [r0]
- ldr r4, _08040488 @ =0x00000507
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #4
- bls _0804045C
- b _08040802
-_0804045C:
- lsls r0, r0, #2
- ldr r1, _0804048C @ =_08040490
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08040468: .4byte 0x020314E0
-_0804046C: .4byte 0x000006E4
-_08040470: .4byte 0x000006E6
-_08040474: .4byte 0x0200BA30
-_08040478: .4byte gOamBuffer
-_0804047C: .4byte 0xFFFFFE00
-_08040480: .4byte 0x000006DB
-_08040484: .4byte 0x000001FF
-_08040488: .4byte 0x00000507
-_0804048C: .4byte _08040490
-_08040490: @ jump table
- .4byte _080404A4 @ case 0
- .4byte _080404C4 @ case 1
- .4byte _080405E8 @ case 2
- .4byte _080406C0 @ case 3
- .4byte _080407EC @ case 4
-_080404A4:
- ldr r0, _080404C0 @ =0x020314E0
- ldr r0, [r0]
- movs r5, #0xa2
- lsls r5, r5, #3
- adds r0, r0, r5
- movs r1, #0
- strh r1, [r0]
- movs r7, #7
- movs r0, #0xc
- str r0, [sp, #4]
- movs r1, #5
- str r1, [sp, #8]
- b _08040802
- .align 2, 0
-_080404C0: .4byte 0x020314E0
-_080404C4:
- ldr r5, _08040548 @ =0x020314E0
- ldr r0, [r5]
- movs r4, #0xa2
- lsls r4, r4, #3
- adds r0, r0, r4
- ldrh r0, [r0]
- cmp r0, #0
- bne _080404DC
- movs r0, #0x94
- lsls r0, r0, #1
- bl m4aSongNumStart
-_080404DC:
- ldr r0, [r5]
- adds r0, r0, r4
- ldrh r0, [r0]
- cmp r0, #8
- bne _080404EE
- movs r0, #0x94
- lsls r0, r0, #1
- bl m4aSongNumStop
-_080404EE:
- ldr r0, [r5]
- adds r0, r0, r4
- ldrh r0, [r0]
- cmp r0, #0x18
- bne _08040500
- movs r0, #0x94
- lsls r0, r0, #1
- bl m4aSongNumStart
-_08040500:
- ldr r0, [r5]
- adds r0, r0, r4
- ldrh r0, [r0]
- cmp r0, #0x24
- bne _08040512
- movs r0, #0x94
- lsls r0, r0, #1
- bl m4aSongNumStop
-_08040512:
- ldr r0, [r5]
- adds r0, r0, r4
- ldrh r0, [r0]
- cmp r0, #0x32
- bne _08040524
- movs r0, #0x94
- lsls r0, r0, #1
- bl m4aSongNumStart
-_08040524:
- ldr r0, [r5]
- adds r0, r0, r4
- ldrh r0, [r0]
- cmp r0, #0x38
- bne _08040536
- movs r0, #0x94
- lsls r0, r0, #1
- bl m4aSongNumStop
-_08040536:
- ldr r0, [r5]
- adds r0, r0, r4
- ldrh r1, [r0]
- cmp r1, #0xd
- bhi _0804054C
- adds r0, r1, #0
- lsrs r7, r0, #1
- b _0804056E
- .align 2, 0
-_08040548: .4byte 0x020314E0
-_0804054C:
- cmp r1, #0x29
- bls _0804055E
- cmp r1, #0x37
- bhi _0804055A
- ldrh r0, [r0]
- subs r0, #0x2a
- b _08040566
-_0804055A:
- cmp r1, #0x3c
- bhi _08040562
-_0804055E:
- movs r7, #7
- b _0804056E
-_08040562:
- ldrh r0, [r0]
- subs r0, #0x3d
-_08040566:
- lsrs r1, r0, #0x1f
- adds r0, r0, r1
- lsls r0, r0, #0xf
- lsrs r7, r0, #0x10
-_0804056E:
- ldr r0, _08040588 @ =0x020314E0
- ldr r0, [r0]
- movs r2, #0xa2
- lsls r2, r2, #3
- adds r0, r0, r2
- ldrh r1, [r0]
- cmp r1, #7
- bhi _0804058C
- adds r0, r1, #0
- lsrs r0, r0, #1
- str r0, [sp, #4]
- b _080405B2
- .align 2, 0
-_08040588: .4byte 0x020314E0
-_0804058C:
- cmp r1, #0x2f
- bhi _08040596
- movs r3, #0xc
- str r3, [sp, #4]
- b _080405B2
-_08040596:
- cmp r1, #0x3f
- bhi _080405AE
- ldrh r0, [r0]
- subs r0, #0x30
- lsrs r1, r0, #0x1f
- adds r0, r0, r1
- asrs r0, r0, #1
- adds r0, #4
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- str r0, [sp, #4]
- b _080405B2
-_080405AE:
- movs r4, #0xc
- str r4, [sp, #4]
-_080405B2:
- movs r5, #5
- str r5, [sp, #8]
- ldr r0, _080405E0 @ =0x020314E0
- ldr r1, [r0]
- movs r0, #0xa2
- lsls r0, r0, #3
- adds r2, r1, r0
- ldrh r0, [r2]
- adds r0, #1
- strh r0, [r2]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0x4b
- beq _080405D0
- b _08040802
-_080405D0:
- movs r0, #0
- strh r0, [r2]
- ldr r2, _080405E4 @ =0x00000507
- adds r1, r1, r2
- movs r0, #2
- strb r0, [r1]
- b _08040802
- .align 2, 0
-_080405E0: .4byte 0x020314E0
-_080405E4: .4byte 0x00000507
-_080405E8:
- movs r7, #7
- movs r3, #0xc
- str r3, [sp, #4]
- movs r4, #5
- str r4, [sp, #8]
- ldr r5, _0804065C @ =0x020314E0
- ldr r3, [r5]
- movs r0, #0xa2
- lsls r0, r0, #3
- adds r1, r3, r0
- ldrh r0, [r1]
- cmp r0, #0x21
- bhi _080406A4
- adds r0, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0x1c
- beq _08040610
- b _08040802
-_08040610:
- movs r1, #0xe2
- lsls r1, r1, #2
- adds r0, r3, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08040670
- bl Random
- ldr r4, [r5]
- movs r1, #0xa0
- bl __umodsi3
- movs r1, #0xc8
- subs r1, r1, r0
- ldr r2, _08040660 @ =0x0000051C
- adds r4, r4, r2
- strh r1, [r4]
- bl Random
- ldr r5, [r5]
- ldr r3, _08040664 @ =0x0000132C
- adds r1, r5, r3
- ldr r1, [r1]
- ldr r2, _08040668 @ =0xFFFFFEA5
- adds r4, r2, #0
- ldrh r1, [r1, #0x12]
- adds r4, r4, r1
- movs r1, #0x50
- bl __umodsi3
- subs r4, r4, r0
- ldr r3, _0804066C @ =0x0000051E
- adds r5, r5, r3
- strh r4, [r5]
- b _08040802
- .align 2, 0
-_0804065C: .4byte 0x020314E0
-_08040660: .4byte 0x0000051C
-_08040664: .4byte 0x0000132C
-_08040668: .4byte 0xFFFFFEA5
-_0804066C: .4byte 0x0000051E
-_08040670:
- ldr r4, _08040694 @ =0x0000132C
- adds r2, r3, r4
- ldr r0, [r2]
- ldrh r0, [r0, #0x10]
- subs r0, #0xd
- ldr r5, _08040698 @ =0x0000051C
- adds r1, r3, r5
- strh r0, [r1]
- ldr r1, [r2]
- ldr r2, _0804069C @ =0xFFFFFEA5
- adds r0, r2, #0
- ldrh r1, [r1, #0x12]
- adds r0, r0, r1
- ldr r4, _080406A0 @ =0x0000051E
- adds r1, r3, r4
- strh r0, [r1]
- b _08040802
- .align 2, 0
-_08040694: .4byte 0x0000132C
-_08040698: .4byte 0x0000051C
-_0804069C: .4byte 0xFFFFFEA5
-_080406A0: .4byte 0x0000051E
-_080406A4:
- movs r0, #0
- strh r0, [r1]
- ldr r5, _080406B8 @ =0x00000507
- adds r1, r3, r5
- movs r0, #3
- strb r0, [r1]
- ldr r0, _080406BC @ =0x00000129
- bl m4aSongNumStart
- b _08040802
- .align 2, 0
-_080406B8: .4byte 0x00000507
-_080406BC: .4byte 0x00000129
-_080406C0:
- movs r7, #7
- movs r0, #0xc
- str r0, [sp, #4]
- ldr r4, _080406DC @ =0x020314E0
- ldr r3, [r4]
- movs r1, #0xa2
- lsls r1, r1, #3
- adds r0, r3, r1
- ldrh r1, [r0]
- cmp r1, #1
- bhi _080406E0
- adds r0, r1, #0
- str r0, [sp, #8]
- b _080407D0
- .align 2, 0
-_080406DC: .4byte 0x020314E0
-_080406E0:
- cmp r1, #9
- bhi _080407C4
- ldrh r0, [r0]
- subs r0, #2
- lsrs r1, r0, #0x1f
- adds r0, r0, r1
- asrs r0, r0, #1
- adds r0, #2
- lsls r0, r0, #0x10
- movs r2, #0xa1
- lsls r2, r2, #3
- adds r1, r3, r2
- mov r5, sp
- ldrh r5, [r5, #4]
- strh r5, [r1]
- lsrs r1, r0, #0x10
- str r1, [sp, #8]
- asrs r0, r0, #0x10
- cmp r0, #2
- bne _080407D0
- ldr r2, _080407A0 @ =0x0000132C
- adds r0, r3, r2
- ldr r2, [r0]
- movs r5, #0x10
- ldrsh r0, [r2, r5]
- subs r0, #0xd
- ldr r5, _080407A4 @ =0x0000051C
- adds r1, r3, r5
- movs r5, #0
- ldrsh r1, [r1, r5]
- subs r1, r0, r1
- str r1, [sp, #0x1c]
- movs r1, #0x12
- ldrsh r0, [r2, r1]
- ldr r2, _080407A8 @ =0xFFFFFEA5
- adds r0, r0, r2
- ldr r5, _080407AC @ =0x0000051E
- adds r1, r3, r5
- movs r2, #0
- ldrsh r1, [r1, r2]
- subs r1, r0, r1
- str r1, [sp, #0x20]
- ldr r3, [sp, #0x1c]
- adds r1, r3, #0
- muls r1, r3, r1
- ldr r5, [sp, #0x20]
- adds r0, r5, #0
- muls r0, r5, r0
- adds r5, r1, r0
- movs r0, #8
- bl sub_11B0
- ldr r2, [r4]
- ldr r1, _080407B0 @ =0x00000441
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- bgt _080407D0
- ldr r3, _080407B4 @ =0x00000442
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- bgt _080407D0
- movs r4, #0xe2
- lsls r4, r4, #2
- adds r0, r2, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _080407D0
- cmp r5, #0xc7
- bgt _080407D0
- ldr r0, _080407B8 @ =gMain
- ldr r5, _080407BC @ =0x00001CD8
- adds r0, r0, r5
- movs r1, #1
- strh r1, [r0]
- ldr r0, _080407C0 @ =0x00000486
- adds r1, r2, r0
- movs r0, #0x96
- lsls r0, r0, #2
- strh r0, [r1]
- movs r0, #0x95
- lsls r0, r0, #1
- bl m4aSongNumStart
- movs r0, #9
- bl sub_11B0
- b _080407D0
- .align 2, 0
-_080407A0: .4byte 0x0000132C
-_080407A4: .4byte 0x0000051C
-_080407A8: .4byte 0xFFFFFEA5
-_080407AC: .4byte 0x0000051E
-_080407B0: .4byte 0x00000441
-_080407B4: .4byte 0x00000442
-_080407B8: .4byte gMain
-_080407BC: .4byte 0x00001CD8
-_080407C0: .4byte 0x00000486
-_080407C4:
- movs r1, #5
- str r1, [sp, #8]
- ldr r2, _080407E4 @ =0x00000507
- adds r1, r3, r2
- movs r0, #4
- strb r0, [r1]
-_080407D0:
- ldr r0, _080407E8 @ =0x020314E0
- ldr r1, [r0]
- movs r3, #0xa2
- lsls r3, r3, #3
- adds r1, r1, r3
- ldrh r0, [r1]
- adds r0, #1
- strh r0, [r1]
- b _08040802
- .align 2, 0
-_080407E4: .4byte 0x00000507
-_080407E8: .4byte 0x020314E0
-_080407EC:
- ldr r0, _08040A88 @ =0x020314E0
- ldr r1, [r0]
- movs r4, #0xa2
- lsls r4, r4, #3
- adds r2, r1, r4
- movs r3, #0
- movs r0, #0
- strh r0, [r2]
- ldr r5, _08040A8C @ =0x00000507
- adds r1, r1, r5
- strb r3, [r1]
-_08040802:
- ldr r0, _08040A90 @ =0x0200BFF0
- str r0, [sp, #0x10]
- ldrh r0, [r0]
- cmp r0, #0
- beq _080408F0
- ldr r1, _08040A88 @ =0x020314E0
- ldr r4, [r1]
- movs r2, #0xfa
- lsls r2, r2, #2
- adds r0, r4, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldrh r1, [r4]
- subs r1, #0x58
- subs r0, r0, r1
- ldr r4, [sp, #0x10]
- strh r0, [r4, #2]
- ldr r5, _08040A88 @ =0x020314E0
- ldr r4, [r5]
- ldr r1, _08040A94 @ =0x000003EA
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r0, r0, r1
- adds r0, #0x60
- ldr r3, [sp, #0x10]
- strh r0, [r3, #4]
- movs r2, #0
- lsls r1, r7, #0x10
- ldr r4, _08040A98 @ =0x086B609E
- mov sl, r4
- ldr r5, _08040A9C @ =gOamBuffer
- mov ip, r5
- asrs r1, r1, #0x10
- lsls r0, r1, #3
- adds r0, r0, r1
- lsls r0, r0, #1
- mov r8, r0
- ldr r7, _08040AA0 @ =0xFFFFFE00
- mov sb, r7
-_08040864:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- ldr r1, [sp, #0x10]
- adds r6, r1, r0
- ldrh r0, [r6]
- lsls r0, r0, #3
- mov r2, ip
- adds r5, r0, r2
- lsls r0, r3, #1
- adds r0, r0, r3
- lsls r0, r0, #1
- add r0, sl
- mov r4, r8
- adds r1, r4, r0
- ldrh r0, [r1]
- strh r0, [r5]
- adds r1, #2
- adds r5, #2
- ldrh r0, [r1]
- strh r0, [r5]
- ldrh r0, [r1, #2]
- strh r0, [r5, #2]
- ldrh r2, [r6]
- lsls r2, r2, #3
- add r2, ip
- ldrh r4, [r2, #2]
- lsls r1, r4, #0x17
- lsrs r1, r1, #0x17
- ldr r5, [sp, #0x10]
- movs r7, #2
- ldrsh r0, [r5, r7]
- adds r1, r1, r0
- ldr r5, _08040AA4 @ =0x000001FF
- adds r0, r5, #0
- ands r1, r0
- mov r0, sb
- ands r0, r4
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- add r1, ip
- ldr r7, [sp, #0x10]
- ldrb r0, [r7, #4]
- ldrb r2, [r1]
- adds r0, r0, r2
- strb r0, [r1]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #2
- ble _08040864
- ldr r3, _08040A88 @ =0x020314E0
- ldr r0, [r3]
- ldr r4, _08040A8C @ =0x00000507
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #4
- bne _080408F0
- ldr r0, _08040AA8 @ =gMain
- movs r5, #0xf3
- lsls r5, r5, #4
- adds r0, r0, r5
- movs r1, #0
- strh r1, [r0]
-_080408F0:
- ldr r7, _08040AAC @ =0x0200C0A8
- str r7, [sp, #0x10]
- adds r1, r7, #0
- ldrh r0, [r1]
- cmp r0, #0
- beq _080409DC
- ldr r2, _08040A88 @ =0x020314E0
- ldr r4, [r2]
- movs r3, #0xfa
- lsls r3, r3, #2
- adds r0, r4, r3
- movs r5, #0
- ldrsh r0, [r0, r5]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldrh r1, [r4]
- subs r1, #0x58
- subs r0, r0, r1
- strh r0, [r7, #2]
- ldr r0, _08040A88 @ =0x020314E0
- ldr r4, [r0]
- ldr r1, _08040A94 @ =0x000003EA
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r0, r0, r1
- adds r0, #0x60
- strh r0, [r7, #4]
- movs r2, #0
- ldr r3, [sp, #4]
- lsls r1, r3, #0x10
- ldr r4, _08040AB0 @ =0x086B5ECA
- mov sl, r4
- ldr r5, _08040A9C @ =gOamBuffer
- mov ip, r5
- asrs r1, r1, #0x10
- lsls r0, r1, #3
- adds r0, r0, r1
- lsls r0, r0, #2
- mov r8, r0
- ldr r7, _08040AA0 @ =0xFFFFFE00
- mov sb, r7
-_08040952:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- ldr r1, [sp, #0x10]
- adds r6, r1, r0
- ldrh r0, [r6]
- lsls r0, r0, #3
- mov r2, ip
- adds r5, r0, r2
- lsls r0, r3, #1
- adds r0, r0, r3
- lsls r0, r0, #1
- add r0, sl
- mov r4, r8
- adds r1, r4, r0
- ldrh r0, [r1]
- strh r0, [r5]
- adds r1, #2
- adds r5, #2
- ldrh r0, [r1]
- strh r0, [r5]
- ldrh r0, [r1, #2]
- strh r0, [r5, #2]
- ldrh r2, [r6]
- lsls r2, r2, #3
- add r2, ip
- ldrh r4, [r2, #2]
- lsls r1, r4, #0x17
- lsrs r1, r1, #0x17
- ldr r5, [sp, #0x10]
- movs r7, #2
- ldrsh r0, [r5, r7]
- adds r1, r1, r0
- ldr r5, _08040AA4 @ =0x000001FF
- adds r0, r5, #0
- ands r1, r0
- mov r0, sb
- ands r0, r4
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- add r1, ip
- ldr r7, [sp, #0x10]
- ldrb r0, [r7, #4]
- ldrb r2, [r1]
- adds r0, r0, r2
- strb r0, [r1]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #5
- ble _08040952
- ldr r3, _08040A88 @ =0x020314E0
- ldr r0, [r3]
- ldr r4, _08040A8C @ =0x00000507
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #4
- bne _080409DC
- ldr r0, _08040AA8 @ =gMain
- ldr r5, _08040AB4 @ =0x00000FE8
- adds r0, r0, r5
- movs r1, #0
- strh r1, [r0]
-_080409DC:
- ldr r7, _08040AB8 @ =0x0200C160
- str r7, [sp, #0x10]
- adds r1, r7, #0
- ldrh r0, [r1]
- cmp r0, #0
- bne _080409EA
- b _08040B26
-_080409EA:
- ldr r2, _08040A88 @ =0x020314E0
- ldr r1, [r2]
- ldr r3, _08040ABC @ =0x0000051C
- adds r0, r1, r3
- adds r1, #0x58
- ldrh r0, [r0]
- ldrh r1, [r1]
- subs r0, r0, r1
- adds r4, r7, #0
- strh r0, [r4, #2]
- ldr r1, [r2]
- ldr r5, _08040AC0 @ =0x0000051E
- adds r0, r1, r5
- adds r1, #0x5a
- ldrh r0, [r0]
- ldrh r1, [r1]
- subs r0, r0, r1
- strh r0, [r4, #4]
- movs r2, #0
- ldr r7, _08040A9C @ =gOamBuffer
- mov r8, r7
- ldr r0, [sp, #8]
- lsls r1, r0, #0x10
- ldr r3, _08040AC4 @ =0x086B5DCE
- mov sl, r3
- mov ip, r8
- asrs r1, r1, #0x10
- movs r0, #0x2a
- adds r4, r1, #0
- muls r4, r0, r4
- mov sb, r4
- ldr r4, _08040AA0 @ =0xFFFFFE00
-_08040A2A:
- lsls r2, r2, #0x10
- asrs r1, r2, #0x10
- lsls r0, r1, #3
- adds r0, #8
- ldr r5, [sp, #0x10]
- adds r6, r5, r0
- ldrh r0, [r6]
- lsls r0, r0, #3
- mov r7, ip
- adds r5, r0, r7
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- add r0, sl
- mov r3, sb
- adds r1, r3, r0
- ldrh r0, [r1]
- strh r0, [r5]
- adds r1, #2
- adds r5, #2
- ldrh r0, [r1]
- strh r0, [r5]
- ldrh r0, [r1, #2]
- strh r0, [r5, #2]
- ldrh r0, [r6]
- lsls r0, r0, #3
- adds r5, r0, r7
- movs r1, #0
- ldrsb r1, [r5, r1]
- ldr r7, [sp, #0x10]
- movs r3, #4
- ldrsh r0, [r7, r3]
- adds r1, r1, r0
- ldr r0, _08040AC8 @ =0xFFFFFED4
- str r2, [sp, #0x40]
- cmp r1, r0
- bge _08040ACC
- ldrh r1, [r5, #2]
- adds r0, r4, #0
- ands r0, r1
- strh r0, [r5, #2]
- ldrh r0, [r6]
- lsls r0, r0, #3
- add r0, r8
- movs r1, #0xb4
- strb r1, [r0]
- b _08040AF8
- .align 2, 0
-_08040A88: .4byte 0x020314E0
-_08040A8C: .4byte 0x00000507
-_08040A90: .4byte 0x0200BFF0
-_08040A94: .4byte 0x000003EA
-_08040A98: .4byte 0x086B609E
-_08040A9C: .4byte gOamBuffer
-_08040AA0: .4byte 0xFFFFFE00
-_08040AA4: .4byte 0x000001FF
-_08040AA8: .4byte gMain
-_08040AAC: .4byte 0x0200C0A8
-_08040AB0: .4byte 0x086B5ECA
-_08040AB4: .4byte 0x00000FE8
-_08040AB8: .4byte 0x0200C160
-_08040ABC: .4byte 0x0000051C
-_08040AC0: .4byte 0x0000051E
-_08040AC4: .4byte 0x086B5DCE
-_08040AC8: .4byte 0xFFFFFED4
-_08040ACC:
- ldrh r2, [r5, #2]
- lsls r1, r2, #0x17
- lsrs r1, r1, #0x17
- ldr r7, [sp, #0x10]
- movs r3, #2
- ldrsh r0, [r7, r3]
- adds r1, r1, r0
- ldr r7, _08040C70 @ =0x000001FF
- adds r0, r7, #0
- ands r1, r0
- adds r0, r4, #0
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- add r1, r8
- ldr r2, [sp, #0x10]
- ldrb r0, [r2, #4]
- ldrb r3, [r1]
- adds r0, r0, r3
- strb r0, [r1]
-_08040AF8:
- ldr r5, [sp, #0x40]
- movs r7, #0x80
- lsls r7, r7, #9
- adds r0, r5, r7
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #6
- ble _08040A2A
- ldr r1, _08040C74 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08040C78 @ =0x00000507
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #4
- bne _08040B26
- ldr r0, _08040C7C @ =gMain
- movs r3, #0x85
- lsls r3, r3, #5
- adds r0, r0, r3
- movs r1, #0
- strh r1, [r0]
-_08040B26:
- ldr r4, _08040C80 @ =0x0200C388
- str r4, [sp, #0x10]
- ldrh r0, [r4]
- cmp r0, #0
- beq _08040BBC
- ldr r5, _08040C74 @ =0x020314E0
- ldr r4, [r5]
- ldr r7, _08040C84 @ =0x00000524
- adds r0, r4, r7
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldrh r1, [r4]
- adds r1, #0x78
- subs r0, r0, r1
- ldr r2, [sp, #0x10]
- strh r0, [r2, #2]
- ldr r4, [r5]
- ldr r3, _08040C88 @ =0x00000526
- adds r0, r4, r3
- movs r5, #0
- ldrsh r0, [r0, r5]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x80
- subs r0, r0, r1
- ldr r7, [sp, #0x10]
- strh r0, [r7, #4]
- movs r2, #0
- ldr r5, _08040C8C @ =gOamBuffer
- ldr r0, _08040C90 @ =0xFFFFFE00
- mov r8, r0
-_08040B72:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- ldr r1, [sp, #0x10]
- adds r6, r1, r0
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r5
- movs r2, #2
- ldrsh r1, [r6, r2]
- ldr r7, [sp, #0x10]
- movs r2, #2
- ldrsh r0, [r7, r2]
- adds r1, r1, r0
- ldr r7, _08040C70 @ =0x000001FF
- adds r0, r7, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldr r2, [sp, #0x10]
- ldrb r0, [r2, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0x11
- ble _08040B72
-_08040BBC:
- ldr r3, _08040C94 @ =0x0200C440
- str r3, [sp, #0x10]
- ldrh r0, [r3]
- cmp r0, #0
- beq _08040C54
- ldr r5, _08040C74 @ =0x020314E0
- ldr r4, [r5]
- ldr r7, _08040C84 @ =0x00000524
- adds r0, r4, r7
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldr r2, _08040C98 @ =0xFFFFFE98
- adds r1, r2, #0
- ldrh r4, [r4]
- adds r1, r1, r4
- subs r0, r0, r1
- ldr r3, [sp, #0x10]
- strh r0, [r3, #2]
- ldr r4, [r5]
- ldr r5, _08040C88 @ =0x00000526
- adds r0, r4, r5
- movs r7, #0
- ldrsh r0, [r0, r7]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x80
- subs r0, r0, r1
- ldr r1, [sp, #0x10]
- strh r0, [r1, #4]
- movs r2, #0
- ldr r5, _08040C8C @ =gOamBuffer
- ldr r3, _08040C90 @ =0xFFFFFE00
- mov r8, r3
-_08040C0C:
- lsls r4, r2, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- ldr r7, [sp, #0x10]
- adds r6, r7, r0
- ldrh r3, [r6]
- lsls r3, r3, #3
- adds r3, r3, r5
- movs r0, #2
- ldrsh r1, [r6, r0]
- movs r2, #2
- ldrsh r0, [r7, r2]
- adds r1, r1, r0
- ldr r7, _08040C70 @ =0x000001FF
- adds r0, r7, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldr r2, [sp, #0x10]
- ldrb r0, [r2, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r2, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0x11
- ble _08040C0C
-_08040C54:
- ldr r0, _08040C74 @ =0x020314E0
- ldr r1, [r0]
- movs r3, #0xe3
- lsls r3, r3, #2
- adds r0, r1, r3
- movs r4, #0
- ldrsh r0, [r0, r4]
- cmp r0, #0
- ble _08040CA0
- ldr r5, _08040C9C @ =0x0000132C
- adds r0, r1, r5
- ldr r1, [r0]
- movs r0, #1
- b _08040CA8
- .align 2, 0
-_08040C70: .4byte 0x000001FF
-_08040C74: .4byte 0x020314E0
-_08040C78: .4byte 0x00000507
-_08040C7C: .4byte gMain
-_08040C80: .4byte 0x0200C388
-_08040C84: .4byte 0x00000524
-_08040C88: .4byte 0x00000526
-_08040C8C: .4byte gOamBuffer
-_08040C90: .4byte 0xFFFFFE00
-_08040C94: .4byte 0x0200C440
-_08040C98: .4byte 0xFFFFFE98
-_08040C9C: .4byte 0x0000132C
-_08040CA0:
- ldr r7, _08040CE4 @ =0x0000132C
- adds r0, r1, r7
- ldr r1, [r0]
- movs r0, #2
-_08040CA8:
- strb r0, [r1, #1]
- movs r0, #0
- str r0, [sp, #0xc]
-_08040CAE:
- ldr r1, [sp, #0xc]
- lsls r3, r1, #0x10
- asrs r2, r3, #0x10
- movs r0, #0xb8
- adds r1, r2, #0
- muls r1, r0, r1
- ldr r0, _08040CE8 @ =0x0200BE80
- adds r1, r1, r0
- str r1, [sp, #0x10]
- ldr r1, _08040CEC @ =0x020314E0
- ldr r0, [r1]
- ldr r4, _08040CF0 @ =0x00000441
- adds r0, r0, r4
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- str r3, [sp, #0x34]
- cmp r0, #5
- bls _08040CD8
- b _0804131A
-_08040CD8:
- lsls r0, r0, #2
- ldr r1, _08040CF4 @ =_08040CF8
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08040CE4: .4byte 0x0000132C
-_08040CE8: .4byte 0x0200BE80
-_08040CEC: .4byte 0x020314E0
-_08040CF0: .4byte 0x00000441
-_08040CF4: .4byte _08040CF8
-_08040CF8: @ jump table
- .4byte _08040D10 @ case 0
- .4byte _08040D3C @ case 1
- .4byte _08040D7C @ case 2
- .4byte _0804103C @ case 3
- .4byte _0804120C @ case 4
- .4byte _080412D8 @ case 5
-_08040D10:
- movs r5, #0
- str r5, [sp]
- ldr r0, _08040D30 @ =0x020314E0
- ldr r1, [r0]
- ldr r7, [sp, #0x34]
- asrs r0, r7, #0xe
- adds r1, r1, r0
- ldr r2, _08040D34 @ =0x0000045C
- adds r0, r1, r2
- strh r5, [r0]
- ldr r4, _08040D38 @ =0x0000045E
- adds r1, r1, r4
- mov r5, sp
- ldrh r5, [r5]
- strh r5, [r1]
- b _0804131A
- .align 2, 0
-_08040D30: .4byte 0x020314E0
-_08040D34: .4byte 0x0000045C
-_08040D38: .4byte 0x0000045E
-_08040D3C:
- ldr r0, _08040D74 @ =0x020314E0
- ldr r6, [r0]
- ldr r0, [sp, #0x34]
- asrs r7, r0, #0x10
- lsls r1, r7, #1
- movs r2, #0x8b
- lsls r2, r2, #3
- adds r0, r6, r2
- adds r5, r0, r1
- ldrh r4, [r5]
- adds r0, r4, #0
- movs r1, #5
- bl __udivsi3
- adds r0, #1
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- str r0, [sp]
- cmp r4, #0xd
- bhi _08040D66
- b _08041300
-_08040D66:
- movs r0, #0
- strh r0, [r5]
- ldr r3, _08040D78 @ =0x00000441
- adds r0, r6, r3
- adds r0, r0, r7
- movs r1, #2
- b _08041318
- .align 2, 0
-_08040D74: .4byte 0x020314E0
-_08040D78: .4byte 0x00000441
-_08040D7C:
- ldr r4, _08040FE0 @ =0x020314E0
- ldr r0, [r4]
- ldr r5, [sp, #0x34]
- asrs r1, r5, #0xf
- movs r7, #0x8b
- lsls r7, r7, #3
- adds r0, r0, r7
- adds r0, r0, r1
- ldrh r1, [r0]
- movs r0, #0xf
- ands r1, r0
- movs r0, #4
- str r0, [sp]
- cmp r1, #3
- ble _08040DA6
- movs r2, #6
- str r2, [sp]
- cmp r1, #9
- bgt _08040DA6
- movs r3, #5
- str r3, [sp]
-_08040DA6:
- ldr r4, _08040FE0 @ =0x020314E0
- mov sl, r4
- ldr r0, [r4]
- ldr r5, [sp, #0x34]
- asrs r5, r5, #0x10
- mov sb, r5
- ldr r7, _08040FE4 @ =0x00000441
- adds r0, r0, r7
- add r0, sb
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- ble _08040DC4
- b _08040FC0
-_08040DC4:
- ldr r0, _08040FE8 @ =gMain
- lsls r1, r5, #4
- subs r1, r1, r5
- lsls r1, r1, #3
- ldr r0, [r0, #0x4c]
- adds r0, r0, r1
- movs r1, #0xf0
- bl __umodsi3
- lsls r0, r0, #0x10
- movs r1, #0xf0
- bl __udivsi3
- adds r5, r0, #0
- lsls r5, r5, #0x10
- lsrs r5, r5, #0x10
- adds r0, r5, #0
- bl sub_C74
- ldr r4, [r4]
- mov r1, sb
- lsls r1, r1, #2
- str r1, [sp, #0x24]
- adds r4, r4, r1
- ldr r2, _08040FEC @ =0x00000464
- adds r6, r4, r2
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r3, #0xfa
- lsls r3, r3, #1
- mov r8, r3
- mov r1, r8
- bl __divsi3
- ldrh r1, [r6]
- adds r1, r1, r0
- adds r7, #0x1b
- adds r4, r4, r7
- strh r1, [r4]
- adds r0, r5, #0
- bl sub_C24
- mov r1, sl
- ldr r7, [r1]
- ldr r2, [sp, #0x24]
- adds r5, r7, r2
- ldr r3, _08040FF0 @ =0x00000466
- adds r4, r5, r3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- mov r1, r8
- bl __divsi3
- ldrh r1, [r4]
- adds r1, r1, r0
- ldr r4, _08040FF4 @ =0x0000045E
- mov r8, r4
- adds r2, r5, r4
- strh r1, [r2]
- ldr r1, _08040FF8 @ =0x0000132C
- adds r0, r7, r1
- ldr r6, [r0]
- movs r3, #0x10
- ldrsh r4, [r6, r3]
- ldr r0, _08040FFC @ =0x0000045C
- adds r5, r5, r0
- movs r1, #0
- ldrsh r0, [r5, r1]
- movs r1, #0xa
- str r2, [sp, #0x38]
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- subs r4, r4, r0
- subs r4, #0x10
- str r4, [sp, #0x1c]
- movs r3, #0x12
- ldrsh r4, [r6, r3]
- ldr r2, [sp, #0x38]
- movs r5, #0
- ldrsh r0, [r2, r5]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- subs r4, r4, r0
- subs r4, #0x20
- str r4, [sp, #0x20]
- ldr r0, [sp, #0x1c]
- adds r1, r0, #0
- muls r1, r0, r1
- adds r0, r4, #0
- muls r0, r4, r0
- adds r5, r1, r0
- ldr r1, _08041000 @ =0x00000383
- adds r0, r7, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08040E94
- b _08040FC0
-_08040E94:
- movs r2, #0xe2
- lsls r2, r2, #2
- adds r0, r7, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08040EA6
- b _08040FC0
-_08040EA6:
- ldr r3, _08041004 @ =0x00000385
- adds r0, r7, r3
- movs r4, #0xe1
- lsls r4, r4, #2
- adds r1, r7, r4
- movs r2, #0
- ldrsb r2, [r0, r2]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- blt _08040EBE
- b _08040FC0
-_08040EBE:
- ldr r1, _08041008 @ =0x00000452
- adds r0, r7, r1
- ldrh r4, [r0]
- cmp r4, #0
- bne _08040FC0
- ldr r6, _0804100C @ =0x0000012B
- cmp r5, r6
- bgt _08040FC0
- ldr r2, _08041010 @ =0x00000486
- adds r1, r7, r2
- movs r0, #6
- strh r0, [r1]
- movs r3, #1
- strb r3, [r7, #0x1f]
- mov r5, sl
- ldr r1, [r5]
- mov r7, sb
- lsls r2, r7, #1
- movs r5, #0x8b
- lsls r5, r5, #3
- adds r0, r1, r5
- adds r0, r0, r2
- strh r4, [r0]
- ldr r7, _08040FE4 @ =0x00000441
- adds r1, r1, r7
- add r1, sb
- movs r0, #3
- strb r0, [r1]
- mov r1, sl
- ldr r0, [r1]
- ldr r2, _08041014 @ =0x000005FA
- adds r0, r0, r2
- strb r3, [r0]
- ldr r5, [r1]
- ldr r3, [sp, #0x24]
- adds r4, r5, r3
- adds r7, #0x1b
- adds r0, r4, r7
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- adds r0, #0x10
- str r0, [sp, #0x14]
- add r4, r8
- movs r2, #0
- ldrsh r0, [r4, r2]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- adds r0, #0x20
- str r0, [sp, #0x18]
- ldr r3, [sp, #0x14]
- lsls r1, r3, #8
- ldr r4, _08040FF8 @ =0x0000132C
- adds r0, r5, r4
- ldr r2, [r0]
- ldr r0, [r2, #0x34]
- subs r0, r1, r0
- str r0, [sp, #0x1c]
- ldr r7, [sp, #0x18]
- lsls r1, r7, #8
- ldr r0, [r2, #0x38]
- subs r0, r1, r0
- str r0, [sp, #0x20]
- ldr r4, _08041018 @ =0x000005AC
- adds r5, r5, r4
- ldr r1, [sp, #0x1c]
- adds r0, r1, #0
- muls r0, r1, r0
- ldr r2, [sp, #0x20]
- adds r1, r2, #0
- muls r1, r2, r1
- adds r0, r0, r1
- str r0, [r5]
- lsls r0, r0, #2
- bl Sqrt
- mov r3, sl
- ldr r1, [r3]
- adds r1, r1, r4
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x11
- str r0, [r1]
- ldr r4, [sp, #0x1c]
- rsbs r0, r4, #0
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- ldr r5, [sp, #0x20]
- lsls r1, r5, #0x10
- asrs r1, r1, #0x10
- bl ArcTan2
- mov r7, sl
- ldr r2, [r7]
- movs r3, #0xb6
- lsls r3, r3, #3
- adds r1, r2, r3
- strh r0, [r1]
- ldr r0, [sp, #0xc]
- adds r0, #1
- ldr r4, _0804101C @ =0x00000505
- adds r2, r2, r4
- strb r0, [r2]
- ldr r2, [r7]
- ldr r5, [sp, #0x24]
- adds r1, r2, r5
- ldr r7, _08040FFC @ =0x0000045C
- adds r0, r1, r7
- ldrh r3, [r0]
- adds r4, #0x1b
- adds r0, r2, r4
- strh r3, [r0]
- add r1, r8
- ldrh r0, [r1]
- ldr r5, _08041020 @ =0x00000522
- adds r2, r2, r5
- strh r0, [r2]
- adds r0, r6, #0
- bl m4aSongNumStart
- movs r0, #0xd
- bl sub_11B0
-_08040FC0:
- ldr r0, _08040FE0 @ =0x020314E0
- ldr r3, [r0]
- ldr r7, [sp, #0x34]
- asrs r4, r7, #0x10
- lsls r1, r4, #1
- movs r2, #0x8b
- lsls r2, r2, #3
- adds r0, r3, r2
- adds r1, r0, r1
- ldrh r2, [r1]
- ldr r0, _08041024 @ =0x00000347
- cmp r2, r0
- bhi _08041028
- adds r0, r2, #1
- strh r0, [r1]
- b _0804131A
- .align 2, 0
-_08040FE0: .4byte 0x020314E0
-_08040FE4: .4byte 0x00000441
-_08040FE8: .4byte gMain
-_08040FEC: .4byte 0x00000464
-_08040FF0: .4byte 0x00000466
-_08040FF4: .4byte 0x0000045E
-_08040FF8: .4byte 0x0000132C
-_08040FFC: .4byte 0x0000045C
-_08041000: .4byte 0x00000383
-_08041004: .4byte 0x00000385
-_08041008: .4byte 0x00000452
-_0804100C: .4byte 0x0000012B
-_08041010: .4byte 0x00000486
-_08041014: .4byte 0x000005FA
-_08041018: .4byte 0x000005AC
-_0804101C: .4byte 0x00000505
-_08041020: .4byte 0x00000522
-_08041024: .4byte 0x00000347
-_08041028:
- movs r0, #0
- strh r0, [r1]
- ldr r5, _08041038 @ =0x00000441
- adds r0, r3, r5
- adds r0, r0, r4
- movs r1, #5
- b _08041318
- .align 2, 0
-_08041038: .4byte 0x00000441
-_0804103C:
- ldr r7, _080411E4 @ =0x020314E0
- ldr r0, [r7]
- ldr r2, [sp, #0x34]
- asrs r1, r2, #0xf
- movs r3, #0x8b
- lsls r3, r3, #3
- adds r0, r0, r3
- adds r0, r0, r1
- ldrh r1, [r0]
- movs r0, #0xf
- ands r1, r0
- movs r4, #4
- str r4, [sp]
- cmp r1, #3
- ble _08041066
- movs r5, #6
- str r5, [sp]
- cmp r1, #9
- bgt _08041066
- movs r7, #5
- str r7, [sp]
-_08041066:
- ldr r0, _080411E4 @ =0x020314E0
- ldr r6, [r0]
- ldr r1, [sp, #0x34]
- asrs r1, r1, #0x10
- str r1, [sp, #0x28]
- lsls r2, r1, #1
- str r2, [sp, #0x2c]
- movs r3, #0x8b
- lsls r3, r3, #3
- adds r0, r6, r3
- adds r0, r0, r2
- ldrh r1, [r0]
- movs r0, #0x1d
- subs r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #9
- bgt _0804108E
- movs r4, #0xa
-_0804108E:
- movs r5, #0xb6
- lsls r5, r5, #3
- mov sl, r5
- adds r5, r6, r5
- lsls r4, r4, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #0xd
- movs r1, #0x1e
- bl __divsi3
- adds r1, r0, #0
- movs r0, #0x80
- lsls r0, r0, #6
- subs r0, r0, r1
- lsls r0, r0, #1
- movs r1, #5
- bl __divsi3
- ldrh r1, [r5]
- subs r1, r1, r0
- strh r1, [r5]
- ldr r7, _080411E8 @ =0x0000132C
- adds r0, r6, r7
- ldr r1, [r0]
- ldr r2, _080411EC @ =0xFFFFE000
- adds r0, r2, #0
- ldrh r3, [r1, #0xa]
- adds r0, r0, r3
- strh r0, [r1, #0xa]
- ldr r7, _080411F0 @ =0x000005AC
- adds r0, r6, r7
- ldr r0, [r0]
- muls r0, r4, r0
- movs r1, #0x1e
- bl __divsi3
- mov sb, r0
- ldr r0, [sp, #0x28]
- lsls r4, r0, #2
- adds r4, r6, r4
- ldr r1, _080411F4 @ =0x0000045C
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- adds r0, #0x10
- str r0, [sp, #0x14]
- ldr r3, _080411F8 @ =0x0000045E
- adds r4, r4, r3
- movs r7, #0
- ldrsh r0, [r4, r7]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- adds r0, #0x20
- str r0, [sp, #0x18]
- ldrh r0, [r5]
- bl sub_C74
- ldr r1, _080411E4 @ =0x020314E0
- ldr r5, [r1]
- ldr r2, _080411E8 @ =0x0000132C
- adds r1, r5, r2
- ldr r6, [r1]
- ldr r3, [sp, #0x14]
- lsls r4, r3, #8
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- mov r7, sb
- muls r7, r0, r7
- adds r0, r7, #0
- ldr r1, _080411FC @ =0x00004E20
- mov r8, r1
- bl __divsi3
- adds r4, r4, r0
- str r4, [r6, #0x34]
- add r5, sl
- ldrh r0, [r5]
- bl sub_C24
- ldr r2, _080411E4 @ =0x020314E0
- ldr r7, [r2]
- ldr r3, _080411E8 @ =0x0000132C
- adds r5, r7, r3
- ldr r6, [r5]
- ldr r1, [sp, #0x18]
- lsls r4, r1, #8
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- mov r2, sb
- muls r2, r0, r2
- adds r0, r2, #0
- mov r1, r8
- bl __divsi3
- subs r4, r4, r0
- str r4, [r6, #0x38]
- ldr r4, [r5]
- movs r3, #0x30
- ldrsh r0, [r4, r3]
- lsls r0, r0, #2
- movs r1, #5
- bl __divsi3
- strh r0, [r4, #0x30]
- ldr r4, [r5]
- movs r5, #0x32
- ldrsh r0, [r4, r5]
- lsls r0, r0, #2
- movs r1, #5
- bl __divsi3
- strh r0, [r4, #0x32]
- movs r0, #0xe3
- lsls r0, r0, #2
- adds r2, r7, r0
- movs r3, #0
- ldrsh r1, [r2, r3]
- ldr r0, _08041200 @ =0x00000707
- cmp r1, r0
- bgt _0804119C
- ldr r4, _08041204 @ =0x0000038A
- adds r0, r7, r4
- movs r5, #0
- strh r5, [r0]
- ldrh r0, [r2]
- adds r0, #0x20
- strh r0, [r2]
-_0804119C:
- ldr r7, _080411E4 @ =0x020314E0
- ldr r2, [r7]
- movs r1, #0x8b
- lsls r1, r1, #3
- adds r0, r2, r1
- ldr r3, [sp, #0x2c]
- adds r1, r0, r3
- ldrh r0, [r1]
- cmp r0, #0xb3
- bhi _080411B2
- b _080412BE
-_080411B2:
- movs r4, #0
- strh r4, [r1]
- ldr r5, _08041208 @ =0x00000441
- adds r0, r2, r5
- ldr r7, [sp, #0x28]
- adds r0, r0, r7
- movs r1, #4
- strb r1, [r0]
- ldr r0, _080411E4 @ =0x020314E0
- ldr r2, [r0]
- ldr r1, _080411F0 @ =0x000005AC
- adds r3, r2, r1
- ldr r0, [r3]
- lsrs r1, r0, #0x1f
- adds r0, r0, r1
- asrs r0, r0, #1
- str r0, [r3]
- ldr r3, _080411E8 @ =0x0000132C
- adds r2, r2, r3
- ldr r1, [r2]
- movs r0, #0xa5
- lsls r0, r0, #8
- str r0, [r1, #0x38]
- b _0804131A
- .align 2, 0
-_080411E4: .4byte 0x020314E0
-_080411E8: .4byte 0x0000132C
-_080411EC: .4byte 0xFFFFE000
-_080411F0: .4byte 0x000005AC
-_080411F4: .4byte 0x0000045C
-_080411F8: .4byte 0x0000045E
-_080411FC: .4byte 0x00004E20
-_08041200: .4byte 0x00000707
-_08041204: .4byte 0x0000038A
-_08041208: .4byte 0x00000441
-_0804120C:
- ldr r4, _080412C4 @ =0x020314E0
- mov sl, r4
- ldr r0, [r4]
- ldr r5, [sp, #0x34]
- asrs r5, r5, #0x10
- str r5, [sp, #0x30]
- lsls r7, r5, #1
- movs r1, #0x8b
- lsls r1, r1, #3
- adds r0, r0, r1
- adds r0, r0, r7
- ldrh r0, [r0]
- cmp r0, #0x81
- bhi _0804131A
- cmp r0, #0xa
- bne _08041234
- movs r0, #0x96
- lsls r0, r0, #1
- bl m4aSongNumStart
-_08041234:
- mov r2, sl
- ldr r6, [r2]
- ldr r4, _080412C8 @ =0x0000038A
- adds r3, r6, r4
- ldrh r1, [r3]
- subs r1, #1
- movs r5, #0
- mov sb, r5
- movs r0, #0
- mov r8, r0
- strh r1, [r3]
- adds r4, #2
- adds r2, r6, r4
- ldrh r0, [r2]
- adds r0, r0, r1
- strh r0, [r2]
- lsls r0, r0, #0x10
- cmp r0, #0
- bgt _080412B0
- mov r5, r8
- strh r5, [r2]
- ldr r4, _080412CC @ =0x0000132C
- adds r0, r6, r4
- ldr r5, [r0]
- movs r1, #0
- ldrsh r0, [r3, r1]
- lsls r0, r0, #7
- movs r1, #0xa
- bl __divsi3
- rsbs r0, r0, #0
- lsrs r1, r0, #0x1f
- adds r0, r0, r1
- asrs r0, r0, #1
- strh r0, [r5, #0x32]
- mov r2, sb
- strb r2, [r6, #0x1f]
- mov r3, sl
- ldr r1, [r3]
- movs r5, #0x8b
- lsls r5, r5, #3
- adds r0, r1, r5
- adds r0, r0, r7
- mov r2, r8
- strh r2, [r0]
- adds r4, r1, r4
- ldr r0, [r4]
- strh r2, [r0, #0x30]
- ldr r3, _080412D0 @ =0x00000441
- adds r1, r1, r3
- ldr r4, [sp, #0x30]
- adds r1, r1, r4
- mov r5, sb
- strb r5, [r1]
- mov r1, sl
- ldr r0, [r1]
- ldr r2, _080412D4 @ =0x000005FA
- adds r0, r0, r2
- strb r5, [r0]
- movs r0, #8
- bl sub_11B0
-_080412B0:
- mov r3, sl
- ldr r1, [r3]
- movs r4, #0x8b
- lsls r4, r4, #3
- adds r1, r1, r4
- adds r1, r1, r7
- ldrh r0, [r1]
-_080412BE:
- adds r0, #1
- strh r0, [r1]
- b _0804131A
- .align 2, 0
-_080412C4: .4byte 0x020314E0
-_080412C8: .4byte 0x0000038A
-_080412CC: .4byte 0x0000132C
-_080412D0: .4byte 0x00000441
-_080412D4: .4byte 0x000005FA
-_080412D8:
- ldr r0, _08041308 @ =0x020314E0
- ldr r6, [r0]
- ldr r5, [sp, #0x34]
- asrs r7, r5, #0x10
- lsls r1, r7, #1
- movs r2, #0x8b
- lsls r2, r2, #3
- adds r0, r6, r2
- adds r5, r0, r1
- ldrh r4, [r5]
- adds r0, r4, #0
- movs r1, #6
- bl __udivsi3
- adds r0, #7
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- str r0, [sp]
- cmp r4, #0xa
- bhi _0804130C
-_08041300:
- adds r0, r4, #1
- strh r0, [r5]
- b _0804131A
- .align 2, 0
-_08041308: .4byte 0x020314E0
-_0804130C:
- movs r1, #0
- movs r0, #0
- strh r0, [r5]
- ldr r3, _08041540 @ =0x00000441
- adds r0, r6, r3
- adds r0, r0, r7
-_08041318:
- strb r1, [r0]
-_0804131A:
- ldr r4, [sp, #0x10]
- ldrh r0, [r4]
- cmp r0, #0
- beq _08041400
- ldr r2, _08041544 @ =0x040000D4
- ldr r5, [sp]
- lsls r1, r5, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r0, r0, #7
- ldr r1, _08041548 @ =0x084A6EEC
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _0804154C @ =0x06011EA0
- str r0, [r2, #4]
- ldr r0, _08041550 @ =0x80000140
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, _08041554 @ =0x020314E0
- ldr r5, [r0]
- ldr r7, [sp, #0x34]
- asrs r4, r7, #0xe
- adds r4, r5, r4
- ldr r1, _08041558 @ =0x0000045C
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r1, r5, #0
- adds r1, #0x58
- ldrh r1, [r1]
- subs r0, r0, r1
- ldr r3, [sp, #0x10]
- strh r0, [r3, #2]
- ldr r7, _0804155C @ =0x0000045E
- adds r4, r4, r7
- movs r1, #0
- ldrsh r0, [r4, r1]
- movs r1, #0xa
- bl __divsi3
- adds r5, #0x5a
- ldrh r1, [r5]
- subs r0, r0, r1
- ldr r2, [sp, #0x10]
- strh r0, [r2, #4]
- movs r2, #0
- ldr r5, _08041560 @ =gOamBuffer
- ldr r3, _08041564 @ =0xFFFFFE00
- mov r8, r3
-_08041384:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- ldr r4, [sp, #0x10]
- adds r6, r4, r0
- ldrh r2, [r6]
- lsls r2, r2, #3
- adds r2, r2, r5
- movs r7, #2
- ldrsh r1, [r6, r7]
- movs r7, #2
- ldrsh r0, [r4, r7]
- adds r1, r1, r0
- ldr r4, _08041568 @ =0x000001FF
- adds r0, r4, #0
- ands r1, r0
- ldrh r4, [r2, #2]
- mov r0, r8
- ands r0, r4
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldr r7, [sp, #0x10]
- ldrb r0, [r7, #4]
- ldrb r6, [r6, #4]
- adds r0, r0, r6
- strb r0, [r1]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #1
- ble _08041384
- ldr r1, _08041554 @ =0x020314E0
- ldr r0, [r1]
- ldr r3, [sp, #0x34]
- asrs r2, r3, #0x10
- ldr r4, _08041540 @ =0x00000441
- adds r0, r0, r4
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _080413E6
- strh r0, [r7]
-_080413E6:
- ldr r0, [r1]
- ldr r5, _0804156C @ =0x00000505
- adds r1, r0, r5
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- beq _08041400
- subs r0, #1
- cmp r2, r0
- bne _08041400
- movs r0, #0
- ldr r7, [sp, #0x10]
- strh r0, [r7]
-_08041400:
- ldr r1, [sp, #0x34]
- movs r2, #0x80
- lsls r2, r2, #9
- adds r0, r1, r2
- lsrs r3, r0, #0x10
- str r3, [sp, #0xc]
- asrs r0, r0, #0x10
- cmp r0, #1
- bgt _08041414
- b _08040CAE
-_08041414:
- bl sub_417F8
- ldr r4, _08041570 @ =0x0200C218
- str r4, [sp, #0x10]
- ldrh r0, [r4]
- cmp r0, #0
- beq _0804150E
- ldr r5, _08041554 @ =0x020314E0
- ldr r4, [r5]
- movs r7, #0xa4
- lsls r7, r7, #3
- adds r0, r4, r7
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldrh r1, [r4]
- subs r0, r0, r1
- ldr r2, [sp, #0x10]
- strh r0, [r2, #2]
- ldr r4, [r5]
- ldr r3, _08041574 @ =0x00000522
- adds r0, r4, r3
- movs r7, #0
- ldrsh r0, [r0, r7]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r0, r0, r1
- ldr r1, [sp, #0x10]
- strh r0, [r1, #4]
- ldr r0, [r5]
- ldr r2, _08041578 @ =0x0000050E
- adds r0, r0, r2
- ldrh r0, [r0]
- movs r1, #5
- bl __udivsi3
- movs r2, #0
- ldr r3, _0804157C @ =0x086B5CC0
- mov sl, r3
- ldr r4, _08041560 @ =gOamBuffer
- mov ip, r4
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- lsls r1, r0, #4
- subs r1, r1, r0
- lsls r1, r1, #1
- mov r8, r1
- ldr r5, _08041564 @ =0xFFFFFE00
- mov sb, r5
-_08041482:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- ldr r7, [sp, #0x10]
- adds r6, r7, r0
- ldrh r0, [r6]
- lsls r0, r0, #3
- mov r1, ip
- adds r5, r0, r1
- lsls r0, r3, #1
- adds r0, r0, r3
- lsls r0, r0, #1
- add r0, sl
- mov r2, r8
- adds r1, r2, r0
- ldrh r0, [r1]
- strh r0, [r5]
- adds r1, #2
- adds r5, #2
- ldrh r0, [r1]
- strh r0, [r5]
- ldrh r0, [r1, #2]
- strh r0, [r5, #2]
- ldrh r2, [r6]
- lsls r2, r2, #3
- add r2, ip
- ldrh r4, [r2, #2]
- lsls r1, r4, #0x17
- lsrs r1, r1, #0x17
- movs r5, #2
- ldrsh r0, [r7, r5]
- adds r1, r1, r0
- ldr r7, _08041568 @ =0x000001FF
- adds r0, r7, #0
- ands r1, r0
- mov r0, sb
- ands r0, r4
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6]
- lsls r1, r1, #3
- add r1, ip
- ldr r2, [sp, #0x10]
- ldrb r0, [r2, #4]
- ldrb r4, [r1]
- adds r0, r0, r4
- strb r0, [r1]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #4
- ble _08041482
- ldr r0, _08041554 @ =0x020314E0
- ldr r0, [r0]
- ldr r5, _08041578 @ =0x0000050E
- adds r1, r0, r5
- ldrh r0, [r1]
- cmp r0, #0x18
- bhi _0804150E
- adds r0, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0x19
- bne _0804150E
- movs r0, #0
- ldr r7, [sp, #0x10]
- strh r0, [r7]
-_0804150E:
- ldr r1, _08041554 @ =0x020314E0
- ldr r0, [r1]
- ldr r3, _0804156C @ =0x00000505
- adds r2, r0, r3
- movs r0, #0
- ldrsb r0, [r2, r0]
- cmp r0, #0
- beq _08041530
- movs r0, #0
- strb r0, [r2]
- ldr r1, [r1]
- ldr r4, _08041578 @ =0x0000050E
- adds r1, r1, r4
- strh r0, [r1]
- movs r0, #1
- ldr r5, [sp, #0x10]
- strh r0, [r5]
-_08041530:
- add sp, #0x44
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08041540: .4byte 0x00000441
-_08041544: .4byte 0x040000D4
-_08041548: .4byte 0x084A6EEC
-_0804154C: .4byte 0x06011EA0
-_08041550: .4byte 0x80000140
-_08041554: .4byte 0x020314E0
-_08041558: .4byte 0x0000045C
-_0804155C: .4byte 0x0000045E
-_08041560: .4byte gOamBuffer
-_08041564: .4byte 0xFFFFFE00
-_08041568: .4byte 0x000001FF
-_0804156C: .4byte 0x00000505
-_08041570: .4byte 0x0200C218
-_08041574: .4byte 0x00000522
-_08041578: .4byte 0x0000050E
-_0804157C: .4byte 0x086B5CC0
-
- thumb_func_start sub_41580
-sub_41580: @ 0x08041580
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- ldr r0, _080415F4 @ =0x0200CD98
- mov sb, r0
- ldrh r0, [r0]
- cmp r0, #0
- bne _08041596
- b _080417D0
-_08041596:
- ldr r1, _080415F8 @ =0x020314E0
- ldr r5, [r1]
- ldr r2, _080415FC @ =0x00000486
- adds r6, r5, r2
- ldrh r7, [r6]
- subs r0, r7, #1
- strh r0, [r6]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- mov sl, r1
- cmp r0, #5
- bgt _080415B0
- b _080416C2
-_080415B0:
- ldr r4, _08041600 @ =0x08137D48
- movs r1, #0
- ldrsh r0, [r6, r1]
- movs r1, #0x21
- bl __modsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #3
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xf
- adds r0, r0, r4
- ldrh r0, [r0]
- mov r8, r0
- ldr r1, _08041604 @ =0x0000047F
- adds r0, r5, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _08041658
- cmp r0, #7
- bne _0804160C
- ldr r2, _08041608 @ =0x0000132C
- adds r0, r5, r2
- ldr r1, [r0]
- ldr r0, [r1, #0x34]
- movs r4, #0x80
- lsls r4, r4, #1
- adds r0, r0, r4
- b _0804163A
- .align 2, 0
-_080415F4: .4byte 0x0200CD98
-_080415F8: .4byte 0x020314E0
-_080415FC: .4byte 0x00000486
-_08041600: .4byte 0x08137D48
-_08041604: .4byte 0x0000047F
-_08041608: .4byte 0x0000132C
-_0804160C:
- cmp r0, #4
- bne _08041628
- ldr r7, _08041620 @ =0x0000132C
- adds r0, r5, r7
- ldr r1, [r0]
- ldr r0, [r1, #0x34]
- ldr r2, _08041624 @ =0xFFFFFE00
- adds r0, r0, r2
- b _0804163A
- .align 2, 0
-_08041620: .4byte 0x0000132C
-_08041624: .4byte 0xFFFFFE00
-_08041628:
- cmp r0, #1
- bne _0804163C
- ldr r4, _0804164C @ =0x0000132C
- adds r0, r5, r4
- ldr r1, [r0]
- ldr r0, [r1, #0x34]
- movs r5, #0x80
- lsls r5, r5, #1
- adds r0, r0, r5
-_0804163A:
- str r0, [r1, #0x34]
-_0804163C:
- ldr r0, _08041650 @ =0x020314E0
- ldr r1, [r0]
- ldr r7, _08041654 @ =0x0000047F
- adds r1, r1, r7
- ldrb r0, [r1]
- subs r0, #1
- strb r0, [r1]
- b _08041682
- .align 2, 0
-_0804164C: .4byte 0x0000132C
-_08041650: .4byte 0x020314E0
-_08041654: .4byte 0x0000047F
-_08041658:
- ldrh r0, [r5, #4]
- cmp r0, #0
- beq _08041682
- adds r0, r7, #0
- subs r0, #0x1f
- strh r0, [r6]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #4
- bgt _08041670
- movs r0, #5
- strh r0, [r6]
-_08041670:
- mov r2, sl
- ldr r0, [r2]
- adds r0, r0, r1
- movs r1, #7
- strb r1, [r0]
- movs r0, #0x95
- lsls r0, r0, #1
- bl m4aSongNumStart
-_08041682:
- ldr r0, _080416A8 @ =0x020314E0
- ldr r5, [r0]
- movs r7, #0x90
- lsls r7, r7, #3
- adds r4, r5, r7
- ldrh r3, [r4]
- mov sl, r0
- cmp r3, #0
- beq _080416B6
- subs r0, r3, #1
- strh r0, [r4]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0x34
- bls _080416AC
- movs r0, #8
- mov r8, r0
- b _080416C6
- .align 2, 0
-_080416A8: .4byte 0x020314E0
-_080416AC:
- cmp r0, #0x2a
- bls _080416C6
- movs r1, #9
- mov r8, r1
- b _080416C6
-_080416B6:
- ldrh r0, [r5, #4]
- cmp r0, #0
- beq _080416C6
- movs r0, #0x3c
- strh r0, [r4]
- b _080416C6
-_080416C2:
- movs r2, #8
- mov r8, r2
-_080416C6:
- mov r4, sl
- ldr r1, [r4]
- ldr r5, _080416F4 @ =0x00000486
- adds r0, r1, r5
- movs r7, #0
- ldrsh r3, [r0, r7]
- cmp r3, #0
- bne _08041704
- ldr r0, _080416F8 @ =gMain
- ldr r1, _080416FC @ =0x00001CD8
- adds r0, r0, r1
- movs r2, #0
- strh r3, [r0]
- ldr r0, [r4]
- movs r4, #0x90
- lsls r4, r4, #3
- adds r1, r0, r4
- strh r3, [r1]
- ldr r5, _08041700 @ =0x00000383
- adds r0, r0, r5
- strb r2, [r0]
- b _08041722
- .align 2, 0
-_080416F4: .4byte 0x00000486
-_080416F8: .4byte gMain
-_080416FC: .4byte 0x00001CD8
-_08041700: .4byte 0x00000383
-_08041704:
- ldr r7, _080417E0 @ =0x00000383
- adds r1, r1, r7
- movs r2, #0
- movs r0, #1
- strb r0, [r1]
- mov r1, sl
- ldr r0, [r1]
- ldr r4, _080417E4 @ =0x0000132C
- adds r0, r0, r4
- ldr r1, [r0]
- strh r2, [r1, #0x30]
- ldr r1, [r0]
- strh r2, [r1, #0x32]
- ldr r0, [r0]
- strh r2, [r0, #6]
-_08041722:
- mov r5, sl
- ldr r2, [r5]
- ldr r7, _080417E4 @ =0x0000132C
- adds r3, r2, r7
- ldr r0, [r3]
- adds r1, r2, #0
- adds r1, #0x58
- ldrh r0, [r0, #0x10]
- ldrh r1, [r1]
- subs r0, r0, r1
- subs r0, #8
- mov r1, sb
- strh r0, [r1, #2]
- ldr r0, [r3]
- adds r2, #0x5a
- ldrh r0, [r0, #0x12]
- ldrh r1, [r2]
- subs r0, r0, r1
- subs r0, #8
- mov r2, sb
- strh r0, [r2, #4]
- movs r2, #0
- mov r4, r8
- lsls r1, r4, #0x10
- ldr r5, _080417E8 @ =0x086B5D56
- mov sl, r5
- ldr r6, _080417EC @ =gOamBuffer
- asrs r1, r1, #0x10
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- mov ip, r0
- ldr r7, _080417F0 @ =0xFFFFFE00
- mov r8, r7
-_08041766:
- lsls r3, r2, #0x10
- asrs r3, r3, #0x10
- lsls r4, r3, #3
- adds r4, #8
- add r4, sb
- ldrh r2, [r4]
- lsls r2, r2, #3
- adds r2, r2, r6
- lsls r0, r3, #1
- adds r0, r0, r3
- lsls r0, r0, #1
- add r0, sl
- add r0, ip
- ldrh r1, [r0]
- strh r1, [r2]
- adds r0, #2
- adds r2, #2
- ldrh r1, [r0]
- strh r1, [r2]
- ldrh r0, [r0, #2]
- strh r0, [r2, #2]
- ldrh r2, [r4]
- lsls r2, r2, #3
- adds r2, r2, r6
- ldrh r0, [r2, #2]
- lsls r1, r0, #0x17
- lsrs r1, r1, #0x17
- mov r5, sb
- movs r7, #2
- ldrsh r0, [r5, r7]
- adds r1, r1, r0
- ldr r5, _080417F4 @ =0x000001FF
- adds r0, r5, #0
- ands r1, r0
- mov r0, r8
- ldrh r7, [r2, #2]
- ands r0, r7
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r4]
- lsls r1, r1, #3
- adds r1, r1, r6
- mov r2, sb
- ldrb r0, [r2, #4]
- ldrb r4, [r1]
- adds r0, r0, r4
- strb r0, [r1]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r2, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #1
- ble _08041766
-_080417D0:
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080417E0: .4byte 0x00000383
-_080417E4: .4byte 0x0000132C
-_080417E8: .4byte 0x086B5D56
-_080417EC: .4byte gOamBuffer
-_080417F0: .4byte 0xFFFFFE00
-_080417F4: .4byte 0x000001FF
-
- thumb_func_start sub_417F8
-sub_417F8: @ 0x080417F8
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- ldr r6, _08041BD0 @ =0x0200C4F8
- ldrh r0, [r6]
- ldr r1, _08041BD4 @ =0x020314E0
- mov sl, r1
- cmp r0, #0
- bne _08041810
- b _08041922
-_08041810:
- ldr r4, [r1]
- movs r2, #0xa5
- lsls r2, r2, #3
- adds r0, r4, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldrh r1, [r4]
- adds r1, #0x80
- subs r0, r0, r1
- strh r0, [r6, #2]
- mov r5, sl
- ldr r4, [r5]
- ldr r1, _08041BD8 @ =0x0000052A
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x5a
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r0, #0
- movs r3, #0xb8
- adds r3, r3, r6
- mov sb, r3
- ldr r7, _08041BDC @ =gOamBuffer
- ldr r4, _08041BE0 @ =0xFFFFFE00
- mov r8, r4
-_08041856:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08041BE4 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0xe
- ble _08041856
- mov r6, sb
- mov r3, sl
- ldr r4, [r3]
- movs r5, #0xa5
- lsls r5, r5, #3
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldrh r1, [r4]
- adds r1, #0x80
- subs r0, r0, r1
- strh r0, [r6, #2]
- mov r2, sl
- ldr r4, [r2]
- ldr r3, _08041BD8 @ =0x0000052A
- adds r0, r4, r3
- movs r5, #0
- ldrsh r0, [r0, r5]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x5a
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r0, #0
- ldr r7, _08041BDC @ =gOamBuffer
- ldr r1, _08041BE0 @ =0xFFFFFE00
- mov r8, r1
-_080418DE:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r2, #2
- ldrsh r1, [r5, r2]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08041BE4 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0xd
- ble _080418DE
-_08041922:
- ldr r6, _08041BE8 @ =0x0200C668
- ldrh r0, [r6]
- cmp r0, #0
- bne _0804192C
- b _08041A40
-_0804192C:
- mov r3, sl
- ldr r4, [r3]
- movs r5, #0xa5
- lsls r5, r5, #3
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldrh r1, [r4]
- adds r1, #0x80
- subs r0, r0, r1
- strh r0, [r6, #2]
- mov r2, sl
- ldr r4, [r2]
- ldr r3, _08041BD8 @ =0x0000052A
- adds r0, r4, r3
- movs r5, #0
- ldrsh r0, [r0, r5]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x5a
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r0, #0
- movs r1, #0xb8
- adds r1, r1, r6
- mov sb, r1
- ldr r7, _08041BDC @ =gOamBuffer
- ldr r2, _08041BE0 @ =0xFFFFFE00
- mov r8, r2
-_08041974:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08041BE4 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0xe
- ble _08041974
- mov r6, sb
- mov r3, sl
- ldr r4, [r3]
- movs r5, #0xa5
- lsls r5, r5, #3
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldrh r1, [r4]
- adds r1, #0x80
- subs r0, r0, r1
- strh r0, [r6, #2]
- mov r2, sl
- ldr r4, [r2]
- ldr r3, _08041BD8 @ =0x0000052A
- adds r0, r4, r3
- movs r5, #0
- ldrsh r0, [r0, r5]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x5a
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r0, #0
- ldr r7, _08041BDC @ =gOamBuffer
- ldr r1, _08041BE0 @ =0xFFFFFE00
- mov r8, r1
-_080419FC:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r2, #2
- ldrsh r1, [r5, r2]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08041BE4 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #8
- ble _080419FC
-_08041A40:
- ldr r6, _08041BEC @ =0x0200C7D8
- ldrh r0, [r6]
- cmp r0, #0
- bne _08041A4A
- b _08041B5E
-_08041A4A:
- mov r3, sl
- ldr r4, [r3]
- movs r5, #0xa5
- lsls r5, r5, #3
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldrh r1, [r4]
- adds r1, #0x80
- subs r0, r0, r1
- strh r0, [r6, #2]
- mov r2, sl
- ldr r4, [r2]
- ldr r3, _08041BD8 @ =0x0000052A
- adds r0, r4, r3
- movs r5, #0
- ldrsh r0, [r0, r5]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x5a
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r0, #0
- movs r1, #0xb8
- adds r1, r1, r6
- mov sb, r1
- ldr r7, _08041BDC @ =gOamBuffer
- ldr r2, _08041BE0 @ =0xFFFFFE00
- mov r8, r2
-_08041A92:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08041BE4 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0xe
- ble _08041A92
- mov r6, sb
- mov r3, sl
- ldr r4, [r3]
- movs r5, #0xa5
- lsls r5, r5, #3
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldrh r1, [r4]
- adds r1, #0x80
- subs r0, r0, r1
- strh r0, [r6, #2]
- mov r2, sl
- ldr r4, [r2]
- ldr r3, _08041BD8 @ =0x0000052A
- adds r0, r4, r3
- movs r5, #0
- ldrsh r0, [r0, r5]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x5a
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r0, #0
- ldr r7, _08041BDC @ =gOamBuffer
- ldr r1, _08041BE0 @ =0xFFFFFE00
- mov r8, r1
-_08041B1A:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r2, #2
- ldrsh r1, [r5, r2]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08041BE4 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0xb
- ble _08041B1A
-_08041B5E:
- ldr r6, _08041BF0 @ =0x0200C948
- ldrh r0, [r6]
- cmp r0, #0
- bne _08041B68
- b _08041CB0
-_08041B68:
- mov r3, sl
- ldr r4, [r3]
- movs r5, #0xa5
- lsls r5, r5, #3
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldr r2, _08041BF4 @ =0xFFFFFE90
- adds r1, r2, #0
- ldrh r4, [r4]
- adds r1, r1, r4
- subs r0, r0, r1
- strh r0, [r6, #2]
- mov r3, sl
- ldr r4, [r3]
- adds r5, #2
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x5a
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r0, #0
- movs r2, #0xb8
- adds r2, r2, r6
- mov sb, r2
- ldr r7, _08041BDC @ =gOamBuffer
- ldr r3, _08041BE0 @ =0xFFFFFE00
- mov r8, r3
-_08041BB4:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- b _08041BF8
- .align 2, 0
-_08041BD0: .4byte 0x0200C4F8
-_08041BD4: .4byte 0x020314E0
-_08041BD8: .4byte 0x0000052A
-_08041BDC: .4byte gOamBuffer
-_08041BE0: .4byte 0xFFFFFE00
-_08041BE4: .4byte 0x000001FF
-_08041BE8: .4byte 0x0200C668
-_08041BEC: .4byte 0x0200C7D8
-_08041BF0: .4byte 0x0200C948
-_08041BF4: .4byte 0xFFFFFE90
-_08041BF8:
- adds r1, r1, r0
- ldr r2, _08041FB0 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0xe
- ble _08041BB4
- mov r6, sb
- mov r3, sl
- ldr r4, [r3]
- movs r5, #0xa5
- lsls r5, r5, #3
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldr r2, _08041FB4 @ =0xFFFFFE90
- adds r1, r2, #0
- ldrh r4, [r4]
- adds r1, r1, r4
- subs r0, r0, r1
- strh r0, [r6, #2]
- mov r3, sl
- ldr r4, [r3]
- adds r5, #2
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x5a
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r0, #0
- ldr r7, _08041FB8 @ =gOamBuffer
- ldr r2, _08041FBC @ =0xFFFFFE00
- mov r8, r2
-_08041C6C:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08041FB0 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0xd
- ble _08041C6C
-_08041CB0:
- ldr r6, _08041FC0 @ =0x0200CAB8
- ldrh r0, [r6]
- cmp r0, #0
- bne _08041CBA
- b _08041DD6
-_08041CBA:
- mov r3, sl
- ldr r4, [r3]
- movs r5, #0xa5
- lsls r5, r5, #3
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldr r2, _08041FB4 @ =0xFFFFFE90
- adds r1, r2, #0
- ldrh r4, [r4]
- adds r1, r1, r4
- subs r0, r0, r1
- strh r0, [r6, #2]
- mov r3, sl
- ldr r4, [r3]
- adds r5, #2
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x5a
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r0, #0
- movs r2, #0xb8
- adds r2, r2, r6
- mov sb, r2
- ldr r7, _08041FB8 @ =gOamBuffer
- ldr r3, _08041FBC @ =0xFFFFFE00
- mov r8, r3
-_08041D06:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08041FB0 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0xe
- ble _08041D06
- mov r6, sb
- mov r3, sl
- ldr r4, [r3]
- movs r5, #0xa5
- lsls r5, r5, #3
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldr r2, _08041FB4 @ =0xFFFFFE90
- adds r1, r2, #0
- ldrh r4, [r4]
- adds r1, r1, r4
- subs r0, r0, r1
- strh r0, [r6, #2]
- mov r3, sl
- ldr r4, [r3]
- adds r5, #2
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x5a
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r0, #0
- ldr r7, _08041FB8 @ =gOamBuffer
- ldr r2, _08041FBC @ =0xFFFFFE00
- mov r8, r2
-_08041D92:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08041FB0 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #8
- ble _08041D92
-_08041DD6:
- ldr r6, _08041FC4 @ =0x0200CC28
- ldrh r0, [r6]
- cmp r0, #0
- bne _08041DE0
- b _08041EFC
-_08041DE0:
- mov r3, sl
- ldr r4, [r3]
- movs r5, #0xa5
- lsls r5, r5, #3
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldr r2, _08041FB4 @ =0xFFFFFE90
- adds r1, r2, #0
- ldrh r4, [r4]
- adds r1, r1, r4
- subs r0, r0, r1
- strh r0, [r6, #2]
- mov r3, sl
- ldr r4, [r3]
- adds r5, #2
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x5a
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r0, #0
- movs r2, #0xb8
- adds r2, r2, r6
- mov sb, r2
- ldr r7, _08041FB8 @ =gOamBuffer
- ldr r3, _08041FBC @ =0xFFFFFE00
- mov r8, r3
-_08041E2C:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08041FB0 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0xe
- ble _08041E2C
- mov r6, sb
- mov r3, sl
- ldr r4, [r3]
- movs r5, #0xa5
- lsls r5, r5, #3
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldr r2, _08041FB4 @ =0xFFFFFE90
- adds r1, r2, #0
- ldrh r4, [r4]
- adds r1, r1, r4
- subs r0, r0, r1
- strh r0, [r6, #2]
- mov r3, sl
- ldr r4, [r3]
- adds r5, #2
- adds r0, r4, r5
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x5a
- ldrh r1, [r4]
- subs r1, #0x5a
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r0, #0
- ldr r7, _08041FB8 @ =gOamBuffer
- ldr r2, _08041FBC @ =0xFFFFFE00
- mov r8, r2
-_08041EB8:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08041FB0 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0xb
- ble _08041EB8
-_08041EFC:
- ldr r3, _08041FC8 @ =gMain
- ldr r4, _08041FCC @ =0x000012C8
- adds r0, r3, r4
- ldrh r1, [r0]
- cmp r1, #0
- bne _08041F0A
- b _08042014
-_08041F0A:
- ldr r0, _08041FD0 @ =0x020314E0
- ldr r2, [r0]
- ldr r5, _08041FD4 @ =0x00000514
- adds r0, r2, r5
- ldrh r0, [r0]
- cmp r0, #6
- bne _08041F7A
- ldr r1, _08041FD8 @ =0x00001438
- adds r0, r3, r1
- movs r1, #0
- strh r1, [r0]
- ldr r4, _08041FDC @ =0x000014F0
- adds r0, r3, r4
- strh r1, [r0]
- ldr r5, _08041FE0 @ =0x000015A8
- adds r0, r3, r5
- movs r1, #1
- strh r1, [r0]
- movs r4, #0xb3
- lsls r4, r4, #5
- adds r0, r3, r4
- strh r1, [r0]
- ldr r5, _08041FE4 @ =0x00000441
- adds r0, r2, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- bgt _08041F7A
- ldr r1, _08041FE8 @ =0x00000442
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- bgt _08041F7A
- movs r3, #0xe2
- lsls r3, r3, #2
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _08041F7A
- ldr r4, _08041FEC @ =0x0000132C
- adds r0, r2, r4
- ldr r1, [r0]
- movs r5, #0xfa
- lsls r5, r5, #1
- adds r0, r5, #0
- ldrh r2, [r1, #0x30]
- adds r0, r0, r2
- strh r0, [r1, #0x30]
- movs r0, #0xd
- bl sub_11B0
-_08041F7A:
- ldr r4, _08041FD0 @ =0x020314E0
- ldr r0, [r4]
- ldr r3, _08041FD4 @ =0x00000514
- adds r0, r0, r3
- ldrh r0, [r0]
- cmp r0, #0xb
- bne _08041FA6
- ldr r1, _08041FC8 @ =gMain
- ldr r5, _08041FE0 @ =0x000015A8
- adds r0, r1, r5
- movs r2, #0
- strh r2, [r0]
- adds r5, #0xb8
- adds r0, r1, r5
- strh r2, [r0]
- ldr r2, _08041FF0 @ =0x00001718
- adds r0, r1, r2
- movs r2, #1
- strh r2, [r0]
- ldr r5, _08041FF4 @ =0x000017D0
- adds r1, r1, r5
- strh r2, [r1]
-_08041FA6:
- ldr r0, [r4]
- adds r0, r0, r3
- ldrh r0, [r0]
- cmp r0, #0xe
- b _08041FF8
- .align 2, 0
-_08041FB0: .4byte 0x000001FF
-_08041FB4: .4byte 0xFFFFFE90
-_08041FB8: .4byte gOamBuffer
-_08041FBC: .4byte 0xFFFFFE00
-_08041FC0: .4byte 0x0200CAB8
-_08041FC4: .4byte 0x0200CC28
-_08041FC8: .4byte gMain
-_08041FCC: .4byte 0x000012C8
-_08041FD0: .4byte 0x020314E0
-_08041FD4: .4byte 0x00000514
-_08041FD8: .4byte 0x00001438
-_08041FDC: .4byte 0x000014F0
-_08041FE0: .4byte 0x000015A8
-_08041FE4: .4byte 0x00000441
-_08041FE8: .4byte 0x00000442
-_08041FEC: .4byte 0x0000132C
-_08041FF0: .4byte 0x00001718
-_08041FF4: .4byte 0x000017D0
-_08041FF8:
- bne _080420CC
- ldr r0, _08042008 @ =gMain
- ldr r2, _0804200C @ =0x00001718
- adds r1, r0, r2
- movs r2, #0
- strh r2, [r1]
- ldr r3, _08042010 @ =0x000017D0
- b _080420C8
- .align 2, 0
-_08042008: .4byte gMain
-_0804200C: .4byte 0x00001718
-_08042010: .4byte 0x000017D0
-_08042014:
- ldr r0, _08042274 @ =0x020314E0
- ldr r2, [r0]
- ldr r4, _08042278 @ =0x00000514
- adds r0, r2, r4
- ldrh r0, [r0]
- cmp r0, #6
- bne _08042082
- ldr r5, _0804227C @ =gMain
- ldr r3, _08042280 @ =0x00001888
- adds r0, r5, r3
- strh r1, [r0]
- movs r4, #0xca
- lsls r4, r4, #5
- adds r0, r5, r4
- strh r1, [r0]
- ldr r1, _08042284 @ =0x000019F8
- adds r0, r5, r1
- movs r1, #1
- strh r1, [r0]
- ldr r3, _08042288 @ =0x00001AB0
- adds r0, r5, r3
- strh r1, [r0]
- ldr r4, _0804228C @ =0x00000441
- adds r0, r2, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- bgt _08042082
- ldr r5, _08042290 @ =0x00000442
- adds r0, r2, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- bgt _08042082
- movs r1, #0xe2
- lsls r1, r1, #2
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _08042082
- ldr r3, _08042294 @ =0x0000132C
- adds r0, r2, r3
- ldr r1, [r0]
- ldr r4, _08042298 @ =0xFFFFFE0C
- adds r0, r4, #0
- ldrh r5, [r1, #0x30]
- adds r0, r0, r5
- strh r0, [r1, #0x30]
- movs r0, #0xd
- bl sub_11B0
-_08042082:
- ldr r4, _08042274 @ =0x020314E0
- ldr r0, [r4]
- ldr r3, _08042278 @ =0x00000514
- adds r0, r0, r3
- ldrh r0, [r0]
- cmp r0, #0xb
- bne _080420B0
- ldr r1, _0804227C @ =gMain
- ldr r2, _08042284 @ =0x000019F8
- adds r0, r1, r2
- movs r2, #0
- strh r2, [r0]
- ldr r5, _08042288 @ =0x00001AB0
- adds r0, r1, r5
- strh r2, [r0]
- ldr r2, _0804229C @ =0x00001B68
- adds r0, r1, r2
- movs r2, #1
- strh r2, [r0]
- movs r5, #0xe1
- lsls r5, r5, #5
- adds r1, r1, r5
- strh r2, [r1]
-_080420B0:
- ldr r0, [r4]
- adds r0, r0, r3
- ldrh r0, [r0]
- cmp r0, #0xe
- bne _080420CC
- ldr r0, _0804227C @ =gMain
- ldr r2, _0804229C @ =0x00001B68
- adds r1, r0, r2
- movs r2, #0
- strh r2, [r1]
- movs r3, #0xe1
- lsls r3, r3, #5
-_080420C8:
- adds r0, r0, r3
- strh r2, [r0]
-_080420CC:
- ldr r4, _08042274 @ =0x020314E0
- mov sb, r4
- ldr r1, [r4]
- ldr r5, _08042278 @ =0x00000514
- adds r0, r1, r5
- ldrh r0, [r0]
- cmp r0, #0xa
- bne _08042184
- ldr r0, _0804228C @ =0x00000441
- adds r2, r1, r0
- movs r0, #0
- ldrsb r0, [r2, r0]
- cmp r0, #2
- bgt _08042184
- movs r3, #0x8b
- lsls r3, r3, #3
- adds r1, r1, r3
- movs r0, #0
- strh r0, [r1]
- movs r1, #1
- strb r1, [r2]
- ldr r4, _0804227C @ =gMain
- movs r5, #0xdc
- lsls r5, r5, #4
- adds r0, r4, r5
- strh r1, [r0]
- bl Random
- adds r5, r0, #0
- movs r0, #7
- ands r5, r0
- ldr r0, [r4, #0x4c]
- movs r1, #0xf0
- bl __umodsi3
- lsls r0, r0, #0x10
- movs r1, #0xf0
- bl __udivsi3
- lsls r0, r0, #0x10
- lsrs r7, r0, #0x10
- mov r0, sb
- ldr r2, [r0]
- ldr r0, _080422A0 @ =0x086AF744
- lsls r1, r5, #2
- adds r1, r1, r0
- ldrh r3, [r1]
- ldr r5, _080422A4 @ =0x00000464
- adds r0, r2, r5
- strh r3, [r0]
- ldrh r0, [r1, #2]
- ldr r6, _080422A8 @ =0x00000466
- adds r2, r2, r6
- strh r0, [r2]
- adds r0, r7, #0
- bl sub_C74
- mov r1, sb
- ldr r4, [r1]
- adds r5, r4, r5
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r2, #0xfa
- lsls r2, r2, #1
- mov r8, r2
- mov r1, r8
- bl __divsi3
- ldrh r1, [r5]
- adds r1, r1, r0
- ldr r3, _080422AC @ =0x0000045C
- adds r4, r4, r3
- strh r1, [r4]
- adds r0, r7, #0
- bl sub_C24
- mov r5, sb
- ldr r4, [r5]
- adds r6, r4, r6
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- mov r1, r8
- bl __divsi3
- ldrh r1, [r6]
- adds r1, r1, r0
- ldr r0, _080422B0 @ =0x0000045E
- adds r4, r4, r0
- strh r1, [r4]
- ldr r0, _080422B4 @ =0x0000012D
- bl m4aSongNumStart
-_08042184:
- ldr r1, _08042274 @ =0x020314E0
- mov sb, r1
- ldr r1, [r1]
- ldr r2, _08042278 @ =0x00000514
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, #0x10
- bne _08042240
- ldr r3, _08042290 @ =0x00000442
- adds r2, r1, r3
- movs r0, #0
- ldrsb r0, [r2, r0]
- cmp r0, #2
- bgt _08042240
- ldr r4, _080422B8 @ =0x0000045A
- adds r1, r1, r4
- movs r0, #0
- strh r0, [r1]
- movs r1, #1
- strb r1, [r2]
- ldr r4, _0804227C @ =gMain
- ldr r5, _080422BC @ =0x00000E78
- adds r0, r4, r5
- strh r1, [r0]
- bl Random
- movs r1, #7
- ands r1, r0
- adds r1, #8
- adds r5, r1, #0
- ldr r0, [r4, #0x4c]
- adds r0, #0x78
- movs r1, #0xf0
- bl __umodsi3
- lsls r0, r0, #0x10
- movs r1, #0xf0
- bl __udivsi3
- lsls r0, r0, #0x10
- lsrs r7, r0, #0x10
- mov r0, sb
- ldr r2, [r0]
- ldr r0, _080422A0 @ =0x086AF744
- lsls r1, r5, #2
- adds r1, r1, r0
- ldrh r3, [r1]
- movs r5, #0x8d
- lsls r5, r5, #3
- adds r0, r2, r5
- strh r3, [r0]
- ldrh r0, [r1, #2]
- ldr r6, _080422C0 @ =0x0000046A
- adds r2, r2, r6
- strh r0, [r2]
- adds r0, r7, #0
- bl sub_C74
- mov r1, sb
- ldr r4, [r1]
- adds r5, r4, r5
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r2, #0xfa
- lsls r2, r2, #1
- mov r8, r2
- mov r1, r8
- bl __divsi3
- ldrh r1, [r5]
- adds r1, r1, r0
- movs r3, #0x8c
- lsls r3, r3, #3
- adds r4, r4, r3
- strh r1, [r4]
- adds r0, r7, #0
- bl sub_C24
- mov r5, sb
- ldr r4, [r5]
- adds r6, r4, r6
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- mov r1, r8
- bl __divsi3
- ldrh r1, [r6]
- adds r1, r1, r0
- ldr r0, _080422C4 @ =0x00000462
- adds r4, r4, r0
- strh r1, [r4]
- ldr r0, _080422B4 @ =0x0000012D
- bl m4aSongNumStart
-_08042240:
- ldr r0, _08042274 @ =0x020314E0
- ldr r1, [r0]
- movs r3, #0x99
- lsls r3, r3, #3
- adds r2, r1, r3
- ldrb r3, [r2]
- movs r1, #0
- ldrsb r1, [r2, r1]
- mov sl, r0
- cmp r1, #0
- bgt _08042258
- b _0804235E
-_08042258:
- subs r0, r3, #1
- strb r0, [r2]
- mov r4, sl
- ldr r5, [r4]
- movs r0, #0x99
- lsls r0, r0, #3
- adds r1, r5, r0
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0xb
- bgt _080422CC
- ldr r4, _080422C8 @ =0x086AEF28
- b _0804232E
- .align 2, 0
-_08042274: .4byte 0x020314E0
-_08042278: .4byte 0x00000514
-_0804227C: .4byte gMain
-_08042280: .4byte 0x00001888
-_08042284: .4byte 0x000019F8
-_08042288: .4byte 0x00001AB0
-_0804228C: .4byte 0x00000441
-_08042290: .4byte 0x00000442
-_08042294: .4byte 0x0000132C
-_08042298: .4byte 0xFFFFFE0C
-_0804229C: .4byte 0x00001B68
-_080422A0: .4byte 0x086AF744
-_080422A4: .4byte 0x00000464
-_080422A8: .4byte 0x00000466
-_080422AC: .4byte 0x0000045C
-_080422B0: .4byte 0x0000045E
-_080422B4: .4byte 0x0000012D
-_080422B8: .4byte 0x0000045A
-_080422BC: .4byte 0x00000E78
-_080422C0: .4byte 0x0000046A
-_080422C4: .4byte 0x00000462
-_080422C8: .4byte 0x086AEF28
-_080422CC:
- cmp r0, #0x17
- ble _08042300
- cmp r0, #0x23
- bgt _080422FC
- ldr r4, _080422F8 @ =0x086AEF28
- movs r0, #0
- ldrsb r0, [r1, r0]
- movs r1, #0xc
- bl __modsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #0x17
- adds r0, r0, r4
- movs r1, #0
- ldrsh r0, [r0, r1]
- lsls r0, r0, #2
- movs r2, #0xab
- lsls r2, r2, #2
- adds r1, r5, r2
- strh r0, [r1]
- b _08042344
- .align 2, 0
-_080422F8: .4byte 0x086AEF28
-_080422FC:
- cmp r0, #0x2f
- bgt _08042328
-_08042300:
- ldr r4, _08042324 @ =0x086AEF28
- movs r0, #0
- ldrsb r0, [r1, r0]
- movs r1, #0xc
- bl __modsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #0x17
- adds r0, r0, r4
- movs r3, #0
- ldrsh r0, [r0, r3]
- lsls r0, r0, #1
- movs r4, #0xab
- lsls r4, r4, #2
- adds r1, r5, r4
- strh r0, [r1]
- b _08042344
- .align 2, 0
-_08042324: .4byte 0x086AEF28
-_08042328:
- ldr r4, _08042394 @ =0x086AEF28
- movs r0, #0
- ldrsb r0, [r1, r0]
-_0804232E:
- movs r1, #0xc
- bl __modsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #0x17
- adds r0, r0, r4
- ldrh r1, [r0]
- movs r2, #0xab
- lsls r2, r2, #2
- adds r0, r5, r2
- strh r1, [r0]
-_08042344:
- mov r3, sl
- ldr r2, [r3]
- movs r4, #0x99
- lsls r4, r4, #3
- adds r0, r2, r4
- movs r1, #0
- ldrsb r1, [r0, r1]
- cmp r1, #0
- bne _0804235E
- movs r5, #0xab
- lsls r5, r5, #2
- adds r0, r2, r5
- strh r1, [r0]
-_0804235E:
- mov r0, sl
- ldr r2, [r0]
- movs r3, #0xa1
- lsls r3, r3, #3
- adds r1, r2, r3
- movs r4, #0
- ldrsh r0, [r1, r4]
- cmp r0, #0
- ble _080423C2
- adds r1, r0, #0
- cmp r1, #0
- bge _08042378
- adds r0, r1, #3
-_08042378:
- asrs r0, r0, #2
- lsls r0, r0, #2
- subs r0, r1, r0
- lsls r0, r0, #0x10
- asrs r1, r0, #0x10
- lsrs r0, r0, #0x1f
- adds r1, r1, r0
- asrs r1, r1, #1
- cmp r1, #0
- beq _0804239C
- ldr r0, _08042398 @ =0x000002AA
- adds r1, r2, r0
- movs r0, #2
- b _080423A2
- .align 2, 0
-_08042394: .4byte 0x086AEF28
-_08042398: .4byte 0x000002AA
-_0804239C:
- ldr r3, _080423D0 @ =0x000002AA
- adds r1, r2, r3
- ldr r0, _080423D4 @ =0x0000FFFE
-_080423A2:
- strh r0, [r1]
- mov r5, sl
- ldr r4, [r5]
- movs r0, #0xa1
- lsls r0, r0, #3
- adds r1, r4, r0
- ldrh r0, [r1]
- subs r0, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- asrs r1, r0, #0x10
- cmp r1, #0
- bne _080423C2
- ldr r2, _080423D0 @ =0x000002AA
- adds r0, r4, r2
- strh r1, [r0]
-_080423C2:
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080423D0: .4byte 0x000002AA
-_080423D4: .4byte 0x0000FFFE
-
- thumb_func_start sub_423D8
-sub_423D8: @ 0x080423D8
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- ldr r0, _0804267C @ =0x020314E0
- ldr r3, [r0]
- ldr r2, _08042680 @ =0x00000506
- adds r1, r3, r2
- ldrb r1, [r1]
- lsls r1, r1, #0x18
- asrs r1, r1, #0x18
- mov r8, r0
- cmp r1, #0
- beq _080423F8
- b _08042AB2
-_080423F8:
- ldr r4, _08042684 @ =0x00000516
- adds r1, r3, r4
- ldrh r2, [r1]
- movs r0, #0xac
- lsls r0, r0, #2
- cmp r2, r0
- bls _08042408
- b _08042AB2
-_08042408:
- subs r0, #0x78
- cmp r2, r0
- bhi _08042484
- adds r0, r2, #0
- movs r1, #0xa0
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0x14
- bne _08042428
- ldr r0, _08042688 @ =0x02032F20
- ldr r1, _0804268C @ =0x0000FFFF
- movs r2, #0x80
- bl m4aMPlayVolumeControl
-_08042428:
- mov r3, r8
- ldr r0, [r3]
- adds r0, r0, r4
- ldrh r0, [r0]
- movs r1, #0xa0
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0x5a
- bne _08042446
- ldr r0, _08042688 @ =0x02032F20
- movs r1, #5
- bl m4aMPlayFadeOutTemporarily
-_08042446:
- mov r1, r8
- ldr r0, [r1]
- adds r0, r0, r4
- ldrh r0, [r0]
- movs r1, #0xa0
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #1
- bne _08042464
- movs r0, #0x97
- lsls r0, r0, #1
- bl m4aSongNumStart
-_08042464:
- mov r2, r8
- ldr r0, [r2]
- adds r0, r0, r4
- ldrh r0, [r0]
- movs r1, #0xa0
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #2
- bne _08042484
- ldr r0, _08042688 @ =0x02032F20
- ldr r1, _0804268C @ =0x0000FFFF
- movs r2, #0x33
- bl m4aMPlayVolumeControl
-_08042484:
- ldr r2, _0804267C @ =0x020314E0
- ldr r5, [r2]
- ldr r4, _08042684 @ =0x00000516
- adds r3, r5, r4
- ldrh r1, [r3]
- ldr r0, _08042690 @ =0x000001FF
- mov r8, r2
- cmp r1, r0
- bls _080424AA
- adds r0, r1, #0
- ldr r3, _08042694 @ =0xFFFFFE00
- adds r0, r0, r3
- lsrs r1, r0, #0x1f
- adds r0, r0, r1
- asrs r0, r0, #1
- subs r0, #0x58
- adds r1, r5, #0
- adds r1, #0xe6
- strh r0, [r1]
-_080424AA:
- mov r0, r8
- ldr r2, [r0]
- adds r0, r2, r4
- ldrh r1, [r0]
- movs r0, #0x9c
- lsls r0, r0, #2
- cmp r1, r0
- bne _080424C4
- movs r3, #0xa5
- lsls r3, r3, #2
- adds r1, r2, r3
- movs r0, #1
- strb r0, [r1]
-_080424C4:
- mov r0, r8
- ldr r3, [r0]
- adds r2, r3, r4
- ldrh r1, [r2]
- movs r0, #0x80
- lsls r0, r0, #2
- cmp r1, r0
- bhi _080424E0
- adds r0, r1, #0
- lsrs r0, r0, #1
- movs r2, #0xa3
- lsls r2, r2, #3
- adds r1, r3, r2
- strh r0, [r1]
-_080424E0:
- mov r3, r8
- ldr r2, [r3]
- adds r0, r2, r4
- ldrh r1, [r0]
- movs r0, #0xac
- lsls r0, r0, #2
- cmp r1, r0
- bne _080424F8
- ldr r0, _08042680 @ =0x00000506
- adds r1, r2, r0
- movs r0, #1
- strb r0, [r1]
-_080424F8:
- mov r1, r8
- ldr r2, [r1]
- adds r0, r2, r4
- ldrh r1, [r0]
- adds r1, #1
- strh r1, [r0]
- lsls r1, r1, #0x10
- movs r0, #0x8e
- lsls r0, r0, #0x12
- cmp r1, r0
- bhi _0804251C
- ldr r3, _08042698 @ =0x00000392
- adds r1, r2, r3
- ldrh r0, [r1]
- cmp r0, #5
- bls _0804251C
- subs r0, #1
- strh r0, [r1]
-_0804251C:
- mov r4, r8
- ldr r2, [r4]
- ldr r3, _08042684 @ =0x00000516
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, #1
- bne _08042562
- movs r0, #0xf1
- lsls r0, r0, #2
- adds r1, r2, r0
- movs r0, #0x96
- lsls r0, r0, #1
- strh r0, [r1]
- ldr r1, _0804269C @ =0x000003C6
- adds r0, r2, r1
- adds r1, #0xea
- strh r1, [r0]
- movs r4, #0xf2
- lsls r4, r4, #2
- adds r0, r2, r4
- strh r1, [r0]
- ldr r0, _080426A0 @ =0x000003CA
- adds r1, r2, r0
- movs r0, #0xc8
- lsls r0, r0, #1
- strh r0, [r1]
- adds r4, #4
- adds r1, r2, r4
- movs r0, #0xfa
- lsls r0, r0, #2
- strh r0, [r1]
- subs r0, #0x1a
- adds r1, r2, r0
- ldr r0, _080426A4 @ =0x000009C4
- strh r0, [r1]
-_08042562:
- mov r1, r8
- ldr r2, [r1]
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, #0x58
- bne _08042584
- movs r4, #0xf1
- lsls r4, r4, #2
- adds r1, r2, r4
- movs r0, #0xc8
- lsls r0, r0, #3
- strh r0, [r1]
- ldr r0, _0804269C @ =0x000003C6
- adds r1, r2, r0
- movs r0, #0xe1
- lsls r0, r0, #3
- strh r0, [r1]
-_08042584:
- mov r1, r8
- ldr r2, [r1]
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, #0x78
- bne _080425A6
- movs r4, #0xf2
- lsls r4, r4, #2
- adds r1, r2, r4
- movs r0, #0x96
- lsls r0, r0, #2
- strh r0, [r1]
- ldr r0, _080426A0 @ =0x000003CA
- adds r1, r2, r0
- movs r0, #0xe1
- lsls r0, r0, #3
- strh r0, [r1]
-_080425A6:
- mov r1, r8
- ldr r2, [r1]
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, #0xaa
- bne _080425C8
- movs r4, #0xf3
- lsls r4, r4, #2
- adds r1, r2, r4
- movs r0, #0xe1
- lsls r0, r0, #3
- strh r0, [r1]
- ldr r0, _080426A8 @ =0x000003CE
- adds r1, r2, r0
- movs r0, #0xfa
- lsls r0, r0, #3
- strh r0, [r1]
-_080425C8:
- mov r1, r8
- ldr r2, [r1]
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, #0xd7
- bne _080425E8
- movs r4, #0xf1
- lsls r4, r4, #2
- adds r1, r2, r4
- movs r0, #0
- strh r0, [r1]
- ldr r0, _0804269C @ =0x000003C6
- adds r1, r2, r0
- movs r0, #0xfa
- lsls r0, r0, #3
- strh r0, [r1]
-_080425E8:
- mov r1, r8
- ldr r2, [r1]
- adds r0, r2, r3
- ldrh r1, [r0]
- ldr r0, _080426AC @ =0x00000131
- cmp r1, r0
- bne _08042608
- movs r4, #0xf2
- lsls r4, r4, #2
- adds r0, r2, r4
- movs r1, #0xe1
- lsls r1, r1, #3
- strh r1, [r0]
- adds r4, #2
- adds r0, r2, r4
- strh r1, [r0]
-_08042608:
- mov r0, r8
- ldr r2, [r0]
- adds r0, r2, r3
- ldrh r1, [r0]
- ldr r0, _080426B0 @ =0x0000013B
- cmp r1, r0
- bne _0804262A
- movs r3, #0xf3
- lsls r3, r3, #2
- adds r1, r2, r3
- subs r0, #0xf
- strh r0, [r1]
- ldr r4, _080426A8 @ =0x000003CE
- adds r1, r2, r4
- movs r0, #0xe1
- lsls r0, r0, #3
- strh r0, [r1]
-_0804262A:
- ldr r6, _080426B4 @ =0x0200BBA0
- ldrh r0, [r6]
- movs r1, #0xb8
- adds r1, r1, r6
- mov sb, r1
- movs r2, #0xb8
- lsls r2, r2, #1
- adds r2, r2, r6
- mov sl, r2
- cmp r0, #0
- beq _08042728
- mov r3, r8
- ldr r0, [r3]
- movs r4, #0xf1
- lsls r4, r4, #2
- adds r0, r0, r4
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r6, #2]
- mov r2, r8
- ldr r0, [r2]
- ldr r3, _0804269C @ =0x000003C6
- adds r0, r0, r3
- movs r4, #0
- ldrsh r0, [r0, r4]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r6, #4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #0x3c
- rsbs r1, r1, #0
- cmp r0, r1
- bgt _080426B8
- strh r1, [r6, #4]
- b _080426C6
- .align 2, 0
-_0804267C: .4byte 0x020314E0
-_08042680: .4byte 0x00000506
-_08042684: .4byte 0x00000516
-_08042688: .4byte 0x02032F20
-_0804268C: .4byte 0x0000FFFF
-_08042690: .4byte 0x000001FF
-_08042694: .4byte 0xFFFFFE00
-_08042698: .4byte 0x00000392
-_0804269C: .4byte 0x000003C6
-_080426A0: .4byte 0x000003CA
-_080426A4: .4byte 0x000009C4
-_080426A8: .4byte 0x000003CE
-_080426AC: .4byte 0x00000131
-_080426B0: .4byte 0x0000013B
-_080426B4: .4byte 0x0200BBA0
-_080426B8:
- mov r0, r8
- ldr r1, [r0]
- ldr r2, _0804276C @ =0x000003C6
- adds r1, r1, r2
- ldrh r0, [r1]
- subs r0, #0x14
- strh r0, [r1]
-_080426C6:
- movs r3, #4
- ldrsh r0, [r6, r3]
- cmp r0, #0xc8
- ble _080426D2
- movs r0, #0xb4
- strh r0, [r6, #4]
-_080426D2:
- movs r0, #0
- ldr r4, _08042770 @ =0x0200BC58
- mov sb, r4
- movs r1, #0xb8
- add r1, sb
- mov sl, r1
- ldr r7, _08042774 @ =gOamBuffer
- ldr r2, _08042778 @ =0xFFFFFE00
- mov ip, r2
-_080426E4:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _0804277C @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #3
- ble _080426E4
-_08042728:
- mov r6, sb
- ldrh r0, [r6]
- cmp r0, #0
- beq _080427EE
- mov r3, r8
- ldr r0, [r3]
- movs r4, #0xf2
- lsls r4, r4, #2
- adds r0, r0, r4
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r6, #2]
- mov r2, r8
- ldr r0, [r2]
- ldr r3, _08042780 @ =0x000003CA
- adds r0, r0, r3
- movs r4, #0
- ldrsh r0, [r0, r4]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r6, #4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #0x3c
- rsbs r1, r1, #0
- cmp r0, r1
- bgt _08042788
- ldr r0, _08042784 @ =0x0000FFC4
- strh r0, [r6, #4]
- b _08042796
- .align 2, 0
-_0804276C: .4byte 0x000003C6
-_08042770: .4byte 0x0200BC58
-_08042774: .4byte gOamBuffer
-_08042778: .4byte 0xFFFFFE00
-_0804277C: .4byte 0x000001FF
-_08042780: .4byte 0x000003CA
-_08042784: .4byte 0x0000FFC4
-_08042788:
- mov r0, r8
- ldr r1, [r0]
- ldr r2, _08042834 @ =0x000003CA
- adds r1, r1, r2
- ldrh r0, [r1]
- subs r0, #0xc
- strh r0, [r1]
-_08042796:
- movs r3, #4
- ldrsh r0, [r6, r3]
- cmp r0, #0xc8
- ble _080427A2
- movs r0, #0xb4
- strh r0, [r6, #4]
-_080427A2:
- movs r0, #0
- ldr r7, _08042838 @ =gOamBuffer
- ldr r4, _0804283C @ =0xFFFFFE00
- mov ip, r4
-_080427AA:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08042840 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #5
- ble _080427AA
-_080427EE:
- mov r6, sl
- ldrh r0, [r6]
- cmp r0, #0
- beq _080428B2
- mov r3, r8
- ldr r0, [r3]
- movs r4, #0xf3
- lsls r4, r4, #2
- adds r0, r0, r4
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r6, #2]
- mov r2, r8
- ldr r0, [r2]
- ldr r3, _08042844 @ =0x000003CE
- adds r0, r0, r3
- movs r4, #0
- ldrsh r0, [r0, r4]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r6, #4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #0x3c
- rsbs r1, r1, #0
- cmp r0, r1
- bgt _0804284C
- ldr r0, _08042848 @ =0x0000FFC4
- strh r0, [r6, #4]
- b _0804285A
- .align 2, 0
-_08042834: .4byte 0x000003CA
-_08042838: .4byte gOamBuffer
-_0804283C: .4byte 0xFFFFFE00
-_08042840: .4byte 0x000001FF
-_08042844: .4byte 0x000003CE
-_08042848: .4byte 0x0000FFC4
-_0804284C:
- mov r0, r8
- ldr r1, [r0]
- ldr r2, _0804290C @ =0x000003CE
- adds r1, r1, r2
- ldrh r0, [r1]
- subs r0, #0x12
- strh r0, [r1]
-_0804285A:
- movs r3, #4
- ldrsh r0, [r6, r3]
- cmp r0, #0xc8
- ble _08042866
- movs r0, #0xb4
- strh r0, [r6, #4]
-_08042866:
- movs r0, #0
- ldr r7, _08042910 @ =gOamBuffer
- ldr r4, _08042914 @ =0xFFFFFE00
- mov ip, r4
-_0804286E:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08042918 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #4
- ble _0804286E
-_080428B2:
- mov r3, r8
- ldr r0, [r3]
- ldr r2, _0804291C @ =0x00000516
- adds r0, r0, r2
- ldrh r1, [r0]
- movs r0, #0xa5
- lsls r0, r0, #2
- cmp r1, r0
- bne _080428DC
- ldr r4, _08042920 @ =gMain
- movs r1, #0xae
- lsls r1, r1, #4
- adds r0, r4, r1
- movs r1, #0
- strh r1, [r0]
- ldr r3, _08042924 @ =0x00000B98
- adds r0, r4, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r4, r3
- strh r1, [r0]
-_080428DC:
- ldr r6, _08042928 @ =0x0200BDC8
- ldrh r0, [r6]
- cmp r0, #0
- beq _080429CA
- mov r4, r8
- ldr r0, [r4]
- adds r1, r0, r2
- ldrh r0, [r1]
- subs r0, #0xc3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #9
- bhi _08042930
- ldr r0, _0804292C @ =0x086AF784
- ldrh r1, [r1]
- subs r1, #0xc3
- lsrs r2, r1, #0x1f
- adds r1, r1, r2
- asrs r1, r1, #1
- lsls r1, r1, #1
- adds r1, r1, r0
- ldrh r7, [r1]
- b _08042938
- .align 2, 0
-_0804290C: .4byte 0x000003CE
-_08042910: .4byte gOamBuffer
-_08042914: .4byte 0xFFFFFE00
-_08042918: .4byte 0x000001FF
-_0804291C: .4byte 0x00000516
-_08042920: .4byte gMain
-_08042924: .4byte 0x00000B98
-_08042928: .4byte 0x0200BDC8
-_0804292C: .4byte 0x086AF784
-_08042930:
- ldrh r0, [r1]
- movs r1, #3
- ands r0, r1
- lsrs r7, r0, #1
-_08042938:
- mov r0, r8
- ldr r4, [r0]
- movs r1, #0x83
- lsls r1, r1, #3
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r6, #2]
- ldr r3, _08042A40 @ =0x0000041A
- adds r4, r4, r3
- movs r1, #0
- ldrsh r0, [r4, r1]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r6, #4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #0x3c
- rsbs r1, r1, #0
- cmp r0, r1
- bge _0804296E
- ldr r0, _08042A44 @ =0x0000FFC4
- strh r0, [r6, #4]
-_0804296E:
- movs r2, #4
- ldrsh r0, [r6, r2]
- cmp r0, #0xb4
- ble _0804297A
- movs r0, #0xb4
- strh r0, [r6, #4]
-_0804297A:
- adds r5, r6, #0
- adds r5, #8
- ldr r4, _08042A48 @ =gOamBuffer
- ldrh r2, [r6, #8]
- lsls r2, r2, #3
- adds r2, r2, r4
- movs r3, #2
- ldrsh r1, [r5, r3]
- movs r3, #2
- ldrsh r0, [r6, r3]
- adds r1, r1, r0
- ldr r3, _08042A4C @ =0x000001FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- ldr r0, _08042A50 @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- ldrh r2, [r6, #8]
- lsls r2, r2, #3
- adds r2, r2, r4
- lsls r1, r7, #0x10
- asrs r1, r1, #0xe
- adds r1, #0x7d
- ldr r4, _08042A54 @ =0x000003FF
- adds r0, r4, #0
- ands r1, r0
- ldrh r3, [r2, #4]
- ldr r0, _08042A58 @ =0xFFFFFC00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #4]
-_080429CA:
- mov r1, r8
- ldr r0, [r1]
- ldr r4, _08042A5C @ =0x00000516
- adds r0, r0, r4
- ldrh r0, [r0]
- cmp r0, #0x96
- bne _08042A0A
- ldr r2, _08042A60 @ =gMain
- ldr r3, _08042A64 @ =0x00000D08
- adds r1, r2, r3
- movs r0, #1
- strh r0, [r1]
- mov r0, r8
- ldr r1, [r0]
- movs r3, #0x83
- lsls r3, r3, #3
- adds r2, r1, r3
- movs r0, #0xc8
- lsls r0, r0, #3
- strh r0, [r2]
- ldr r0, _08042A40 @ =0x0000041A
- adds r2, r1, r0
- ldr r0, _08042A68 @ =0x0000FF9C
- strh r0, [r2]
- subs r3, #4
- adds r2, r1, r3
- adds r0, #0x4f
- strh r0, [r2]
- ldr r0, _08042A6C @ =0x00000416
- adds r1, r1, r0
- movs r0, #0xe
- strh r0, [r1]
-_08042A0A:
- mov r1, r8
- ldr r3, [r1]
- adds r0, r3, r4
- ldrh r0, [r0]
- cmp r0, #0xcd
- bls _08042A70
- ldr r4, _08042A6C @ =0x00000416
- adds r2, r3, r4
- ldrh r0, [r2]
- adds r0, #1
- strh r0, [r2]
- movs r0, #0x83
- lsls r0, r0, #3
- adds r1, r3, r0
- subs r4, #2
- adds r0, r3, r4
- ldrh r0, [r0]
- ldrh r4, [r1]
- adds r0, r0, r4
- strh r0, [r1]
- ldr r0, _08042A40 @ =0x0000041A
- adds r1, r3, r0
- ldrh r0, [r2]
- ldrh r2, [r1]
- adds r0, r0, r2
- b _08042A94
- .align 2, 0
-_08042A40: .4byte 0x0000041A
-_08042A44: .4byte 0x0000FFC4
-_08042A48: .4byte gOamBuffer
-_08042A4C: .4byte 0x000001FF
-_08042A50: .4byte 0xFFFFFE00
-_08042A54: .4byte 0x000003FF
-_08042A58: .4byte 0xFFFFFC00
-_08042A5C: .4byte 0x00000516
-_08042A60: .4byte gMain
-_08042A64: .4byte 0x00000D08
-_08042A68: .4byte 0x0000FF9C
-_08042A6C: .4byte 0x00000416
-_08042A70:
- cmp r0, #0x96
- bls _08042A96
- movs r4, #0x83
- lsls r4, r4, #3
- adds r1, r3, r4
- ldr r2, _08042B2C @ =0x00000414
- adds r0, r3, r2
- ldrh r0, [r0]
- ldrh r4, [r1]
- adds r0, r0, r4
- strh r0, [r1]
- ldr r0, _08042B30 @ =0x0000041A
- adds r1, r3, r0
- adds r2, #2
- adds r0, r3, r2
- ldrh r0, [r0]
- ldrh r3, [r1]
- adds r0, r0, r3
-_08042A94:
- strh r0, [r1]
-_08042A96:
- mov r4, r8
- ldr r0, [r4]
- ldr r1, _08042B34 @ =0x00000516
- adds r0, r0, r1
- ldrh r1, [r0]
- movs r0, #0xaf
- lsls r0, r0, #1
- cmp r1, r0
- bne _08042AB2
- ldr r0, _08042B38 @ =gMain
- ldr r2, _08042B3C @ =0x00000D08
- adds r0, r0, r2
- movs r1, #0
- strh r1, [r0]
-_08042AB2:
- mov r3, r8
- ldr r1, [r3]
- ldr r4, _08042B40 @ =0x00000506
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- beq _08042AC6
- b _08042DA0
-_08042AC6:
- ldr r5, _08042B34 @ =0x00000516
- adds r2, r1, r5
- ldrh r0, [r2]
- cmp r0, #0xff
- bhi _08042ADE
- asrs r0, r0, #1
- rsbs r0, r0, #0
- adds r1, #0xe6
- strh r0, [r1]
- ldrh r0, [r2]
- adds r0, #1
- strh r0, [r2]
-_08042ADE:
- ldr r0, _08042B38 @ =gMain
- movs r1, #0xae
- lsls r1, r1, #4
- adds r6, r0, r1
- ldrh r0, [r6]
- ldr r2, _08042B38 @ =gMain
- ldr r3, _08042B44 @ =0x00000B98
- adds r2, r2, r3
- mov sb, r2
- cmp r0, #0
- beq _08042BC0
- mov r4, r8
- ldr r0, [r4]
- movs r1, #0xf1
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r6, #2]
- ldr r0, [r4]
- ldr r4, _08042B48 @ =0x000003C6
- adds r0, r0, r4
- movs r3, #0
- ldrsh r0, [r0, r3]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r6, #4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xb4
- ble _08042B4C
- movs r0, #0xb4
- strh r0, [r6, #4]
- b _08042B60
- .align 2, 0
-_08042B2C: .4byte 0x00000414
-_08042B30: .4byte 0x0000041A
-_08042B34: .4byte 0x00000516
-_08042B38: .4byte gMain
-_08042B3C: .4byte 0x00000D08
-_08042B40: .4byte 0x00000506
-_08042B44: .4byte 0x00000B98
-_08042B48: .4byte 0x000003C6
-_08042B4C:
- mov r0, r8
- ldr r1, [r0]
- adds r0, r1, r5
- ldrh r0, [r0]
- cmp r0, #0xff
- bhi _08042B60
- adds r1, r1, r4
- ldrh r0, [r1]
- adds r0, #0x14
- strh r0, [r1]
-_08042B60:
- movs r2, #4
- ldrsh r1, [r6, r2]
- movs r0, #0x3c
- rsbs r0, r0, #0
- cmp r1, r0
- bge _08042B70
- ldr r0, _08042C00 @ =0x0000FFC4
- strh r0, [r6, #4]
-_08042B70:
- movs r0, #0
- ldr r3, _08042C04 @ =0x0200BC58
- mov sb, r3
- ldr r7, _08042C08 @ =gOamBuffer
- ldr r4, _08042C0C @ =0xFFFFFE00
- mov ip, r4
-_08042B7C:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08042C10 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #3
- ble _08042B7C
-_08042BC0:
- mov r6, sb
- ldrh r0, [r6]
- cmp r0, #0
- beq _08042C86
- mov r3, r8
- ldr r0, [r3]
- movs r4, #0xf2
- lsls r4, r4, #2
- adds r0, r0, r4
- movs r1, #0
- ldrsh r0, [r0, r1]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r6, #2]
- mov r2, r8
- ldr r0, [r2]
- adds r4, #2
- adds r0, r0, r4
- movs r3, #0
- ldrsh r0, [r0, r3]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r6, #4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xb4
- ble _08042C14
- movs r0, #0xb4
- strh r0, [r6, #4]
- b _08042C2A
- .align 2, 0
-_08042C00: .4byte 0x0000FFC4
-_08042C04: .4byte 0x0200BC58
-_08042C08: .4byte gOamBuffer
-_08042C0C: .4byte 0xFFFFFE00
-_08042C10: .4byte 0x000001FF
-_08042C14:
- mov r0, r8
- ldr r1, [r0]
- ldr r2, _08042CB8 @ =0x00000516
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, #0xff
- bhi _08042C2A
- adds r1, r1, r4
- ldrh r0, [r1]
- adds r0, #0xa
- strh r0, [r1]
-_08042C2A:
- movs r3, #4
- ldrsh r1, [r6, r3]
- movs r0, #0x3c
- rsbs r0, r0, #0
- cmp r1, r0
- bge _08042C3A
- ldr r0, _08042CBC @ =0x0000FFC4
- strh r0, [r6, #4]
-_08042C3A:
- movs r0, #0
- ldr r7, _08042CC0 @ =gOamBuffer
- ldr r4, _08042CC4 @ =0xFFFFFE00
- mov ip, r4
-_08042C42:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08042CC8 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #5
- ble _08042C42
-_08042C86:
- ldr r6, _08042CCC @ =0x0200BDC8
- ldrh r0, [r6]
- cmp r0, #0
- bne _08042C90
- b _08042DA0
-_08042C90:
- mov r3, r8
- ldr r0, [r3]
- ldr r4, _08042CB8 @ =0x00000516
- adds r1, r0, r4
- ldrh r0, [r1]
- subs r0, #0xbe
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #9
- bhi _08042CD4
- ldr r0, _08042CD0 @ =0x086AF784
- ldrh r1, [r1]
- subs r1, #0xbe
- lsrs r2, r1, #0x1f
- adds r1, r1, r2
- asrs r1, r1, #1
- lsls r1, r1, #1
- adds r1, r1, r0
- ldrh r7, [r1]
- b _08042CDC
- .align 2, 0
-_08042CB8: .4byte 0x00000516
-_08042CBC: .4byte 0x0000FFC4
-_08042CC0: .4byte gOamBuffer
-_08042CC4: .4byte 0xFFFFFE00
-_08042CC8: .4byte 0x000001FF
-_08042CCC: .4byte 0x0200BDC8
-_08042CD0: .4byte 0x086AF784
-_08042CD4:
- ldrh r0, [r1]
- movs r1, #3
- ands r0, r1
- lsrs r7, r0, #1
-_08042CDC:
- mov r0, r8
- ldr r4, [r0]
- movs r1, #0x83
- lsls r1, r1, #3
- mov sl, r1
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r6, #2]
- ldr r3, _08042DB8 @ =0x0000041A
- mov sb, r3
- add r4, sb
- movs r1, #0
- ldrsh r0, [r4, r1]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r6, #4]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #0x3c
- rsbs r1, r1, #0
- cmp r0, r1
- bge _08042D16
- ldr r0, _08042DBC @ =0x0000FFC4
- strh r0, [r6, #4]
-_08042D16:
- movs r2, #4
- ldrsh r0, [r6, r2]
- cmp r0, #0xb4
- ble _08042D22
- movs r0, #0xb4
- strh r0, [r6, #4]
-_08042D22:
- adds r5, r6, #0
- adds r5, #8
- ldr r4, _08042DC0 @ =gOamBuffer
- ldrh r2, [r6, #8]
- lsls r2, r2, #3
- adds r2, r2, r4
- movs r3, #2
- ldrsh r1, [r5, r3]
- movs r3, #2
- ldrsh r0, [r6, r3]
- adds r1, r1, r0
- ldr r3, _08042DC4 @ =0x000001FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- ldr r0, _08042DC8 @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- ldrh r2, [r6, #8]
- lsls r2, r2, #3
- adds r2, r2, r4
- lsls r1, r7, #0x10
- asrs r1, r1, #0xe
- adds r1, #0x7d
- ldr r4, _08042DCC @ =0x000003FF
- adds r0, r4, #0
- ands r1, r0
- ldrh r3, [r2, #4]
- ldr r0, _08042DD0 @ =0xFFFFFC00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #4]
- mov r0, r8
- ldr r2, [r0]
- ldr r1, _08042DD4 @ =0x00000516
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, #0xa0
- bls _08042DA0
- mov r3, sl
- adds r1, r2, r3
- adds r4, #0x15
- adds r0, r2, r4
- ldrh r0, [r0]
- ldrh r3, [r1]
- adds r0, r0, r3
- strh r0, [r1]
- mov r4, sb
- adds r1, r2, r4
- ldr r3, _08042DD8 @ =0x00000416
- adds r0, r2, r3
- ldrh r0, [r0]
- ldrh r4, [r1]
- adds r0, r0, r4
- strh r0, [r1]
-_08042DA0:
- mov r0, r8
- ldr r2, [r0]
- adds r0, r2, #0
- adds r0, #0xe6
- movs r3, #0
- ldrsh r1, [r0, r3]
- movs r0, #0x20
- rsbs r0, r0, #0
- cmp r1, r0
- blt _08042DDC
- movs r0, #0
- b _08042DDE
- .align 2, 0
-_08042DB8: .4byte 0x0000041A
-_08042DBC: .4byte 0x0000FFC4
-_08042DC0: .4byte gOamBuffer
-_08042DC4: .4byte 0x000001FF
-_08042DC8: .4byte 0xFFFFFE00
-_08042DCC: .4byte 0x000003FF
-_08042DD0: .4byte 0xFFFFFC00
-_08042DD4: .4byte 0x00000516
-_08042DD8: .4byte 0x00000416
-_08042DDC:
- movs r0, #1
-_08042DDE:
- strb r0, [r2, #0x1a]
- ldr r4, _08042E38 @ =gMain
- ldr r0, _08042E3C @ =0x000002F2
- adds r2, r4, r0
- mov r1, r8
- ldr r0, [r1]
- movs r1, #0xa3
- lsls r1, r1, #3
- adds r0, r0, r1
- ldrh r0, [r0]
- ldrh r3, [r2]
- adds r0, r0, r3
- strh r0, [r2]
- ldr r0, _08042E40 @ =0x000002EE
- adds r2, r4, r0
- mov r3, r8
- ldr r0, [r3]
- adds r0, r0, r1
- ldrh r0, [r0]
- ldrh r4, [r2]
- adds r0, r0, r4
- strh r0, [r2]
- ldr r0, _08042E38 @ =gMain
- ldr r3, _08042E44 @ =0x000002F6
- adds r2, r0, r3
- mov r4, r8
- ldr r0, [r4]
- adds r0, r0, r1
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0
- bge _08042E20
- adds r0, #3
-_08042E20:
- asrs r0, r0, #2
- adds r0, #0xe0
- ldrh r3, [r2]
- adds r0, r0, r3
- strh r0, [r2]
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08042E38: .4byte gMain
-_08042E3C: .4byte 0x000002F2
-_08042E40: .4byte 0x000002EE
-_08042E44: .4byte 0x000002F6
-
- thumb_func_start sub_42E48
-sub_42E48: @ 0x08042E48
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- ldr r0, _08043198 @ =gMain
- ldr r1, [r0, #0x4c]
- movs r0, #0xf
- movs r5, #0
- ands r1, r0
- cmp r5, r1
- bge _08042E72
- adds r4, r1, #0
-_08042E5E:
- bl Random
- lsls r0, r5, #0x10
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r0, r1
- lsrs r5, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, r4
- blt _08042E5E
-_08042E72:
- ldr r1, _08043198 @ =gMain
- ldr r0, [r1, #0x4c]
- str r0, [r1, #0x48]
- ldr r4, _0804319C @ =0x020314E0
- ldr r0, [r4]
- movs r6, #0
- movs r3, #0
- strh r3, [r0, #0x18]
- strb r6, [r0, #0x17]
- ldr r0, [r4]
- strb r6, [r0, #0x13]
- ldr r0, [r4]
- movs r2, #0xa5
- lsls r2, r2, #2
- adds r0, r0, r2
- movs r5, #1
- mov r8, r5
- mov r7, r8
- strb r7, [r0]
- ldr r2, [r4]
- adds r5, r2, #0
- adds r5, #0x6c
- movs r1, #0xe1
- lsls r1, r1, #5
- adds r0, r1, #0
- ldrh r7, [r5]
- adds r0, r0, r7
- ldr r7, _080431A0 @ =0x00000296
- adds r1, r2, r7
- strh r0, [r1]
- strh r3, [r5]
- ldr r1, _080431A4 @ =0x00000392
- adds r0, r2, r1
- strh r3, [r0]
- ldr r5, _080431A8 @ =0x00000383
- adds r2, r2, r5
- strb r6, [r2]
- ldr r0, [r4]
- adds r7, #0xf2
- adds r0, r0, r7
- strb r6, [r0]
- ldr r0, [r4]
- ldr r1, _080431AC @ =0x0000132C
- adds r0, r0, r1
- ldr r0, [r0]
- mov r2, r8
- strb r2, [r0]
- ldr r0, [r4]
- strb r2, [r0, #0x1f]
- ldr r2, [r4]
- adds r1, r2, r1
- ldr r0, [r1]
- strh r3, [r0, #0x30]
- ldr r0, [r1]
- strh r3, [r0, #0x32]
- ldr r0, [r1]
- strh r3, [r0, #6]
- adds r5, #3
- adds r2, r2, r5
- strb r6, [r2]
- ldr r1, [r4]
- ldr r7, _080431B0 @ =0x0000053A
- adds r0, r1, r7
- strh r3, [r0]
- ldr r2, _080431B4 @ =0x00000542
- adds r0, r1, r2
- strh r3, [r0]
- ldr r5, _080431B8 @ =0x00000544
- adds r0, r1, r5
- str r3, [r0]
- adds r7, #0x10
- adds r1, r1, r7
- strb r6, [r1]
- ldr r0, [r4]
- movs r2, #0xe5
- lsls r2, r2, #2
- adds r1, r0, r2
- strh r3, [r1]
- adds r5, #0x4c
- adds r0, r0, r5
- strb r6, [r0]
- ldr r0, [r4]
- adds r7, #0x47
- adds r0, r0, r7
- strb r6, [r0]
- ldr r1, [r4]
- ldr r2, _080431BC @ =0x00000592
- adds r0, r1, r2
- strh r3, [r0]
- adds r5, #4
- adds r0, r1, r5
- strh r3, [r0]
- adds r7, #5
- adds r0, r1, r7
- strh r3, [r0]
- adds r1, #0x7e
- mov r0, r8
- strh r0, [r1]
- movs r5, #0
- movs r6, #0xe8
- lsls r6, r6, #2
-_08042F3C:
- ldr r0, [r4]
- lsls r1, r5, #0x10
- asrs r1, r1, #0x10
- adds r0, r0, r6
- adds r0, r0, r1
- strb r3, [r0]
- ldr r0, [r4]
- ldr r2, _080431C0 @ =0x000003A3
- adds r0, r0, r2
- adds r0, r0, r1
- strb r3, [r0]
- ldr r0, [r4]
- lsls r2, r1, #1
- movs r5, #0xec
- lsls r5, r5, #2
- adds r0, r0, r5
- adds r0, r0, r2
- strh r3, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r5, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #2
- ble _08042F3C
- movs r5, #0
- ldr r4, _0804319C @ =0x020314E0
- movs r3, #0
-_08042F72:
- ldr r0, [r4]
- lsls r1, r5, #0x10
- asrs r1, r1, #0x10
- movs r7, #0xa6
- lsls r7, r7, #3
- adds r0, r0, r7
- adds r0, r0, r1
- strb r3, [r0]
- ldr r0, [r4]
- ldr r2, _080431C4 @ =0x00000533
- adds r0, r0, r2
- adds r0, r0, r1
- strb r3, [r0]
- ldr r0, [r4]
- ldr r5, _080431C8 @ =0x00000536
- adds r0, r0, r5
- adds r0, r0, r1
- strb r3, [r0]
- ldr r0, [r4]
- lsls r2, r1, #1
- adds r7, #0xc
- adds r0, r0, r7
- adds r0, r0, r2
- strh r3, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r5, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #2
- ble _08042F72
- movs r5, #0
- ldr r6, _0804319C @ =0x020314E0
- movs r4, #0
-_08042FB4:
- ldr r0, [r6]
- lsls r3, r5, #0x10
- asrs r3, r3, #0x10
- ldr r1, _080431CC @ =0x0000052C
- adds r0, r0, r1
- adds r0, r0, r3
- strb r4, [r0]
- ldr r0, [r6]
- ldr r2, _080431D0 @ =0x0000052E
- adds r0, r0, r2
- adds r0, r0, r3
- strb r4, [r0]
- ldr r0, [r6]
- movs r5, #0xa9
- lsls r5, r5, #3
- adds r0, r0, r5
- adds r0, r0, r3
- strb r4, [r0]
- ldr r0, [r6]
- ldr r7, _080431D4 @ =0x0000054B
- adds r0, r0, r7
- adds r0, r0, r3
- strb r4, [r0]
- ldr r0, [r6]
- adds r1, #0x21
- adds r0, r0, r1
- adds r0, r0, r3
- strb r4, [r0]
- ldr r0, [r6]
- adds r2, #0x21
- adds r0, r0, r2
- adds r0, r0, r3
- strb r4, [r0]
- ldr r0, [r6]
- adds r5, #9
- adds r0, r0, r5
- adds r0, r0, r3
- strb r4, [r0]
- ldr r0, [r6]
- adds r7, #8
- adds r0, r0, r7
- adds r0, r0, r3
- strb r4, [r0]
- ldr r0, [r6]
- adds r1, #8
- adds r0, r0, r1
- adds r0, r0, r3
- strb r4, [r0]
- ldr r0, [r6]
- adds r2, #8
- adds r0, r0, r2
- adds r0, r0, r3
- strb r4, [r0]
- ldr r0, [r6]
- adds r5, #8
- adds r0, r0, r5
- adds r0, r0, r3
- strb r4, [r0]
- ldr r0, [r6]
- adds r7, #8
- adds r0, r0, r7
- adds r0, r0, r3
- strb r4, [r0]
- ldr r0, [r6]
- adds r1, #8
- adds r0, r0, r1
- adds r0, r0, r3
- strb r4, [r0]
- ldr r0, [r6]
- adds r2, #8
- adds r0, r0, r2
- adds r0, r0, r3
- strb r4, [r0]
- ldr r2, [r6]
- lsls r1, r3, #1
- adds r5, #9
- adds r0, r2, r5
- adds r0, r0, r1
- strh r4, [r0]
- adds r7, #0xb
- adds r0, r2, r7
- adds r0, r0, r1
- strh r4, [r0]
- adds r5, #8
- adds r0, r2, r5
- adds r0, r0, r1
- strh r4, [r0]
- lsls r0, r3, #2
- adds r0, r2, r0
- adds r7, #0xa
- adds r1, r0, r7
- strh r4, [r1]
- adds r5, #8
- adds r1, r0, r5
- strh r4, [r1]
- adds r7, #8
- adds r1, r0, r7
- strh r4, [r1]
- ldr r1, _080431D8 @ =0x0000057A
- adds r0, r0, r1
- strh r4, [r0]
- lsls r1, r3, #3
- adds r5, #0xe
- adds r0, r2, r5
- adds r0, r0, r1
- str r4, [r0]
- adds r7, #0xc
- adds r2, r2, r7
- adds r2, r2, r1
- str r4, [r2]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r5, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #1
- ble _08042FB4
- ldr r0, _0804319C @ =0x020314E0
- ldr r1, [r0]
- movs r0, #0
- strb r0, [r1, #0x1a]
- bl sub_4387C
- bl sub_43500
- bl sub_44D58
- bl sub_45E08
- movs r5, #0
- ldr r6, _080431DC @ =0x03005C00
- movs r4, #0x80
- lsls r4, r4, #3
- movs r3, #0x80
- lsls r3, r3, #2
- ldr r2, _080431E0 @ =0x000007FF
-_080430C2:
- lsls r1, r5, #0x10
- asrs r1, r1, #0x10
- adds r0, r1, r4
- lsls r0, r0, #1
- adds r0, r0, r6
- strh r3, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r5, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, r2
- ble _080430C2
- ldr r1, _080431E4 @ =0x040000D4
- ldr r2, _080431E8 @ =0x03006400
- str r2, [r1]
- ldr r0, _080431EC @ =0x06001000
- str r0, [r1, #4]
- ldr r0, _080431F0 @ =0x80000800
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldr r1, _08043198 @ =gMain
- ldrh r0, [r1, #0x38]
- ldr r0, _080431F4 @ =0x00001C42
- strh r0, [r1, #0x38]
- ldrh r0, [r1, #0x3a]
- ldr r0, _080431F8 @ =0x00000C04
- strh r0, [r1, #0x3a]
- movs r5, #0
- adds r6, r1, #0
- ldr r0, _0804319C @ =0x020314E0
- mov r8, r0
- movs r1, #0x80
- lsls r1, r1, #4
- adds r7, r2, r1
- ldr r0, _080431FC @ =0x08137E14
- mov ip, r0
- ldr r1, _08043200 @ =0xFFFFF800
- adds r2, r2, r1
- ldr r4, _08043204 @ =0x0000013F
-_08043110:
- lsls r0, r5, #0x10
- asrs r3, r0, #0x10
- adds r0, r3, #0
- cmp r3, #0
- bge _0804311C
- adds r0, #0x1f
-_0804311C:
- asrs r0, r0, #5
- lsls r0, r0, #5
- subs r0, r3, r0
- subs r0, #2
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0x1b
- bhi _0804313C
- movs r5, #0x80
- lsls r5, r5, #4
- adds r0, r3, r5
- lsls r0, r0, #1
- adds r0, r0, r2
- movs r1, #0x90
- lsls r1, r1, #8
- strh r1, [r0]
-_0804313C:
- adds r0, r3, #1
- lsls r0, r0, #0x10
- lsrs r5, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, r4
- ble _08043110
- ldr r0, _08043208 @ =0x000002EE
- adds r1, r6, r0
- movs r0, #0x7e
- strh r0, [r1]
- ldr r4, _080431E4 @ =0x040000D4
- str r7, [r4]
- ldr r0, _0804320C @ =0x06001140
- str r0, [r4, #4]
- ldr r0, _08043210 @ =0x80000140
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _08043214 @ =0x000005F6
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #5
- add r0, ip
- str r0, [r4]
- ldr r0, _08043218 @ =0x05000220
- str r0, [r4, #4]
- ldr r5, _0804321C @ =0x80000010
- str r5, [r4, #8]
- ldr r0, [r4, #8]
- movs r0, #0x27
- bl m4aSongNumStart
- ldr r0, _08043220 @ =0x081B36A4
- str r0, [r4]
- ldr r0, _08043224 @ =0x05000320
- str r0, [r4, #4]
- str r5, [r4, #8]
- ldr r0, [r4, #8]
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08043198: .4byte gMain
-_0804319C: .4byte 0x020314E0
-_080431A0: .4byte 0x00000296
-_080431A4: .4byte 0x00000392
-_080431A8: .4byte 0x00000383
-_080431AC: .4byte 0x0000132C
-_080431B0: .4byte 0x0000053A
-_080431B4: .4byte 0x00000542
-_080431B8: .4byte 0x00000544
-_080431BC: .4byte 0x00000592
-_080431C0: .4byte 0x000003A3
-_080431C4: .4byte 0x00000533
-_080431C8: .4byte 0x00000536
-_080431CC: .4byte 0x0000052C
-_080431D0: .4byte 0x0000052E
-_080431D4: .4byte 0x0000054B
-_080431D8: .4byte 0x0000057A
-_080431DC: .4byte 0x03005C00
-_080431E0: .4byte 0x000007FF
-_080431E4: .4byte 0x040000D4
-_080431E8: .4byte 0x03006400
-_080431EC: .4byte 0x06001000
-_080431F0: .4byte 0x80000800
-_080431F4: .4byte 0x00001C42
-_080431F8: .4byte 0x00000C04
-_080431FC: .4byte 0x08137E14
-_08043200: .4byte 0xFFFFF800
-_08043204: .4byte 0x0000013F
-_08043208: .4byte 0x000002EE
-_0804320C: .4byte 0x06001140
-_08043210: .4byte 0x80000140
-_08043214: .4byte 0x000005F6
-_08043218: .4byte 0x05000220
-_0804321C: .4byte 0x80000010
-_08043220: .4byte 0x081B36A4
-_08043224: .4byte 0x05000320
-
- thumb_func_start sub_43228
-sub_43228: @ 0x08043228
- push {r4, r5, lr}
- ldr r1, _08043248 @ =0x020314E0
- ldr r0, [r1]
- ldrb r0, [r0, #0x13]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r5, r1, #0
- cmp r0, #5
- bls _0804323C
- b _080434BA
-_0804323C:
- lsls r0, r0, #2
- ldr r1, _0804324C @ =_08043250
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08043248: .4byte 0x020314E0
-_0804324C: .4byte _08043250
-_08043250: @ jump table
- .4byte _08043268 @ case 0
- .4byte _080432CE @ case 1
- .4byte _08043342 @ case 2
- .4byte _080433D4 @ case 3
- .4byte _08043470 @ case 4
- .4byte _080434A2 @ case 5
-_08043268:
- ldr r0, [r5]
- ldr r1, _080432B0 @ =0x000005F7
- adds r0, r0, r1
- movs r3, #0
- movs r2, #1
- strb r2, [r0]
- ldr r4, [r5]
- ldrh r1, [r4, #0x18]
- ldr r0, _080432B4 @ =0x00000153
- cmp r1, r0
- bhi _080432C0
- subs r0, #0x13
- cmp r1, r0
- bhi _08043296
- adds r0, r1, #0
- movs r1, #5
- bl __udivsi3
- ldr r2, _080432B8 @ =0x0000FFC0
- adds r0, r0, r2
- adds r1, r4, #0
- adds r1, #0xe6
- strh r0, [r1]
-_08043296:
- ldr r2, [r5]
- ldrh r1, [r2, #0x18]
- ldr r0, _080432BC @ =0x00000145
- cmp r1, r0
- bne _080432AA
- movs r3, #0xa5
- lsls r3, r3, #2
- adds r1, r2, r3
- movs r0, #2
- strb r0, [r1]
-_080432AA:
- ldr r1, [r5]
- ldrh r0, [r1, #0x18]
- b _0804331C
- .align 2, 0
-_080432B0: .4byte 0x000005F7
-_080432B4: .4byte 0x00000153
-_080432B8: .4byte 0x0000FFC0
-_080432BC: .4byte 0x00000145
-_080432C0:
- adds r0, r4, #0
- adds r0, #0xe6
- strh r3, [r0]
- strb r2, [r4, #0x13]
- ldr r0, [r5]
- strh r3, [r0, #0x18]
- b _080434BA
-_080432CE:
- ldr r1, [r5]
- ldr r4, _08043324 @ =0x00000296
- adds r0, r1, r4
- ldrh r4, [r0]
- cmp r4, #0
- beq _080432DC
- b _080434BA
-_080432DC:
- movs r0, #0xa5
- lsls r0, r0, #2
- adds r1, r1, r0
- movs r0, #3
- strb r0, [r1]
- ldr r0, [r5]
- ldrh r0, [r0, #0x18]
- cmp r0, #0
- bne _08043314
- bl m4aMPlayAllStop
- ldr r0, _08043328 @ =0x02032F20
- ldr r1, _0804332C @ =0x086A2E90
- bl MPlayStart
- ldr r1, _08043330 @ =gMain
- movs r0, #0x80
- strb r0, [r1, #0xf]
- ldr r0, [r5]
- movs r1, #0xe2
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r1, #2
- strb r1, [r0]
- ldr r0, [r5]
- ldr r2, _08043334 @ =0x00000392
- adds r0, r0, r2
- strh r4, [r0]
-_08043314:
- ldr r1, [r5]
- ldrh r0, [r1, #0x18]
- cmp r0, #0x3b
- bhi _08043338
-_0804331C:
- adds r0, #1
- strh r0, [r1, #0x18]
- b _080434BA
- .align 2, 0
-_08043324: .4byte 0x00000296
-_08043328: .4byte 0x02032F20
-_0804332C: .4byte 0x086A2E90
-_08043330: .4byte gMain
-_08043334: .4byte 0x00000392
-_08043338:
- movs r0, #2
- strb r0, [r1, #0x13]
- ldr r0, [r5]
- strh r4, [r0, #0x18]
- b _080434BA
-_08043342:
- ldr r0, [r5]
- ldrh r0, [r0, #0x18]
- cmp r0, #0
- bne _08043354
- bl m4aMPlayAllStop
- movs r0, #0x2b
- bl m4aSongNumStart
-_08043354:
- ldr r2, [r5]
- ldrh r0, [r2, #0x18]
- cmp r0, #0x13
- bhi _08043362
- adds r0, #1
- strh r0, [r2, #0x18]
- b _080434BA
-_08043362:
- movs r1, #0
- movs r0, #3
- strb r0, [r2, #0x13]
- ldr r0, [r5]
- strh r1, [r0, #0x18]
- ldr r2, _080433B0 @ =gMain
- movs r3, #0x80
- lsls r3, r3, #4
- adds r0, r2, r3
- movs r3, #1
- movs r1, #1
- strh r1, [r0]
- ldr r4, _080433B4 @ =0x000008B8
- adds r0, r2, r4
- strh r1, [r0]
- adds r4, #0xb8
- adds r0, r2, r4
- strh r1, [r0]
- ldr r0, _080433B8 @ =0x00000A28
- adds r2, r2, r0
- strh r1, [r2]
- ldr r1, _080433BC @ =0x040000D4
- ldr r0, _080433C0 @ =0x084B77EC
- str r0, [r1]
- ldr r0, _080433C4 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _080433C8 @ =0x80000400
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldr r0, [r5]
- movs r1, #0xe5
- lsls r1, r1, #2
- adds r2, r0, r1
- ldr r1, _080433CC @ =0x0000FF82
- strh r1, [r2]
- ldr r2, _080433D0 @ =0x000005FA
- adds r0, r0, r2
- strb r3, [r0]
- b _080434BA
- .align 2, 0
-_080433B0: .4byte gMain
-_080433B4: .4byte 0x000008B8
-_080433B8: .4byte 0x00000A28
-_080433BC: .4byte 0x040000D4
-_080433C0: .4byte 0x084B77EC
-_080433C4: .4byte 0x06015800
-_080433C8: .4byte 0x80000400
-_080433CC: .4byte 0x0000FF82
-_080433D0: .4byte 0x000005FA
-_080433D4:
- bl sub_45E90
- ldr r1, _08043444 @ =0x020314E0
- ldr r2, [r1]
- ldrb r0, [r2, #0x1c]
- cmp r0, #0
- beq _080433E6
- movs r0, #0xb5
- strh r0, [r2, #0x18]
-_080433E6:
- ldr r2, [r1]
- ldrh r0, [r2, #0x18]
- cmp r0, #0xb4
- bne _08043408
- ldr r3, _08043448 @ =0x00000544
- adds r0, r2, r3
- ldr r0, [r0]
- cmp r0, #0
- beq _08043408
- movs r0, #1
- strb r0, [r2, #0x1c]
- ldr r1, [r1]
- ldr r0, _0804344C @ =0x00061A80
- str r0, [r1, #0x38]
- adds r0, r1, r3
- ldr r0, [r0]
- str r0, [r1, #0x3c]
-_08043408:
- ldr r0, _08043444 @ =0x020314E0
- ldr r2, [r0]
- ldrh r1, [r2, #0x18]
- adds r5, r0, #0
- cmp r1, #0xbd
- bls _08043426
- ldr r0, _08043450 @ =gMain
- ldrh r1, [r0, #0x18]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _08043426
- movs r0, #0x87
- lsls r0, r0, #2
- strh r0, [r2, #0x18]
-_08043426:
- ldr r1, [r5]
- ldrh r2, [r1, #0x18]
- ldr r0, _08043454 @ =0x0000021B
- cmp r2, r0
- bhi _08043458
- cmp r2, #4
- bne _0804343A
- movs r0, #0xa4
- bl m4aSongNumStart
-_0804343A:
- ldr r1, [r5]
- ldrh r0, [r1, #0x18]
- adds r0, #1
- strh r0, [r1, #0x18]
- b _08043460
- .align 2, 0
-_08043444: .4byte 0x020314E0
-_08043448: .4byte 0x00000544
-_0804344C: .4byte 0x00061A80
-_08043450: .4byte gMain
-_08043454: .4byte 0x0000021B
-_08043458:
- movs r0, #0
- strh r0, [r1, #0x18]
- movs r0, #4
- strb r0, [r1, #0x13]
-_08043460:
- ldr r0, [r5]
- ldr r4, _0804346C @ =0x000005FA
- adds r0, r0, r4
- movs r1, #1
- b _080434B8
- .align 2, 0
-_0804346C: .4byte 0x000005FA
-_08043470:
- bl sub_45E90
- ldr r0, _08043494 @ =0x020314E0
- ldr r1, [r0]
- ldrh r0, [r1, #0x18]
- cmp r0, #0x1d
- bhi _08043498
- adds r0, #1
- strh r0, [r1, #0x18]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #2
- bne _080434BA
- movs r0, #0xa4
- bl m4aSongNumStart
- b _080434BA
- .align 2, 0
-_08043494: .4byte 0x020314E0
-_08043498:
- movs r0, #0
- strh r0, [r1, #0x18]
- movs r0, #5
- strb r0, [r1, #0x13]
- b _080434BA
-_080434A2:
- bl sub_45E90
- ldr r2, _080434F4 @ =0x020314E0
- ldr r0, [r2]
- ldr r1, _080434F8 @ =0x00000386
- adds r0, r0, r1
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r2, _080434FC @ =0x000005FA
- adds r0, r0, r2
-_080434B8:
- strb r1, [r0]
-_080434BA:
- bl sub_4387C
- bl sub_43500
- bl sub_44D58
- bl sub_45E08
- ldr r0, _080434F4 @ =0x020314E0
- ldr r1, [r0]
- ldr r3, _080434F8 @ =0x00000386
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _080434E8
- ldr r4, _080434FC @ =0x000005FA
- adds r1, r1, r4
- movs r0, #1
- strb r0, [r1]
- bl sub_350F0
-_080434E8:
- bl sub_472E4
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080434F4: .4byte 0x020314E0
-_080434F8: .4byte 0x00000386
-_080434FC: .4byte 0x000005FA
-
- thumb_func_start sub_43500
-sub_43500: @ 0x08043500
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- ldr r0, _08043594 @ =0x020314E0
- ldr r0, [r0]
- ldrb r0, [r0, #0x13]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #1
- bgt _08043524
- ldr r0, _08043598 @ =gMain
- ldrb r0, [r0, #0xf]
- cmp r0, #0
- bne _08043524
- bl sub_455D0
-_08043524:
- ldr r2, _08043594 @ =0x020314E0
- ldr r0, [r2]
- ldrb r0, [r0, #0x13]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #1
- ble _08043534
- b _080436E8
-_08043534:
- ldr r0, _08043598 @ =gMain
- ldrb r0, [r0, #0xf]
- cmp r0, #0
- beq _0804353E
- b _080436E8
-_0804353E:
- movs r1, #0
- adds r7, r2, #0
- movs r0, #0xa9
- lsls r0, r0, #3
- mov r8, r0
- ldr r2, _0804359C @ =0x086AFAE2
- mov sl, r2
-_0804354C:
- ldr r0, [r7]
- lsls r1, r1, #0x10
- asrs r4, r1, #0x10
- add r0, r8
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- mov sb, r1
- cmp r0, #0x17
- bne _08043576
- ldr r0, _080435A0 @ =0x02032F20
- ldr r1, _080435A4 @ =0x086A2EAC
- bl MPlayStart
- ldr r1, [r7]
- ldr r0, _080435A8 @ =0x00001388
- str r0, [r1, #0x3c]
- movs r0, #8
- bl sub_11B0
-_08043576:
- ldr r3, [r7]
- movs r6, #0xe8
- lsls r6, r6, #2
- adds r0, r3, r6
- adds r0, r0, r4
- movs r2, #0
- ldrsb r2, [r0, r2]
- cmp r2, #1
- beq _080435D4
- cmp r2, #1
- bgt _080435AC
- cmp r2, #0
- beq _080435B6
- b _080436D8
- .align 2, 0
-_08043594: .4byte 0x020314E0
-_08043598: .4byte gMain
-_0804359C: .4byte 0x086AFAE2
-_080435A0: .4byte 0x02032F20
-_080435A4: .4byte 0x086A2EAC
-_080435A8: .4byte 0x00001388
-_080435AC:
- cmp r2, #2
- beq _08043628
- cmp r2, #3
- beq _0804366C
- b _080436D8
-_080435B6:
- lsls r1, r4, #1
- movs r5, #0xec
- lsls r5, r5, #2
- adds r0, r3, r5
- adds r0, r0, r1
- strh r2, [r0]
- ldr r1, _080435D0 @ =0x000003A3
- adds r0, r3, r1
- adds r0, r0, r4
- movs r1, #4
- strb r1, [r0]
- b _080436CE
- .align 2, 0
-_080435D0: .4byte 0x000003A3
-_080435D4:
- mov r2, r8
- adds r0, r3, r2
- adds r1, r0, r4
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- bgt _0804367C
- ldr r5, _08043624 @ =0x000003A3
- adds r0, r3, r5
- adds r5, r0, r4
- movs r1, #0
- ldrsb r1, [r5, r1]
- lsls r1, r1, #2
- add r1, sl
- lsls r2, r4, #1
- movs r6, #0xec
- lsls r6, r6, #2
- adds r0, r3, r6
- adds r2, r0, r2
- ldrh r3, [r2]
- ldrh r0, [r1]
- cmp r0, r3
- bhi _080436A6
- movs r0, #0
- strh r0, [r2]
- ldrb r0, [r5]
- adds r0, #1
- strb r0, [r5]
- ldr r0, [r7]
- ldr r1, _08043624 @ =0x000003A3
- adds r0, r0, r1
- adds r1, r0, r4
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #6
- bne _080436D8
- movs r0, #4
- strb r0, [r1]
- b _080436D8
- .align 2, 0
-_08043624: .4byte 0x000003A3
-_08043628:
- mov r2, r8
- adds r0, r3, r2
- adds r1, r0, r4
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- bgt _0804367C
- lsls r1, r4, #1
- movs r5, #0xec
- lsls r5, r5, #2
- adds r0, r3, r5
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, #0
- beq _0804365C
- subs r0, #1
- strh r0, [r1]
- ldr r6, _08043658 @ =0x000003A3
- adds r0, r3, r6
- adds r0, r0, r4
- movs r1, #8
- b _080436D6
- .align 2, 0
-_08043658: .4byte 0x000003A3
-_0804365C:
- ldr r1, _08043668 @ =0x000003A3
- adds r0, r3, r1
- adds r0, r0, r4
- movs r1, #7
- b _080436D6
- .align 2, 0
-_08043668: .4byte 0x000003A3
-_0804366C:
- mov r2, r8
- adds r0, r3, r2
- adds r1, r0, r4
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- ble _08043682
-_0804367C:
- subs r0, r2, #1
- strb r0, [r1]
- b _080436D8
-_08043682:
- ldr r5, _080436AC @ =0x000003A3
- adds r0, r3, r5
- adds r5, r0, r4
- movs r1, #0
- ldrsb r1, [r5, r1]
- lsls r1, r1, #2
- add r1, sl
- lsls r0, r4, #1
- mov ip, r0
- movs r2, #0xec
- lsls r2, r2, #2
- adds r0, r3, r2
- mov r3, ip
- adds r2, r0, r3
- ldrh r3, [r2]
- ldrh r0, [r1]
- cmp r0, r3
- bls _080436B0
-_080436A6:
- adds r0, r3, #1
- strh r0, [r2]
- b _080436D8
- .align 2, 0
-_080436AC: .4byte 0x000003A3
-_080436B0:
- movs r0, #0
- strh r0, [r2]
- ldrb r0, [r5]
- adds r0, #1
- strb r0, [r5]
- ldr r0, [r7]
- ldr r5, _08043720 @ =0x000003A3
- adds r0, r0, r5
- adds r1, r0, r4
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0xe
- ble _080436D8
- movs r0, #4
- strb r0, [r1]
-_080436CE:
- ldr r0, [r7]
- adds r0, r0, r6
- adds r0, r0, r4
- movs r1, #1
-_080436D6:
- strb r1, [r0]
-_080436D8:
- movs r0, #0x80
- lsls r0, r0, #9
- add r0, sb
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #1
- bgt _080436E8
- b _0804354C
-_080436E8:
- ldr r6, _08043724 @ =0x0200C388
- ldrh r0, [r6]
- cmp r0, #0
- beq _08043788
- ldr r2, _08043728 @ =0x020314E0
- ldr r0, [r2]
- adds r0, #0x58
- ldrh r1, [r0]
- movs r0, #0x64
- subs r0, r0, r1
- strh r0, [r6, #2]
- ldr r0, [r2]
- adds r0, #0x5a
- ldrh r1, [r0]
- movs r0, #0x5e
- subs r0, r0, r1
- strh r0, [r6, #4]
- ldr r2, [r2]
- movs r1, #0xa9
- lsls r1, r1, #3
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _0804372C
- movs r0, #0
- b _0804373E
- .align 2, 0
-_08043720: .4byte 0x000003A3
-_08043724: .4byte 0x0200C388
-_08043728: .4byte 0x020314E0
-_0804372C:
- ldr r1, _080437C0 @ =0x086AFAE0
- ldr r3, _080437C4 @ =0x000003A3
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #2
- adds r0, r0, r1
- ldrh r0, [r0]
-_0804373E:
- ldr r2, _080437C8 @ =0x040000D4
- lsls r0, r0, #0x10
- asrs r0, r0, #5
- ldr r1, _080437CC @ =0x084B47EC
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _080437D0 @ =0x060114A0
- str r0, [r2, #4]
- ldr r0, _080437D4 @ =0x80000300
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- adds r5, r6, #0
- adds r5, #8
- ldr r4, _080437D8 @ =gOamBuffer
- ldrh r2, [r6, #8]
- lsls r2, r2, #3
- adds r2, r2, r4
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r3, #2
- ldrsh r0, [r6, r3]
- adds r1, r1, r0
- ldr r3, _080437DC @ =0x000001FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- ldr r0, _080437E0 @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
-_08043788:
- ldr r6, _080437E4 @ =0x0200C2D0
- ldrh r0, [r6]
- cmp r0, #0
- beq _0804384E
- ldr r2, _080437E8 @ =0x020314E0
- ldr r0, [r2]
- adds r0, #0x58
- ldrh r1, [r0]
- movs r0, #0x8c
- subs r0, r0, r1
- strh r0, [r6, #2]
- ldr r0, [r2]
- adds r0, #0x5a
- ldrh r1, [r0]
- movs r0, #0x5e
- subs r0, r0, r1
- strh r0, [r6, #4]
- ldr r2, [r2]
- ldr r5, _080437EC @ =0x00000549
- adds r0, r2, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _080437F0
- movs r0, #0
- b _08043804
- .align 2, 0
-_080437C0: .4byte 0x086AFAE0
-_080437C4: .4byte 0x000003A3
-_080437C8: .4byte 0x040000D4
-_080437CC: .4byte 0x084B47EC
-_080437D0: .4byte 0x060114A0
-_080437D4: .4byte 0x80000300
-_080437D8: .4byte gOamBuffer
-_080437DC: .4byte 0x000001FF
-_080437E0: .4byte 0xFFFFFE00
-_080437E4: .4byte 0x0200C2D0
-_080437E8: .4byte 0x020314E0
-_080437EC: .4byte 0x00000549
-_080437F0:
- ldr r1, _0804385C @ =0x086AFAE0
- movs r3, #0xe9
- lsls r3, r3, #2
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #2
- adds r0, r0, r1
- ldrh r0, [r0]
-_08043804:
- ldr r2, _08043860 @ =0x040000D4
- lsls r0, r0, #0x10
- asrs r0, r0, #5
- ldr r1, _08043864 @ =0x084B47EC
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _08043868 @ =0x06010CA0
- str r0, [r2, #4]
- ldr r0, _0804386C @ =0x80000300
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- adds r5, r6, #0
- adds r5, #8
- ldr r4, _08043870 @ =gOamBuffer
- ldrh r2, [r6, #8]
- lsls r2, r2, #3
- adds r2, r2, r4
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r3, #2
- ldrsh r0, [r6, r3]
- adds r1, r1, r0
- ldr r3, _08043874 @ =0x000001FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- ldr r0, _08043878 @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
-_0804384E:
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804385C: .4byte 0x086AFAE0
-_08043860: .4byte 0x040000D4
-_08043864: .4byte 0x084B47EC
-_08043868: .4byte 0x06010CA0
-_0804386C: .4byte 0x80000300
-_08043870: .4byte gOamBuffer
-_08043874: .4byte 0x000001FF
-_08043878: .4byte 0xFFFFFE00
-
- thumb_func_start sub_4387C
-sub_4387C: @ 0x0804387C
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #0x10
- ldr r0, _080438D4 @ =0x020314E0
- ldr r0, [r0]
- ldrb r0, [r0, #0x13]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #1
- beq _0804389A
- bl _080448FC
-_0804389A:
- ldr r0, _080438D8 @ =gMain
- ldrb r0, [r0, #0xf]
- cmp r0, #0
- beq _080438A6
- bl _080448FC
-_080438A6:
- movs r0, #0
- str r0, [sp]
-_080438AA:
- ldr r3, _080438D4 @ =0x020314E0
- ldr r0, [r3]
- ldr r1, [sp]
- lsls r2, r1, #0x10
- asrs r1, r2, #0x10
- ldr r4, _080438DC @ =0x00000553
- adds r0, r0, r4
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- mov sb, r2
- cmp r0, #0xe
- bls _080438CA
- bl _080448E4
-_080438CA:
- lsls r0, r0, #2
- ldr r1, _080438E0 @ =_080438E4
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080438D4: .4byte 0x020314E0
-_080438D8: .4byte gMain
-_080438DC: .4byte 0x00000553
-_080438E0: .4byte _080438E4
-_080438E4: @ jump table
- .4byte _08043920 @ case 0
- .4byte _08043980 @ case 1
- .4byte _08043BF8 @ case 2
- .4byte _08043CB0 @ case 3
- .4byte _08043DC0 @ case 4
- .4byte _08043EB8 @ case 5
- .4byte _08043F04 @ case 6
- .4byte _08043FB0 @ case 7
- .4byte _0804409C @ case 8
- .4byte _080442A6 @ case 9
- .4byte _08044344 @ case 10
- .4byte _08044450 @ case 11
- .4byte _080445BC @ case 12
- .4byte _08044624 @ case 13
- .4byte _080446AC @ case 14
-_08043920:
- ldr r5, _08043968 @ =0x020314E0
- ldr r1, [r5]
- mov r6, sb
- asrs r3, r6, #0x10
- ldr r7, _0804396C @ =0x00000553
- adds r1, r1, r7
- adds r1, r1, r3
- movs r4, #0
- movs r0, #1
- strb r0, [r1]
- ldr r0, [r5]
- ldr r1, _08043970 @ =0x0000055B
- adds r0, r0, r1
- adds r0, r0, r3
- strb r4, [r0]
- ldr r1, [r5]
- lsls r2, r3, #1
- ldr r5, _08043974 @ =0x00000562
- adds r0, r1, r5
- adds r0, r0, r2
- movs r2, #0
- strh r4, [r0]
- ldr r6, _08043978 @ =0x0000054F
- adds r1, r1, r6
- adds r1, r1, r3
- strb r2, [r1]
- ldr r7, _08043968 @ =0x020314E0
- ldr r0, [r7]
- ldr r1, _0804397C @ =0x00000557
- adds r0, r0, r1
- adds r0, r0, r3
- movs r1, #0xff
- strb r1, [r0]
- bl _080448E4
- .align 2, 0
-_08043968: .4byte 0x020314E0
-_0804396C: .4byte 0x00000553
-_08043970: .4byte 0x0000055B
-_08043974: .4byte 0x00000562
-_08043978: .4byte 0x0000054F
-_0804397C: .4byte 0x00000557
-_08043980:
- ldr r2, _080439A4 @ =0x020314E0
- ldr r0, [r2]
- mov r3, sb
- asrs r5, r3, #0x10
- lsls r1, r5, #1
- ldr r4, _080439A8 @ =0x00000562
- adds r0, r0, r4
- adds r2, r0, r1
- ldrh r1, [r2]
- lsls r0, r5, #4
- subs r0, r0, r5
- lsls r0, r0, #1
- adds r0, #0x78
- cmp r1, r0
- bge _080439AC
- adds r0, r1, #1
- strh r0, [r2]
- b _08043BCA
- .align 2, 0
-_080439A4: .4byte 0x020314E0
-_080439A8: .4byte 0x00000562
-_080439AC:
- bl Random
- adds r1, r0, #0
- ldr r6, _08043A34 @ =gMain
- ldr r0, [r6, #0x4c]
- adds r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- ldr r7, _08043A38 @ =0x020314E0
- ldr r4, [r7]
- ldr r7, _08043A3C @ =0x00000557
- adds r4, r4, r7
- adds r4, r4, r5
- movs r1, #6
- bl __umodsi3
- strb r0, [r4]
- ldr r1, _08043A38 @ =0x020314E0
- ldr r0, [r1]
- adds r4, r0, r7
- movs r2, #0xab
- lsls r2, r2, #3
- adds r0, r0, r2
- movs r1, #0
- ldrsb r1, [r4, r1]
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r1, r0
- bne _080439F8
- adds r4, r4, r5
- movs r0, #0
- ldrsb r0, [r4, r0]
- adds r0, #2
- movs r1, #6
- bl __modsi3
- strb r0, [r4]
-_080439F8:
- ldr r4, _08043A38 @ =0x020314E0
- ldr r3, [r4]
- adds r0, r3, r7
- adds r0, r0, r5
- movs r4, #0
- ldrsb r4, [r0, r4]
- cmp r4, #1
- bgt _08043AA0
- cmp r4, #0
- bne _08043A48
- lsls r2, r5, #3
- movs r6, #0xb0
- lsls r6, r6, #3
- adds r0, r3, r6
- adds r0, r0, r2
- movs r1, #0x92
- lsls r1, r1, #7
- str r1, [r0]
- ldr r7, _08043A40 @ =0x00000584
- adds r0, r3, r7
- adds r0, r0, r2
- movs r1, #0xab
- lsls r1, r1, #8
- str r1, [r0]
- ldr r1, _08043A44 @ =0x00000551
- adds r0, r3, r1
- adds r0, r0, r5
- strb r4, [r0]
- b _08043A6E
- .align 2, 0
-_08043A34: .4byte gMain
-_08043A38: .4byte 0x020314E0
-_08043A3C: .4byte 0x00000557
-_08043A40: .4byte 0x00000584
-_08043A44: .4byte 0x00000551
-_08043A48:
- lsls r2, r5, #3
- movs r4, #0xb0
- lsls r4, r4, #3
- adds r0, r3, r4
- adds r0, r0, r2
- movs r1, #0xa7
- lsls r1, r1, #8
- str r1, [r0]
- ldr r6, _08043A8C @ =0x00000584
- adds r0, r3, r6
- adds r0, r0, r2
- movs r1, #0xac
- lsls r1, r1, #8
- str r1, [r0]
- ldr r7, _08043A90 @ =0x00000551
- adds r0, r3, r7
- adds r0, r0, r5
- movs r1, #1
- strb r1, [r0]
-_08043A6E:
- ldr r2, _08043A94 @ =0x020314E0
- ldr r1, [r2]
- mov r0, sb
- asrs r3, r0, #0x10
- ldr r4, _08043A98 @ =0x0000055B
- adds r1, r1, r4
- adds r1, r1, r3
- movs r0, #9
- strb r0, [r1]
- ldr r0, [r2]
- ldr r5, _08043A9C @ =0x00000553
- adds r0, r0, r5
- adds r0, r0, r3
- movs r1, #7
- b _08043BB6
- .align 2, 0
-_08043A8C: .4byte 0x00000584
-_08043A90: .4byte 0x00000551
-_08043A94: .4byte 0x020314E0
-_08043A98: .4byte 0x0000055B
-_08043A9C: .4byte 0x00000553
-_08043AA0:
- bl Random
- ldr r1, _08043AF8 @ =0x020314E0
- ldr r2, [r1]
- ldr r3, _08043AFC @ =0x00000551
- adds r2, r2, r3
- adds r2, r2, r5
- ldr r1, [r6, #0x4c]
- adds r1, r1, r0
- movs r0, #1
- ands r1, r0
- strb r1, [r2]
- ldr r2, _08043AF8 @ =0x020314E0
- ldr r1, [r2]
- adds r3, r1, r3
- adds r3, r3, r5
- movs r0, #0
- ldrsb r0, [r3, r0]
- cmp r0, #0
- beq _08043B24
- adds r0, r1, r7
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #5
- bne _08043B00
- bl Random
- ldr r3, _08043AF8 @ =0x020314E0
- ldr r4, [r3]
- lsls r1, r5, #3
- movs r5, #0xb0
- lsls r5, r5, #3
- adds r4, r4, r5
- adds r4, r4, r1
- movs r1, #0x65
- bl __umodsi3
- movs r1, #5
- bl __udivsi3
- adds r0, #0x50
- b _08043B74
- .align 2, 0
-_08043AF8: .4byte 0x020314E0
-_08043AFC: .4byte 0x00000551
-_08043B00:
- bl Random
- ldr r6, _08043B20 @ =0x020314E0
- ldr r4, [r6]
- lsls r1, r5, #3
- movs r7, #0xb0
- lsls r7, r7, #3
- adds r4, r4, r7
- adds r4, r4, r1
- movs r1, #0x65
- bl __umodsi3
- lsrs r0, r0, #1
- adds r0, #0x32
- b _08043B74
- .align 2, 0
-_08043B20: .4byte 0x020314E0
-_08043B24:
- adds r0, r1, r7
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #5
- bne _08043B58
- bl Random
- ldr r1, _08043B54 @ =0x020314E0
- ldr r4, [r1]
- lsls r1, r5, #3
- movs r2, #0xb0
- lsls r2, r2, #3
- adds r4, r4, r2
- adds r4, r4, r1
- movs r1, #0x65
- bl __umodsi3
- movs r1, #5
- bl __udivsi3
- b _08043B72
- .align 2, 0
-_08043B54: .4byte 0x020314E0
-_08043B58:
- bl Random
- ldr r3, _08043BE0 @ =0x020314E0
- ldr r4, [r3]
- lsls r1, r5, #3
- movs r5, #0xb0
- lsls r5, r5, #3
- adds r4, r4, r5
- adds r4, r4, r1
- movs r1, #0x65
- bl __umodsi3
- lsrs r0, r0, #1
-_08043B72:
- adds r0, #0x8c
-_08043B74:
- lsls r0, r0, #8
- str r0, [r4]
- ldr r5, _08043BE0 @ =0x020314E0
- ldr r2, [r5]
- mov r6, sb
- asrs r4, r6, #0x10
- lsls r0, r4, #3
- ldr r7, _08043BE4 @ =0x00000584
- adds r3, r2, r7
- adds r3, r3, r0
- ldr r1, _08043BE8 @ =0x00000557
- adds r0, r2, r1
- adds r0, r0, r4
- movs r1, #0
- ldrsb r1, [r0, r1]
- subs r1, #2
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r0, r0, #9
- movs r6, #0xaf
- lsls r6, r6, #8
- adds r0, r0, r6
- str r0, [r3]
- subs r7, #0x29
- adds r2, r2, r7
- adds r2, r2, r4
- movs r0, #0
- strb r0, [r2]
- ldr r0, [r5]
- ldr r1, _08043BEC @ =0x00000553
- adds r0, r0, r1
- adds r0, r0, r4
- movs r1, #2
-_08043BB6:
- strb r1, [r0]
- ldr r2, _08043BE0 @ =0x020314E0
- ldr r0, [r2]
- mov r3, sb
- asrs r1, r3, #0xf
- ldr r4, _08043BF0 @ =0x00000562
- adds r0, r0, r4
- adds r0, r0, r1
- movs r1, #0
- strh r1, [r0]
-_08043BCA:
- ldr r5, _08043BE0 @ =0x020314E0
- ldr r0, [r5]
- mov r6, sb
- asrs r1, r6, #0x10
- ldr r7, _08043BF4 @ =0x0000054F
- adds r0, r0, r7
- adds r0, r0, r1
- movs r1, #0
- strb r1, [r0]
- bl _080448E4
- .align 2, 0
-_08043BE0: .4byte 0x020314E0
-_08043BE4: .4byte 0x00000584
-_08043BE8: .4byte 0x00000557
-_08043BEC: .4byte 0x00000553
-_08043BF0: .4byte 0x00000562
-_08043BF4: .4byte 0x0000054F
-_08043BF8:
- ldr r3, _08043C2C @ =0x086AFB2C
- ldr r7, _08043C30 @ =0x020314E0
- ldr r2, [r7]
- mov r0, sb
- asrs r5, r0, #0x10
- ldr r6, _08043C34 @ =0x0000055B
- adds r0, r2, r6
- adds r4, r0, r5
- movs r1, #0
- ldrsb r1, [r4, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r3, #2
- adds r0, r0, r3
- lsls r1, r5, #1
- ldr r3, _08043C38 @ =0x00000562
- adds r2, r2, r3
- adds r2, r2, r1
- ldrh r1, [r2]
- ldrh r0, [r0]
- cmp r0, r1
- bls _08043C3C
- adds r0, r1, #1
- strh r0, [r2]
- b _08043C7A
- .align 2, 0
-_08043C2C: .4byte 0x086AFB2C
-_08043C30: .4byte 0x020314E0
-_08043C34: .4byte 0x0000055B
-_08043C38: .4byte 0x00000562
-_08043C3C:
- movs r0, #0
- strh r0, [r2]
- ldrb r0, [r4]
- adds r0, #1
- strb r0, [r4]
- ldr r0, [r7]
- ldr r4, _08043C9C @ =0x0000055B
- adds r0, r0, r4
- adds r0, r0, r5
- movs r1, #0
- ldrsb r1, [r0, r1]
- cmp r1, #3
- bne _08043C62
- strb r1, [r0]
- ldr r0, [r7]
- ldr r2, _08043CA0 @ =0x00000553
- adds r0, r0, r2
- adds r0, r0, r5
- strb r1, [r0]
-_08043C62:
- ldr r0, [r7]
- adds r0, r0, r6
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #1
- bne _08043C7A
- movs r0, #0x9a
- lsls r0, r0, #1
- bl m4aSongNumStart
-_08043C7A:
- ldr r0, _08043CA4 @ =0x020314E0
- ldr r2, [r0]
- mov r4, sb
- asrs r3, r4, #0x10
- lsls r1, r3, #1
- ldr r5, _08043CA8 @ =0x0000056A
- adds r0, r2, r5
- adds r0, r0, r1
- movs r1, #0
- strh r1, [r0]
- ldr r6, _08043CAC @ =0x0000054F
- adds r2, r2, r6
- adds r2, r2, r3
- movs r0, #1
- strb r0, [r2]
- bl _080448E4
- .align 2, 0
-_08043C9C: .4byte 0x0000055B
-_08043CA0: .4byte 0x00000553
-_08043CA4: .4byte 0x020314E0
-_08043CA8: .4byte 0x0000056A
-_08043CAC: .4byte 0x0000054F
-_08043CB0:
- ldr r3, _08043CE4 @ =0x086AFB2C
- ldr r7, _08043CE8 @ =0x020314E0
- ldr r2, [r7]
- mov r0, sb
- asrs r5, r0, #0x10
- ldr r1, _08043CEC @ =0x0000055B
- adds r0, r2, r1
- adds r4, r0, r5
- movs r1, #0
- ldrsb r1, [r4, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r3, #2
- adds r0, r0, r3
- lsls r1, r5, #1
- ldr r3, _08043CF0 @ =0x00000562
- adds r2, r2, r3
- adds r2, r2, r1
- ldrh r1, [r2]
- ldrh r0, [r0]
- cmp r0, r1
- bls _08043CF4
- adds r0, r1, #1
- strh r0, [r2]
- b _08043D14
- .align 2, 0
-_08043CE4: .4byte 0x086AFB2C
-_08043CE8: .4byte 0x020314E0
-_08043CEC: .4byte 0x0000055B
-_08043CF0: .4byte 0x00000562
-_08043CF4:
- movs r0, #0
- strh r0, [r2]
- ldrb r0, [r4]
- adds r0, #1
- strb r0, [r4]
- ldr r4, _08043D58 @ =0x020314E0
- ldr r0, [r4]
- ldr r6, _08043D5C @ =0x0000055B
- adds r0, r0, r6
- adds r1, r0, r5
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #5
- bne _08043D14
- movs r0, #3
- strb r0, [r1]
-_08043D14:
- ldr r7, _08043D58 @ =0x020314E0
- ldr r3, [r7]
- mov r0, sb
- asrs r4, r0, #0x10
- lsls r7, r4, #1
- ldr r1, _08043D60 @ =0x0000056A
- adds r0, r3, r1
- adds r2, r0, r7
- ldrh r5, [r2]
- movs r6, #0
- ldrsh r1, [r2, r6]
- ldr r0, _08043D64 @ =0x0000018F
- cmp r1, r0
- bgt _08043D7E
- adds r0, r5, #1
- strh r0, [r2]
- ldr r7, _08043D68 @ =0x00000551
- adds r0, r3, r7
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08043D6C
- lsls r0, r4, #3
- movs r2, #0xb0
- lsls r2, r2, #3
- adds r1, r3, r2
- adds r1, r1, r0
- ldr r0, [r1]
- adds r0, #0x23
- str r0, [r1]
- b _08043D9E
- .align 2, 0
-_08043D58: .4byte 0x020314E0
-_08043D5C: .4byte 0x0000055B
-_08043D60: .4byte 0x0000056A
-_08043D64: .4byte 0x0000018F
-_08043D68: .4byte 0x00000551
-_08043D6C:
- lsls r0, r4, #3
- movs r4, #0xb0
- lsls r4, r4, #3
- adds r1, r3, r4
- adds r1, r1, r0
- ldr r0, [r1]
- subs r0, #0x23
- str r0, [r1]
- b _08043D9E
-_08043D7E:
- ldr r5, _08043DB0 @ =0x0000055B
- adds r0, r3, r5
- adds r0, r0, r4
- movs r3, #0
- movs r2, #6
- strb r2, [r0]
- ldr r6, _08043DB4 @ =0x020314E0
- ldr r1, [r6]
- adds r5, #7
- adds r0, r1, r5
- adds r0, r0, r7
- strh r3, [r0]
- ldr r6, _08043DB8 @ =0x00000553
- adds r1, r1, r6
- adds r1, r1, r4
- strb r2, [r1]
-_08043D9E:
- ldr r7, _08043DB4 @ =0x020314E0
- ldr r0, [r7]
- mov r2, sb
- asrs r1, r2, #0x10
- ldr r3, _08043DBC @ =0x0000054F
- adds r0, r0, r3
- adds r0, r0, r1
- bl _080446E8
- .align 2, 0
-_08043DB0: .4byte 0x0000055B
-_08043DB4: .4byte 0x020314E0
-_08043DB8: .4byte 0x00000553
-_08043DBC: .4byte 0x0000054F
-_08043DC0:
- ldr r0, _08043E00 @ =0x02032F20
- ldr r1, _08043E04 @ =0x086A2D28
- bl MPlayStart
- ldr r2, _08043E08 @ =0x020314E0
- ldr r5, [r2]
- mov r4, sb
- asrs r6, r4, #0x10
- ldr r7, _08043E0C @ =0x0000054F
- adds r0, r5, r7
- adds r0, r0, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #1
- bne _08043E1C
- lsls r1, r6, #1
- ldr r3, _08043E10 @ =0x00000562
- adds r0, r5, r3
- adds r0, r0, r1
- movs r1, #0
- strh r1, [r0]
- ldr r4, _08043E14 @ =0x0000055B
- adds r0, r5, r4
- adds r0, r0, r6
- movs r1, #5
- strb r1, [r0]
- ldr r0, [r2]
- ldr r5, _08043E18 @ =0x00000553
- adds r0, r0, r5
- adds r0, r0, r6
- b _08043E80
- .align 2, 0
-_08043E00: .4byte 0x02032F20
-_08043E04: .4byte 0x086A2D28
-_08043E08: .4byte 0x020314E0
-_08043E0C: .4byte 0x0000054F
-_08043E10: .4byte 0x00000562
-_08043E14: .4byte 0x0000055B
-_08043E18: .4byte 0x00000553
-_08043E1C:
- lsls r0, r6, #3
- ldr r7, _08043E4C @ =0x00000584
- adds r1, r5, r7
- adds r1, r1, r0
- ldr r2, _08043E50 @ =0x0000055F
- adds r0, r5, r2
- adds r0, r0, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #8
- ldr r1, [r1]
- adds r1, r1, r0
- ldr r3, _08043E54 @ =0x0000132C
- adds r0, r5, r3
- ldr r0, [r0]
- ldr r0, [r0, #0x38]
- cmp r1, r0
- bge _08043E5C
- ldr r4, _08043E58 @ =0x00000553
- adds r0, r5, r4
- adds r0, r0, r6
- movs r1, #0xa
- b _08043E80
- .align 2, 0
-_08043E4C: .4byte 0x00000584
-_08043E50: .4byte 0x0000055F
-_08043E54: .4byte 0x0000132C
-_08043E58: .4byte 0x00000553
-_08043E5C:
- lsls r0, r6, #1
- ldr r7, _08043EA4 @ =0x00000562
- adds r4, r5, r7
- adds r4, r4, r0
- ldrh r1, [r4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- movs r1, #0xa0
- bl __divsi3
- movs r1, #0xac
- subs r1, r1, r0
- strh r1, [r4]
- ldr r1, _08043EA8 @ =0x00000553
- adds r0, r5, r1
- adds r0, r0, r6
- movs r1, #8
-_08043E80:
- strb r1, [r0]
- movs r0, #7
- bl sub_11B0
- ldr r2, _08043EAC @ =0x020314E0
- ldr r1, [r2]
- mov r3, sb
- asrs r0, r3, #0x10
- ldr r4, _08043EB0 @ =0x0000054F
- adds r1, r1, r4
- adds r1, r1, r0
- movs r0, #0
- strb r0, [r1]
- ldr r1, [r2]
- ldr r0, _08043EB4 @ =0x00000BB8
- str r0, [r1, #0x3c]
- bl _080448E4
- .align 2, 0
-_08043EA4: .4byte 0x00000562
-_08043EA8: .4byte 0x00000553
-_08043EAC: .4byte 0x020314E0
-_08043EB0: .4byte 0x0000054F
-_08043EB4: .4byte 0x00000BB8
-_08043EB8:
- ldr r5, _08043EE0 @ =0x020314E0
- ldr r2, [r5]
- mov r6, sb
- asrs r3, r6, #0x10
- lsls r1, r3, #1
- ldr r7, _08043EE4 @ =0x00000562
- adds r0, r2, r7
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, #9
- bhi _08043EEC
- adds r0, #1
- strh r0, [r1]
- ldr r1, _08043EE8 @ =0x0000055B
- adds r0, r2, r1
- adds r0, r0, r3
- movs r1, #5
- strb r1, [r0]
- bl _080448E4
- .align 2, 0
-_08043EE0: .4byte 0x020314E0
-_08043EE4: .4byte 0x00000562
-_08043EE8: .4byte 0x0000055B
-_08043EEC:
- movs r0, #0
- strh r0, [r1]
- ldr r4, _08043F00 @ =0x00000553
- adds r0, r2, r4
- adds r0, r0, r3
- movs r1, #6
- strb r1, [r0]
- bl _080448E4
- .align 2, 0
-_08043F00: .4byte 0x00000553
-_08043F04:
- ldr r3, _08043F38 @ =0x086AFB2C
- ldr r7, _08043F3C @ =0x020314E0
- ldr r2, [r7]
- mov r6, sb
- asrs r5, r6, #0x10
- ldr r6, _08043F40 @ =0x0000055B
- adds r0, r2, r6
- adds r4, r0, r5
- movs r1, #0
- ldrsb r1, [r4, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r3, #2
- adds r0, r0, r3
- lsls r1, r5, #1
- ldr r3, _08043F44 @ =0x00000562
- adds r2, r2, r3
- adds r2, r2, r1
- ldrh r1, [r2]
- ldrh r0, [r0]
- cmp r0, r1
- bls _08043F48
- adds r0, r1, #1
- strh r0, [r2]
- b _08043F86
- .align 2, 0
-_08043F38: .4byte 0x086AFB2C
-_08043F3C: .4byte 0x020314E0
-_08043F40: .4byte 0x0000055B
-_08043F44: .4byte 0x00000562
-_08043F48:
- movs r3, #0
- movs r0, #0
- strh r0, [r2]
- ldrb r0, [r4]
- adds r0, #1
- strb r0, [r4]
- ldr r0, [r7]
- ldr r4, _08043F9C @ =0x0000055B
- adds r0, r0, r4
- adds r1, r0, r5
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #9
- bne _08043F70
- strb r3, [r1]
- ldr r0, [r7]
- ldr r1, _08043FA0 @ =0x00000553
- adds r0, r0, r1
- adds r0, r0, r5
- strb r3, [r0]
-_08043F70:
- ldr r0, [r7]
- adds r0, r0, r6
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #7
- bne _08043F86
- ldr r0, _08043FA4 @ =0x00000135
- bl m4aSongNumStart
-_08043F86:
- ldr r0, _08043FA8 @ =0x020314E0
- ldr r1, [r0]
- mov r2, sb
- asrs r0, r2, #0x10
- ldr r3, _08043FAC @ =0x0000054F
- adds r1, r1, r3
- adds r1, r1, r0
- movs r0, #0
- strb r0, [r1]
- bl _080448E4
- .align 2, 0
-_08043F9C: .4byte 0x0000055B
-_08043FA0: .4byte 0x00000553
-_08043FA4: .4byte 0x00000135
-_08043FA8: .4byte 0x020314E0
-_08043FAC: .4byte 0x0000054F
-_08043FB0:
- ldr r3, _08043FE4 @ =0x086AFB2C
- ldr r6, _08043FE8 @ =0x020314E0
- ldr r2, [r6]
- mov r4, sb
- asrs r5, r4, #0x10
- ldr r7, _08043FEC @ =0x0000055B
- adds r0, r2, r7
- adds r4, r0, r5
- movs r1, #0
- ldrsb r1, [r4, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r3, #2
- adds r0, r0, r3
- lsls r1, r5, #1
- ldr r3, _08043FF0 @ =0x00000562
- adds r2, r2, r3
- adds r2, r2, r1
- ldrh r1, [r2]
- ldrh r0, [r0]
- cmp r0, r1
- bls _08043FF4
- adds r0, r1, #1
- strh r0, [r2]
- b _08044068
- .align 2, 0
-_08043FE4: .4byte 0x086AFB2C
-_08043FE8: .4byte 0x020314E0
-_08043FEC: .4byte 0x0000055B
-_08043FF0: .4byte 0x00000562
-_08043FF4:
- movs r0, #0
- strh r0, [r2]
- ldrb r0, [r4]
- adds r0, #1
- strb r0, [r4]
- ldr r1, [r6]
- ldr r4, _08044080 @ =0x0000055B
- adds r0, r1, r4
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0xe
- bne _08044050
- ldr r2, _08044084 @ =0x00000553
- adds r0, r1, r2
- adds r0, r0, r5
- movs r1, #8
- strb r1, [r0]
- ldr r2, [r6]
- lsls r4, r5, #3
- movs r0, #0xb0
- lsls r0, r0, #3
- adds r3, r2, r0
- adds r3, r3, r4
- ldr r1, _08044088 @ =0x0000055D
- adds r0, r2, r1
- adds r0, r0, r5
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r1, r1, #8
- ldr r0, [r3]
- adds r0, r0, r1
- str r0, [r3]
- ldr r0, _0804408C @ =0x00000584
- adds r3, r2, r0
- adds r3, r3, r4
- ldr r1, _08044090 @ =0x0000055F
- adds r2, r2, r1
- adds r2, r2, r5
- movs r1, #0
- ldrsb r1, [r2, r1]
- lsls r1, r1, #8
- ldr r0, [r3]
- adds r0, r0, r1
- str r0, [r3]
-_08044050:
- ldr r0, [r6]
- adds r0, r0, r7
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0xa
- bne _08044068
- movs r0, #0xa0
- lsls r0, r0, #1
- bl m4aSongNumStart
-_08044068:
- ldr r0, _08044094 @ =0x020314E0
- ldr r1, [r0]
- mov r2, sb
- asrs r0, r2, #0x10
- ldr r3, _08044098 @ =0x0000054F
- adds r1, r1, r3
- adds r1, r1, r0
- movs r0, #2
- strb r0, [r1]
- bl _080448E4
- .align 2, 0
-_08044080: .4byte 0x0000055B
-_08044084: .4byte 0x00000553
-_08044088: .4byte 0x0000055D
-_0804408C: .4byte 0x00000584
-_08044090: .4byte 0x0000055F
-_08044094: .4byte 0x020314E0
-_08044098: .4byte 0x0000054F
-_0804409C:
- ldr r4, _080440D8 @ =0x020314E0
- ldr r1, [r4]
- mov r5, sb
- asrs r3, r5, #0x10
- lsls r4, r3, #1
- ldr r6, _080440DC @ =0x00000562
- adds r0, r1, r6
- adds r0, r0, r4
- ldrh r0, [r0]
- cmp r0, #0xb7
- bls _080440B4
- b _0804423C
-_080440B4:
- cmp r0, #0x9f
- bhi _0804417C
- ldr r7, _080440E0 @ =0x00000551
- adds r0, r1, r7
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _080440E4
- lsls r0, r3, #3
- movs r2, #0xb0
- lsls r2, r2, #3
- adds r1, r1, r2
- adds r1, r1, r0
- ldr r0, [r1]
- subs r0, #0x10
- b _080440F2
- .align 2, 0
-_080440D8: .4byte 0x020314E0
-_080440DC: .4byte 0x00000562
-_080440E0: .4byte 0x00000551
-_080440E4:
- lsls r0, r3, #3
- movs r3, #0xb0
- lsls r3, r3, #3
- adds r1, r1, r3
- adds r1, r1, r0
- ldr r0, [r1]
- adds r0, #0x10
-_080440F2:
- str r0, [r1]
- ldr r4, _0804411C @ =0x020314E0
- ldr r3, [r4]
- mov r5, sb
- asrs r2, r5, #0x10
- lsls r1, r2, #1
- ldr r6, _08044120 @ =0x00000562
- adds r0, r3, r6
- adds r0, r0, r1
- ldrh r1, [r0]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _08044128
- lsls r0, r2, #3
- ldr r7, _08044124 @ =0x00000584
- adds r1, r3, r7
- adds r1, r1, r0
- ldr r0, [r1]
- subs r0, #0x10
- b _08044134
- .align 2, 0
-_0804411C: .4byte 0x020314E0
-_08044120: .4byte 0x00000562
-_08044124: .4byte 0x00000584
-_08044128:
- lsls r0, r2, #3
- ldr r2, _08044160 @ =0x00000584
- adds r1, r3, r2
- adds r1, r1, r0
- ldr r0, [r1]
- subs r0, #0x20
-_08044134:
- str r0, [r1]
- ldr r3, _08044164 @ =0x020314E0
- ldr r4, [r3]
- mov r6, sb
- asrs r5, r6, #0x10
- lsls r1, r5, #1
- ldr r7, _08044168 @ =0x00000562
- adds r0, r4, r7
- adds r0, r0, r1
- ldrh r0, [r0]
- movs r1, #0x13
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #9
- bhi _08044170
- ldr r1, _0804416C @ =0x0000055B
- adds r0, r4, r1
- adds r0, r0, r5
- movs r1, #0xe
- b _08044216
- .align 2, 0
-_08044160: .4byte 0x00000584
-_08044164: .4byte 0x020314E0
-_08044168: .4byte 0x00000562
-_0804416C: .4byte 0x0000055B
-_08044170:
- ldr r2, _08044178 @ =0x0000055B
- adds r0, r4, r2
- adds r0, r0, r5
- b _08044214
- .align 2, 0
-_08044178: .4byte 0x0000055B
-_0804417C:
- ldr r4, _080441A0 @ =0x00000551
- adds r0, r1, r4
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _080441A4
- lsls r0, r3, #3
- movs r5, #0xb0
- lsls r5, r5, #3
- adds r1, r1, r5
- adds r1, r1, r0
- ldr r0, [r1]
- movs r6, #0xa0
- lsls r6, r6, #1
- adds r0, r0, r6
- b _080441B4
- .align 2, 0
-_080441A0: .4byte 0x00000551
-_080441A4:
- lsls r0, r3, #3
- movs r7, #0xb0
- lsls r7, r7, #3
- adds r1, r1, r7
- adds r1, r1, r0
- ldr r0, [r1]
- ldr r2, _080441E4 @ =0xFFFFFEC0
- adds r0, r0, r2
-_080441B4:
- str r0, [r1]
- ldr r4, _080441E8 @ =0x020314E0
- ldr r3, [r4]
- mov r5, sb
- asrs r2, r5, #0x10
- lsls r1, r2, #1
- ldr r6, _080441EC @ =0x00000562
- adds r0, r3, r6
- adds r0, r0, r1
- ldrh r1, [r0]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _080441F4
- lsls r0, r2, #3
- ldr r7, _080441F0 @ =0x00000584
- adds r1, r3, r7
- adds r1, r1, r0
- ldr r0, [r1]
- movs r2, #0xa0
- lsls r2, r2, #1
- adds r0, r0, r2
- b _08044204
- .align 2, 0
-_080441E4: .4byte 0xFFFFFEC0
-_080441E8: .4byte 0x020314E0
-_080441EC: .4byte 0x00000562
-_080441F0: .4byte 0x00000584
-_080441F4:
- lsls r0, r2, #3
- ldr r4, _0804422C @ =0x00000584
- adds r1, r3, r4
- adds r1, r1, r0
- ldr r0, [r1]
- movs r5, #0xf0
- lsls r5, r5, #1
- adds r0, r0, r5
-_08044204:
- str r0, [r1]
- ldr r6, _08044230 @ =0x020314E0
- ldr r0, [r6]
- mov r7, sb
- asrs r1, r7, #0x10
- ldr r2, _08044234 @ =0x0000055B
- adds r0, r0, r2
- adds r0, r0, r1
-_08044214:
- movs r1, #0xf
-_08044216:
- strb r1, [r0]
- ldr r3, _08044230 @ =0x020314E0
- ldr r0, [r3]
- mov r4, sb
- asrs r1, r4, #0xf
- ldr r5, _08044238 @ =0x00000562
- adds r0, r0, r5
- adds r0, r0, r1
- ldrh r1, [r0]
- adds r1, #1
- b _080448E2
- .align 2, 0
-_0804422C: .4byte 0x00000584
-_08044230: .4byte 0x020314E0
-_08044234: .4byte 0x0000055B
-_08044238: .4byte 0x00000562
-_0804423C:
- ldr r6, _08044284 @ =0x00000553
- adds r1, r1, r6
- adds r1, r1, r3
- movs r2, #0
- movs r0, #9
- strb r0, [r1]
- ldr r7, _08044288 @ =0x020314E0
- ldr r0, [r7]
- ldr r1, _0804428C @ =0x0000055B
- adds r0, r0, r1
- adds r0, r0, r3
- movs r1, #0x10
- strb r1, [r0]
- ldr r1, [r7]
- ldr r5, _08044290 @ =0x00000562
- adds r0, r1, r5
- adds r0, r0, r4
- strh r2, [r0]
- subs r6, #2
- adds r0, r1, r6
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _08044294
- lsls r0, r3, #3
- movs r7, #0xb0
- lsls r7, r7, #3
- adds r1, r1, r7
- adds r1, r1, r0
- ldr r0, [r1]
- adds r0, #0xf0
- str r0, [r1]
- b _080448E4
- .align 2, 0
-_08044284: .4byte 0x00000553
-_08044288: .4byte 0x020314E0
-_0804428C: .4byte 0x0000055B
-_08044290: .4byte 0x00000562
-_08044294:
- lsls r0, r3, #3
- movs r2, #0xb0
- lsls r2, r2, #3
- adds r1, r1, r2
- adds r1, r1, r0
- ldr r0, [r1]
- subs r0, #0xf0
- str r0, [r1]
- b _080448E4
-_080442A6:
- ldr r3, _080442DC @ =0x086AFB2C
- ldr r4, _080442E0 @ =0x020314E0
- ldr r2, [r4]
- mov r6, sb
- asrs r5, r6, #0x10
- ldr r6, _080442E4 @ =0x0000055B
- adds r0, r2, r6
- adds r4, r0, r5
- movs r1, #0
- ldrsb r1, [r4, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r3, #2
- adds r0, r0, r3
- lsls r1, r5, #1
- ldr r7, _080442E8 @ =0x00000562
- adds r2, r2, r7
- adds r2, r2, r1
- ldrh r1, [r2]
- ldrh r0, [r0]
- cmp r0, r1
- bls _080442EC
- adds r0, r1, #1
- strh r0, [r2]
- b _080448E4
- .align 2, 0
-_080442DC: .4byte 0x086AFB2C
-_080442E0: .4byte 0x020314E0
-_080442E4: .4byte 0x0000055B
-_080442E8: .4byte 0x00000562
-_080442EC:
- movs r3, #0
- movs r0, #0
- strh r0, [r2]
- ldrb r0, [r4]
- adds r0, #1
- strb r0, [r4]
- ldr r1, _08044334 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08044338 @ =0x0000055B
- adds r0, r0, r2
- adds r1, r0, r5
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0x14
- bne _08044318
- strb r3, [r1]
- ldr r4, _08044334 @ =0x020314E0
- ldr r0, [r4]
- ldr r7, _0804433C @ =0x00000553
- adds r0, r0, r7
- adds r0, r0, r5
- strb r3, [r0]
-_08044318:
- ldr r1, _08044334 @ =0x020314E0
- ldr r0, [r1]
- adds r0, r0, r6
- adds r0, r0, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x11
- beq _0804432C
- b _080448E4
-_0804432C:
- ldr r0, _08044340 @ =0x00000135
- bl m4aSongNumStart
- b _080448E4
- .align 2, 0
-_08044334: .4byte 0x020314E0
-_08044338: .4byte 0x0000055B
-_0804433C: .4byte 0x00000553
-_08044340: .4byte 0x00000135
-_08044344:
- ldr r2, _0804442C @ =0x020314E0
- ldr r6, [r2]
- mov r3, sb
- asrs r4, r3, #0x10
- ldr r5, _08044430 @ =0x00000551
- adds r0, r6, r5
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- movs r2, #0
- cmp r0, #0
- bne _08044360
- movs r2, #3
-_08044360:
- ldr r1, _08044434 @ =0x086AFAC0
- lsls r2, r2, #0x10
- lsrs r0, r2, #0xd
- adds r3, r0, r1
- ldrh r0, [r3, #4]
- lsls r5, r0, #0x10
- movs r7, #0
- mov ip, r1
- mov sl, r2
- cmp r5, #0
- ble _0804439E
- ldr r3, [r3]
- lsls r1, r4, #1
- ldr r2, _08044438 @ =0x00000566
- adds r0, r6, r2
- adds r0, r0, r1
- movs r4, #0
- ldrsh r1, [r0, r4]
-_08044384:
- lsls r0, r7, #0x10
- asrs r2, r0, #0x10
- lsls r0, r2, #2
- adds r0, r0, r3
- movs r6, #2
- ldrsh r0, [r0, r6]
- cmp r0, r1
- ble _0804439E
- adds r0, r2, #1
- lsls r0, r0, #0x10
- lsrs r7, r0, #0x10
- cmp r0, r5
- blt _08044384
-_0804439E:
- ldr r1, _0804442C @ =0x020314E0
- ldr r0, [r1]
- mov r2, sb
- asrs r5, r2, #0x10
- ldr r4, _0804443C @ =0x00000559
- adds r0, r0, r4
- adds r0, r0, r5
- movs r3, #0
- strb r7, [r0]
- ldr r0, [r1]
- ldr r6, _08044440 @ =0x00000553
- adds r0, r0, r6
- adds r0, r0, r5
- movs r1, #0xb
- strb r1, [r0]
- ldr r7, _0804442C @ =0x020314E0
- ldr r0, [r7]
- ldr r1, _08044444 @ =0x0000055B
- adds r0, r0, r1
- adds r0, r0, r5
- movs r1, #0x1d
- strb r1, [r0]
- ldr r2, [r7]
- lsls r1, r5, #1
- adds r6, #0xf
- adds r0, r2, r6
- adds r0, r0, r1
- movs r7, #0
- mov r8, r7
- strh r3, [r0]
- lsls r6, r5, #3
- movs r0, #0xb0
- lsls r0, r0, #3
- adds r3, r2, r0
- adds r3, r3, r6
- mov r7, sl
- lsrs r1, r7, #0xd
- add r1, ip
- adds r4, r2, r4
- adds r4, r4, r5
- movs r0, #0
- ldrsb r0, [r4, r0]
- ldr r1, [r1]
- lsls r0, r0, #2
- adds r0, r0, r1
- movs r7, #0
- ldrsh r0, [r0, r7]
- lsls r0, r0, #8
- str r0, [r3]
- ldr r0, _08044448 @ =0x00000584
- adds r2, r2, r0
- adds r2, r2, r6
- movs r0, #0
- ldrsb r0, [r4, r0]
- lsls r0, r0, #2
- adds r0, r0, r1
- movs r1, #2
- ldrsh r0, [r0, r1]
- lsls r0, r0, #8
- str r0, [r2]
- ldrb r0, [r4]
- adds r0, #1
- strb r0, [r4]
- ldr r2, _0804442C @ =0x020314E0
- ldr r0, [r2]
- ldr r3, _0804444C @ =0x0000054F
- adds r0, r0, r3
- adds r0, r0, r5
- mov r4, r8
- strb r4, [r0]
- b _080448E4
- .align 2, 0
-_0804442C: .4byte 0x020314E0
-_08044430: .4byte 0x00000551
-_08044434: .4byte 0x086AFAC0
-_08044438: .4byte 0x00000566
-_0804443C: .4byte 0x00000559
-_08044440: .4byte 0x00000553
-_08044444: .4byte 0x0000055B
-_08044448: .4byte 0x00000584
-_0804444C: .4byte 0x0000054F
-_08044450:
- ldr r5, _08044528 @ =0x020314E0
- ldr r6, [r5]
- mov r7, sb
- asrs r4, r7, #0x10
- ldr r0, _0804452C @ =0x00000551
- mov sl, r0
- adds r0, r6, r0
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- movs r2, #0
- cmp r0, #0
- bne _0804446E
- movs r2, #3
-_0804446E:
- ldr r1, _08044530 @ =0x00000559
- adds r0, r6, r1
- adds r5, r0, r4
- movs r3, #0
- ldrsb r3, [r5, r3]
- mov r8, r3
- ldr r1, _08044534 @ =0x086AFAC0
- lsls r0, r2, #3
- adds r0, r0, r1
- mov ip, r0
- movs r7, #4
- ldrsh r0, [r0, r7]
- cmp r8, r0
- bge _08044566
- lsls r2, r4, #3
- movs r0, #0xb0
- lsls r0, r0, #3
- adds r1, r6, r0
- adds r1, r1, r2
- mov r7, ip
- ldr r3, [r7]
- mov r7, r8
- lsls r0, r7, #2
- adds r0, r0, r3
- movs r7, #0
- ldrsh r0, [r0, r7]
- lsls r0, r0, #8
- str r0, [r1]
- ldr r0, _08044538 @ =0x00000584
- adds r1, r6, r0
- adds r1, r1, r2
- movs r0, #0
- ldrsb r0, [r5, r0]
- lsls r0, r0, #2
- adds r0, r0, r3
- movs r2, #2
- ldrsh r0, [r0, r2]
- lsls r0, r0, #8
- str r0, [r1]
- ldrb r0, [r5]
- adds r0, #1
- strb r0, [r5]
- ldr r3, _08044528 @ =0x020314E0
- ldr r2, [r3]
- ldr r5, _08044530 @ =0x00000559
- adds r0, r2, r5
- adds r0, r0, r4
- movs r1, #0
- ldrsb r1, [r0, r1]
- mov r6, ip
- movs r7, #4
- ldrsh r0, [r6, r7]
- cmp r1, r0
- bne _08044566
- ldr r1, _0804453C @ =0x00000553
- adds r0, r2, r1
- adds r0, r0, r4
- movs r1, #0xc
- strb r1, [r0]
- ldr r0, [r3]
- movs r2, #0xa6
- lsls r2, r2, #3
- adds r1, r0, r2
- adds r1, r1, r4
- add r0, sl
- adds r0, r0, r4
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [r3]
- ldr r3, _08044540 @ =0x00000536
- adds r0, r0, r3
- adds r0, r0, r4
- movs r1, #2
- strb r1, [r0]
- ldr r5, _08044528 @ =0x020314E0
- ldr r1, [r5]
- mov r6, sl
- adds r0, r1, r6
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _08044544
- lsls r0, r4, #2
- adds r0, r1, r0
- movs r7, #0xaf
- lsls r7, r7, #3
- adds r0, r0, r7
- movs r1, #0xa0
- lsls r1, r1, #1
- b _08044550
- .align 2, 0
-_08044528: .4byte 0x020314E0
-_0804452C: .4byte 0x00000551
-_08044530: .4byte 0x00000559
-_08044534: .4byte 0x086AFAC0
-_08044538: .4byte 0x00000584
-_0804453C: .4byte 0x00000553
-_08044540: .4byte 0x00000536
-_08044544:
- lsls r0, r4, #2
- adds r0, r1, r0
- movs r1, #0xaf
- lsls r1, r1, #3
- adds r0, r0, r1
- ldr r1, _080445A4 @ =0x0000FEC0
-_08044550:
- strh r1, [r0]
- ldr r2, _080445A8 @ =0x020314E0
- ldr r0, [r2]
- mov r3, sb
- asrs r1, r3, #0xe
- adds r0, r0, r1
- ldr r4, _080445AC @ =0x0000057A
- adds r0, r0, r4
- movs r1, #0xe8
- lsls r1, r1, #1
- strh r1, [r0]
-_08044566:
- ldr r5, _080445A8 @ =0x020314E0
- ldr r0, [r5]
- mov r6, sb
- asrs r4, r6, #0x10
- ldr r7, _080445B0 @ =0x0000055B
- adds r3, r0, r7
- adds r3, r3, r4
- lsls r5, r4, #1
- ldr r2, _080445B4 @ =0x00000562
- adds r0, r0, r2
- adds r0, r0, r5
- ldrh r0, [r0]
- movs r1, #0x1f
- ands r0, r1
- lsrs r0, r0, #2
- adds r0, #0x1e
- strb r0, [r3]
- ldr r0, _080445A8 @ =0x020314E0
- ldr r1, [r0]
- adds r2, r1, r2
- adds r2, r2, r5
- ldrh r0, [r2]
- adds r0, #1
- movs r3, #0
- strh r0, [r2]
- ldr r2, _080445B8 @ =0x0000054F
- adds r1, r1, r2
- adds r1, r1, r4
- strb r3, [r1]
- b _080448E4
- .align 2, 0
-_080445A4: .4byte 0x0000FEC0
-_080445A8: .4byte 0x020314E0
-_080445AC: .4byte 0x0000057A
-_080445B0: .4byte 0x0000055B
-_080445B4: .4byte 0x00000562
-_080445B8: .4byte 0x0000054F
-_080445BC:
- ldr r3, _08044610 @ =0x020314E0
- ldr r4, [r3]
- mov r5, sb
- asrs r6, r5, #0x10
- lsls r5, r6, #3
- movs r7, #0xb0
- lsls r7, r7, #3
- adds r3, r4, r7
- adds r3, r3, r5
- lsls r2, r6, #2
- adds r2, r4, r2
- movs r1, #0xaf
- lsls r1, r1, #3
- adds r0, r2, r1
- movs r7, #0
- ldrsh r1, [r0, r7]
- ldr r0, [r3]
- adds r0, r0, r1
- str r0, [r3]
- ldr r0, _08044614 @ =0x00000584
- adds r1, r4, r0
- adds r1, r1, r5
- ldr r3, _08044618 @ =0x0000057A
- adds r2, r2, r3
- movs r5, #0
- ldrsh r2, [r2, r5]
- ldr r0, [r1]
- adds r0, r0, r2
- str r0, [r1]
- ldr r7, _0804461C @ =0x0000055B
- adds r3, r4, r7
- adds r3, r3, r6
- lsls r5, r6, #1
- ldr r2, _08044620 @ =0x00000562
- adds r4, r4, r2
- adds r4, r4, r5
- ldrh r0, [r4]
- movs r1, #0x1f
- ands r0, r1
- lsrs r0, r0, #2
- adds r0, #0x1e
- b _08044676
- .align 2, 0
-_08044610: .4byte 0x020314E0
-_08044614: .4byte 0x00000584
-_08044618: .4byte 0x0000057A
-_0804461C: .4byte 0x0000055B
-_08044620: .4byte 0x00000562
-_08044624:
- ldr r3, _08044694 @ =0x020314E0
- ldr r4, [r3]
- mov r5, sb
- asrs r6, r5, #0x10
- lsls r5, r6, #3
- movs r7, #0xb0
- lsls r7, r7, #3
- adds r3, r4, r7
- adds r3, r3, r5
- lsls r2, r6, #2
- adds r2, r4, r2
- movs r1, #0xaf
- lsls r1, r1, #3
- adds r0, r2, r1
- movs r7, #0
- ldrsh r1, [r0, r7]
- ldr r0, [r3]
- adds r0, r0, r1
- str r0, [r3]
- ldr r0, _08044698 @ =0x00000584
- adds r1, r4, r0
- adds r1, r1, r5
- ldr r3, _0804469C @ =0x0000057A
- adds r2, r2, r3
- movs r5, #0
- ldrsh r2, [r2, r5]
- ldr r0, [r1]
- adds r0, r0, r2
- str r0, [r1]
- ldr r7, _080446A0 @ =0x0000055B
- adds r3, r4, r7
- adds r3, r3, r6
- lsls r5, r6, #1
- ldr r2, _080446A4 @ =0x00000562
- adds r4, r4, r2
- adds r4, r4, r5
- ldrh r0, [r4]
- movs r1, #0x1f
- ands r0, r1
- lsrs r0, r0, #3
- adds r0, #0x1a
-_08044676:
- strb r0, [r3]
- ldr r0, _08044694 @ =0x020314E0
- ldr r1, [r0]
- adds r2, r1, r2
- adds r2, r2, r5
- ldrh r0, [r2]
- adds r0, #1
- movs r3, #0
- strh r0, [r2]
- ldr r2, _080446A8 @ =0x0000054F
- adds r1, r1, r2
- adds r1, r1, r6
- strb r3, [r1]
- b _080448E4
- .align 2, 0
-_08044694: .4byte 0x020314E0
-_08044698: .4byte 0x00000584
-_0804469C: .4byte 0x0000057A
-_080446A0: .4byte 0x0000055B
-_080446A4: .4byte 0x00000562
-_080446A8: .4byte 0x0000054F
-_080446AC:
- ldr r3, _080446F0 @ =0x020314E0
- ldr r1, [r3]
- mov r5, sb
- asrs r4, r5, #0x10
- ldr r6, _080446F4 @ =0x00000557
- adds r1, r1, r6
- adds r1, r1, r4
- movs r0, #0xff
- strb r0, [r1]
- ldr r5, [r3]
- ldr r7, _080446F8 @ =0x0000054D
- adds r0, r5, r7
- adds r1, r0, r4
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- ble _08044704
- subs r0, r2, #1
- strb r0, [r1]
- ldr r0, [r3]
- ldr r1, _080446FC @ =0x0000055B
- adds r0, r0, r1
- adds r0, r0, r4
- movs r1, #0x26
- strb r1, [r0]
- ldr r0, [r3]
- ldr r2, _08044700 @ =0x0000054B
- adds r0, r0, r2
- adds r0, r0, r4
-_080446E8:
- movs r1, #1
- strb r1, [r0]
- b _080448E4
- .align 2, 0
-_080446F0: .4byte 0x020314E0
-_080446F4: .4byte 0x00000557
-_080446F8: .4byte 0x0000054D
-_080446FC: .4byte 0x0000055B
-_08044700: .4byte 0x0000054B
-_08044704:
- lsls r2, r4, #1
- ldr r6, _08044748 @ =0x00000562
- adds r0, r5, r6
- adds r3, r0, r2
- ldrh r1, [r3]
- ldr r0, _0804474C @ =0x0000014D
- cmp r1, r0
- bls _08044716
- b _080448C4
-_08044716:
- cmp r1, #0xf
- bhi _0804475C
- ldr r3, _08044750 @ =0x0000055B
- adds r0, r5, r3
- adds r0, r0, r4
- movs r1, #0x15
- strb r1, [r0]
- ldr r5, _08044754 @ =0x020314E0
- ldr r0, [r5]
- adds r0, r0, r6
- adds r0, r0, r2
- ldrh r0, [r0]
- cmp r0, #1
- bne _0804473A
- movs r0, #0x9f
- lsls r0, r0, #1
- bl m4aSongNumStart
-_0804473A:
- ldr r6, _08044754 @ =0x020314E0
- ldr r0, [r6]
- ldr r7, _08044758 @ =0x0000054F
- adds r0, r0, r7
- adds r0, r0, r4
- b _08044824
- .align 2, 0
-_08044748: .4byte 0x00000562
-_0804474C: .4byte 0x0000014D
-_08044750: .4byte 0x0000055B
-_08044754: .4byte 0x020314E0
-_08044758: .4byte 0x0000054F
-_0804475C:
- ldr r0, _0804479C @ =0x0000013B
- cmp r1, r0
- bhi _08044840
- ldr r1, _080447A0 @ =0x0000054B
- adds r0, r5, r1
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _080447B8
- lsls r0, r4, #3
- ldr r2, _080447A4 @ =0x00000584
- adds r1, r5, r2
- adds r1, r1, r0
- ldr r0, [r1]
- adds r0, #0x40
- str r0, [r1]
- ldrh r0, [r3]
- movs r1, #0x13
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #9
- bhi _080447AC
- ldr r3, _080447A8 @ =0x0000055B
- adds r0, r5, r3
- adds r0, r0, r4
- movs r1, #0x16
- b _080447F0
- .align 2, 0
-_0804479C: .4byte 0x0000013B
-_080447A0: .4byte 0x0000054B
-_080447A4: .4byte 0x00000584
-_080447A8: .4byte 0x0000055B
-_080447AC:
- ldr r6, _080447B4 @ =0x0000055B
- adds r0, r5, r6
- b _080447EC
- .align 2, 0
-_080447B4: .4byte 0x0000055B
-_080447B8:
- lsls r0, r4, #3
- ldr r7, _080447E0 @ =0x00000584
- adds r1, r5, r7
- adds r1, r1, r0
- ldr r0, [r1]
- adds r0, #0x80
- str r0, [r1]
- ldrh r0, [r3]
- movs r1, #0xa
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #4
- bhi _080447E8
- ldr r1, _080447E4 @ =0x0000055B
- adds r0, r5, r1
- adds r0, r0, r4
- movs r1, #0x16
- b _080447F0
- .align 2, 0
-_080447E0: .4byte 0x00000584
-_080447E4: .4byte 0x0000055B
-_080447E8:
- ldr r2, _0804482C @ =0x0000055B
- adds r0, r5, r2
-_080447EC:
- adds r0, r0, r4
- movs r1, #0x17
-_080447F0:
- strb r1, [r0]
- ldr r4, _08044830 @ =0x020314E0
- ldr r3, [r4]
- mov r5, sb
- asrs r2, r5, #0x10
- lsls r1, r2, #3
- ldr r6, _08044834 @ =0x00000584
- adds r0, r3, r6
- adds r0, r0, r1
- ldr r1, [r0]
- movs r0, #0xac
- lsls r0, r0, #8
- cmp r1, r0
- ble _0804481A
- lsls r0, r2, #1
- ldr r7, _08044838 @ =0x00000562
- adds r1, r3, r7
- adds r1, r1, r0
- movs r0, #0x9e
- lsls r0, r0, #1
- strh r0, [r1]
-_0804481A:
- ldr r1, _08044830 @ =0x020314E0
- ldr r0, [r1]
- ldr r3, _0804483C @ =0x0000054F
- adds r0, r0, r3
- adds r0, r0, r2
-_08044824:
- movs r1, #3
- strb r1, [r0]
- b _080448A0
- .align 2, 0
-_0804482C: .4byte 0x0000055B
-_08044830: .4byte 0x020314E0
-_08044834: .4byte 0x00000584
-_08044838: .4byte 0x00000562
-_0804483C: .4byte 0x0000054F
-_08044840:
- lsls r0, r4, #3
- ldr r6, _0804486C @ =0x00000584
- adds r1, r5, r6
- adds r1, r1, r0
- ldr r0, [r1]
- adds r0, #0x30
- str r0, [r1]
- ldr r7, _08044870 @ =0xFFFFFEC4
- adds r0, r7, #0
- ldrh r3, [r3]
- adds r0, r0, r3
- lsls r0, r0, #0x10
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #9
- bgt _08044878
- ldr r1, _08044874 @ =0x0000055B
- adds r0, r5, r1
- adds r0, r0, r4
- movs r1, #0x18
- b _08044880
- .align 2, 0
-_0804486C: .4byte 0x00000584
-_08044870: .4byte 0xFFFFFEC4
-_08044874: .4byte 0x0000055B
-_08044878:
- ldr r3, _080448B4 @ =0x0000055B
- adds r0, r5, r3
- adds r0, r0, r4
- movs r1, #0x19
-_08044880:
- strb r1, [r0]
- cmp r2, #1
- bne _0804488E
- movs r0, #0x9b
- lsls r0, r0, #1
- bl m4aSongNumStart
-_0804488E:
- ldr r2, _080448B8 @ =0x020314E0
- ldr r1, [r2]
- mov r4, sb
- asrs r0, r4, #0x10
- ldr r5, _080448BC @ =0x0000054F
- adds r1, r1, r5
- adds r1, r1, r0
- movs r0, #0
- strb r0, [r1]
-_080448A0:
- ldr r6, _080448B8 @ =0x020314E0
- ldr r0, [r6]
- mov r7, sb
- asrs r1, r7, #0xf
- ldr r2, _080448C0 @ =0x00000562
- adds r0, r0, r2
- adds r0, r0, r1
- ldrh r1, [r0]
- adds r1, #1
- b _080448E2
- .align 2, 0
-_080448B4: .4byte 0x0000055B
-_080448B8: .4byte 0x020314E0
-_080448BC: .4byte 0x0000054F
-_080448C0: .4byte 0x00000562
-_080448C4:
- ldr r3, _08044A9C @ =0x00000553
- adds r0, r5, r3
- adds r0, r0, r4
- movs r1, #0
- strb r1, [r0]
- ldr r5, _08044AA0 @ =0x020314E0
- ldr r0, [r5]
- ldr r6, _08044AA4 @ =0x0000055B
- adds r0, r0, r6
- adds r0, r0, r4
- strb r1, [r0]
- ldr r0, [r5]
- ldr r7, _08044AA8 @ =0x00000562
- adds r0, r0, r7
- adds r0, r0, r2
-_080448E2:
- strh r1, [r0]
-_080448E4:
- ldr r1, [sp]
- lsls r0, r1, #0x10
- movs r2, #0x80
- lsls r2, r2, #9
- adds r0, r0, r2
- lsrs r3, r0, #0x10
- str r3, [sp]
- asrs r0, r0, #0x10
- cmp r0, #1
- bgt _080448FC
- bl _080438AA
-_080448FC:
- movs r4, #0
- str r4, [sp]
-_08044900:
- ldr r5, [sp]
- lsls r1, r5, #0x10
- asrs r4, r1, #0x10
- movs r0, #0xb8
- muls r0, r4, r0
- ldr r6, _08044AAC @ =0x0200BDC8
- adds r0, r0, r6
- mov r8, r0
- ldrh r0, [r0]
- mov sb, r1
- cmp r0, #0
- bne _0804491A
- b _08044D12
-_0804491A:
- ldr r7, _08044AA0 @ =0x020314E0
- ldr r1, [r7]
- ldr r0, _08044AB0 @ =0x00000555
- adds r3, r1, r0
- adds r3, r3, r4
- movs r0, #0
- ldrsb r0, [r3, r0]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- str r0, [sp, #4]
- ldr r2, _08044AA4 @ =0x0000055B
- adds r0, r1, r2
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r2, r0, #1
- adds r2, r2, r0
- lsls r2, r2, #1
- ldr r0, _08044AB4 @ =0x086AFB2C
- adds r0, #4
- adds r2, r2, r0
- ldr r5, _08044AB8 @ =0x00000551
- adds r1, r1, r5
- adds r1, r1, r4
- movs r0, #0
- ldrsb r0, [r1, r0]
- movs r1, #1
- subs r1, r1, r0
- lsls r0, r1, #4
- subs r0, r0, r1
- lsls r0, r0, #1
- ldrb r2, [r2]
- adds r0, r0, r2
- strb r0, [r3]
- ldr r2, [r7]
- ldr r6, _08044AA4 @ =0x0000055B
- adds r0, r2, r6
- adds r0, r0, r4
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #1
- ldr r7, _08044AB4 @ =0x086AFB2C
- adds r0, r0, r7
- ldrh r5, [r0]
- lsls r3, r4, #3
- movs r1, #0xb0
- lsls r1, r1, #3
- adds r0, r2, r1
- adds r0, r0, r3
- ldr r0, [r0]
- cmp r0, #0
- bge _0804498A
- adds r0, #0xff
-_0804498A:
- asrs r1, r0, #8
- adds r0, r2, #0
- adds r0, #0x58
- ldrh r0, [r0]
- adds r0, #0xc
- subs r1, r1, r0
- mov r6, r8
- strh r1, [r6, #2]
- ldr r7, _08044ABC @ =0x00000584
- adds r0, r2, r7
- adds r0, r0, r3
- ldr r0, [r0]
- cmp r0, #0
- bge _080449A8
- adds r0, #0xff
-_080449A8:
- asrs r1, r0, #8
- adds r0, r2, #0
- adds r0, #0x5a
- ldrh r0, [r0]
- adds r0, #0xe
- subs r1, r1, r0
- mov r0, r8
- strh r1, [r0, #4]
- ldr r2, [sp, #4]
- lsls r1, r2, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #3
- adds r0, r0, r1
- lsls r0, r0, #5
- ldr r1, _08044AC0 @ =0x084B046C
- adds r0, r0, r1
- ldr r6, _08044AC4 @ =0x040000D4
- str r0, [r6]
- adds r0, r3, r4
- lsls r0, r0, #5
- ldr r7, _08044AC8 @ =0x06011CA0
- adds r0, r0, r7
- str r0, [r6, #4]
- ldr r0, _08044ACC @ =0x80000090
- str r0, [r6, #8]
- ldr r0, [r6, #8]
- movs r7, #0
- lsls r0, r5, #0x10
- ldr r1, _08044AD0 @ =gOamBuffer
- mov ip, r1
- adds r6, r4, #0
- asrs r0, r0, #0x10
- mov sl, r0
-_080449EA:
- lsls r0, r7, #0x10
- asrs r3, r0, #0x10
- lsls r0, r3, #3
- adds r0, #8
- mov r2, r8
- adds r5, r2, r0
- ldrh r2, [r5]
- lsls r2, r2, #3
- add r2, ip
- mov r4, sl
- lsls r1, r4, #1
- add r1, sl
- lsls r1, r1, #3
- lsls r0, r3, #1
- adds r0, r0, r3
- lsls r0, r0, #1
- ldr r4, _08044AD4 @ =0x086B56D8
- adds r0, r0, r4
- adds r1, r1, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, #2
- adds r2, #2
- ldrh r0, [r1]
- strh r0, [r2]
- ldrh r0, [r1, #2]
- strh r0, [r2, #2]
- ldr r0, _08044AA0 @ =0x020314E0
- ldr r1, [r0]
- ldr r2, _08044AB8 @ =0x00000551
- adds r0, r1, r2
- adds r0, r0, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _08044AE8
- cmp r3, #0
- bne _08044A5E
- ldr r3, _08044AD8 @ =0x0000055D
- adds r1, r1, r3
- adds r1, r1, r6
- ldrh r0, [r5]
- lsls r0, r0, #3
- add r0, ip
- ldrb r0, [r0, #2]
- rsbs r0, r0, #0
- strb r0, [r1]
- ldr r4, _08044AA0 @ =0x020314E0
- ldr r1, [r4]
- ldr r0, _08044ADC @ =0x0000055F
- adds r1, r1, r0
- adds r1, r1, r6
- ldrh r0, [r5]
- lsls r0, r0, #3
- add r0, ip
- ldrb r0, [r0]
- strb r0, [r1]
-_08044A5E:
- ldrh r3, [r5]
- lsls r3, r3, #3
- add r3, ip
- ldrh r4, [r3, #2]
- lsls r1, r4, #0x17
- lsrs r1, r1, #0x17
- mov r2, r8
- movs r0, #2
- ldrsh r2, [r2, r0]
- str r2, [sp, #8]
- ldr r2, _08044AA0 @ =0x020314E0
- ldr r0, [r2]
- ldr r2, _08044AD8 @ =0x0000055D
- adds r0, r0, r2
- adds r0, r0, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #1
- ldr r2, [sp, #8]
- adds r0, r2, r0
- adds r1, r1, r0
- ldr r2, _08044AE0 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldr r0, _08044AE4 @ =0xFFFFFE00
- ands r0, r4
- orrs r0, r1
- strh r0, [r3, #2]
- b _08044B36
- .align 2, 0
-_08044A9C: .4byte 0x00000553
-_08044AA0: .4byte 0x020314E0
-_08044AA4: .4byte 0x0000055B
-_08044AA8: .4byte 0x00000562
-_08044AAC: .4byte 0x0200BDC8
-_08044AB0: .4byte 0x00000555
-_08044AB4: .4byte 0x086AFB2C
-_08044AB8: .4byte 0x00000551
-_08044ABC: .4byte 0x00000584
-_08044AC0: .4byte 0x084B046C
-_08044AC4: .4byte 0x040000D4
-_08044AC8: .4byte 0x06011CA0
-_08044ACC: .4byte 0x80000090
-_08044AD0: .4byte gOamBuffer
-_08044AD4: .4byte 0x086B56D8
-_08044AD8: .4byte 0x0000055D
-_08044ADC: .4byte 0x0000055F
-_08044AE0: .4byte 0x000001FF
-_08044AE4: .4byte 0xFFFFFE00
-_08044AE8:
- cmp r3, #0
- bne _08044B10
- ldr r3, _08044C24 @ =0x0000055D
- adds r1, r1, r3
- adds r1, r1, r6
- ldrh r0, [r5]
- lsls r0, r0, #3
- add r0, ip
- ldrh r0, [r0, #2]
- strb r0, [r1]
- ldr r4, _08044C28 @ =0x020314E0
- ldr r1, [r4]
- ldr r0, _08044C2C @ =0x0000055F
- adds r1, r1, r0
- adds r1, r1, r6
- ldrh r0, [r5]
- lsls r0, r0, #3
- add r0, ip
- ldrb r0, [r0]
- strb r0, [r1]
-_08044B10:
- ldrh r2, [r5]
- lsls r2, r2, #3
- add r2, ip
- ldrh r3, [r2, #2]
- lsls r1, r3, #0x17
- lsrs r1, r1, #0x17
- str r1, [sp, #0xc]
- mov r1, r8
- movs r4, #2
- ldrsh r0, [r1, r4]
- ldr r4, [sp, #0xc]
- adds r1, r4, r0
- ldr r4, _08044C30 @ =0x000001FF
- adds r0, r4, #0
- ands r1, r0
- ldr r0, _08044C34 @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
-_08044B36:
- ldrh r1, [r5]
- lsls r1, r1, #3
- add r1, ip
- mov r2, r8
- ldrb r0, [r2, #4]
- ldrb r3, [r1]
- adds r0, r0, r3
- strb r0, [r1]
- ldrh r2, [r5]
- lsls r2, r2, #3
- add r2, ip
- ldrh r3, [r2, #4]
- lsls r1, r3, #0x16
- lsrs r1, r1, #0x16
- lsls r0, r6, #3
- adds r0, r0, r6
- adds r1, r1, r0
- ldr r4, _08044C38 @ =0x000003FF
- adds r0, r4, #0
- ands r1, r0
- ldr r0, _08044C3C @ =0xFFFFFC00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #4]
- lsls r0, r7, #0x10
- movs r5, #0x80
- lsls r5, r5, #9
- adds r0, r0, r5
- lsrs r7, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- bgt _08044B78
- b _080449EA
-_08044B78:
- ldr r6, _08044C28 @ =0x020314E0
- ldr r2, [r6]
- mov r7, sb
- asrs r3, r7, #0x10
- lsls r0, r3, #2
- adds r6, r2, r0
- lsls r4, r3, #3
- movs r1, #0xb0
- lsls r1, r1, #3
- adds r0, r2, r1
- adds r0, r0, r4
- ldr r0, [r0]
- cmp r0, #0
- bge _08044B96
- adds r0, #0xff
-_08044B96:
- asrs r1, r0, #8
- ldr r5, _08044C24 @ =0x0000055D
- adds r0, r2, r5
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- subs r0, #0x10
- adds r1, r1, r0
- lsls r1, r1, #1
- movs r7, #0xae
- lsls r7, r7, #3
- adds r0, r6, r7
- strh r1, [r0]
- ldr r1, _08044C40 @ =0x00000584
- adds r0, r2, r1
- adds r7, r0, r4
- ldr r1, [r7]
- cmp r1, #0
- bge _08044BC0
- adds r1, #0xff
-_08044BC0:
- asrs r1, r1, #8
- ldr r4, _08044C2C @ =0x0000055F
- adds r0, r2, r4
- adds r5, r0, r3
- movs r0, #0
- ldrsb r0, [r5, r0]
- subs r0, #0x12
- adds r1, r1, r0
- lsls r1, r1, #1
- adds r4, #0x13
- adds r0, r6, r4
- strh r1, [r0]
- lsls r1, r3, #1
- ldr r6, _08044C44 @ =0x00000566
- adds r0, r2, r6
- adds r4, r0, r1
- ldr r0, [r7]
- cmp r0, #0
- bge _08044BE8
- adds r0, #0xff
-_08044BE8:
- asrs r1, r0, #8
- movs r0, #0
- ldrsb r0, [r5, r0]
- adds r0, r0, r1
- strh r0, [r4]
- movs r0, #0xb8
- muls r0, r3, r0
- ldr r7, _08044C48 @ =0x0200BF38
- adds r0, r0, r7
- mov r8, r0
- ldr r1, [sp, #4]
- lsls r0, r1, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xc
- beq _08044C0A
- cmp r0, #0x2a
- bne _08044C50
-_08044C0A:
- ldr r4, _08044C4C @ =0x0000055B
- adds r0, r2, r4
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- movs r5, #9
- str r5, [sp, #4]
- cmp r0, #0xb
- bne _08044C54
- movs r6, #8
- str r6, [sp, #4]
- b _08044C54
- .align 2, 0
-_08044C24: .4byte 0x0000055D
-_08044C28: .4byte 0x020314E0
-_08044C2C: .4byte 0x0000055F
-_08044C30: .4byte 0x000001FF
-_08044C34: .4byte 0xFFFFFE00
-_08044C38: .4byte 0x000003FF
-_08044C3C: .4byte 0xFFFFFC00
-_08044C40: .4byte 0x00000584
-_08044C44: .4byte 0x00000566
-_08044C48: .4byte 0x0200BF38
-_08044C4C: .4byte 0x0000055B
-_08044C50:
- movs r7, #0
- str r7, [sp, #4]
-_08044C54:
- ldr r0, _08044D34 @ =0x020314E0
- ldr r2, [r0]
- mov r1, sb
- asrs r4, r1, #0x10
- lsls r3, r4, #3
- movs r5, #0xb0
- lsls r5, r5, #3
- adds r0, r2, r5
- adds r0, r0, r3
- ldr r0, [r0]
- cmp r0, #0
- bge _08044C6E
- adds r0, #0xff
-_08044C6E:
- asrs r1, r0, #8
- adds r0, r2, #0
- adds r0, #0x58
- ldrh r0, [r0]
- adds r0, #0xc
- subs r1, r1, r0
- mov r6, r8
- strh r1, [r6, #2]
- ldr r7, _08044D38 @ =0x00000584
- adds r0, r2, r7
- adds r0, r0, r3
- ldr r0, [r0]
- cmp r0, #0
- bge _08044C8C
- adds r0, #0xff
-_08044C8C:
- asrs r1, r0, #8
- adds r0, r2, #0
- adds r0, #0x5a
- ldrh r0, [r0]
- adds r0, #0xe
- subs r1, r1, r0
- mov r0, r8
- strh r1, [r0, #4]
- ldr r2, [sp, #4]
- lsls r1, r2, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #3
- adds r0, r0, r1
- lsls r0, r0, #5
- ldr r5, _08044D3C @ =0x084B046C
- adds r0, r0, r5
- ldr r6, _08044D40 @ =0x040000D4
- str r0, [r6]
- adds r0, r3, r4
- lsls r0, r0, #5
- ldr r7, _08044D44 @ =0x06011EE0
- adds r0, r0, r7
- str r0, [r6, #4]
- ldr r0, _08044D48 @ =0x80000090
- str r0, [r6, #8]
- ldr r0, [r6, #8]
- movs r7, #0
- ldr r6, _08044D4C @ =gOamBuffer
- ldr r0, _08044D50 @ =0xFFFFFE00
- mov sl, r0
-_08044CC8:
- lsls r3, r7, #0x10
- asrs r3, r3, #0x10
- lsls r0, r3, #3
- adds r0, #8
- mov r1, r8
- adds r5, r1, r0
- ldrh r2, [r5]
- lsls r2, r2, #3
- adds r2, r2, r6
- movs r4, #2
- ldrsh r1, [r5, r4]
- mov r7, r8
- movs r4, #2
- ldrsh r0, [r7, r4]
- adds r1, r1, r0
- ldr r7, _08044D54 @ =0x000001FF
- adds r0, r7, #0
- ands r1, r0
- ldrh r4, [r2, #2]
- mov r0, sl
- ands r0, r4
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r6
- mov r2, r8
- ldrb r0, [r2, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r7, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #3
- ble _08044CC8
-_08044D12:
- movs r0, #0x80
- lsls r0, r0, #9
- add r0, sb
- lsrs r3, r0, #0x10
- str r3, [sp]
- asrs r0, r0, #0x10
- cmp r0, #1
- bgt _08044D24
- b _08044900
-_08044D24:
- add sp, #0x10
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08044D34: .4byte 0x020314E0
-_08044D38: .4byte 0x00000584
-_08044D3C: .4byte 0x084B046C
-_08044D40: .4byte 0x040000D4
-_08044D44: .4byte 0x06011EE0
-_08044D48: .4byte 0x80000090
-_08044D4C: .4byte gOamBuffer
-_08044D50: .4byte 0xFFFFFE00
-_08044D54: .4byte 0x000001FF
-
- thumb_func_start sub_44D58
-sub_44D58: @ 0x08044D58
- push {r4, r5, r6, r7, lr}
- movs r0, #0
- mov ip, r0
- ldr r6, _08044EE4 @ =0x0200C0A8
- ldrh r0, [r6]
- ldr r7, _08044EE8 @ =0x020314E0
- cmp r0, #0
- beq _08044DE8
- ldr r0, [r7]
- adds r0, #0x58
- ldrh r1, [r0]
- movs r0, #0x68
- subs r0, r0, r1
- strh r0, [r6, #2]
- ldr r0, [r7]
- adds r0, #0x5a
- ldrh r1, [r0]
- movs r0, #0x56
- subs r0, r0, r1
- strh r0, [r6, #4]
- ldr r0, [r7]
- ldr r2, _08044EEC @ =0x00000542
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, #0x15
- bhi _08044D9C
- ldr r0, _08044EF0 @ =0x08137D60
- ldrh r1, [r1]
- adds r1, r1, r0
- movs r0, #0
- ldrsb r0, [r1, r0]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- mov ip, r0
-_08044D9C:
- ldr r2, _08044EF4 @ =0x040000D4
- mov r3, ip
- lsls r0, r3, #0x10
- asrs r0, r0, #7
- ldr r1, _08044EF8 @ =0x084AF9EC
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _08044EFC @ =0x06010920
- str r0, [r2, #4]
- ldr r0, _08044F00 @ =0x80000100
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- adds r5, r6, #0
- adds r5, #8
- ldr r4, _08044F04 @ =gOamBuffer
- ldrh r2, [r6, #8]
- lsls r2, r2, #3
- adds r2, r2, r4
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r3, #2
- ldrsh r0, [r6, r3]
- adds r1, r1, r0
- ldr r3, _08044F08 @ =0x000001FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- ldr r0, _08044F0C @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
-_08044DE8:
- ldr r6, _08044F10 @ =0x0200BBA0
- ldrh r0, [r6]
- cmp r0, #0
- beq _08044E72
- ldr r0, [r7]
- adds r0, #0x58
- ldrh r1, [r0]
- movs r0, #0x68
- subs r0, r0, r1
- strh r0, [r6, #2]
- ldr r0, [r7]
- adds r0, #0x5a
- ldrh r1, [r0]
- movs r0, #0x5e
- subs r0, r0, r1
- strh r0, [r6, #4]
- ldr r2, _08044EF4 @ =0x040000D4
- mov r0, ip
- lsls r1, r0, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #7
- ldr r1, _08044F14 @ =0x084AFFEC
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _08044F18 @ =0x06010B20
- str r0, [r2, #4]
- ldr r0, _08044F1C @ =0x800000C0
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- movs r0, #0
- ldr r7, _08044F04 @ =gOamBuffer
- ldr r1, _08044F0C @ =0xFFFFFE00
- mov ip, r1
-_08044E2E:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r2, #2
- ldrsh r1, [r5, r2]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08044F08 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #1
- ble _08044E2E
-_08044E72:
- ldr r4, _08044EE8 @ =0x020314E0
- ldr r0, [r4]
- movs r1, #0x13
- ldrsb r1, [r0, r1]
- cmp r1, #1
- bne _08044E88
- ldr r0, _08044F20 @ =gMain
- movs r3, #0xae
- lsls r3, r3, #4
- adds r0, r0, r3
- strh r1, [r0]
-_08044E88:
- ldr r1, [r4]
- movs r0, #0x13
- ldrsb r0, [r1, r0]
- cmp r0, #1
- bgt _08044EC8
- ldr r0, _08044F20 @ =gMain
- ldrb r0, [r0, #0xf]
- cmp r0, #0
- bne _08044EC8
- ldr r5, _08044EEC @ =0x00000542
- adds r0, r1, r5
- ldrh r0, [r0]
- cmp r0, #0
- beq _08044EC8
- cmp r0, #0x15
- bne _08044EB0
- ldr r0, _08044F24 @ =0x02032F20
- ldr r1, _08044F28 @ =0x086A2D94
- bl MPlayStart
-_08044EB0:
- ldr r1, [r4]
- adds r1, r1, r5
- ldrh r0, [r1]
- subs r0, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- cmp r0, #0
- bne _08044EC8
- ldr r0, _08044F24 @ =0x02032F20
- ldr r1, _08044F2C @ =0x086A2E70
- bl MPlayStart
-_08044EC8:
- ldr r0, _08044EE8 @ =0x020314E0
- ldr r0, [r0]
- adds r0, #0x7e
- ldrh r0, [r0]
- cmp r0, #0
- beq _08044F34
- ldr r0, _08044F20 @ =gMain
- ldrb r0, [r0, #5]
- cmp r0, #0
- bne _08044F30
- bl sub_44F3C
- b _08044F34
- .align 2, 0
-_08044EE4: .4byte 0x0200C0A8
-_08044EE8: .4byte 0x020314E0
-_08044EEC: .4byte 0x00000542
-_08044EF0: .4byte 0x08137D60
-_08044EF4: .4byte 0x040000D4
-_08044EF8: .4byte 0x084AF9EC
-_08044EFC: .4byte 0x06010920
-_08044F00: .4byte 0x80000100
-_08044F04: .4byte gOamBuffer
-_08044F08: .4byte 0x000001FF
-_08044F0C: .4byte 0xFFFFFE00
-_08044F10: .4byte 0x0200BBA0
-_08044F14: .4byte 0x084AFFEC
-_08044F18: .4byte 0x06010B20
-_08044F1C: .4byte 0x800000C0
-_08044F20: .4byte gMain
-_08044F24: .4byte 0x02032F20
-_08044F28: .4byte 0x086A2D94
-_08044F2C: .4byte 0x086A2E70
-_08044F30:
- bl sub_45164
-_08044F34:
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-
- thumb_func_start sub_44F3C
-sub_44F3C: @ 0x08044F3C
- push {r4, r5, r6, r7, lr}
- mov r7, sb
- mov r6, r8
- push {r6, r7}
- ldr r6, _08045010 @ =0x0200C160
- ldrh r0, [r6]
- ldr r1, _08045014 @ =0x020314E0
- mov sb, r1
- ldr r2, _08045018 @ =0x086AFC16
- mov r8, r2
- cmp r0, #0
- beq _08044FE6
- ldr r1, [r1]
- ldr r3, _0804501C @ =0x00000591
- adds r0, r1, r3
- movs r2, #0
- ldrsb r2, [r0, r2]
- lsls r2, r2, #3
- add r2, r8
- ldrh r0, [r2, #4]
- adds r0, #0x86
- adds r1, #0x58
- ldrh r1, [r1]
- subs r0, r0, r1
- strh r0, [r6, #2]
- ldrh r1, [r2, #6]
- adds r1, #0x9a
- mov r3, sb
- ldr r0, [r3]
- adds r0, #0x5a
- ldrh r0, [r0]
- subs r1, r1, r0
- strh r1, [r6, #4]
- ldr r3, _08045020 @ =0x040000D4
- movs r0, #0
- ldrsh r1, [r2, r0]
- lsls r0, r1, #3
- adds r0, r0, r1
- lsls r0, r0, #7
- ldr r1, _08045024 @ =0x084B7FEC
- adds r0, r0, r1
- str r0, [r3]
- ldr r0, _08045028 @ =0x06012120
- str r0, [r3, #4]
- ldr r0, _0804502C @ =0x80000230
- str r0, [r3, #8]
- ldr r0, [r3, #8]
- movs r0, #0
- ldr r7, _08045030 @ =gOamBuffer
- ldr r1, _08045034 @ =0xFFFFFE00
- mov ip, r1
-_08044FA2:
- lsls r5, r0, #0x10
- asrs r5, r5, #0x10
- lsls r3, r5, #3
- adds r3, #8
- adds r3, r6, r3
- ldrh r4, [r3]
- lsls r4, r4, #3
- adds r4, r4, r7
- movs r2, #2
- ldrsh r1, [r3, r2]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08045038 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r4, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, #2]
- ldrh r1, [r3]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r3, [r3, #4]
- adds r0, r0, r3
- strb r0, [r1]
- adds r5, #1
- lsls r5, r5, #0x10
- lsrs r0, r5, #0x10
- asrs r5, r5, #0x10
- cmp r5, #3
- ble _08044FA2
-_08044FE6:
- mov r5, sb
- ldr r2, [r5]
- ldr r6, _0804501C @ =0x00000591
- adds r4, r2, r6
- movs r0, #0
- ldrsb r0, [r4, r0]
- lsls r0, r0, #3
- mov r1, r8
- adds r1, #2
- adds r0, r0, r1
- movs r3, #0
- ldrsh r0, [r0, r3]
- ldr r1, _0804503C @ =0x00000592
- adds r2, r2, r1
- ldrh r3, [r2]
- cmp r0, r3
- ble _08045040
- adds r0, r3, #1
- strh r0, [r2]
- b _08045148
- .align 2, 0
-_08045010: .4byte 0x0200C160
-_08045014: .4byte 0x020314E0
-_08045018: .4byte 0x086AFC16
-_0804501C: .4byte 0x00000591
-_08045020: .4byte 0x040000D4
-_08045024: .4byte 0x084B7FEC
-_08045028: .4byte 0x06012120
-_0804502C: .4byte 0x80000230
-_08045030: .4byte gOamBuffer
-_08045034: .4byte 0xFFFFFE00
-_08045038: .4byte 0x000001FF
-_0804503C: .4byte 0x00000592
-_08045040:
- movs r3, #0
- mov r8, r3
- movs r7, #0
- strh r7, [r2]
- ldrb r0, [r4]
- adds r0, #1
- strb r0, [r4]
- ldr r0, [r5]
- ldr r1, _08045154 @ =0x00000591
- adds r0, r0, r1
- movs r1, #0
- ldrsb r1, [r0, r1]
- cmp r1, #1
- bne _08045066
- ldr r0, _08045158 @ =gMain
- movs r2, #0x85
- lsls r2, r2, #5
- adds r0, r0, r2
- strh r1, [r0]
-_08045066:
- ldr r0, [r5]
- adds r1, r0, r6
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0x13
- bne _08045086
- movs r0, #0x12
- strb r0, [r1]
- ldr r0, _08045158 @ =gMain
- movs r3, #0x85
- lsls r3, r3, #5
- adds r0, r0, r3
- strh r7, [r0]
- ldr r0, [r5]
- adds r0, #0x7e
- strh r7, [r0]
-_08045086:
- ldr r2, [r5]
- adds r0, r2, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #9
- bne _080450C8
- ldr r0, _0804515C @ =0x0000132C
- adds r2, r2, r0
- ldr r1, [r2]
- ldrh r0, [r1, #0xa]
- subs r0, #0x40
- strh r0, [r1, #0xa]
- ldr r1, [r2]
- movs r0, #0x8d
- lsls r0, r0, #8
- str r0, [r1, #0x34]
- ldr r1, [r2]
- movs r0, #0xc8
- lsls r0, r0, #8
- str r0, [r1, #0x38]
- ldr r1, [r2]
- ldr r0, _08045160 @ =0x0000FFA0
- strh r0, [r1, #0x30]
- ldr r1, [r2]
- movs r0, #0x54
- strh r0, [r1, #0x32]
- ldr r1, [r2]
- movs r0, #3
- strb r0, [r1, #1]
- movs r0, #7
- bl sub_11B0
-_080450C8:
- ldr r0, [r5]
- adds r0, r0, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- bne _080450DC
- movs r0, #0xd3
- bl m4aSongNumStart
-_080450DC:
- ldr r0, [r5]
- adds r0, r0, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0xf
- bne _080450F0
- movs r0, #0xd4
- bl m4aSongNumStart
-_080450F0:
- ldr r0, [r5]
- adds r0, r0, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #8
- bne _08045134
- movs r0, #0xd6
- bl m4aSongNumStart
- ldr r0, [r5]
- ldr r2, _0804515C @ =0x0000132C
- adds r0, r0, r2
- ldr r0, [r0]
- mov r1, r8
- strb r1, [r0]
- ldr r1, [r5]
- adds r1, r1, r2
- ldr r2, [r1]
- ldrh r0, [r2, #0xa]
- subs r0, #0x40
- strh r0, [r2, #0xa]
- ldr r2, [r1]
- movs r0, #0x8f
- lsls r0, r0, #8
- str r0, [r2, #0x34]
- ldr r2, [r1]
- movs r0, #0xc3
- lsls r0, r0, #8
- str r0, [r2, #0x38]
- ldr r0, [r1]
- strh r7, [r0, #0x30]
- ldr r0, [r1]
- strh r7, [r0, #0x32]
-_08045134:
- mov r2, sb
- ldr r1, [r2]
- adds r0, r1, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0xa
- bne _08045148
- mov r3, r8
- strb r3, [r1, #0x1f]
-_08045148:
- pop {r3, r4}
- mov r8, r3
- mov sb, r4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08045154: .4byte 0x00000591
-_08045158: .4byte gMain
-_0804515C: .4byte 0x0000132C
-_08045160: .4byte 0x0000FFA0
-
- thumb_func_start sub_45164
-sub_45164: @ 0x08045164
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- ldr r6, _080452A0 @ =0x0200C218
- ldrh r0, [r6]
- cmp r0, #0
- beq _08045234
- ldr r0, _080452A4 @ =0x020314E0
- ldr r4, [r0]
- movs r1, #0xc8
- lsls r1, r1, #2
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r4, #0x58
- ldrh r1, [r4]
- subs r1, #0x92
- subs r0, r0, r1
- strh r0, [r6, #2]
- ldr r3, _080452A4 @ =0x020314E0
- ldr r4, [r3]
- ldr r1, _080452A8 @ =0x00000322
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r5, r0, #0
- adds r0, r4, #0
- adds r0, #0x5a
- ldrh r0, [r0]
- subs r0, #0x6e
- subs r5, r5, r0
- ldr r3, _080452AC @ =0x0000030E
- adds r4, r4, r3
- movs r1, #0
- ldrsh r0, [r4, r1]
- movs r1, #0xa
- bl __divsi3
- adds r5, r5, r0
- strh r5, [r6, #4]
- ldr r2, _080452A4 @ =0x020314E0
- ldr r0, [r2]
- ldr r3, _080452B0 @ =0x00000591
- adds r0, r0, r3
- ldr r2, _080452B4 @ =0x040000D4
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #3
- adds r0, r0, r1
- lsls r0, r0, #7
- ldr r1, _080452B8 @ =0x084BB16C
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _080452BC @ =0x060125A0
- str r0, [r2, #4]
- ldr r0, _080452C0 @ =0x80000240
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- movs r0, #0
- ldr r7, _080452C4 @ =gOamBuffer
- ldr r1, _080452C8 @ =0xFFFFFE00
- mov r8, r1
-_080451F0:
- lsls r5, r0, #0x10
- asrs r5, r5, #0x10
- lsls r3, r5, #3
- adds r3, #8
- adds r3, r6, r3
- ldrh r4, [r3]
- lsls r4, r4, #3
- adds r4, r4, r7
- movs r2, #2
- ldrsh r1, [r3, r2]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _080452CC @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r4, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, #2]
- ldrh r1, [r3]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r3, [r3, #4]
- adds r0, r0, r3
- strb r0, [r1]
- adds r5, #1
- lsls r5, r5, #0x10
- lsrs r0, r5, #0x10
- asrs r5, r5, #0x10
- cmp r5, #3
- ble _080451F0
-_08045234:
- ldr r3, _080452A4 @ =0x020314E0
- ldr r4, [r3]
- ldr r1, _080452D0 @ =0x00000592
- adds r0, r4, r1
- ldrh r0, [r0]
- cmp r0, #0xfa
- bhi _080452F0
- cmp r0, #0xfa
- beq _08045248
- b _08045594
-_08045248:
- movs r2, #0xc8
- lsls r2, r2, #2
- adds r1, r4, r2
- movs r2, #0
- movs r0, #0xe6
- lsls r0, r0, #2
- strh r0, [r1]
- ldr r3, _080452A8 @ =0x00000322
- adds r1, r4, r3
- ldr r0, _080452D4 @ =0x0000FF9C
- strh r0, [r1]
- movs r0, #0xc7
- lsls r0, r0, #2
- adds r1, r4, r0
- ldr r0, _080452D8 @ =0x0000FFAE
- strh r0, [r1]
- ldr r1, _080452DC @ =0x0000031E
- adds r0, r4, r1
- strh r2, [r0]
- subs r3, #0x16
- adds r0, r4, r3
- strh r2, [r0]
- ldr r0, _080452E0 @ =0x00000306
- adds r1, r4, r0
- movs r0, #8
- strb r0, [r1]
- ldr r1, _080452A4 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _080452B0 @ =0x00000591
- adds r0, r0, r2
- movs r1, #0xd
- strb r1, [r0]
- ldr r0, _080452E4 @ =gMain
- ldr r3, _080452E8 @ =0x00001158
- adds r0, r0, r3
- movs r2, #1
- movs r1, #1
- strh r1, [r0]
- ldr r1, _080452A4 @ =0x020314E0
- ldr r0, [r1]
- ldr r3, _080452EC @ =0x000005FA
- adds r0, r0, r3
- strb r2, [r0]
- b _08045594
- .align 2, 0
-_080452A0: .4byte 0x0200C218
-_080452A4: .4byte 0x020314E0
-_080452A8: .4byte 0x00000322
-_080452AC: .4byte 0x0000030E
-_080452B0: .4byte 0x00000591
-_080452B4: .4byte 0x040000D4
-_080452B8: .4byte 0x084BB16C
-_080452BC: .4byte 0x060125A0
-_080452C0: .4byte 0x80000240
-_080452C4: .4byte gOamBuffer
-_080452C8: .4byte 0xFFFFFE00
-_080452CC: .4byte 0x000001FF
-_080452D0: .4byte 0x00000592
-_080452D4: .4byte 0x0000FF9C
-_080452D8: .4byte 0x0000FFAE
-_080452DC: .4byte 0x0000031E
-_080452E0: .4byte 0x00000306
-_080452E4: .4byte gMain
-_080452E8: .4byte 0x00001158
-_080452EC: .4byte 0x000005FA
-_080452F0:
- movs r5, #0xc3
- lsls r5, r5, #2
- adds r0, r4, r5
- ldrh r0, [r0]
- movs r1, #0x18
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #6
- bl __udivsi3
- adds r0, #0xd
- ldr r2, _0804537C @ =0x00000591
- adds r1, r4, r2
- strb r0, [r1]
- ldr r3, _08045380 @ =0x020314E0
- ldr r0, [r3]
- adds r0, r0, r5
- ldrh r0, [r0]
- lsls r0, r0, #0x1a
- lsrs r0, r0, #0x10
- bl sub_C24
- adds r1, r0, #0
- ldr r0, _08045380 @ =0x020314E0
- ldr r4, [r0]
- lsls r1, r1, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #4
- subs r0, r0, r1
- lsls r0, r0, #4
- ldr r1, _08045384 @ =0x00004E20
- bl __divsi3
- ldr r2, _08045388 @ =0x0000030E
- adds r1, r4, r2
- strh r0, [r1]
- adds r4, r4, r5
- ldrh r0, [r4]
- cmp r0, #0
- bne _0804534A
- movs r0, #0xe4
- bl m4aSongNumStart
-_0804534A:
- ldr r3, _08045380 @ =0x020314E0
- ldr r4, [r3]
- adds r0, r4, r5
- ldrh r0, [r0]
- cmp r0, #0x27
- bhi _08045390
- movs r0, #0xc8
- lsls r0, r0, #2
- adds r1, r4, r0
- movs r2, #0xc7
- lsls r2, r2, #2
- adds r0, r4, r2
- ldrh r0, [r0]
- ldrh r3, [r1]
- adds r0, r0, r3
- strh r0, [r1]
- ldr r0, _0804538C @ =0x00000322
- adds r1, r4, r0
- adds r2, #2
- adds r0, r4, r2
- ldrh r0, [r0]
- ldrh r3, [r1]
- adds r0, r0, r3
- strh r0, [r1]
- b _0804539A
- .align 2, 0
-_0804537C: .4byte 0x00000591
-_08045380: .4byte 0x020314E0
-_08045384: .4byte 0x00004E20
-_08045388: .4byte 0x0000030E
-_0804538C: .4byte 0x00000322
-_08045390:
- ldr r0, _0804547C @ =gMain
- ldr r1, _08045480 @ =0x00001158
- adds r0, r0, r1
- movs r1, #0
- strh r1, [r0]
-_0804539A:
- ldr r0, _08045484 @ =0x020314E0
- ldr r2, [r0]
- movs r6, #0xc3
- lsls r6, r6, #2
- adds r1, r2, r6
- ldrh r1, [r1]
- cmp r1, #0xd
- bne _08045416
- ldr r5, _08045488 @ =0x0000132C
- adds r0, r2, r5
- ldr r1, [r0]
- movs r0, #0
- strb r0, [r1]
- ldr r2, _08045484 @ =0x020314E0
- ldr r4, [r2]
- movs r3, #0xc5
- lsls r3, r3, #2
- adds r1, r4, r3
- ldr r0, _0804548C @ =0x0000FFF6
- strh r0, [r1]
- ldr r0, _08045490 @ =0x00000316
- adds r1, r4, r0
- ldr r0, _08045494 @ =0x0000FFE7
- strh r0, [r1]
- movs r1, #0xc8
- lsls r1, r1, #2
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- adds r0, #0x9d
- lsls r1, r0, #2
- adds r1, r1, r0
- lsls r1, r1, #1
- movs r3, #0xc6
- lsls r3, r3, #2
- adds r0, r4, r3
- strh r1, [r0]
- ldr r1, _08045498 @ =0x00000322
- adds r0, r4, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- adds r0, #0x86
- lsls r1, r0, #2
- adds r1, r1, r0
- lsls r1, r1, #1
- ldr r3, _0804549C @ =0x0000031A
- adds r0, r4, r3
- strh r1, [r0]
- adds r4, r4, r5
- ldr r1, [r4]
- movs r0, #1
- strb r0, [r1, #1]
-_08045416:
- ldr r0, _08045484 @ =0x020314E0
- ldr r7, [r0]
- ldrb r0, [r7, #0x1f]
- cmp r0, #0
- bne _08045422
- b _08045584
-_08045422:
- adds r0, r7, r6
- ldrh r0, [r0]
- cmp r0, #0xc
- bhi _080454A0
- ldr r1, _08045488 @ =0x0000132C
- adds r4, r7, r1
- ldr r5, [r4]
- movs r2, #0xc8
- lsls r2, r2, #2
- adds r0, r7, r2
- movs r3, #0
- ldrsh r0, [r0, r3]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x9d
- strh r0, [r5, #0x10]
- ldr r5, [r4]
- ldr r1, _08045498 @ =0x00000322
- adds r0, r7, r1
- movs r2, #0
- ldrsh r0, [r0, r2]
- movs r1, #0xa
- bl __divsi3
- adds r0, #0x86
- strh r0, [r5, #0x12]
- ldr r1, [r4]
- movs r3, #0x10
- ldrsh r0, [r1, r3]
- lsls r0, r0, #1
- strh r0, [r1, #0x28]
- ldr r1, [r4]
- movs r2, #0x12
- ldrsh r0, [r1, r2]
- lsls r0, r0, #1
- strh r0, [r1, #0x2a]
- ldr r1, [r4]
- movs r3, #0x10
- ldrsh r0, [r1, r3]
- lsls r0, r0, #8
- str r0, [r1, #0x34]
- ldr r1, [r4]
- b _0804557C
- .align 2, 0
-_0804547C: .4byte gMain
-_08045480: .4byte 0x00001158
-_08045484: .4byte 0x020314E0
-_08045488: .4byte 0x0000132C
-_0804548C: .4byte 0x0000FFF6
-_08045490: .4byte 0x00000316
-_08045494: .4byte 0x0000FFE7
-_08045498: .4byte 0x00000322
-_0804549C: .4byte 0x0000031A
-_080454A0:
- ldr r3, _080455B0 @ =0x00000316
- adds r1, r7, r3
- ldrh r0, [r1]
- adds r0, #2
- movs r2, #0
- mov r8, r2
- movs r3, #0
- mov sl, r3
- strh r0, [r1]
- movs r0, #0xc6
- lsls r0, r0, #2
- adds r2, r7, r0
- movs r3, #0xc5
- lsls r3, r3, #2
- adds r0, r7, r3
- ldrh r0, [r0]
- ldrh r3, [r2]
- adds r0, r0, r3
- strh r0, [r2]
- ldr r0, _080455B4 @ =0x0000031A
- adds r4, r7, r0
- ldrh r0, [r1]
- ldrh r1, [r4]
- adds r0, r0, r1
- strh r0, [r4]
- ldr r3, _080455B8 @ =0x0000132C
- mov sb, r3
- adds r5, r7, r3
- ldr r6, [r5]
- movs r1, #0
- ldrsh r0, [r2, r1]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r6, #0x10]
- ldr r6, [r5]
- movs r2, #0
- ldrsh r0, [r4, r2]
- movs r1, #0xa
- bl __divsi3
- strh r0, [r6, #0x12]
- ldr r5, [r5]
- movs r3, #0x12
- ldrsh r0, [r5, r3]
- cmp r0, #0xb4
- ble _08045556
- movs r0, #0xb5
- strh r0, [r5, #0x12]
- ldr r1, _080455BC @ =0x000005F7
- adds r0, r7, r1
- mov r2, r8
- strb r2, [r0]
- ldr r3, _080455C0 @ =0x020314E0
- ldr r0, [r3]
- strb r2, [r0, #0x1f]
- ldr r1, [r3]
- ldr r0, _080455B8 @ =0x0000132C
- adds r3, r1, r0
- ldr r2, [r3]
- ldr r0, _080455C4 @ =0x0000FFF6
- strh r0, [r2, #0x30]
- ldr r0, [r3]
- mov r2, sl
- strh r2, [r0, #0x32]
- ldr r3, _080455C8 @ =0x000005FA
- adds r1, r1, r3
- mov r0, r8
- strb r0, [r1]
- ldr r1, _080455C0 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _080455B8 @ =0x0000132C
- adds r0, r0, r2
- ldr r1, [r0]
- movs r0, #3
- strb r0, [r1, #1]
- ldr r3, _080455C0 @ =0x020314E0
- ldr r0, [r3]
- adds r0, #0x24
- mov r1, r8
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, #0x7e
- mov r2, sl
- strh r2, [r0]
- movs r0, #0xe5
- bl m4aSongNumStart
- movs r0, #7
- bl sub_11B0
-_08045556:
- ldr r3, _080455C0 @ =0x020314E0
- ldr r1, [r3]
- add r1, sb
- ldr r2, [r1]
- movs r3, #0x10
- ldrsh r0, [r2, r3]
- lsls r0, r0, #1
- strh r0, [r2, #0x28]
- ldr r2, [r1]
- movs r3, #0x12
- ldrsh r0, [r2, r3]
- lsls r0, r0, #1
- strh r0, [r2, #0x2a]
- ldr r2, [r1]
- movs r3, #0x10
- ldrsh r0, [r2, r3]
- lsls r0, r0, #8
- str r0, [r2, #0x34]
- ldr r1, [r1]
-_0804557C:
- movs r2, #0x12
- ldrsh r0, [r1, r2]
- lsls r0, r0, #8
- str r0, [r1, #0x38]
-_08045584:
- ldr r3, _080455C0 @ =0x020314E0
- ldr r1, [r3]
- movs r0, #0xc3
- lsls r0, r0, #2
- adds r1, r1, r0
- ldrh r0, [r1]
- adds r0, #1
- strh r0, [r1]
-_08045594:
- ldr r2, _080455C0 @ =0x020314E0
- ldr r1, [r2]
- ldr r3, _080455CC @ =0x00000592
- adds r1, r1, r3
- ldrh r0, [r1]
- adds r0, #1
- strh r0, [r1]
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080455B0: .4byte 0x00000316
-_080455B4: .4byte 0x0000031A
-_080455B8: .4byte 0x0000132C
-_080455BC: .4byte 0x000005F7
-_080455C0: .4byte 0x020314E0
-_080455C4: .4byte 0x0000FFF6
-_080455C8: .4byte 0x000005FA
-_080455CC: .4byte 0x00000592
-
- thumb_func_start sub_455D0
-sub_455D0: @ 0x080455D0
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #8
- movs r2, #0
-_080455DE:
- ldr r3, _08045608 @ =0x020314E0
- ldr r0, [r3]
- lsls r2, r2, #0x10
- asrs r1, r2, #0x10
- ldr r4, _0804560C @ =0x00000536
- adds r0, r0, r4
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- mov r8, r3
- str r2, [sp]
- cmp r0, #5
- bls _080455FE
- bl _08045DE0
-_080455FE:
- lsls r0, r0, #2
- ldr r1, _08045610 @ =_08045614
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08045608: .4byte 0x020314E0
-_0804560C: .4byte 0x00000536
-_08045610: .4byte _08045614
-_08045614: @ jump table
- .4byte _0804562C @ case 0
- .4byte _08045642 @ case 1
- .4byte _080456E0 @ case 2
- .4byte _08045778 @ case 3
- .4byte _08045B00 @ case 4
- .4byte _08045C4C @ case 5
-_0804562C:
- mov r5, r8
- ldr r0, [r5]
- ldr r2, [sp]
- asrs r1, r2, #0x10
- movs r3, #0xa6
- lsls r3, r3, #3
- adds r0, r0, r3
- adds r0, r0, r1
- movs r1, #0
- strb r1, [r0]
- b _08045DE0
-_08045642:
- mov r4, r8
- ldr r1, [r4]
- ldr r5, [sp]
- asrs r6, r5, #0x10
- movs r2, #0xa6
- lsls r2, r2, #3
- adds r0, r1, r2
- adds r0, r0, r6
- movs r3, #0
- ldrsb r3, [r0, r3]
- movs r4, #0xe8
- lsls r4, r4, #2
- mov sl, r4
- add r1, sl
- adds r1, r1, r3
- movs r2, #0
- movs r0, #2
- strb r0, [r1]
- mov r5, r8
- ldr r1, [r5]
- lsls r7, r3, #1
- movs r0, #0xec
- lsls r0, r0, #2
- mov sb, r0
- adds r0, r1, r0
- adds r0, r0, r7
- movs r4, #0
- mov ip, r4
- strh r2, [r0]
- ldr r2, _080456D4 @ =0x000003A3
- adds r1, r1, r2
- adds r1, r1, r3
- movs r0, #7
- strb r0, [r1]
- ldr r5, [r5]
- lsls r1, r6, #1
- ldr r4, _080456D8 @ =0x0000053C
- adds r0, r5, r4
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, #0
- bne _08045698
- b _08045DE0
-_08045698:
- subs r0, #1
- strh r0, [r1]
- lsls r0, r0, #0x10
- lsrs r4, r0, #0x10
- cmp r4, #0
- beq _080456A6
- b _08045DE0
-_080456A6:
- ldr r1, _080456DC @ =0x00000536
- adds r0, r5, r1
- adds r0, r0, r6
- mov r5, ip
- strb r5, [r0]
- mov r1, r8
- ldr r0, [r1]
- add r0, sl
- adds r0, r0, r3
- movs r1, #1
- strb r1, [r0]
- mov r5, r8
- ldr r1, [r5]
- mov r5, sb
- adds r0, r1, r5
- adds r0, r0, r7
- strh r4, [r0]
- adds r1, r1, r2
- adds r1, r1, r3
- movs r0, #4
- strb r0, [r1]
- b _08045DE0
- .align 2, 0
-_080456D4: .4byte 0x000003A3
-_080456D8: .4byte 0x0000053C
-_080456DC: .4byte 0x00000536
-_080456E0:
- mov r0, r8
- ldr r1, [r0]
- ldr r2, [sp]
- asrs r6, r2, #0x10
- movs r3, #0xa6
- lsls r3, r3, #3
- adds r0, r1, r3
- adds r0, r0, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #0x10
- lsrs r5, r0, #0x10
- cmp r6, #2
- bne _0804571E
- movs r0, #1
- strb r0, [r1, #0x1f]
- mov r4, r8
- ldr r0, [r4]
- ldr r1, _08045768 @ =0x0000132C
- adds r0, r0, r1
- ldr r3, [r0]
- ldrh r2, [r3, #0x30]
- adds r2, #5
- lsls r1, r5, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r0, r0, #1
- subs r2, r2, r0
- strh r2, [r3, #0x30]
-_0804571E:
- mov r2, r8
- ldr r1, [r2]
- ldr r3, _0804576C @ =0x00000536
- adds r1, r1, r3
- adds r1, r1, r6
- movs r4, #0
- movs r0, #3
- strb r0, [r1]
- ldr r0, [r2]
- ldr r1, _08045770 @ =0x00000533
- adds r0, r0, r1
- adds r0, r0, r6
- strb r4, [r0]
- ldr r1, [r2]
- lsls r3, r5, #0x10
- asrs r3, r3, #0x10
- movs r2, #0xe8
- lsls r2, r2, #2
- adds r1, r1, r2
- adds r1, r1, r3
- movs r0, #2
- strb r0, [r1]
- mov r5, r8
- ldr r1, [r5]
- lsls r2, r3, #1
- movs r5, #0xec
- lsls r5, r5, #2
- adds r0, r1, r5
- adds r0, r0, r2
- strh r4, [r0]
- ldr r0, _08045774 @ =0x000003A3
- adds r1, r1, r0
- adds r1, r1, r3
- movs r0, #7
- strb r0, [r1]
- b _08045DE0
- .align 2, 0
-_08045768: .4byte 0x0000132C
-_0804576C: .4byte 0x00000536
-_08045770: .4byte 0x00000533
-_08045774: .4byte 0x000003A3
-_08045778:
- mov r1, r8
- ldr r2, [r1]
- ldr r4, [sp]
- asrs r3, r4, #0x10
- movs r5, #0xa6
- lsls r5, r5, #3
- adds r0, r2, r5
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #0x10
- lsrs r5, r0, #0x10
- cmp r3, #1
- ble _08045798
- b _0804599C
-_08045798:
- lsls r0, r5, #0x10
- asrs r4, r0, #0x10
- mov sb, r0
- cmp r4, #0
- bne _080457C8
- lsls r1, r3, #3
- movs r5, #0xb0
- lsls r5, r5, #3
- adds r0, r2, r5
- adds r0, r0, r1
- ldr r1, [r0]
- ldr r0, _080457C4 @ =0x000055FF
- cmp r1, r0
- ble _080457EA
- lsls r0, r3, #2
- adds r0, r2, r0
- movs r1, #0xaf
- lsls r1, r1, #3
- adds r0, r0, r1
- strh r4, [r0]
- b _080457EA
- .align 2, 0
-_080457C4: .4byte 0x000055FF
-_080457C8:
- lsls r1, r3, #3
- movs r4, #0xb0
- lsls r4, r4, #3
- adds r0, r2, r4
- adds r0, r0, r1
- ldr r1, [r0]
- movs r0, #0x9c
- lsls r0, r0, #8
- cmp r1, r0
- bgt _080457EA
- lsls r0, r3, #2
- adds r0, r2, r0
- movs r5, #0xaf
- lsls r5, r5, #3
- adds r0, r0, r5
- movs r1, #0
- strh r1, [r0]
-_080457EA:
- mov r0, r8
- ldr r2, [r0]
- ldr r1, [sp]
- asrs r5, r1, #0x10
- lsls r7, r5, #2
- adds r1, r2, r7
- ldr r3, _08045870 @ =0x0000057A
- mov sl, r3
- add r1, sl
- ldrh r0, [r1]
- adds r0, #0xc
- strh r0, [r1]
- mov r4, sb
- asrs r6, r4, #0x10
- movs r1, #0xa9
- lsls r1, r1, #3
- adds r0, r2, r1
- adds r0, r0, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _08045880
- lsls r1, r5, #3
- adds r3, #0xa
- adds r0, r2, r3
- adds r0, r0, r1
- ldr r1, [r0]
- ldr r0, _08045874 @ =0x000065FF
- cmp r1, r0
- bgt _0804582A
- b _08045DE0
-_0804582A:
- ldr r4, _08045878 @ =0x00000533
- adds r0, r2, r4
- adds r0, r0, r5
- movs r1, #0
- strb r1, [r0]
- mov r2, r8
- ldr r0, [r2]
- subs r3, #0x4e
- adds r0, r0, r3
- adds r0, r0, r5
- movs r1, #5
- strb r1, [r0]
- ldr r0, [r2]
- movs r4, #0xe8
- lsls r4, r4, #2
- adds r0, r0, r4
- adds r0, r0, r6
- movs r1, #3
- strb r1, [r0]
- ldr r0, [r2]
- ldr r5, _0804587C @ =0x000003A3
- adds r0, r0, r5
- adds r0, r0, r6
- movs r1, #0xf
- strb r1, [r0]
- ldr r0, [r2]
- lsls r1, r6, #1
- movs r2, #0xec
- lsls r2, r2, #2
- adds r0, r0, r2
- adds r0, r0, r1
- movs r3, #0
- strh r3, [r0]
- b _08045DE0
- .align 2, 0
-_08045870: .4byte 0x0000057A
-_08045874: .4byte 0x000065FF
-_08045878: .4byte 0x00000533
-_0804587C: .4byte 0x000003A3
-_08045880:
- lsls r3, r5, #3
- ldr r4, _08045904 @ =0x00000584
- mov sb, r4
- adds r0, r2, r4
- adds r0, r0, r3
- ldr r1, [r0]
- ldr r0, _08045908 @ =0x000065FF
- cmp r1, r0
- bgt _08045894
- b _08045DE0
-_08045894:
- subs r4, #0x51
- adds r1, r2, r4
- adds r1, r1, r5
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- ldr r0, _0804590C @ =0x02032F20
- ldr r1, _08045910 @ =0x086A2EE4
- str r3, [sp, #4]
- bl MPlayStart
- mov r0, r8
- ldr r2, [r0]
- adds r4, r2, r4
- adds r4, r4, r5
- movs r0, #0
- ldrsb r0, [r4, r0]
- ldr r3, [sp, #4]
- cmp r0, #2
- bgt _08045920
- mov r1, sb
- adds r0, r2, r1
- adds r0, r0, r3
- movs r1, #0xcc
- lsls r1, r1, #7
- str r1, [r0]
- adds r0, r2, r7
- add r0, sl
- ldr r1, _08045914 @ =0x0000FED4
- strh r1, [r0]
- ldr r3, _08045918 @ =0x00000553
- adds r0, r2, r3
- adds r0, r0, r5
- movs r1, #0xd
- strb r1, [r0]
- mov r4, r8
- ldr r0, [r4]
- movs r5, #0xe8
- lsls r5, r5, #2
- adds r0, r0, r5
- adds r0, r0, r6
- movs r1, #2
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _0804591C @ =0x000003A3
- adds r0, r0, r1
- adds r0, r0, r6
- movs r1, #8
- strb r1, [r0]
- ldr r1, [r4]
- lsls r0, r6, #1
- movs r2, #0xec
- lsls r2, r2, #2
- adds r1, r1, r2
- adds r1, r1, r0
- b _08045A5C
- .align 2, 0
-_08045904: .4byte 0x00000584
-_08045908: .4byte 0x000065FF
-_0804590C: .4byte 0x02032F20
-_08045910: .4byte 0x086A2EE4
-_08045914: .4byte 0x0000FED4
-_08045918: .4byte 0x00000553
-_0804591C: .4byte 0x000003A3
-_08045920:
- adds r2, r2, r7
- lsls r0, r6, #4
- subs r0, r0, r6
- lsls r0, r0, #2
- movs r1, #0x1e
- subs r1, r1, r0
- lsls r1, r1, #2
- movs r3, #0xaf
- lsls r3, r3, #3
- adds r0, r2, r3
- strh r1, [r0]
- add r2, sl
- ldr r0, _08045988 @ =0x0000FE70
- strh r0, [r2]
- movs r0, #0
- strb r0, [r4]
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _0804598C @ =0x00000536
- adds r0, r0, r2
- adds r0, r0, r5
- movs r1, #4
- strb r1, [r0]
- mov r3, r8
- ldr r0, [r3]
- movs r4, #0xe8
- lsls r4, r4, #2
- adds r0, r0, r4
- adds r0, r0, r6
- movs r1, #3
- strb r1, [r0]
- ldr r0, [r3]
- ldr r5, _08045990 @ =0x000003A3
- adds r0, r0, r5
- adds r0, r0, r6
- movs r1, #0xb
- strb r1, [r0]
- ldr r2, [r3]
- lsls r1, r6, #1
- movs r3, #0xec
- lsls r3, r3, #2
- adds r0, r2, r3
- adds r0, r0, r1
- movs r4, #0
- strh r4, [r0]
- ldr r5, _08045994 @ =0x00000542
- adds r1, r2, r5
- movs r0, #0x64
- strh r0, [r1]
- ldr r0, _08045998 @ =0x0000052C
- adds r2, r2, r0
- b _08045AE2
- .align 2, 0
-_08045988: .4byte 0x0000FE70
-_0804598C: .4byte 0x00000536
-_08045990: .4byte 0x000003A3
-_08045994: .4byte 0x00000542
-_08045998: .4byte 0x0000052C
-_0804599C:
- lsls r0, r5, #0x10
- asrs r3, r0, #0x10
- mov sb, r0
- cmp r3, #0
- bne _080459C0
- ldr r1, _080459B8 @ =0x0000132C
- adds r0, r2, r1
- ldr r2, [r0]
- ldr r1, [r2, #0x34]
- ldr r0, _080459BC @ =0x000055FF
- cmp r1, r0
- ble _080459D4
- strh r3, [r2, #0x30]
- b _080459D4
- .align 2, 0
-_080459B8: .4byte 0x0000132C
-_080459BC: .4byte 0x000055FF
-_080459C0:
- ldr r3, _08045A64 @ =0x0000132C
- adds r0, r2, r3
- ldr r2, [r0]
- ldr r1, [r2, #0x34]
- movs r0, #0x9c
- lsls r0, r0, #8
- cmp r1, r0
- bgt _080459D4
- movs r0, #0
- strh r0, [r2, #0x30]
-_080459D4:
- mov r4, r8
- ldr r3, [r4]
- ldr r7, _08045A64 @ =0x0000132C
- adds r2, r3, r7
- ldr r1, [r2]
- ldrh r0, [r1, #0x32]
- adds r0, #3
- movs r5, #0
- mov sl, r5
- strh r0, [r1, #0x32]
- ldr r0, [r2]
- ldr r1, [r0, #0x38]
- ldr r0, _08045A68 @ =0x000064FF
- cmp r1, r0
- bgt _080459F4
- b _08045DE0
-_080459F4:
- ldr r0, [sp]
- asrs r5, r0, #0x10
- ldr r4, _08045A6C @ =0x00000533
- adds r1, r3, r4
- adds r1, r1, r5
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- ldr r0, _08045A70 @ =0x02032F20
- ldr r1, _08045A74 @ =0x086A2EE4
- bl MPlayStart
- movs r0, #7
- bl sub_11B0
- mov r1, r8
- ldr r3, [r1]
- adds r4, r3, r4
- adds r6, r4, r5
- movs r0, #0
- ldrsb r0, [r6, r0]
- cmp r0, #2
- bgt _08045A80
- adds r2, r3, r7
- ldr r1, [r2]
- movs r0, #0xca
- lsls r0, r0, #7
- str r0, [r1, #0x38]
- ldr r1, [r2]
- ldr r0, _08045A78 @ =0x0000FFA6
- strh r0, [r1, #0x32]
- mov r4, sb
- asrs r2, r4, #0x10
- movs r5, #0xe8
- lsls r5, r5, #2
- adds r0, r3, r5
- adds r0, r0, r2
- movs r1, #2
- strb r1, [r0]
- mov r1, r8
- ldr r0, [r1]
- ldr r3, _08045A7C @ =0x000003A3
- adds r0, r0, r3
- adds r0, r0, r2
- movs r1, #8
- strb r1, [r0]
- mov r4, r8
- ldr r1, [r4]
- lsls r2, r2, #1
- adds r5, #0x10
- adds r1, r1, r5
- adds r1, r1, r2
-_08045A5C:
- movs r0, #0xc
- strh r0, [r1]
- b _08045DE0
- .align 2, 0
-_08045A64: .4byte 0x0000132C
-_08045A68: .4byte 0x000064FF
-_08045A6C: .4byte 0x00000533
-_08045A70: .4byte 0x02032F20
-_08045A74: .4byte 0x086A2EE4
-_08045A78: .4byte 0x0000FFA6
-_08045A7C: .4byte 0x000003A3
-_08045A80:
- adds r2, r3, r7
- ldr r4, [r2]
- mov r0, sb
- asrs r3, r0, #0x10
- lsls r1, r3, #3
- subs r1, r1, r3
- lsls r1, r1, #3
- movs r0, #0x1c
- subs r0, r0, r1
- strh r0, [r4, #0x30]
- ldr r1, [r2]
- ldr r0, _08045AEC @ =0x0000FF88
- strh r0, [r1, #0x32]
- mov r1, sl
- strb r1, [r6]
- mov r2, r8
- ldr r0, [r2]
- ldr r4, _08045AF0 @ =0x00000536
- adds r0, r0, r4
- adds r0, r0, r5
- movs r1, #4
- strb r1, [r0]
- ldr r0, [r2]
- movs r5, #0xe8
- lsls r5, r5, #2
- adds r0, r0, r5
- adds r0, r0, r3
- movs r1, #3
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _08045AF4 @ =0x000003A3
- adds r0, r0, r1
- adds r0, r0, r3
- movs r1, #0xb
- strb r1, [r0]
- ldr r2, [r2]
- lsls r3, r3, #1
- movs r4, #0xec
- lsls r4, r4, #2
- adds r0, r2, r4
- adds r0, r0, r3
- movs r5, #0
- strh r5, [r0]
- ldr r0, _08045AF8 @ =0x00000542
- adds r1, r2, r0
- movs r0, #0x6a
- strh r0, [r1]
- ldr r1, _08045AFC @ =0x0000052D
- adds r2, r2, r1
-_08045AE2:
- ldrb r0, [r2]
- adds r0, #1
- strb r0, [r2]
- b _08045DE0
- .align 2, 0
-_08045AEC: .4byte 0x0000FF88
-_08045AF0: .4byte 0x00000536
-_08045AF4: .4byte 0x000003A3
-_08045AF8: .4byte 0x00000542
-_08045AFC: .4byte 0x0000052D
-_08045B00:
- mov r2, r8
- ldr r3, [r2]
- ldr r4, [sp]
- asrs r2, r4, #0x10
- movs r5, #0xa6
- lsls r5, r5, #3
- adds r0, r3, r5
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #0x10
- lsrs r5, r0, #0x10
- cmp r2, #1
- bgt _08045B90
- lsls r0, r2, #2
- adds r4, r3, r0
- ldr r0, _08045B4C @ =0x0000057A
- adds r1, r4, r0
- ldrh r0, [r1]
- adds r0, #0xc
- movs r6, #0
- strh r0, [r1]
- cmp r5, #0
- bne _08045B54
- lsls r1, r2, #3
- movs r2, #0xb0
- lsls r2, r2, #3
- adds r0, r3, r2
- adds r0, r0, r1
- ldr r1, [r0]
- ldr r0, _08045B50 @ =0x000077FF
- cmp r1, r0
- ble _08045B70
- movs r3, #0xaf
- lsls r3, r3, #3
- adds r0, r4, r3
- b _08045B6E
- .align 2, 0
-_08045B4C: .4byte 0x0000057A
-_08045B50: .4byte 0x000077FF
-_08045B54:
- lsls r1, r2, #3
- movs r5, #0xb0
- lsls r5, r5, #3
- adds r0, r3, r5
- adds r0, r0, r1
- ldr r1, [r0]
- movs r0, #0xf0
- lsls r0, r0, #7
- cmp r1, r0
- bgt _08045B70
- movs r1, #0xaf
- lsls r1, r1, #3
- adds r0, r4, r1
-_08045B6E:
- strh r6, [r0]
-_08045B70:
- mov r3, r8
- ldr r2, [r3]
- ldr r5, [sp]
- asrs r4, r5, #0x10
- lsls r1, r4, #3
- ldr r3, _08045B88 @ =0x00000584
- adds r0, r2, r3
- adds r0, r0, r1
- ldr r1, [r0]
- ldr r0, _08045B8C @ =0x000083FF
- b _08045CD0
- .align 2, 0
-_08045B88: .4byte 0x00000584
-_08045B8C: .4byte 0x000083FF
-_08045B90:
- ldr r1, _08045BB4 @ =0x0000132C
- adds r2, r3, r1
- ldr r0, [r2]
- ldrh r1, [r0, #0x32]
- adds r1, #3
- movs r3, #0
- strh r1, [r0, #0x32]
- lsls r0, r5, #0x10
- mov sb, r0
- cmp r0, #0
- bne _08045BBC
- ldr r2, [r2]
- ldr r1, [r2, #0x34]
- ldr r0, _08045BB8 @ =0x000077FF
- cmp r1, r0
- ble _08045BCA
- b _08045BC8
- .align 2, 0
-_08045BB4: .4byte 0x0000132C
-_08045BB8: .4byte 0x000077FF
-_08045BBC:
- ldr r2, [r2]
- ldr r1, [r2, #0x34]
- movs r0, #0xf0
- lsls r0, r0, #7
- cmp r1, r0
- bgt _08045BCA
-_08045BC8:
- strh r3, [r2, #0x30]
-_08045BCA:
- mov r2, r8
- ldr r3, [r2]
- ldr r7, _08045C34 @ =0x0000132C
- adds r0, r3, r7
- ldr r0, [r0]
- ldr r1, [r0, #0x38]
- ldr r0, _08045C38 @ =0x000083FF
- cmp r1, r0
- bgt _08045BDE
- b _08045DE0
-_08045BDE:
- ldr r4, [sp]
- asrs r5, r4, #0x10
- ldr r2, _08045C3C @ =0x00000533
- adds r1, r3, r2
- adds r1, r1, r5
- ldrb r0, [r1]
- adds r0, #1
- movs r3, #0
- mov sl, r3
- strb r0, [r1]
- mov r0, r8
- ldr r4, [r0]
- adds r2, r4, r2
- adds r6, r2, r5
- movs r0, #0
- ldrsb r0, [r6, r0]
- cmp r0, #1
- bgt _08045C40
- adds r4, r4, r7
- ldr r1, [r4]
- movs r0, #0x84
- lsls r0, r0, #8
- str r0, [r1, #0x38]
- ldr r5, [r4]
- movs r1, #0x32
- ldrsh r0, [r5, r1]
- rsbs r0, r0, #0
- movs r1, #3
- bl __divsi3
- strh r0, [r5, #0x32]
- ldr r0, [r4]
- mov r2, sl
- strh r2, [r0, #0x30]
- movs r0, #0
- ldrsb r0, [r6, r0]
- cmp r0, #1
- beq _08045C2C
- b _08045DE0
-_08045C2C:
- movs r0, #7
- bl sub_11B0
- b _08045DE0
- .align 2, 0
-_08045C34: .4byte 0x0000132C
-_08045C38: .4byte 0x000083FF
-_08045C3C: .4byte 0x00000533
-_08045C40:
- adds r1, r4, r7
- ldr r0, [r1]
- movs r3, #0
- mov r2, sl
- strh r2, [r0, #0x32]
- b _08045DC0
-_08045C4C:
- mov r5, r8
- ldr r3, [r5]
- ldr r0, [sp]
- asrs r2, r0, #0x10
- movs r1, #0xa6
- lsls r1, r1, #3
- adds r0, r3, r1
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #0x10
- lsrs r5, r0, #0x10
- cmp r2, #1
- bgt _08045D20
- lsls r0, r2, #2
- adds r4, r3, r0
- ldr r0, _08045C98 @ =0x0000057A
- adds r1, r4, r0
- ldrh r0, [r1]
- adds r0, #0xc
- movs r6, #0
- strh r0, [r1]
- cmp r5, #0
- bne _08045CA0
- lsls r1, r2, #3
- movs r2, #0xb0
- lsls r2, r2, #3
- adds r0, r3, r2
- adds r0, r0, r1
- ldr r1, [r0]
- ldr r0, _08045C9C @ =0x000077FF
- cmp r1, r0
- ble _08045CBC
- movs r3, #0xaf
- lsls r3, r3, #3
- adds r0, r4, r3
- b _08045CBA
- .align 2, 0
-_08045C98: .4byte 0x0000057A
-_08045C9C: .4byte 0x000077FF
-_08045CA0:
- lsls r1, r2, #3
- movs r5, #0xb0
- lsls r5, r5, #3
- adds r0, r3, r5
- adds r0, r0, r1
- ldr r1, [r0]
- movs r0, #0xf0
- lsls r0, r0, #7
- cmp r1, r0
- bgt _08045CBC
- movs r1, #0xaf
- lsls r1, r1, #3
- adds r0, r4, r1
-_08045CBA:
- strh r6, [r0]
-_08045CBC:
- mov r3, r8
- ldr r2, [r3]
- ldr r5, [sp]
- asrs r4, r5, #0x10
- lsls r1, r4, #3
- ldr r3, _08045D08 @ =0x00000584
- adds r0, r2, r3
- adds r0, r0, r1
- ldr r1, [r0]
- ldr r0, _08045D0C @ =0x00008DFF
-_08045CD0:
- cmp r1, r0
- bgt _08045CD6
- b _08045DE0
-_08045CD6:
- ldr r5, _08045D10 @ =0x00000536
- adds r0, r2, r5
- adds r0, r0, r4
- movs r3, #0
- strb r3, [r0]
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _08045D14 @ =0x00000553
- adds r0, r0, r2
- adds r0, r0, r4
- movs r1, #0xe
- strb r1, [r0]
- mov r5, r8
- ldr r1, [r5]
- lsls r2, r4, #1
- ldr r5, _08045D18 @ =0x00000562
- adds r0, r1, r5
- adds r0, r0, r2
- movs r2, #0
- strh r3, [r0]
- ldr r0, _08045D1C @ =0x0000054B
- adds r1, r1, r0
- adds r1, r1, r4
- strb r2, [r1]
- b _08045DE0
- .align 2, 0
-_08045D08: .4byte 0x00000584
-_08045D0C: .4byte 0x00008DFF
-_08045D10: .4byte 0x00000536
-_08045D14: .4byte 0x00000553
-_08045D18: .4byte 0x00000562
-_08045D1C: .4byte 0x0000054B
-_08045D20:
- ldr r1, _08045D44 @ =0x0000132C
- adds r2, r3, r1
- ldr r0, [r2]
- ldrh r1, [r0, #0x32]
- adds r1, #3
- movs r3, #0
- strh r1, [r0, #0x32]
- lsls r0, r5, #0x10
- mov sb, r0
- cmp r0, #0
- bne _08045D4C
- ldr r2, [r2]
- ldr r1, [r2, #0x34]
- ldr r0, _08045D48 @ =0x000077FF
- cmp r1, r0
- ble _08045D5A
- b _08045D58
- .align 2, 0
-_08045D44: .4byte 0x0000132C
-_08045D48: .4byte 0x000077FF
-_08045D4C:
- ldr r2, [r2]
- ldr r1, [r2, #0x34]
- movs r0, #0xf0
- lsls r0, r0, #7
- cmp r1, r0
- bgt _08045D5A
-_08045D58:
- strh r3, [r2, #0x30]
-_08045D5A:
- mov r4, r8
- ldr r3, [r4]
- ldr r6, _08045DAC @ =0x0000132C
- adds r0, r3, r6
- ldr r0, [r0]
- ldr r1, [r0, #0x38]
- ldr r0, _08045DB0 @ =0x00008DFF
- cmp r1, r0
- ble _08045DE0
- ldr r2, [sp]
- asrs r5, r2, #0x10
- ldr r2, _08045DB4 @ =0x00000533
- adds r1, r3, r2
- adds r1, r1, r5
- ldrb r0, [r1]
- adds r0, #1
- movs r7, #0
- strb r0, [r1]
- ldr r4, [r4]
- adds r2, r4, r2
- adds r2, r2, r5
- movs r0, #0
- ldrsb r0, [r2, r0]
- cmp r0, #1
- bgt _08045DB8
- adds r4, r4, r6
- ldr r1, [r4]
- movs r0, #0x8e
- lsls r0, r0, #8
- str r0, [r1, #0x38]
- ldr r5, [r4]
- movs r3, #0x32
- ldrsh r0, [r5, r3]
- rsbs r0, r0, #0
- movs r1, #3
- bl __divsi3
- strh r0, [r5, #0x32]
- ldr r0, [r4]
- strh r7, [r0, #0x30]
- b _08045DE0
- .align 2, 0
-_08045DAC: .4byte 0x0000132C
-_08045DB0: .4byte 0x00008DFF
-_08045DB4: .4byte 0x00000533
-_08045DB8:
- adds r1, r4, r6
- ldr r0, [r1]
- movs r3, #0
- strh r7, [r0, #0x32]
-_08045DC0:
- ldr r2, [r1]
- mov r1, sb
- asrs r0, r1, #0x10
- lsls r1, r0, #2
- adds r1, r1, r0
- lsls r1, r1, #1
- movs r0, #5
- subs r0, r0, r1
- strh r0, [r2, #0x30]
- strb r3, [r4, #0x1f]
- mov r2, r8
- ldr r0, [r2]
- ldr r4, _08045E04 @ =0x00000536
- adds r0, r0, r4
- adds r0, r0, r5
- strb r3, [r0]
-_08045DE0:
- ldr r5, [sp]
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r5, r1
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #2
- bgt _08045DF4
- bl _080455DE
-_08045DF4:
- add sp, #8
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08045E04: .4byte 0x00000536
-
- thumb_func_start sub_45E08
-sub_45E08: @ 0x08045E08
- push {r4, r5, r6, r7, lr}
- ldr r4, _08045E70 @ =0x086AEED6
- ldr r0, _08045E74 @ =gMain
- ldr r0, [r0, #0x4c]
- movs r1, #0x60
- bl __umodsi3
- movs r1, #0x18
- bl __udivsi3
- lsls r0, r0, #1
- adds r0, r0, r4
- movs r2, #0x80
- lsls r2, r2, #0x11
- ldr r1, _08045E78 @ =0x03006C00
- mov ip, r1
- ldr r7, _08045E7C @ =0xFFFFF000
- add r7, ip
- ldr r6, _08045E80 @ =0x0837A4E8
- movs r1, #0
- ldrsh r0, [r0, r1]
- lsls r3, r0, #2
- ldr r5, _08045E84 @ =0x000003FF
- movs r4, #0x80
- lsls r4, r4, #4
-_08045E3A:
- asrs r2, r2, #0x10
- adds r1, r2, r4
- lsls r1, r1, #1
- adds r1, r1, r7
- lsls r0, r2, #1
- adds r0, r0, r6
- ldrh r0, [r0]
- adds r0, r0, r3
- strh r0, [r1]
- adds r2, #1
- lsls r2, r2, #0x10
- asrs r0, r2, #0x10
- cmp r0, r5
- ble _08045E3A
- ldr r1, _08045E88 @ =0x040000D4
- mov r0, ip
- str r0, [r1]
- movs r0, #0xc0
- lsls r0, r0, #0x13
- str r0, [r1, #4]
- ldr r0, _08045E8C @ =0x80000400
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08045E70: .4byte 0x086AEED6
-_08045E74: .4byte gMain
-_08045E78: .4byte 0x03006C00
-_08045E7C: .4byte 0xFFFFF000
-_08045E80: .4byte 0x0837A4E8
-_08045E84: .4byte 0x000003FF
-_08045E88: .4byte 0x040000D4
-_08045E8C: .4byte 0x80000400
-
- thumb_func_start sub_45E90
-sub_45E90: @ 0x08045E90
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #0x30
- ldr r0, _08045ED0 @ =0x020314E0
- ldr r4, [r0]
- movs r1, #0x13
- ldrsb r1, [r4, r1]
- cmp r1, #3
- ble _08045EDC
- movs r0, #0xe5
- lsls r0, r0, #2
- adds r2, r4, r0
- ldrh r3, [r2]
- movs r0, #0
- ldrsh r1, [r2, r0]
- movs r0, #0x7e
- rsbs r0, r0, #0
- cmp r1, r0
- ble _08045F12
- subs r0, r3, #6
- strh r0, [r2]
- ldr r1, _08045ED4 @ =gMain
- rsbs r0, r0, #0
- adds r0, #4
- ldr r2, _08045ED8 @ =0x000002EE
- adds r1, r1, r2
- strh r0, [r1]
- b _08045F12
- .align 2, 0
-_08045ED0: .4byte 0x020314E0
-_08045ED4: .4byte gMain
-_08045ED8: .4byte 0x000002EE
-_08045EDC:
- movs r3, #0xe5
- lsls r3, r3, #2
- adds r1, r4, r3
- ldrh r2, [r1]
- movs r3, #0
- ldrsh r0, [r1, r3]
- cmp r0, #0
- bge _08045EFA
- adds r0, r2, #6
- strh r0, [r1]
- lsls r0, r0, #0x10
- cmp r0, #0
- ble _08045EFA
- movs r0, #0
- strh r0, [r1]
-_08045EFA:
- ldr r0, _08045F84 @ =gMain
- ldr r2, _08045F88 @ =0x020314E0
- ldr r1, [r2]
- movs r3, #0xe5
- lsls r3, r3, #2
- adds r1, r1, r3
- ldrh r1, [r1]
- rsbs r1, r1, #0
- adds r1, #4
- ldr r2, _08045F8C @ =0x000002EE
- adds r0, r0, r2
- strh r1, [r0]
-_08045F12:
- ldr r3, _08045F88 @ =0x020314E0
- ldr r0, [r3]
- ldrb r0, [r0, #0x13]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #4
- bgt _08045F2E
- ldr r1, _08045F84 @ =gMain
- ldrh r0, [r1, #0x38]
- ldr r0, _08045F90 @ =0x00001C42
- strh r0, [r1, #0x38]
- ldrh r0, [r1, #0x3a]
- ldr r0, _08045F94 @ =0x00000C04
- strh r0, [r1, #0x3a]
-_08045F2E:
- ldr r0, _08045F88 @ =0x020314E0
- ldr r1, [r0]
- movs r0, #0x13
- ldrsb r0, [r1, r0]
- cmp r0, #3
- bne _08045F3C
- ldrh r0, [r1, #0x18]
-_08045F3C:
- ldr r0, _08045F88 @ =0x020314E0
- ldr r2, [r0]
- ldr r1, _08045F98 @ =0x0000053A
- adds r3, r2, r1
- ldrh r0, [r3]
- subs r0, #0x65
- lsls r0, r0, #0x10
- movs r1, #0xae
- lsls r1, r1, #0x11
- cmp r0, r1
- bhi _08045FAA
- ldr r0, _08045F9C @ =0x0000052E
- adds r4, r2, r0
- ldr r1, _08045FA0 @ =0x0000052C
- adds r0, r2, r1
- ldrb r5, [r4]
- movs r1, #0
- ldrsb r1, [r4, r1]
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r1, r0
- beq _08045FA4
- ldrh r0, [r3]
- movs r1, #3
- bl __umodsi3
- lsls r0, r0, #0x10
- cmp r0, #0
- bne _08045FAA
- adds r0, r5, #1
- strb r0, [r4]
- movs r0, #0x91
- bl m4aSongNumStart
- b _08045FAA
- .align 2, 0
-_08045F84: .4byte gMain
-_08045F88: .4byte 0x020314E0
-_08045F8C: .4byte 0x000002EE
-_08045F90: .4byte 0x00001C42
-_08045F94: .4byte 0x00000C04
-_08045F98: .4byte 0x0000053A
-_08045F9C: .4byte 0x0000052E
-_08045FA0: .4byte 0x0000052C
-_08045FA4:
- movs r0, #0xf5
- lsls r0, r0, #1
- strh r0, [r3]
-_08045FAA:
- ldr r0, _08045FF8 @ =0x020314E0
- ldr r2, [r0]
- ldr r0, _08045FFC @ =0x0000053A
- adds r3, r2, r0
- ldr r1, _08046000 @ =0xFFFFFE0B
- adds r0, r1, #0
- ldrh r1, [r3]
- adds r0, r0, r1
- lsls r0, r0, #0x10
- movs r1, #0x95
- lsls r1, r1, #0x11
- cmp r0, r1
- bhi _08046012
- ldr r0, _08046004 @ =0x0000052F
- adds r4, r2, r0
- ldr r1, _08046008 @ =0x0000052D
- adds r0, r2, r1
- ldrb r5, [r4]
- movs r1, #0
- ldrsb r1, [r4, r1]
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r1, r0
- beq _0804600C
- ldrh r0, [r3]
- movs r1, #3
- bl __umodsi3
- lsls r0, r0, #0x10
- cmp r0, #0
- bne _08046012
- adds r0, r5, #1
- strb r0, [r4]
- movs r0, #0x91
- bl m4aSongNumStart
- b _08046012
- .align 2, 0
-_08045FF8: .4byte 0x020314E0
-_08045FFC: .4byte 0x0000053A
-_08046000: .4byte 0xFFFFFE0B
-_08046004: .4byte 0x0000052F
-_08046008: .4byte 0x0000052D
-_0804600C:
- movs r0, #0xc8
- lsls r0, r0, #2
- strh r0, [r3]
-_08046012:
- ldr r2, _080463D0 @ =0x020314E0
- ldr r4, [r2]
- ldr r3, _080463D4 @ =0x0000053A
- adds r0, r4, r3
- ldrh r1, [r0]
- ldr r0, _080463D8 @ =0x0000031F
- cmp r1, r0
- bhi _0804602C
- ldrh r0, [r4, #0x18]
- cmp r0, #0xa0
- bls _0804602C
- movs r0, #0xa0
- strh r0, [r4, #0x18]
-_0804602C:
- ldr r1, _080463D0 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _080463D4 @ =0x0000053A
- adds r0, r0, r2
- ldrh r1, [r0]
- adds r1, #1
- strh r1, [r0]
- ldr r6, _080463DC @ =0x0200B8C0
- ldrh r0, [r6]
- cmp r0, #0
- bne _08046044
- b _0804679A
-_08046044:
- movs r0, #0x78
- strh r0, [r6, #2]
- ldr r3, _080463D0 @ =0x020314E0
- ldr r0, [r3]
- movs r1, #0xe5
- lsls r1, r1, #2
- adds r0, r0, r1
- ldrh r0, [r0]
- adds r0, #0x3c
- strh r0, [r6, #4]
- movs r1, #0
- add r2, sp, #0x18
- mov r8, r2
- movs r3, #0xb8
- adds r3, r3, r6
- mov sb, r3
- ldr r7, _080463E0 @ =gOamBuffer
- ldr r0, _080463E4 @ =0xFFFFFE00
- mov ip, r0
-_0804606A:
- lsls r4, r1, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r2, #2
- ldrsh r1, [r5, r2]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _080463E8 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r1, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0x15
- ble _0804606A
- ldr r3, _080463D0 @ =0x020314E0
- ldr r0, [r3]
- ldr r1, _080463EC @ =0x0000052E
- adds r0, r0, r1
- movs r1, #0
- ldrsb r1, [r0, r1]
- ldr r0, _080463F0 @ =0x004C4B40
- adds r7, r1, #0
- muls r7, r0, r7
- mov r5, sp
- ldr r4, _080463F4 @ =0x00989680
- adds r0, r7, #0
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _080463F8 @ =0x000F4240
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #2]
- mov r0, sp
- movs r6, #0xa
- strh r6, [r0, #4]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _080463FC @ =0x000186A0
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #6]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08046400 @ =0x00002710
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #8]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r4, #0xfa
- lsls r4, r4, #2
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #0xa]
- mov r0, sp
- strh r6, [r0, #0xc]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r1, #0x64
- bl __divsi3
- strh r0, [r5, #0xe]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0x64
- bl __modsi3
- movs r1, #0xa
- bl __divsi3
- strh r0, [r4, #0x10]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __modsi3
- strh r0, [r4, #0x12]
- movs r1, #0
-_0804615C:
- lsls r0, r1, #0x10
- asrs r4, r0, #0x10
- lsls r0, r4, #1
- mov r2, sp
- adds r5, r2, r0
- movs r3, #0
- ldrsh r0, [r5, r3]
- movs r1, #0xa
- bl __modsi3
- lsls r0, r0, #0x10
- cmp r0, #0
- bne _08046186
- movs r0, #0x14
- strh r0, [r5]
- adds r0, r4, #1
- lsls r0, r0, #0x10
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #8
- ble _0804615C
-_08046186:
- mov r0, sp
- movs r1, #0
- ldrsh r0, [r0, r1]
- lsls r0, r0, #1
- movs r2, #0xb4
- lsls r2, r2, #2
- adds r5, r2, #0
- adds r0, r0, r5
- mov r3, r8
- strh r0, [r3]
- mov r0, sp
- movs r1, #2
- ldrsh r0, [r0, r1]
- lsls r0, r0, #1
- adds r0, r0, r5
- strh r0, [r3, #2]
- mov r0, sp
- movs r2, #4
- ldrsh r0, [r0, r2]
- lsls r0, r0, #1
- adds r0, r0, r5
- strh r0, [r3, #4]
- mov r0, sp
- movs r3, #6
- ldrsh r0, [r0, r3]
- lsls r0, r0, #1
- adds r0, r0, r5
- mov r1, r8
- strh r0, [r1, #6]
- mov r0, sp
- movs r2, #8
- ldrsh r0, [r0, r2]
- lsls r0, r0, #1
- adds r0, r0, r5
- strh r0, [r1, #8]
- mov r0, sp
- movs r3, #0xa
- ldrsh r0, [r0, r3]
- lsls r0, r0, #1
- adds r0, r0, r5
- strh r0, [r1, #0xa]
- mov r0, sp
- movs r1, #0xc
- ldrsh r0, [r0, r1]
- lsls r0, r0, #1
- adds r0, r0, r5
- mov r2, r8
- strh r0, [r2, #0xc]
- mov r0, sp
- movs r3, #0xe
- ldrsh r0, [r0, r3]
- lsls r0, r0, #1
- adds r0, r0, r5
- strh r0, [r2, #0xe]
- mov r0, sp
- movs r1, #0x10
- ldrsh r0, [r0, r1]
- lsls r0, r0, #1
- adds r0, r0, r5
- strh r0, [r2, #0x10]
- mov r0, sp
- movs r2, #0x12
- ldrsh r0, [r0, r2]
- lsls r0, r0, #1
- adds r0, r0, r5
- mov r3, r8
- strh r0, [r3, #0x12]
- ldr r1, _080463D0 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _080463EC @ =0x0000052E
- adds r0, r0, r2
- movs r7, #0
- ldrsb r7, [r0, r7]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __divsi3
- strh r0, [r4]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __modsi3
- strh r0, [r4, #2]
- mov r0, sp
- movs r3, #0
- ldrsh r0, [r0, r3]
- cmp r0, #0
- bne _08046240
- mov r1, sp
- movs r0, #0x14
- strh r0, [r1]
-_08046240:
- mov r0, sp
- movs r1, #0
- ldrsh r0, [r0, r1]
- lsls r0, r0, #1
- adds r0, r0, r5
- mov r2, r8
- strh r0, [r2, #0x14]
- mov r0, sp
- movs r3, #2
- ldrsh r0, [r0, r3]
- lsls r0, r0, #1
- adds r0, r0, r5
- strh r0, [r2, #0x16]
- mov r6, sb
- movs r0, #0x78
- strh r0, [r6, #2]
- ldr r1, _080463D0 @ =0x020314E0
- ldr r0, [r1]
- movs r2, #0xe5
- lsls r2, r2, #2
- adds r0, r0, r2
- ldrh r0, [r0]
- adds r0, #0x3c
- strh r0, [r6, #4]
- movs r1, #0
- ldr r7, _080463E0 @ =gOamBuffer
- ldr r3, _08046404 @ =0x000003FF
- mov sl, r3
- mov ip, r8
- ldr r0, _08046408 @ =0xFFFFFC00
- mov sb, r0
-_0804627E:
- lsls r4, r1, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r2, #2
- ldrsh r1, [r5, r2]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _080463E8 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- ldr r0, _080463E4 @ =0xFFFFFE00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r3, [r5, #4]
- adds r0, r0, r3
- strb r0, [r1]
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- lsls r0, r4, #1
- add r0, ip
- ldrh r0, [r0]
- mov r1, sl
- ands r1, r0
- ldrh r2, [r3, #4]
- mov r0, sb
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #4]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r1, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0xb
- ble _0804627E
- ldr r1, _080463D0 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _0804640C @ =0x0000052F
- adds r0, r0, r2
- movs r2, #0
- ldrsb r2, [r0, r2]
- lsls r1, r2, #5
- subs r1, r1, r2
- lsls r0, r1, #6
- subs r0, r0, r1
- lsls r0, r0, #3
- adds r0, r0, r2
- lsls r7, r0, #6
- mov r5, sp
- ldr r4, _080463F4 @ =0x00989680
- adds r0, r7, #0
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _080463F8 @ =0x000F4240
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #2]
- mov r0, sp
- movs r6, #0xa
- strh r6, [r0, #4]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _080463FC @ =0x000186A0
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #6]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08046400 @ =0x00002710
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #8]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r4, #0xfa
- lsls r4, r4, #2
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #0xa]
- mov r0, sp
- strh r6, [r0, #0xc]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r1, #0x64
- bl __divsi3
- strh r0, [r5, #0xe]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0x64
- bl __modsi3
- movs r1, #0xa
- bl __divsi3
- strh r0, [r4, #0x10]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __modsi3
- strh r0, [r4, #0x12]
- movs r1, #0
-_08046392:
- lsls r0, r1, #0x10
- asrs r4, r0, #0x10
- lsls r0, r4, #1
- mov r3, sp
- adds r5, r3, r0
- movs r1, #0
- ldrsh r0, [r5, r1]
- movs r1, #0xa
- bl __modsi3
- lsls r0, r0, #0x10
- cmp r0, #0
- bne _080463BC
- movs r0, #0x14
- strh r0, [r5]
- adds r0, r4, #1
- lsls r0, r0, #0x10
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #8
- ble _08046392
-_080463BC:
- mov r0, sp
- movs r2, #0
- ldrsh r0, [r0, r2]
- lsls r0, r0, #1
- movs r3, #0xb4
- lsls r3, r3, #2
- adds r5, r3, #0
- adds r0, r0, r5
- b _08046410
- .align 2, 0
-_080463D0: .4byte 0x020314E0
-_080463D4: .4byte 0x0000053A
-_080463D8: .4byte 0x0000031F
-_080463DC: .4byte 0x0200B8C0
-_080463E0: .4byte gOamBuffer
-_080463E4: .4byte 0xFFFFFE00
-_080463E8: .4byte 0x000001FF
-_080463EC: .4byte 0x0000052E
-_080463F0: .4byte 0x004C4B40
-_080463F4: .4byte 0x00989680
-_080463F8: .4byte 0x000F4240
-_080463FC: .4byte 0x000186A0
-_08046400: .4byte 0x00002710
-_08046404: .4byte 0x000003FF
-_08046408: .4byte 0xFFFFFC00
-_0804640C: .4byte 0x0000052F
-_08046410:
- mov r1, r8
- strh r0, [r1]
- mov r0, sp
- movs r2, #2
- ldrsh r0, [r0, r2]
- lsls r0, r0, #1
- adds r0, r0, r5
- strh r0, [r1, #2]
- mov r0, sp
- movs r3, #4
- ldrsh r0, [r0, r3]
- lsls r0, r0, #1
- adds r0, r0, r5
- strh r0, [r1, #4]
- mov r0, sp
- movs r1, #6
- ldrsh r0, [r0, r1]
- lsls r0, r0, #1
- adds r0, r0, r5
- mov r2, r8
- strh r0, [r2, #6]
- mov r0, sp
- movs r3, #8
- ldrsh r0, [r0, r3]
- lsls r0, r0, #1
- adds r0, r0, r5
- strh r0, [r2, #8]
- mov r0, sp
- movs r1, #0xa
- ldrsh r0, [r0, r1]
- lsls r0, r0, #1
- adds r0, r0, r5
- strh r0, [r2, #0xa]
- mov r0, sp
- movs r2, #0xc
- ldrsh r0, [r0, r2]
- lsls r0, r0, #1
- adds r0, r0, r5
- mov r3, r8
- strh r0, [r3, #0xc]
- mov r0, sp
- movs r1, #0xe
- ldrsh r0, [r0, r1]
- lsls r0, r0, #1
- adds r0, r0, r5
- strh r0, [r3, #0xe]
- mov r0, sp
- movs r2, #0x10
- ldrsh r0, [r0, r2]
- lsls r0, r0, #1
- adds r0, r0, r5
- strh r0, [r3, #0x10]
- mov r0, sp
- movs r3, #0x12
- ldrsh r0, [r0, r3]
- lsls r0, r0, #1
- adds r0, r0, r5
- mov r1, r8
- strh r0, [r1, #0x12]
- ldr r2, _080467AC @ =0x020314E0
- ldr r0, [r2]
- ldr r3, _080467B0 @ =0x0000052F
- adds r0, r0, r3
- movs r7, #0
- ldrsb r7, [r0, r7]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __divsi3
- strh r0, [r4]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __modsi3
- strh r0, [r4, #2]
- mov r0, sp
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0
- bne _080464BA
- mov r1, sp
- movs r0, #0x14
- strh r0, [r1]
-_080464BA:
- mov r0, sp
- movs r2, #0
- ldrsh r0, [r0, r2]
- lsls r0, r0, #1
- adds r0, r0, r5
- mov r3, r8
- strh r0, [r3, #0x14]
- mov r0, sp
- movs r1, #2
- ldrsh r0, [r0, r1]
- lsls r0, r0, #1
- adds r0, r0, r5
- strh r0, [r3, #0x16]
- ldr r6, _080467B4 @ =0x0200BA30
- movs r0, #0x78
- strh r0, [r6, #2]
- ldr r2, _080467AC @ =0x020314E0
- ldr r0, [r2]
- movs r3, #0xe5
- lsls r3, r3, #2
- adds r0, r0, r3
- ldrh r0, [r0]
- adds r0, #0x3c
- strh r0, [r6, #4]
- movs r1, #0
- ldr r7, _080467B8 @ =gOamBuffer
- ldr r0, _080467BC @ =0x000003FF
- mov sl, r0
- mov ip, r8
- ldr r2, _080467C0 @ =0xFFFFFC00
- mov sb, r2
-_080464F8:
- lsls r4, r1, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _080467C4 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- ldr r0, _080467C8 @ =0xFFFFFE00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r3, [r5, #4]
- adds r0, r0, r3
- strb r0, [r1]
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- lsls r0, r4, #1
- add r0, ip
- ldrh r0, [r0]
- mov r1, sl
- ands r1, r0
- ldrh r2, [r3, #4]
- mov r0, sb
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #4]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r1, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0xb
- ble _080464F8
- ldr r0, _080467AC @ =0x020314E0
- ldr r3, [r0]
- ldr r1, _080467CC @ =0x0000052E
- adds r0, r3, r1
- movs r1, #0
- ldrsb r1, [r0, r1]
- ldr r0, _080467D0 @ =0x004C4B40
- adds r4, r1, #0
- muls r4, r0, r4
- ldr r2, _080467B0 @ =0x0000052F
- adds r0, r3, r2
- movs r2, #0
- ldrsb r2, [r0, r2]
- lsls r1, r2, #5
- subs r1, r1, r2
- lsls r0, r1, #6
- subs r0, r0, r1
- lsls r0, r0, #3
- adds r0, r0, r2
- lsls r0, r0, #6
- adds r7, r4, r0
- ldr r0, _080467D4 @ =0x00000544
- adds r3, r3, r0
- str r7, [r3]
- mov r5, sp
- ldr r4, _080467D8 @ =0x05F5E100
- adds r0, r7, #0
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _080467DC @ =0x00989680
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #2]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _080467E0 @ =0x000F4240
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #4]
- mov r0, sp
- movs r6, #0xa
- strh r6, [r0, #6]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _080467E4 @ =0x000186A0
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #8]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _080467E8 @ =0x00002710
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #0xa]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r4, #0xfa
- lsls r4, r4, #2
- adds r1, r4, #0
- bl __divsi3
- strh r0, [r5, #0xc]
- mov r0, sp
- strh r6, [r0, #0xe]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r1, #0x64
- bl __divsi3
- strh r0, [r5, #0x10]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0x64
- bl __modsi3
- movs r1, #0xa
- bl __divsi3
- strh r0, [r4, #0x12]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __modsi3
- strh r0, [r4, #0x14]
- movs r1, #0
-_08046636:
- lsls r0, r1, #0x10
- asrs r4, r0, #0x10
- lsls r0, r4, #1
- mov r1, sp
- adds r5, r1, r0
- movs r2, #0
- ldrsh r0, [r5, r2]
- movs r1, #0xa
- bl __modsi3
- lsls r0, r0, #0x10
- cmp r0, #0
- bne _08046660
- movs r0, #0x14
- strh r0, [r5]
- adds r0, r4, #1
- lsls r0, r0, #0x10
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #9
- ble _08046636
-_08046660:
- mov r0, sp
- movs r3, #0
- ldrsh r0, [r0, r3]
- lsls r0, r0, #1
- movs r2, #0xb4
- lsls r2, r2, #2
- adds r1, r2, #0
- adds r0, r0, r1
- mov r3, r8
- strh r0, [r3]
- mov r0, sp
- movs r2, #2
- ldrsh r0, [r0, r2]
- lsls r0, r0, #1
- adds r0, r0, r1
- strh r0, [r3, #2]
- mov r0, sp
- movs r3, #4
- ldrsh r0, [r0, r3]
- lsls r0, r0, #1
- adds r0, r0, r1
- mov r2, r8
- strh r0, [r2, #4]
- mov r0, sp
- movs r3, #6
- ldrsh r0, [r0, r3]
- lsls r0, r0, #1
- adds r0, r0, r1
- strh r0, [r2, #6]
- mov r0, sp
- movs r2, #8
- ldrsh r0, [r0, r2]
- lsls r0, r0, #1
- adds r0, r0, r1
- mov r3, r8
- strh r0, [r3, #8]
- mov r0, sp
- movs r2, #0xa
- ldrsh r0, [r0, r2]
- lsls r0, r0, #1
- adds r0, r0, r1
- strh r0, [r3, #0xa]
- mov r0, sp
- movs r3, #0xc
- ldrsh r0, [r0, r3]
- lsls r0, r0, #1
- adds r0, r0, r1
- mov r2, r8
- strh r0, [r2, #0xc]
- mov r0, sp
- movs r3, #0xe
- ldrsh r0, [r0, r3]
- lsls r0, r0, #1
- adds r0, r0, r1
- strh r0, [r2, #0xe]
- mov r0, sp
- movs r2, #0x10
- ldrsh r0, [r0, r2]
- lsls r0, r0, #1
- adds r0, r0, r1
- mov r3, r8
- strh r0, [r3, #0x10]
- mov r0, sp
- movs r2, #0x12
- ldrsh r0, [r0, r2]
- lsls r0, r0, #1
- adds r0, r0, r1
- strh r0, [r3, #0x12]
- mov r0, sp
- movs r3, #0x14
- ldrsh r0, [r0, r3]
- lsls r0, r0, #1
- adds r0, r0, r1
- mov r2, r8
- strh r0, [r2, #0x14]
- ldr r3, _080467AC @ =0x020314E0
- ldr r0, [r3]
- ldr r2, _080467EC @ =0x000005F6
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r7, r0, #1
- mov r0, sp
- strh r7, [r0]
- movs r3, #0
- ldrsh r0, [r0, r3]
- lsls r0, r0, #1
- adds r0, r0, r1
- mov r1, r8
- strh r0, [r1, #0x16]
- ldr r6, _080467F0 @ =0x0200BAE8
- movs r0, #0x78
- strh r0, [r6, #2]
- ldr r2, _080467AC @ =0x020314E0
- ldr r0, [r2]
- movs r3, #0xe5
- lsls r3, r3, #2
- adds r0, r0, r3
- ldrh r0, [r0]
- adds r0, #0x3c
- strh r0, [r6, #4]
- movs r1, #0
- ldr r7, _080467B8 @ =gOamBuffer
- ldr r0, _080467C8 @ =0xFFFFFE00
- mov ip, r0
- ldr r2, _080467BC @ =0x000003FF
- mov sl, r2
- ldr r3, _080467C0 @ =0xFFFFFC00
- mov sb, r3
-_0804673C:
- lsls r4, r1, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _080467C4 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r3, [r5, #4]
- adds r0, r0, r3
- strb r0, [r1]
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- lsls r0, r4, #1
- add r0, r8
- ldrh r0, [r0]
- mov r1, sl
- ands r1, r0
- ldrh r2, [r3, #4]
- mov r0, sb
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #4]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r1, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0xb
- ble _0804673C
-_0804679A:
- add sp, #0x30
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080467AC: .4byte 0x020314E0
-_080467B0: .4byte 0x0000052F
-_080467B4: .4byte 0x0200BA30
-_080467B8: .4byte gOamBuffer
-_080467BC: .4byte 0x000003FF
-_080467C0: .4byte 0xFFFFFC00
-_080467C4: .4byte 0x000001FF
-_080467C8: .4byte 0xFFFFFE00
-_080467CC: .4byte 0x0000052E
-_080467D0: .4byte 0x004C4B40
-_080467D4: .4byte 0x00000544
-_080467D8: .4byte 0x05F5E100
-_080467DC: .4byte 0x00989680
-_080467E0: .4byte 0x000F4240
-_080467E4: .4byte 0x000186A0
-_080467E8: .4byte 0x00002710
-_080467EC: .4byte 0x000005F6
-_080467F0: .4byte 0x0200BAE8
-
- thumb_func_start sub_467F4
-sub_467F4: @ 0x080467F4
- push {r4, r5, r6, lr}
- mov r6, sb
- mov r5, r8
- push {r5, r6}
- ldr r0, _08046824 @ =0x02031520
- ldr r3, _08046828 @ =0x086AFD70
- ldr r4, _0804682C @ =gMain
- ldrb r2, [r4, #4]
- movs r1, #0x54
- muls r1, r2, r1
- adds r1, r1, r3
- adds r0, #0x14
- movs r2, #0x54
- bl memcpy
- ldrb r0, [r4, #4]
- cmp r0, #7
- bls _0804681A
- b _08046F66
-_0804681A:
- lsls r0, r0, #2
- ldr r1, _08046830 @ =_08046834
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08046824: .4byte 0x02031520
-_08046828: .4byte 0x086AFD70
-_0804682C: .4byte gMain
-_08046830: .4byte _08046834
-_08046834: @ jump table
- .4byte _08046854 @ case 0
- .4byte _0804698C @ case 1
- .4byte _08046AC0 @ case 2
- .4byte _08046B9C @ case 3
- .4byte _08046C78 @ case 4
- .4byte _08046D40 @ case 5
- .4byte _08046E08 @ case 6
- .4byte _08046EE8 @ case 7
-_08046854:
- ldr r4, _08046914 @ =0x040000D4
- ldr r0, _08046918 @ =0x081BFEE4
- str r0, [r4]
- movs r0, #0xa0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- ldr r0, _0804691C @ =0x80000100
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046920 @ =0x08265C10
- str r0, [r4]
- ldr r0, _08046924 @ =0x06008000
- mov r8, r0
- str r0, [r4, #4]
- ldr r1, _08046928 @ =0x80004000
- mov sb, r1
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _0804692C @ =0x0826DC10
- str r0, [r4]
- ldr r0, _08046930 @ =0x06003000
- str r0, [r4, #4]
- ldr r6, _08046934 @ =0x80000800
- str r6, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046938 @ =0x0824C1E4
- ldr r5, _0804693C @ =0x0200FBB0
- adds r1, r5, #0
- bl LZ77UnCompWram
- str r5, [r4]
- ldr r0, _08046940 @ =0x06004000
- str r0, [r4, #4]
- ldr r0, _08046944 @ =0x80002000
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046948 @ =0x0824DD60
- adds r1, r5, #0
- bl LZ77UnCompWram
- ldr r0, _0804694C @ =0x08250934
- ldr r1, _08046950 @ =0x020030A0
- bl LZ77UnCompWram
- movs r1, #0xc0
- lsls r1, r1, #4
- adds r0, r5, r1
- str r0, [r4]
- ldr r0, _08046954 @ =0x0600B400
- str r0, [r4, #4]
- ldr r0, _08046958 @ =0x80001200
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- movs r0, #0xc0
- lsls r0, r0, #6
- adds r5, r5, r0
- str r5, [r4]
- mov r1, r8
- str r1, [r4, #4]
- ldr r0, _0804695C @ =0x80001A00
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046960 @ =0x081C08E4
- str r0, [r4]
- movs r0, #0xc0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- str r6, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046964 @ =0x0822E424
- str r0, [r4]
- ldr r0, _08046968 @ =0x06001000
- str r0, [r4, #4]
- str r6, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _0804696C @ =0x083A8ACC
- str r0, [r4]
- ldr r0, _08046970 @ =0x06006800
- str r0, [r4, #4]
- ldr r0, _08046974 @ =0x80000200
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046978 @ =0x083A826C
- str r0, [r4]
- ldr r0, _0804697C @ =0x06006C00
- str r0, [r4, #4]
- ldr r0, _08046980 @ =0x80000400
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046984 @ =0x0845A48C
- str r0, [r4]
- ldr r0, _08046988 @ =0x06010000
- str r0, [r4, #4]
- mov r0, sb
- str r0, [r4, #8]
- b _08046F64
- .align 2, 0
-_08046914: .4byte 0x040000D4
-_08046918: .4byte 0x081BFEE4
-_0804691C: .4byte 0x80000100
-_08046920: .4byte 0x08265C10
-_08046924: .4byte 0x06008000
-_08046928: .4byte 0x80004000
-_0804692C: .4byte 0x0826DC10
-_08046930: .4byte 0x06003000
-_08046934: .4byte 0x80000800
-_08046938: .4byte 0x0824C1E4
-_0804693C: .4byte 0x0200FBB0
-_08046940: .4byte 0x06004000
-_08046944: .4byte 0x80002000
-_08046948: .4byte 0x0824DD60
-_0804694C: .4byte 0x08250934
-_08046950: .4byte 0x020030A0
-_08046954: .4byte 0x0600B400
-_08046958: .4byte 0x80001200
-_0804695C: .4byte 0x80001A00
-_08046960: .4byte 0x081C08E4
-_08046964: .4byte 0x0822E424
-_08046968: .4byte 0x06001000
-_0804696C: .4byte 0x083A8ACC
-_08046970: .4byte 0x06006800
-_08046974: .4byte 0x80000200
-_08046978: .4byte 0x083A826C
-_0804697C: .4byte 0x06006C00
-_08046980: .4byte 0x80000400
-_08046984: .4byte 0x0845A48C
-_08046988: .4byte 0x06010000
-_0804698C:
- ldr r4, _08046A48 @ =0x040000D4
- ldr r0, _08046A4C @ =0x0826EC10
- str r0, [r4]
- movs r0, #0xa0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- ldr r0, _08046A50 @ =0x80000100
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046A54 @ =0x082E4EE0
- str r0, [r4]
- ldr r1, _08046A58 @ =0x06008000
- mov r8, r1
- str r1, [r4, #4]
- ldr r0, _08046A5C @ =0x80004000
- mov sb, r0
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046A60 @ =0x082ECEE0
- str r0, [r4]
- ldr r0, _08046A64 @ =0x06003000
- str r0, [r4, #4]
- ldr r6, _08046A68 @ =0x80000800
- str r6, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046A6C @ =0x082D34D0
- ldr r5, _08046A70 @ =0x0200FBB0
- adds r1, r5, #0
- bl LZ77UnCompWram
- str r5, [r4]
- ldr r0, _08046A74 @ =0x06004000
- str r0, [r4, #4]
- ldr r0, _08046A78 @ =0x80002000
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046A7C @ =0x082D523C
- adds r1, r5, #0
- bl LZ77UnCompWram
- ldr r0, _08046A80 @ =0x082D8998
- ldr r1, _08046A84 @ =0x020030A0
- bl LZ77UnCompWram
- str r5, [r4]
- ldr r0, _08046A88 @ =0x0600A800
- str r0, [r4, #4]
- ldr r0, _08046A8C @ =0x80001800
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- movs r1, #0xc0
- lsls r1, r1, #6
- adds r5, r5, r1
- str r5, [r4]
- mov r0, r8
- str r0, [r4, #4]
- ldr r0, _08046A90 @ =0x80001400
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046A94 @ =0x0826EE10
- str r0, [r4]
- movs r0, #0xc0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- str r6, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046A98 @ =0x082AE6D0
- str r0, [r4]
- ldr r0, _08046A9C @ =0x06001000
- str r0, [r4, #4]
- str r6, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046AA0 @ =0x083A8ACC
- str r0, [r4]
- ldr r0, _08046AA4 @ =0x06006800
- str r0, [r4, #4]
- ldr r0, _08046AA8 @ =0x80000200
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046AAC @ =0x083A826C
- str r0, [r4]
- ldr r0, _08046AB0 @ =0x06006C00
- str r0, [r4, #4]
- ldr r0, _08046AB4 @ =0x80000400
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046AB8 @ =0x0845F9EC
- str r0, [r4]
- ldr r0, _08046ABC @ =0x06010000
- str r0, [r4, #4]
- mov r1, sb
- str r1, [r4, #8]
- b _08046F64
- .align 2, 0
-_08046A48: .4byte 0x040000D4
-_08046A4C: .4byte 0x0826EC10
-_08046A50: .4byte 0x80000100
-_08046A54: .4byte 0x082E4EE0
-_08046A58: .4byte 0x06008000
-_08046A5C: .4byte 0x80004000
-_08046A60: .4byte 0x082ECEE0
-_08046A64: .4byte 0x06003000
-_08046A68: .4byte 0x80000800
-_08046A6C: .4byte 0x082D34D0
-_08046A70: .4byte 0x0200FBB0
-_08046A74: .4byte 0x06004000
-_08046A78: .4byte 0x80002000
-_08046A7C: .4byte 0x082D523C
-_08046A80: .4byte 0x082D8998
-_08046A84: .4byte 0x020030A0
-_08046A88: .4byte 0x0600A800
-_08046A8C: .4byte 0x80001800
-_08046A90: .4byte 0x80001400
-_08046A94: .4byte 0x0826EE10
-_08046A98: .4byte 0x082AE6D0
-_08046A9C: .4byte 0x06001000
-_08046AA0: .4byte 0x083A8ACC
-_08046AA4: .4byte 0x06006800
-_08046AA8: .4byte 0x80000200
-_08046AAC: .4byte 0x083A826C
-_08046AB0: .4byte 0x06006C00
-_08046AB4: .4byte 0x80000400
-_08046AB8: .4byte 0x0845F9EC
-_08046ABC: .4byte 0x06010000
-_08046AC0:
- ldr r4, _08046B44 @ =0x040000D4
- ldr r0, _08046B48 @ =0x082EDEE0
- str r0, [r4]
- movs r0, #0xa0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- ldr r0, _08046B4C @ =0x80000100
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046B50 @ =0x08302700
- ldr r5, _08046B54 @ =0x0200FBB0
- adds r1, r5, #0
- bl LZ77UnCompWram
- str r5, [r4]
- ldr r0, _08046B58 @ =0x06004000
- str r0, [r4, #4]
- ldr r0, _08046B5C @ =0x80002000
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046B60 @ =0x08303928
- adds r1, r5, #0
- bl LZ77UnCompWram
- str r5, [r4]
- ldr r0, _08046B64 @ =0x06008000
- str r0, [r4, #4]
- ldr r2, _08046B68 @ =0x80004000
- str r2, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046B6C @ =0x082EE4C0
- str r0, [r4]
- movs r0, #0xc0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- ldr r1, _08046B70 @ =0x80000400
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046B74 @ =0x08301700
- str r0, [r4]
- ldr r0, _08046B78 @ =0x06000800
- str r0, [r4, #4]
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046B7C @ =0x08301F00
- str r0, [r4]
- ldr r0, _08046B80 @ =0x06001000
- str r0, [r4, #4]
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046B84 @ =0x083A8ACC
- str r0, [r4]
- ldr r0, _08046B88 @ =0x06006800
- str r0, [r4, #4]
- ldr r0, _08046B8C @ =0x80000200
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046B90 @ =0x083A826C
- str r0, [r4]
- ldr r0, _08046B94 @ =0x06006C00
- str r0, [r4, #4]
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046B98 @ =0x08464F4C
- b _08046F5C
- .align 2, 0
-_08046B44: .4byte 0x040000D4
-_08046B48: .4byte 0x082EDEE0
-_08046B4C: .4byte 0x80000100
-_08046B50: .4byte 0x08302700
-_08046B54: .4byte 0x0200FBB0
-_08046B58: .4byte 0x06004000
-_08046B5C: .4byte 0x80002000
-_08046B60: .4byte 0x08303928
-_08046B64: .4byte 0x06008000
-_08046B68: .4byte 0x80004000
-_08046B6C: .4byte 0x082EE4C0
-_08046B70: .4byte 0x80000400
-_08046B74: .4byte 0x08301700
-_08046B78: .4byte 0x06000800
-_08046B7C: .4byte 0x08301F00
-_08046B80: .4byte 0x06001000
-_08046B84: .4byte 0x083A8ACC
-_08046B88: .4byte 0x06006800
-_08046B8C: .4byte 0x80000200
-_08046B90: .4byte 0x083A826C
-_08046B94: .4byte 0x06006C00
-_08046B98: .4byte 0x08464F4C
-_08046B9C:
- ldr r4, _08046C20 @ =0x040000D4
- ldr r0, _08046C24 @ =0x0830CBD4
- str r0, [r4]
- movs r0, #0xa0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- ldr r0, _08046C28 @ =0x80000100
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046C2C @ =0x08302700
- ldr r5, _08046C30 @ =0x0200FBB0
- adds r1, r5, #0
- bl LZ77UnCompWram
- str r5, [r4]
- ldr r0, _08046C34 @ =0x06004000
- str r0, [r4, #4]
- ldr r0, _08046C38 @ =0x80002000
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046C3C @ =0x0832A194
- adds r1, r5, #0
- bl LZ77UnCompWram
- str r5, [r4]
- ldr r0, _08046C40 @ =0x06008000
- str r0, [r4, #4]
- ldr r2, _08046C44 @ =0x80004000
- str r2, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046C48 @ =0x08329994
- str r0, [r4]
- movs r0, #0xc0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- ldr r1, _08046C4C @ =0x80000400
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046C50 @ =0x0830CDD4
- str r0, [r4]
- ldr r0, _08046C54 @ =0x06000800
- str r0, [r4, #4]
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046C58 @ =0x08327994
- str r0, [r4]
- ldr r0, _08046C5C @ =0x06001000
- str r0, [r4, #4]
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046C60 @ =0x083A8ACC
- str r0, [r4]
- ldr r0, _08046C64 @ =0x06006800
- str r0, [r4, #4]
- ldr r0, _08046C68 @ =0x80000200
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046C6C @ =0x083A826C
- str r0, [r4]
- ldr r0, _08046C70 @ =0x06006C00
- str r0, [r4, #4]
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046C74 @ =0x084675EC
- b _08046F5C
- .align 2, 0
-_08046C20: .4byte 0x040000D4
-_08046C24: .4byte 0x0830CBD4
-_08046C28: .4byte 0x80000100
-_08046C2C: .4byte 0x08302700
-_08046C30: .4byte 0x0200FBB0
-_08046C34: .4byte 0x06004000
-_08046C38: .4byte 0x80002000
-_08046C3C: .4byte 0x0832A194
-_08046C40: .4byte 0x06008000
-_08046C44: .4byte 0x80004000
-_08046C48: .4byte 0x08329994
-_08046C4C: .4byte 0x80000400
-_08046C50: .4byte 0x0830CDD4
-_08046C54: .4byte 0x06000800
-_08046C58: .4byte 0x08327994
-_08046C5C: .4byte 0x06001000
-_08046C60: .4byte 0x083A8ACC
-_08046C64: .4byte 0x06006800
-_08046C68: .4byte 0x80000200
-_08046C6C: .4byte 0x083A826C
-_08046C70: .4byte 0x06006C00
-_08046C74: .4byte 0x084675EC
-_08046C78:
- ldr r4, _08046CF0 @ =0x040000D4
- ldr r0, _08046CF4 @ =0x08332E04
- str r0, [r4]
- movs r0, #0xa0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- ldr r0, _08046CF8 @ =0x80000100
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046CFC @ =0x08302700
- ldr r5, _08046D00 @ =0x0200FBB0
- adds r1, r5, #0
- bl LZ77UnCompWram
- str r5, [r4]
- ldr r0, _08046D04 @ =0x06004000
- str r0, [r4, #4]
- ldr r0, _08046D08 @ =0x80002000
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046D0C @ =0x0833E044
- adds r1, r5, #0
- bl LZ77UnCompWram
- str r5, [r4]
- ldr r0, _08046D10 @ =0x06008000
- str r0, [r4, #4]
- ldr r2, _08046D14 @ =0x80004000
- str r2, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046D18 @ =0x08333004
- str r0, [r4]
- movs r0, #0xc0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- ldr r1, _08046D1C @ =0x80000400
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046D20 @ =0x0833D844
- str r0, [r4]
- ldr r0, _08046D24 @ =0x06000800
- str r0, [r4, #4]
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046D28 @ =0x083A8ACC
- str r0, [r4]
- ldr r0, _08046D2C @ =0x06006800
- str r0, [r4, #4]
- ldr r0, _08046D30 @ =0x80000200
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046D34 @ =0x083A826C
- str r0, [r4]
- ldr r0, _08046D38 @ =0x06006C00
- str r0, [r4, #4]
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046D3C @ =0x0846A40C
- b _08046F5C
- .align 2, 0
-_08046CF0: .4byte 0x040000D4
-_08046CF4: .4byte 0x08332E04
-_08046CF8: .4byte 0x80000100
-_08046CFC: .4byte 0x08302700
-_08046D00: .4byte 0x0200FBB0
-_08046D04: .4byte 0x06004000
-_08046D08: .4byte 0x80002000
-_08046D0C: .4byte 0x0833E044
-_08046D10: .4byte 0x06008000
-_08046D14: .4byte 0x80004000
-_08046D18: .4byte 0x08333004
-_08046D1C: .4byte 0x80000400
-_08046D20: .4byte 0x0833D844
-_08046D24: .4byte 0x06000800
-_08046D28: .4byte 0x083A8ACC
-_08046D2C: .4byte 0x06006800
-_08046D30: .4byte 0x80000200
-_08046D34: .4byte 0x083A826C
-_08046D38: .4byte 0x06006C00
-_08046D3C: .4byte 0x0846A40C
-_08046D40:
- ldr r4, _08046DB8 @ =0x040000D4
- ldr r0, _08046DBC @ =0x08352BD8
- str r0, [r4]
- movs r0, #0xa0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- ldr r0, _08046DC0 @ =0x80000100
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046DC4 @ =0x08302700
- ldr r5, _08046DC8 @ =0x0200FBB0
- adds r1, r5, #0
- bl LZ77UnCompWram
- str r5, [r4]
- ldr r0, _08046DCC @ =0x06004000
- str r0, [r4, #4]
- ldr r0, _08046DD0 @ =0x80002000
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046DD4 @ =0x08353DD8
- adds r1, r5, #0
- bl LZ77UnCompWram
- str r5, [r4]
- ldr r0, _08046DD8 @ =0x06008000
- str r0, [r4, #4]
- ldr r2, _08046DDC @ =0x80004000
- str r2, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046DE0 @ =0x08352DD8
- str r0, [r4]
- movs r0, #0xc0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- ldr r1, _08046DE4 @ =0x80000400
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046DE8 @ =0x083535D8
- str r0, [r4]
- ldr r0, _08046DEC @ =0x06000800
- str r0, [r4, #4]
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046DF0 @ =0x083A8ACC
- str r0, [r4]
- ldr r0, _08046DF4 @ =0x06006800
- str r0, [r4, #4]
- ldr r0, _08046DF8 @ =0x80000200
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046DFC @ =0x083A826C
- str r0, [r4]
- ldr r0, _08046E00 @ =0x06006C00
- str r0, [r4, #4]
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046E04 @ =0x0846D2AC
- b _08046F5C
- .align 2, 0
-_08046DB8: .4byte 0x040000D4
-_08046DBC: .4byte 0x08352BD8
-_08046DC0: .4byte 0x80000100
-_08046DC4: .4byte 0x08302700
-_08046DC8: .4byte 0x0200FBB0
-_08046DCC: .4byte 0x06004000
-_08046DD0: .4byte 0x80002000
-_08046DD4: .4byte 0x08353DD8
-_08046DD8: .4byte 0x06008000
-_08046DDC: .4byte 0x80004000
-_08046DE0: .4byte 0x08352DD8
-_08046DE4: .4byte 0x80000400
-_08046DE8: .4byte 0x083535D8
-_08046DEC: .4byte 0x06000800
-_08046DF0: .4byte 0x083A8ACC
-_08046DF4: .4byte 0x06006800
-_08046DF8: .4byte 0x80000200
-_08046DFC: .4byte 0x083A826C
-_08046E00: .4byte 0x06006C00
-_08046E04: .4byte 0x0846D2AC
-_08046E08:
- ldr r4, _08046E8C @ =0x040000D4
- ldr r0, _08046E90 @ =0x08363EC8
- str r0, [r4]
- movs r0, #0xa0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- ldr r0, _08046E94 @ =0x80000100
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046E98 @ =0x08302700
- ldr r5, _08046E9C @ =0x0200FBB0
- adds r1, r5, #0
- bl LZ77UnCompWram
- str r5, [r4]
- ldr r0, _08046EA0 @ =0x06004000
- str r0, [r4, #4]
- ldr r0, _08046EA4 @ =0x80002000
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046EA8 @ =0x08370808
- adds r1, r5, #0
- bl LZ77UnCompWram
- str r5, [r4]
- ldr r0, _08046EAC @ =0x06008000
- str r0, [r4, #4]
- ldr r2, _08046EB0 @ =0x80004000
- str r2, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046EB4 @ =0x083640C8
- str r0, [r4]
- movs r0, #0xc0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- ldr r1, _08046EB8 @ =0x80000800
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046EBC @ =0x0836F808
- str r0, [r4]
- ldr r0, _08046EC0 @ =0x06001000
- str r0, [r4, #4]
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046EC4 @ =0x0836E808
- str r0, [r4]
- ldr r0, _08046EC8 @ =0x06003000
- str r0, [r4, #4]
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046ECC @ =0x083A8ACC
- str r0, [r4]
- ldr r0, _08046ED0 @ =0x06006800
- str r0, [r4, #4]
- ldr r0, _08046ED4 @ =0x80000200
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046ED8 @ =0x083A826C
- str r0, [r4]
- ldr r0, _08046EDC @ =0x06006C00
- str r0, [r4, #4]
- ldr r0, _08046EE0 @ =0x80000400
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046EE4 @ =0x08472A6C
- b _08046F5C
- .align 2, 0
-_08046E8C: .4byte 0x040000D4
-_08046E90: .4byte 0x08363EC8
-_08046E94: .4byte 0x80000100
-_08046E98: .4byte 0x08302700
-_08046E9C: .4byte 0x0200FBB0
-_08046EA0: .4byte 0x06004000
-_08046EA4: .4byte 0x80002000
-_08046EA8: .4byte 0x08370808
-_08046EAC: .4byte 0x06008000
-_08046EB0: .4byte 0x80004000
-_08046EB4: .4byte 0x083640C8
-_08046EB8: .4byte 0x80000800
-_08046EBC: .4byte 0x0836F808
-_08046EC0: .4byte 0x06001000
-_08046EC4: .4byte 0x0836E808
-_08046EC8: .4byte 0x06003000
-_08046ECC: .4byte 0x083A8ACC
-_08046ED0: .4byte 0x06006800
-_08046ED4: .4byte 0x80000200
-_08046ED8: .4byte 0x083A826C
-_08046EDC: .4byte 0x06006C00
-_08046EE0: .4byte 0x80000400
-_08046EE4: .4byte 0x08472A6C
-_08046EE8:
- ldr r4, _08046F78 @ =0x040000D4
- ldr r0, _08046F7C @ =0x0837A2E8
- str r0, [r4]
- movs r0, #0xa0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- ldr r0, _08046F80 @ =0x80000100
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046F84 @ =0x08302700
- ldr r5, _08046F88 @ =0x0200FBB0
- adds r1, r5, #0
- bl LZ77UnCompWram
- str r5, [r4]
- ldr r0, _08046F8C @ =0x06004000
- str r0, [r4, #4]
- ldr r0, _08046F90 @ =0x80002000
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046F94 @ =0x0838E828
- adds r1, r5, #0
- bl LZ77UnCompWram
- str r5, [r4]
- ldr r0, _08046F98 @ =0x06008000
- str r0, [r4, #4]
- ldr r2, _08046F9C @ =0x80004000
- str r2, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046FA0 @ =0x0837A4E8
- str r0, [r4]
- movs r0, #0xc0
- lsls r0, r0, #0x13
- str r0, [r4, #4]
- ldr r1, _08046FA4 @ =0x80000400
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046FA8 @ =0x0838E028
- str r0, [r4]
- ldr r0, _08046FAC @ =0x06000800
- str r0, [r4, #4]
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046FB0 @ =0x083A8ACC
- str r0, [r4]
- ldr r0, _08046FB4 @ =0x06006800
- str r0, [r4, #4]
- ldr r0, _08046FB8 @ =0x80000200
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046FBC @ =0x083A826C
- str r0, [r4]
- ldr r0, _08046FC0 @ =0x06006C00
- str r0, [r4, #4]
- str r1, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _08046FC4 @ =0x084779EC
-_08046F5C:
- str r0, [r4]
- ldr r0, _08046FC8 @ =0x06010000
- str r0, [r4, #4]
- str r2, [r4, #8]
-_08046F64:
- ldr r0, [r4, #8]
-_08046F66:
- ldr r1, _08046FCC @ =0x02031520
- ldr r0, _08046FD0 @ =0x0816C3E4
- str r0, [r1, #0x68]
- pop {r3, r4}
- mov r8, r3
- mov sb, r4
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08046F78: .4byte 0x040000D4
-_08046F7C: .4byte 0x0837A2E8
-_08046F80: .4byte 0x80000100
-_08046F84: .4byte 0x08302700
-_08046F88: .4byte 0x0200FBB0
-_08046F8C: .4byte 0x06004000
-_08046F90: .4byte 0x80002000
-_08046F94: .4byte 0x0838E828
-_08046F98: .4byte 0x06008000
-_08046F9C: .4byte 0x80004000
-_08046FA0: .4byte 0x0837A4E8
-_08046FA4: .4byte 0x80000400
-_08046FA8: .4byte 0x0838E028
-_08046FAC: .4byte 0x06000800
-_08046FB0: .4byte 0x083A8ACC
-_08046FB4: .4byte 0x06006800
-_08046FB8: .4byte 0x80000200
-_08046FBC: .4byte 0x083A826C
-_08046FC0: .4byte 0x06006C00
-_08046FC4: .4byte 0x084779EC
-_08046FC8: .4byte 0x06010000
-_08046FCC: .4byte 0x02031520
-_08046FD0: .4byte 0x0816C3E4
-
- thumb_func_start sub_46FD4
-sub_46FD4: @ 0x08046FD4
- push {r4, r5, lr}
- ldr r5, _08047024 @ =0x02031520
- ldr r4, _08047028 @ =0x086AFCB0
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- lsls r2, r0, #1
- adds r2, r2, r0
- lsls r2, r2, #4
- ldr r3, _0804702C @ =gMain
- ldrb r1, [r3, #4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #5
- adds r0, r2, r0
- adds r0, r0, r4
- ldr r0, [r0]
- str r0, [r5, #0x38]
- ldrb r1, [r3, #4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #5
- adds r0, r2, r0
- adds r1, r4, #0
- adds r1, #0x10
- adds r0, r0, r1
- ldr r0, [r0]
- str r0, [r5, #0x48]
- ldrb r1, [r3, #4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #5
- adds r2, r2, r0
- adds r4, #0x20
- adds r2, r2, r4
- ldr r0, [r2]
- str r0, [r5, #0x58]
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08047024: .4byte 0x02031520
-_08047028: .4byte 0x086AFCB0
-_0804702C: .4byte gMain
-
- thumb_func_start sub_47030
-sub_47030: @ 0x08047030
- push {r4, r5, lr}
- ldr r0, _08047074 @ =gMain
- ldr r1, _08047078 @ =0x000002F6
- adds r0, r0, r1
- ldrh r0, [r0]
- lsrs r4, r0, #3
- adds r2, r4, #0
- lsls r1, r2, #3
- ldr r0, _0804707C @ =0x086B0010
- adds r3, r1, r0
- ldr r1, _08047080 @ =0x020314E0
- ldr r0, [r1]
- adds r0, #0x64
- movs r5, #0
- ldrsh r0, [r0, r5]
- adds r5, r1, #0
- cmp r2, r0
- beq _080470EA
- cmp r2, r0
- ble _080470A8
- movs r1, #0
- ldrsh r0, [r3, r1]
- cmp r0, #0x1f
- ble _0804708C
- ldr r2, _08047084 @ =0x040000D4
- subs r0, #0x20
- lsls r0, r0, #0xa
- ldr r1, _08047088 @ =0x020030A0
- adds r0, r0, r1
- str r0, [r2]
- movs r1, #2
- ldrsh r0, [r3, r1]
- b _080470D6
- .align 2, 0
-_08047074: .4byte gMain
-_08047078: .4byte 0x000002F6
-_0804707C: .4byte 0x086B0010
-_08047080: .4byte 0x020314E0
-_08047084: .4byte 0x040000D4
-_08047088: .4byte 0x020030A0
-_0804708C:
- ldr r2, _080470A0 @ =0x040000D4
- movs r1, #0
- ldrsh r0, [r3, r1]
- lsls r0, r0, #0xa
- ldr r1, _080470A4 @ =0x0200FBB0
- adds r0, r0, r1
- str r0, [r2]
- movs r1, #2
- ldrsh r0, [r3, r1]
- b _080470D6
- .align 2, 0
-_080470A0: .4byte 0x040000D4
-_080470A4: .4byte 0x0200FBB0
-_080470A8:
- movs r1, #4
- ldrsh r0, [r3, r1]
- cmp r0, #0x1f
- ble _080470C4
- ldr r2, _080470BC @ =0x040000D4
- subs r0, #0x20
- lsls r0, r0, #0xa
- ldr r1, _080470C0 @ =0x020030A0
- b _080470CE
- .align 2, 0
-_080470BC: .4byte 0x040000D4
-_080470C0: .4byte 0x020030A0
-_080470C4:
- ldr r2, _080470F0 @ =0x040000D4
- movs r1, #4
- ldrsh r0, [r3, r1]
- lsls r0, r0, #0xa
- ldr r1, _080470F4 @ =0x0200FBB0
-_080470CE:
- adds r0, r0, r1
- str r0, [r2]
- movs r1, #6
- ldrsh r0, [r3, r1]
-_080470D6:
- lsls r0, r0, #0xa
- ldr r1, _080470F8 @ =0x06008000
- adds r0, r0, r1
- str r0, [r2, #4]
- ldr r0, _080470FC @ =0x80000200
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r5]
- adds r0, #0x64
- strh r4, [r0]
-_080470EA:
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080470F0: .4byte 0x040000D4
-_080470F4: .4byte 0x0200FBB0
-_080470F8: .4byte 0x06008000
-_080470FC: .4byte 0x80000200
-
- thumb_func_start sub_47100
-sub_47100: @ 0x08047100
- ldr r0, _0804710C @ =0x020314E0
- ldr r0, [r0]
- adds r0, #0xfc
- movs r1, #0x80
- strh r1, [r0]
- bx lr
- .align 2, 0
-_0804710C: .4byte 0x020314E0
-
- thumb_func_start sub_47110
-sub_47110: @ 0x08047110
- push {r4, r5, lr}
- movs r0, #0
- ldr r5, _08047148 @ =0x03005C00
- adds r4, r5, #0
- ldr r3, _0804714C @ =0x000001FF
- ldr r2, _08047150 @ =0x000007FF
-_0804711C:
- lsls r1, r0, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #1
- adds r0, r0, r4
- strh r3, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r0, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, r2
- ble _0804711C
- ldr r1, _08047154 @ =0x040000D4
- str r5, [r1]
- ldr r0, _08047158 @ =0x06002000
- str r0, [r1, #4]
- ldr r0, _0804715C @ =0x80000800
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08047148: .4byte 0x03005C00
-_0804714C: .4byte 0x000001FF
-_08047150: .4byte 0x000007FF
-_08047154: .4byte 0x040000D4
-_08047158: .4byte 0x06002000
-_0804715C: .4byte 0x80000800
-
- thumb_func_start sub_47160
-sub_47160: @ 0x08047160
- push {r4, r5, lr}
- ldr r2, _0804719C @ =gMain
- ldrh r1, [r2, #0x18]
- movs r0, #8
- ands r0, r1
- cmp r0, #0
- beq _080471B6
- ldrb r0, [r2, #2]
- cmp r0, #3
- beq _080471B6
- ldr r0, _080471A0 @ =0x020314E0
- ldr r0, [r0]
- movs r1, #0x88
- lsls r1, r1, #5
- adds r0, r0, r1
- ldrb r0, [r0]
- cmp r0, #0
- bne _080471B6
- ldrb r1, [r2, #0xf]
- movs r0, #2
- ands r0, r1
- cmp r0, #0
- beq _080471A4
- movs r0, #0xfd
- ands r0, r1
- strb r0, [r2, #0xf]
- bl sub_497BC
- b _080471B6
- .align 2, 0
-_0804719C: .4byte gMain
-_080471A0: .4byte 0x020314E0
-_080471A4:
- movs r0, #0x20
- ands r0, r1
- cmp r0, #0
- bne _080471B6
- movs r0, #2
- orrs r0, r1
- strb r0, [r2, #0xf]
- bl sub_495A0
-_080471B6:
- ldr r4, _080472B0 @ =gMain
- ldrb r1, [r4, #0xf]
- movs r5, #2
- adds r0, r5, #0
- ands r0, r1
- cmp r0, #0
- beq _08047274
- ldrh r1, [r4, #0x18]
- movs r0, #0x40
- ands r0, r1
- cmp r0, #0
- beq _080471E4
- ldr r0, _080472B4 @ =0x020314E0
- ldr r1, [r0]
- ldr r0, _080472B8 @ =0x00001104
- adds r1, r1, r0
- ldrb r0, [r1]
- movs r2, #1
- eors r0, r2
- strb r0, [r1]
- movs r0, #0xa3
- bl m4aSongNumStart
-_080471E4:
- ldrh r1, [r4, #0x18]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08047204
- ldr r0, _080472B4 @ =0x020314E0
- ldr r1, [r0]
- ldr r0, _080472B8 @ =0x00001104
- adds r1, r1, r0
- ldrb r0, [r1]
- movs r2, #1
- eors r0, r2
- strb r0, [r1]
- movs r0, #0xa3
- bl m4aSongNumStart
-_08047204:
- ldrh r1, [r4, #0x18]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _08047244
- ldrh r1, [r4, #0x1c]
- movs r0, #0xe
- ands r0, r1
- cmp r0, #0
- bne _08047244
- ldr r0, _080472B4 @ =0x020314E0
- ldr r0, [r0]
- ldr r1, _080472B8 @ =0x00001104
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _08047230
- strb r5, [r4, #0xe]
- bl sub_49850
-_08047230:
- ldrb r1, [r4, #0xf]
- movs r0, #0xfd
- ands r0, r1
- strb r0, [r4, #0xf]
- bl sub_497BC
- ldrh r1, [r4, #0x18]
- ldr r0, _080472BC @ =0x0000FFFE
- ands r0, r1
- strh r0, [r4, #0x18]
-_08047244:
- ldr r4, _080472B0 @ =gMain
- ldrh r1, [r4, #0x18]
- movs r5, #2
- adds r0, r5, #0
- ands r0, r1
- cmp r0, #0
- beq _08047266
- ldrb r1, [r4, #0xf]
- movs r0, #0xfd
- ands r0, r1
- strb r0, [r4, #0xf]
- bl sub_497BC
- ldrh r1, [r4, #0x18]
- ldr r0, _080472C0 @ =0x0000FFFD
- ands r0, r1
- strh r0, [r4, #0x18]
-_08047266:
- ldrb r1, [r4, #0xf]
- adds r0, r5, #0
- ands r0, r1
- cmp r0, #0
- beq _08047274
- bl sub_49A34
-_08047274:
- ldr r0, _080472B0 @ =gMain
- ldrb r1, [r0, #0xf]
- adds r2, r0, #0
- cmp r1, #0
- bne _080472DC
- ldr r3, _080472B4 @ =0x020314E0
- ldr r0, [r3]
- movs r4, #0xe8
- lsls r4, r4, #3
- adds r0, r0, r4
- strb r1, [r0]
- ldrh r0, [r2, #0x14]
- cmp r0, #0
- beq _080472DC
- subs r0, #1
- strh r0, [r2, #0x14]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #1
- bne _080472D2
- ldr r0, [r3]
- adds r1, r0, #0
- adds r1, #0xe4
- ldrb r0, [r1]
- cmp r0, #0
- beq _080472C4
- movs r0, #0xa
- strh r0, [r2, #0x14]
- b _080472D2
- .align 2, 0
-_080472B0: .4byte gMain
-_080472B4: .4byte 0x020314E0
-_080472B8: .4byte 0x00001104
-_080472BC: .4byte 0x0000FFFE
-_080472C0: .4byte 0x0000FFFD
-_080472C4:
- ldrb r0, [r2, #0x11]
- cmp r0, #8
- bne _080472CE
- movs r0, #0x13
- b _080472D0
-_080472CE:
- movs r0, #0x14
-_080472D0:
- strb r0, [r1]
-_080472D2:
- ldrh r0, [r2, #0x14]
- cmp r0, #0
- bne _080472DC
- ldrb r0, [r2, #0x11]
- strb r0, [r2, #0xf]
-_080472DC:
- pop {r4, r5}
- pop {r0}
- bx r0
-
- thumb_func_start sub_472E4
-sub_472E4: @ 0x080472E4
- push {r4, lr}
- ldr r4, _080472FC @ =gMain
- ldrb r1, [r4, #0xf]
- cmp r1, #0
- beq _08047338
- movs r0, #8
- ands r0, r1
- cmp r0, #0
- beq _08047300
- bl sub_478D8
- b _08047338
- .align 2, 0
-_080472FC: .4byte gMain
-_08047300:
- movs r0, #0x10
- ands r0, r1
- cmp r0, #0
- beq _0804730E
- bl sub_47670
- b _08047338
-_0804730E:
- movs r0, #0x20
- ands r0, r1
- cmp r0, #0
- beq _0804731C
- bl sub_474F4
- b _08047338
-_0804731C:
- movs r0, #4
- ands r0, r1
- cmp r0, #0
- beq _08047338
- bl sub_47344
- ldr r0, _08047340 @ =0x020314E0
- ldr r1, [r0]
- ldrb r0, [r4, #0x10]
- adds r0, #1
- movs r2, #0xe8
- lsls r2, r2, #3
- adds r1, r1, r2
- strb r0, [r1]
-_08047338:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08047340: .4byte 0x020314E0
-
- thumb_func_start sub_47344
-sub_47344: @ 0x08047344
- push {r4, r5, r6, r7, lr}
- mov r7, sb
- mov r6, r8
- push {r6, r7}
- sub sp, #0x44
- ldr r1, _08047448 @ =0x08137DBE
- mov r0, sp
- movs r2, #0x2a
- bl memcpy
- add r4, sp, #0x2c
- ldr r1, _0804744C @ =0x08137DE8
- adds r0, r4, #0
- movs r2, #0x18
- bl memcpy
- mov sb, r4
- mov r1, sp
- adds r1, #0x2d
- mov r6, sp
- adds r6, #0x31
- mov r7, sp
- adds r7, #0x39
- add r0, sp, #0x38
- mov r8, r0
- ldr r0, _08047450 @ =0x03005C00
- movs r3, #0
- movs r2, #0xd0
- lsls r2, r2, #3
- adds r0, r0, r2
- movs r2, #0x40
-_08047382:
- strh r3, [r0]
- adds r0, #2
- subs r2, #1
- cmp r2, #0
- bne _08047382
- ldr r5, _08047454 @ =0x020314E0
- ldr r0, [r5]
- ldr r4, _08047458 @ =0x0000132C
- adds r0, r0, r4
- ldr r0, [r0]
- movs r2, #0x10
- ldrsh r0, [r0, r2]
- movs r2, #3
- movs r3, #1
- bl sub_6CC
- ldr r0, [r5]
- adds r0, r0, r4
- ldr r0, [r0]
- movs r1, #0x12
- ldrsh r0, [r0, r1]
- adds r1, r6, #0
- movs r2, #3
- movs r3, #1
- bl sub_6CC
- mov r0, sb
- movs r1, #0x1a
- movs r2, #9
- bl sub_678
- ldr r0, [r5]
- adds r0, #0x68
- movs r2, #0
- ldrsh r0, [r0, r2]
- adds r1, r7, #0
- movs r2, #3
- movs r3, #1
- bl sub_6CC
- mov r0, r8
- movs r1, #0x1a
- movs r2, #0x12
- bl sub_678
- mov r0, sp
- movs r1, #0x1a
- movs r2, #0
- bl sub_678
- ldr r4, _0804745C @ =gMain
- ldrh r1, [r4, #0x1c]
- movs r0, #2
- ands r0, r1
- cmp r0, #0
- beq _08047464
- ldr r0, [r4, #0x4c]
- movs r1, #8
- ands r0, r1
- cmp r0, #0
- beq _08047408
- ldr r0, _08047460 @ =0x08137E00
- ldrb r1, [r4, #0x10]
- adds r1, #0x1a
- movs r2, #0
- bl sub_678
-_08047408:
- ldrh r1, [r4, #0x18]
- movs r0, #0x40
- ands r0, r1
- cmp r0, #0
- beq _0804741C
- ldrb r0, [r4, #0x10]
- cmp r0, #0
- beq _0804741C
- subs r0, #1
- strb r0, [r4, #0x10]
-_0804741C:
- ldr r2, _0804745C @ =gMain
- ldrh r1, [r2, #0x18]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08047432
- ldrb r0, [r2, #0x10]
- cmp r0, #0
- bne _08047432
- adds r0, #1
- strb r0, [r2, #0x10]
-_08047432:
- ldr r0, _08047454 @ =0x020314E0
- ldr r0, [r0]
- movs r6, #0xe8
- lsls r6, r6, #3
- adds r0, r0, r6
- ldrb r0, [r0]
- cmp r0, #2
- bne _08047490
- bl sub_48124
- b _08047490
- .align 2, 0
-_08047448: .4byte 0x08137DBE
-_0804744C: .4byte 0x08137DE8
-_08047450: .4byte 0x03005C00
-_08047454: .4byte 0x020314E0
-_08047458: .4byte 0x0000132C
-_0804745C: .4byte gMain
-_08047460: .4byte 0x08137E00
-_08047464:
- ldr r0, [r5]
- movs r1, #0xe8
- lsls r1, r1, #3
- adds r0, r0, r1
- ldrb r0, [r0]
- cmp r0, #1
- beq _08047478
- cmp r0, #2
- beq _0804747E
- b _08047482
-_08047478:
- bl sub_47FF8
- b _08047482
-_0804747E:
- bl sub_48124
-_08047482:
- ldr r0, _080474DC @ =0x08137E00
- ldr r1, _080474E0 @ =gMain
- ldrb r1, [r1, #0x10]
- adds r1, #0x1a
- movs r2, #0
- bl sub_678
-_08047490:
- ldr r4, _080474E4 @ =0x03005C00
- ldr r5, _080474E0 @ =gMain
- movs r2, #0xc1
- lsls r2, r2, #8
- adds r3, r2, #0
- movs r6, #0xd0
- lsls r6, r6, #3
- adds r1, r4, r6
- movs r2, #0x40
-_080474A2:
- ldrh r6, [r1]
- adds r0, r3, r6
- strh r0, [r1]
- adds r1, #2
- subs r2, #1
- cmp r2, #0
- bne _080474A2
- ldr r1, _080474E8 @ =0x040000D4
- str r4, [r1]
- ldr r0, _080474EC @ =0x06002000
- str r0, [r1, #4]
- ldr r0, _080474F0 @ =0x80000400
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldrh r1, [r5, #0x1c]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _080474CC
- bl sub_47FBC
-_080474CC:
- add sp, #0x44
- pop {r3, r4}
- mov r8, r3
- mov sb, r4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080474DC: .4byte 0x08137E00
-_080474E0: .4byte gMain
-_080474E4: .4byte 0x03005C00
-_080474E8: .4byte 0x040000D4
-_080474EC: .4byte 0x06002000
-_080474F0: .4byte 0x80000400
-
- thumb_func_start sub_474F4
-sub_474F4: @ 0x080474F4
- push {r4, r5, r6, r7, lr}
- mov r7, sb
- mov r6, r8
- push {r6, r7}
- ldr r0, _08047638 @ =gMain
- ldr r1, [r0, #0x44]
- adds r1, #0xa8
- ldr r5, [r1]
- ldrh r1, [r5]
- mov sb, r0
- cmp r1, #0
- beq _08047558
- movs r0, #0x3f
- strh r0, [r5, #2]
- movs r0, #0x34
- strh r0, [r5, #4]
- ldr r7, _0804763C @ =gOamBuffer
- ldr r0, _08047640 @ =0xFFFFFE00
- mov ip, r0
- adds r4, r5, #0
- adds r4, #8
- ldr r1, _08047644 @ =0x000001FF
- mov r8, r1
- movs r6, #7
-_08047524:
- ldrh r3, [r4]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r2, #2
- ldrsh r1, [r4, r2]
- movs r2, #2
- ldrsh r0, [r5, r2]
- adds r1, r1, r0
- mov r0, r8
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r4]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r5, #4]
- ldrb r2, [r4, #4]
- adds r0, r0, r2
- strb r0, [r1]
- adds r4, #8
- subs r6, #1
- cmp r6, #0
- bge _08047524
-_08047558:
- mov r1, sb
- ldr r0, [r1, #0x4c]
- lsls r0, r0, #0x1c
- lsrs r7, r0, #0x10
- movs r6, #0
-_08047562:
- adds r0, r7, #0
- bl sub_C74
- ldr r4, _08047648 @ =0x02031500
- lsls r2, r6, #1
- adds r4, r2, r4
- ldr r1, _0804764C @ =0x02030750
- adds r5, r2, r1
- movs r2, #0
- ldrsh r1, [r5, r2]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- muls r0, r1, r0
- movs r1, #0xc8
- bl __divsi3
- strh r0, [r4]
- ldr r0, _08047638 @ =gMain
- ldr r1, [r0, #0x4c]
- movs r0, #1
- ands r1, r0
- cmp r1, #0
- bne _0804759E
- ldrh r0, [r5]
- adds r0, #1
- strh r0, [r5]
- lsls r0, r0, #0x10
- cmp r0, #0
- blt _0804759E
- strh r1, [r5]
-_0804759E:
- adds r6, #1
- cmp r6, #7
- ble _08047562
- ldr r2, _08047638 @ =gMain
- ldrh r1, [r2, #0x12]
- movs r0, #0xe1
- lsls r0, r0, #4
- cmp r1, r0
- bne _080475FA
- ldr r1, _08047650 @ =0x040000D4
- ldr r0, _08047654 @ =0x08509F4C
- str r0, [r1]
- ldr r0, _08047658 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804765C @ =0x80000200
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldr r0, [r2, #0x44]
- adds r0, #0xa8
- ldr r1, [r0]
- movs r0, #1
- strh r0, [r1]
- movs r6, #0
- mov r8, r6
- ldr r5, _08047648 @ =0x02031500
- ldr r7, _08047660 @ =0x0000E0C0
-_080475D2:
- lsls r4, r6, #1
- strh r7, [r5]
- ldr r0, _08047664 @ =0x020306C0
- adds r0, r4, r0
- mov r1, r8
- strh r1, [r0]
- bl Random
- ldr r1, _0804764C @ =0x02030750
- adds r4, r4, r1
- movs r1, #0x1e
- bl __umodsi3
- ldr r2, _08047668 @ =0x0000FFCE
- adds r0, r0, r2
- strh r0, [r4]
- adds r5, #2
- adds r6, #1
- cmp r6, #7
- ble _080475D2
-_080475FA:
- ldr r0, _08047638 @ =gMain
- ldrh r1, [r0, #0x12]
- mov sb, r0
- cmp r1, #0
- beq _08047618
- subs r0, r1, #1
- mov r1, sb
- strh r0, [r1, #0x12]
- lsls r0, r0, #0x10
- cmp r0, #0
- bne _08047618
- ldr r0, _0804766C @ =0x020314E0
- ldr r1, [r0]
- movs r0, #2
- strb r0, [r1, #0x1d]
-_08047618:
- mov r2, sb
- ldrh r1, [r2, #0x18]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _0804762C
- ldr r0, _0804766C @ =0x020314E0
- ldr r1, [r0]
- movs r0, #2
- strb r0, [r1, #0x1d]
-_0804762C:
- pop {r3, r4}
- mov r8, r3
- mov sb, r4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08047638: .4byte gMain
-_0804763C: .4byte gOamBuffer
-_08047640: .4byte 0xFFFFFE00
-_08047644: .4byte 0x000001FF
-_08047648: .4byte 0x02031500
-_0804764C: .4byte 0x02030750
-_08047650: .4byte 0x040000D4
-_08047654: .4byte 0x08509F4C
-_08047658: .4byte 0x06015800
-_0804765C: .4byte 0x80000200
-_08047660: .4byte 0x0000E0C0
-_08047664: .4byte 0x020306C0
-_08047668: .4byte 0x0000FFCE
-_0804766C: .4byte 0x020314E0
-
- thumb_func_start sub_47670
-sub_47670: @ 0x08047670
- push {r4, r5, r6, r7, lr}
- ldr r4, _080476A4 @ =gMain
- ldrh r0, [r4, #0x12]
- cmp r0, #0
- bne _0804767C
- b _080477C4
-_0804767C:
- cmp r0, #0x14
- bhi _080476AC
- cmp r0, #0x14
- bne _0804768A
- movs r0, #0xa4
- bl m4aSongNumStart
-_0804768A:
- ldr r0, _080476A8 @ =0x020314E0
- ldr r0, [r0]
- adds r1, r0, #0
- adds r1, #0xfc
- ldrh r2, [r1]
- movs r3, #0
- ldrsh r0, [r1, r3]
- cmp r0, #0x7f
- bgt _080476C4
- adds r0, r2, #0
- adds r0, #8
- b _080476C2
- .align 2, 0
-_080476A4: .4byte gMain
-_080476A8: .4byte 0x020314E0
-_080476AC:
- ldr r0, _0804771C @ =0x020314E0
- ldr r0, [r0]
- adds r1, r0, #0
- adds r1, #0xfc
- ldrh r2, [r1]
- movs r3, #0
- ldrsh r0, [r1, r3]
- cmp r0, #0
- ble _080476C4
- adds r0, r2, #0
- subs r0, #8
-_080476C2:
- strh r0, [r1]
-_080476C4:
- bl sub_48190
- ldr r2, _08047720 @ =gMain
- ldrh r0, [r2, #0x12]
- subs r0, #1
- movs r1, #0
- strh r0, [r2, #0x12]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0xc7
- bne _080477A0
- ldr r0, _0804771C @ =0x020314E0
- ldr r0, [r0]
- adds r0, #0xfc
- movs r1, #0x80
- strh r1, [r0]
- movs r1, #0x97
- lsls r1, r1, #4
- adds r0, r2, r1
- movs r1, #1
- strh r1, [r0]
- movs r3, #0xe9
- lsls r3, r3, #3
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- ldr r1, _08047724 @ =0x040000D4
- ldr r0, _08047728 @ =0x0850398C
- str r0, [r1]
- ldr r0, _0804772C @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _08047730 @ =0x80001400
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldrb r0, [r2, #4]
- cmp r0, #0
- bne _08047738
- ldr r0, _08047734 @ =0x08521FAC
- b _0804773A
- .align 2, 0
-_0804771C: .4byte 0x020314E0
-_08047720: .4byte gMain
-_08047724: .4byte 0x040000D4
-_08047728: .4byte 0x0850398C
-_0804772C: .4byte 0x06015800
-_08047730: .4byte 0x80001400
-_08047734: .4byte 0x08521FAC
-_08047738:
- ldr r0, _0804778C @ =0x08521FCC
-_0804773A:
- str r0, [r1]
- ldr r0, _08047790 @ =0x050003C0
- str r0, [r1, #4]
- ldr r0, _08047794 @ =0x80000010
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- movs r0, #0xa4
- bl m4aSongNumStart
- movs r1, #0
- ldr r7, _08047798 @ =0x020314E0
- ldr r6, _0804779C @ =0x0000063C
- movs r5, #0
-_08047754:
- movs r2, #0
- lsls r4, r1, #0x10
- asrs r1, r4, #0x10
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r3, r0, #2
-_08047760:
- ldr r0, [r7]
- lsls r1, r2, #0x10
- asrs r1, r1, #0x10
- adds r2, r1, r3
- adds r0, r0, r6
- adds r0, r0, r2
- strb r5, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r2, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #0x13
- ble _08047760
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r4, r1
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #2
- ble _08047754
- b _080478D0
- .align 2, 0
-_0804778C: .4byte 0x08521FCC
-_08047790: .4byte 0x050003C0
-_08047794: .4byte 0x80000010
-_08047798: .4byte 0x020314E0
-_0804779C: .4byte 0x0000063C
-_080477A0:
- cmp r0, #1
- beq _080477A6
- b _080478D0
-_080477A6:
- movs r3, #0x97
- lsls r3, r3, #4
- adds r0, r2, r3
- strh r1, [r0]
- movs r3, #0xe9
- lsls r3, r3, #3
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- b _080478D0
-_080477C4:
- ldrb r0, [r4, #0xf]
- movs r1, #0xef
- ands r1, r0
- strb r1, [r4, #0xf]
- bl sub_47FBC
- ldr r5, _08047860 @ =0x020314E0
- ldr r1, [r5]
- adds r2, r1, #0
- adds r2, #0x30
- movs r0, #0
- ldrsb r0, [r2, r0]
- cmp r0, #0
- ble _080478BC
- ldr r0, _08047864 @ =0x00000724
- adds r1, r1, r0
- movs r4, #0
- subs r0, #0x1c
- strh r0, [r1]
- ldrb r0, [r2]
- subs r0, #1
- strb r0, [r2]
- ldr r0, [r5]
- movs r1, #0x3c
- strh r1, [r0, #0x26]
- ldr r1, _08047868 @ =0x0000062A
- adds r0, r0, r1
- strb r4, [r0]
- ldr r0, [r5]
- ldr r2, _0804786C @ =0x0000062B
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r5]
- ldr r3, _08047870 @ =0x0000062C
- adds r0, r0, r3
- strb r4, [r0]
- ldr r0, [r5]
- adds r1, #3
- adds r0, r0, r1
- strb r4, [r0]
- ldr r0, [r5]
- adds r2, #3
- adds r0, r0, r2
- strb r4, [r0]
- ldr r0, [r5]
- adds r3, #3
- adds r0, r0, r3
- strb r4, [r0]
- movs r0, #0
- bl sub_11C14
- movs r0, #0
- bl sub_46FD4
- ldr r0, [r5]
- ldr r1, _08047874 @ =0x0000029E
- adds r0, r0, r1
- strb r4, [r0]
- ldr r1, [r5]
- movs r0, #0x13
- ldrsb r0, [r1, r0]
- cmp r0, #3
- bne _080478A4
- ldr r2, _08047878 @ =0x00000283
- adds r0, r1, r2
- ldrb r0, [r0]
- movs r1, #5
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- cmp r0, #4
- bhi _080478AA
- lsls r0, r0, #2
- ldr r1, _0804787C @ =_08047880
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08047860: .4byte 0x020314E0
-_08047864: .4byte 0x00000724
-_08047868: .4byte 0x0000062A
-_0804786C: .4byte 0x0000062B
-_08047870: .4byte 0x0000062C
-_08047874: .4byte 0x0000029E
-_08047878: .4byte 0x00000283
-_0804787C: .4byte _08047880
-_08047880: @ jump table
- .4byte _08047894 @ case 0
- .4byte _0804789C @ case 1
- .4byte _08047894 @ case 2
- .4byte _0804789C @ case 3
- .4byte _0804789C @ case 4
-_08047894:
- movs r0, #0xe
- bl m4aSongNumStart
- b _080478AA
-_0804789C:
- movs r0, #0xf
- bl m4aSongNumStart
- b _080478AA
-_080478A4:
- movs r0, #1
- bl sub_19B64
-_080478AA:
- ldr r0, _080478B8 @ =0x020314E0
- ldr r0, [r0]
- adds r0, #0xe4
- movs r1, #0
- strb r1, [r0]
- b _080478D0
- .align 2, 0
-_080478B8: .4byte 0x020314E0
-_080478BC:
- ldrb r0, [r4, #0xf]
- movs r1, #0x20
- orrs r0, r1
- strb r0, [r4, #0xf]
- movs r0, #0xe1
- lsls r0, r0, #4
- strh r0, [r4, #0x12]
- movs r0, #0xc
- bl m4aSongNumStart
-_080478D0:
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-
- thumb_func_start sub_478D8
-sub_478D8: @ 0x080478D8
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #4
- ldr r7, _08047AEC @ =gMain
- ldrh r0, [r7, #0x12]
- cmp r0, #0
- bne _080478EE
- b _08047F2E
-_080478EE:
- movs r0, #0xd2
- lsls r0, r0, #3
- adds r6, r7, r0
- ldrh r0, [r6]
- movs r1, #0xbb
- lsls r1, r1, #3
- adds r1, r1, r7
- mov r8, r1
- cmp r0, #0
- beq _08047984
- movs r0, #0x58
- strh r0, [r6, #2]
- ldr r0, _08047AF0 @ =0x020314E0
- ldr r0, [r0]
- adds r0, #0xfe
- ldrh r0, [r0]
- adds r0, #0x14
- strh r0, [r6, #4]
- movs r0, #0
- ldr r7, _08047AF4 @ =gOamBuffer
- ldr r2, _08047AF8 @ =0xFFFFFE00
- mov sl, r2
- movs r3, #0xf
- rsbs r3, r3, #0
- mov sb, r3
-_08047920:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08047AFC @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, sl
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r3, [r5, #4]
- adds r0, r0, r3
- strb r0, [r1]
- ldrh r2, [r5]
- lsls r2, r2, #3
- adds r2, r2, r7
- ldrb r0, [r2, #1]
- movs r1, #3
- orrs r0, r1
- strb r0, [r2, #1]
- ldrh r2, [r5]
- lsls r2, r2, #3
- adds r2, r2, r7
- ldrb r1, [r2, #3]
- mov r0, sb
- ands r0, r1
- movs r1, #6
- orrs r0, r1
- strb r0, [r2, #3]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #1
- ble _08047920
-_08047984:
- mov r6, r8
- ldrh r0, [r6]
- cmp r0, #0
- beq _08047A14
- ldr r4, _08047AF0 @ =0x020314E0
- ldr r0, [r4]
- movs r5, #0x80
- lsls r5, r5, #1
- adds r0, r0, r5
- ldr r0, [r0]
- movs r1, #0x64
- bl __divsi3
- adds r0, #0x18
- strh r0, [r6, #2]
- ldr r0, [r4]
- adds r4, r0, #0
- adds r4, #0xfe
- movs r1, #0x82
- lsls r1, r1, #1
- adds r0, r0, r1
- ldr r0, [r0]
- movs r1, #0x64
- bl __divsi3
- adds r0, #0x14
- ldrh r4, [r4]
- adds r0, r0, r4
- strh r0, [r6, #4]
- adds r5, r6, #0
- adds r5, #8
- ldr r4, _08047AF4 @ =gOamBuffer
- ldrh r2, [r6, #8]
- lsls r2, r2, #3
- adds r2, r2, r4
- movs r3, #2
- ldrsh r1, [r5, r3]
- movs r3, #2
- ldrsh r0, [r6, r3]
- adds r1, r1, r0
- ldr r3, _08047AFC @ =0x000001FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- ldr r0, _08047AF8 @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r6, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- ldrh r1, [r6, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r1, #1]
- movs r2, #3
- orrs r0, r2
- strb r0, [r1, #1]
- ldrh r2, [r6, #8]
- lsls r2, r2, #3
- adds r2, r2, r4
- ldrb r1, [r2, #3]
- movs r0, #0xf
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #8
- orrs r0, r1
- strb r0, [r2, #3]
-_08047A14:
- subs r6, #0xb8
- ldrh r0, [r6]
- cmp r0, #0
- beq _08047A9A
- ldr r4, _08047AF0 @ =0x020314E0
- ldr r0, [r4]
- movs r5, #0x80
- lsls r5, r5, #1
- adds r0, r0, r5
- ldr r0, [r0]
- movs r1, #0x64
- bl __divsi3
- adds r0, #0x38
- strh r0, [r6, #2]
- ldr r0, [r4]
- adds r4, r0, #0
- adds r4, #0xfe
- movs r1, #0x82
- lsls r1, r1, #1
- adds r0, r0, r1
- ldr r0, [r0]
- movs r1, #0x64
- bl __divsi3
- adds r0, #0x34
- ldrh r4, [r4]
- adds r0, r0, r4
- strh r0, [r6, #4]
- movs r0, #0
- ldr r7, _08047AF4 @ =gOamBuffer
- ldr r2, _08047AF8 @ =0xFFFFFE00
- mov r8, r2
-_08047A56:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r5, r6, r0
- ldrh r3, [r5]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r0, #2
- ldrsh r1, [r5, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08047AFC @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r5, [r5, #4]
- adds r0, r0, r5
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #1
- ble _08047A56
-_08047A9A:
- ldr r1, _08047AEC @ =gMain
- ldrh r0, [r1, #0x12]
- subs r0, #1
- strh r0, [r1, #0x12]
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0x46
- bls _08047B00
- ldrh r1, [r1, #0x12]
- adds r2, r1, #0
- adds r2, #0x14
- adds r0, r2, #0
- asrs r0, r0, #6
- lsls r0, r0, #6
- subs r0, r2, r0
- lsls r0, r0, #0x1a
- lsrs r0, r0, #0x10
- bl sub_C24
- ldr r1, _08047AF0 @ =0x020314E0
- ldr r5, [r1]
- movs r3, #0x82
- lsls r3, r3, #1
- adds r4, r5, r3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #0x28
- bl __divsi3
- str r0, [r4]
- movs r4, #0x84
- lsls r4, r4, #1
- adds r1, r5, r4
- movs r0, #0xa
- strh r0, [r1]
- movs r0, #0x85
- lsls r0, r0, #1
- adds r1, r5, r0
- adds r0, #0x86
- strh r0, [r1]
- b _08047B3C
- .align 2, 0
-_08047AEC: .4byte gMain
-_08047AF0: .4byte 0x020314E0
-_08047AF4: .4byte gOamBuffer
-_08047AF8: .4byte 0xFFFFFE00
-_08047AFC: .4byte 0x000001FF
-_08047B00:
- ldr r0, _08047B6C @ =0x020314E0
- ldr r4, [r0]
- movs r2, #0x84
- lsls r2, r2, #1
- adds r1, r4, r2
- movs r0, #0xc8
- lsls r0, r0, #1
- strh r0, [r1]
- movs r5, #0x85
- lsls r5, r5, #1
- adds r3, r4, r5
- ldrh r0, [r3]
- subs r0, #0x23
- strh r0, [r3]
- movs r0, #0x80
- lsls r0, r0, #1
- adds r2, r4, r0
- movs r5, #0
- ldrsh r1, [r1, r5]
- ldr r0, [r2]
- adds r0, r0, r1
- str r0, [r2]
- movs r0, #0x82
- lsls r0, r0, #1
- adds r2, r4, r0
- movs r4, #0
- ldrsh r1, [r3, r4]
- ldr r0, [r2]
- adds r0, r0, r1
- str r0, [r2]
-_08047B3C:
- ldr r1, _08047B70 @ =gMain
- ldrh r2, [r1, #0x12]
- adds r0, r2, #0
- subs r0, #0x1e
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- adds r6, r1, #0
- cmp r0, #0x1d
- bhi _08047B74
- ldrh r1, [r6, #0x12]
- movs r0, #0x3c
- subs r0, r0, r1
- lsls r0, r0, #8
- movs r1, #0x1e
- bl __divsi3
- movs r5, #0x80
- lsls r5, r5, #1
- adds r0, r0, r5
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- str r0, [sp]
- b _08047B8C
- .align 2, 0
-_08047B6C: .4byte 0x020314E0
-_08047B70: .4byte gMain
-_08047B74:
- movs r0, #0x80
- lsls r0, r0, #1
- str r0, [sp]
- lsls r0, r2, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0x1d
- bhi _08047B8C
- movs r2, #0xbb
- lsls r2, r2, #3
- adds r1, r6, r2
- movs r0, #0
- strh r0, [r1]
-_08047B8C:
- ldrh r0, [r6, #0x12]
- cmp r0, #0x1e
- bhi _08047BBE
- cmp r0, #0xa
- bls _08047BAE
- adds r1, r0, #0
- subs r1, #0xa
- lsls r0, r1, #5
- subs r0, r0, r1
- lsls r0, r0, #3
- movs r1, #0x14
- bl __divsi3
- adds r0, #8
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- b _08047BE4
-_08047BAE:
- movs r3, #8
- mov sl, r3
- movs r4, #0xd2
- lsls r4, r4, #3
- adds r1, r6, r4
- movs r0, #0
- strh r0, [r1]
- b _08047BE6
-_08047BBE:
- ldr r0, _08047C48 @ =0x020314E0
- ldr r0, [r0]
- adds r1, r0, #0
- adds r1, #0xfe
- ldrh r2, [r1]
- movs r5, #0
- ldrsh r0, [r1, r5]
- cmp r0, #0
- ble _08047BE0
- adds r0, r2, #0
- subs r0, #8
- strh r0, [r1]
- lsls r0, r0, #0x10
- cmp r0, #0
- bge _08047BE0
- movs r0, #0
- strh r0, [r1]
-_08047BE0:
- movs r0, #0x80
- lsls r0, r0, #1
-_08047BE4:
- mov sl, r0
-_08047BE6:
- adds r3, r6, #0
- ldrh r0, [r3, #0x12]
- cmp r0, #0xca
- bls _08047BF0
- b _08047DBA
-_08047BF0:
- cmp r0, #0x37
- bls _08047C50
- ldr r7, _08047C48 @ =0x020314E0
- ldr r2, [r7]
- movs r1, #0x84
- lsls r1, r1, #1
- adds r0, r2, r1
- ldrh r1, [r0]
- movs r4, #0x86
- lsls r4, r4, #1
- adds r0, r2, r4
- strh r1, [r0]
- movs r5, #0x85
- lsls r5, r5, #1
- adds r0, r2, r5
- ldrh r0, [r0]
- subs r0, #0x5a
- adds r4, #2
- adds r1, r2, r4
- strh r0, [r1]
- adds r5, #6
- mov r8, r5
- adds r1, r2, r5
- subs r4, #0xe
- adds r0, r2, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r5, #4
- mov sb, r5
- adds r1, r2, r5
- adds r4, #4
- adds r0, r2, r4
- ldr r0, [r0]
- str r0, [r1]
- ldrh r0, [r3, #0x12]
- cmp r0, #0x38
- bne _08047C40
- movs r0, #0x95
- bl m4aSongNumStart
-_08047C40:
- ldr r5, [r7]
- ldr r0, _08047C4C @ =0x0000132C
- adds r4, r5, r0
- b _08047CBC
- .align 2, 0
-_08047C48: .4byte 0x020314E0
-_08047C4C: .4byte 0x0000132C
-_08047C50:
- cmp r0, #0x1f
- bls _08047D00
- ldr r7, _08047CF4 @ =0x020314E0
- ldr r5, [r7]
- movs r0, #0x87
- lsls r0, r0, #1
- adds r4, r5, r0
- ldrh r0, [r4]
- adds r0, #6
- movs r1, #0
- mov ip, r1
- strh r0, [r4]
- movs r2, #0x88
- lsls r2, r2, #1
- mov r8, r2
- adds r2, r5, r2
- movs r3, #0x86
- lsls r3, r3, #1
- adds r0, r5, r3
- movs r3, #0
- ldrsh r1, [r0, r3]
- ldr r0, [r2]
- adds r0, r0, r1
- str r0, [r2]
- movs r0, #0x8a
- lsls r0, r0, #1
- mov sb, r0
- adds r2, r5, r0
- movs r3, #0
- ldrsh r1, [r4, r3]
- ldr r0, [r2]
- adds r0, r0, r1
- str r0, [r2]
- movs r4, #0xa4
- lsls r4, r4, #3
- adds r0, r6, r4
- mov r1, ip
- strh r1, [r0]
- ldrh r0, [r6, #0x12]
- cmp r0, #0x20
- bne _08047CB6
- ldr r2, _08047CF8 @ =0x000005FA
- adds r1, r5, r2
- movs r0, #0
- strb r0, [r1]
- movs r0, #0x96
- bl m4aSongNumStart
- movs r0, #6
- bl sub_11B0
-_08047CB6:
- ldr r5, [r7]
- ldr r3, _08047CFC @ =0x0000132C
- adds r4, r5, r3
-_08047CBC:
- ldr r6, [r4]
- mov r1, r8
- adds r0, r5, r1
- ldr r0, [r0]
- movs r1, #0x64
- bl __divsi3
- adds r0, #0x56
- lsls r0, r0, #8
- str r0, [r6, #0x34]
- ldr r6, [r4]
- adds r0, r5, #0
- adds r0, #0xfe
- movs r2, #0
- ldrsh r4, [r0, r2]
- add r5, sb
- ldr r0, [r5]
- movs r1, #0x64
- bl __divsi3
- movs r3, #0xba
- lsls r3, r3, #1
- adds r0, r0, r3
- adds r4, r4, r0
- lsls r4, r4, #8
- str r4, [r6, #0x38]
- adds r2, r7, #0
- b _08047D80
- .align 2, 0
-_08047CF4: .4byte 0x020314E0
-_08047CF8: .4byte 0x000005FA
-_08047CFC: .4byte 0x0000132C
-_08047D00:
- ldr r4, _08047E68 @ =0x020314E0
- mov sb, r4
- ldr r7, [r4]
- movs r5, #0x86
- lsls r5, r5, #1
- adds r1, r7, r5
- movs r0, #0
- strh r0, [r1]
- movs r0, #0x87
- lsls r0, r0, #1
- adds r3, r7, r0
- ldrh r0, [r3]
- adds r0, #0x14
- strh r0, [r3]
- movs r4, #0x88
- lsls r4, r4, #1
- adds r2, r7, r4
- movs r5, #0
- ldrsh r1, [r1, r5]
- ldr r0, [r2]
- adds r0, r0, r1
- str r0, [r2]
- movs r0, #0x8a
- lsls r0, r0, #1
- adds r5, r7, r0
- movs r4, #0
- ldrsh r1, [r3, r4]
- ldr r0, [r5]
- adds r0, r0, r1
- str r0, [r5]
- ldr r0, _08047E6C @ =0x0000132C
- adds r6, r7, r0
- ldr r4, [r6]
- ldr r0, [r2]
- movs r1, #0x64
- bl __divsi3
- adds r0, #0x56
- lsls r0, r0, #8
- str r0, [r4, #0x34]
- ldr r1, [r6]
- mov r8, r1
- adds r0, r7, #0
- adds r0, #0xfe
- movs r2, #0
- ldrsh r4, [r0, r2]
- ldr r0, [r5]
- movs r1, #0x64
- bl __divsi3
- movs r3, #0xba
- lsls r3, r3, #1
- adds r0, r0, r3
- adds r4, r4, r0
- lsls r4, r4, #8
- mov r5, r8
- str r4, [r5, #0x38]
- ldr r6, [r6]
- ldr r0, [r6, #0x38]
- ldr r1, _08047E70 @ =0x00017100
- mov r2, sb
- cmp r0, r1
- ble _08047D80
- str r1, [r6, #0x38]
-_08047D80:
- ldr r0, [r2]
- ldr r1, _08047E6C @ =0x0000132C
- adds r0, r0, r1
- ldr r0, [r0]
- movs r3, #0
- strb r3, [r0, #1]
- ldr r0, [r2]
- adds r2, r0, r1
- ldr r1, [r2]
- ldr r0, [r1, #0x28]
- str r0, [r1, #0x2c]
- ldr r1, [r2]
- ldr r0, [r1, #0x34]
- cmp r0, #0
- bge _08047DA0
- adds r0, #0x7f
-_08047DA0:
- asrs r0, r0, #7
- strh r0, [r1, #0x28]
- ldr r1, [r2]
- ldr r0, [r1, #0x38]
- cmp r0, #0
- bge _08047DAE
- adds r0, #0x7f
-_08047DAE:
- asrs r0, r0, #7
- strh r0, [r1, #0x2a]
- ldr r0, [r2]
- strh r3, [r0, #0x30]
- ldr r0, [r2]
- strh r3, [r0, #0x32]
-_08047DBA:
- movs r0, #0x80
- lsls r0, r0, #1
- mov r2, sl
- lsls r1, r2, #0x10
- asrs r1, r1, #0x10
- movs r2, #3
- bl SetMatrixScale
- ldr r3, [sp]
- lsls r1, r3, #0x10
- asrs r1, r1, #0x10
- adds r0, r1, #0
- movs r2, #4
- bl SetMatrixScale
- ldr r4, _08047E74 @ =gMain
- ldrh r1, [r4, #0x12]
- cmp r1, #0xcb
- beq _08047DE2
- b _08047F18
-_08047DE2:
- ldr r2, _08047E68 @ =0x020314E0
- ldr r3, [r2]
- movs r5, #0x80
- lsls r5, r5, #1
- adds r0, r3, r5
- movs r1, #0
- str r1, [r0]
- adds r5, #4
- adds r0, r3, r5
- str r1, [r0]
- adds r5, #4
- adds r0, r3, r5
- strh r1, [r0]
- adds r5, #2
- adds r0, r3, r5
- strh r1, [r0]
- adds r1, r3, #0
- adds r1, #0xfe
- movs r0, #0x64
- strh r0, [r1]
- movs r1, #0xd2
- lsls r1, r1, #3
- adds r0, r4, r1
- movs r1, #1
- strh r1, [r0]
- movs r3, #0xbb
- lsls r3, r3, #3
- adds r0, r4, r3
- strh r1, [r0]
- movs r5, #0xa4
- lsls r5, r5, #3
- adds r0, r4, r5
- strh r1, [r0]
- ldrb r0, [r4, #4]
- cmp r0, #0
- bne _08047EAC
- ldr r0, _08047E78 @ =0x040000D4
- ldr r1, _08047E7C @ =0x0850100C
- str r1, [r0]
- ldr r1, _08047E80 @ =0x06015800
- str r1, [r0, #4]
- ldr r1, _08047E84 @ =0x80001200
- str r1, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, _08047E88 @ =0x085028CC
- str r1, [r0]
- ldr r1, _08047E8C @ =0x06016800
- str r1, [r0, #4]
- ldr r1, _08047E90 @ =0x80000400
- str r1, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, _08047E94 @ =0x085038CC
- str r1, [r0]
- ldr r1, _08047E98 @ =0x06017000
- str r1, [r0, #4]
- ldr r1, _08047E9C @ =0x80000060
- str r1, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, _08047EA0 @ =0x08514F4C
- str r1, [r0]
- ldr r1, _08047EA4 @ =0x050003C0
- str r1, [r0, #4]
- ldr r1, _08047EA8 @ =0x80000010
- str r1, [r0, #8]
- ldr r0, [r0, #8]
- b _08047ECA
- .align 2, 0
-_08047E68: .4byte 0x020314E0
-_08047E6C: .4byte 0x0000132C
-_08047E70: .4byte 0x00017100
-_08047E74: .4byte gMain
-_08047E78: .4byte 0x040000D4
-_08047E7C: .4byte 0x0850100C
-_08047E80: .4byte 0x06015800
-_08047E84: .4byte 0x80001200
-_08047E88: .4byte 0x085028CC
-_08047E8C: .4byte 0x06016800
-_08047E90: .4byte 0x80000400
-_08047E94: .4byte 0x085038CC
-_08047E98: .4byte 0x06017000
-_08047E9C: .4byte 0x80000060
-_08047EA0: .4byte 0x08514F4C
-_08047EA4: .4byte 0x050003C0
-_08047EA8: .4byte 0x80000010
-_08047EAC:
- ldr r1, _08047EF4 @ =0x040000D4
- ldr r0, _08047EF8 @ =0x0850100C
- str r0, [r1]
- ldr r0, _08047EFC @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _08047F00 @ =0x80001200
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldr r0, _08047F04 @ =0x08514F6C
- str r0, [r1]
- ldr r0, _08047F08 @ =0x050003C0
- str r0, [r1, #4]
- ldr r0, _08047F0C @ =0x80000010
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_08047ECA:
- ldr r1, [r2]
- movs r0, #2
- strb r0, [r1, #0x1f]
- ldr r0, [r2]
- ldr r1, _08047F10 @ =0x000005FA
- adds r0, r0, r1
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, _08047F14 @ =0x000005F7
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- movs r4, #0x88
- lsls r4, r4, #5
- adds r0, r0, r4
- strb r1, [r0]
- movs r0, #0x94
- bl m4aSongNumStart
- b _08047FA0
- .align 2, 0
-_08047EF4: .4byte 0x040000D4
-_08047EF8: .4byte 0x0850100C
-_08047EFC: .4byte 0x06015800
-_08047F00: .4byte 0x80001200
-_08047F04: .4byte 0x08514F6C
-_08047F08: .4byte 0x050003C0
-_08047F0C: .4byte 0x80000010
-_08047F10: .4byte 0x000005FA
-_08047F14: .4byte 0x000005F7
-_08047F18:
- cmp r1, #0
- bne _08047FA0
- movs r5, #0xd2
- lsls r5, r5, #3
- adds r0, r4, r5
- strh r1, [r0]
- movs r2, #0xbb
- lsls r2, r2, #3
- adds r0, r4, r2
- strh r1, [r0]
- b _08047FA0
-_08047F2E:
- ldrb r1, [r7, #0xf]
- movs r0, #0xf7
- ands r0, r1
- strb r0, [r7, #0xf]
- ldr r5, _08047F6C @ =0x020314E0
- ldr r1, [r5]
- movs r4, #0
- movs r0, #0x3c
- strh r0, [r1, #0x26]
- movs r0, #0
- bl sub_11C14
- ldr r0, [r5]
- strb r4, [r0, #0x1f]
- movs r0, #0
- bl sub_46FD4
- ldr r0, [r5]
- ldr r3, _08047F70 @ =0x0000029E
- adds r0, r0, r3
- strb r4, [r0]
- ldrb r0, [r7, #4]
- cmp r0, #0
- bne _08047F78
- ldr r0, [r5]
- ldr r4, _08047F74 @ =0x0000132C
- adds r0, r0, r4
- ldr r1, [r0]
- movs r0, #3
- b _08047F82
- .align 2, 0
-_08047F6C: .4byte 0x020314E0
-_08047F70: .4byte 0x0000029E
-_08047F74: .4byte 0x0000132C
-_08047F78:
- ldr r0, [r5]
- ldr r5, _08047FB0 @ =0x0000132C
- adds r0, r0, r5
- ldr r1, [r0]
- movs r0, #1
-_08047F82:
- strb r0, [r1, #1]
- ldr r2, _08047FB4 @ =0x020314E0
- ldr r0, [r2]
- ldr r1, _08047FB8 @ =0x000005F7
- adds r0, r0, r1
- movs r1, #0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, #0xe4
- strb r1, [r0]
- ldr r0, [r2]
- movs r2, #0x88
- lsls r2, r2, #5
- adds r0, r0, r2
- strb r1, [r0]
-_08047FA0:
- add sp, #4
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08047FB0: .4byte 0x0000132C
-_08047FB4: .4byte 0x020314E0
-_08047FB8: .4byte 0x000005F7
-
- thumb_func_start sub_47FBC
-sub_47FBC: @ 0x08047FBC
- ldr r3, _08047FE4 @ =0x03005C00
- ldr r2, _08047FE8 @ =0x000001FF
- movs r0, #0xd0
- lsls r0, r0, #3
- adds r1, r3, r0
- movs r0, #0x40
-_08047FC8:
- strh r2, [r1]
- adds r1, #2
- subs r0, #1
- cmp r0, #0
- bne _08047FC8
- ldr r1, _08047FEC @ =0x040000D4
- str r3, [r1]
- ldr r0, _08047FF0 @ =0x06002000
- str r0, [r1, #4]
- ldr r0, _08047FF4 @ =0x80000400
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- bx lr
- .align 2, 0
-_08047FE4: .4byte 0x03005C00
-_08047FE8: .4byte 0x000001FF
-_08047FEC: .4byte 0x040000D4
-_08047FF0: .4byte 0x06002000
-_08047FF4: .4byte 0x80000400
-
- thumb_func_start sub_47FF8
-sub_47FF8: @ 0x08047FF8
- push {r4, lr}
- ldr r2, _08048068 @ =gMain
- ldrh r1, [r2, #0x1c]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _08048074
- movs r0, #0x40
- ands r0, r1
- ldr r3, _0804806C @ =0x020314E0
- cmp r0, #0
- beq _0804801E
- ldr r0, [r3]
- ldr r1, _08048070 @ =0x0000132C
- adds r0, r0, r1
- ldr r1, [r0]
- ldr r0, [r1, #0x38]
- subs r0, #0x80
- str r0, [r1, #0x38]
-_0804801E:
- ldrh r1, [r2, #0x1c]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08048036
- ldr r0, [r3]
- ldr r4, _08048070 @ =0x0000132C
- adds r0, r0, r4
- ldr r1, [r0]
- ldr r0, [r1, #0x38]
- adds r0, #0x80
- str r0, [r1, #0x38]
-_08048036:
- ldrh r1, [r2, #0x1c]
- movs r0, #0x20
- ands r0, r1
- cmp r0, #0
- beq _0804804E
- ldr r0, [r3]
- ldr r1, _08048070 @ =0x0000132C
- adds r0, r0, r1
- ldr r1, [r0]
- ldr r0, [r1, #0x34]
- subs r0, #0x80
- str r0, [r1, #0x34]
-_0804804E:
- ldrh r1, [r2, #0x1c]
- movs r0, #0x10
- ands r0, r1
- cmp r0, #0
- beq _080480E0
- ldr r0, [r3]
- ldr r2, _08048070 @ =0x0000132C
- adds r0, r0, r2
- ldr r1, [r0]
- ldr r0, [r1, #0x34]
- adds r0, #0x80
- b _080480DE
- .align 2, 0
-_08048068: .4byte gMain
-_0804806C: .4byte 0x020314E0
-_08048070: .4byte 0x0000132C
-_08048074:
- movs r0, #0x40
- ands r0, r1
- ldr r3, _08048118 @ =0x020314E0
- cmp r0, #0
- beq _0804808E
- ldr r0, [r3]
- ldr r4, _0804811C @ =0x0000132C
- adds r0, r0, r4
- ldr r1, [r0]
- ldr r0, [r1, #0x38]
- ldr r4, _08048120 @ =0xFFFFFE00
- adds r0, r0, r4
- str r0, [r1, #0x38]
-_0804808E:
- ldrh r1, [r2, #0x1c]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _080480AA
- ldr r0, [r3]
- ldr r1, _0804811C @ =0x0000132C
- adds r0, r0, r1
- ldr r1, [r0]
- ldr r0, [r1, #0x38]
- movs r4, #0x80
- lsls r4, r4, #2
- adds r0, r0, r4
- str r0, [r1, #0x38]
-_080480AA:
- ldrh r1, [r2, #0x1c]
- movs r0, #0x20
- ands r0, r1
- cmp r0, #0
- beq _080480C4
- ldr r0, [r3]
- ldr r1, _0804811C @ =0x0000132C
- adds r0, r0, r1
- ldr r1, [r0]
- ldr r0, [r1, #0x34]
- ldr r4, _08048120 @ =0xFFFFFE00
- adds r0, r0, r4
- str r0, [r1, #0x34]
-_080480C4:
- ldrh r1, [r2, #0x1c]
- movs r0, #0x10
- ands r0, r1
- cmp r0, #0
- beq _080480E0
- ldr r0, [r3]
- ldr r1, _0804811C @ =0x0000132C
- adds r0, r0, r1
- ldr r1, [r0]
- ldr r0, [r1, #0x34]
- movs r2, #0x80
- lsls r2, r2, #2
- adds r0, r0, r2
-_080480DE:
- str r0, [r1, #0x34]
-_080480E0:
- ldr r0, [r3]
- ldr r4, _0804811C @ =0x0000132C
- adds r2, r0, r4
- ldr r1, [r2]
- ldr r0, [r1, #0x28]
- str r0, [r1, #0x2c]
- ldr r1, [r2]
- ldr r0, [r1, #0x34]
- cmp r0, #0
- bge _080480F6
- adds r0, #0x7f
-_080480F6:
- asrs r0, r0, #7
- movs r3, #0
- strh r0, [r1, #0x28]
- ldr r1, [r2]
- ldr r0, [r1, #0x38]
- cmp r0, #0
- bge _08048106
- adds r0, #0x7f
-_08048106:
- asrs r0, r0, #7
- strh r0, [r1, #0x2a]
- ldr r0, [r2]
- strh r3, [r0, #0x30]
- ldr r0, [r2]
- strh r3, [r0, #0x32]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08048118: .4byte 0x020314E0
-_0804811C: .4byte 0x0000132C
-_08048120: .4byte 0xFFFFFE00
-
- thumb_func_start sub_48124
-sub_48124: @ 0x08048124
- ldr r3, _08048188 @ =gMain
- ldrh r1, [r3, #0x18]
- movs r0, #0x40
- ands r0, r1
- cmp r0, #0
- beq _0804813E
- ldr r0, _0804818C @ =0x020314E0
- ldr r1, [r0]
- adds r1, #0x31
- ldrb r0, [r1]
- movs r2, #1
- eors r0, r2
- strb r0, [r1]
-_0804813E:
- ldrh r1, [r3, #0x18]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08048156
- ldr r0, _0804818C @ =0x020314E0
- ldr r1, [r0]
- adds r1, #0x31
- ldrb r0, [r1]
- movs r2, #1
- eors r0, r2
- strb r0, [r1]
-_08048156:
- ldrh r1, [r3, #0x18]
- movs r0, #0x10
- ands r0, r1
- cmp r0, #0
- beq _0804816E
- ldr r0, _0804818C @ =0x020314E0
- ldr r1, [r0]
- adds r1, #0x31
- ldrb r0, [r1]
- movs r2, #1
- eors r0, r2
- strb r0, [r1]
-_0804816E:
- ldrh r1, [r3, #0x18]
- movs r0, #0x20
- ands r0, r1
- cmp r0, #0
- beq _08048186
- ldr r0, _0804818C @ =0x020314E0
- ldr r1, [r0]
- adds r1, #0x31
- ldrb r0, [r1]
- movs r2, #1
- eors r0, r2
- strb r0, [r1]
-_08048186:
- bx lr
- .align 2, 0
-_08048188: .4byte gMain
-_0804818C: .4byte 0x020314E0
-
- thumb_func_start sub_48190
-sub_48190: @ 0x08048190
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #0x28
- ldr r2, _080481F8 @ =0x020314E0
- ldr r3, [r2]
- ldr r1, _080481FC @ =0x0000063A
- adds r0, r3, r1
- ldrh r1, [r0]
- movs r0, #0xd4
- subs r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- mov sl, r0
- movs r4, #0
- str r4, [sp, #0x10]
- movs r7, #0
- str r7, [sp, #0x14]
- movs r0, #0
- str r0, [sp, #0x18]
- adds r1, r2, #0
- mov r8, r1
- ldr r6, _08048200 @ =0x040000D4
- movs r2, #0xcf
- lsls r2, r2, #3
- adds r3, r3, r2
- ldr r7, _08048204 @ =0x80000010
- mov sb, r7
-_080481CC:
- lsls r0, r4, #2
- adds r1, r4, #1
- mov ip, r1
- adds r0, r0, r4
- movs r1, #0x16
- muls r1, r4, r1
- lsls r4, r0, #2
- movs r5, #0x13
- lsls r1, r1, #5
- ldr r7, _08048208 @ =0x06017400
- adds r2, r1, r7
-_080481E2:
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #0x10
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x5f
- bne _0804820C
- movs r1, #0x30
- b _0804821E
- .align 2, 0
-_080481F8: .4byte 0x020314E0
-_080481FC: .4byte 0x0000063A
-_08048200: .4byte 0x040000D4
-_08048204: .4byte 0x80000010
-_08048208: .4byte 0x06017400
-_0804820C:
- cmp r0, #0x5e
- bne _08048214
- movs r1, #0x2f
- b _0804821E
-_08048214:
- cmp r0, #0x2e
- ble _0804821E
- subs r0, #0x41
- lsls r0, r0, #0x10
- lsrs r1, r0, #0x10
-_0804821E:
- mov r7, r8
- ldr r0, [r7]
- ldr r7, _08048244 @ =0x0000063C
- adds r0, r0, r7
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _0804824C
- lsls r0, r1, #0x10
- asrs r0, r0, #0xb
- ldr r1, _08048248 @ =0x0850558C
- adds r0, r0, r1
- str r0, [r6]
- str r2, [r6, #4]
- mov r0, sb
- str r0, [r6, #8]
- b _08048256
- .align 2, 0
-_08048244: .4byte 0x0000063C
-_08048248: .4byte 0x0850558C
-_0804824C:
- ldr r0, _080483A0 @ =0x08505B8C
- str r0, [r6]
- str r2, [r6, #4]
- mov r1, sb
- str r1, [r6, #8]
-_08048256:
- ldr r0, [r6, #8]
- adds r2, #0x20
- adds r4, #1
- subs r5, #1
- cmp r5, #0
- bge _080481E2
- mov r4, ip
- cmp r4, #2
- ble _080481CC
- ldr r2, _080483A4 @ =gMain
- ldrh r0, [r2, #0x12]
- cmp r0, #0xb3
- bls _08048272
- b _08048412
-_08048272:
- cmp r0, #0x32
- bhi _08048278
- b _08048412
-_08048278:
- ldrh r1, [r2, #0x18]
- movs r2, #1
- adds r0, r2, #0
- ands r0, r1
- cmp r0, #0
- bne _08048286
- b _08048412
-_08048286:
- ldr r4, _080483A8 @ =0x020314E0
- ldr r3, [r4]
- ldr r7, _080483AC @ =0x00000639
- adds r0, r3, r7
- movs r6, #0
- ldrsb r6, [r0, r6]
- cmp r6, #0
- beq _08048298
- b _080483CC
-_08048298:
- ldr r0, _080483B0 @ =0x0000063A
- adds r1, r3, r0
- movs r0, #0x64
- strh r0, [r1]
- mov sl, r0
- movs r2, #0xc7
- lsls r2, r2, #3
- adds r1, r3, r2
- movs r0, #6
- strb r0, [r1]
- ldr r4, [r4]
- movs r3, #0xc6
- lsls r3, r3, #3
- adds r5, r4, r3
- subs r7, #0xf
- adds r0, r4, r7
- ldrb r1, [r0]
- lsls r0, r1, #5
- subs r0, r0, r1
- lsls r2, r0, #6
- subs r2, r2, r0
- lsls r2, r2, #3
- adds r2, r2, r1
- lsls r2, r2, #5
- ldr r1, _080483B4 @ =0x0000062B
- adds r0, r4, r1
- ldrb r1, [r0]
- ldr r0, _080483B8 @ =0x000B71B0
- muls r0, r1, r0
- adds r2, r2, r0
- subs r3, #4
- adds r0, r4, r3
- ldrb r3, [r0]
- lsls r1, r3, #5
- subs r1, r1, r3
- lsls r0, r1, #6
- subs r0, r0, r1
- lsls r0, r0, #3
- adds r0, r0, r3
- lsls r0, r0, #5
- adds r2, r2, r0
- adds r7, #3
- adds r0, r4, r7
- ldrb r0, [r0]
- ldr r1, _080483BC @ =0x000186A0
- muls r0, r1, r0
- adds r2, r2, r0
- ldr r3, _080483C0 @ =0x0000062E
- adds r0, r4, r3
- ldrb r0, [r0]
- muls r0, r1, r0
- adds r2, r2, r0
- str r2, [r5]
- adds r7, #7
- adds r4, r4, r7
- str r6, [r4]
- movs r0, #0x96
- ldr r1, _080483A4 @ =gMain
- strh r0, [r1, #0x12]
- movs r5, #0
- ldr r2, _080483A8 @ =0x020314E0
- adds r7, #8
- movs r3, #1
-_08048316:
- ldr r0, [r2]
- adds r0, r0, r7
- adds r0, r0, r5
- strb r3, [r0]
- adds r5, #1
- cmp r5, #0x13
- ble _08048316
- movs r5, #0
- ldr r3, _080483A8 @ =0x020314E0
- movs r2, #0xca
- lsls r2, r2, #3
- movs r1, #1
-_0804832E:
- ldr r0, [r3]
- adds r0, r0, r2
- adds r0, r0, r5
- strb r1, [r0]
- adds r5, #1
- cmp r5, #0x13
- ble _0804832E
- movs r5, #0
- ldr r3, _080483A8 @ =0x020314E0
- ldr r2, _080483C4 @ =0x00000664
- movs r1, #1
-_08048344:
- ldr r0, [r3]
- adds r0, r0, r2
- adds r0, r0, r5
- strb r1, [r0]
- adds r5, #1
- cmp r5, #0x13
- ble _08048344
- movs r4, #0
- ldr r2, _080483A8 @ =0x020314E0
- mov sb, r2
- ldr r3, _080483C8 @ =0x086B0128
- mov r8, r3
- movs r7, #0xcf
- lsls r7, r7, #3
- movs r6, #0xc7
- lsls r6, r6, #3
-_08048364:
- movs r5, #0
- lsls r0, r4, #2
- adds r1, r4, #1
- mov ip, r1
- adds r0, r0, r4
- lsls r4, r0, #2
-_08048370:
- mov r2, sb
- ldr r0, [r2]
- adds r2, r5, r4
- adds r3, r0, r7
- adds r3, r3, r2
- adds r0, r0, r6
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #4
- subs r0, r0, r1
- lsls r0, r0, #2
- adds r2, r2, r0
- add r2, r8
- ldrb r0, [r2]
- strb r0, [r3]
- adds r5, #1
- cmp r5, #0x13
- ble _08048370
- mov r4, ip
- cmp r4, #2
- ble _08048364
- movs r3, #1
- str r3, [sp, #0x14]
- b _08048412
- .align 2, 0
-_080483A0: .4byte 0x08505B8C
-_080483A4: .4byte gMain
-_080483A8: .4byte 0x020314E0
-_080483AC: .4byte 0x00000639
-_080483B0: .4byte 0x0000063A
-_080483B4: .4byte 0x0000062B
-_080483B8: .4byte 0x000B71B0
-_080483BC: .4byte 0x000186A0
-_080483C0: .4byte 0x0000062E
-_080483C4: .4byte 0x00000664
-_080483C8: .4byte 0x086B0128
-_080483CC:
- ldr r4, _08048560 @ =0x0000063A
- adds r0, r3, r4
- movs r5, #0
- strh r2, [r0]
- movs r0, #0x33
- ldr r7, _08048564 @ =gMain
- strh r0, [r7, #0x12]
- movs r0, #0x64
- mov sl, r0
- ldr r1, _08048568 @ =0x000006B4
- adds r4, r3, r1
- ldr r1, [r4]
- cmp r1, #0
- bne _080483F4
- movs r2, #0xd7
- lsls r2, r2, #3
- adds r0, r3, r2
- ldr r0, [r0]
- cmp r0, #0
- beq _08048412
-_080483F4:
- ldr r0, [r3, #0x44]
- adds r0, r0, r1
- str r0, [r3, #0x44]
- movs r7, #0xd7
- lsls r7, r7, #3
- adds r2, r3, r7
- ldr r0, [r3, #0x48]
- ldr r1, [r2]
- adds r0, r0, r1
- str r0, [r3, #0x48]
- str r5, [r4]
- str r5, [r2]
- movs r0, #0x91
- bl m4aSongNumStart
-_08048412:
- ldr r0, _08048564 @ =gMain
- ldrh r1, [r0, #0x12]
- mov r0, sl
- lsls r0, r0, #0x10
- str r0, [sp, #0x1c]
- cmp r1, #0xb9
- bne _08048496
- ldr r1, _0804856C @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08048570 @ =0x00000639
- adds r0, r0, r2
- movs r3, #0
- strb r3, [r0]
- ldr r1, [r1]
- ldr r4, _08048560 @ =0x0000063A
- adds r2, r1, r4
- movs r4, #0
- movs r0, #0xd4
- strh r0, [r2]
- movs r2, #0xc7
- lsls r2, r2, #3
- adds r1, r1, r2
- strb r4, [r1]
- ldr r7, _0804856C @ =0x020314E0
- ldr r0, [r7]
- movs r4, #0xc6
- lsls r4, r4, #3
- adds r1, r0, r4
- str r3, [r1]
- ldr r7, _08048574 @ =0x00000634
- adds r0, r0, r7
- str r3, [r0]
- movs r4, #0
- ldr r0, _0804856C @ =0x020314E0
- mov sb, r0
- ldr r1, _08048578 @ =0x086B0128
- mov r8, r1
- adds r7, #0x44
- adds r6, r2, #0
-_08048460:
- movs r5, #0
- lsls r0, r4, #2
- adds r2, r4, #1
- mov ip, r2
- adds r0, r0, r4
- lsls r4, r0, #2
-_0804846C:
- mov r3, sb
- ldr r0, [r3]
- adds r2, r5, r4
- adds r3, r0, r7
- adds r3, r3, r2
- adds r0, r0, r6
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #4
- subs r0, r0, r1
- lsls r0, r0, #2
- adds r2, r2, r0
- add r2, r8
- ldrb r0, [r2]
- strb r0, [r3]
- adds r5, #1
- cmp r5, #0x13
- ble _0804846C
- mov r4, ip
- cmp r4, #2
- ble _08048460
-_08048496:
- ldr r4, _0804856C @ =0x020314E0
- ldr r0, [r4]
- ldr r4, _08048560 @ =0x0000063A
- adds r0, r0, r4
- ldrh r0, [r0]
- cmp r0, #0
- bne _080484A6
- b _080487B2
-_080484A6:
- ldr r7, _08048564 @ =gMain
- ldrh r0, [r7, #0x12]
- cmp r0, #0x95
- bhi _080484B2
- adds r0, #1
- strh r0, [r7, #0x12]
-_080484B2:
- ldr r0, _0804856C @ =0x020314E0
- ldr r1, [r0]
- movs r2, #0xc7
- lsls r2, r2, #3
- adds r3, r1, r2
- movs r0, #0
- ldrsb r0, [r3, r0]
- cmp r0, #4
- ble _080484C6
- b _08048650
-_080484C6:
- ldr r3, [sp, #0x1c]
- asrs r0, r3, #0x10
- cmp r0, #0x58
- bgt _08048580
- movs r1, #0x18
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r7, r0, #0x10
- cmp r7, #2
- ble _080484DE
- movs r7, #2
-_080484DE:
- movs r4, #0
- cmp r4, r7
- bgt _080485D4
- movs r6, #0
- movs r3, #0
-_080484E8:
- ldr r1, [sp, #0x1c]
- asrs r0, r1, #0x10
- subs r0, r0, r3
- movs r1, #0x28
- str r3, [sp, #0x24]
- bl __modsi3
- lsrs r1, r0, #0x1f
- adds r0, r0, r1
- asrs r5, r0, #1
- ldr r2, _0804856C @ =0x020314E0
- ldr r1, [r2]
- movs r2, #0xc7
- lsls r2, r2, #3
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- ldr r3, [sp, #0x24]
- cmp r0, #0
- beq _08048516
- cmp r4, #2
- beq _08048542
-_08048516:
- adds r2, r5, r6
- ldr r0, _0804857C @ =0x0000063C
- adds r0, r0, r1
- mov r8, r0
- add r8, r2
- mov r0, r8
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _08048542
- movs r0, #0xcf
- lsls r0, r0, #3
- adds r1, r1, r0
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x5f
- beq _08048542
- movs r1, #1
- str r1, [sp, #0x18]
-_08048542:
- ldr r2, _0804856C @ =0x020314E0
- ldr r0, [r2]
- adds r1, r5, r6
- ldr r2, _0804857C @ =0x0000063C
- adds r0, r0, r2
- adds r0, r0, r1
- movs r1, #1
- strb r1, [r0]
- adds r6, #0x14
- adds r3, #0x18
- adds r4, #1
- cmp r4, r7
- ble _080484E8
- b _080485D4
- .align 2, 0
-_08048560: .4byte 0x0000063A
-_08048564: .4byte gMain
-_08048568: .4byte 0x000006B4
-_0804856C: .4byte 0x020314E0
-_08048570: .4byte 0x00000639
-_08048574: .4byte 0x00000634
-_08048578: .4byte 0x086B0128
-_0804857C: .4byte 0x0000063C
-_08048580:
- cmp r0, #0x93
- ble _080485D4
- subs r0, #0x94
- lsls r4, r0, #0x10
- asrs r5, r4, #0x10
- adds r0, r5, #0
- movs r1, #0x18
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r7, r0, #0x10
- cmp r7, #1
- ble _0804859C
- movs r7, #1
-_0804859C:
- str r4, [sp, #0x1c]
- cmp r7, #0
- blt _080485D4
- movs r2, #0
- adds r6, r5, #0
- adds r4, r7, #1
-_080485A8:
- adds r0, r6, #0
- movs r1, #0x28
- str r2, [sp, #0x20]
- bl __modsi3
- lsrs r1, r0, #0x1f
- adds r0, r0, r1
- asrs r5, r0, #1
- ldr r3, _08048640 @ =0x020314E0
- ldr r1, [r3]
- ldr r2, [sp, #0x20]
- adds r0, r5, r2
- ldr r7, _08048644 @ =0x0000063C
- adds r1, r1, r7
- adds r1, r1, r0
- movs r0, #0
- strb r0, [r1]
- adds r2, #0x14
- subs r6, #0x18
- subs r4, #1
- cmp r4, #0
- bne _080485A8
-_080485D4:
- ldr r0, _08048640 @ =0x020314E0
- ldr r1, [r0]
- ldr r3, _08048648 @ =0x0000063A
- adds r2, r1, r3
- ldrh r0, [r2]
- cmp r0, #1
- beq _080485E4
- b _080487A6
-_080485E4:
- movs r0, #0xd4
- strh r0, [r2]
- movs r2, #0xc7
- lsls r2, r2, #3
- adds r1, r1, r2
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- movs r4, #0
- ldr r7, _08048640 @ =0x020314E0
- mov sl, r7
- ldr r0, _0804864C @ =0x086B0128
- mov sb, r0
- movs r1, #0xcf
- lsls r1, r1, #3
- mov r8, r1
- adds r6, r2, #0
-_08048606:
- movs r5, #0
- lsls r0, r4, #2
- adds r2, r4, #1
- mov ip, r2
- adds r0, r0, r4
- lsls r7, r0, #2
-_08048612:
- mov r3, sl
- ldr r0, [r3]
- adds r2, r5, r7
- mov r4, r8
- adds r3, r0, r4
- adds r3, r3, r2
- adds r0, r0, r6
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #4
- subs r0, r0, r1
- lsls r0, r0, #2
- adds r2, r2, r0
- add r2, sb
- ldrb r0, [r2]
- strb r0, [r3]
- adds r5, #1
- cmp r5, #0x13
- ble _08048612
- mov r4, ip
- cmp r4, #2
- ble _08048606
- b _080487A6
- .align 2, 0
-_08048640: .4byte 0x020314E0
-_08048644: .4byte 0x0000063C
-_08048648: .4byte 0x0000063A
-_0804864C: .4byte 0x086B0128
-_08048650:
- cmp r0, #5
- bne _08048720
- ldr r7, [sp, #0x1c]
- asrs r2, r7, #0x10
- cmp r2, #0x10
- bgt _08048672
- rsbs r0, r2, #0
- lsls r0, r0, #0x11
- lsrs r0, r0, #0x10
- str r0, [sp, #0x10]
- cmp r2, #2
- beq _0804866A
- b _080487A6
-_0804866A:
- movs r0, #0xa2
- bl m4aSongNumStart
- b _080487A6
-_08048672:
- movs r0, #0
- str r0, [sp, #0x10]
- adds r1, r1, r4
- movs r0, #0xd4
- strh r0, [r1]
- ldrb r0, [r3]
- adds r0, #1
- strb r0, [r3]
- movs r5, #0
- ldr r2, _08048710 @ =0x020314E0
- ldr r7, _08048714 @ =0x0000063C
- movs r3, #1
-_0804868A:
- ldr r0, [r2]
- adds r0, r0, r7
- adds r0, r0, r5
- strb r3, [r0]
- adds r5, #1
- cmp r5, #0x13
- ble _0804868A
- movs r5, #0
- ldr r3, _08048710 @ =0x020314E0
- movs r2, #0xca
- lsls r2, r2, #3
- movs r1, #0
-_080486A2:
- ldr r0, [r3]
- adds r0, r0, r2
- adds r0, r0, r5
- strb r1, [r0]
- adds r5, #1
- cmp r5, #0x13
- ble _080486A2
- movs r5, #0
- ldr r3, _08048710 @ =0x020314E0
- ldr r2, _08048718 @ =0x00000664
- movs r1, #0
-_080486B8:
- ldr r0, [r3]
- adds r0, r0, r2
- adds r0, r0, r5
- strb r1, [r0]
- adds r5, #1
- cmp r5, #0x13
- ble _080486B8
- movs r4, #0
- ldr r1, _08048710 @ =0x020314E0
- mov sb, r1
- ldr r2, _0804871C @ =0x086B0128
- mov r8, r2
- movs r7, #0xcf
- lsls r7, r7, #3
- movs r6, #0xc7
- lsls r6, r6, #3
-_080486D8:
- movs r5, #0
- lsls r0, r4, #2
- adds r3, r4, #1
- mov ip, r3
- adds r0, r0, r4
- lsls r4, r0, #2
-_080486E4:
- mov r1, sb
- ldr r0, [r1]
- adds r2, r5, r4
- adds r3, r0, r7
- adds r3, r3, r2
- adds r0, r0, r6
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #4
- subs r0, r0, r1
- lsls r0, r0, #2
- adds r2, r2, r0
- add r2, r8
- ldrb r0, [r2]
- strb r0, [r3]
- adds r5, #1
- cmp r5, #0x13
- ble _080486E4
- mov r4, ip
- cmp r4, #2
- ble _080486D8
- b _080487A6
- .align 2, 0
-_08048710: .4byte 0x020314E0
-_08048714: .4byte 0x0000063C
-_08048718: .4byte 0x00000664
-_0804871C: .4byte 0x086B0128
-_08048720:
- ldr r2, [sp, #0x1c]
- asrs r0, r2, #0x10
- cmp r0, #0x58
- bgt _080487A6
- movs r1, #0x18
- bl __divsi3
- lsls r0, r0, #0x10
- asrs r7, r0, #0x10
- cmp r7, #2
- ble _08048738
- movs r7, #2
-_08048738:
- movs r4, #0
- cmp r4, r7
- bgt _080487A6
- movs r6, #0
- movs r3, #0
-_08048742:
- ldr r1, [sp, #0x1c]
- asrs r0, r1, #0x10
- subs r0, r0, r3
- movs r1, #0x28
- str r3, [sp, #0x24]
- bl __modsi3
- lsrs r1, r0, #0x1f
- adds r0, r0, r1
- asrs r5, r0, #1
- ldr r3, [sp, #0x24]
- cmp r4, #0
- beq _0804878C
- ldr r2, _080487E8 @ =0x020314E0
- ldr r1, [r2]
- adds r2, r5, r6
- ldr r0, _080487EC @ =0x0000063C
- adds r0, r0, r1
- mov r8, r0
- add r8, r2
- mov r0, r8
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0804878C
- movs r0, #0xcf
- lsls r0, r0, #3
- adds r1, r1, r0
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x5f
- beq _0804878C
- movs r1, #1
- str r1, [sp, #0x18]
-_0804878C:
- ldr r2, _080487E8 @ =0x020314E0
- ldr r0, [r2]
- adds r1, r5, r6
- ldr r2, _080487EC @ =0x0000063C
- adds r0, r0, r2
- adds r0, r0, r1
- movs r1, #1
- strb r1, [r0]
- adds r6, #0x14
- adds r3, #0x18
- adds r4, #1
- cmp r4, r7
- ble _08048742
-_080487A6:
- ldr r3, [sp, #0x18]
- cmp r3, #0
- beq _080487B2
- movs r0, #0xa1
- bl m4aSongNumStart
-_080487B2:
- movs r7, #0
- movs r3, #0
- ldr r0, _080487E8 @ =0x020314E0
- ldr r5, [r0]
- ldr r4, _080487F0 @ =0x0000063A
- adds r1, r5, r4
- ldrh r1, [r1]
- cmp r1, #0xd4
- beq _080487CE
- ldr r0, [sp, #0x14]
- cmp r0, #0
- bne _080487CE
- bl _0804908E
-_080487CE:
- movs r1, #0xc7
- lsls r1, r1, #3
- adds r0, r5, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #6
- bhi _08048894
- lsls r0, r0, #2
- ldr r1, _080487F4 @ =_080487F8
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080487E8: .4byte 0x020314E0
-_080487EC: .4byte 0x0000063C
-_080487F0: .4byte 0x0000063A
-_080487F4: .4byte _080487F8
-_080487F8: @ jump table
- .4byte _08048814 @ case 0
- .4byte _08048828 @ case 1
- .4byte _08048844 @ case 2
- .4byte _08048860 @ case 3
- .4byte _08048874 @ case 4
- .4byte _08048890 @ case 5
- .4byte _08048894 @ case 6
-_08048814:
- ldr r2, _08048820 @ =0x020314E0
- ldr r0, [r2]
- ldr r3, _08048824 @ =0x0000062A
- adds r0, r0, r3
- b _0804884C
- .align 2, 0
-_08048820: .4byte 0x020314E0
-_08048824: .4byte 0x0000062A
-_08048828:
- ldr r4, _08048838 @ =0x020314E0
- ldr r0, [r4]
- ldr r7, _0804883C @ =0x0000062B
- adds r0, r0, r7
- ldrb r7, [r0]
- ldr r3, _08048840 @ =0x000B71B0
- b _08048894
- .align 2, 0
-_08048838: .4byte 0x020314E0
-_0804883C: .4byte 0x0000062B
-_08048840: .4byte 0x000B71B0
-_08048844:
- ldr r1, _08048854 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08048858 @ =0x0000062C
- adds r0, r0, r2
-_0804884C:
- ldrb r7, [r0]
- ldr r3, _0804885C @ =0x0007A120
- b _08048894
- .align 2, 0
-_08048854: .4byte 0x020314E0
-_08048858: .4byte 0x0000062C
-_0804885C: .4byte 0x0007A120
-_08048860:
- ldr r3, _0804886C @ =0x020314E0
- ldr r0, [r3]
- ldr r4, _08048870 @ =0x0000062D
- adds r0, r0, r4
- b _0804887C
- .align 2, 0
-_0804886C: .4byte 0x020314E0
-_08048870: .4byte 0x0000062D
-_08048874:
- ldr r7, _08048884 @ =0x020314E0
- ldr r0, [r7]
- ldr r1, _08048888 @ =0x0000062E
- adds r0, r0, r1
-_0804887C:
- ldrb r7, [r0]
- ldr r3, _0804888C @ =0x000186A0
- b _08048894
- .align 2, 0
-_08048884: .4byte 0x020314E0
-_08048888: .4byte 0x0000062E
-_0804888C: .4byte 0x000186A0
-_08048890:
- movs r7, #0
- movs r3, #0
-_08048894:
- ldr r2, _08048900 @ =0x020314E0
- ldr r0, [r2]
- movs r4, #0xc7
- lsls r4, r4, #3
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #4
- ble _080488AA
- b _08048B80
-_080488AA:
- mov r5, sp
- adds r5, #2
- adds r0, r7, #0
- muls r0, r3, r0
- mov r8, r0
- movs r1, #7
- add r1, sp
- mov sl, r1
- add r2, sp, #8
- mov sb, r2
- movs r1, #0
- mov r0, sp
- adds r0, #9
-_080488C4:
- strb r1, [r0]
- subs r0, #1
- cmp r0, sp
- bge _080488C4
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0x64
- bl __divsi3
- strb r0, [r4, #2]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0x64
- bl __modsi3
- movs r1, #0xa
- bl __divsi3
- strb r0, [r4, #1]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __modsi3
- strb r0, [r4]
- movs r4, #2
- movs r0, #0
- ldrsb r0, [r5, r0]
- b _08048914
- .align 2, 0
-_08048900: .4byte 0x020314E0
-_08048904:
- subs r4, #1
- cmp r4, #0
- ble _0804891C
- mov r3, sp
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
-_08048914:
- cmp r0, #0
- ble _08048904
- cmp r0, #0xa
- beq _08048904
-_0804891C:
- movs r5, #0
- cmp r5, r4
- bgt _08048942
- ldr r6, _080489FC @ =0x020314E0
- movs r3, #0x13
- movs r2, #0xcf
- lsls r2, r2, #3
-_0804892A:
- ldr r1, [r6]
- subs r0, r3, r5
- adds r1, r1, r2
- adds r1, r1, r0
- mov r7, sp
- adds r0, r7, r5
- ldrb r0, [r0]
- adds r0, #0x1b
- strb r0, [r1]
- adds r5, #1
- cmp r5, r4
- ble _0804892A
-_08048942:
- movs r1, #0
- mov r0, sp
- adds r0, #9
-_08048948:
- strb r1, [r0]
- subs r0, #1
- cmp r0, sp
- bge _08048948
- mov r7, r8
- ldr r1, _080489FC @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08048A00 @ =0x00000634
- adds r0, r0, r2
- str r7, [r0]
- mov r5, sp
- ldr r4, _08048A04 @ =0x00989680
- adds r0, r7, #0
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #7]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08048A08 @ =0x000F4240
- adds r1, r4, #0
- bl __divsi3
- adds r0, #0xa
- strb r0, [r5, #6]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08048A0C @ =0x000186A0
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #5]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08048A10 @ =0x00002710
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #4]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r4, #0xfa
- lsls r4, r4, #2
- adds r1, r4, #0
- bl __divsi3
- adds r0, #0xa
- strb r0, [r5, #3]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r1, #0x64
- bl __divsi3
- strb r0, [r5, #2]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0x64
- bl __modsi3
- movs r1, #0xa
- bl __divsi3
- strb r0, [r4, #1]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __modsi3
- strb r0, [r4]
- movs r4, #7
- mov r3, sl
- movs r0, #0
- ldrsb r0, [r3, r0]
- b _08048A24
- .align 2, 0
-_080489FC: .4byte 0x020314E0
-_08048A00: .4byte 0x00000634
-_08048A04: .4byte 0x00989680
-_08048A08: .4byte 0x000F4240
-_08048A0C: .4byte 0x000186A0
-_08048A10: .4byte 0x00002710
-_08048A14:
- subs r4, #1
- cmp r4, #0
- ble _08048A2C
- mov r7, sp
- adds r0, r7, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
-_08048A24:
- cmp r0, #0
- ble _08048A14
- cmp r0, #0xa
- beq _08048A14
-_08048A2C:
- movs r5, #0
- cmp r5, r4
- bgt _08048A50
- ldr r6, _08048B1C @ =0x020314E0
- movs r3, #0x13
- ldr r2, _08048B20 @ =0x0000068C
-_08048A38:
- ldr r1, [r6]
- subs r0, r3, r5
- adds r1, r1, r2
- adds r1, r1, r0
- mov r7, sp
- adds r0, r7, r5
- ldrb r0, [r0]
- adds r0, #0x1b
- strb r0, [r1]
- adds r5, #1
- cmp r5, r4
- ble _08048A38
-_08048A50:
- movs r1, #0
- mov r0, sp
- adds r0, #9
-_08048A56:
- strb r1, [r0]
- subs r0, #1
- cmp r0, sp
- bge _08048A56
- ldr r1, _08048B1C @ =0x020314E0
- ldr r0, [r1]
- movs r2, #0xc6
- lsls r2, r2, #3
- adds r0, r0, r2
- ldr r7, [r0]
- mov r5, sp
- ldr r4, _08048B24 @ =0x05F5E100
- adds r0, r7, #0
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #8]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08048B28 @ =0x00989680
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #7]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08048B2C @ =0x000F4240
- adds r1, r4, #0
- bl __divsi3
- adds r0, #0xa
- strb r0, [r5, #6]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08048B30 @ =0x000186A0
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #5]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08048B34 @ =0x00002710
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #4]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r4, #0xfa
- lsls r4, r4, #2
- adds r1, r4, #0
- bl __divsi3
- adds r0, #0xa
- strb r0, [r5, #3]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r1, #0x64
- bl __divsi3
- strb r0, [r5, #2]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0x64
- bl __modsi3
- movs r1, #0xa
- bl __divsi3
- strb r0, [r4, #1]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __modsi3
- strb r0, [r4]
- movs r4, #8
- mov r3, sb
- movs r0, #0
- ldrsb r0, [r3, r0]
- b _08048B48
- .align 2, 0
-_08048B1C: .4byte 0x020314E0
-_08048B20: .4byte 0x0000068C
-_08048B24: .4byte 0x05F5E100
-_08048B28: .4byte 0x00989680
-_08048B2C: .4byte 0x000F4240
-_08048B30: .4byte 0x000186A0
-_08048B34: .4byte 0x00002710
-_08048B38:
- subs r4, #1
- cmp r4, #0
- ble _08048B50
- mov r7, sp
- adds r0, r7, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
-_08048B48:
- cmp r0, #0
- ble _08048B38
- cmp r0, #0xa
- beq _08048B38
-_08048B50:
- movs r5, #0
- cmp r5, r4
- ble _08048B58
- b _0804908E
-_08048B58:
- ldr r6, _08048B7C @ =0x020314E0
- movs r3, #0x13
- movs r2, #0xd4
- lsls r2, r2, #3
-_08048B60:
- ldr r1, [r6]
- subs r0, r3, r5
- adds r1, r1, r2
- adds r1, r1, r0
- mov r7, sp
- adds r0, r7, r5
- ldrb r0, [r0]
- adds r0, #0x1b
- strb r0, [r1]
- adds r5, #1
- cmp r5, r4
- ble _08048B60
- b _0804908E
- .align 2, 0
-_08048B7C: .4byte 0x020314E0
-_08048B80:
- cmp r0, #5
- beq _08048B86
- b _08048CB8
-_08048B86:
- add r0, sp, #8
- mov sb, r0
- movs r1, #0
- mov r0, sp
- adds r0, #9
-_08048B90:
- strb r1, [r0]
- subs r0, #1
- cmp r0, sp
- bge _08048B90
- ldr r1, _08048C58 @ =0x020314E0
- ldr r0, [r1]
- movs r2, #0xc6
- lsls r2, r2, #3
- adds r0, r0, r2
- ldr r7, [r0]
- mov r5, sp
- ldr r4, _08048C5C @ =0x05F5E100
- adds r0, r7, #0
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #8]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08048C60 @ =0x00989680
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #7]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08048C64 @ =0x000F4240
- adds r1, r4, #0
- bl __divsi3
- adds r0, #0xa
- strb r0, [r5, #6]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08048C68 @ =0x000186A0
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #5]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08048C6C @ =0x00002710
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #4]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r4, #0xfa
- lsls r4, r4, #2
- adds r1, r4, #0
- bl __divsi3
- adds r0, #0xa
- strb r0, [r5, #3]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r1, #0x64
- bl __divsi3
- strb r0, [r5, #2]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0x64
- bl __modsi3
- movs r1, #0xa
- bl __divsi3
- strb r0, [r4, #1]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __modsi3
- strb r0, [r4]
- movs r4, #8
- mov r3, sb
- movs r0, #0
- ldrsb r0, [r3, r0]
- b _08048C80
- .align 2, 0
-_08048C58: .4byte 0x020314E0
-_08048C5C: .4byte 0x05F5E100
-_08048C60: .4byte 0x00989680
-_08048C64: .4byte 0x000F4240
-_08048C68: .4byte 0x000186A0
-_08048C6C: .4byte 0x00002710
-_08048C70:
- subs r4, #1
- cmp r4, #0
- ble _08048C88
- mov r7, sp
- adds r0, r7, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
-_08048C80:
- cmp r0, #0
- ble _08048C70
- cmp r0, #0xa
- beq _08048C70
-_08048C88:
- movs r5, #0
- cmp r5, r4
- ble _08048C90
- b _0804908E
-_08048C90:
- ldr r6, _08048CB4 @ =0x020314E0
- movs r3, #0x13
- movs r2, #0xd4
- lsls r2, r2, #3
-_08048C98:
- ldr r1, [r6]
- subs r0, r3, r5
- adds r1, r1, r2
- adds r1, r1, r0
- mov r7, sp
- adds r0, r7, r5
- ldrb r0, [r0]
- adds r0, #0x1b
- strb r0, [r1]
- adds r5, #1
- cmp r5, r4
- ble _08048C98
- b _0804908E
- .align 2, 0
-_08048CB4: .4byte 0x020314E0
-_08048CB8:
- add r0, sp, #8
- mov sb, r0
- movs r1, #5
- add r1, sp
- mov r8, r1
- movs r2, #0xa
- add r2, sp
- mov sl, r2
- movs r1, #0
- mov r0, sp
- adds r0, #9
-_08048CCE:
- strb r1, [r0]
- subs r0, #1
- cmp r0, sp
- bge _08048CCE
- ldr r3, _08048D94 @ =0x020314E0
- ldr r0, [r3]
- movs r4, #0xc6
- lsls r4, r4, #3
- adds r0, r0, r4
- ldr r7, [r0]
- mov r5, sp
- ldr r4, _08048D98 @ =0x05F5E100
- adds r0, r7, #0
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #8]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08048D9C @ =0x00989680
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #7]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08048DA0 @ =0x000F4240
- adds r1, r4, #0
- bl __divsi3
- adds r0, #0xa
- strb r0, [r5, #6]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08048DA4 @ =0x000186A0
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #5]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08048DA8 @ =0x00002710
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #4]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r4, #0xfa
- lsls r4, r4, #2
- adds r1, r4, #0
- bl __divsi3
- adds r0, #0xa
- strb r0, [r5, #3]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r1, #0x64
- bl __divsi3
- strb r0, [r5, #2]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0x64
- bl __modsi3
- movs r1, #0xa
- bl __divsi3
- strb r0, [r4, #1]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __modsi3
- strb r0, [r4]
- movs r4, #8
- mov r7, sb
- movs r0, #0
- ldrsb r0, [r7, r0]
- b _08048DBC
- .align 2, 0
-_08048D94: .4byte 0x020314E0
-_08048D98: .4byte 0x05F5E100
-_08048D9C: .4byte 0x00989680
-_08048DA0: .4byte 0x000F4240
-_08048DA4: .4byte 0x000186A0
-_08048DA8: .4byte 0x00002710
-_08048DAC:
- subs r4, #1
- cmp r4, #0
- ble _08048DC4
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
-_08048DBC:
- cmp r0, #0
- ble _08048DAC
- cmp r0, #0xa
- beq _08048DAC
-_08048DC4:
- movs r5, #0
- cmp r5, r4
- bgt _08048DEA
- ldr r6, _08048E7C @ =0x020314E0
- movs r3, #0x13
- movs r2, #0xcf
- lsls r2, r2, #3
-_08048DD2:
- ldr r1, [r6]
- subs r0, r3, r5
- adds r1, r1, r2
- adds r1, r1, r0
- mov r7, sp
- adds r0, r7, r5
- ldrb r0, [r0]
- adds r0, #0x1b
- strb r0, [r1]
- adds r5, #1
- cmp r5, r4
- ble _08048DD2
-_08048DEA:
- movs r1, #0
- mov r0, sp
- adds r0, #9
-_08048DF0:
- strb r1, [r0]
- subs r0, #1
- cmp r0, sp
- bge _08048DF0
- ldr r1, _08048E7C @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08048E80 @ =0x0000062F
- adds r0, r0, r2
- ldrb r7, [r0]
- mov r5, sp
- ldr r1, _08048E84 @ =0x000F4240
- adds r0, r7, #0
- bl __modsi3
- ldr r4, _08048E88 @ =0x000186A0
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #5]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08048E8C @ =0x00002710
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #4]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r4, #0xfa
- lsls r4, r4, #2
- adds r1, r4, #0
- bl __divsi3
- adds r0, #0xa
- strb r0, [r5, #3]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r1, #0x64
- bl __divsi3
- strb r0, [r5, #2]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0x64
- bl __modsi3
- movs r1, #0xa
- bl __divsi3
- strb r0, [r4, #1]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __modsi3
- strb r0, [r4]
- movs r4, #5
- mov r3, r8
- movs r0, #0
- ldrsb r0, [r3, r0]
- b _08048EA0
- .align 2, 0
-_08048E7C: .4byte 0x020314E0
-_08048E80: .4byte 0x0000062F
-_08048E84: .4byte 0x000F4240
-_08048E88: .4byte 0x000186A0
-_08048E8C: .4byte 0x00002710
-_08048E90:
- subs r4, #1
- cmp r4, #0
- ble _08048EA8
- mov r7, sp
- adds r0, r7, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
-_08048EA0:
- cmp r0, #0
- ble _08048E90
- cmp r0, #0xa
- beq _08048E90
-_08048EA8:
- movs r5, #0
- cmp r5, r4
- bgt _08048ECC
- ldr r6, _08049020 @ =0x020314E0
- movs r3, #0x13
- ldr r2, _08049024 @ =0x0000068C
-_08048EB4:
- ldr r1, [r6]
- subs r0, r3, r5
- adds r1, r1, r2
- adds r1, r1, r0
- mov r7, sp
- adds r0, r7, r5
- ldrb r0, [r0]
- adds r0, #0x1b
- strb r0, [r1]
- adds r5, #1
- cmp r5, r4
- ble _08048EB4
-_08048ECC:
- movs r1, #0
- mov r0, sp
- adds r0, #0xa
-_08048ED2:
- strb r1, [r0]
- subs r0, #1
- cmp r0, sp
- bge _08048ED2
- movs r7, #0
- movs r5, #0
- ldr r1, _08049020 @ =0x020314E0
- ldr r0, [r1]
- ldr r1, _08049028 @ =0x0000062F
- adds r0, r0, r1
- ldrb r0, [r0]
- cmp r0, #0
- beq _08048F24
- ldr r2, _08049020 @ =0x020314E0
- adds r6, r1, #0
-_08048EF0:
- ldr r4, [r2]
- movs r3, #0xc6
- lsls r3, r3, #3
- adds r0, r4, r3
- ldr r0, [r0]
- adds r7, r7, r0
- adds r0, r7, #0
- ldr r1, _0804902C @ =0x0BEBC200
- str r2, [sp, #0x20]
- bl __divsi3
- ldr r2, [sp, #0x20]
- cmp r0, #0
- ble _08048F12
- ldr r0, _08049030 @ =0xF4143E00
- adds r7, r7, r0
- adds r5, #2
-_08048F12:
- adds r1, r4, r6
- ldrb r0, [r1]
- subs r0, #1
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, r0, r6
- ldrb r0, [r0]
- cmp r0, #0
- bne _08048EF0
-_08048F24:
- ldr r1, _08049034 @ =0x05F5E100
- mov r8, r1
- adds r0, r7, #0
- bl __divsi3
- cmp r0, #0
- ble _08048F38
- ldr r2, _08049038 @ =0xFA0A1F00
- adds r7, r7, r2
- adds r5, #1
-_08048F38:
- ldr r3, _08049020 @ =0x020314E0
- ldr r0, [r3]
- movs r4, #0xd7
- lsls r4, r4, #3
- adds r1, r0, r4
- str r5, [r1]
- ldr r1, _0804903C @ =0x000006B4
- adds r0, r0, r1
- str r7, [r0]
- mov r4, sp
- movs r6, #0xfa
- lsls r6, r6, #2
- adds r0, r5, #0
- adds r1, r6, #0
- bl __modsi3
- movs r1, #0x64
- bl __divsi3
- strb r0, [r4, #0xa]
- mov r4, sp
- adds r0, r5, #0
- movs r1, #0x64
- bl __modsi3
- movs r1, #0xa
- bl __divsi3
- adds r0, #0xa
- strb r0, [r4, #9]
- mov r4, sp
- adds r0, r5, #0
- movs r1, #0xa
- bl __modsi3
- strb r0, [r4, #8]
- mov r5, sp
- adds r0, r7, #0
- mov r1, r8
- bl __modsi3
- ldr r4, _08049040 @ =0x00989680
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #7]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08049044 @ =0x000F4240
- adds r1, r4, #0
- bl __divsi3
- adds r0, #0xa
- strb r0, [r5, #6]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08049048 @ =0x000186A0
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #5]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _0804904C @ =0x00002710
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #4]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- adds r1, r6, #0
- bl __divsi3
- adds r0, #0xa
- strb r0, [r5, #3]
- mov r4, sp
- adds r0, r7, #0
- adds r1, r6, #0
- bl __modsi3
- movs r1, #0x64
- bl __divsi3
- strb r0, [r4, #2]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0x64
- bl __modsi3
- movs r1, #0xa
- bl __divsi3
- strb r0, [r4, #1]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __modsi3
- strb r0, [r4]
- movs r4, #0xa
- mov r2, sl
- movs r0, #0
- ldrsb r0, [r2, r0]
- b _08049060
- .align 2, 0
-_08049020: .4byte 0x020314E0
-_08049024: .4byte 0x0000068C
-_08049028: .4byte 0x0000062F
-_0804902C: .4byte 0x0BEBC200
-_08049030: .4byte 0xF4143E00
-_08049034: .4byte 0x05F5E100
-_08049038: .4byte 0xFA0A1F00
-_0804903C: .4byte 0x000006B4
-_08049040: .4byte 0x00989680
-_08049044: .4byte 0x000F4240
-_08049048: .4byte 0x000186A0
-_0804904C: .4byte 0x00002710
-_08049050:
- subs r4, #1
- cmp r4, #0
- ble _08049068
- mov r3, sp
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
-_08049060:
- cmp r0, #0
- ble _08049050
- cmp r0, #0xa
- beq _08049050
-_08049068:
- movs r5, #0
- cmp r5, r4
- bgt _0804908E
- ldr r6, _080490FC @ =0x020314E0
- movs r3, #0x13
- movs r2, #0xd4
- lsls r2, r2, #3
-_08049076:
- ldr r1, [r6]
- subs r0, r3, r5
- adds r1, r1, r2
- adds r1, r1, r0
- mov r7, sp
- adds r0, r7, r5
- ldrb r0, [r0]
- adds r0, #0x1b
- strb r0, [r1]
- adds r5, #1
- cmp r5, r4
- ble _08049076
-_0804908E:
- ldr r1, [sp, #0x1c]
- ldr r2, _08049100 @ =0xFFA60000
- adds r0, r1, r2
- lsrs r0, r0, #0x10
- cmp r0, #0x32
- bls _0804909C
- b _0804948A
-_0804909C:
- ldr r3, _080490FC @ =0x020314E0
- ldr r1, [r3]
- movs r4, #0xc7
- lsls r4, r4, #3
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #4
- ble _080490B2
- b _08049250
-_080490B2:
- ldr r3, _08049104 @ =0x00000634
- adds r0, r1, r3
- ldr r0, [r0]
- cmp r0, #0
- beq _080490C4
- ldr r7, _08049108 @ =0x0000063A
- adds r1, r1, r7
- movs r0, #0x64
- strh r0, [r1]
-_080490C4:
- ldr r0, _0804910C @ =gMain
- ldr r2, [r0, #0x4c]
- movs r0, #1
- ands r2, r0
- cmp r2, #0
- bne _08049134
- ldr r0, _080490FC @ =0x020314E0
- ldr r1, [r0]
- adds r4, r1, r3
- ldr r3, [r4]
- ldr r0, _08049110 @ =0x00030D3F
- cmp r3, r0
- bls _0804911C
- ldr r2, _08049114 @ =0xFFFCF2C0
- adds r0, r3, r2
- str r0, [r4]
- movs r3, #0xc6
- lsls r3, r3, #3
- adds r1, r1, r3
- ldr r0, [r1]
- ldr r4, _08049118 @ =0x00030D40
- adds r0, r0, r4
- str r0, [r1]
- movs r0, #0x91
- bl m4aSongNumStart
- b _08049134
- .align 2, 0
-_080490FC: .4byte 0x020314E0
-_08049100: .4byte 0xFFA60000
-_08049104: .4byte 0x00000634
-_08049108: .4byte 0x0000063A
-_0804910C: .4byte gMain
-_08049110: .4byte 0x00030D3F
-_08049114: .4byte 0xFFFCF2C0
-_08049118: .4byte 0x00030D40
-_0804911C:
- cmp r3, #0
- beq _08049134
- movs r7, #0xc6
- lsls r7, r7, #3
- adds r1, r1, r7
- ldr r0, [r1]
- adds r0, r0, r3
- str r0, [r1]
- str r2, [r4]
- movs r0, #0x91
- bl m4aSongNumStart
-_08049134:
- ldr r6, _080491F0 @ =0x020314E0
- ldr r0, [r6]
- movs r1, #0xc6
- lsls r1, r1, #3
- adds r0, r0, r1
- ldr r7, [r0]
- mov r5, sp
- ldr r4, _080491F4 @ =0x05F5E100
- adds r0, r7, #0
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #8]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _080491F8 @ =0x00989680
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #7]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _080491FC @ =0x000F4240
- adds r1, r4, #0
- bl __divsi3
- adds r0, #0xa
- strb r0, [r5, #6]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08049200 @ =0x000186A0
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #5]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08049204 @ =0x00002710
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #4]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r4, #0xfa
- lsls r4, r4, #2
- adds r1, r4, #0
- bl __divsi3
- adds r0, #0xa
- strb r0, [r5, #3]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- movs r1, #0x64
- bl __divsi3
- strb r0, [r5, #2]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0x64
- bl __modsi3
- movs r1, #0xa
- bl __divsi3
- strb r0, [r4, #1]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __modsi3
- strb r0, [r4]
- movs r4, #8
- add r0, sp, #8
- b _08049212
- .align 2, 0
-_080491F0: .4byte 0x020314E0
-_080491F4: .4byte 0x05F5E100
-_080491F8: .4byte 0x00989680
-_080491FC: .4byte 0x000F4240
-_08049200: .4byte 0x000186A0
-_08049204: .4byte 0x00002710
-_08049208:
- subs r4, #1
- cmp r4, #0
- ble _08049220
- mov r2, sp
- adds r0, r2, r4
-_08049212:
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _08049208
- cmp r0, #0xa
- beq _08049208
-_08049220:
- movs r5, #0
- cmp r5, r4
- ble _08049228
- b _0804948A
-_08049228:
- ldr r6, _0804924C @ =0x020314E0
- movs r3, #0x13
- movs r2, #0xd4
- lsls r2, r2, #3
-_08049230:
- ldr r1, [r6]
- subs r0, r3, r5
- adds r1, r1, r2
- adds r1, r1, r0
- mov r7, sp
- adds r0, r7, r5
- ldrb r0, [r0]
- adds r0, #0x1b
- strb r0, [r1]
- adds r5, #1
- cmp r5, r4
- ble _08049230
- b _0804948A
- .align 2, 0
-_0804924C: .4byte 0x020314E0
-_08049250:
- cmp r0, #6
- beq _08049256
- b _0804948A
-_08049256:
- ldr r0, _080492A4 @ =0x00000639
- adds r1, r1, r0
- movs r0, #1
- strb r0, [r1]
- ldr r2, _080492A8 @ =0x020314E0
- ldr r1, [r2]
- ldr r3, _080492AC @ =0x000006B4
- adds r0, r1, r3
- ldr r0, [r0]
- cmp r0, #0
- bne _08049278
- movs r4, #0xd7
- lsls r4, r4, #3
- adds r0, r1, r4
- ldr r0, [r0]
- cmp r0, #0
- beq _08049280
-_08049278:
- ldr r7, _080492B0 @ =0x0000063A
- adds r1, r1, r7
- movs r0, #0x64
- strh r0, [r1]
-_08049280:
- ldr r0, _080492B4 @ =gMain
- ldr r0, [r0, #0x4c]
- movs r1, #1
- ands r0, r1
- cmp r0, #0
- bne _08049302
- ldr r0, _080492A8 @ =0x020314E0
- ldr r2, [r0]
- ldr r0, _080492AC @ =0x000006B4
- adds r5, r2, r0
- ldr r3, [r5]
- ldr r0, _080492B8 @ =0x00030D3F
- cmp r3, r0
- bls _080492C0
- ldr r1, _080492BC @ =0xFFFCF2C0
- adds r0, r3, r1
- b _080492D6
- .align 2, 0
-_080492A4: .4byte 0x00000639
-_080492A8: .4byte 0x020314E0
-_080492AC: .4byte 0x000006B4
-_080492B0: .4byte 0x0000063A
-_080492B4: .4byte gMain
-_080492B8: .4byte 0x00030D3F
-_080492BC: .4byte 0xFFFCF2C0
-_080492C0:
- movs r7, #0xd7
- lsls r7, r7, #3
- adds r4, r2, r7
- ldr r1, [r4]
- cmp r1, #0
- beq _080492F0
- subs r0, r1, #1
- str r0, [r4]
- ldr r0, [r5]
- ldr r1, _080492E8 @ =0x05F2D3C0
- adds r0, r0, r1
-_080492D6:
- str r0, [r5]
- ldr r0, [r2, #0x44]
- ldr r3, _080492EC @ =0x00030D40
- adds r0, r0, r3
- str r0, [r2, #0x44]
- movs r0, #0x91
- bl m4aSongNumStart
- b _08049302
- .align 2, 0
-_080492E8: .4byte 0x05F2D3C0
-_080492EC: .4byte 0x00030D40
-_080492F0:
- cmp r3, #0
- beq _08049302
- ldr r0, [r2, #0x44]
- adds r0, r0, r3
- str r0, [r2, #0x44]
- str r1, [r5]
- movs r0, #0x91
- bl m4aSongNumStart
-_08049302:
- movs r4, #0xa
- add r4, sp
- mov sl, r4
- movs r1, #0
- mov r0, sl
-_0804930C:
- strb r1, [r0]
- subs r0, #1
- cmp r0, sp
- bge _0804930C
- movs r5, #0
- ldr r7, _0804942C @ =0x020314E0
- movs r6, #0xd4
- lsls r6, r6, #3
- ldr r4, _08049430 @ =0x086B0150
- movs r3, #0xc7
- lsls r3, r3, #3
-_08049322:
- ldr r0, [r7]
- adds r2, r0, r6
- adds r2, r2, r5
- adds r0, r0, r3
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #4
- subs r0, r0, r1
- lsls r0, r0, #2
- adds r0, r5, r0
- adds r0, r0, r4
- ldrb r0, [r0]
- strb r0, [r2]
- adds r5, #1
- cmp r5, #0x13
- ble _08049322
- ldr r7, _0804942C @ =0x020314E0
- ldr r0, [r7]
- movs r2, #0xd7
- lsls r2, r2, #3
- adds r1, r0, r2
- ldr r5, [r1]
- ldr r3, _08049434 @ =0x000006B4
- adds r0, r0, r3
- ldr r7, [r0]
- mov r4, sp
- movs r6, #0xfa
- lsls r6, r6, #2
- adds r0, r5, #0
- adds r1, r6, #0
- bl __modsi3
- movs r1, #0x64
- bl __divsi3
- strb r0, [r4, #0xa]
- mov r4, sp
- adds r0, r5, #0
- movs r1, #0x64
- bl __modsi3
- movs r1, #0xa
- bl __divsi3
- adds r0, #0xa
- strb r0, [r4, #9]
- mov r4, sp
- adds r0, r5, #0
- movs r1, #0xa
- bl __modsi3
- strb r0, [r4, #8]
- mov r5, sp
- ldr r1, _08049438 @ =0x05F5E100
- adds r0, r7, #0
- bl __modsi3
- ldr r4, _0804943C @ =0x00989680
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #7]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08049440 @ =0x000F4240
- adds r1, r4, #0
- bl __divsi3
- adds r0, #0xa
- strb r0, [r5, #6]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08049444 @ =0x000186A0
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #5]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- ldr r4, _08049448 @ =0x00002710
- adds r1, r4, #0
- bl __divsi3
- strb r0, [r5, #4]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __modsi3
- adds r1, r6, #0
- bl __divsi3
- adds r0, #0xa
- strb r0, [r5, #3]
- mov r4, sp
- adds r0, r7, #0
- adds r1, r6, #0
- bl __modsi3
- movs r1, #0x64
- bl __divsi3
- strb r0, [r4, #2]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0x64
- bl __modsi3
- movs r1, #0xa
- bl __divsi3
- strb r0, [r4, #1]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __modsi3
- strb r0, [r4]
- movs r4, #0xa
- mov r7, sl
- movs r0, #0
- ldrsb r0, [r7, r0]
- b _0804945C
- .align 2, 0
-_0804942C: .4byte 0x020314E0
-_08049430: .4byte 0x086B0150
-_08049434: .4byte 0x000006B4
-_08049438: .4byte 0x05F5E100
-_0804943C: .4byte 0x00989680
-_08049440: .4byte 0x000F4240
-_08049444: .4byte 0x000186A0
-_08049448: .4byte 0x00002710
-_0804944C:
- subs r4, #1
- cmp r4, #0
- ble _08049464
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
-_0804945C:
- cmp r0, #0
- ble _0804944C
- cmp r0, #0xa
- beq _0804944C
-_08049464:
- movs r5, #0
- cmp r5, r4
- bgt _0804948A
- ldr r6, _08049584 @ =0x020314E0
- movs r3, #0x13
- movs r2, #0xd4
- lsls r2, r2, #3
-_08049472:
- ldr r1, [r6]
- subs r0, r3, r5
- adds r1, r1, r2
- adds r1, r1, r0
- mov r7, sp
- adds r0, r7, r5
- ldrb r0, [r0]
- adds r0, #0x1b
- strb r0, [r1]
- adds r5, #1
- cmp r5, r4
- ble _08049472
-_0804948A:
- ldr r1, _08049584 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _08049588 @ =0x0000063A
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, #0
- beq _0804949C
- subs r0, #1
- strh r0, [r1]
-_0804949C:
- ldr r6, _0804958C @ =0x0200BA30
- ldrh r0, [r6]
- cmp r0, #0
- beq _08049572
- movs r0, #0x78
- strh r0, [r6, #2]
- ldr r3, _08049584 @ =0x020314E0
- ldr r0, [r3]
- adds r0, #0xfc
- ldrh r0, [r0]
- adds r0, #0x26
- strh r0, [r6, #4]
- ldr r4, [sp, #0x10]
- lsls r4, r4, #0x10
- mov r8, r4
- ldr r7, _08049590 @ =gOamBuffer
- ldr r0, _08049594 @ =0xFFFFFE00
- mov sl, r0
- adds r4, r6, #0
- adds r4, #8
- ldr r1, _08049598 @ =0x000001FF
- mov sb, r1
- movs r5, #0xd
-_080494CA:
- ldrh r3, [r4]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r2, #2
- ldrsh r1, [r4, r2]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- mov r0, sb
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, sl
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r4]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r2, [r4, #4]
- adds r0, r0, r2
- strb r0, [r1]
- adds r4, #8
- subs r5, #1
- cmp r5, #0
- bge _080494CA
- movs r4, #0
- mov r3, r8
- asrs r3, r3, #0x10
- mov sl, r3
- ldr r7, _08049590 @ =gOamBuffer
- ldr r0, _08049594 @ =0xFFFFFE00
- mov sb, r0
- ldr r1, _08049598 @ =0x000001FF
- mov r8, r1
-_08049510:
- movs r0, #0xb8
- muls r0, r4, r0
- ldr r2, _0804959C @ =0x0200B808
- adds r6, r0, r2
- movs r0, #0x68
- strh r0, [r6, #2]
- lsls r1, r4, #4
- ldr r3, _08049584 @ =0x020314E0
- ldr r0, [r3]
- adds r0, #0xfc
- ldrh r0, [r0]
- adds r0, #0x40
- adds r1, r1, r0
- add r1, sl
- strh r1, [r6, #4]
- adds r4, #1
- mov ip, r4
- adds r4, r6, #0
- adds r4, #8
- movs r5, #4
-_08049538:
- ldrh r2, [r4]
- lsls r2, r2, #3
- adds r2, r2, r7
- movs r0, #2
- ldrsh r1, [r4, r0]
- movs r3, #2
- ldrsh r0, [r6, r3]
- adds r1, r1, r0
- mov r0, r8
- ands r1, r0
- ldrh r3, [r2, #2]
- mov r0, sb
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r1, [r4]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r2, [r4, #4]
- adds r0, r0, r2
- strb r0, [r1]
- adds r4, #8
- subs r5, #1
- cmp r5, #0
- bge _08049538
- mov r4, ip
- cmp r4, #2
- ble _08049510
-_08049572:
- add sp, #0x28
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08049584: .4byte 0x020314E0
-_08049588: .4byte 0x0000063A
-_0804958C: .4byte 0x0200BA30
-_08049590: .4byte gOamBuffer
-_08049594: .4byte 0xFFFFFE00
-_08049598: .4byte 0x000001FF
-_0804959C: .4byte 0x0200B808
-
- thumb_func_start sub_495A0
-sub_495A0: @ 0x080495A0
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- ldr r4, _080495DC @ =0xFFFFFDFC
- add sp, r4
- ldr r2, _080495E0 @ =0x020314E0
- ldr r0, [r2]
- ldr r1, _080495E4 @ =0x00001104
- adds r0, r0, r1
- movs r3, #0
- movs r1, #1
- strb r1, [r0]
- ldr r1, [r2]
- ldr r2, _080495E8 @ =0x0000131C
- adds r0, r1, r2
- str r3, [r0]
- ldr r2, _080495EC @ =0x02032EE0
- ldr r0, [r2, #4]
- cmp r0, #0
- blt _080495F4
- ldr r5, _080495F0 @ =0x00000F4C
- adds r1, r1, r5
- ldr r0, [r2]
- str r0, [r1]
- adds r0, r2, #0
- bl m4aMPlayStop
- b _080495FA
- .align 2, 0
-_080495DC: .4byte 0xFFFFFDFC
-_080495E0: .4byte 0x020314E0
-_080495E4: .4byte 0x00001104
-_080495E8: .4byte 0x0000131C
-_080495EC: .4byte 0x02032EE0
-_080495F0: .4byte 0x00000F4C
-_080495F4:
- ldr r2, _08049628 @ =0x00000F4C
- adds r0, r1, r2
- str r3, [r0]
-_080495FA:
- bl m4aMPlayAllStop
- movs r0, #0xa5
- bl m4aSongNumStart
- ldr r2, _0804962C @ =gMain
- ldrb r0, [r2, #4]
- cmp r0, #1
- bhi _0804963C
- ldr r0, _08049630 @ =0x020314E0
- ldr r0, [r0]
- adds r1, r0, #0
- adds r1, #0x68
- ldrh r1, [r1]
- adds r0, #0x6a
- strh r1, [r0]
- ldrb r0, [r2, #4]
- cmp r0, #0
- bne _08049634
- bl sub_4E814
- b _0804963C
- .align 2, 0
-_08049628: .4byte 0x00000F4C
-_0804962C: .4byte gMain
-_08049630: .4byte 0x020314E0
-_08049634:
- cmp r0, #1
- bne _0804963C
- bl sub_4F814
-_0804963C:
- ldr r4, _08049708 @ =0x020314E0
- ldr r2, [r4]
- ldr r3, _0804970C @ =gMain
- ldrh r1, [r3, #0x38]
- ldr r5, _08049710 @ =0x00001106
- adds r0, r2, r5
- ldrh r5, [r0]
- strh r1, [r0]
- ldrh r1, [r3, #0x3a]
- ldr r5, _08049714 @ =0x00001108
- adds r0, r2, r5
- ldrh r5, [r0]
- strh r1, [r0]
- ldrh r1, [r3, #0x3c]
- ldr r5, _08049718 @ =0x0000110A
- adds r0, r2, r5
- ldrh r5, [r0]
- strh r1, [r0]
- ldrh r1, [r3, #0x2c]
- ldr r5, _0804971C @ =0x0000110C
- adds r0, r2, r5
- strh r1, [r0]
- ldrh r1, [r3, #0x26]
- adds r5, #2
- adds r0, r2, r5
- strh r1, [r0]
- ldr r1, _08049720 @ =0x040000D4
- ldr r0, _08049724 @ =0x05000200
- str r0, [r1]
- ldr r0, _08049728 @ =0x0000111A
- adds r2, r2, r0
- str r2, [r1, #4]
- ldr r0, _0804972C @ =0x80000100
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- movs r1, #0
- add r6, sp, #0x200
- movs r2, #0x9c
- lsls r2, r2, #1
- add r2, sp
- mov sl, r2
-_0804968E:
- movs r5, #0
- lsls r1, r1, #0x10
- mov sb, r1
- mov r0, sb
- asrs r0, r0, #0x10
- mov r8, r0
-_0804969A:
- lsls r7, r5, #0x10
- mov r1, r8
- cmp r1, #9
- bne _080496A8
- asrs r0, r7, #0x10
- cmp r0, #0xc
- beq _08049730
-_080496A8:
- ldr r2, _08049708 @ =0x020314E0
- ldr r4, [r2]
- asrs r5, r7, #0xf
- mov r1, r8
- lsls r0, r1, #5
- adds r5, r5, r0
- ldr r2, _08049728 @ =0x0000111A
- adds r4, r4, r2
- adds r4, r4, r5
- ldrh r1, [r4]
- movs r0, #0x1f
- ands r0, r1
- lsls r0, r0, #1
- movs r1, #5
- bl __divsi3
- strb r0, [r6]
- ldrh r0, [r4]
- movs r2, #0xf8
- lsls r2, r2, #2
- adds r1, r2, #0
- ands r0, r1
- lsrs r0, r0, #4
- movs r1, #5
- bl __divsi3
- strb r0, [r6, #1]
- ldrh r0, [r4]
- movs r2, #0xf8
- lsls r2, r2, #7
- adds r1, r2, #0
- ands r0, r1
- lsrs r0, r0, #9
- movs r1, #5
- bl __divsi3
- strb r0, [r6, #2]
- mov r0, sp
- adds r2, r0, r5
- ldrb r1, [r6]
- ldrb r0, [r6, #1]
- lsls r0, r0, #5
- orrs r1, r0
- ldrb r0, [r6, #2]
- lsls r0, r0, #0xa
- orrs r1, r0
- strh r1, [r2]
- b _08049736
- .align 2, 0
-_08049708: .4byte 0x020314E0
-_0804970C: .4byte gMain
-_08049710: .4byte 0x00001106
-_08049714: .4byte 0x00001108
-_08049718: .4byte 0x0000110A
-_0804971C: .4byte 0x0000110C
-_08049720: .4byte 0x040000D4
-_08049724: .4byte 0x05000200
-_08049728: .4byte 0x0000111A
-_0804972C: .4byte 0x80000100
-_08049730:
- ldr r0, _08049770 @ =0x00007FFF
- mov r1, sl
- strh r0, [r1]
-_08049736:
- movs r2, #0x80
- lsls r2, r2, #9
- adds r0, r7, r2
- lsrs r5, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xf
- ble _0804969A
- adds r0, r2, #0
- add r0, sb
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xf
- ble _0804968E
- ldr r1, _08049774 @ =0x040000D4
- mov r5, sp
- str r5, [r1]
- ldr r0, _08049778 @ =0x05000200
- str r0, [r1, #4]
- ldr r0, _0804977C @ =0x80000100
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldr r0, _08049780 @ =gMain
- ldrb r3, [r0, #4]
- cmp r3, #1
- bhi _08049784
- bl sub_1D4D0
- b _080497A0
- .align 2, 0
-_08049770: .4byte 0x00007FFF
-_08049774: .4byte 0x040000D4
-_08049778: .4byte 0x05000200
-_0804977C: .4byte 0x80000100
-_08049780: .4byte gMain
-_08049784:
- cmp r3, #2
- bne _0804978E
- bl sub_356A0
- b _080497A0
-_0804978E:
- cmp r3, #4
- bne _08049798
- bl sub_3ADA0
- b _080497A0
-_08049798:
- cmp r3, #5
- bne _080497A0
- bl sub_3E5D0
-_080497A0:
- movs r0, #1
- bl sub_11F0
- movs r3, #0x81
- lsls r3, r3, #2
- add sp, r3
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-
- thumb_func_start sub_497BC
-sub_497BC: @ 0x080497BC
- push {lr}
- ldr r1, _08049824 @ =gMain
- ldr r0, _08049828 @ =0x020314E0
- ldr r2, [r0]
- ldr r3, _0804982C @ =0x00001106
- adds r0, r2, r3
- ldrh r0, [r0]
- ldrh r3, [r1, #0x38]
- strh r0, [r1, #0x38]
- ldr r3, _08049830 @ =0x00001108
- adds r0, r2, r3
- ldrh r0, [r0]
- ldrh r3, [r1, #0x3a]
- strh r0, [r1, #0x3a]
- ldr r3, _08049834 @ =0x0000110A
- adds r0, r2, r3
- ldrh r0, [r0]
- ldrh r3, [r1, #0x3c]
- strh r0, [r1, #0x3c]
- ldr r3, _08049838 @ =0x0000110C
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, #0x2c]
- adds r3, #2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, #0x26]
- ldr r1, _0804983C @ =0x040000D4
- adds r3, #0xc
- adds r0, r2, r3
- str r0, [r1]
- ldr r0, _08049840 @ =0x05000200
- str r0, [r1, #4]
- ldr r0, _08049844 @ =0x80000100
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldr r0, _08049848 @ =0x00000F4C
- adds r2, r2, r0
- ldr r0, [r2]
- cmp r0, #0
- beq _08049814
- ldr r0, _0804984C @ =0x02032EE0
- bl m4aMPlayContinue
-_08049814:
- movs r0, #0xa6
- bl m4aSongNumStart
- movs r0, #0
- bl sub_11F0
- pop {r0}
- bx r0
- .align 2, 0
-_08049824: .4byte gMain
-_08049828: .4byte 0x020314E0
-_0804982C: .4byte 0x00001106
-_08049830: .4byte 0x00001108
-_08049834: .4byte 0x0000110A
-_08049838: .4byte 0x0000110C
-_0804983C: .4byte 0x040000D4
-_08049840: .4byte 0x05000200
-_08049844: .4byte 0x80000100
-_08049848: .4byte 0x00000F4C
-_0804984C: .4byte 0x02032EE0
-
- thumb_func_start sub_49850
-sub_49850: @ 0x08049850
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- ldr r0, _08049A20 @ =0x0200B3B8
- mov ip, r0
- mov r5, ip
- adds r5, #8
- ldr r4, _08049A24 @ =gOamBuffer
- mov r3, ip
- ldrh r1, [r3, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- movs r0, #2
- ldrsh r2, [r5, r0]
- ldr r3, _08049A28 @ =0x000001FF
- adds r0, r3, #0
- ands r2, r0
- ldrh r3, [r1, #2]
- ldr r6, _08049A2C @ =0xFFFFFE00
- adds r0, r6, #0
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, #2]
- mov r1, ip
- ldrh r0, [r1, #8]
- lsls r0, r0, #3
- adds r0, r0, r4
- ldrh r1, [r5, #4]
- strb r1, [r0]
- mov r3, ip
- ldrh r1, [r3, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r2, [r1, #1]
- movs r5, #4
- rsbs r5, r5, #0
- adds r0, r5, #0
- ands r0, r2
- strb r0, [r1, #1]
- ldrh r1, [r3, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r2, [r1, #3]
- movs r3, #0xf
- rsbs r3, r3, #0
- adds r0, r3, #0
- ands r0, r2
- strb r0, [r1, #3]
- movs r0, #1
- movs r1, #0xb8
- add r1, ip
- mov sl, r1
- adds r7, r4, #0
- mov sb, r6
- mov r8, r5
- adds r6, r3, #0
-_080498C4:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- mov r3, ip
- adds r5, r3, r0
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- movs r0, #2
- ldrsh r2, [r5, r0]
- ldr r3, _08049A28 @ =0x000001FF
- adds r0, r3, #0
- ands r2, r0
- ldrh r3, [r1, #2]
- mov r0, sb
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, #2]
- ldrh r0, [r5]
- lsls r0, r0, #3
- adds r0, r0, r7
- ldrh r1, [r5, #4]
- strb r1, [r0]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r2, [r1, #1]
- mov r0, r8
- ands r0, r2
- strb r0, [r1, #1]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r2, [r1, #3]
- adds r0, r6, #0
- ands r0, r2
- strb r0, [r1, #3]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #4
- ble _080498C4
- movs r0, #5
- ldr r6, _08049A24 @ =gOamBuffer
- ldr r1, _08049A2C @ =0xFFFFFE00
- mov sb, r1
- movs r3, #4
- rsbs r3, r3, #0
- mov r8, r3
- movs r7, #0xf
- rsbs r7, r7, #0
-_0804992E:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- mov r1, ip
- adds r5, r1, r0
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r6
- movs r3, #2
- ldrsh r2, [r5, r3]
- ldr r3, _08049A28 @ =0x000001FF
- adds r0, r3, #0
- ands r2, r0
- ldrh r3, [r1, #2]
- mov r0, sb
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, #2]
- ldrh r0, [r5]
- lsls r0, r0, #3
- adds r0, r0, r6
- ldrh r1, [r5, #4]
- strb r1, [r0]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r6
- ldrb r2, [r1, #1]
- mov r0, r8
- ands r0, r2
- strb r0, [r1, #1]
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r6
- ldrb r2, [r1, #3]
- adds r0, r7, #0
- ands r0, r2
- strb r0, [r1, #3]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0xa
- ble _0804992E
- mov ip, sl
- movs r0, #0
- ldr r6, _08049A24 @ =gOamBuffer
- ldr r7, _08049A2C @ =0xFFFFFE00
-_0804998E:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- mov r1, ip
- adds r5, r1, r0
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r6
- movs r3, #2
- ldrsh r2, [r5, r3]
- ldr r3, _08049A28 @ =0x000001FF
- adds r0, r3, #0
- ands r2, r0
- ldrh r3, [r1, #2]
- adds r0, r7, #0
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, #2]
- ldrh r0, [r5]
- lsls r0, r0, #3
- adds r0, r0, r6
- ldrh r1, [r5, #4]
- strb r1, [r0]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #1
- ble _0804998E
- ldr r0, _08049A30 @ =0x0200B528
- mov ip, r0
- movs r0, #0
- ldr r6, _08049A24 @ =gOamBuffer
- ldr r7, _08049A2C @ =0xFFFFFE00
-_080499D4:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- mov r1, ip
- adds r5, r1, r0
- ldrh r1, [r5]
- lsls r1, r1, #3
- adds r1, r1, r6
- movs r3, #2
- ldrsh r2, [r5, r3]
- ldr r3, _08049A28 @ =0x000001FF
- adds r0, r3, #0
- ands r2, r0
- ldrh r3, [r1, #2]
- adds r0, r7, #0
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, #2]
- ldrh r0, [r5]
- lsls r0, r0, #3
- adds r0, r0, r6
- ldrh r1, [r5, #4]
- strb r1, [r0]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #2
- ble _080499D4
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08049A20: .4byte 0x0200B3B8
-_08049A24: .4byte gOamBuffer
-_08049A28: .4byte 0x000001FF
-_08049A2C: .4byte 0xFFFFFE00
-_08049A30: .4byte 0x0200B528
-
- thumb_func_start sub_49A34
-sub_49A34: @ 0x08049A34
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #0x14
- movs r0, #8
- mov r8, r0
- ldr r1, _08049A94 @ =0x020314E0
- ldr r0, [r1]
- ldr r3, _08049A98 @ =0x0000131C
- adds r0, r0, r3
- ldr r2, [r0]
- mov ip, r1
- cmp r2, #0
- bne _08049A68
- ldr r1, _08049A9C @ =gMain
- ldrh r0, [r1, #0x38]
- movs r0, #0xcf
- strh r0, [r1, #0x38]
- ldrh r0, [r1, #0x3c]
- movs r0, #0xa
- strh r0, [r1, #0x3c]
- strh r2, [r1, #0x2c]
- movs r0, #0x90
- strh r0, [r1, #0x26]
-_08049A68:
- mov r1, ip
- ldr r0, [r1]
- adds r0, r0, r3
- ldr r2, [r0]
- cmp r2, #0xf
- bhi _08049AA4
- lsls r1, r2, #2
- adds r1, r1, r2
- lsls r1, r1, #1
- movs r0, #0xa0
- subs r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- str r0, [sp]
- movs r2, #0x18
- str r2, [sp, #4]
- ldr r3, _08049AA0 @ =0x0000FFFF
- mov sb, r3
- mov r0, sb
- movs r5, #0x10
- mov r8, r5
- b _08049B48
- .align 2, 0
-_08049A94: .4byte 0x020314E0
-_08049A98: .4byte 0x0000131C
-_08049A9C: .4byte gMain
-_08049AA0: .4byte 0x0000FFFF
-_08049AA4:
- cmp r2, #0x17
- bhi _08049B34
- movs r0, #0
- str r0, [sp]
- adds r0, r2, #0
- subs r0, #0xf
- lsls r1, r0, #1
- adds r1, r1, r0
- movs r0, #0x18
- subs r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- str r0, [sp, #4]
- cmp r2, #0x11
- bhi _08049AD0
- ldr r1, _08049ACC @ =0x0000FFFF
- mov sb, r1
- mov r0, sb
- b _08049B48
- .align 2, 0
-_08049ACC: .4byte 0x0000FFFF
-_08049AD0:
- cmp r2, #0x12
- bne _08049AE4
- movs r0, #9
- ldr r2, _08049AE0 @ =0x0000FFF6
- mov sb, r2
- movs r3, #0x10
- mov r8, r3
- b _08049B48
- .align 2, 0
-_08049AE0: .4byte 0x0000FFF6
-_08049AE4:
- cmp r2, #0x13
- bne _08049AF8
- movs r0, #9
- ldr r5, _08049AF4 @ =0x0000FFF7
- mov sb, r5
- movs r1, #0x80
- b _08049B46
- .align 2, 0
-_08049AF4: .4byte 0x0000FFF7
-_08049AF8:
- cmp r2, #0x14
- bne _08049B0C
- movs r0, #7
- ldr r2, _08049B08 @ =0x0000FFF8
- mov sb, r2
- movs r3, #0xa0
- mov r8, r3
- b _08049B48
- .align 2, 0
-_08049B08: .4byte 0x0000FFF8
-_08049B0C:
- cmp r2, #0x15
- bne _08049B20
- movs r0, #6
- ldr r5, _08049B1C @ =0x0000FFF9
- mov sb, r5
- movs r1, #0xc0
- b _08049B46
- .align 2, 0
-_08049B1C: .4byte 0x0000FFF9
-_08049B20:
- cmp r2, #0x16
- bne _08049B3C
- movs r0, #4
- ldr r2, _08049B30 @ =0x0000FFFB
- mov sb, r2
- movs r3, #0xe0
- mov r8, r3
- b _08049B48
- .align 2, 0
-_08049B30: .4byte 0x0000FFFB
-_08049B34:
- movs r2, #0
- str r2, [sp]
- movs r3, #0
- str r3, [sp, #4]
-_08049B3C:
- movs r0, #4
- ldr r5, _08049C18 @ =0x0000FFFC
- mov sb, r5
- movs r1, #0x80
- lsls r1, r1, #1
-_08049B46:
- mov r8, r1
-_08049B48:
- ldr r6, _08049C1C @ =0x0200B3B8
- lsls r0, r0, #0x10
- asrs r1, r0, #0x10
- str r0, [sp, #0xc]
- mov r2, r8
- lsls r2, r2, #0x10
- str r2, [sp, #0x10]
- ldr r3, [sp]
- lsls r3, r3, #0x10
- mov sl, r3
- ldr r5, [sp, #4]
- lsls r5, r5, #0x10
- str r5, [sp, #8]
- cmp r1, #0
- bge _08049B68
- b _08049D92
-_08049B68:
- movs r0, #0x64
- strh r0, [r6, #2]
- adds r0, r1, #0
- adds r0, #0x50
- strh r0, [r6, #4]
- adds r7, r6, #0
- adds r7, #8
- ldr r4, _08049C20 @ =gOamBuffer
- ldrh r2, [r6, #8]
- lsls r2, r2, #3
- adds r2, r2, r4
- movs r0, #2
- ldrsh r1, [r7, r0]
- adds r1, #0x64
- ldr r3, _08049C24 @ =0x08137D78
- mov sl, r3
- movs r5, #0
- ldrsh r0, [r3, r5]
- adds r1, r1, r0
- ldr r3, _08049C28 @ =0x000001FF
- adds r0, r3, #0
- ands r1, r0
- ldrh r3, [r2, #2]
- ldr r0, _08049C2C @ =0xFFFFFE00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, #2]
- ldrh r3, [r6, #8]
- lsls r3, r3, #3
- adds r3, r3, r4
- ldrb r0, [r6, #4]
- ldrb r7, [r7, #4]
- adds r0, r0, r7
- mov r5, sl
- ldrb r2, [r5, #2]
- adds r2, r2, r0
- mov r1, ip
- ldr r0, [r1]
- ldr r5, _08049C30 @ =0x00001104
- adds r0, r0, r5
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- adds r2, r2, r0
- strb r2, [r3]
- ldrh r1, [r6, #8]
- lsls r1, r1, #3
- adds r1, r1, r4
- ldrb r0, [r1, #1]
- movs r2, #3
- orrs r0, r2
- strb r0, [r1, #1]
- ldrh r2, [r6, #8]
- lsls r2, r2, #3
- adds r2, r2, r4
- ldrb r1, [r2, #3]
- movs r0, #0xf
- rsbs r0, r0, #0
- ands r0, r1
- movs r1, #0xa
- orrs r0, r1
- strb r0, [r2, #3]
- ldr r5, _08049C34 @ =0x08137DA4
- ldr r0, _08049C38 @ =0xFFFFFD08
- adds r4, r6, r0
- ldr r0, [r4, #0x4c]
- movs r1, #0x41
- bl __umodsi3
- movs r1, #5
- bl __udivsi3
- lsls r0, r0, #1
- adds r0, r0, r5
- ldrh r1, [r0]
- ldrb r0, [r4, #4]
- cmp r0, #1
- bhi _08049C48
- ldr r2, _08049C3C @ =0x040000D4
- lsls r0, r1, #0x10
- asrs r0, r0, #0xb
- ldr r1, _08049C40 @ =0x08510CAC
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _08049C44 @ =0x060118C0
- b _08049C56
- .align 2, 0
-_08049C18: .4byte 0x0000FFFC
-_08049C1C: .4byte 0x0200B3B8
-_08049C20: .4byte gOamBuffer
-_08049C24: .4byte 0x08137D78
-_08049C28: .4byte 0x000001FF
-_08049C2C: .4byte 0xFFFFFE00
-_08049C30: .4byte 0x00001104
-_08049C34: .4byte 0x08137DA4
-_08049C38: .4byte 0xFFFFFD08
-_08049C3C: .4byte 0x040000D4
-_08049C40: .4byte 0x08510CAC
-_08049C44: .4byte 0x060118C0
-_08049C48:
- ldr r2, _08049E84 @ =0x040000D4
- lsls r0, r1, #0x10
- asrs r0, r0, #0xb
- ldr r1, _08049E88 @ =0x08510CAC
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _08049E8C @ =0x06010480
-_08049C56:
- str r0, [r2, #4]
- ldr r0, _08049E90 @ =0x80000010
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- movs r0, #0x64
- strh r0, [r6, #2]
- ldr r1, [sp, #0xc]
- asrs r0, r1, #0x10
- adds r0, #0x50
- strh r0, [r6, #4]
- movs r0, #1
- mov r2, sb
- lsls r2, r2, #0x10
- mov sb, r2
- mov r3, r8
- lsls r3, r3, #0x10
- str r3, [sp, #0x10]
- ldr r5, [sp]
- lsls r5, r5, #0x10
- mov sl, r5
- ldr r1, [sp, #4]
- lsls r1, r1, #0x10
- str r1, [sp, #8]
- ldr r2, _08049E94 @ =gOamBuffer
- mov ip, r2
- movs r3, #0xf
- rsbs r3, r3, #0
- mov r8, r3
-_08049C8E:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r7, r6, r0
- ldrh r3, [r7]
- lsls r3, r3, #3
- add r3, ip
- movs r5, #2
- ldrsh r1, [r7, r5]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- lsls r5, r4, #2
- ldr r0, _08049E98 @ =0x08137D78
- adds r5, r5, r0
- movs r2, #0
- ldrsh r0, [r5, r2]
- adds r1, r1, r0
- ldr r2, _08049E9C @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- ldr r0, _08049EA0 @ =0xFFFFFE00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r2, [r7]
- lsls r2, r2, #3
- add r2, ip
- ldrb r1, [r6, #4]
- ldrb r3, [r7, #4]
- adds r1, r1, r3
- ldrb r0, [r5, #2]
- adds r0, r0, r1
- strb r0, [r2]
- ldrh r2, [r7]
- lsls r2, r2, #3
- add r2, ip
- ldrb r0, [r2, #1]
- movs r1, #3
- orrs r0, r1
- strb r0, [r2, #1]
- ldrh r2, [r7]
- lsls r2, r2, #3
- add r2, ip
- ldrb r1, [r2, #3]
- mov r0, r8
- ands r0, r1
- movs r1, #0xa
- orrs r0, r1
- strb r0, [r2, #3]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #4
- ble _08049C8E
- movs r0, #0x64
- strh r0, [r6, #2]
- mov r5, sb
- asrs r0, r5, #0x10
- adds r0, #0x58
- strh r0, [r6, #4]
- movs r0, #5
- ldr r1, _08049E94 @ =gOamBuffer
- mov ip, r1
- ldr r2, _08049EA0 @ =0xFFFFFE00
- mov sb, r2
- movs r3, #0xf
- rsbs r3, r3, #0
- mov r8, r3
-_08049D1E:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r7, r6, r0
- ldrh r3, [r7]
- lsls r3, r3, #3
- add r3, ip
- movs r5, #2
- ldrsh r1, [r7, r5]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- lsls r5, r4, #2
- ldr r0, _08049E98 @ =0x08137D78
- adds r5, r5, r0
- movs r2, #0
- ldrsh r0, [r5, r2]
- adds r1, r1, r0
- ldr r2, _08049E9C @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, sb
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r2, [r7]
- lsls r2, r2, #3
- add r2, ip
- ldrb r1, [r6, #4]
- ldrb r3, [r7, #4]
- adds r1, r1, r3
- ldrb r0, [r5, #2]
- adds r0, r0, r1
- strb r0, [r2]
- ldrh r2, [r7]
- lsls r2, r2, #3
- add r2, ip
- ldrb r0, [r2, #1]
- movs r1, #3
- orrs r0, r1
- strb r0, [r2, #1]
- ldrh r2, [r7]
- lsls r2, r2, #3
- add r2, ip
- ldrb r1, [r2, #3]
- mov r0, r8
- ands r0, r1
- movs r1, #0xa
- orrs r0, r1
- strb r0, [r2, #3]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #0xa
- ble _08049D1E
-_08049D92:
- movs r0, #0x80
- lsls r0, r0, #1
- ldr r5, [sp, #0x10]
- asrs r1, r5, #0x10
- movs r2, #5
- bl SetMatrixScale
- ldr r6, _08049EA4 @ =0x0200B470
- movs r0, #0x64
- mov r2, sl
- asrs r1, r2, #0x10
- subs r0, r0, r1
- strh r0, [r6, #2]
- ldr r3, [sp, #8]
- asrs r0, r3, #0x10
- adds r0, #0x50
- strh r0, [r6, #4]
- movs r0, #0
- ldr r5, _08049E94 @ =gOamBuffer
- ldr r1, _08049EA0 @ =0xFFFFFE00
- mov r8, r1
-_08049DBC:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r7, r6, r0
- ldrh r3, [r7]
- lsls r3, r3, #3
- adds r3, r3, r5
- movs r2, #2
- ldrsh r1, [r7, r2]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08049E9C @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r7]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldrb r0, [r6, #4]
- ldrb r7, [r7, #4]
- adds r0, r0, r7
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #1
- ble _08049DBC
- ldr r6, _08049EA8 @ =0x0200B528
- mov r3, sl
- asrs r0, r3, #0x10
- adds r0, #0x44
- strh r0, [r6, #2]
- movs r0, #0x6c
- ldr r5, [sp, #8]
- asrs r1, r5, #0x10
- subs r0, r0, r1
- strh r0, [r6, #4]
- movs r0, #0
- ldr r1, _08049EAC @ =0x020314E0
- mov ip, r1
- ldr r5, _08049E94 @ =gOamBuffer
- ldr r2, _08049EA0 @ =0xFFFFFE00
- mov r8, r2
-_08049E20:
- lsls r4, r0, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, #8
- adds r7, r6, r0
- ldrh r3, [r7]
- lsls r3, r3, #3
- adds r3, r3, r5
- movs r0, #2
- ldrsh r1, [r7, r0]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- ldr r2, _08049E9C @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r7]
- lsls r1, r1, #3
- adds r1, r1, r5
- ldrb r0, [r6, #4]
- ldrb r7, [r7, #4]
- adds r0, r0, r7
- strb r0, [r1]
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r0, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #2
- ble _08049E20
- mov r3, ip
- ldr r1, [r3]
- ldr r5, _08049EB0 @ =0x0000131C
- adds r1, r1, r5
- ldr r0, [r1]
- adds r0, #1
- str r0, [r1]
- add sp, #0x14
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08049E84: .4byte 0x040000D4
-_08049E88: .4byte 0x08510CAC
-_08049E8C: .4byte 0x06010480
-_08049E90: .4byte 0x80000010
-_08049E94: .4byte gOamBuffer
-_08049E98: .4byte 0x08137D78
-_08049E9C: .4byte 0x000001FF
-_08049EA0: .4byte 0xFFFFFE00
-_08049EA4: .4byte 0x0200B470
-_08049EA8: .4byte 0x0200B528
-_08049EAC: .4byte 0x020314E0
-_08049EB0: .4byte 0x0000131C
-
- thumb_func_start PinballGameMain
-PinballGameMain: @ 0x08049EB4
- push {lr}
- ldr r1, _08049ECC @ =0x08137E04
- ldr r0, _08049ED0 @ =gMain
- ldrb r0, [r0, #3]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .align 2, 0
-_08049ECC: .4byte 0x08137E04
-_08049ED0: .4byte gMain
-
- thumb_func_start sub_49ED4
-sub_49ED4: @ 0x08049ED4
- push {r4, r5, r6, r7, lr}
- ldr r0, _08049F18 @ =gMain
- ldr r1, [r0, #0x4c]
- movs r0, #0xf
- movs r5, #0
- ands r1, r0
- cmp r5, r1
- bge _08049EFA
- adds r4, r1, #0
-_08049EE6:
- bl Random
- lsls r0, r5, #0x10
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r0, r1
- lsrs r5, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, r4
- blt _08049EE6
-_08049EFA:
- bl sub_10C0
- ldr r1, _08049F1C @ =0x020314E0
- ldr r0, _08049F20 @ =0x02000000
- str r0, [r1]
- bl sub_438
- ldr r1, _08049F18 @ =gMain
- movs r0, #0
- strb r0, [r1, #0xe]
- ldrb r0, [r1, #0xd]
- cmp r0, #0
- beq _08049F24
- movs r1, #0
- b _08049F36
- .align 2, 0
-_08049F18: .4byte gMain
-_08049F1C: .4byte 0x020314E0
-_08049F20: .4byte 0x02000000
-_08049F24:
- ldrb r0, [r1, #5]
- ldrb r2, [r1, #4]
- movs r1, #1
- cmp r0, r2
- beq _08049F36
- movs r1, #3
- cmp r2, #1
- bhi _08049F36
- movs r1, #2
-_08049F36:
- lsls r0, r1, #0x10
- asrs r1, r0, #0x10
- adds r7, r0, #0
- cmp r1, #1
- bne _08049F42
- b _0804A064
-_08049F42:
- cmp r1, #1
- bgt _08049F4C
- cmp r1, #0
- beq _08049F5A
- b _0804A19C
-_08049F4C:
- cmp r1, #2
- bne _08049F52
- b _0804A104
-_08049F52:
- cmp r1, #3
- bne _08049F58
- b _0804A158
-_08049F58:
- b _0804A19C
-_08049F5A:
- bl sub_4A270
- bl sub_4A518
- bl sub_467F4
- ldr r2, _08049FE4 @ =0x040000D4
- ldr r0, _08049FE8 @ =0x02031520
- ldr r0, [r0, #0x2c]
- str r0, [r2]
- ldr r0, _08049FEC @ =0x05000200
- str r0, [r2, #4]
- ldr r0, _08049FF0 @ =0x80000100
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, _08049FF4 @ =gMain
- ldrb r0, [r0, #9]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08049FA4
- ldr r0, _08049FF8 @ =0x020314E0
- ldr r0, [r0]
- ldr r1, _08049FFC @ =0x000005F6
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #5
- ldr r1, _0804A000 @ =0x08137E14
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _0804A004 @ =0x05000220
- str r0, [r2, #4]
- ldr r0, _0804A008 @ =0x80000010
- str r0, [r2, #8]
- ldr r0, [r2, #8]
-_08049FA4:
- bl sub_4A90C
- movs r5, #0
- ldr r6, _0804A00C @ =0x020028D8
-_08049FAC:
- lsls r4, r5, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, r0, r6
- ldr r0, [r0]
- bl _call_via_r0
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r5, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #8
- ble _08049FAC
- bl m4aMPlayAllStop
- bl sub_47110
- bl sub_4A518
- ldr r0, _08049FF4 @ =gMain
- ldrb r0, [r0, #2]
- cmp r0, #3
- bne _0804A010
- movs r0, #2
- bl sub_4B678
- b _0804A016
- .align 2, 0
-_08049FE4: .4byte 0x040000D4
-_08049FE8: .4byte 0x02031520
-_08049FEC: .4byte 0x05000200
-_08049FF0: .4byte 0x80000100
-_08049FF4: .4byte gMain
-_08049FF8: .4byte 0x020314E0
-_08049FFC: .4byte 0x000005F6
-_0804A000: .4byte 0x08137E14
-_0804A004: .4byte 0x05000220
-_0804A008: .4byte 0x80000010
-_0804A00C: .4byte 0x020028D8
-_0804A010:
- movs r0, #1
- bl sub_4B678
-_0804A016:
- bl sub_4A270
- bl sub_4A90C
- ldr r1, _0804A03C @ =0x086B085C
- ldr r4, _0804A040 @ =gMain
- ldrb r0, [r4, #6]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- ldrb r0, [r4, #4]
- cmp r0, #1
- bhi _0804A044
- bl sub_1D4D0
- b _0804A19C
- .align 2, 0
-_0804A03C: .4byte 0x086B085C
-_0804A040: .4byte gMain
-_0804A044:
- cmp r0, #2
- bne _0804A04E
- bl sub_356A0
- b _0804A19C
-_0804A04E:
- cmp r0, #4
- bne _0804A058
- bl sub_3ADA0
- b _0804A19C
-_0804A058:
- cmp r0, #5
- beq _0804A05E
- b _0804A19C
-_0804A05E:
- bl sub_3E5D0
- b _0804A19C
-_0804A064:
- bl sub_4A270
- bl sub_4A518
- bl sub_467F4
- ldr r2, _0804A0D8 @ =0x040000D4
- ldr r0, _0804A0DC @ =0x02031520
- ldr r0, [r0, #0x2c]
- str r0, [r2]
- ldr r0, _0804A0E0 @ =0x05000200
- str r0, [r2, #4]
- ldr r0, _0804A0E4 @ =0x80000100
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, _0804A0E8 @ =gMain
- ldrb r0, [r0, #9]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _0804A0AE
- ldr r0, _0804A0EC @ =0x020314E0
- ldr r0, [r0]
- ldr r1, _0804A0F0 @ =0x000005F6
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #5
- ldr r1, _0804A0F4 @ =0x08137E14
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _0804A0F8 @ =0x05000220
- str r0, [r2, #4]
- ldr r0, _0804A0FC @ =0x80000010
- str r0, [r2, #8]
- ldr r0, [r2, #8]
-_0804A0AE:
- bl sub_4A90C
- movs r5, #0
- ldr r6, _0804A100 @ =0x020028D8
-_0804A0B6:
- lsls r4, r5, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, r0, r6
- ldr r0, [r0]
- bl _call_via_r0
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r5, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #8
- ble _0804A0B6
- bl sub_47110
- b _0804A19C
- .align 2, 0
-_0804A0D8: .4byte 0x040000D4
-_0804A0DC: .4byte 0x02031520
-_0804A0E0: .4byte 0x05000200
-_0804A0E4: .4byte 0x80000100
-_0804A0E8: .4byte gMain
-_0804A0EC: .4byte 0x020314E0
-_0804A0F0: .4byte 0x000005F6
-_0804A0F4: .4byte 0x08137E14
-_0804A0F8: .4byte 0x05000220
-_0804A0FC: .4byte 0x80000010
-_0804A100: .4byte 0x020028D8
-_0804A104:
- bl sub_4A270
- bl sub_4A6A0
- movs r0, #0
- bl sub_4B678
- bl sub_4A90C
- ldr r1, _0804A148 @ =0x086B085C
- ldr r4, _0804A14C @ =gMain
- ldrb r0, [r4, #6]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- ldrb r0, [r4, #4]
- cmp r0, #0
- bne _0804A132
- movs r0, #1
- bl sub_46FD4
-_0804A132:
- movs r0, #0
- movs r1, #0
- bl sub_1C7F4
- ldr r0, _0804A150 @ =0x020314E0
- ldr r0, [r0]
- ldr r1, _0804A154 @ =0x000006C4
- adds r0, r0, r1
- movs r1, #0
- strb r1, [r0]
- b _0804A19C
- .align 2, 0
-_0804A148: .4byte 0x086B085C
-_0804A14C: .4byte gMain
-_0804A150: .4byte 0x020314E0
-_0804A154: .4byte 0x000006C4
-_0804A158:
- bl sub_4A270
- bl sub_4A518
- bl sub_467F4
- ldr r1, _0804A22C @ =0x040000D4
- ldr r0, _0804A230 @ =0x02031520
- ldr r0, [r0, #0x2c]
- str r0, [r1]
- ldr r0, _0804A234 @ =0x05000200
- str r0, [r1, #4]
- ldr r0, _0804A238 @ =0x80000100
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- bl sub_4A90C
- movs r5, #0
- ldr r6, _0804A23C @ =0x020028D8
-_0804A17E:
- lsls r4, r5, #0x10
- asrs r4, r4, #0x10
- lsls r0, r4, #3
- adds r0, r0, r6
- ldr r0, [r0]
- bl _call_via_r0
- adds r4, #1
- lsls r4, r4, #0x10
- lsrs r5, r4, #0x10
- asrs r4, r4, #0x10
- cmp r4, #8
- ble _0804A17E
- bl sub_47110
-_0804A19C:
- ldr r1, _0804A230 @ =0x02031520
- movs r0, #0
- strh r0, [r1, #8]
- movs r2, #0
- ldr r3, _0804A240 @ =0x0200B134
-_0804A1A6:
- lsls r0, r2, #0x10
- asrs r2, r0, #0x10
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, #3
- bls _0804A1B8
- ldrh r0, [r1, #8]
- adds r0, #1
- strh r0, [r1, #8]
-_0804A1B8:
- adds r0, r2, #1
- lsls r0, r0, #0x10
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xcc
- ble _0804A1A6
- bl sub_CBC
- bl sub_24C
- ldr r4, _0804A244 @ =0x020314E0
- ldr r0, [r4]
- movs r1, #0x88
- lsls r1, r1, #5
- adds r0, r0, r1
- movs r3, #0
- strb r3, [r0]
- ldr r1, _0804A248 @ =gMain
- adds r2, r1, #0
- adds r2, #0x36
- movs r0, #1
- strb r0, [r2]
- asrs r0, r7, #0x10
- cmp r0, #2
- bgt _0804A25E
- cmp r0, #1
- bge _0804A254
- cmp r0, #0
- bne _0804A25E
- ldrb r0, [r1, #2]
- cmp r0, #3
- beq _0804A212
- ldr r0, [r4]
- ldr r1, _0804A24C @ =0x00000F4C
- adds r0, r0, r1
- ldr r1, [r0]
- cmp r1, #0
- beq _0804A212
- ldr r2, _0804A250 @ =0x02032EE0
- ldr r0, [r2, #4]
- cmp r0, #0
- bge _0804A212
- adds r0, r2, #0
- bl MPlayStart
-_0804A212:
- ldr r0, _0804A248 @ =gMain
- ldrb r0, [r0, #4]
- cmp r0, #1
- bhi _0804A25E
- ldr r0, _0804A244 @ =0x020314E0
- ldr r0, [r0]
- adds r0, #0x6f
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- bl sub_31BE8
- b _0804A25E
- .align 2, 0
-_0804A22C: .4byte 0x040000D4
-_0804A230: .4byte 0x02031520
-_0804A234: .4byte 0x05000200
-_0804A238: .4byte 0x80000100
-_0804A23C: .4byte 0x020028D8
-_0804A240: .4byte 0x0200B134
-_0804A244: .4byte 0x020314E0
-_0804A248: .4byte gMain
-_0804A24C: .4byte 0x00000F4C
-_0804A250: .4byte 0x02032EE0
-_0804A254:
- ldrh r0, [r1, #0x38]
- movs r0, #0xce
- strh r0, [r1, #0x38]
- ldrh r0, [r1, #0x3c]
- strh r3, [r1, #0x3c]
-_0804A25E:
- ldr r1, _0804A26C @ =gMain
- ldrb r0, [r1, #3]
- adds r0, #1
- strb r0, [r1, #3]
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804A26C: .4byte gMain
-
- thumb_func_start sub_4A270
-sub_4A270: @ 0x0804A270
- push {r4, lr}
- movs r0, #0x80
- lsls r0, r0, #0x13
- movs r2, #0x86
- lsls r2, r2, #5
- adds r1, r2, #0
- strh r1, [r0]
- ldr r0, _0804A294 @ =gMain
- ldrb r1, [r0, #4]
- adds r3, r0, #0
- cmp r1, #7
- bls _0804A28A
- b _0804A4E8
-_0804A28A:
- lsls r0, r1, #2
- ldr r1, _0804A298 @ =_0804A29C
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804A294: .4byte gMain
-_0804A298: .4byte _0804A29C
-_0804A29C: @ jump table
- .4byte _0804A2BC @ case 0
- .4byte _0804A308 @ case 1
- .4byte _0804A354 @ case 2
- .4byte _0804A39C @ case 3
- .4byte _0804A3E8 @ case 4
- .4byte _0804A418 @ case 5
- .4byte _0804A448 @ case 6
- .4byte _0804A494 @ case 7
-_0804A2BC:
- ldr r1, _0804A2F0 @ =0x0400000E
- ldr r4, _0804A2F4 @ =0x0000804B
- adds r0, r4, #0
- strh r0, [r1]
- movs r2, #0x80
- lsls r2, r2, #0x13
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #4
- adds r1, r4, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0804A2F8 @ =0x0400000C
- ldr r4, _0804A2FC @ =0x00008246
- adds r0, r4, #0
- strh r0, [r1]
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #3
- adds r1, r4, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0804A300 @ =0x0400000A
- ldr r4, _0804A304 @ =0x00008649
- b _0804A4C4
- .align 2, 0
-_0804A2F0: .4byte 0x0400000E
-_0804A2F4: .4byte 0x0000804B
-_0804A2F8: .4byte 0x0400000C
-_0804A2FC: .4byte 0x00008246
-_0804A300: .4byte 0x0400000A
-_0804A304: .4byte 0x00008649
-_0804A308:
- ldr r1, _0804A33C @ =0x0400000E
- ldr r2, _0804A340 @ =0x0000804B
- adds r0, r2, #0
- strh r0, [r1]
- movs r2, #0x80
- lsls r2, r2, #0x13
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #4
- adds r1, r4, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0804A344 @ =0x0400000C
- ldr r4, _0804A348 @ =0x00008246
- adds r0, r4, #0
- strh r0, [r1]
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #3
- adds r1, r4, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0804A34C @ =0x0400000A
- ldr r4, _0804A350 @ =0x00008649
- b _0804A4C4
- .align 2, 0
-_0804A33C: .4byte 0x0400000E
-_0804A340: .4byte 0x0000804B
-_0804A344: .4byte 0x0400000C
-_0804A348: .4byte 0x00008246
-_0804A34C: .4byte 0x0400000A
-_0804A350: .4byte 0x00008649
-_0804A354:
- ldr r1, _0804A390 @ =0x0400000E
- movs r0, #0xb
- strh r0, [r1]
- movs r2, #0x80
- lsls r2, r2, #0x13
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #4
- adds r1, r4, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0804A394 @ =0x0400000C
- movs r4, #0x85
- lsls r4, r4, #1
- adds r0, r4, #0
- strh r0, [r1]
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #3
- adds r1, r4, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0804A398 @ =0x0400000A
- movs r4, #0x82
- lsls r4, r4, #2
- adds r0, r4, #0
- strh r0, [r1]
- ldrh r0, [r2]
- subs r4, #8
- b _0804A4CE
- .align 2, 0
-_0804A390: .4byte 0x0400000E
-_0804A394: .4byte 0x0400000C
-_0804A398: .4byte 0x0400000A
-_0804A39C:
- ldr r1, _0804A3D8 @ =0x0400000E
- movs r0, #0xb
- strh r0, [r1]
- movs r2, #0x80
- lsls r2, r2, #0x13
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #4
- adds r1, r4, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0804A3DC @ =0x0400000C
- movs r4, #0x85
- lsls r4, r4, #1
- adds r0, r4, #0
- strh r0, [r1]
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #3
- adds r1, r4, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0804A3E0 @ =0x0400000A
- ldr r4, _0804A3E4 @ =0x00000209
- adds r0, r4, #0
- strh r0, [r1]
- ldrh r0, [r2]
- subs r4, #9
- b _0804A4CE
- .align 2, 0
-_0804A3D8: .4byte 0x0400000E
-_0804A3DC: .4byte 0x0400000C
-_0804A3E0: .4byte 0x0400000A
-_0804A3E4: .4byte 0x00000209
-_0804A3E8:
- ldr r1, _0804A410 @ =0x0400000E
- movs r0, #0xb
- strh r0, [r1]
- movs r2, #0x80
- lsls r2, r2, #0x13
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #4
- adds r1, r4, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0804A414 @ =0x0400000C
- movs r4, #0x85
- lsls r4, r4, #1
- adds r0, r4, #0
- strh r0, [r1]
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #3
- b _0804A4CE
- .align 2, 0
-_0804A410: .4byte 0x0400000E
-_0804A414: .4byte 0x0400000C
-_0804A418:
- ldr r1, _0804A440 @ =0x0400000E
- movs r0, #0xb
- strh r0, [r1]
- movs r2, #0x80
- lsls r2, r2, #0x13
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #4
- adds r1, r4, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0804A444 @ =0x0400000C
- movs r4, #0x85
- lsls r4, r4, #1
- adds r0, r4, #0
- strh r0, [r1]
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #3
- b _0804A4CE
- .align 2, 0
-_0804A440: .4byte 0x0400000E
-_0804A444: .4byte 0x0400000C
-_0804A448:
- ldr r1, _0804A47C @ =0x0400000E
- ldr r2, _0804A480 @ =0x0000800B
- adds r0, r2, #0
- strh r0, [r1]
- movs r2, #0x80
- lsls r2, r2, #0x13
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #4
- adds r1, r4, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0804A484 @ =0x0400000C
- ldr r4, _0804A488 @ =0x0000820A
- adds r0, r4, #0
- strh r0, [r1]
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #3
- adds r1, r4, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0804A48C @ =0x0400000A
- ldr r4, _0804A490 @ =0x00008609
- b _0804A4C4
- .align 2, 0
-_0804A47C: .4byte 0x0400000E
-_0804A480: .4byte 0x0000800B
-_0804A484: .4byte 0x0400000C
-_0804A488: .4byte 0x0000820A
-_0804A48C: .4byte 0x0400000A
-_0804A490: .4byte 0x00008609
-_0804A494:
- ldr r1, _0804A4FC @ =0x0400000E
- movs r0, #0xb
- strh r0, [r1]
- movs r2, #0x80
- lsls r2, r2, #0x13
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #4
- adds r1, r4, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0804A500 @ =0x0400000C
- movs r4, #0x85
- lsls r4, r4, #1
- adds r0, r4, #0
- strh r0, [r1]
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #3
- adds r1, r4, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0804A504 @ =0x0400000A
- ldr r4, _0804A508 @ =0x00008208
-_0804A4C4:
- adds r0, r4, #0
- strh r0, [r1]
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #2
-_0804A4CE:
- adds r1, r4, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0804A50C @ =0x04000008
- ldr r4, _0804A510 @ =0x00008404
- adds r0, r4, #0
- strh r0, [r1]
- ldrh r0, [r2]
- movs r4, #0x80
- lsls r4, r4, #1
- adds r1, r4, #0
- orrs r0, r1
- strh r0, [r2]
-_0804A4E8:
- movs r0, #0x80
- lsls r0, r0, #0x13
- ldrh r0, [r0]
- movs r1, #0
- strh r0, [r3, #0x16]
- ldr r0, _0804A514 @ =0x0400004C
- strh r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804A4FC: .4byte 0x0400000E
-_0804A500: .4byte 0x0400000C
-_0804A504: .4byte 0x0400000A
-_0804A508: .4byte 0x00008208
-_0804A50C: .4byte 0x04000008
-_0804A510: .4byte 0x00008404
-_0804A514: .4byte 0x0400004C
-
- thumb_func_start sub_4A518
-sub_4A518: @ 0x0804A518
- push {r4, r5, r6, r7, lr}
- sub sp, #4
- ldr r0, _0804A60C @ =gMain
- movs r3, #0
- strb r3, [r0, #0xf]
- strb r3, [r0, #0x10]
- str r3, [r0, #0x50]
- strb r3, [r0, #0x11]
- movs r7, #0
- strh r3, [r0, #0x12]
- strh r3, [r0, #0x14]
- movs r1, #0x90
- strh r1, [r0, #0x26]
- strh r3, [r0, #0x28]
- strh r3, [r0, #0x2a]
- adds r1, r0, #0
- adds r1, #0x36
- strb r7, [r1]
- ldrh r1, [r0, #0x38]
- strh r3, [r0, #0x38]
- ldrh r1, [r0, #0x3a]
- strh r3, [r0, #0x3a]
- ldrh r1, [r0, #0x3c]
- strh r3, [r0, #0x3c]
- ldrb r1, [r0, #5]
- adds r6, r0, #0
- ldr r5, _0804A610 @ =0x020314E0
- ldrb r0, [r6, #4]
- cmp r1, r0
- beq _0804A556
- b _0804A652
-_0804A556:
- mov r0, sp
- strh r3, [r0]
- ldr r4, _0804A614 @ =0x040000D4
- str r0, [r4]
- ldr r0, [r5]
- str r0, [r4, #4]
- ldr r0, _0804A618 @ =0x81000A08
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- movs r2, #9
- ldrsb r2, [r6, r2]
- cmp r2, #0
- beq _0804A62C
- ldr r2, [r5]
- movs r1, #0xe3
- lsls r1, r1, #1
- adds r0, r2, r1
- movs r1, #0xa8
- strh r1, [r0]
- movs r7, #0xe4
- lsls r7, r7, #1
- adds r0, r2, r7
- strh r1, [r0]
- movs r1, #0xe6
- lsls r1, r1, #1
- adds r0, r2, r1
- movs r1, #0xd
- strh r1, [r0]
- adds r7, #2
- adds r0, r2, r7
- strh r1, [r0]
- movs r1, #0xe8
- lsls r1, r1, #1
- adds r0, r2, r1
- strh r3, [r0]
- adds r7, #0xa
- adds r0, r2, r7
- strh r3, [r0]
- movs r0, #0xeb
- lsls r0, r0, #1
- adds r1, r2, r0
- movs r0, #0x78
- strh r0, [r1]
- adds r7, #8
- adds r1, r2, r7
- movs r0, #0x3c
- strh r0, [r1]
- ldr r0, _0804A61C @ =0x084C0C6C
- str r0, [r4]
- ldr r0, _0804A620 @ =0x06010600
- str r0, [r4, #4]
- ldr r0, _0804A624 @ =0x800000C0
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, [r5]
- movs r2, #0xf1
- lsls r2, r2, #1
- adds r1, r0, r2
- movs r0, #2
- strb r0, [r1]
- ldr r0, [r6, #0x44]
- adds r0, #0xa4
- ldr r0, [r0]
- strh r3, [r0]
- ldr r1, [r5]
- movs r3, #0xe0
- lsls r3, r3, #1
- adds r2, r1, r3
- movs r0, #1
- strh r0, [r2]
- ldr r4, _0804A628 @ =0x000005F6
- adds r1, r1, r4
- movs r0, #3
- strb r0, [r1]
- ldr r1, [r5]
- movs r7, #0xbf
- lsls r7, r7, #3
- adds r2, r1, r7
- movs r0, #0xe1
- lsls r0, r0, #4
- strh r0, [r2]
- adds r1, #0x30
- movs r0, #9
- strb r0, [r1]
- ldr r0, [r5]
- movs r2, #0xc9
- lsls r2, r2, #1
- adds r1, r0, r2
- movs r0, #0x63
- b _0804A650
- .align 2, 0
-_0804A60C: .4byte gMain
-_0804A610: .4byte 0x020314E0
-_0804A614: .4byte 0x040000D4
-_0804A618: .4byte 0x81000A08
-_0804A61C: .4byte 0x084C0C6C
-_0804A620: .4byte 0x06010600
-_0804A624: .4byte 0x800000C0
-_0804A628: .4byte 0x000005F6
-_0804A62C:
- ldr r1, [r5]
- movs r3, #0xea
- lsls r3, r3, #1
- adds r0, r1, r3
- strh r2, [r0]
- movs r4, #0xeb
- lsls r4, r4, #1
- adds r2, r1, r4
- ldr r0, _0804A690 @ =0x0000FFFC
- strh r0, [r2]
- adds r1, #0x30
- movs r0, #2
- strb r0, [r1]
- ldr r0, [r5]
- movs r7, #0xc9
- lsls r7, r7, #1
- adds r1, r0, r7
- movs r0, #0xa
-_0804A650:
- strb r0, [r1]
-_0804A652:
- ldrb r0, [r6, #2]
- cmp r0, #3
- beq _0804A666
- ldr r0, [r5]
- movs r2, #0xa1
- lsls r2, r2, #1
- adds r1, r6, r2
- ldrb r1, [r1]
- adds r0, #0x31
- strb r1, [r0]
-_0804A666:
- ldr r1, [r5]
- ldr r0, _0804A694 @ =0x00009C40
- str r0, [r1, #0x38]
- movs r3, #0
- strb r3, [r1, #0x1d]
- ldr r0, [r5]
- ldr r4, _0804A698 @ =0x0000132C
- adds r1, r0, r4
- ldr r7, _0804A69C @ =0x00001334
- adds r2, r0, r7
- str r2, [r1]
- adds r4, #4
- adds r1, r0, r4
- str r2, [r1]
- adds r0, #0x66
- strh r3, [r0]
- add sp, #4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804A690: .4byte 0x0000FFFC
-_0804A694: .4byte 0x00009C40
-_0804A698: .4byte 0x0000132C
-_0804A69C: .4byte 0x00001334
-
- thumb_func_start sub_4A6A0
-sub_4A6A0: @ 0x0804A6A0
- push {r4, r5, r6, r7, lr}
- ldr r1, _0804A6C0 @ =0x020314E0
- ldr r2, [r1]
- ldr r3, _0804A6C4 @ =0x00000282
- adds r0, r2, r3
- movs r5, #0
- ldrsb r5, [r0, r5]
- adds r6, r1, #0
- cmp r5, #1
- beq _0804A760
- cmp r5, #1
- bgt _0804A6C8
- cmp r5, #0
- beq _0804A6D0
- b _0804A83C
- .align 2, 0
-_0804A6C0: .4byte 0x020314E0
-_0804A6C4: .4byte 0x00000282
-_0804A6C8:
- cmp r5, #2
- bne _0804A6CE
- b _0804A7D0
-_0804A6CE:
- b _0804A83C
-_0804A6D0:
- ldr r4, _0804A738 @ =0x0000132C
- adds r1, r2, r4
- ldr r2, [r1]
- movs r3, #0
- movs r0, #0x77
- strh r0, [r2, #0x10]
- ldr r2, [r1]
- adds r0, #0xa0
- strh r0, [r2, #0x12]
- ldr r0, [r1]
- strh r5, [r0, #0x30]
- ldr r0, [r1]
- strh r5, [r0, #0x32]
- ldr r0, [r1]
- strh r5, [r0, #6]
- ldr r2, [r1]
- movs r5, #0x10
- ldrsh r0, [r2, r5]
- lsls r0, r0, #8
- str r0, [r2, #0x34]
- ldr r2, [r1]
- movs r7, #0x12
- ldrsh r0, [r2, r7]
- lsls r0, r0, #8
- str r0, [r2, #0x38]
- ldr r2, [r1]
- movs r0, #0x80
- strh r0, [r2, #0xe]
- ldr r0, [r1]
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r6]
- strb r1, [r0, #0x1f]
- ldr r0, [r6]
- movs r1, #0xe6
- lsls r1, r1, #3
- adds r0, r0, r1
- strb r3, [r0]
- ldr r0, [r6]
- movs r1, #0x78
- strh r1, [r0, #0x28]
- adds r0, #0x25
- movs r1, #4
- strb r1, [r0]
- ldr r0, _0804A73C @ =gMain
- ldrb r0, [r0, #4]
- cmp r0, #0
- bne _0804A740
- bl sub_1A9E8
- b _0804A744
- .align 2, 0
-_0804A738: .4byte 0x0000132C
-_0804A73C: .4byte gMain
-_0804A740:
- bl sub_32968
-_0804A744:
- ldr r3, _0804A75C @ =0x020314E0
- ldr r1, [r3]
- adds r2, r1, #0
- adds r2, #0x4c
- movs r0, #0
- strh r0, [r2]
- adds r1, #0x4e
- movs r0, #0xd7
- strh r0, [r1]
- adds r6, r3, #0
- b _0804A83C
- .align 2, 0
-_0804A75C: .4byte 0x020314E0
-_0804A760:
- ldr r3, _0804A7C8 @ =0x0000132C
- adds r1, r2, r3
- ldr r2, [r1]
- movs r4, #0
- movs r3, #0
- movs r0, #0x8c
- strh r0, [r2, #0x10]
- ldr r2, [r1]
- movs r0, #0xb7
- strh r0, [r2, #0x12]
- ldr r0, [r1]
- strh r3, [r0, #0x30]
- ldr r0, [r1]
- strh r3, [r0, #0x32]
- ldr r0, [r1]
- strh r3, [r0, #6]
- ldr r2, [r1]
- movs r7, #0x10
- ldrsh r0, [r2, r7]
- lsls r0, r0, #8
- str r0, [r2, #0x34]
- ldr r2, [r1]
- movs r7, #0x12
- ldrsh r0, [r2, r7]
- lsls r0, r0, #8
- str r0, [r2, #0x38]
- ldr r2, [r1]
- movs r0, #0x80
- strh r0, [r2, #0xe]
- ldr r0, [r1]
- strb r5, [r0]
- ldr r0, [r6]
- strb r5, [r0, #0x1f]
- ldr r0, [r6]
- movs r1, #0xe6
- lsls r1, r1, #3
- adds r0, r0, r1
- strb r4, [r0]
- ldr r0, [r6]
- ldr r2, _0804A7CC @ =0x000002A2
- adds r0, r0, r2
- movs r1, #5
- strb r1, [r0]
- ldr r0, [r6]
- adds r1, r0, #0
- adds r1, #0x4c
- strh r3, [r1]
- adds r0, #0x4e
- movs r1, #0x76
- strh r1, [r0]
- b _0804A83C
- .align 2, 0
-_0804A7C8: .4byte 0x0000132C
-_0804A7CC: .4byte 0x000002A2
-_0804A7D0:
- ldr r3, _0804A8E4 @ =0x0000132C
- adds r1, r2, r3
- ldr r2, [r1]
- movs r4, #0
- movs r3, #0
- ldr r0, _0804A8E8 @ =0x0000FFE4
- strh r0, [r2, #0x10]
- ldr r2, [r1]
- adds r0, #0x12
- strh r0, [r2, #0x12]
- ldr r0, [r1]
- strh r3, [r0, #0x30]
- ldr r0, [r1]
- strh r3, [r0, #0x32]
- ldr r0, [r1]
- strh r3, [r0, #6]
- ldr r2, [r1]
- movs r5, #0x10
- ldrsh r0, [r2, r5]
- lsls r0, r0, #8
- str r0, [r2, #0x34]
- ldr r2, [r1]
- movs r7, #0x12
- ldrsh r0, [r2, r7]
- lsls r0, r0, #8
- str r0, [r2, #0x38]
- ldr r2, [r1]
- movs r0, #0x80
- strh r0, [r2, #0xe]
- ldr r0, [r1]
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r6]
- strb r1, [r0, #0x1f]
- ldr r0, [r6]
- movs r1, #0xe6
- lsls r1, r1, #3
- adds r0, r0, r1
- strb r4, [r0]
- ldr r0, [r6]
- movs r2, #0xc3
- lsls r2, r2, #2
- adds r1, r0, r2
- strh r3, [r1]
- ldr r4, _0804A8EC @ =0x00000306
- adds r0, r0, r4
- movs r1, #7
- strb r1, [r0]
- ldr r0, [r6]
- adds r1, r0, #0
- adds r1, #0x4c
- strh r3, [r1]
- adds r0, #0x4e
- strh r3, [r0]
-_0804A83C:
- ldr r1, [r6]
- ldr r3, _0804A8F0 @ =0x000005FC
- adds r0, r1, r3
- movs r4, #0
- movs r2, #0
- strh r2, [r0]
- ldr r5, _0804A8F4 @ =0x000005FE
- adds r0, r1, r5
- strh r2, [r0]
- ldr r7, _0804A8F8 @ =0x000005FB
- adds r1, r1, r7
- strb r4, [r1]
- ldr r2, [r6]
- adds r5, r2, #0
- adds r5, #0x4e
- movs r1, #0
- ldrsh r0, [r5, r1]
- lsls r0, r0, #8
- str r0, [r2, #0x54]
- adds r4, r2, #0
- adds r4, #0x4c
- ldrh r1, [r4]
- adds r0, r2, #0
- adds r0, #0x58
- strh r1, [r0]
- adds r3, r2, r3
- ldrh r0, [r3]
- ldrh r5, [r5]
- adds r0, r0, r5
- adds r1, r2, #0
- adds r1, #0x5a
- strh r0, [r1]
- ldr r2, _0804A8FC @ =gMain
- ldrh r1, [r4]
- movs r3, #0xbc
- lsls r3, r3, #2
- adds r0, r2, r3
- strh r1, [r0]
- ldr r0, [r6]
- adds r0, #0x4e
- ldrh r1, [r0]
- ldr r4, _0804A900 @ =0x000002F2
- adds r0, r2, r4
- strh r1, [r0]
- ldr r0, [r6]
- adds r0, #0x4c
- ldrh r1, [r0]
- movs r5, #0xbd
- lsls r5, r5, #2
- adds r0, r2, r5
- strh r1, [r0]
- ldr r0, [r6]
- adds r0, #0x4e
- ldrh r3, [r0]
- ldr r7, _0804A904 @ =0x000002F6
- adds r4, r2, r7
- strh r3, [r4]
- ldr r0, [r6]
- adds r0, #0x4c
- ldrh r1, [r0]
- subs r5, #8
- adds r0, r2, r5
- strh r1, [r0]
- ldr r0, [r6]
- adds r0, #0x4e
- ldrh r1, [r0]
- subs r7, #8
- adds r0, r2, r7
- strh r1, [r0]
- ldr r0, _0804A908 @ =0x000002EA
- adds r2, r2, r0
- movs r0, #0x50
- strh r0, [r2]
- ldr r1, [r6]
- adds r0, r1, #0
- adds r0, #0xcc
- strh r3, [r0]
- ldrh r0, [r4]
- lsrs r0, r0, #3
- adds r1, #0x64
- strh r0, [r1]
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804A8E4: .4byte 0x0000132C
-_0804A8E8: .4byte 0x0000FFE4
-_0804A8EC: .4byte 0x00000306
-_0804A8F0: .4byte 0x000005FC
-_0804A8F4: .4byte 0x000005FE
-_0804A8F8: .4byte 0x000005FB
-_0804A8FC: .4byte gMain
-_0804A900: .4byte 0x000002F2
-_0804A904: .4byte 0x000002F6
-_0804A908: .4byte 0x000002EA
-
- thumb_func_start sub_4A90C
-sub_4A90C: @ 0x0804A90C
- push {r4, lr}
- ldr r2, _0804A944 @ =0x020028D8
- ldr r3, _0804A948 @ =0x086B077C
- ldr r0, [r3]
- ldr r1, [r3, #4]
- str r0, [r2, #8]
- str r1, [r2, #0xc]
- adds r0, r3, #0
- adds r0, #0x90
- ldr r1, [r0, #4]
- ldr r0, [r0]
- str r0, [r2, #0x40]
- str r1, [r2, #0x44]
- ldr r0, [r3, #0x78]
- ldr r1, [r3, #0x7c]
- str r0, [r2, #0x30]
- str r1, [r2, #0x34]
- ldr r0, _0804A94C @ =gMain
- ldrb r1, [r0, #4]
- adds r4, r0, #0
- cmp r1, #7
- bls _0804A93A
- b _0804AACC
-_0804A93A:
- lsls r0, r1, #2
- ldr r1, _0804A950 @ =_0804A954
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804A944: .4byte 0x020028D8
-_0804A948: .4byte 0x086B077C
-_0804A94C: .4byte gMain
-_0804A950: .4byte _0804A954
-_0804A954: @ jump table
- .4byte _0804A974 @ case 0
- .4byte _0804A9BC @ case 1
- .4byte _0804AA04 @ case 2
- .4byte _0804AA1E @ case 3
- .4byte _0804AA38 @ case 4
- .4byte _0804AA52 @ case 5
- .4byte _0804AA6C @ case 6
- .4byte _0804AA86 @ case 7
-_0804A974:
- ldr r0, [r3, #0x18]
- ldr r1, [r3, #0x1c]
- str r0, [r2, #0x18]
- str r1, [r2, #0x1c]
- adds r0, r3, #0
- adds r0, #0x80
- ldr r1, [r0, #4]
- ldr r0, [r0]
- str r0, [r2, #0x38]
- str r1, [r2, #0x3c]
- adds r0, r3, #0
- adds r0, #0x98
- ldr r1, [r0, #4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, #4]
- ldr r0, [r3, #0x58]
- ldr r1, [r3, #0x5c]
- str r0, [r2, #0x20]
- str r1, [r2, #0x24]
- ldr r0, [r3, #8]
- ldr r1, [r3, #0xc]
- str r0, [r2, #0x10]
- str r1, [r2, #0x14]
- ldr r0, [r3, #0x68]
- ldr r1, [r3, #0x6c]
- str r0, [r2, #0x28]
- str r1, [r2, #0x2c]
- ldrb r1, [r4, #4]
- lsls r0, r1, #4
- subs r0, r0, r1
- lsls r0, r0, #4
- ldr r1, _0804A9B8 @ =0x086B02CC
- b _0804AAC8
- .align 2, 0
-_0804A9B8: .4byte 0x086B02CC
-_0804A9BC:
- ldr r0, [r3, #0x20]
- ldr r1, [r3, #0x24]
- str r0, [r2, #0x18]
- str r1, [r2, #0x1c]
- adds r0, r3, #0
- adds r0, #0x80
- ldr r1, [r0, #4]
- ldr r0, [r0]
- str r0, [r2, #0x38]
- str r1, [r2, #0x3c]
- adds r0, r3, #0
- adds r0, #0xa0
- ldr r1, [r0, #4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, #4]
- ldr r0, [r3, #0x58]
- ldr r1, [r3, #0x5c]
- str r0, [r2, #0x20]
- str r1, [r2, #0x24]
- ldr r0, [r3, #8]
- ldr r1, [r3, #0xc]
- str r0, [r2, #0x10]
- str r1, [r2, #0x14]
- ldr r0, [r3, #0x68]
- ldr r1, [r3, #0x6c]
- str r0, [r2, #0x28]
- str r1, [r2, #0x2c]
- ldrb r1, [r4, #4]
- lsls r0, r1, #4
- subs r0, r0, r1
- lsls r0, r0, #4
- ldr r1, _0804AA00 @ =0x086B02CC
- b _0804AAC8
- .align 2, 0
-_0804AA00: .4byte 0x086B02CC
-_0804AA04:
- ldr r0, [r3, #0x28]
- ldr r1, [r3, #0x2c]
- str r0, [r2, #0x18]
- str r1, [r2, #0x1c]
- adds r0, r3, #0
- adds r0, #0x88
- ldr r1, [r0, #4]
- ldr r0, [r0]
- str r0, [r2, #0x38]
- str r1, [r2, #0x3c]
- adds r0, r3, #0
- adds r0, #0xa8
- b _0804AA9E
-_0804AA1E:
- ldr r0, [r3, #0x30]
- ldr r1, [r3, #0x34]
- str r0, [r2, #0x18]
- str r1, [r2, #0x1c]
- adds r0, r3, #0
- adds r0, #0x88
- ldr r1, [r0, #4]
- ldr r0, [r0]
- str r0, [r2, #0x38]
- str r1, [r2, #0x3c]
- adds r0, r3, #0
- adds r0, #0xb0
- b _0804AA9E
-_0804AA38:
- ldr r0, [r3, #0x38]
- ldr r1, [r3, #0x3c]
- str r0, [r2, #0x18]
- str r1, [r2, #0x1c]
- adds r0, r3, #0
- adds r0, #0x88
- ldr r1, [r0, #4]
- ldr r0, [r0]
- str r0, [r2, #0x38]
- str r1, [r2, #0x3c]
- adds r0, r3, #0
- adds r0, #0xb8
- b _0804AA9E
-_0804AA52:
- ldr r0, [r3, #0x40]
- ldr r1, [r3, #0x44]
- str r0, [r2, #0x18]
- str r1, [r2, #0x1c]
- adds r0, r3, #0
- adds r0, #0x88
- ldr r1, [r0, #4]
- ldr r0, [r0]
- str r0, [r2, #0x38]
- str r1, [r2, #0x3c]
- adds r0, r3, #0
- adds r0, #0xc0
- b _0804AA9E
-_0804AA6C:
- ldr r0, [r3, #0x48]
- ldr r1, [r3, #0x4c]
- str r0, [r2, #0x18]
- str r1, [r2, #0x1c]
- adds r0, r3, #0
- adds r0, #0x88
- ldr r1, [r0, #4]
- ldr r0, [r0]
- str r0, [r2, #0x38]
- str r1, [r2, #0x3c]
- adds r0, r3, #0
- adds r0, #0xc8
- b _0804AA9E
-_0804AA86:
- ldr r0, [r3, #0x50]
- ldr r1, [r3, #0x54]
- str r0, [r2, #0x18]
- str r1, [r2, #0x1c]
- adds r0, r3, #0
- adds r0, #0x88
- ldr r1, [r0, #4]
- ldr r0, [r0]
- str r0, [r2, #0x38]
- str r1, [r2, #0x3c]
- adds r0, r3, #0
- adds r0, #0xd0
-_0804AA9E:
- ldr r1, [r0, #4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, #4]
- ldr r0, [r3, #0x60]
- ldr r1, [r3, #0x64]
- str r0, [r2, #0x20]
- str r1, [r2, #0x24]
- ldr r0, [r3, #0x10]
- ldr r1, [r3, #0x14]
- str r0, [r2, #0x10]
- str r1, [r2, #0x14]
- ldr r0, [r3, #0x70]
- ldr r1, [r3, #0x74]
- str r0, [r2, #0x28]
- str r1, [r2, #0x2c]
- ldrb r1, [r4, #4]
- lsls r0, r1, #4
- subs r0, r0, r1
- lsls r0, r0, #3
- ldr r1, _0804AAD4 @ =0x086B03BC
-_0804AAC8:
- adds r0, r0, r1
- str r0, [r4, #0x44]
-_0804AACC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804AAD4: .4byte 0x086B03BC
-
- thumb_func_start sub_4AAD8
-sub_4AAD8: @ 0x0804AAD8
- push {r4, r5, lr}
- ldr r0, _0804AAF0 @ =0x020314E0
- ldr r1, [r0]
- ldrb r4, [r1, #0x1d]
- cmp r4, #1
- beq _0804AB08
- cmp r4, #1
- bgt _0804AAF4
- cmp r4, #0
- beq _0804AAFA
- b _0804ABB8
- .align 2, 0
-_0804AAF0: .4byte 0x020314E0
-_0804AAF4:
- cmp r4, #2
- beq _0804ABB0
- b _0804ABB8
-_0804AAFA:
- movs r0, #1
- strb r0, [r1, #0x1d]
- ldr r0, _0804AB04 @ =gMain
- strb r4, [r0, #0xe]
- b _0804ABB8
- .align 2, 0
-_0804AB04: .4byte gMain
-_0804AB08:
- ldr r1, _0804AB3C @ =0x086B085C
- ldr r5, _0804AB40 @ =gMain
- ldrb r0, [r5, #6]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- ldrh r1, [r5, #0x1c]
- movs r0, #0xf
- ands r0, r1
- cmp r0, #0xf
- bne _0804AB24
- strb r4, [r5, #0xe]
-_0804AB24:
- ldrb r0, [r5, #0xe]
- cmp r0, #0
- beq _0804ABB8
- ldrb r0, [r5, #4]
- cmp r0, #1
- bhi _0804AB44
- bl sub_1D4D0
- movs r0, #0
- bl sub_31BE8
- b _0804AB60
- .align 2, 0
-_0804AB3C: .4byte 0x086B085C
-_0804AB40: .4byte gMain
-_0804AB44:
- cmp r0, #2
- bne _0804AB4E
- bl sub_356A0
- b _0804AB60
-_0804AB4E:
- cmp r0, #4
- bne _0804AB58
- bl sub_3ADA0
- b _0804AB60
-_0804AB58:
- cmp r0, #5
- bne _0804AB60
- bl sub_3E5D0
-_0804AB60:
- ldr r4, _0804AB98 @ =gMain
- ldrb r1, [r4, #0xf]
- movs r3, #2
- adds r0, r3, #0
- ands r0, r1
- ldr r2, _0804AB9C @ =0x020314E0
- cmp r0, #0
- beq _0804AB84
- ldr r1, _0804ABA0 @ =0x040000D4
- ldr r0, [r2]
- ldr r5, _0804ABA4 @ =0x0000111A
- adds r0, r0, r5
- str r0, [r1]
- ldr r0, _0804ABA8 @ =0x05000200
- str r0, [r1, #4]
- ldr r0, _0804ABAC @ =0x80000100
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804AB84:
- ldr r0, [r2]
- strb r3, [r0, #0x1d]
- ldrb r0, [r4, #0xe]
- cmp r0, #2
- bne _0804ABB8
- movs r0, #1
- bl sub_4B408
- b _0804ABB8
- .align 2, 0
-_0804AB98: .4byte gMain
-_0804AB9C: .4byte 0x020314E0
-_0804ABA0: .4byte 0x040000D4
-_0804ABA4: .4byte 0x0000111A
-_0804ABA8: .4byte 0x05000200
-_0804ABAC: .4byte 0x80000100
-_0804ABB0:
- ldr r1, _0804ABC4 @ =gMain
- ldrb r0, [r1, #3]
- adds r0, #1
- strb r0, [r1, #3]
-_0804ABB8:
- bl sub_11FC
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804ABC4: .4byte gMain
-
- thumb_func_start sub_4ABC8
-sub_4ABC8: @ 0x0804ABC8
- push {lr}
- bl sub_111C
- bl sub_1170
- cmp r0, #0
- beq _0804ABE2
- bl sub_1198
- ldr r1, _0804ABE8 @ =gMain
- ldrb r0, [r1, #3]
- adds r0, #1
- strb r0, [r1, #3]
-_0804ABE2:
- pop {r0}
- bx r0
- .align 2, 0
-_0804ABE8: .4byte gMain
-
- thumb_func_start sub_4ABEC
-sub_4ABEC: @ 0x0804ABEC
- push {r4, r5, lr}
- bl sub_4B280
- ldr r5, _0804AC50 @ =0x020028D8
- ldr r0, [r5, #0xc]
- bl _call_via_r0
- ldr r4, _0804AC54 @ =gMain
- ldrh r1, [r4, #0xe]
- ldr r0, _0804AC58 @ =0x000002FF
- ands r0, r1
- cmp r0, #0
- bne _0804ACDE
- ldr r0, [r5, #0x14]
- bl _call_via_r0
- ldr r0, [r5, #4]
- bl _call_via_r0
- ldr r0, [r5, #0x1c]
- bl _call_via_r0
- ldr r0, [r5, #0x24]
- bl _call_via_r0
- ldrb r0, [r4, #0xf]
- cmp r0, #0
- beq _0804AC60
- ldr r0, _0804AC5C @ =0x020314E0
- ldr r0, [r0]
- ldrb r0, [r0, #0x1f]
- cmp r0, #0
- bne _0804ACD0
- movs r4, #0
-_0804AC30:
- ldr r0, _0804AC5C @ =0x020314E0
- ldr r0, [r0]
- strb r4, [r0, #0x1e]
- ldr r0, _0804AC50 @ =0x020028D8
- ldr r0, [r0, #0x34]
- bl _call_via_r0
- lsls r0, r4, #0x10
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r0, r1
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0804AC30
- b _0804ACD0
- .align 2, 0
-_0804AC50: .4byte 0x020028D8
-_0804AC54: .4byte gMain
-_0804AC58: .4byte 0x000002FF
-_0804AC5C: .4byte 0x020314E0
-_0804AC60:
- ldr r0, [r4, #0x50]
- adds r0, #1
- str r0, [r4, #0x50]
- ldr r0, _0804ACA4 @ =0x020314E0
- ldr r2, [r0]
- movs r0, #0xa4
- lsls r0, r0, #2
- adds r1, r2, r0
- ldr r0, [r1]
- adds r0, #1
- str r0, [r1]
- ldrb r0, [r2, #0x1f]
- cmp r0, #0
- beq _0804ACAC
- cmp r0, #2
- beq _0804ACD0
- movs r4, #0
-_0804AC82:
- ldr r0, _0804ACA4 @ =0x020314E0
- ldr r0, [r0]
- strb r4, [r0, #0x1e]
- ldr r0, _0804ACA8 @ =0x020028D8
- ldr r0, [r0, #0x2c]
- bl _call_via_r0
- lsls r0, r4, #0x10
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r0, r1
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0804AC82
- b _0804ACD0
- .align 2, 0
-_0804ACA4: .4byte 0x020314E0
-_0804ACA8: .4byte 0x020028D8
-_0804ACAC:
- movs r4, #0
-_0804ACAE:
- ldr r0, _0804ACE8 @ =0x020314E0
- ldr r0, [r0]
- strb r4, [r0, #0x1e]
- ldr r0, [r5, #0x2c]
- bl _call_via_r0
- ldr r0, [r5, #0x34]
- bl _call_via_r0
- lsls r0, r4, #0x10
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r0, r1
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0804ACAE
-_0804ACD0:
- ldr r4, _0804ACEC @ =0x020028D8
- ldr r0, [r4, #0x3c]
- bl _call_via_r0
- ldr r0, [r4, #0x44]
- bl _call_via_r0
-_0804ACDE:
- bl sub_47030
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804ACE8: .4byte 0x020314E0
-_0804ACEC: .4byte 0x020028D8
-
- thumb_func_start sub_4ACF0
-sub_4ACF0: @ 0x0804ACF0
- push {r4, r5, r6, r7, lr}
- bl sub_4B334
- ldr r5, _0804AD54 @ =0x020028D8
- ldr r0, [r5, #0xc]
- bl _call_via_r0
- ldr r4, _0804AD58 @ =gMain
- ldrb r1, [r4, #0xf]
- movs r0, #2
- ands r0, r1
- cmp r0, #0
- bne _0804ADDE
- ldr r0, [r5, #0x14]
- bl _call_via_r0
- ldr r0, [r5, #4]
- bl _call_via_r0
- ldr r0, [r5, #0x1c]
- bl _call_via_r0
- ldr r0, [r5, #0x24]
- bl _call_via_r0
- ldrb r0, [r4, #0xf]
- cmp r0, #0
- beq _0804AD60
- ldr r0, _0804AD5C @ =0x020314E0
- ldr r0, [r0]
- ldrb r0, [r0, #0x1f]
- cmp r0, #0
- bne _0804ADD0
- movs r4, #0
-_0804AD34:
- ldr r0, _0804AD5C @ =0x020314E0
- ldr r0, [r0]
- strb r4, [r0, #0x1e]
- ldr r0, _0804AD54 @ =0x020028D8
- ldr r0, [r0, #0x34]
- bl _call_via_r0
- lsls r0, r4, #0x10
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r0, r1
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0804AD34
- b _0804ADD0
- .align 2, 0
-_0804AD54: .4byte 0x020028D8
-_0804AD58: .4byte gMain
-_0804AD5C: .4byte 0x020314E0
-_0804AD60:
- ldr r0, [r4, #0x50]
- adds r0, #1
- str r0, [r4, #0x50]
- ldr r0, _0804ADA4 @ =0x020314E0
- ldr r2, [r0]
- movs r0, #0xa4
- lsls r0, r0, #2
- adds r1, r2, r0
- ldr r0, [r1]
- adds r0, #1
- str r0, [r1]
- ldrb r0, [r2, #0x1f]
- cmp r0, #0
- beq _0804ADAC
- cmp r0, #2
- beq _0804ADD0
- movs r4, #0
-_0804AD82:
- ldr r0, _0804ADA4 @ =0x020314E0
- ldr r0, [r0]
- strb r4, [r0, #0x1e]
- ldr r0, _0804ADA8 @ =0x020028D8
- ldr r0, [r0, #0x2c]
- bl _call_via_r0
- lsls r0, r4, #0x10
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r0, r1
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0804AD82
- b _0804ADD0
- .align 2, 0
-_0804ADA4: .4byte 0x020314E0
-_0804ADA8: .4byte 0x020028D8
-_0804ADAC:
- movs r4, #0
-_0804ADAE:
- ldr r0, _0804AE1C @ =0x020314E0
- ldr r0, [r0]
- strb r4, [r0, #0x1e]
- ldr r0, [r5, #0x2c]
- bl _call_via_r0
- ldr r0, [r5, #0x34]
- bl _call_via_r0
- lsls r0, r4, #0x10
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r0, r1
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0804ADAE
-_0804ADD0:
- ldr r4, _0804AE20 @ =0x020028D8
- ldr r0, [r4, #0x3c]
- bl _call_via_r0
- ldr r0, [r4, #0x44]
- bl _call_via_r0
-_0804ADDE:
- bl sub_47030
- ldr r0, _0804AE24 @ =gMain
- ldr r0, [r0, #0x4c]
- movs r1, #0x1f
- ands r0, r1
- lsrs r0, r0, #4
- cmp r0, #0
- beq _0804AE38
- movs r4, #0
- ldr r7, _0804AE28 @ =0x03006280
- ldr r0, _0804AE2C @ =0xFFFFF980
- adds r6, r7, r0
- ldr r5, _0804AE30 @ =0x0000034A
- ldr r1, _0804AE34 @ =0xFFFFC156
- adds r3, r1, #0
-_0804ADFE:
- lsls r0, r4, #0x10
- asrs r0, r0, #0x10
- adds r1, r0, r5
- lsls r1, r1, #1
- adds r1, r1, r6
- adds r2, r0, r3
- strh r2, [r1]
- adds r0, #1
- lsls r0, r0, #0x10
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #9
- ble _0804ADFE
- b _0804AE5C
- .align 2, 0
-_0804AE1C: .4byte 0x020314E0
-_0804AE20: .4byte 0x020028D8
-_0804AE24: .4byte gMain
-_0804AE28: .4byte 0x03006280
-_0804AE2C: .4byte 0xFFFFF980
-_0804AE30: .4byte 0x0000034A
-_0804AE34: .4byte 0xFFFFC156
-_0804AE38:
- movs r4, #0
- ldr r7, _0804AE70 @ =0x03006280
- ldr r0, _0804AE74 @ =0xFFFFF980
- adds r5, r7, r0
- ldr r3, _0804AE78 @ =0x0000034A
- ldr r2, _0804AE7C @ =0x000001FF
-_0804AE44:
- lsls r1, r4, #0x10
- asrs r1, r1, #0x10
- adds r0, r1, r3
- lsls r0, r0, #1
- adds r0, r0, r5
- strh r2, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r4, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #9
- ble _0804AE44
-_0804AE5C:
- ldr r1, _0804AE80 @ =0x040000D4
- str r7, [r1]
- ldr r0, _0804AE84 @ =0x06002680
- str r0, [r1, #4]
- ldr r0, _0804AE88 @ =0x80000020
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804AE70: .4byte 0x03006280
-_0804AE74: .4byte 0xFFFFF980
-_0804AE78: .4byte 0x0000034A
-_0804AE7C: .4byte 0x000001FF
-_0804AE80: .4byte 0x040000D4
-_0804AE84: .4byte 0x06002680
-_0804AE88: .4byte 0x80000020
-
- thumb_func_start sub_4AE8C
-sub_4AE8C: @ 0x0804AE8C
- push {r4, r5, r6, lr}
- bl sub_4B280
- ldr r6, _0804AF0C @ =0x020028D8
- ldr r0, [r6, #0xc]
- bl _call_via_r0
- ldr r5, _0804AF10 @ =gMain
- ldrb r1, [r5, #0xf]
- movs r0, #2
- ands r0, r1
- cmp r0, #0
- beq _0804AEA8
- b _0804AFEA
-_0804AEA8:
- ldr r0, [r6, #4]
- bl _call_via_r0
- ldr r0, [r6, #0x14]
- bl _call_via_r0
- ldr r0, [r6, #0x1c]
- bl _call_via_r0
- ldr r0, [r6, #0x24]
- bl _call_via_r0
- ldrb r4, [r5, #0xf]
- movs r0, #0x41
- rsbs r0, r0, #0
- ands r4, r0
- cmp r4, #0
- beq _0804AF20
- ldr r0, _0804AF14 @ =0x020314E0
- ldr r0, [r0]
- ldrb r0, [r0, #0x1f]
- cmp r0, #0
- beq _0804AED8
- b _0804AFDC
-_0804AED8:
- movs r4, #0
-_0804AEDA:
- ldr r0, _0804AF14 @ =0x020314E0
- ldr r1, [r0]
- adds r2, r1, #0
- adds r2, #0x66
- movs r0, #0
- strh r0, [r2]
- ldr r0, _0804AF18 @ =0x0000132C
- adds r2, r1, r0
- ldr r3, _0804AF1C @ =0x00001334
- adds r0, r1, r3
- str r0, [r2]
- strb r4, [r1, #0x1e]
- ldr r0, _0804AF0C @ =0x020028D8
- ldr r0, [r0, #0x34]
- bl _call_via_r0
- lsls r0, r4, #0x10
- movs r4, #0x80
- lsls r4, r4, #9
- adds r0, r0, r4
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0804AEDA
- b _0804AFDC
- .align 2, 0
-_0804AF0C: .4byte 0x020028D8
-_0804AF10: .4byte gMain
-_0804AF14: .4byte 0x020314E0
-_0804AF18: .4byte 0x0000132C
-_0804AF1C: .4byte 0x00001334
-_0804AF20:
- ldr r0, [r5, #0x50]
- adds r0, #1
- str r0, [r5, #0x50]
- ldr r0, _0804AF58 @ =0x020314E0
- ldr r3, [r0]
- movs r0, #0xa4
- lsls r0, r0, #2
- adds r1, r3, r0
- ldr r0, [r1]
- adds r0, #1
- str r0, [r1]
- ldrb r0, [r3, #0x1f]
- cmp r0, #0
- beq _0804AFA4
- cmp r0, #2
- bne _0804AF60
- adds r0, r3, #0
- adds r0, #0x66
- movs r2, #0
- strh r4, [r0]
- ldr r4, _0804AF5C @ =0x0000132C
- adds r1, r3, r4
- adds r4, #8
- adds r0, r3, r4
- str r0, [r1]
- strb r2, [r3, #0x1e]
- b _0804AFDC
- .align 2, 0
-_0804AF58: .4byte 0x020314E0
-_0804AF5C: .4byte 0x0000132C
-_0804AF60:
- movs r4, #0
-_0804AF62:
- ldr r0, _0804AF94 @ =0x020314E0
- ldr r1, [r0]
- adds r2, r1, #0
- adds r2, #0x66
- movs r0, #0
- strh r0, [r2]
- ldr r0, _0804AF98 @ =0x0000132C
- adds r2, r1, r0
- ldr r3, _0804AF9C @ =0x00001334
- adds r0, r1, r3
- str r0, [r2]
- strb r4, [r1, #0x1e]
- ldr r0, _0804AFA0 @ =0x020028D8
- ldr r0, [r0, #0x2c]
- bl _call_via_r0
- lsls r0, r4, #0x10
- movs r4, #0x80
- lsls r4, r4, #9
- adds r0, r0, r4
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0804AF62
- b _0804AFDC
- .align 2, 0
-_0804AF94: .4byte 0x020314E0
-_0804AF98: .4byte 0x0000132C
-_0804AF9C: .4byte 0x00001334
-_0804AFA0: .4byte 0x020028D8
-_0804AFA4:
- movs r4, #0
- adds r5, r6, #0
-_0804AFA8:
- ldr r0, _0804AFF0 @ =0x020314E0
- ldr r1, [r0]
- adds r2, r1, #0
- adds r2, #0x66
- movs r0, #0
- strh r0, [r2]
- ldr r0, _0804AFF4 @ =0x0000132C
- adds r2, r1, r0
- ldr r3, _0804AFF8 @ =0x00001334
- adds r0, r1, r3
- str r0, [r2]
- strb r4, [r1, #0x1e]
- ldr r0, [r5, #0x2c]
- bl _call_via_r0
- ldr r0, [r5, #0x34]
- bl _call_via_r0
- lsls r0, r4, #0x10
- movs r4, #0x80
- lsls r4, r4, #9
- adds r0, r0, r4
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0804AFA8
-_0804AFDC:
- ldr r4, _0804AFFC @ =0x020028D8
- ldr r0, [r4, #0x3c]
- bl _call_via_r0
- ldr r0, [r4, #0x44]
- bl _call_via_r0
-_0804AFEA:
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804AFF0: .4byte 0x020314E0
-_0804AFF4: .4byte 0x0000132C
-_0804AFF8: .4byte 0x00001334
-_0804AFFC: .4byte 0x020028D8
-
- thumb_func_start sub_4B000
-sub_4B000: @ 0x0804B000
- push {r4, r5, r6, r7, lr}
- bl sub_4B334
- ldr r5, _0804B07C @ =gMain
- ldrb r1, [r5, #0xf]
- movs r0, #2
- ands r0, r1
- cmp r0, #0
- beq _0804B014
- b _0804B15A
-_0804B014:
- ldr r6, _0804B080 @ =0x020028D8
- ldr r0, [r6, #4]
- bl _call_via_r0
- ldr r0, [r6, #0x14]
- bl _call_via_r0
- ldr r0, [r6, #0x1c]
- bl _call_via_r0
- ldr r0, [r6, #0x24]
- bl _call_via_r0
- ldrb r4, [r5, #0xf]
- movs r0, #0x41
- rsbs r0, r0, #0
- ands r4, r0
- cmp r4, #0
- beq _0804B090
- ldr r0, _0804B084 @ =0x020314E0
- ldr r0, [r0]
- ldrb r0, [r0, #0x1f]
- cmp r0, #0
- beq _0804B046
- b _0804B14C
-_0804B046:
- movs r4, #0
-_0804B048:
- ldr r0, _0804B084 @ =0x020314E0
- ldr r1, [r0]
- adds r2, r1, #0
- adds r2, #0x66
- movs r0, #0
- strh r0, [r2]
- ldr r0, _0804B088 @ =0x0000132C
- adds r2, r1, r0
- ldr r3, _0804B08C @ =0x00001334
- adds r0, r1, r3
- str r0, [r2]
- strb r4, [r1, #0x1e]
- ldr r0, _0804B080 @ =0x020028D8
- ldr r0, [r0, #0x34]
- bl _call_via_r0
- lsls r0, r4, #0x10
- movs r4, #0x80
- lsls r4, r4, #9
- adds r0, r0, r4
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0804B048
- b _0804B14C
- .align 2, 0
-_0804B07C: .4byte gMain
-_0804B080: .4byte 0x020028D8
-_0804B084: .4byte 0x020314E0
-_0804B088: .4byte 0x0000132C
-_0804B08C: .4byte 0x00001334
-_0804B090:
- ldr r0, [r5, #0x50]
- adds r0, #1
- str r0, [r5, #0x50]
- ldr r0, _0804B0C8 @ =0x020314E0
- ldr r3, [r0]
- movs r0, #0xa4
- lsls r0, r0, #2
- adds r1, r3, r0
- ldr r0, [r1]
- adds r0, #1
- str r0, [r1]
- ldrb r0, [r3, #0x1f]
- cmp r0, #0
- beq _0804B114
- cmp r0, #2
- bne _0804B0D0
- adds r0, r3, #0
- adds r0, #0x66
- movs r2, #0
- strh r4, [r0]
- ldr r4, _0804B0CC @ =0x0000132C
- adds r1, r3, r4
- adds r4, #8
- adds r0, r3, r4
- str r0, [r1]
- strb r2, [r3, #0x1e]
- b _0804B14C
- .align 2, 0
-_0804B0C8: .4byte 0x020314E0
-_0804B0CC: .4byte 0x0000132C
-_0804B0D0:
- movs r4, #0
-_0804B0D2:
- ldr r0, _0804B104 @ =0x020314E0
- ldr r1, [r0]
- adds r2, r1, #0
- adds r2, #0x66
- movs r0, #0
- strh r0, [r2]
- ldr r0, _0804B108 @ =0x0000132C
- adds r2, r1, r0
- ldr r3, _0804B10C @ =0x00001334
- adds r0, r1, r3
- str r0, [r2]
- strb r4, [r1, #0x1e]
- ldr r0, _0804B110 @ =0x020028D8
- ldr r0, [r0, #0x2c]
- bl _call_via_r0
- lsls r0, r4, #0x10
- movs r4, #0x80
- lsls r4, r4, #9
- adds r0, r0, r4
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0804B0D2
- b _0804B14C
- .align 2, 0
-_0804B104: .4byte 0x020314E0
-_0804B108: .4byte 0x0000132C
-_0804B10C: .4byte 0x00001334
-_0804B110: .4byte 0x020028D8
-_0804B114:
- movs r4, #0
- adds r5, r6, #0
-_0804B118:
- ldr r0, _0804B194 @ =0x020314E0
- ldr r1, [r0]
- adds r2, r1, #0
- adds r2, #0x66
- movs r0, #0
- strh r0, [r2]
- ldr r0, _0804B198 @ =0x0000132C
- adds r2, r1, r0
- ldr r3, _0804B19C @ =0x00001334
- adds r0, r1, r3
- str r0, [r2]
- strb r4, [r1, #0x1e]
- ldr r0, [r5, #0x2c]
- bl _call_via_r0
- ldr r0, [r5, #0x34]
- bl _call_via_r0
- lsls r0, r4, #0x10
- movs r4, #0x80
- lsls r4, r4, #9
- adds r0, r0, r4
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0804B118
-_0804B14C:
- ldr r4, _0804B1A0 @ =0x020028D8
- ldr r0, [r4, #0x3c]
- bl _call_via_r0
- ldr r0, [r4, #0x44]
- bl _call_via_r0
-_0804B15A:
- ldr r0, _0804B1A4 @ =gMain
- ldr r0, [r0, #0x4c]
- movs r1, #0x1f
- ands r0, r1
- lsrs r0, r0, #4
- cmp r0, #0
- beq _0804B1B8
- movs r4, #0
- ldr r7, _0804B1A8 @ =0x03006240
- ldr r0, _0804B1AC @ =0xFFFFF9C0
- adds r6, r7, r0
- ldr r5, _0804B1B0 @ =0x0000032B
- ldr r1, _0804B1B4 @ =0xFFFFC156
- adds r3, r1, #0
-_0804B176:
- lsls r0, r4, #0x10
- asrs r0, r0, #0x10
- adds r1, r0, r5
- lsls r1, r1, #1
- adds r1, r1, r6
- adds r2, r0, r3
- strh r2, [r1]
- adds r0, #1
- lsls r0, r0, #0x10
- lsrs r4, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #8
- ble _0804B176
- b _0804B1DC
- .align 2, 0
-_0804B194: .4byte 0x020314E0
-_0804B198: .4byte 0x0000132C
-_0804B19C: .4byte 0x00001334
-_0804B1A0: .4byte 0x020028D8
-_0804B1A4: .4byte gMain
-_0804B1A8: .4byte 0x03006240
-_0804B1AC: .4byte 0xFFFFF9C0
-_0804B1B0: .4byte 0x0000032B
-_0804B1B4: .4byte 0xFFFFC156
-_0804B1B8:
- movs r4, #0
- ldr r7, _0804B1F0 @ =0x03006240
- ldr r3, _0804B1F4 @ =0xFFFFF9C0
- adds r5, r7, r3
- ldr r3, _0804B1F8 @ =0x0000032B
- ldr r2, _0804B1FC @ =0x000001FF
-_0804B1C4:
- lsls r1, r4, #0x10
- asrs r1, r1, #0x10
- adds r0, r1, r3
- lsls r0, r0, #1
- adds r0, r0, r5
- strh r2, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r4, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #8
- ble _0804B1C4
-_0804B1DC:
- ldr r1, _0804B200 @ =0x040000D4
- str r7, [r1]
- ldr r0, _0804B204 @ =0x06002640
- str r0, [r1, #4]
- ldr r0, _0804B208 @ =0x80000020
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804B1F0: .4byte 0x03006240
-_0804B1F4: .4byte 0xFFFFF9C0
-_0804B1F8: .4byte 0x0000032B
-_0804B1FC: .4byte 0x000001FF
-_0804B200: .4byte 0x040000D4
-_0804B204: .4byte 0x06002640
-_0804B208: .4byte 0x80000020
-
- thumb_func_start sub_4B20C
-sub_4B20C: @ 0x0804B20C
- push {r4, lr}
- ldr r4, _0804B250 @ =gMain
- adds r1, r4, #0
- adds r1, #0x36
- movs r0, #0
- strb r0, [r1]
- bl sub_2B4
- bl m4aMPlayAllStop
- bl sub_D10
- ldr r0, _0804B254 @ =0x020314E0
- ldr r1, [r0]
- ldr r0, [r1, #0x44]
- str r0, [r4, #0x58]
- ldr r0, [r1, #0x48]
- str r0, [r4, #0x5c]
- ldrb r0, [r4, #0xe]
- cmp r0, #2
- bne _0804B23A
- bl sub_4B654
-_0804B23A:
- ldrb r0, [r4, #0xe]
- cmp r0, #0
- bne _0804B262
- ldrb r0, [r4, #4]
- cmp r0, #1
- bls _0804B258
- movs r0, #0xb
- bl SetMainGameState
- b _0804B276
- .align 2, 0
-_0804B250: .4byte gMain
-_0804B254: .4byte 0x020314E0
-_0804B258:
- ldr r0, [r4, #8]
- ldr r1, _0804B26C @ =0x00FFFF00
- ands r0, r1
- cmp r0, #0
- beq _0804B270
-_0804B262:
- movs r0, #0
- bl SetMainGameState
- b _0804B276
- .align 2, 0
-_0804B26C: .4byte 0x00FFFF00
-_0804B270:
- movs r0, #8
- bl SetMainGameState
-_0804B276:
- pop {r4}
- pop {r0}
- bx r0
-
- thumb_func_start nullsub_19
-nullsub_19: @ 0x0804B27C
- bx lr
-
- thumb_func_start sub_4B280
-sub_4B280: @ 0x0804B280
- push {r4, r5, lr}
- movs r3, #0
- ldr r4, _0804B2F8 @ =0x020314E0
- ldr r0, _0804B2FC @ =gMain
- mov ip, r0
- adds r2, r4, #0
- movs r1, #0
-_0804B28E:
- ldr r0, [r2]
- adds r0, #4
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, #9
- adds r0, r0, r3
- strb r1, [r0]
- adds r0, r3, #1
- lsls r0, r0, #0x10
- lsrs r3, r0, #0x10
- cmp r3, #4
- bls _0804B28E
- mov r1, ip
- ldrb r0, [r1, #0xf]
- cmp r0, #0
- bne _0804B32E
- movs r3, #0
- movs r5, #1
-_0804B2B4:
- lsls r2, r3, #2
- mov r1, ip
- adds r1, #0x60
- adds r1, r2, r1
- mov r0, ip
- adds r0, #0x62
- adds r2, r2, r0
- ldrh r1, [r1]
- ldrh r0, [r2]
- orrs r1, r0
- ldr r2, _0804B300 @ =0x000003FF
- adds r0, r2, #0
- ands r1, r0
- mov r2, ip
- ldrh r0, [r2, #0x1c]
- ands r0, r1
- cmp r1, r0
- bne _0804B304
- ldr r1, [r4]
- adds r0, r1, #0
- adds r0, #0xe
- adds r0, r0, r3
- ldrb r0, [r0]
- cmp r0, #0
- bne _0804B2EC
- adds r0, r1, #4
- adds r0, r0, r3
- strb r5, [r0]
-_0804B2EC:
- ldr r0, [r4]
- adds r0, #0xe
- adds r0, r0, r3
- strb r5, [r0]
- b _0804B324
- .align 2, 0
-_0804B2F8: .4byte 0x020314E0
-_0804B2FC: .4byte gMain
-_0804B300: .4byte 0x000003FF
-_0804B304:
- ldr r1, [r4]
- adds r0, r1, #0
- adds r0, #0xe
- adds r0, r0, r3
- ldrb r0, [r0]
- cmp r0, #0
- beq _0804B31A
- adds r0, r1, #0
- adds r0, #9
- adds r0, r0, r3
- strb r5, [r0]
-_0804B31A:
- ldr r0, [r4]
- adds r0, #0xe
- adds r0, r0, r3
- movs r1, #0
- strb r1, [r0]
-_0804B324:
- adds r0, r3, #1
- lsls r0, r0, #0x10
- lsrs r3, r0, #0x10
- cmp r3, #4
- bls _0804B2B4
-_0804B32E:
- pop {r4, r5}
- pop {r0}
- bx r0
-
- thumb_func_start sub_4B334
-sub_4B334: @ 0x0804B334
- push {r4, r5, r6, r7, lr}
- mov r7, sb
- mov r6, r8
- push {r6, r7}
- movs r3, #0
- ldr r0, _0804B3F4 @ =0x020314E0
- mov r8, r0
- ldr r1, _0804B3F8 @ =gMain
- mov sb, r1
- mov r2, r8
- movs r1, #0
-_0804B34A:
- ldr r0, [r2]
- adds r0, #4
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, #9
- adds r0, r0, r3
- strb r1, [r0]
- adds r0, r3, #1
- lsls r0, r0, #0x10
- lsrs r3, r0, #0x10
- cmp r3, #4
- bls _0804B34A
- mov r1, sb
- ldrb r0, [r1, #0xf]
- cmp r0, #0
- bne _0804B3E6
- ldr r0, _0804B3FC @ =0x02031510
- ldr r2, [r0]
- ldr r1, _0804B400 @ =0x00000E0F
- mov ip, r0
- cmp r2, r1
- bhi _0804B3D6
- movs r3, #0
- ldr r7, _0804B3F4 @ =0x020314E0
- ldr r6, _0804B404 @ =0x02031520
- mov r5, ip
- movs r4, #1
-_0804B382:
- ldr r2, [r7]
- adds r2, #4
- adds r2, r2, r3
- ldr r0, [r5]
- ldr r1, [r6, #0x10]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldrb r0, [r0]
- asrs r0, r3
- ands r0, r4
- strb r0, [r2]
- ldr r2, [r7]
- adds r2, #9
- adds r2, r2, r3
- ldr r0, [r5]
- ldr r1, [r6, #0x10]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldrb r0, [r0, #1]
- asrs r0, r3
- ands r0, r4
- strb r0, [r2]
- ldr r2, [r7]
- adds r2, #0xe
- adds r2, r2, r3
- ldr r0, [r5]
- ldr r1, [r6, #0x10]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldrb r0, [r0, #2]
- asrs r0, r3
- ands r0, r4
- strb r0, [r2]
- adds r0, r3, #1
- lsls r0, r0, #0x10
- lsrs r3, r0, #0x10
- cmp r3, #4
- bls _0804B382
- mov r1, ip
- ldr r0, [r1]
- adds r0, #1
- str r0, [r1]
-_0804B3D6:
- mov r1, r8
- ldr r0, [r1]
- ldrb r0, [r0, #5]
- cmp r0, #0
- beq _0804B3E6
- movs r0, #1
- mov r1, sb
- strh r0, [r1, #0x18]
-_0804B3E6:
- pop {r3, r4}
- mov r8, r3
- mov sb, r4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804B3F4: .4byte 0x020314E0
-_0804B3F8: .4byte gMain
-_0804B3FC: .4byte 0x02031510
-_0804B400: .4byte 0x00000E0F
-_0804B404: .4byte 0x02031520
-
- thumb_func_start sub_4B408
-sub_4B408: @ 0x0804B408
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- lsls r0, r0, #0x10
- lsrs r4, r0, #0x10
- ldr r2, _0804B430 @ =0x02032EE0
- ldr r0, [r2, #4]
- cmp r0, #0
- blt _0804B43C
- ldr r0, _0804B434 @ =0x020314E0
- ldr r0, [r0]
- ldr r1, _0804B438 @ =0x00000F4C
- adds r0, r0, r1
- ldr r1, [r2]
- str r1, [r0]
- adds r0, r2, #0
- bl m4aMPlayStop
- b _0804B448
- .align 2, 0
-_0804B430: .4byte 0x02032EE0
-_0804B434: .4byte 0x020314E0
-_0804B438: .4byte 0x00000F4C
-_0804B43C:
- ldr r0, _0804B5EC @ =0x020314E0
- ldr r0, [r0]
- ldr r2, _0804B5F0 @ =0x00000F4C
- adds r0, r0, r2
- movs r1, #0
- str r1, [r0]
-_0804B448:
- movs r3, #0
- ldr r6, _0804B5EC @ =0x020314E0
- ldr r0, _0804B5F4 @ =gMain
- mov ip, r0
- lsls r4, r4, #0x10
- mov r8, r4
- mov r5, ip
- adds r7, r6, #0
-_0804B458:
- ldr r4, [r7]
- lsls r1, r3, #0x10
- asrs r1, r1, #0x10
- lsls r2, r1, #1
- ldrb r3, [r5, #6]
- movs r0, #0xc8
- muls r0, r3, r0
- adds r2, r2, r0
- ldr r3, _0804B5F8 @ =0x00000F68
- adds r4, r4, r3
- adds r4, r4, r2
- movs r0, #0xb8
- muls r0, r1, r0
- adds r0, r0, r5
- movs r2, #0xbe
- lsls r2, r2, #2
- adds r0, r0, r2
- ldrh r0, [r0]
- strh r0, [r4]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r3, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #0x63
- ble _0804B458
- ldr r2, _0804B5FC @ =0x040000D4
- ldr r0, _0804B600 @ =0x05000200
- str r0, [r2]
- mov r3, ip
- ldrb r1, [r3, #6]
- lsls r1, r1, #9
- ldr r0, _0804B604 @ =0x0000074C
- adds r1, r1, r0
- ldr r0, [r6]
- adds r0, r0, r1
- str r0, [r2, #4]
- ldr r3, _0804B608 @ =0x80000100
- str r3, [r2, #8]
- ldr r0, [r2, #8]
- movs r0, #0xa0
- lsls r0, r0, #0x13
- str r0, [r2]
- mov r0, ip
- ldrb r1, [r0, #6]
- lsls r1, r1, #9
- ldr r0, _0804B60C @ =0x00000B4C
- adds r1, r1, r0
- ldr r0, [r6]
- adds r0, r0, r1
- str r0, [r2, #4]
- str r3, [r2, #8]
- ldr r0, [r2, #8]
- mov r1, r8
- cmp r1, #0
- bne _0804B4C8
- b _0804B5E0
-_0804B4C8:
- ldr r1, [r6]
- ldr r3, _0804B610 @ =0x00000F58
- adds r2, r1, r3
- movs r0, #0xba
- lsls r0, r0, #2
- add r0, ip
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, _0804B614 @ =0x00000F5C
- adds r2, r1, r0
- movs r0, #0xbb
- lsls r0, r0, #2
- add r0, ip
- ldr r0, [r0]
- str r0, [r2]
- adds r3, #8
- adds r2, r1, r3
- movs r0, #0xbc
- lsls r0, r0, #2
- add r0, ip
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, _0804B618 @ =0x00000F64
- adds r2, r1, r0
- movs r0, #0xbd
- lsls r0, r0, #2
- add r0, ip
- ldr r0, [r0]
- str r0, [r2]
- mov r2, ip
- ldrb r0, [r2, #4]
- ldr r3, _0804B61C @ =0x000010FD
- adds r1, r1, r3
- strb r0, [r1]
- ldr r0, [r6]
- ldrb r1, [r2, #5]
- ldr r2, _0804B620 @ =0x000010FE
- adds r0, r0, r2
- strb r1, [r0]
- ldr r0, [r6]
- mov r3, ip
- ldrb r1, [r3, #6]
- adds r2, #1
- adds r0, r0, r2
- strb r1, [r0]
- ldr r0, [r6]
- ldrb r1, [r3, #0xf]
- ldr r3, _0804B624 @ =0x00001101
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r6]
- mov r2, ip
- ldrb r1, [r2, #0x10]
- adds r3, #1
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r6]
- ldrb r1, [r2, #0x11]
- ldr r2, _0804B628 @ =0x00001103
- adds r0, r0, r2
- strb r1, [r0]
- ldr r1, [r6]
- mov r3, ip
- ldrh r2, [r3, #0x12]
- movs r3, #0x99
- lsls r3, r3, #5
- adds r0, r1, r3
- strh r2, [r0]
- mov r0, ip
- ldrh r2, [r0, #0x14]
- adds r3, #2
- adds r0, r1, r3
- strh r2, [r0]
- mov r0, ip
- ldrh r2, [r0, #0x28]
- adds r3, #2
- adds r0, r1, r3
- strh r2, [r0]
- mov r0, ip
- ldrh r2, [r0, #0x2a]
- adds r3, #2
- adds r0, r1, r3
- strh r2, [r0]
- ldr r2, _0804B62C @ =0x00001106
- adds r0, r1, r2
- ldrh r2, [r0]
- ldr r3, _0804B630 @ =0x00001110
- adds r0, r1, r3
- ldrh r3, [r0]
- strh r2, [r0]
- ldr r2, _0804B634 @ =0x00001108
- adds r0, r1, r2
- ldrh r2, [r0]
- ldr r3, _0804B638 @ =0x00001112
- adds r0, r1, r3
- ldrh r3, [r0]
- strh r2, [r0]
- ldr r2, _0804B63C @ =0x0000110A
- adds r0, r1, r2
- ldrh r2, [r0]
- ldr r3, _0804B640 @ =0x00001114
- adds r0, r1, r3
- ldrh r3, [r0]
- strh r2, [r0]
- ldr r2, _0804B644 @ =0x0000110C
- adds r0, r1, r2
- ldrh r2, [r0]
- ldr r3, _0804B648 @ =0x00001116
- adds r0, r1, r3
- strh r2, [r0]
- ldr r2, _0804B64C @ =0x0000110E
- adds r0, r1, r2
- ldrh r2, [r0]
- adds r3, #2
- adds r0, r1, r3
- strh r2, [r0]
- movs r0, #0xa1
- lsls r0, r0, #1
- add r0, ip
- ldrb r0, [r0]
- adds r1, #0x31
- strb r0, [r1]
- movs r3, #0
- ldr r5, _0804B650 @ =0x000010F8
- mov r4, ip
- adds r4, #7
-_0804B5C4:
- ldr r2, [r6]
- lsls r0, r3, #0x10
- asrs r0, r0, #0x10
- adds r2, r2, r5
- adds r2, r2, r0
- adds r1, r0, r4
- ldrb r1, [r1]
- strb r1, [r2]
- adds r0, #1
- lsls r0, r0, #0x10
- lsrs r3, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #4
- ble _0804B5C4
-_0804B5E0:
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804B5EC: .4byte 0x020314E0
-_0804B5F0: .4byte 0x00000F4C
-_0804B5F4: .4byte gMain
-_0804B5F8: .4byte 0x00000F68
-_0804B5FC: .4byte 0x040000D4
-_0804B600: .4byte 0x05000200
-_0804B604: .4byte 0x0000074C
-_0804B608: .4byte 0x80000100
-_0804B60C: .4byte 0x00000B4C
-_0804B610: .4byte 0x00000F58
-_0804B614: .4byte 0x00000F5C
-_0804B618: .4byte 0x00000F64
-_0804B61C: .4byte 0x000010FD
-_0804B620: .4byte 0x000010FE
-_0804B624: .4byte 0x00001101
-_0804B628: .4byte 0x00001103
-_0804B62C: .4byte 0x00001106
-_0804B630: .4byte 0x00001110
-_0804B634: .4byte 0x00001108
-_0804B638: .4byte 0x00001112
-_0804B63C: .4byte 0x0000110A
-_0804B640: .4byte 0x00001114
-_0804B644: .4byte 0x0000110C
-_0804B648: .4byte 0x00001116
-_0804B64C: .4byte 0x0000110E
-_0804B650: .4byte 0x000010F8
-
- thumb_func_start sub_4B654
-sub_4B654: @ 0x0804B654
- push {lr}
- ldr r0, _0804B66C @ =0x020314E0
- ldr r0, [r0]
- movs r1, #1
- str r1, [r0]
- ldr r1, _0804B670 @ =0x0E000544
- ldr r2, _0804B674 @ =0x00001410
- bl sub_55654
- pop {r0}
- bx r0
- .align 2, 0
-_0804B66C: .4byte 0x020314E0
-_0804B670: .4byte 0x0E000544
-_0804B674: .4byte 0x00001410
-
- thumb_func_start sub_4B678
-sub_4B678: @ 0x0804B678
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- mov r8, r0
- cmp r0, #1
- bne _0804B6B0
- ldr r3, _0804B6A0 @ =0x02032FF0
- ldr r0, _0804B6A4 @ =0x0E000544
- ldr r1, _0804B6A8 @ =0x020314E0
- ldr r1, [r1]
- ldr r2, _0804B6AC @ =0x00001410
- ldr r3, [r3]
- bl _call_via_r3
- b _0804B746
- .align 2, 0
-_0804B6A0: .4byte 0x02032FF0
-_0804B6A4: .4byte 0x0E000544
-_0804B6A8: .4byte 0x020314E0
-_0804B6AC: .4byte 0x00001410
-_0804B6B0:
- mov r0, r8
- cmp r0, #2
- bne _0804B746
- ldr r1, _0804B87C @ =0x040000D4
- ldr r0, _0804B880 @ =0x02031520
- ldr r0, [r0, #0xc]
- str r0, [r1]
- ldr r4, _0804B884 @ =0x020314E0
- ldr r3, [r4]
- str r3, [r1, #4]
- ldr r0, _0804B888 @ =0x80000A08
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldr r1, _0804B88C @ =0x0000132C
- adds r0, r3, r1
- ldr r2, _0804B890 @ =0x00001334
- adds r1, r3, r2
- str r1, [r0]
- ldr r5, _0804B894 @ =0x00001330
- adds r0, r3, r5
- str r1, [r0]
- ldr r0, _0804B898 @ =gMain
- ldrh r0, [r0, #0x30]
- movs r1, #3
- ands r0, r1
- cmp r0, #1
- bne _0804B746
- ldr r1, _0804B89C @ =0x00000614
- adds r0, r3, r1
- movs r2, #0
- movs r1, #0
- strh r1, [r0]
- movs r5, #0x82
- lsls r5, r5, #2
- adds r0, r3, r5
- strh r1, [r0]
- adds r5, #2
- adds r0, r3, r5
- strb r2, [r0]
- ldr r3, [r4]
- movs r2, #0xe3
- lsls r2, r2, #1
- adds r0, r3, r2
- strh r1, [r0]
- movs r4, #0xe4
- lsls r4, r4, #1
- adds r0, r3, r4
- strh r1, [r0]
- subs r5, #0x3e
- adds r0, r3, r5
- strh r1, [r0]
- adds r2, #4
- adds r0, r3, r2
- strh r1, [r0]
- adds r4, #0xc
- adds r0, r3, r4
- strh r1, [r0]
- adds r5, #0xa
- adds r2, r3, r5
- ldr r0, _0804B8A0 @ =0x0000FFFC
- strh r0, [r2]
- movs r2, #0xec
- lsls r2, r2, #1
- adds r0, r3, r2
- subs r2, #0xd8
- strh r2, [r0]
- adds r4, #6
- adds r0, r3, r4
- strh r2, [r0]
- subs r5, #8
- adds r0, r3, r5
- strh r1, [r0]
- adds r2, #0xd0
- adds r0, r3, r2
- strh r1, [r0]
-_0804B746:
- mov r3, r8
- cmp r3, #0
- bne _0804B74E
- b _0804B8CC
-_0804B74E:
- ldr r4, _0804B898 @ =gMain
- ldr r3, _0804B884 @ =0x020314E0
- ldr r1, [r3]
- ldr r5, _0804B8A4 @ =0x000010FD
- adds r0, r1, r5
- ldrb r0, [r0]
- strb r0, [r4, #4]
- ldr r2, _0804B8A8 @ =0x000010FE
- adds r0, r1, r2
- ldrb r0, [r0]
- strb r0, [r4, #5]
- adds r5, #2
- adds r0, r1, r5
- ldrb r0, [r0]
- strb r0, [r4, #6]
- adds r2, #3
- adds r0, r1, r2
- ldrb r0, [r0]
- strb r0, [r4, #0xf]
- adds r5, #3
- adds r0, r1, r5
- ldrb r0, [r0]
- strb r0, [r4, #0x10]
- adds r2, #2
- adds r0, r1, r2
- ldrb r0, [r0]
- strb r0, [r4, #0x11]
- movs r5, #0x99
- lsls r5, r5, #5
- adds r0, r1, r5
- ldrh r0, [r0]
- strh r0, [r4, #0x12]
- ldr r2, _0804B8AC @ =0x00001322
- adds r0, r1, r2
- ldrh r0, [r0]
- strh r0, [r4, #0x14]
- adds r5, #4
- adds r0, r1, r5
- ldrh r0, [r0]
- strh r0, [r4, #0x28]
- adds r2, #4
- adds r0, r1, r2
- ldrh r0, [r0]
- strh r0, [r4, #0x2a]
- ldr r5, _0804B8B0 @ =0x00001110
- adds r0, r1, r5
- ldrh r0, [r0]
- ldrh r2, [r4, #0x38]
- strh r0, [r4, #0x38]
- ldr r2, _0804B8B4 @ =0x00001112
- adds r0, r1, r2
- ldrh r0, [r0]
- ldrh r2, [r4, #0x3a]
- strh r0, [r4, #0x3a]
- adds r5, #4
- adds r0, r1, r5
- ldrh r0, [r0]
- ldrh r2, [r4, #0x3c]
- strh r0, [r4, #0x3c]
- ldr r2, _0804B8B8 @ =0x00001116
- adds r0, r1, r2
- ldrh r0, [r0]
- strh r0, [r4, #0x2c]
- adds r5, #4
- adds r0, r1, r5
- ldrh r0, [r0]
- strh r0, [r4, #0x26]
- movs r0, #0xba
- lsls r0, r0, #2
- adds r2, r4, r0
- ldr r5, _0804B8BC @ =0x00000F58
- adds r0, r1, r5
- ldr r0, [r0]
- str r0, [r2]
- movs r0, #0xbb
- lsls r0, r0, #2
- adds r2, r4, r0
- adds r5, #4
- adds r0, r1, r5
- ldr r0, [r0]
- str r0, [r2]
- movs r0, #0xbc
- lsls r0, r0, #2
- adds r2, r4, r0
- adds r5, #4
- adds r0, r1, r5
- ldr r0, [r0]
- str r0, [r2]
- movs r0, #0xbd
- lsls r0, r0, #2
- adds r2, r4, r0
- adds r5, #4
- adds r1, r1, r5
- ldr r0, [r1]
- str r0, [r2]
- movs r5, #0
- mov sl, r3
- adds r7, r4, #0
- adds r6, r7, #7
- mov r4, sl
- ldr r3, _0804B8C0 @ =0x000010F8
-_0804B818:
- lsls r1, r5, #0x10
- asrs r1, r1, #0x10
- adds r2, r1, r6
- ldr r0, [r4]
- adds r0, r0, r3
- adds r0, r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r5, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #4
- ble _0804B818
- mov r1, sl
- ldr r0, [r1]
- movs r2, #0x88
- lsls r2, r2, #5
- adds r0, r0, r2
- movs r1, #1
- strb r1, [r0]
- mov r3, r8
- cmp r3, #1
- bne _0804B8DA
- ldrb r0, [r7, #4]
- cmp r0, #1
- bhi _0804B8DA
- mov r4, sl
- ldr r3, [r4]
- adds r2, r3, #0
- adds r2, #0x4e
- ldr r5, _0804B8C4 @ =0x00000121
- adds r0, r3, r5
- movs r1, #0
- ldrsb r1, [r0, r1]
- ldrh r2, [r2]
- adds r1, r1, r2
- ldr r2, _0804B8C8 @ =0x000005FC
- adds r0, r3, r2
- ldrh r0, [r0]
- adds r2, r3, #0
- adds r2, #0xe6
- adds r0, r0, r1
- ldrh r2, [r2]
- adds r0, r0, r2
- adds r1, r3, #0
- adds r1, #0x68
- strh r0, [r1]
- b _0804B8DA
- .align 2, 0
-_0804B87C: .4byte 0x040000D4
-_0804B880: .4byte 0x02031520
-_0804B884: .4byte 0x020314E0
-_0804B888: .4byte 0x80000A08
-_0804B88C: .4byte 0x0000132C
-_0804B890: .4byte 0x00001334
-_0804B894: .4byte 0x00001330
-_0804B898: .4byte gMain
-_0804B89C: .4byte 0x00000614
-_0804B8A0: .4byte 0x0000FFFC
-_0804B8A4: .4byte 0x000010FD
-_0804B8A8: .4byte 0x000010FE
-_0804B8AC: .4byte 0x00001322
-_0804B8B0: .4byte 0x00001110
-_0804B8B4: .4byte 0x00001112
-_0804B8B8: .4byte 0x00001116
-_0804B8BC: .4byte 0x00000F58
-_0804B8C0: .4byte 0x000010F8
-_0804B8C4: .4byte 0x00000121
-_0804B8C8: .4byte 0x000005FC
-_0804B8CC:
- ldr r0, _0804B958 @ =0x020314E0
- ldr r0, [r0]
- adds r1, r0, #0
- adds r1, #0x6a
- ldrh r1, [r1]
- adds r0, #0x68
- strh r1, [r0]
-_0804B8DA:
- ldr r5, _0804B958 @ =0x020314E0
- ldr r0, [r5]
- movs r1, #0
- strb r1, [r0, #0x1d]
- ldr r4, _0804B95C @ =gMain
- strb r1, [r4, #0xd]
- bl sub_467F4
- ldrb r0, [r4, #4]
- cmp r0, #0
- bne _0804B902
- ldr r0, [r5]
- ldr r3, _0804B960 @ =0x0000029E
- adds r0, r0, r3
- ldrb r0, [r0]
- cmp r0, #0
- beq _0804B902
- movs r0, #1
- bl sub_46FD4
-_0804B902:
- ldr r0, _0804B95C @ =gMain
- ldrb r1, [r0, #4]
- ldr r4, _0804B958 @ =0x020314E0
- mov sl, r4
- adds r7, r0, #0
- ldr r5, _0804B964 @ =0x03005C00
- mov sb, r5
- cmp r1, #1
- bhi _0804B9A0
- movs r5, #0
- ldr r6, _0804B968 @ =0x040000D4
-_0804B918:
- mov r0, sl
- ldr r2, [r0]
- adds r2, #0x64
- ldrh r1, [r2]
- lsls r0, r5, #0x10
- asrs r0, r0, #0x10
- adds r1, r0, r1
- lsls r1, r1, #0x10
- lsrs r4, r1, #0x10
- movs r3, #0
- ldrsh r1, [r2, r3]
- adds r1, #0xa
- adds r0, r0, r1
- movs r1, #0x16
- bl __modsi3
- lsls r0, r0, #0x10
- lsrs r2, r0, #0x10
- lsls r0, r4, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x1f
- bgt _0804B974
- lsls r0, r0, #0xa
- ldr r1, _0804B96C @ =0x0200FBB0
- adds r0, r0, r1
- str r0, [r6]
- lsls r0, r2, #0x10
- asrs r0, r0, #6
- ldr r4, _0804B970 @ =0x06008000
- adds r0, r0, r4
- b _0804B988
- .align 2, 0
-_0804B958: .4byte 0x020314E0
-_0804B95C: .4byte gMain
-_0804B960: .4byte 0x0000029E
-_0804B964: .4byte 0x03005C00
-_0804B968: .4byte 0x040000D4
-_0804B96C: .4byte 0x0200FBB0
-_0804B970: .4byte 0x06008000
-_0804B974:
- subs r0, #0x20
- lsls r0, r0, #0x10
- asrs r0, r0, #6
- ldr r1, _0804BA38 @ =0x020030A0
- adds r0, r0, r1
- str r0, [r6]
- lsls r0, r2, #0x10
- asrs r0, r0, #6
- ldr r1, _0804BA3C @ =0x06008000
- adds r0, r0, r1
-_0804B988:
- str r0, [r6, #4]
- ldr r0, _0804BA40 @ =0x80000200
- str r0, [r6, #8]
- ldr r0, [r6, #8]
- lsls r0, r5, #0x10
- movs r2, #0x80
- lsls r2, r2, #9
- adds r0, r0, r2
- lsrs r5, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x15
- ble _0804B918
-_0804B9A0:
- movs r5, #0
- ldr r4, _0804BA44 @ =0x03005C00
- ldr r3, _0804BA48 @ =0x000001FF
- ldr r2, _0804BA4C @ =0x000007FF
-_0804B9A8:
- lsls r1, r5, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #1
- adds r0, r0, r4
- strh r3, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r5, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, r2
- ble _0804B9A8
- ldr r1, _0804BA50 @ =0x040000D4
- mov r3, sb
- str r3, [r1]
- ldr r0, _0804BA54 @ =0x06002000
- str r0, [r1, #4]
- ldr r0, _0804BA58 @ =0x80000800
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- movs r4, #0x2c
- ldrsh r0, [r7, r4]
- cmp r0, #0
- beq _0804BABE
- mov r5, sl
- ldr r1, [r5]
- movs r0, #0x13
- ldrsb r0, [r1, r0]
- cmp r0, #6
- bne _0804BA5C
- movs r2, #0
- movs r3, #0xa6
- lsls r3, r3, #2
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r2, r0
- bgt _0804BAAE
- mov r6, sb
- movs r4, #0xc1
- lsls r4, r4, #8
-_0804B9F6:
- movs r5, #2
- lsls r2, r2, #0x10
- asrs r3, r2, #0x10
-_0804B9FC:
- lsls r1, r5, #0x10
- asrs r1, r1, #0x10
- adds r0, r1, #0
- adds r0, #0xf
- lsls r0, r0, #5
- adds r0, r0, r3
- lsls r0, r0, #1
- adds r0, r0, r6
- strh r4, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r5, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #0xb
- ble _0804B9FC
- movs r5, #0x80
- lsls r5, r5, #9
- adds r1, r2, r5
- lsrs r2, r1, #0x10
- asrs r1, r1, #0x10
- mov r3, sl
- ldr r0, [r3]
- movs r5, #0xa6
- lsls r5, r5, #2
- adds r0, r0, r5
- ldrh r0, [r0]
- cmp r1, r0
- ble _0804B9F6
- b _0804BAAE
- .align 2, 0
-_0804BA38: .4byte 0x020030A0
-_0804BA3C: .4byte 0x06008000
-_0804BA40: .4byte 0x80000200
-_0804BA44: .4byte 0x03005C00
-_0804BA48: .4byte 0x000001FF
-_0804BA4C: .4byte 0x000007FF
-_0804BA50: .4byte 0x040000D4
-_0804BA54: .4byte 0x06002000
-_0804BA58: .4byte 0x80000800
-_0804BA5C:
- movs r2, #0
- movs r3, #0xa6
- lsls r3, r3, #2
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r2, r0
- bgt _0804BAAE
- mov r6, sb
- movs r4, #0xc1
- lsls r4, r4, #8
-_0804BA70:
- movs r5, #1
- lsls r2, r2, #0x10
- asrs r3, r2, #0x10
-_0804BA76:
- lsls r1, r5, #0x10
- asrs r1, r1, #0x10
- adds r0, r1, #0
- adds r0, #0xf
- lsls r0, r0, #5
- adds r0, r0, r3
- lsls r0, r0, #1
- adds r0, r0, r6
- strh r4, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r5, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #0xa
- ble _0804BA76
- movs r5, #0x80
- lsls r5, r5, #9
- adds r1, r2, r5
- lsrs r2, r1, #0x10
- asrs r1, r1, #0x10
- mov r3, sl
- ldr r0, [r3]
- movs r5, #0xa6
- lsls r5, r5, #2
- adds r0, r0, r5
- ldrh r0, [r0]
- cmp r1, r0
- ble _0804BA70
-_0804BAAE:
- ldr r1, _0804BB20 @ =0x040000D4
- mov r0, sb
- str r0, [r1]
- ldr r0, _0804BB24 @ =0x06002000
- str r0, [r1, #4]
- ldr r0, _0804BB28 @ =0x80000400
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804BABE:
- ldr r1, _0804BB20 @ =0x040000D4
- ldr r2, _0804BB2C @ =0x020314E0
- ldr r4, _0804BB30 @ =gMain
- ldrb r0, [r4, #6]
- lsls r0, r0, #9
- ldr r3, _0804BB34 @ =0x0000074C
- adds r0, r0, r3
- ldr r2, [r2]
- adds r0, r2, r0
- str r0, [r1]
- ldr r0, _0804BB38 @ =0x05000200
- str r0, [r1, #4]
- ldr r3, _0804BB3C @ =0x80000100
- str r3, [r1, #8]
- ldr r0, [r1, #8]
- ldrb r0, [r4, #6]
- lsls r0, r0, #9
- ldr r5, _0804BB40 @ =0x00000B4C
- adds r0, r0, r5
- adds r0, r2, r0
- str r0, [r1]
- movs r0, #0xa0
- lsls r0, r0, #0x13
- str r0, [r1, #4]
- str r3, [r1, #8]
- ldr r0, [r1, #8]
- ldr r0, _0804BB44 @ =0x000005F6
- adds r2, r2, r0
- movs r0, #0
- ldrsb r0, [r2, r0]
- lsls r0, r0, #5
- ldr r2, _0804BB48 @ =0x08137E14
- adds r0, r0, r2
- str r0, [r1]
- ldr r0, _0804BB4C @ =0x05000220
- str r0, [r1, #4]
- ldr r0, _0804BB50 @ =0x80000010
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- bl sub_4BC34
- ldrb r0, [r4, #4]
- cmp r0, #7
- bhi _0804BBC0
- lsls r0, r0, #2
- ldr r1, _0804BB54 @ =_0804BB58
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804BB20: .4byte 0x040000D4
-_0804BB24: .4byte 0x06002000
-_0804BB28: .4byte 0x80000400
-_0804BB2C: .4byte 0x020314E0
-_0804BB30: .4byte gMain
-_0804BB34: .4byte 0x0000074C
-_0804BB38: .4byte 0x05000200
-_0804BB3C: .4byte 0x80000100
-_0804BB40: .4byte 0x00000B4C
-_0804BB44: .4byte 0x000005F6
-_0804BB48: .4byte 0x08137E14
-_0804BB4C: .4byte 0x05000220
-_0804BB50: .4byte 0x80000010
-_0804BB54: .4byte _0804BB58
-_0804BB58: @ jump table
- .4byte _0804BB78 @ case 0
- .4byte _0804BB98 @ case 1
- .4byte _0804BB9E @ case 2
- .4byte _0804BBA4 @ case 3
- .4byte _0804BBAA @ case 4
- .4byte _0804BBB0 @ case 5
- .4byte _0804BBB6 @ case 6
- .4byte _0804BBBC @ case 7
-_0804BB78:
- bl sub_50848
- ldr r0, _0804BB90 @ =0x020314E0
- ldr r0, [r0]
- ldr r3, _0804BB94 @ =0x000001A5
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- bl sub_4E9F0
- b _0804BBC0
- .align 2, 0
-_0804BB90: .4byte 0x020314E0
-_0804BB94: .4byte 0x000001A5
-_0804BB98:
- bl sub_50AD4
- b _0804BBC0
-_0804BB9E:
- bl sub_50D48
- b _0804BBC0
-_0804BBA4:
- bl sub_50DE0
- b _0804BBC0
-_0804BBAA:
- bl sub_50F04
- b _0804BBC0
-_0804BBB0:
- bl sub_50FD4
- b _0804BBC0
-_0804BBB6:
- bl sub_51090
- b _0804BBC0
-_0804BBBC:
- bl sub_51150
-_0804BBC0:
- movs r5, #0
- ldr r4, _0804BC24 @ =0x020314E0
- mov sl, r4
- ldr r7, _0804BC28 @ =gMain
- movs r0, #0xb8
- mov ip, r0
-_0804BBCC:
- lsls r1, r5, #0x10
- asrs r1, r1, #0x10
- mov r4, ip
- muls r4, r1, r4
- adds r4, r4, r7
- mov r2, sl
- ldr r6, [r2]
- lsls r2, r1, #1
- ldrb r3, [r7, #6]
- movs r0, #0xc8
- muls r0, r3, r0
- adds r2, r2, r0
- ldr r3, _0804BC2C @ =0x00000F68
- adds r0, r6, r3
- adds r0, r0, r2
- ldrh r0, [r0]
- movs r5, #0xbe
- lsls r5, r5, #2
- adds r4, r4, r5
- strh r0, [r4]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r5, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #0x63
- ble _0804BBCC
- mov r0, r8
- cmp r0, #1
- bne _0804BC14
- movs r0, #0
- str r0, [r6]
- ldr r1, _0804BC30 @ =0x0E000544
- adds r0, r6, #0
- movs r2, #4
- bl sub_55654
-_0804BC14:
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804BC24: .4byte 0x020314E0
-_0804BC28: .4byte gMain
-_0804BC2C: .4byte 0x00000F68
-_0804BC30: .4byte 0x0E000544
-
- thumb_func_start sub_4BC34
-sub_4BC34: @ 0x0804BC34
- push {r4, r5, r6, r7, lr}
- mov r7, sb
- mov r6, r8
- push {r6, r7}
- ldr r0, _0804BC50 @ =gMain
- ldrb r0, [r0, #4]
- cmp r0, #7
- bhi _0804BCC6
- lsls r0, r0, #2
- ldr r1, _0804BC54 @ =_0804BC58
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804BC50: .4byte gMain
-_0804BC54: .4byte _0804BC58
-_0804BC58: @ jump table
- .4byte _0804BC78 @ case 0
- .4byte _0804BC82 @ case 1
- .4byte _0804BC8C @ case 2
- .4byte _0804BC96 @ case 3
- .4byte _0804BCA0 @ case 4
- .4byte _0804BCAA @ case 5
- .4byte _0804BCB4 @ case 6
- .4byte _0804BCBE @ case 7
-_0804BC78:
- bl sub_4C290
- bl sub_4C808
- b _0804BCC6
-_0804BC82:
- bl sub_4C290
- bl sub_4CA18
- b _0804BCC6
-_0804BC8C:
- bl nullsub_18
- bl sub_4CAE8
- b _0804BCC6
-_0804BC96:
- bl nullsub_18
- bl sub_4CB0C
- b _0804BCC6
-_0804BCA0:
- bl nullsub_18
- bl sub_4CB30
- b _0804BCC6
-_0804BCAA:
- bl nullsub_18
- bl sub_4CBB4
- b _0804BCC6
-_0804BCB4:
- bl nullsub_18
- bl sub_4CC58
- b _0804BCC6
-_0804BCBE:
- bl nullsub_18
- bl sub_4CD60
-_0804BCC6:
- ldr r0, _0804BCE4 @ =0x020314E0
- ldr r1, [r0]
- adds r1, #0xe4
- ldrb r1, [r1]
- subs r1, #1
- adds r3, r0, #0
- cmp r1, #0x15
- bls _0804BCD8
- b _0804C274
-_0804BCD8:
- lsls r0, r1, #2
- ldr r1, _0804BCE8 @ =_0804BCEC
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804BCE4: .4byte 0x020314E0
-_0804BCE8: .4byte _0804BCEC
-_0804BCEC: @ jump table
- .4byte _0804BD44 @ case 0
- .4byte _0804BDA4 @ case 1
- .4byte _0804BDC4 @ case 2
- .4byte _0804BDE4 @ case 3
- .4byte _0804BE14 @ case 4
- .4byte _0804BE34 @ case 5
- .4byte _0804BE54 @ case 6
- .4byte _0804BE74 @ case 7
- .4byte _0804BE94 @ case 8
- .4byte _0804BEB4 @ case 9
- .4byte _0804BED4 @ case 10
- .4byte _0804BEF4 @ case 11
- .4byte _0804BFB0 @ case 12
- .4byte _0804BF14 @ case 13
- .4byte _0804C094 @ case 14
- .4byte _0804C0C8 @ case 15
- .4byte _0804C0E8 @ case 16
- .4byte _0804C108 @ case 17
- .4byte _0804C1A8 @ case 18
- .4byte _0804C1C8 @ case 19
- .4byte _0804C1E8 @ case 20
- .4byte _0804C264 @ case 21
-_0804BD44:
- ldr r1, [r3]
- movs r2, #0xf1
- lsls r2, r2, #1
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- bne _0804BD84
- movs r3, #0xe1
- lsls r3, r3, #1
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- bne _0804BD84
- ldr r1, _0804BD74 @ =0x040000D4
- ldr r0, _0804BD78 @ =0x08395A4C
- str r0, [r1]
- ldr r0, _0804BD7C @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804BD80 @ =0x80001200
- b _0804C270
- .align 2, 0
-_0804BD74: .4byte 0x040000D4
-_0804BD78: .4byte 0x08395A4C
-_0804BD7C: .4byte 0x06015800
-_0804BD80: .4byte 0x80001200
-_0804BD84:
- ldr r1, _0804BD94 @ =0x040000D4
- ldr r0, _0804BD98 @ =0x08397E6C
- str r0, [r1]
- ldr r0, _0804BD9C @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804BDA0 @ =0x80001200
- b _0804C270
- .align 2, 0
-_0804BD94: .4byte 0x040000D4
-_0804BD98: .4byte 0x08397E6C
-_0804BD9C: .4byte 0x06015800
-_0804BDA0: .4byte 0x80001200
-_0804BDA4:
- ldr r1, _0804BDB4 @ =0x040000D4
- ldr r0, _0804BDB8 @ =0x083A704C
- str r0, [r1]
- ldr r0, _0804BDBC @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804BDC0 @ =0x80000800
- b _0804C270
- .align 2, 0
-_0804BDB4: .4byte 0x040000D4
-_0804BDB8: .4byte 0x083A704C
-_0804BDBC: .4byte 0x06015800
-_0804BDC0: .4byte 0x80000800
-_0804BDC4:
- ldr r1, _0804BDD4 @ =0x040000D4
- ldr r0, _0804BDD8 @ =0x0848FD8C
- str r0, [r1]
- ldr r0, _0804BDDC @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804BDE0 @ =0x80000650
- b _0804C270
- .align 2, 0
-_0804BDD4: .4byte 0x040000D4
-_0804BDD8: .4byte 0x0848FD8C
-_0804BDDC: .4byte 0x06015800
-_0804BDE0: .4byte 0x80000650
-_0804BDE4:
- ldr r1, _0804BE04 @ =0x040000D4
- ldr r2, _0804BE08 @ =0x086ACEF8
- ldr r0, [r3]
- adds r0, #0xf2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #2
- adds r0, r0, r2
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, _0804BE0C @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804BE10 @ =0x800012F0
- b _0804C270
- .align 2, 0
-_0804BE04: .4byte 0x040000D4
-_0804BE08: .4byte 0x086ACEF8
-_0804BE0C: .4byte 0x06015800
-_0804BE10: .4byte 0x800012F0
-_0804BE14:
- ldr r1, _0804BE24 @ =0x040000D4
- ldr r0, _0804BE28 @ =0x083A07CC
- str r0, [r1]
- ldr r0, _0804BE2C @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804BE30 @ =0x80001000
- b _0804C270
- .align 2, 0
-_0804BE24: .4byte 0x040000D4
-_0804BE28: .4byte 0x083A07CC
-_0804BE2C: .4byte 0x06015800
-_0804BE30: .4byte 0x80001000
-_0804BE34:
- ldr r1, _0804BE44 @ =0x040000D4
- ldr r0, _0804BE48 @ =0x083A29EC
- str r0, [r1]
- ldr r0, _0804BE4C @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804BE50 @ =0x80000400
- b _0804C270
- .align 2, 0
-_0804BE44: .4byte 0x040000D4
-_0804BE48: .4byte 0x083A29EC
-_0804BE4C: .4byte 0x06015800
-_0804BE50: .4byte 0x80000400
-_0804BE54:
- ldr r1, _0804BE64 @ =0x040000D4
- ldr r0, _0804BE68 @ =0x083A340C
- str r0, [r1]
- ldr r0, _0804BE6C @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804BE70 @ =0x80001000
- b _0804C270
- .align 2, 0
-_0804BE64: .4byte 0x040000D4
-_0804BE68: .4byte 0x083A340C
-_0804BE6C: .4byte 0x06015800
-_0804BE70: .4byte 0x80001000
-_0804BE74:
- ldr r1, _0804BE84 @ =0x040000D4
- ldr r0, _0804BE88 @ =0x083A562C
- str r0, [r1]
- ldr r0, _0804BE8C @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804BE90 @ =0x80000C00
- b _0804C270
- .align 2, 0
-_0804BE84: .4byte 0x040000D4
-_0804BE88: .4byte 0x083A562C
-_0804BE8C: .4byte 0x06015800
-_0804BE90: .4byte 0x80000C00
-_0804BE94:
- ldr r1, _0804BEA4 @ =0x040000D4
- ldr r0, _0804BEA8 @ =0x081428D4
- str r0, [r1]
- ldr r0, _0804BEAC @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804BEB0 @ =0x80000E00
- b _0804C270
- .align 2, 0
-_0804BEA4: .4byte 0x040000D4
-_0804BEA8: .4byte 0x081428D4
-_0804BEAC: .4byte 0x06015800
-_0804BEB0: .4byte 0x80000E00
-_0804BEB4:
- ldr r1, _0804BEC4 @ =0x040000D4
- ldr r0, _0804BEC8 @ =0x0839C78C
- str r0, [r1]
- ldr r0, _0804BECC @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804BED0 @ =0x80000A00
- b _0804C270
- .align 2, 0
-_0804BEC4: .4byte 0x040000D4
-_0804BEC8: .4byte 0x0839C78C
-_0804BECC: .4byte 0x06015800
-_0804BED0: .4byte 0x80000A00
-_0804BED4:
- ldr r1, _0804BEE4 @ =0x040000D4
- ldr r0, _0804BEE8 @ =0x0839DDAC
- str r0, [r1]
- ldr r0, _0804BEEC @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804BEF0 @ =0x80001400
- b _0804C270
- .align 2, 0
-_0804BEE4: .4byte 0x040000D4
-_0804BEE8: .4byte 0x0839DDAC
-_0804BEEC: .4byte 0x06015800
-_0804BEF0: .4byte 0x80001400
-_0804BEF4:
- ldr r1, _0804BF04 @ =0x040000D4
- ldr r0, _0804BF08 @ =0x084FA20C
- str r0, [r1]
- ldr r0, _0804BF0C @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804BF10 @ =0x80000140
- b _0804C270
- .align 2, 0
-_0804BF04: .4byte 0x040000D4
-_0804BF08: .4byte 0x084FA20C
-_0804BF0C: .4byte 0x06015800
-_0804BF10: .4byte 0x80000140
-_0804BF14:
- movs r2, #0
- ldr r7, _0804BF50 @ =0x084F61EC
- mov r8, r7
- ldr r0, _0804BF54 @ =0x020314E0
- ldr r0, [r0]
- movs r1, #0xb3
- lsls r1, r1, #3
- adds r1, r1, r0
- mov sb, r1
- ldr r3, _0804BF58 @ =0x086A3707
- mov ip, r3
- ldr r4, _0804BF5C @ =0x040000D4
- ldr r6, _0804BF60 @ =0x06015800
- ldr r5, _0804BF64 @ =0x80000020
-_0804BF30:
- lsls r2, r2, #0x10
- asrs r3, r2, #0x10
- mov r7, sb
- ldrh r1, [r7]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #3
- adds r0, r3, r0
- mov r7, ip
- adds r1, r0, r7
- ldrb r0, [r1]
- cmp r0, #0x20
- bne _0804BF6C
- ldr r0, _0804BF68 @ =0x083FFD4C
- b _0804BF76
- .align 2, 0
-_0804BF50: .4byte 0x084F61EC
-_0804BF54: .4byte 0x020314E0
-_0804BF58: .4byte 0x086A3707
-_0804BF5C: .4byte 0x040000D4
-_0804BF60: .4byte 0x06015800
-_0804BF64: .4byte 0x80000020
-_0804BF68: .4byte 0x083FFD4C
-_0804BF6C:
- ldrb r0, [r1]
- subs r0, #0x41
- lsls r0, r0, #6
- ldr r1, _0804BFA0 @ =0x083FF04C
- adds r0, r0, r1
-_0804BF76:
- str r0, [r4]
- lsls r0, r3, #6
- adds r0, r0, r6
- str r0, [r4, #4]
- str r5, [r4, #8]
- ldr r0, [r4, #8]
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r2, r1
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #9
- ble _0804BF30
- ldr r1, _0804BFA4 @ =0x040000D4
- mov r2, r8
- str r2, [r1]
- ldr r0, _0804BFA8 @ =0x06015C00
- str r0, [r1, #4]
- ldr r0, _0804BFAC @ =0x800004A0
- b _0804C270
- .align 2, 0
-_0804BFA0: .4byte 0x083FF04C
-_0804BFA4: .4byte 0x040000D4
-_0804BFA8: .4byte 0x06015C00
-_0804BFAC: .4byte 0x800004A0
-_0804BFB0:
- movs r2, #0
- ldr r0, _0804BFE8 @ =0x020314E0
- ldr r0, [r0]
- movs r3, #0xb3
- lsls r3, r3, #3
- adds r3, r3, r0
- mov r8, r3
- ldr r7, _0804BFEC @ =0x086A3707
- mov ip, r7
- ldr r4, _0804BFF0 @ =0x040000D4
- ldr r6, _0804BFF4 @ =0x06015800
- ldr r5, _0804BFF8 @ =0x80000020
-_0804BFC8:
- lsls r0, r2, #0x10
- asrs r3, r0, #0x10
- mov r0, r8
- ldrh r1, [r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #3
- adds r0, r3, r0
- mov r7, ip
- adds r1, r0, r7
- ldrb r0, [r1]
- cmp r0, #0x20
- bne _0804C000
- ldr r0, _0804BFFC @ =0x083FFD4C
- b _0804C00A
- .align 2, 0
-_0804BFE8: .4byte 0x020314E0
-_0804BFEC: .4byte 0x086A3707
-_0804BFF0: .4byte 0x040000D4
-_0804BFF4: .4byte 0x06015800
-_0804BFF8: .4byte 0x80000020
-_0804BFFC: .4byte 0x083FFD4C
-_0804C000:
- ldrb r0, [r1]
- subs r0, #0x41
- lsls r0, r0, #6
- ldr r1, _0804C04C @ =0x083FF04C
- adds r0, r0, r1
-_0804C00A:
- str r0, [r4]
- lsls r0, r3, #6
- adds r0, r0, r6
- str r0, [r4, #4]
- str r5, [r4, #8]
- ldr r0, [r4, #8]
- lsls r0, r2, #0x10
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r0, r1
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #9
- ble _0804BFC8
- movs r2, #0
- ldr r3, _0804C050 @ =0x086ACFE0
- mov ip, r3
- ldr r5, _0804C054 @ =0x040000D4
- ldr r7, _0804C058 @ =0x06015800
- ldr r6, _0804C05C @ =0x80000020
-_0804C032:
- lsls r0, r2, #0x10
- asrs r4, r0, #0x10
- lsls r1, r4, #1
- mov r2, ip
- adds r3, r1, r2
- movs r2, #0
- ldrsh r1, [r3, r2]
- adds r2, r0, #0
- cmp r1, #0x20
- bne _0804C064
- ldr r0, _0804C060 @ =0x083FFD4C
- b _0804C070
- .align 2, 0
-_0804C04C: .4byte 0x083FF04C
-_0804C050: .4byte 0x086ACFE0
-_0804C054: .4byte 0x040000D4
-_0804C058: .4byte 0x06015800
-_0804C05C: .4byte 0x80000020
-_0804C060: .4byte 0x083FFD4C
-_0804C064:
- movs r1, #0
- ldrsh r0, [r3, r1]
- subs r0, #0x41
- lsls r0, r0, #6
- ldr r1, _0804C090 @ =0x083FF04C
- adds r0, r0, r1
-_0804C070:
- str r0, [r5]
- adds r0, r4, #0
- adds r0, #0xa
- lsls r0, r0, #6
- adds r0, r0, r7
- str r0, [r5, #4]
- str r6, [r5, #8]
- ldr r0, [r5, #8]
- movs r3, #0x80
- lsls r3, r3, #9
- adds r0, r2, r3
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #9
- ble _0804C032
- b _0804C274
- .align 2, 0
-_0804C090: .4byte 0x083FF04C
-_0804C094:
- ldr r1, _0804C0B4 @ =0x040000D4
- ldr r2, _0804C0B8 @ =0x086AD474
- ldr r0, [r3]
- ldr r7, _0804C0BC @ =0x0000025F
- adds r0, r0, r7
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #2
- adds r0, r0, r2
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, _0804C0C0 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804C0C4 @ =0x80000E00
- b _0804C270
- .align 2, 0
-_0804C0B4: .4byte 0x040000D4
-_0804C0B8: .4byte 0x086AD474
-_0804C0BC: .4byte 0x0000025F
-_0804C0C0: .4byte 0x06015800
-_0804C0C4: .4byte 0x80000E00
-_0804C0C8:
- ldr r1, _0804C0D8 @ =0x040000D4
- ldr r0, _0804C0DC @ =0x08158284
- str r0, [r1]
- ldr r0, _0804C0E0 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804C0E4 @ =0x80001200
- b _0804C270
- .align 2, 0
-_0804C0D8: .4byte 0x040000D4
-_0804C0DC: .4byte 0x08158284
-_0804C0E0: .4byte 0x06015800
-_0804C0E4: .4byte 0x80001200
-_0804C0E8:
- ldr r1, _0804C0F8 @ =0x040000D4
- ldr r0, _0804C0FC @ =0x083A562C
- str r0, [r1]
- ldr r0, _0804C100 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804C104 @ =0x80000C00
- b _0804C270
- .align 2, 0
-_0804C0F8: .4byte 0x040000D4
-_0804C0FC: .4byte 0x083A562C
-_0804C100: .4byte 0x06015800
-_0804C104: .4byte 0x80000C00
-_0804C108:
- ldr r7, _0804C17C @ =0x040000D4
- ldr r0, _0804C180 @ =0x084F61EC
- str r0, [r7]
- ldr r0, _0804C184 @ =0x06015C00
- str r0, [r7, #4]
- ldr r0, _0804C188 @ =0x800004A0
- str r0, [r7, #8]
- ldr r0, [r7, #8]
- ldr r2, [r3]
- ldr r1, _0804C18C @ =0x000001A5
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _0804C12A
- b _0804C274
-_0804C12A:
- ldr r1, _0804C190 @ =0x086AD2DE
- movs r3, #0xd3
- lsls r3, r3, #1
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #1
- adds r0, r0, r1
- ldrh r4, [r0]
- lsls r4, r4, #3
- ldr r0, _0804C194 @ =0x086AD000
- adds r4, r4, r0
- ldrh r0, [r4, #6]
- movs r1, #0xa
- bl __udivsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xa
- ldr r6, _0804C198 @ =0x08480E0C
- adds r0, r0, r6
- str r0, [r7]
- ldr r0, _0804C19C @ =0x06015DA0
- str r0, [r7, #4]
- ldr r5, _0804C1A0 @ =0x80000020
- str r5, [r7, #8]
- ldr r0, [r7, #8]
- ldrh r0, [r4, #6]
- movs r1, #0xa
- bl __umodsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0xa
- adds r0, r0, r6
- str r0, [r7]
- ldr r0, _0804C1A4 @ =0x06015E60
- str r0, [r7, #4]
- str r5, [r7, #8]
- ldr r0, [r7, #8]
- b _0804C274
- .align 2, 0
-_0804C17C: .4byte 0x040000D4
-_0804C180: .4byte 0x084F61EC
-_0804C184: .4byte 0x06015C00
-_0804C188: .4byte 0x800004A0
-_0804C18C: .4byte 0x000001A5
-_0804C190: .4byte 0x086AD2DE
-_0804C194: .4byte 0x086AD000
-_0804C198: .4byte 0x08480E0C
-_0804C19C: .4byte 0x06015DA0
-_0804C1A0: .4byte 0x80000020
-_0804C1A4: .4byte 0x06015E60
-_0804C1A8:
- ldr r1, _0804C1B8 @ =0x040000D4
- ldr r0, _0804C1BC @ =0x0850100C
- str r0, [r1]
- ldr r0, _0804C1C0 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804C1C4 @ =0x80001200
- b _0804C270
- .align 2, 0
-_0804C1B8: .4byte 0x040000D4
-_0804C1BC: .4byte 0x0850100C
-_0804C1C0: .4byte 0x06015800
-_0804C1C4: .4byte 0x80001200
-_0804C1C8:
- ldr r1, _0804C1D8 @ =0x040000D4
- ldr r0, _0804C1DC @ =0x0850398C
- str r0, [r1]
- ldr r0, _0804C1E0 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804C1E4 @ =0x80001400
- b _0804C270
- .align 2, 0
-_0804C1D8: .4byte 0x040000D4
-_0804C1DC: .4byte 0x0850398C
-_0804C1E0: .4byte 0x06015800
-_0804C1E4: .4byte 0x80001400
-_0804C1E8:
- ldr r0, _0804C20C @ =gMain
- ldrb r0, [r0, #4]
- cmp r0, #0
- bne _0804C22C
- ldr r1, _0804C210 @ =0x040000D4
- ldr r0, _0804C214 @ =0x081BCAA4
- str r0, [r1]
- ldr r0, _0804C218 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804C21C @ =0x80000C00
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldr r0, _0804C220 @ =0x081BE2C4
- str r0, [r1]
- ldr r0, _0804C224 @ =0x050003C0
- str r0, [r1, #4]
- ldr r0, _0804C228 @ =0x80000010
- b _0804C270
- .align 2, 0
-_0804C20C: .4byte gMain
-_0804C210: .4byte 0x040000D4
-_0804C214: .4byte 0x081BCAA4
-_0804C218: .4byte 0x06015800
-_0804C21C: .4byte 0x80000C00
-_0804C220: .4byte 0x081BE2C4
-_0804C224: .4byte 0x050003C0
-_0804C228: .4byte 0x80000010
-_0804C22C:
- ldr r1, _0804C248 @ =0x040000D4
- ldr r0, _0804C24C @ =0x081BE4C4
- str r0, [r1]
- ldr r0, _0804C250 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804C254 @ =0x80000C00
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldr r0, _0804C258 @ =0x081BFCE4
- str r0, [r1]
- ldr r0, _0804C25C @ =0x050003C0
- str r0, [r1, #4]
- ldr r0, _0804C260 @ =0x80000010
- b _0804C270
- .align 2, 0
-_0804C248: .4byte 0x040000D4
-_0804C24C: .4byte 0x081BE4C4
-_0804C250: .4byte 0x06015800
-_0804C254: .4byte 0x80000C00
-_0804C258: .4byte 0x081BFCE4
-_0804C25C: .4byte 0x050003C0
-_0804C260: .4byte 0x80000010
-_0804C264:
- ldr r1, _0804C280 @ =0x040000D4
- ldr r0, _0804C284 @ =0x08526DCC
- str r0, [r1]
- ldr r0, _0804C288 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804C28C @ =0x80000600
-_0804C270:
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804C274:
- pop {r3, r4}
- mov r8, r3
- mov sb, r4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804C280: .4byte 0x040000D4
-_0804C284: .4byte 0x08526DCC
-_0804C288: .4byte 0x06015800
-_0804C28C: .4byte 0x80000600
-
- thumb_func_start sub_4C290
-sub_4C290: @ 0x0804C290
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #4
- bl sub_28AE0
- bl sub_28BFC
- movs r1, #0
- ldr r0, _0804C3B8 @ =0x020314E0
- ldr r4, [r0]
- ldr r3, _0804C3BC @ =0x040000D4
- mov sb, r0
-_0804C2AE:
- lsls r2, r1, #0x10
- asrs r2, r2, #0x10
- lsls r0, r2, #1
- adds r0, r0, r2
- lsls r0, r0, #2
- adds r0, r4, r0
- ldr r1, _0804C3C0 @ =0x000013BC
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsrs r1, r0, #0x1f
- adds r0, r0, r1
- asrs r0, r0, #1
- lsls r0, r0, #9
- ldr r1, _0804C3C4 @ =0x083FE44C
- adds r0, r0, r1
- str r0, [r3]
- lsls r0, r2, #9
- ldr r5, _0804C3C8 @ =0x06010000
- adds r0, r0, r5
- str r0, [r3, #4]
- ldr r0, _0804C3CC @ =0x80000100
- str r0, [r3, #8]
- ldr r0, [r3, #8]
- adds r2, #1
- lsls r2, r2, #0x10
- lsrs r1, r2, #0x10
- asrs r2, r2, #0x10
- cmp r2, #1
- ble _0804C2AE
- mov r1, sb
- ldr r0, [r1]
- ldr r2, _0804C3D0 @ =0x0000132C
- adds r0, r0, r2
- ldr r0, [r0]
- ldrh r0, [r0, #0xa]
- ldr r2, _0804C3BC @ =0x040000D4
- lsrs r0, r0, #0xc
- lsls r0, r0, #7
- ldr r1, _0804C3D4 @ =0x083BB16C
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _0804C3D8 @ =0x06010400
- str r0, [r2, #4]
- ldr r0, _0804C3DC @ =0x80000040
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- movs r1, #0
- ldr r5, _0804C3E0 @ =0x084C07EC
- ldr r6, _0804C3E4 @ =0x084FA48C
- ldr r7, _0804C3E8 @ =0x084C00EC
- adds r3, r2, #0
- mov r2, sb
- ldr r0, [r2]
- ldr r2, _0804C3EC @ =0x00000744
- adds r4, r0, r2
-_0804C320:
- lsls r2, r1, #0x10
- asrs r2, r2, #0x10
- adds r0, r4, r2
- ldrb r1, [r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #7
- adds r0, r0, r5
- str r0, [r3]
- lsls r0, r2, #1
- adds r0, r0, r2
- lsls r0, r0, #7
- ldr r1, _0804C3F0 @ =0x06010480
- adds r0, r0, r1
- str r0, [r3, #4]
- ldr r0, _0804C3F4 @ =0x800000C0
- str r0, [r3, #8]
- ldr r0, [r3, #8]
- adds r2, #1
- lsls r2, r2, #0x10
- lsrs r1, r2, #0x10
- asrs r2, r2, #0x10
- cmp r2, #1
- ble _0804C320
- mov r2, sb
- ldr r0, [r2]
- ldr r3, _0804C3F8 @ =0x000001E5
- adds r0, r0, r3
- ldr r2, _0804C3BC @ =0x040000D4
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #3
- adds r0, r0, r1
- lsls r0, r0, #5
- adds r0, r0, r6
- str r0, [r2]
- ldr r0, _0804C3FC @ =0x06010780
- str r0, [r2, #4]
- ldr r0, _0804C400 @ =0x80000090
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- mov r5, sb
- ldr r0, [r5]
- movs r1, #0xe5
- lsls r1, r1, #1
- adds r0, r0, r1
- ldrh r3, [r0]
- mov sl, r3
- movs r5, #0
- ldrsh r0, [r0, r5]
- lsls r0, r0, #7
- adds r0, r0, r7
- str r0, [r2]
- ldr r0, _0804C404 @ =0x06010AE0
- str r0, [r2, #4]
- ldr r0, _0804C3DC @ =0x80000040
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- movs r1, #0
-_0804C396:
- mov r2, sb
- ldr r0, [r2]
- lsls r2, r1, #0x10
- asrs r1, r2, #0x10
- ldr r3, _0804C408 @ =0x00000747
- adds r0, r0, r3
- adds r0, r0, r1
- ldrb r0, [r0]
- adds r7, r2, #0
- cmp r0, #9
- bls _0804C3AE
- b _0804C602
-_0804C3AE:
- lsls r0, r0, #2
- ldr r1, _0804C40C @ =_0804C410
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804C3B8: .4byte 0x020314E0
-_0804C3BC: .4byte 0x040000D4
-_0804C3C0: .4byte 0x000013BC
-_0804C3C4: .4byte 0x083FE44C
-_0804C3C8: .4byte 0x06010000
-_0804C3CC: .4byte 0x80000100
-_0804C3D0: .4byte 0x0000132C
-_0804C3D4: .4byte 0x083BB16C
-_0804C3D8: .4byte 0x06010400
-_0804C3DC: .4byte 0x80000040
-_0804C3E0: .4byte 0x084C07EC
-_0804C3E4: .4byte 0x084FA48C
-_0804C3E8: .4byte 0x084C00EC
-_0804C3EC: .4byte 0x00000744
-_0804C3F0: .4byte 0x06010480
-_0804C3F4: .4byte 0x800000C0
-_0804C3F8: .4byte 0x000001E5
-_0804C3FC: .4byte 0x06010780
-_0804C400: .4byte 0x80000090
-_0804C404: .4byte 0x06010AE0
-_0804C408: .4byte 0x00000747
-_0804C40C: .4byte _0804C410
-_0804C410: @ jump table
- .4byte _0804C438 @ case 0
- .4byte _0804C5D4 @ case 1
- .4byte _0804C5D4 @ case 2
- .4byte _0804C55E @ case 3
- .4byte _0804C5D4 @ case 4
- .4byte _0804C602 @ case 5
- .4byte _0804C5D4 @ case 6
- .4byte _0804C5D4 @ case 7
- .4byte _0804C5D4 @ case 8
- .4byte _0804C460 @ case 9
-_0804C438:
- ldr r3, _0804C454 @ =0x040000D4
- mov r5, sb
- ldr r0, [r5]
- asrs r2, r7, #0x10
- ldr r1, _0804C458 @ =0x00000749
- adds r0, r0, r1
- adds r0, r0, r2
- ldrb r1, [r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #8
- ldr r1, _0804C45C @ =0x0848D68C
- b _0804C5EC
- .align 2, 0
-_0804C454: .4byte 0x040000D4
-_0804C458: .4byte 0x00000749
-_0804C45C: .4byte 0x0848D68C
-_0804C460:
- mov r5, sb
- ldr r4, [r5]
- movs r1, #0x97
- lsls r1, r1, #2
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _0804C510
- ldr r1, _0804C498 @ =0x0200B134
- ldr r2, _0804C49C @ =0x0000059A
- adds r0, r4, r2
- ldrh r3, [r0]
- adds r1, r3, r1
- ldrb r0, [r1]
- cmp r0, #0
- bne _0804C4AC
- asrs r3, r7, #0x10
- ldr r2, _0804C4A0 @ =0x00000749
- adds r0, r4, r2
- adds r0, r0, r3
- movs r1, #0xcd
- strb r1, [r0]
- ldr r6, _0804C4A4 @ =0x040000D4
- ldr r5, _0804C4A8 @ =gMonPortraitGroupPals
- mov r8, r5
- b _0804C528
- .align 2, 0
-_0804C498: .4byte 0x0200B134
-_0804C49C: .4byte 0x0000059A
-_0804C4A0: .4byte 0x00000749
-_0804C4A4: .4byte 0x040000D4
-_0804C4A8: .4byte gMonPortraitGroupPals
-_0804C4AC:
- cmp r0, #3
- bhi _0804C4E8
- asrs r1, r7, #0x10
- ldr r2, _0804C4D4 @ =0x00000749
- adds r0, r4, r2
- adds r0, r0, r1
- strb r3, [r0]
- ldr r1, _0804C4D8 @ =0x040000D4
- ldr r0, _0804C4DC @ =gMonPortraitGroupPals
- ldr r0, [r0]
- movs r3, #0xf0
- lsls r3, r3, #1
- adds r0, r0, r3
- str r0, [r1]
- ldr r0, _0804C4E0 @ =0x050003A0
- str r0, [r1, #4]
- ldr r0, _0804C4E4 @ =0x80000010
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- b _0804C55E
- .align 2, 0
-_0804C4D4: .4byte 0x00000749
-_0804C4D8: .4byte 0x040000D4
-_0804C4DC: .4byte gMonPortraitGroupPals
-_0804C4E0: .4byte 0x050003A0
-_0804C4E4: .4byte 0x80000010
-_0804C4E8:
- asrs r2, r7, #0x10
- ldr r1, _0804C504 @ =0x00000749
- adds r0, r4, r1
- adds r0, r0, r2
- strb r3, [r0]
- ldr r6, _0804C508 @ =0x040000D4
- ldr r5, _0804C50C @ =gMonPortraitGroupPals
- mov r8, r5
- mov r3, sb
- ldr r0, [r3]
- adds r0, r0, r1
- adds r0, r0, r2
- b _0804C530
- .align 2, 0
-_0804C504: .4byte 0x00000749
-_0804C508: .4byte 0x040000D4
-_0804C50C: .4byte gMonPortraitGroupPals
-_0804C510:
- asrs r3, r7, #0x10
- ldr r2, _0804C5B4 @ =0x00000749
- adds r1, r4, r2
- adds r1, r1, r3
- movs r5, #0xb3
- lsls r5, r5, #3
- adds r0, r4, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r6, _0804C5B8 @ =0x040000D4
- ldr r0, _0804C5BC @ =gMonPortraitGroupPals
- mov r8, r0
-_0804C528:
- mov r1, sb
- ldr r0, [r1]
- adds r0, r0, r2
- adds r0, r0, r3
-_0804C530:
- ldrb r5, [r0]
- adds r0, r5, #0
- movs r1, #0xf
- bl __udivsi3
- adds r4, r0, #0
- lsls r4, r4, #0x18
- lsrs r4, r4, #0x16
- add r4, r8
- adds r0, r5, #0
- movs r1, #0xf
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x13
- ldr r1, [r4]
- adds r1, r1, r0
- str r1, [r6]
- ldr r0, _0804C5C0 @ =0x050003A0
- str r0, [r6, #4]
- ldr r0, _0804C5C4 @ =0x80000010
- str r0, [r6, #8]
- ldr r0, [r6, #8]
-_0804C55E:
- ldr r2, _0804C5B8 @ =0x040000D4
- ldr r3, _0804C5C8 @ =gMonPortraitGroupGfx
- mov r8, r3
- mov r5, sb
- ldr r0, [r5]
- asrs r6, r7, #0x10
- ldr r1, _0804C5B4 @ =0x00000749
- adds r0, r0, r1
- adds r0, r0, r6
- ldrb r5, [r0]
- adds r0, r5, #0
- movs r1, #0xf
- str r2, [sp]
- bl __udivsi3
- adds r4, r0, #0
- lsls r4, r4, #0x18
- lsrs r4, r4, #0x16
- add r4, r8
- adds r0, r5, #0
- movs r1, #0xf
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- lsls r1, r0, #1
- adds r1, r1, r0
- lsls r1, r1, #8
- ldr r0, [r4]
- adds r0, r0, r1
- ldr r2, [sp]
- str r0, [r2]
- lsls r0, r6, #1
- adds r0, r0, r6
- lsls r0, r0, #3
- ldr r3, _0804C5CC @ =0x06010CA0
- adds r0, r0, r3
- str r0, [r2, #4]
- ldr r0, _0804C5D0 @ =0x80000180
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- b _0804C602
- .align 2, 0
-_0804C5B4: .4byte 0x00000749
-_0804C5B8: .4byte 0x040000D4
-_0804C5BC: .4byte gMonPortraitGroupPals
-_0804C5C0: .4byte 0x050003A0
-_0804C5C4: .4byte 0x80000010
-_0804C5C8: .4byte gMonPortraitGroupGfx
-_0804C5CC: .4byte 0x06010CA0
-_0804C5D0: .4byte 0x80000180
-_0804C5D4:
- ldr r3, _0804C630 @ =0x040000D4
- mov r5, sb
- ldr r0, [r5]
- asrs r2, r7, #0x10
- ldr r1, _0804C634 @ =0x00000749
- adds r0, r0, r1
- adds r0, r0, r2
- ldrb r1, [r0]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #8
- ldr r1, _0804C638 @ =0x083A8EEC
-_0804C5EC:
- adds r0, r0, r1
- str r0, [r3]
- lsls r0, r2, #1
- adds r0, r0, r2
- lsls r0, r0, #8
- ldr r2, _0804C63C @ =0x06010CA0
- adds r0, r0, r2
- str r0, [r3, #4]
- ldr r0, _0804C640 @ =0x80000180
- str r0, [r3, #8]
- ldr r0, [r3, #8]
-_0804C602:
- movs r3, #0x80
- lsls r3, r3, #9
- adds r0, r7, r3
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #1
- bgt _0804C612
- b _0804C396
-_0804C612:
- mov r5, sb
- ldr r1, [r5]
- movs r0, #0x13
- ldrsb r0, [r1, r0]
- cmp r0, #4
- bne _0804C69C
- movs r0, #0x17
- ldrsb r0, [r1, r0]
- cmp r0, #7
- blt _0804C69C
- cmp r0, #8
- ble _0804C644
- cmp r0, #9
- beq _0804C660
- b _0804C69C
- .align 2, 0
-_0804C630: .4byte 0x040000D4
-_0804C634: .4byte 0x00000749
-_0804C638: .4byte 0x083A8EEC
-_0804C63C: .4byte 0x06010CA0
-_0804C640: .4byte 0x80000180
-_0804C644:
- ldr r2, _0804C654 @ =0x000005A9
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, #4
- bls _0804C68C
- ldr r1, _0804C658 @ =0x040000D4
- ldr r0, _0804C65C @ =0x02031060
- b _0804C690
- .align 2, 0
-_0804C654: .4byte 0x000005A9
-_0804C658: .4byte 0x040000D4
-_0804C65C: .4byte 0x02031060
-_0804C660:
- movs r3, #0xb5
- lsls r3, r3, #3
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x1f
- bgt _0804C69C
- ldr r5, _0804C680 @ =0x000005A9
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, #4
- bls _0804C68C
- ldr r1, _0804C684 @ =0x040000D4
- ldr r0, _0804C688 @ =0x02031060
- b _0804C690
- .align 2, 0
-_0804C680: .4byte 0x000005A9
-_0804C684: .4byte 0x040000D4
-_0804C688: .4byte 0x02031060
-_0804C68C:
- ldr r1, _0804C6B8 @ =0x040000D4
- ldr r0, _0804C6BC @ =0x02030760
-_0804C690:
- str r0, [r1]
- ldr r0, _0804C6C0 @ =0x06010CA0
- str r0, [r1, #4]
- ldr r0, _0804C6C4 @ =0x80000240
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804C69C:
- mov r0, sb
- ldr r1, [r0]
- movs r0, #0x13
- ldrsb r0, [r1, r0]
- cmp r0, #8
- bne _0804C720
- movs r0, #0x17
- ldrsb r0, [r1, r0]
- cmp r0, #2
- beq _0804C6C8
- cmp r0, #3
- beq _0804C6E4
- b _0804C720
- .align 2, 0
-_0804C6B8: .4byte 0x040000D4
-_0804C6BC: .4byte 0x02030760
-_0804C6C0: .4byte 0x06010CA0
-_0804C6C4: .4byte 0x80000240
-_0804C6C8:
- ldr r2, _0804C6D8 @ =0x000005A9
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, #4
- bls _0804C710
- ldr r1, _0804C6DC @ =0x040000D4
- ldr r0, _0804C6E0 @ =0x02031060
- b _0804C714
- .align 2, 0
-_0804C6D8: .4byte 0x000005A9
-_0804C6DC: .4byte 0x040000D4
-_0804C6E0: .4byte 0x02031060
-_0804C6E4:
- movs r3, #0xb5
- lsls r3, r3, #3
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x1f
- bgt _0804C720
- ldr r5, _0804C704 @ =0x000005A9
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, #4
- bls _0804C710
- ldr r1, _0804C708 @ =0x040000D4
- ldr r0, _0804C70C @ =0x02031060
- b _0804C714
- .align 2, 0
-_0804C704: .4byte 0x000005A9
-_0804C708: .4byte 0x040000D4
-_0804C70C: .4byte 0x02031060
-_0804C710:
- ldr r1, _0804C7C4 @ =0x040000D4
- ldr r0, _0804C7C8 @ =0x02030760
-_0804C714:
- str r0, [r1]
- ldr r0, _0804C7CC @ =0x06010CA0
- str r0, [r1, #4]
- ldr r0, _0804C7D0 @ =0x80000240
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804C720:
- ldr r2, _0804C7C4 @ =0x040000D4
- mov r1, sb
- ldr r0, [r1]
- ldr r3, _0804C7D4 @ =0x0000020B
- adds r0, r0, r3
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #8
- ldr r5, _0804C7D8 @ =0x0844838C
- adds r0, r0, r5
- str r0, [r2]
- ldr r0, _0804C7DC @ =0x060113C0
- str r0, [r2, #4]
- ldr r0, _0804C7E0 @ =0x80000180
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- mov r1, sb
- ldr r0, [r1]
- adds r3, #0x54
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #2
- ldr r5, _0804C7E4 @ =0x086AD49C
- adds r0, r0, r5
- mov r3, sl
- lsls r1, r3, #0x10
- asrs r1, r1, #7
- ldr r0, [r0]
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _0804C7E8 @ =0x060116C0
- str r0, [r2, #4]
- ldr r3, _0804C7EC @ =0x80000100
- str r3, [r2, #8]
- ldr r0, [r2, #8]
- mov r5, sb
- ldr r0, [r5]
- ldr r1, _0804C7F0 @ =0x000001ED
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #3
- ldr r1, _0804C7F4 @ =0x086AD2EE
- adds r1, #6
- adds r0, r0, r1
- movs r5, #0
- ldrsh r0, [r0, r5]
- lsls r0, r0, #9
- ldr r1, _0804C7F8 @ =0x084FD18C
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _0804C7FC @ =0x06011CE0
- str r0, [r2, #4]
- str r3, [r2, #8]
- ldr r0, [r2, #8]
- mov r5, sb
- ldr r0, [r5]
- adds r0, #0x6e
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #9
- ldr r1, _0804C800 @ =0x083BD36C
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _0804C804 @ =0x06011EE0
- str r0, [r2, #4]
- str r3, [r2, #8]
- ldr r0, [r2, #8]
- add sp, #4
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804C7C4: .4byte 0x040000D4
-_0804C7C8: .4byte 0x02030760
-_0804C7CC: .4byte 0x06010CA0
-_0804C7D0: .4byte 0x80000240
-_0804C7D4: .4byte 0x0000020B
-_0804C7D8: .4byte 0x0844838C
-_0804C7DC: .4byte 0x060113C0
-_0804C7E0: .4byte 0x80000180
-_0804C7E4: .4byte 0x086AD49C
-_0804C7E8: .4byte 0x060116C0
-_0804C7EC: .4byte 0x80000100
-_0804C7F0: .4byte 0x000001ED
-_0804C7F4: .4byte 0x086AD2EE
-_0804C7F8: .4byte 0x084FD18C
-_0804C7FC: .4byte 0x06011CE0
-_0804C800: .4byte 0x083BD36C
-_0804C804: .4byte 0x06011EE0
-
- thumb_func_start sub_4C808
-sub_4C808: @ 0x0804C808
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- ldr r1, _0804C90C @ =0x086AD2EE
- ldr r6, _0804C910 @ =0x020314E0
- ldr r5, [r6]
- ldr r2, _0804C914 @ =0x000001ED
- adds r0, r5, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #3
- adds r1, #4
- adds r0, r0, r1
- ldr r4, _0804C918 @ =0x040000D4
- movs r2, #0
- ldrsh r1, [r0, r2]
- lsls r0, r1, #3
- adds r0, r0, r1
- lsls r0, r0, #7
- ldr r1, _0804C91C @ =0x084FB68C
- adds r0, r0, r1
- str r0, [r4]
- ldr r0, _0804C920 @ =0x060122A0
- str r0, [r4, #4]
- ldr r0, _0804C924 @ =0x80000240
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, _0804C928 @ =gMain
- ldr r0, [r0, #0x4c]
- movs r1, #0x32
- bl __umodsi3
- movs r1, #0x19
- bl __udivsi3
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- lsls r1, r0, #1
- adds r1, r1, r0
- lsls r1, r1, #8
- ldr r2, _0804C92C @ =0x083C3C2C
- adds r1, r1, r2
- str r1, [r4]
- ldr r1, _0804C930 @ =0x06012720
- str r1, [r4, #4]
- ldr r1, _0804C934 @ =0x80000180
- str r1, [r4, #8]
- ldr r1, [r4, #8]
- ldr r1, _0804C938 @ =0x000002F5
- adds r5, r5, r1
- movs r2, #0
- ldrsb r2, [r5, r2]
- lsls r1, r2, #2
- adds r1, r1, r2
- lsls r1, r1, #2
- subs r1, r1, r2
- lsls r1, r1, #5
- ldr r2, _0804C93C @ =0x084F5ACC
- adds r1, r1, r2
- str r1, [r4]
- ldr r1, _0804C940 @ =0x06012C20
- str r1, [r4, #4]
- ldr r1, _0804C944 @ =0x80000130
- str r1, [r4, #8]
- ldr r1, [r4, #8]
- movs r2, #0
- mov ip, r6
- ldr r1, _0804C948 @ =0x084ED0CC
- mov r8, r1
- ldr r1, _0804C94C @ =0x08449D8C
- mov sb, r1
- ldr r1, _0804C950 @ =0x086AD456
- mov sl, r1
- lsls r0, r0, #8
- ldr r1, _0804C954 @ =0x083C806C
- adds r3, r0, r1
- movs r7, #0xba
- lsls r7, r7, #1
- ldr r6, _0804C958 @ =0x06010000
- ldr r5, _0804C95C @ =0x80000080
-_0804C8AE:
- str r3, [r4]
- lsls r0, r2, #0x10
- asrs r0, r0, #0x10
- lsls r1, r0, #3
- adds r1, r1, r7
- lsls r1, r1, #5
- adds r1, r1, r6
- str r1, [r4, #4]
- str r5, [r4, #8]
- ldr r1, [r4, #8]
- adds r0, #1
- lsls r0, r0, #0x10
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #1
- ble _0804C8AE
- mov r2, ip
- ldr r0, [r2]
- ldr r1, _0804C960 @ =0x000002F1
- adds r0, r0, r1
- ldrb r0, [r0]
- movs r1, #0xf
- ldr r2, _0804C918 @ =0x040000D4
- ands r1, r0
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #7
- add r0, r8
- str r0, [r2]
- ldr r0, _0804C964 @ =0x06013180
- str r0, [r2, #4]
- ldr r0, _0804C968 @ =0x800000C0
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- mov r2, ip
- ldr r1, [r2]
- ldr r2, _0804C96C @ =0x000002DA
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #2
- bgt _0804C974
- ldr r0, _0804C970 @ =0x00000746
- adds r1, r1, r0
- movs r0, #0
- b _0804C97A
- .align 2, 0
-_0804C90C: .4byte 0x086AD2EE
-_0804C910: .4byte 0x020314E0
-_0804C914: .4byte 0x000001ED
-_0804C918: .4byte 0x040000D4
-_0804C91C: .4byte 0x084FB68C
-_0804C920: .4byte 0x060122A0
-_0804C924: .4byte 0x80000240
-_0804C928: .4byte gMain
-_0804C92C: .4byte 0x083C3C2C
-_0804C930: .4byte 0x06012720
-_0804C934: .4byte 0x80000180
-_0804C938: .4byte 0x000002F5
-_0804C93C: .4byte 0x084F5ACC
-_0804C940: .4byte 0x06012C20
-_0804C944: .4byte 0x80000130
-_0804C948: .4byte 0x084ED0CC
-_0804C94C: .4byte 0x08449D8C
-_0804C950: .4byte 0x086AD456
-_0804C954: .4byte 0x083C806C
-_0804C958: .4byte 0x06010000
-_0804C95C: .4byte 0x80000080
-_0804C960: .4byte 0x000002F1
-_0804C964: .4byte 0x06013180
-_0804C968: .4byte 0x800000C0
-_0804C96C: .4byte 0x000002DA
-_0804C970: .4byte 0x00000746
-_0804C974:
- ldr r2, _0804C9F8 @ =0x00000746
- adds r1, r1, r2
- movs r0, #1
-_0804C97A:
- strb r0, [r1]
- ldr r4, _0804C9FC @ =0x040000D4
- mov r1, ip
- ldr r0, [r1]
- ldr r2, _0804C9F8 @ =0x00000746
- adds r0, r0, r2
- ldrb r1, [r0]
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r0, r0, #7
- add r0, sb
- str r0, [r4]
- ldr r0, _0804CA00 @ =0x06013300
- str r0, [r4, #4]
- ldr r0, _0804CA04 @ =0x80000140
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- mov r0, ip
- ldr r5, [r0]
- movs r1, #0xda
- lsls r1, r1, #1
- adds r0, r5, r1
- ldrh r0, [r0]
- movs r1, #0x2a
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #6
- bl __udivsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0xf
- ldr r2, _0804CA08 @ =0x000001A5
- adds r1, r5, r2
- movs r2, #0
- ldrsb r2, [r1, r2]
- lsls r1, r2, #3
- subs r1, r1, r2
- lsls r1, r1, #1
- adds r0, r0, r1
- add r0, sl
- movs r2, #0
- ldrsh r1, [r0, r2]
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r0, r0, #8
- ldr r1, _0804CA0C @ =0x084F6B0C
- adds r0, r0, r1
- str r0, [r4]
- ldr r0, _0804CA10 @ =0x06013D00
- str r0, [r4, #4]
- ldr r0, _0804CA14 @ =0x80000280
- str r0, [r4, #8]
- ldr r0, [r4, #8]
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804C9F8: .4byte 0x00000746
-_0804C9FC: .4byte 0x040000D4
-_0804CA00: .4byte 0x06013300
-_0804CA04: .4byte 0x80000140
-_0804CA08: .4byte 0x000001A5
-_0804CA0C: .4byte 0x084F6B0C
-_0804CA10: .4byte 0x06013D00
-_0804CA14: .4byte 0x80000280
-
- thumb_func_start sub_4CA18
-sub_4CA18: @ 0x0804CA18
- ldr r1, _0804CA38 @ =0x020314E0
- ldr r0, [r1]
- ldr r2, _0804CA3C @ =0x00000346
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r2, r1, #0
- cmp r0, #6
- bhi _0804CACE
- lsls r0, r0, #2
- ldr r1, _0804CA40 @ =_0804CA44
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804CA38: .4byte 0x020314E0
-_0804CA3C: .4byte 0x00000346
-_0804CA40: .4byte _0804CA44
-_0804CA44: @ jump table
- .4byte _0804CA60 @ case 0
- .4byte _0804CA60 @ case 1
- .4byte _0804CA60 @ case 2
- .4byte _0804CA78 @ case 3
- .4byte _0804CA78 @ case 4
- .4byte _0804CAA0 @ case 5
- .4byte _0804CACE @ case 6
-_0804CA60:
- ldr r0, [r2]
- ldr r3, _0804CA70 @ =0x00000345
- adds r0, r0, r3
- ldr r2, _0804CA74 @ =0x040000D4
- movs r1, #0
- ldrsb r1, [r0, r1]
- b _0804CAB8
- .align 2, 0
-_0804CA70: .4byte 0x00000345
-_0804CA74: .4byte 0x040000D4
-_0804CA78:
- ldr r1, _0804CA90 @ =0x040000D4
- ldr r0, _0804CA94 @ =0x08490A4C
- movs r2, #0xff
- lsls r2, r2, #6
- adds r0, r0, r2
- str r0, [r1]
- ldr r0, _0804CA98 @ =0x0600D900
- str r0, [r1, #4]
- ldr r0, _0804CA9C @ =0x80000220
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- b _0804CACE
- .align 2, 0
-_0804CA90: .4byte 0x040000D4
-_0804CA94: .4byte 0x08490A4C
-_0804CA98: .4byte 0x0600D900
-_0804CA9C: .4byte 0x80000220
-_0804CAA0:
- ldr r1, _0804CAD0 @ =0x086AE5A0
- ldr r0, [r2]
- ldr r3, _0804CAD4 @ =0x00000345
- adds r0, r0, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #2
- adds r0, r0, r1
- ldr r2, _0804CAD8 @ =0x040000D4
- movs r3, #0
- ldrsh r1, [r0, r3]
-_0804CAB8:
- lsls r0, r1, #4
- adds r0, r0, r1
- lsls r0, r0, #6
- ldr r1, _0804CADC @ =0x08490A4C
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _0804CAE0 @ =0x0600D900
- str r0, [r2, #4]
- ldr r0, _0804CAE4 @ =0x80000220
- str r0, [r2, #8]
- ldr r0, [r2, #8]
-_0804CACE:
- bx lr
- .align 2, 0
-_0804CAD0: .4byte 0x086AE5A0
-_0804CAD4: .4byte 0x00000345
-_0804CAD8: .4byte 0x040000D4
-_0804CADC: .4byte 0x08490A4C
-_0804CAE0: .4byte 0x0600D900
-_0804CAE4: .4byte 0x80000220
-
- thumb_func_start sub_4CAE8
-sub_4CAE8: @ 0x0804CAE8
- ldr r1, _0804CAFC @ =0x040000D4
- ldr r0, _0804CB00 @ =0x08138834
- str r0, [r1]
- ldr r0, _0804CB04 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804CB08 @ =0x80001000
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- bx lr
- .align 2, 0
-_0804CAFC: .4byte 0x040000D4
-_0804CB00: .4byte 0x08138834
-_0804CB04: .4byte 0x06015800
-_0804CB08: .4byte 0x80001000
-
- thumb_func_start sub_4CB0C
-sub_4CB0C: @ 0x0804CB0C
- ldr r1, _0804CB20 @ =0x040000D4
- ldr r0, _0804CB24 @ =0x0813A854
- str r0, [r1]
- ldr r0, _0804CB28 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804CB2C @ =0x80001000
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- bx lr
- .align 2, 0
-_0804CB20: .4byte 0x040000D4
-_0804CB24: .4byte 0x0813A854
-_0804CB28: .4byte 0x06015800
-_0804CB2C: .4byte 0x80001000
-
- thumb_func_start sub_4CB30
-sub_4CB30: @ 0x0804CB30
- push {r4, r5, r6, lr}
- mov r6, r8
- push {r6}
- ldr r5, _0804CB90 @ =0x040000D4
- ldr r0, _0804CB94 @ =0x0813C874
- str r0, [r5]
- ldr r0, _0804CB98 @ =0x06015800
- str r0, [r5, #4]
- ldr r0, _0804CB9C @ =0x80001000
- str r0, [r5, #8]
- ldr r0, [r5, #8]
- ldr r0, _0804CBA0 @ =gMonPortraitGroupGfx
- mov r8, r0
- ldr r0, _0804CBA4 @ =0x020314E0
- ldr r0, [r0]
- ldr r1, _0804CBA8 @ =0x00000749
- adds r0, r0, r1
- ldrb r6, [r0]
- adds r0, r6, #0
- movs r1, #0xf
- bl __udivsi3
- adds r4, r0, #0
- lsls r4, r4, #0x18
- lsrs r4, r4, #0x16
- add r4, r8
- adds r0, r6, #0
- movs r1, #0xf
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- lsls r1, r0, #1
- adds r1, r1, r0
- lsls r1, r1, #8
- ldr r0, [r4]
- adds r0, r0, r1
- str r0, [r5]
- ldr r0, _0804CBAC @ =0x06010CA0
- str r0, [r5, #4]
- ldr r0, _0804CBB0 @ =0x80000180
- str r0, [r5, #8]
- ldr r0, [r5, #8]
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804CB90: .4byte 0x040000D4
-_0804CB94: .4byte 0x0813C874
-_0804CB98: .4byte 0x06015800
-_0804CB9C: .4byte 0x80001000
-_0804CBA0: .4byte gMonPortraitGroupGfx
-_0804CBA4: .4byte 0x020314E0
-_0804CBA8: .4byte 0x00000749
-_0804CBAC: .4byte 0x06010CA0
-_0804CBB0: .4byte 0x80000180
-
- thumb_func_start sub_4CBB4
-sub_4CBB4: @ 0x0804CBB4
- push {r4, r5, r6, lr}
- mov r6, r8
- push {r6}
- ldr r0, _0804CBD0 @ =0x020314E0
- ldr r1, [r0]
- ldrb r1, [r1, #0x13]
- lsls r1, r1, #0x18
- asrs r1, r1, #0x18
- adds r2, r0, #0
- cmp r1, #1
- bgt _0804CBDC
- ldr r1, _0804CBD4 @ =0x040000D4
- ldr r0, _0804CBD8 @ =0x0849F1CC
- b _0804CBE0
- .align 2, 0
-_0804CBD0: .4byte 0x020314E0
-_0804CBD4: .4byte 0x040000D4
-_0804CBD8: .4byte 0x0849F1CC
-_0804CBDC:
- ldr r1, _0804CC38 @ =0x040000D4
- ldr r0, _0804CC3C @ =0x0813E894
-_0804CBE0:
- str r0, [r1]
- ldr r0, _0804CC40 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804CC44 @ =0x80001000
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldr r6, _0804CC38 @ =0x040000D4
- ldr r0, _0804CC48 @ =gMonPortraitGroupGfx
- mov r8, r0
- ldr r0, [r2]
- ldr r1, _0804CC4C @ =0x00000749
- adds r0, r0, r1
- ldrb r5, [r0]
- adds r0, r5, #0
- movs r1, #0xf
- bl __udivsi3
- adds r4, r0, #0
- lsls r4, r4, #0x18
- lsrs r4, r4, #0x16
- add r4, r8
- adds r0, r5, #0
- movs r1, #0xf
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- lsls r1, r0, #1
- adds r1, r1, r0
- lsls r1, r1, #8
- ldr r0, [r4]
- adds r0, r0, r1
- str r0, [r6]
- ldr r0, _0804CC50 @ =0x06010CA0
- str r0, [r6, #4]
- ldr r0, _0804CC54 @ =0x80000180
- str r0, [r6, #8]
- ldr r0, [r6, #8]
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804CC38: .4byte 0x040000D4
-_0804CC3C: .4byte 0x0813E894
-_0804CC40: .4byte 0x06015800
-_0804CC44: .4byte 0x80001000
-_0804CC48: .4byte gMonPortraitGroupGfx
-_0804CC4C: .4byte 0x00000749
-_0804CC50: .4byte 0x06010CA0
-_0804CC54: .4byte 0x80000180
-
- thumb_func_start sub_4CC58
-sub_4CC58: @ 0x0804CC58
- push {r4, r5, r6, lr}
- mov r6, r8
- push {r6}
- ldr r1, _0804CC7C @ =0x020314E0
- ldr r0, [r1]
- ldrb r0, [r0, #0x13]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r2, r1, #0
- cmp r0, #0
- bne _0804CC90
- ldr r1, _0804CC80 @ =0x040000D4
- ldr r0, _0804CC84 @ =0x083C5A2C
- str r0, [r1]
- ldr r0, _0804CC88 @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804CC8C @ =0x80001400
- b _0804CCC0
- .align 2, 0
-_0804CC7C: .4byte 0x020314E0
-_0804CC80: .4byte 0x040000D4
-_0804CC84: .4byte 0x083C5A2C
-_0804CC88: .4byte 0x06015800
-_0804CC8C: .4byte 0x80001400
-_0804CC90:
- cmp r0, #1
- bne _0804CCB4
- ldr r1, _0804CCA4 @ =0x040000D4
- ldr r0, _0804CCA8 @ =0x084A856C
- str r0, [r1]
- ldr r0, _0804CCAC @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804CCB0 @ =0x80000E00
- b _0804CCC0
- .align 2, 0
-_0804CCA4: .4byte 0x040000D4
-_0804CCA8: .4byte 0x084A856C
-_0804CCAC: .4byte 0x06015800
-_0804CCB0: .4byte 0x80000E00
-_0804CCB4:
- ldr r1, _0804CD34 @ =0x040000D4
- ldr r0, _0804CD38 @ =0x081408B4
- str r0, [r1]
- ldr r0, _0804CD3C @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804CD40 @ =0x80001000
-_0804CCC0:
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldr r0, [r2]
- movs r1, #0xf7
- lsls r1, r1, #2
- adds r0, r0, r1
- ldrb r0, [r0]
- subs r0, #2
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- cmp r0, #9
- bls _0804CCE8
- ldr r1, _0804CD34 @ =0x040000D4
- ldr r0, _0804CD44 @ =0x084AA18C
- str r0, [r1]
- ldr r0, _0804CD48 @ =0x06011620
- str r0, [r1, #4]
- ldr r0, _0804CD4C @ =0x80000430
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804CCE8:
- ldr r6, _0804CD34 @ =0x040000D4
- ldr r0, _0804CD50 @ =gMonPortraitGroupGfx
- mov r8, r0
- ldr r0, [r2]
- ldr r1, _0804CD54 @ =0x00000749
- adds r0, r0, r1
- ldrb r5, [r0]
- adds r0, r5, #0
- movs r1, #0xf
- bl __udivsi3
- adds r4, r0, #0
- lsls r4, r4, #0x18
- lsrs r4, r4, #0x16
- add r4, r8
- adds r0, r5, #0
- movs r1, #0xf
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- lsls r1, r0, #1
- adds r1, r1, r0
- lsls r1, r1, #8
- ldr r0, [r4]
- adds r0, r0, r1
- str r0, [r6]
- ldr r0, _0804CD58 @ =0x06010CA0
- str r0, [r6, #4]
- ldr r0, _0804CD5C @ =0x80000180
- str r0, [r6, #8]
- ldr r0, [r6, #8]
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804CD34: .4byte 0x040000D4
-_0804CD38: .4byte 0x081408B4
-_0804CD3C: .4byte 0x06015800
-_0804CD40: .4byte 0x80001000
-_0804CD44: .4byte 0x084AA18C
-_0804CD48: .4byte 0x06011620
-_0804CD4C: .4byte 0x80000430
-_0804CD50: .4byte gMonPortraitGroupGfx
-_0804CD54: .4byte 0x00000749
-_0804CD58: .4byte 0x06010CA0
-_0804CD5C: .4byte 0x80000180
-
- thumb_func_start sub_4CD60
-sub_4CD60: @ 0x0804CD60
- push {r4, r5, r6, r7, lr}
- mov r7, sb
- mov r6, r8
- push {r6, r7}
- movs r2, #0
- ldr r3, _0804CE5C @ =0x03006400
- ldr r6, _0804CE60 @ =gMain
- movs r0, #0x80
- lsls r0, r0, #4
- adds r0, r0, r3
- mov r8, r0
- ldr r1, _0804CE64 @ =0x084B77EC
- mov sb, r1
- ldr r0, _0804CE68 @ =0xFFFFF800
- adds r0, r0, r3
- mov ip, r0
- movs r7, #0x80
- lsls r7, r7, #3
- movs r5, #0x80
- lsls r5, r5, #2
- ldr r4, _0804CE6C @ =0x000007FF
-_0804CD8A:
- lsls r1, r2, #0x10
- asrs r1, r1, #0x10
- adds r0, r1, r7
- lsls r0, r0, #1
- add r0, ip
- strh r5, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r2, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, r4
- ble _0804CD8A
- ldr r1, _0804CE70 @ =0x040000D4
- str r3, [r1]
- ldr r0, _0804CE74 @ =0x06001000
- str r0, [r1, #4]
- ldr r0, _0804CE78 @ =0x80000800
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldrh r0, [r6, #0x38]
- ldr r0, _0804CE7C @ =0x00001C42
- strh r0, [r6, #0x38]
- ldrh r0, [r6, #0x3a]
- ldr r0, _0804CE80 @ =0x00000C04
- strh r0, [r6, #0x3a]
- movs r2, #0
- ldr r1, _0804CE68 @ =0xFFFFF800
- adds r4, r3, r1
- ldr r3, _0804CE84 @ =0x0000013F
-_0804CDC4:
- lsls r0, r2, #0x10
- asrs r2, r0, #0x10
- adds r0, r2, #0
- cmp r2, #0
- bge _0804CDD0
- adds r0, #0x1f
-_0804CDD0:
- asrs r0, r0, #5
- lsls r0, r0, #5
- subs r0, r2, r0
- subs r0, #2
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0x1b
- bhi _0804CDF0
- movs r1, #0x80
- lsls r1, r1, #4
- adds r0, r2, r1
- lsls r0, r0, #1
- adds r0, r0, r4
- movs r1, #0x90
- lsls r1, r1, #8
- strh r1, [r0]
-_0804CDF0:
- adds r0, r2, #1
- lsls r0, r0, #0x10
- lsrs r2, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, r3
- ble _0804CDC4
- movs r0, #0xbb
- lsls r0, r0, #2
- adds r1, r6, r0
- movs r0, #8
- strh r0, [r1]
- ldr r0, _0804CE88 @ =0x000002EE
- adds r1, r6, r0
- movs r0, #0x7e
- strh r0, [r1]
- ldr r1, _0804CE70 @ =0x040000D4
- mov r0, r8
- str r0, [r1]
- ldr r0, _0804CE8C @ =0x06001140
- str r0, [r1, #4]
- ldr r0, _0804CE90 @ =0x80000140
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- movs r2, #0
- ldr r5, _0804CE94 @ =0xFFFFF000
- add r5, r8
- ldr r4, _0804CE98 @ =0x000001FF
- ldr r3, _0804CE6C @ =0x000007FF
-_0804CE28:
- lsls r1, r2, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #1
- adds r0, r0, r5
- strh r4, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r2, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, r3
- ble _0804CE28
- ldr r1, _0804CE70 @ =0x040000D4
- mov r0, sb
- str r0, [r1]
- ldr r0, _0804CE9C @ =0x06015800
- str r0, [r1, #4]
- ldr r0, _0804CEA0 @ =0x80000400
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- pop {r3, r4}
- mov r8, r3
- mov sb, r4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804CE5C: .4byte 0x03006400
-_0804CE60: .4byte gMain
-_0804CE64: .4byte 0x084B77EC
-_0804CE68: .4byte 0xFFFFF800
-_0804CE6C: .4byte 0x000007FF
-_0804CE70: .4byte 0x040000D4
-_0804CE74: .4byte 0x06001000
-_0804CE78: .4byte 0x80000800
-_0804CE7C: .4byte 0x00001C42
-_0804CE80: .4byte 0x00000C04
-_0804CE84: .4byte 0x0000013F
-_0804CE88: .4byte 0x000002EE
-_0804CE8C: .4byte 0x06001140
-_0804CE90: .4byte 0x80000140
-_0804CE94: .4byte 0xFFFFF000
-_0804CE98: .4byte 0x000001FF
-_0804CE9C: .4byte 0x06015800
-_0804CEA0: .4byte 0x80000400
-
- thumb_func_start nullsub_18
-nullsub_18: @ 0x0804CEA4
- bx lr
-
- thumb_func_start sub_4CEA8
-sub_4CEA8: @ 0x0804CEA8
- push {lr}
- bl sub_4CEB4
- pop {r0}
- bx r0
-
- thumb_func_start sub_4CEB4
-sub_4CEB4: @ 0x0804CEB4
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #0x18
- bl sub_4D3D0
- ldr r5, _0804CF34 @ =0x020314E0
- ldr r2, [r5]
- ldr r1, _0804CF38 @ =0x000005F6
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #1
- ldr r1, [r2, #0x3c]
- muls r1, r0, r1
- ldr r0, [r2, #0x40]
- adds r3, r0, r1
- str r3, [r2, #0x40]
- ldrb r1, [r2, #0x1c]
- cmp r1, #0
- beq _0804CF56
- ldrb r0, [r2, #5]
- ldr r4, _0804CF3C @ =gMain
- cmp r0, #0
- bne _0804CEF6
- ldrh r1, [r4, #0x18]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _0804CF08
-_0804CEF6:
- ldr r0, [r2, #0x44]
- adds r0, r0, r3
- str r0, [r2, #0x44]
- movs r0, #0
- str r0, [r2, #0x40]
- strb r0, [r2, #0x1c]
- ldr r1, [r5]
- ldr r0, _0804CF40 @ =0x00009C40
- str r0, [r1, #0x38]
-_0804CF08:
- ldr r5, [r4, #0x4c]
- movs r0, #1
- ands r5, r0
- cmp r5, #0
- bne _0804CF5E
- ldr r1, _0804CF34 @ =0x020314E0
- ldr r2, [r1]
- ldr r4, [r2, #0x40]
- cmp r4, #0
- beq _0804CF5E
- ldr r3, [r2, #0x38]
- cmp r4, r3
- bhi _0804CF44
- ldr r0, [r2, #0x44]
- adds r0, r0, r4
- str r0, [r2, #0x44]
- str r5, [r2, #0x40]
- strb r5, [r2, #0x1c]
- ldr r1, [r1]
- ldr r0, _0804CF40 @ =0x00009C40
- str r0, [r1, #0x38]
- b _0804CF5E
- .align 2, 0
-_0804CF34: .4byte 0x020314E0
-_0804CF38: .4byte 0x000005F6
-_0804CF3C: .4byte gMain
-_0804CF40: .4byte 0x00009C40
-_0804CF44:
- ldr r0, [r2, #0x44]
- adds r0, r0, r3
- str r0, [r2, #0x44]
- subs r0, r4, r3
- str r0, [r2, #0x40]
- movs r0, #0x91
- bl m4aSongNumStart
- b _0804CF5E
-_0804CF56:
- ldr r0, [r2, #0x44]
- adds r0, r0, r3
- str r0, [r2, #0x44]
- str r1, [r2, #0x40]
-_0804CF5E:
- ldr r4, _0804CF84 @ =0x020314E0
- ldr r6, [r4]
- ldr r7, [r6, #0x44]
- ldr r1, _0804CF88 @ =0x05F5E100
- adds r0, r7, #0
- bl __udivsi3
- mov sb, r4
- cmp r0, #0
- beq _0804CF9C
- ldr r1, [r6, #0x48]
- ldr r0, _0804CF8C @ =0x0000270E
- cmp r1, r0
- bhi _0804CF94
- adds r0, r1, #1
- str r0, [r6, #0x48]
- ldr r2, _0804CF90 @ =0xFA0A1F00
- adds r0, r7, r2
- b _0804CF9A
- .align 2, 0
-_0804CF84: .4byte 0x020314E0
-_0804CF88: .4byte 0x05F5E100
-_0804CF8C: .4byte 0x0000270E
-_0804CF90: .4byte 0xFA0A1F00
-_0804CF94:
- ldr r0, _0804D2EC @ =0x0000270F
- str r0, [r6, #0x48]
- ldr r0, _0804D2F0 @ =0x05F5E0FF
-_0804CF9A:
- str r0, [r6, #0x44]
-_0804CF9C:
- mov r7, sb
- ldr r5, [r7]
- movs r0, #0
- str r0, [r5, #0x3c]
- ldr r7, [r5, #0x48]
- mov r4, sp
- ldr r0, _0804D2F4 @ =0x00002710
- mov r8, r0
- adds r0, r7, #0
- mov r1, r8
- bl __umodsi3
- movs r6, #0xfa
- lsls r6, r6, #2
- adds r1, r6, #0
- bl __udivsi3
- adds r0, #5
- strh r0, [r4]
- mov r4, sp
- adds r0, r7, #0
- adds r1, r6, #0
- bl __umodsi3
- movs r1, #0x64
- bl __udivsi3
- adds r0, #5
- strh r0, [r4, #2]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0x64
- bl __umodsi3
- movs r1, #0xa
- bl __udivsi3
- adds r0, #0x13
- strh r0, [r4, #4]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __umodsi3
- adds r0, #5
- strh r0, [r4, #6]
- ldr r7, [r5, #0x44]
- mov r5, sp
- ldr r4, _0804D2F8 @ =0x00989680
- adds r0, r7, #0
- adds r1, r4, #0
- bl __udivsi3
- adds r0, #5
- strh r0, [r5, #8]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __umodsi3
- ldr r4, _0804D2FC @ =0x000F4240
- adds r1, r4, #0
- bl __udivsi3
- adds r0, #0x13
- strh r0, [r5, #0xa]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __umodsi3
- ldr r4, _0804D300 @ =0x000186A0
- adds r1, r4, #0
- bl __udivsi3
- adds r0, #5
- strh r0, [r5, #0xc]
- mov r5, sp
- adds r0, r7, #0
- adds r1, r4, #0
- bl __umodsi3
- mov r1, r8
- bl __udivsi3
- adds r0, #5
- strh r0, [r5, #0xe]
- mov r4, sp
- adds r0, r7, #0
- mov r1, r8
- bl __umodsi3
- adds r1, r6, #0
- bl __udivsi3
- adds r0, #0x13
- strh r0, [r4, #0x10]
- mov r4, sp
- adds r0, r7, #0
- adds r1, r6, #0
- bl __umodsi3
- movs r1, #0x64
- bl __udivsi3
- adds r0, #5
- strh r0, [r4, #0x12]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0x64
- bl __umodsi3
- movs r1, #0xa
- bl __udivsi3
- adds r0, #5
- strh r0, [r4, #0x14]
- mov r4, sp
- adds r0, r7, #0
- movs r1, #0xa
- bl __umodsi3
- adds r0, #5
- strh r0, [r4, #0x16]
- movs r3, #0
- ldr r1, _0804D304 @ =0x03005C00
- mov sl, r1
- movs r4, #0x1e
-_0804D09C:
- lsls r0, r3, #0x10
- asrs r2, r0, #0x10
- lsls r0, r2, #1
- mov r5, sp
- adds r1, r5, r0
- movs r7, #0
- ldrsh r0, [r1, r7]
- cmp r0, #5
- beq _0804D0B2
- cmp r0, #0x13
- bne _0804D0C0
-_0804D0B2:
- strh r4, [r1]
- adds r0, r2, #1
- lsls r0, r0, #0x10
- lsrs r3, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #4
- ble _0804D09C
-_0804D0C0:
- lsls r1, r3, #0x10
- adds r3, r1, #0
- asrs r0, r3, #0x10
- cmp r0, #0xb
- bgt _0804D10A
- ldr r5, _0804D304 @ =0x03005C00
- asrs r6, r1, #0x10
-_0804D0CE:
- asrs r3, r3, #0x10
- subs r1, r3, r6
- ldr r0, _0804D308 @ =0x000007C1
- adds r2, r1, r0
- lsls r2, r2, #1
- adds r2, r2, r5
- lsls r0, r3, #1
- mov r7, sp
- adds r4, r7, r0
- movs r7, #0
- ldrsh r0, [r4, r7]
- lsls r0, r0, #1
- ldr r7, _0804D30C @ =0xFFFFC160
- adds r0, r0, r7
- strh r0, [r2]
- ldr r0, _0804D310 @ =0x000007E1
- adds r1, r1, r0
- lsls r1, r1, #1
- adds r1, r1, r5
- movs r2, #0
- ldrsh r0, [r4, r2]
- lsls r0, r0, #1
- adds r7, #1
- adds r0, r0, r7
- strh r0, [r1]
- adds r3, #1
- lsls r3, r3, #0x10
- asrs r0, r3, #0x10
- cmp r0, #0xb
- ble _0804D0CE
-_0804D10A:
- mov r1, sb
- ldr r0, [r1]
- movs r3, #0xbe
- lsls r3, r3, #3
- adds r2, r0, r3
- ldrh r0, [r2]
- ldr r1, _0804D314 @ =0x000003E7
- cmp r0, r1
- bls _0804D11E
- strh r1, [r2]
-_0804D11E:
- mov r5, sp
- mov r2, sb
- ldr r4, [r2]
- adds r4, r4, r3
- ldrh r0, [r4]
- movs r1, #0x64
- bl __udivsi3
- strh r0, [r5, #4]
- mov r5, sp
- ldrh r0, [r4]
- movs r1, #0x64
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #0xa
- bl __udivsi3
- strh r0, [r5, #2]
- mov r5, sp
- ldrh r0, [r4]
- movs r1, #0xa
- bl __umodsi3
- strh r0, [r5]
- mov r6, sl
- ldr r5, _0804D318 @ =0x00000FA2
- adds r1, r6, r5
- ldr r0, _0804D31C @ =0x0000C17E
- strh r0, [r1]
- ldr r7, _0804D320 @ =0x00000FE2
- adds r1, r6, r7
- adds r0, #1
- strh r0, [r1]
- mov r0, sp
- movs r1, #4
- ldrsh r0, [r0, r1]
- adds r0, #5
- lsls r0, r0, #1
- ldr r2, _0804D30C @ =0xFFFFC160
- adds r7, r2, #0
- adds r0, r0, r7
- adds r5, #2
- adds r1, r6, r5
- strh r0, [r1]
- mov r0, sp
- movs r1, #4
- ldrsh r0, [r0, r1]
- adds r0, #5
- lsls r0, r0, #1
- adds r2, #1
- mov r8, r2
- add r0, r8
- adds r5, #0x40
- adds r1, r6, r5
- strh r0, [r1]
- mov r0, sp
- movs r1, #2
- ldrsh r0, [r0, r1]
- adds r0, #5
- lsls r0, r0, #1
- adds r0, r0, r7
- ldr r2, _0804D324 @ =0x00000FA6
- adds r1, r6, r2
- strh r0, [r1]
- mov r0, sp
- movs r5, #2
- ldrsh r0, [r0, r5]
- adds r0, #5
- lsls r0, r0, #1
- add r0, r8
- adds r2, #0x40
- adds r1, r6, r2
- strh r0, [r1]
- mov r0, sp
- movs r5, #0
- ldrsh r0, [r0, r5]
- adds r0, #5
- lsls r0, r0, #1
- adds r0, r0, r7
- subs r2, #0x3e
- adds r1, r6, r2
- strh r0, [r1]
- mov r0, sp
- movs r5, #0
- ldrsh r0, [r0, r5]
- adds r0, #5
- lsls r0, r0, #1
- add r0, r8
- adds r2, #0x40
- adds r1, r6, r2
- strh r0, [r1]
- mov r5, sb
- ldr r0, [r5]
- movs r2, #0xc9
- lsls r2, r2, #1
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, #0x63
- bls _0804D1EC
- movs r0, #0x63
- strb r0, [r1]
-_0804D1EC:
- mov r5, sp
- mov r0, sb
- ldr r4, [r0]
- adds r4, r4, r2
- ldrb r0, [r4]
- movs r1, #0xa
- bl __udivsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- strh r0, [r5, #2]
- mov r5, sp
- ldrb r0, [r4]
- movs r1, #0xa
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- strh r0, [r5]
- ldr r2, _0804D328 @ =0x00000FAC
- adds r1, r6, r2
- ldr r0, _0804D32C @ =0x0000C19C
- strh r0, [r1]
- ldr r5, _0804D330 @ =0x00000FEC
- adds r1, r6, r5
- adds r0, #1
- strh r0, [r1]
- mov r0, sp
- movs r1, #2
- ldrsh r0, [r0, r1]
- adds r0, #5
- lsls r0, r0, #1
- adds r0, r0, r7
- adds r2, #2
- adds r1, r6, r2
- strh r0, [r1]
- mov r0, sp
- movs r5, #2
- ldrsh r0, [r0, r5]
- adds r0, #5
- lsls r0, r0, #1
- add r0, r8
- adds r2, #0x40
- adds r1, r6, r2
- strh r0, [r1]
- mov r0, sp
- movs r5, #0
- ldrsh r0, [r0, r5]
- adds r0, #5
- lsls r0, r0, #1
- adds r0, r0, r7
- subs r2, #0x3e
- adds r1, r6, r2
- strh r0, [r1]
- mov r0, sp
- movs r5, #0
- ldrsh r0, [r0, r5]
- adds r0, #5
- lsls r0, r0, #1
- add r0, r8
- adds r2, #0x40
- adds r1, r6, r2
- strh r0, [r1]
- mov r5, sb
- ldr r0, [r5]
- adds r1, r0, #0
- adds r1, #0x30
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #9
- ble _0804D27E
- movs r0, #9
- strb r0, [r1]
-_0804D27E:
- ldr r0, _0804D334 @ =0x00000FB4
- adds r1, r6, r0
- ldr r0, _0804D338 @ =0x0000C180
- strh r0, [r1]
- ldr r2, _0804D33C @ =0x00000FF4
- adds r1, r6, r2
- adds r0, #1
- strh r0, [r1]
- mov r5, sb
- ldr r0, [r5]
- adds r0, #0x30
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #5
- lsls r0, r0, #1
- adds r0, r0, r7
- ldr r7, _0804D340 @ =0x00000FB6
- adds r1, r6, r7
- strh r0, [r1]
- ldr r0, [r5]
- adds r0, #0x30
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r0, #5
- lsls r0, r0, #1
- add r0, r8
- adds r2, #2
- adds r1, r6, r2
- strh r0, [r1]
- ldr r1, [r5]
- movs r5, #0xe5
- lsls r5, r5, #1
- adds r0, r1, r5
- movs r7, #0
- ldrsh r0, [r0, r7]
- cmp r0, #0xd
- bne _0804D384
- movs r2, #0xee
- lsls r2, r2, #1
- adds r0, r1, r2
- ldrh r1, [r0]
- movs r0, #8
- ands r0, r1
- cmp r0, #0
- beq _0804D350
- ldr r5, _0804D344 @ =0x00000FBA
- adds r1, r6, r5
- ldr r0, _0804D348 @ =0x0000C19A
- strh r0, [r1]
- ldr r7, _0804D34C @ =0x00000FFA
- adds r1, r6, r7
- b _0804D35C
- .align 2, 0
-_0804D2EC: .4byte 0x0000270F
-_0804D2F0: .4byte 0x05F5E0FF
-_0804D2F4: .4byte 0x00002710
-_0804D2F8: .4byte 0x00989680
-_0804D2FC: .4byte 0x000F4240
-_0804D300: .4byte 0x000186A0
-_0804D304: .4byte 0x03005C00
-_0804D308: .4byte 0x000007C1
-_0804D30C: .4byte 0xFFFFC160
-_0804D310: .4byte 0x000007E1
-_0804D314: .4byte 0x000003E7
-_0804D318: .4byte 0x00000FA2
-_0804D31C: .4byte 0x0000C17E
-_0804D320: .4byte 0x00000FE2
-_0804D324: .4byte 0x00000FA6
-_0804D328: .4byte 0x00000FAC
-_0804D32C: .4byte 0x0000C19C
-_0804D330: .4byte 0x00000FEC
-_0804D334: .4byte 0x00000FB4
-_0804D338: .4byte 0x0000C180
-_0804D33C: .4byte 0x00000FF4
-_0804D340: .4byte 0x00000FB6
-_0804D344: .4byte 0x00000FBA
-_0804D348: .4byte 0x0000C19A
-_0804D34C: .4byte 0x00000FFA
-_0804D350:
- ldr r0, _0804D378 @ =0x00000FBA
- adds r1, r6, r0
- ldr r0, _0804D37C @ =0x0000C182
- strh r0, [r1]
- ldr r2, _0804D380 @ =0x00000FFA
- adds r1, r6, r2
-_0804D35C:
- adds r0, #1
- strh r0, [r1]
- mov r5, sb
- ldr r0, [r5]
- movs r7, #0xee
- lsls r7, r7, #1
- adds r4, r0, r7
- ldrh r0, [r4]
- cmp r0, #0
- beq _0804D394
- subs r0, #1
- strh r0, [r4]
- b _0804D394
- .align 2, 0
-_0804D378: .4byte 0x00000FBA
-_0804D37C: .4byte 0x0000C182
-_0804D380: .4byte 0x00000FFA
-_0804D384:
- ldr r1, _0804D3B4 @ =0x00000FBA
- add r1, sl
- ldr r0, _0804D3B8 @ =0x0000C19E
- strh r0, [r1]
- ldr r1, _0804D3BC @ =0x00000FFA
- add r1, sl
- adds r0, #1
- strh r0, [r1]
-_0804D394:
- ldr r1, _0804D3C0 @ =0x040000D4
- ldr r0, _0804D3C4 @ =0x03006B80
- str r0, [r1]
- ldr r0, _0804D3C8 @ =0x06002F80
- str r0, [r1, #4]
- ldr r0, _0804D3CC @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- add sp, #0x18
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804D3B4: .4byte 0x00000FBA
-_0804D3B8: .4byte 0x0000C19E
-_0804D3BC: .4byte 0x00000FFA
-_0804D3C0: .4byte 0x040000D4
-_0804D3C4: .4byte 0x03006B80
-_0804D3C8: .4byte 0x06002F80
-_0804D3CC: .4byte 0x80000040
-
- thumb_func_start sub_4D3D0
-sub_4D3D0: @ 0x0804D3D0
- push {r4, r5, r6, r7, lr}
- mov r7, sb
- mov r6, r8
- push {r6, r7}
- sub sp, #8
- ldr r1, _0804D4C8 @ =0x020314E0
- ldr r2, [r1]
- movs r3, #0xa5
- lsls r3, r3, #2
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- mov sb, r1
- cmp r0, #0
- bne _0804D3F2
- b _0804D628
-_0804D3F2:
- ldr r5, _0804D4CC @ =0x00000296
- adds r1, r2, r5
- ldrh r2, [r1]
- cmp r2, #0
- bne _0804D3FE
- b _0804D628
-_0804D3FE:
- cmp r0, #2
- bne _0804D40E
- ldr r0, _0804D4D0 @ =gMain
- ldrb r0, [r0, #0xf]
- cmp r0, #0
- bne _0804D40E
- subs r0, r2, #1
- strh r0, [r1]
-_0804D40E:
- mov r5, sp
- mov r0, sb
- ldr r6, [r0]
- ldr r1, _0804D4CC @ =0x00000296
- adds r7, r6, r1
- ldrh r0, [r7]
- movs r4, #0xe1
- lsls r4, r4, #4
- adds r1, r4, #0
- bl __udivsi3
- strh r0, [r5]
- ldrh r0, [r7]
- adds r1, r4, #0
- bl __umodsi3
- adds r4, r0, #0
- mov r1, sp
- movs r0, #0xa
- strh r0, [r1, #2]
- mov r8, sp
- lsls r4, r4, #0x10
- asrs r4, r4, #0x10
- movs r5, #0x96
- lsls r5, r5, #2
- adds r0, r4, #0
- adds r1, r5, #0
- bl __divsi3
- mov r2, r8
- strh r0, [r2, #4]
- adds r0, r4, #0
- adds r1, r5, #0
- bl __modsi3
- mov r4, sp
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- movs r1, #0x3c
- bl __divsi3
- strh r0, [r4, #6]
- movs r3, #0xa5
- lsls r3, r3, #2
- adds r6, r6, r3
- movs r0, #0
- ldrsb r0, [r6, r0]
- cmp r0, #3
- bne _0804D4F4
- movs r1, #0
- ldr r6, _0804D4D4 @ =0x03005EC0
- ldr r5, _0804D4D8 @ =0xFFFFFD40
- adds r3, r6, r5
- ldr r5, _0804D4DC @ =0x00000179
- ldr r2, _0804D4E0 @ =0x000001FF
- ldr r4, _0804D4E4 @ =0x00000199
-_0804D47E:
- lsls r0, r1, #0x10
- asrs r0, r0, #0x10
- adds r1, r0, r5
- lsls r1, r1, #1
- adds r1, r1, r3
- strh r2, [r1]
- adds r1, r0, r4
- lsls r1, r1, #1
- adds r1, r1, r3
- strh r2, [r1]
- adds r0, #1
- lsls r0, r0, #0x10
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0804D47E
- ldr r1, _0804D4E8 @ =0x040000D4
- str r6, [r1]
- ldr r0, _0804D4EC @ =0x060022C0
- str r0, [r1, #4]
- ldr r0, _0804D4F0 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- mov r1, sb
- ldr r0, [r1]
- movs r2, #0xa5
- lsls r2, r2, #2
- adds r0, r0, r2
- movs r1, #0
- strb r1, [r0]
- mov r3, sb
- ldr r0, [r3]
- ldr r5, _0804D4CC @ =0x00000296
- adds r0, r0, r5
- strh r1, [r0]
- b _0804D556
- .align 2, 0
-_0804D4C8: .4byte 0x020314E0
-_0804D4CC: .4byte 0x00000296
-_0804D4D0: .4byte gMain
-_0804D4D4: .4byte 0x03005EC0
-_0804D4D8: .4byte 0xFFFFFD40
-_0804D4DC: .4byte 0x00000179
-_0804D4E0: .4byte 0x000001FF
-_0804D4E4: .4byte 0x00000199
-_0804D4E8: .4byte 0x040000D4
-_0804D4EC: .4byte 0x060022C0
-_0804D4F0: .4byte 0x80000040
-_0804D4F4:
- ldrh r0, [r7]
- cmp r0, #0
- bne _0804D500
- bl sub_4D648
- b _0804D542
-_0804D500:
- movs r1, #0
- ldr r4, _0804D578 @ =0x03005C00
-_0804D504:
- lsls r2, r1, #0x10
- asrs r2, r2, #0x10
- ldr r0, _0804D57C @ =0x00000179
- adds r1, r2, r0
- lsls r1, r1, #1
- adds r1, r1, r4
- lsls r0, r2, #1
- mov r5, sp
- adds r3, r5, r0
- movs r5, #0
- ldrsh r0, [r3, r5]
- lsls r0, r0, #1
- ldr r5, _0804D580 @ =0xFFFFC140
- adds r0, r0, r5
- strh r0, [r1]
- ldr r0, _0804D584 @ =0x00000199
- adds r1, r2, r0
- lsls r1, r1, #1
- adds r1, r1, r4
- movs r5, #0
- ldrsh r0, [r3, r5]
- lsls r0, r0, #1
- ldr r3, _0804D588 @ =0xFFFFC141
- adds r0, r0, r3
- strh r0, [r1]
- adds r2, #1
- lsls r2, r2, #0x10
- lsrs r1, r2, #0x10
- asrs r2, r2, #0x10
- cmp r2, #3
- ble _0804D504
-_0804D542:
- ldr r1, _0804D58C @ =0x040000D4
- ldr r0, _0804D590 @ =0x03005EC0
- str r0, [r1]
- ldr r0, _0804D594 @ =0x060022C0
- str r0, [r1, #4]
- ldr r0, _0804D598 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldr r5, _0804D59C @ =0x020314E0
- mov sb, r5
-_0804D556:
- mov r1, sb
- ldr r0, [r1]
- ldr r2, _0804D5A0 @ =0x00000296
- adds r3, r0, r2
- ldrh r2, [r3]
- adds r1, r2, #0
- movs r0, #0xe1
- lsls r0, r0, #2
- cmp r1, r0
- bhi _0804D5E8
- movs r0, #8
- ands r0, r2
- cmp r0, #0
- beq _0804D5A8
- ldr r1, _0804D58C @ =0x040000D4
- ldr r0, _0804D5A4 @ =0x086B0884
- b _0804D5AC
- .align 2, 0
-_0804D578: .4byte 0x03005C00
-_0804D57C: .4byte 0x00000179
-_0804D580: .4byte 0xFFFFC140
-_0804D584: .4byte 0x00000199
-_0804D588: .4byte 0xFFFFC141
-_0804D58C: .4byte 0x040000D4
-_0804D590: .4byte 0x03005EC0
-_0804D594: .4byte 0x060022C0
-_0804D598: .4byte 0x80000040
-_0804D59C: .4byte 0x020314E0
-_0804D5A0: .4byte 0x00000296
-_0804D5A4: .4byte 0x086B0884
-_0804D5A8:
- ldr r1, _0804D5D4 @ =0x040000D4
- ldr r0, _0804D5D8 @ =0x081C0064
-_0804D5AC:
- str r0, [r1]
- ldr r0, _0804D5DC @ =0x05000180
- str r0, [r1, #4]
- ldr r0, _0804D5E0 @ =0x80000010
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- mov r3, sb
- ldr r0, [r3]
- ldr r5, _0804D5E4 @ =0x00000296
- adds r0, r0, r5
- ldrh r1, [r0]
- movs r0, #0xe1
- lsls r0, r0, #2
- cmp r1, r0
- bne _0804D628
- movs r0, #0x19
- bl m4aSongNumStart
- b _0804D628
- .align 2, 0
-_0804D5D4: .4byte 0x040000D4
-_0804D5D8: .4byte 0x081C0064
-_0804D5DC: .4byte 0x05000180
-_0804D5E0: .4byte 0x80000010
-_0804D5E4: .4byte 0x00000296
-_0804D5E8:
- movs r0, #0xe1
- lsls r0, r0, #3
- cmp r1, r0
- bhi _0804D628
- ldrh r0, [r3]
- movs r1, #0x16
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #0xb
- bl __udivsi3
- lsls r0, r0, #0x10
- cmp r0, #0
- beq _0804D618
- ldr r1, _0804D610 @ =0x040000D4
- ldr r0, _0804D614 @ =0x086B08A4
- b _0804D61C
- .align 2, 0
-_0804D610: .4byte 0x040000D4
-_0804D614: .4byte 0x086B08A4
-_0804D618:
- ldr r1, _0804D638 @ =0x040000D4
- ldr r0, _0804D63C @ =0x081C0064
-_0804D61C:
- str r0, [r1]
- ldr r0, _0804D640 @ =0x05000180
- str r0, [r1, #4]
- ldr r0, _0804D644 @ =0x80000010
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804D628:
- add sp, #8
- pop {r3, r4}
- mov r8, r3
- mov sb, r4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804D638: .4byte 0x040000D4
-_0804D63C: .4byte 0x081C0064
-_0804D640: .4byte 0x05000180
-_0804D644: .4byte 0x80000010
-
- thumb_func_start sub_4D648
-sub_4D648: @ 0x0804D648
- push {r4, r5, r6, lr}
- ldr r2, _0804D6A0 @ =0x020314E0
- ldr r0, [r2]
- movs r1, #0xa5
- lsls r1, r1, #2
- adds r0, r0, r1
- movs r1, #0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r2, _0804D6A4 @ =0x00000296
- adds r0, r0, r2
- strh r1, [r0]
- ldr r6, _0804D6A8 @ =0x03005EC0
- ldr r0, _0804D6AC @ =0xFFFFFD40
- adds r3, r6, r0
- ldr r5, _0804D6B0 @ =0x00000179
- subs r2, #0x97
- ldr r4, _0804D6B4 @ =0x00000199
-_0804D66C:
- lsls r0, r1, #0x10
- asrs r0, r0, #0x10
- adds r1, r0, r5
- lsls r1, r1, #1
- adds r1, r1, r3
- strh r2, [r1]
- adds r1, r0, r4
- lsls r1, r1, #1
- adds r1, r1, r3
- strh r2, [r1]
- adds r0, #1
- lsls r0, r0, #0x10
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _0804D66C
- ldr r1, _0804D6B8 @ =0x040000D4
- str r6, [r1]
- ldr r0, _0804D6BC @ =0x060022C0
- str r0, [r1, #4]
- ldr r0, _0804D6C0 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804D6A0: .4byte 0x020314E0
-_0804D6A4: .4byte 0x00000296
-_0804D6A8: .4byte 0x03005EC0
-_0804D6AC: .4byte 0xFFFFFD40
-_0804D6B0: .4byte 0x00000179
-_0804D6B4: .4byte 0x00000199
-_0804D6B8: .4byte 0x040000D4
-_0804D6BC: .4byte 0x060022C0
-_0804D6C0: .4byte 0x80000040
-
- thumb_func_start sub_4D6C4
-sub_4D6C4: @ 0x0804D6C4
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- movs r0, #0
- mov ip, r0
- ldr r0, _0804D7B0 @ =gMain
- ldrb r2, [r0, #4]
- movs r3, #0
- adds r7, r0, #0
- cmp r2, #0
- beq _0804D6E6
- ldr r3, _0804D7B4 @ =0x0000FFE8
- cmp r2, #1
- beq _0804D6E6
- movs r3, #0
- movs r1, #8
- mov ip, r1
-_0804D6E6:
- ldrb r0, [r7, #4]
- cmp r0, #1
- bls _0804D6EE
- b _0804D810
-_0804D6EE:
- ldr r6, _0804D7B8 @ =0x020314E0
- ldr r1, [r6]
- lsls r0, r3, #0x10
- asrs r0, r0, #0x10
- subs r0, #0xf4
- ldr r4, _0804D7BC @ =0x000005FC
- adds r2, r1, r4
- movs r5, #0
- movs r3, #0
- strh r0, [r2]
- ldr r2, _0804D7C0 @ =0x000005FE
- adds r0, r1, r2
- strh r3, [r0]
- ldr r0, _0804D7C4 @ =0x000005FB
- adds r1, r1, r0
- strb r5, [r1]
- ldr r6, [r6]
- ldr r0, _0804D7C8 @ =0x02031520
- ldrh r1, [r0, #0x14]
- adds r3, r6, #0
- adds r3, #0x4c
- strh r1, [r3]
- ldrh r1, [r0, #0x16]
- adds r5, r6, #0
- adds r5, #0x4e
- strh r1, [r5]
- movs r1, #0x16
- ldrsh r0, [r0, r1]
- lsls r0, r0, #8
- str r0, [r6, #0x54]
- ldrh r1, [r3]
- adds r0, r6, #0
- adds r0, #0x58
- strh r1, [r0]
- adds r4, r6, r4
- ldrh r0, [r4]
- ldrh r2, [r5]
- adds r0, r0, r2
- adds r1, r6, #0
- adds r1, #0x5a
- strh r0, [r1]
- ldrh r1, [r3]
- mov r0, ip
- lsls r2, r0, #0x10
- asrs r2, r2, #0x10
- adds r1, r2, r1
- mov ip, r1
- movs r1, #0xbc
- lsls r1, r1, #2
- adds r0, r7, r1
- mov r1, ip
- strh r1, [r0]
- ldrh r0, [r4]
- ldrh r1, [r5]
- adds r0, r0, r1
- ldr r1, _0804D7CC @ =0x000002F2
- strh r0, [r1, r7]
- ldrh r0, [r3]
- adds r0, r2, r0
- adds r1, #2
- strh r0, [r1, r7]
- ldrh r0, [r4]
- ldrh r1, [r5]
- adds r0, r0, r1
- ldr r1, _0804D7D0 @ =0x000002F6
- strh r0, [r1, r7]
- ldrh r0, [r3]
- adds r2, r2, r0
- subs r1, #0xa
- adds r0, r7, r1
- strh r2, [r0]
- ldrh r0, [r4]
- ldrh r5, [r5]
- adds r0, r0, r5
- ldr r2, _0804D7D4 @ =0x000002EE
- adds r1, r7, r2
- strh r0, [r1]
- ldrb r0, [r7, #4]
- cmp r0, #0
- bne _0804D7E4
- ldr r5, _0804D7D8 @ =0x00000283
- adds r0, r6, r5
- ldrb r0, [r0]
- movs r1, #5
- bl __udivsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- movs r1, #1
- ands r0, r1
- cmp r0, #0
- bne _0804D7DC
- movs r0, #0x1c
- bl m4aSongNumStart
- b _0804D90E
- .align 2, 0
-_0804D7B0: .4byte gMain
-_0804D7B4: .4byte 0x0000FFE8
-_0804D7B8: .4byte 0x020314E0
-_0804D7BC: .4byte 0x000005FC
-_0804D7C0: .4byte 0x000005FE
-_0804D7C4: .4byte 0x000005FB
-_0804D7C8: .4byte 0x02031520
-_0804D7CC: .4byte 0x000002F2
-_0804D7D0: .4byte 0x000002F6
-_0804D7D4: .4byte 0x000002EE
-_0804D7D8: .4byte 0x00000283
-_0804D7DC:
- movs r0, #0x5b
- bl m4aSongNumStart
- b _0804D90E
-_0804D7E4:
- ldr r7, _0804D804 @ =0x00000283
- adds r0, r6, r7
- ldrb r0, [r0]
- movs r1, #5
- bl __udivsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- movs r1, #1
- ands r0, r1
- cmp r0, #0
- bne _0804D808
- movs r0, #0x20
- bl m4aSongNumStart
- b _0804D90E
- .align 2, 0
-_0804D804: .4byte 0x00000283
-_0804D808:
- movs r0, #0x5c
- bl m4aSongNumStart
- b _0804D90E
-_0804D810:
- ldr r3, _0804D838 @ =0x020314E0
- ldr r1, [r3]
- ldr r2, _0804D83C @ =0x000005FC
- adds r0, r1, r2
- movs r4, #0
- movs r2, #0
- strh r2, [r0]
- ldr r5, _0804D840 @ =0x000005FE
- adds r0, r1, r5
- strh r2, [r0]
- ldr r0, _0804D844 @ =0x000005FB
- adds r1, r1, r0
- strb r4, [r1]
- ldrb r0, [r7, #4]
- cmp r0, #3
- bhi _0804D84C
- ldr r0, [r3]
- adds r0, #0xe6
- ldr r1, _0804D848 @ =0x0000FFE8
- b _0804D862
- .align 2, 0
-_0804D838: .4byte 0x020314E0
-_0804D83C: .4byte 0x000005FC
-_0804D840: .4byte 0x000005FE
-_0804D844: .4byte 0x000005FB
-_0804D848: .4byte 0x0000FFE8
-_0804D84C:
- cmp r0, #6
- bne _0804D85C
- ldr r0, [r3]
- adds r0, #0xe6
- ldr r1, _0804D858 @ =0x0000FFA8
- b _0804D862
- .align 2, 0
-_0804D858: .4byte 0x0000FFA8
-_0804D85C:
- ldr r0, [r3]
- adds r0, #0xe6
- ldr r1, _0804D93C @ =0x0000FFC0
-_0804D862:
- strh r1, [r0]
- ldr r0, _0804D940 @ =0x020314E0
- ldr r5, [r0]
- ldr r1, _0804D944 @ =0x02031520
- ldrh r0, [r1, #0x14]
- adds r4, r5, #0
- adds r4, #0x4c
- strh r0, [r4]
- adds r0, r5, #0
- adds r0, #0xe6
- ldrh r0, [r0]
- ldrh r2, [r1, #0x16]
- adds r0, r0, r2
- adds r6, r5, #0
- adds r6, #0x4e
- strh r0, [r6]
- movs r7, #0x16
- ldrsh r0, [r1, r7]
- lsls r0, r0, #8
- str r0, [r5, #0x54]
- ldrh r1, [r4]
- adds r0, r5, #0
- adds r0, #0x58
- strh r1, [r0]
- ldr r1, _0804D948 @ =0x000005FC
- adds r0, r5, r1
- ldrh r0, [r0]
- ldrh r2, [r6]
- adds r0, r0, r2
- adds r1, r5, #0
- adds r1, #0x5a
- strh r0, [r1]
- ldr r3, _0804D94C @ =gMain
- ldrh r0, [r4]
- mov r7, ip
- lsls r1, r7, #0x10
- asrs r1, r1, #0x10
- adds r0, r1, r0
- mov r8, r0
- movs r2, #0xbc
- lsls r2, r2, #2
- adds r0, r3, r2
- mov r7, r8
- strh r7, [r0]
- ldrh r2, [r6]
- ldr r7, _0804D950 @ =0x000002F2
- adds r0, r3, r7
- strh r2, [r0]
- ldrh r0, [r4]
- adds r0, r1, r0
- movs r2, #0xbd
- lsls r2, r2, #2
- adds r2, r2, r3
- mov ip, r2
- strh r0, [r2]
- ldrh r2, [r6]
- adds r7, #4
- adds r0, r3, r7
- strh r2, [r0]
- ldrh r0, [r4]
- adds r1, r1, r0
- movs r2, #0xbb
- lsls r2, r2, #2
- adds r0, r3, r2
- strh r1, [r0]
- movs r7, #0
- ldrsh r0, [r6, r7]
- lsrs r1, r0, #0x1f
- adds r0, r0, r1
- asrs r0, r0, #1
- adds r2, #2
- adds r1, r3, r2
- strh r0, [r1]
- ldrb r0, [r3, #4]
- cmp r0, #3
- bne _0804D90E
- movs r7, #0xa4
- lsls r7, r7, #2
- adds r0, r5, r7
- ldr r0, [r0]
- ldr r1, _0804D954 @ =0x000007FF
- ands r0, r1
- lsrs r0, r0, #3
- add r0, r8
- mov r1, ip
- strh r0, [r1]
-_0804D90E:
- ldr r1, _0804D94C @ =gMain
- ldr r5, _0804D958 @ =0x000002EA
- adds r2, r1, r5
- movs r0, #0x50
- strh r0, [r2]
- ldr r0, _0804D940 @ =0x020314E0
- ldr r2, [r0]
- ldr r7, _0804D95C @ =0x000002F6
- adds r1, r1, r7
- ldrh r1, [r1]
- adds r0, r2, #0
- adds r0, #0xcc
- strh r1, [r0]
- subs r0, #2
- strh r1, [r0]
- movs r0, #0x80
- lsls r0, r0, #5
- str r0, [r2, #0x2c]
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804D93C: .4byte 0x0000FFC0
-_0804D940: .4byte 0x020314E0
-_0804D944: .4byte 0x02031520
-_0804D948: .4byte 0x000005FC
-_0804D94C: .4byte gMain
-_0804D950: .4byte 0x000002F2
-_0804D954: .4byte 0x000007FF
-_0804D958: .4byte 0x000002EA
-_0804D95C: .4byte 0x000002F6
-
- thumb_func_start sub_4D960
-sub_4D960: @ 0x0804D960
- push {r4, r5, r6, r7, lr}
- movs r7, #0x80
- lsls r7, r7, #5
- ldr r0, _0804D9A4 @ =gMain
- ldrb r0, [r0, #0xf]
- cmp r0, #0
- bne _0804D972
- bl sub_4E2F8
-_0804D972:
- ldr r1, _0804D9A8 @ =0x020314E0
- ldr r2, [r1]
- ldr r0, _0804D9AC @ =0x000005FB
- adds r4, r2, r0
- movs r0, #0
- ldrsb r0, [r4, r0]
- adds r6, r1, #0
- cmp r0, #0
- beq _0804D9C2
- ldr r3, _0804D9B0 @ =0x000005FC
- adds r1, r2, r3
- ldr r5, _0804D9B4 @ =0x000005FE
- adds r0, r2, r5
- ldrh r3, [r1]
- movs r5, #0
- ldrsh r2, [r1, r5]
- movs r5, #0
- ldrsh r0, [r0, r5]
- cmp r2, r0
- beq _0804D9BE
- cmp r2, r0
- ble _0804D9B8
- subs r0, r3, #1
- strh r0, [r1]
- b _0804D9C2
- .align 2, 0
-_0804D9A4: .4byte gMain
-_0804D9A8: .4byte 0x020314E0
-_0804D9AC: .4byte 0x000005FB
-_0804D9B0: .4byte 0x000005FC
-_0804D9B4: .4byte 0x000005FE
-_0804D9B8:
- adds r0, r3, #1
- strh r0, [r1]
- b _0804D9C2
-_0804D9BE:
- movs r0, #0
- strb r0, [r4]
-_0804D9C2:
- ldr r5, [r6]
- ldrb r0, [r5, #0x1f]
- cmp r0, #0
- bne _0804D9E0
- ldr r1, _0804DA2C @ =0x00001330
- adds r0, r5, r1
- ldr r0, [r0]
- movs r2, #0x32
- ldrsh r1, [r0, r2]
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r0, r0, #3
- movs r3, #0x80
- lsls r3, r3, #5
- adds r7, r0, r3
-_0804D9E0:
- ldr r4, [r5, #0x2c]
- subs r0, r7, r4
- movs r1, #0xa
- bl __divsi3
- adds r4, r4, r0
- str r4, [r5, #0x2c]
- ldr r1, _0804DA2C @ =0x00001330
- adds r0, r5, r1
- ldr r0, [r0]
- ldr r0, [r0, #0x38]
- adds r1, r0, r4
- ldr r2, _0804DA30 @ =0x02031520
- movs r3, #0x18
- ldrsh r0, [r2, r3]
- lsls r0, r0, #8
- cmp r1, r0
- bgt _0804DA0E
- movs r4, #0x1a
- ldrsh r0, [r2, r4]
- lsls r0, r0, #8
- cmp r1, r0
- bge _0804DA10
-_0804DA0E:
- adds r1, r0, #0
-_0804DA10:
- ldr r5, _0804DA34 @ =0xFFFFB000
- adds r1, r1, r5
- ldr r0, [r6]
- ldr r4, [r0, #0x54]
- subs r0, r1, r4
- movs r1, #0xc
- bl __divsi3
- adds r1, r0, #0
- cmp r1, #0
- ble _0804DA38
- cmp r1, #0x4f
- bgt _0804DA42
- b _0804DA40
- .align 2, 0
-_0804DA2C: .4byte 0x00001330
-_0804DA30: .4byte 0x02031520
-_0804DA34: .4byte 0xFFFFB000
-_0804DA38:
- movs r0, #0x50
- rsbs r0, r0, #0
- cmp r1, r0
- ble _0804DA42
-_0804DA40:
- movs r1, #0
-_0804DA42:
- adds r4, r4, r1
- ldr r1, [r6]
- ldr r2, _0804DA7C @ =0x000005FA
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0804DAAC
- str r4, [r1, #0x54]
- adds r0, r4, #0
- cmp r0, #0
- bge _0804DA5E
- adds r0, #0xff
-_0804DA5E:
- asrs r0, r0, #8
- adds r2, r1, #0
- adds r2, #0x4e
- strh r0, [r2]
- ldr r3, _0804DA80 @ =0x00001330
- adds r0, r1, r3
- ldr r0, [r0]
- movs r4, #0x10
- ldrsh r0, [r0, r4]
- cmp r0, #0xe5
- ble _0804DA84
- adds r1, #0x4c
- ldrh r0, [r1]
- adds r0, #1
- b _0804DA8A
- .align 2, 0
-_0804DA7C: .4byte 0x000005FA
-_0804DA80: .4byte 0x00001330
-_0804DA84:
- adds r1, #0x4c
- ldrh r0, [r1]
- subs r0, #1
-_0804DA8A:
- strh r0, [r1]
- ldr r0, _0804DAA0 @ =0x020314E0
- ldr r0, [r0]
- adds r1, r0, #0
- adds r1, #0x4c
- movs r5, #0
- ldrsh r0, [r1, r5]
- cmp r0, #0x10
- ble _0804DAA4
- movs r0, #0x10
- b _0804DAAA
- .align 2, 0
-_0804DAA0: .4byte 0x020314E0
-_0804DAA4:
- cmp r0, #0
- bge _0804DAAC
- movs r0, #0
-_0804DAAA:
- strh r0, [r1]
-_0804DAAC:
- bl sub_4DFA0
- ldr r3, _0804DB14 @ =gMain
- ldr r0, _0804DB18 @ =0x020314E0
- ldr r4, [r0]
- adds r2, r4, #0
- adds r2, #0x4c
- movs r1, #0x90
- lsls r1, r1, #1
- adds r0, r4, r1
- movs r1, #0
- ldrsb r1, [r0, r1]
- ldrh r2, [r2]
- adds r1, r1, r2
- ldr r2, _0804DB1C @ =0x000002AA
- adds r0, r4, r2
- ldrh r0, [r0]
- adds r0, r0, r1
- movs r5, #0xbd
- lsls r5, r5, #2
- adds r1, r3, r5
- strh r0, [r1]
- adds r1, r4, #0
- adds r1, #0x4e
- ldr r2, _0804DB20 @ =0x00000121
- adds r0, r4, r2
- movs r2, #0
- ldrsb r2, [r0, r2]
- ldrh r1, [r1]
- adds r2, r2, r1
- ldr r5, _0804DB24 @ =0x000005FC
- adds r0, r4, r5
- ldrh r1, [r0]
- adds r0, r4, #0
- adds r0, #0xe6
- adds r1, r1, r2
- ldrh r0, [r0]
- adds r1, r1, r0
- adds r0, r4, #0
- adds r0, #0xcc
- strh r1, [r0]
- ldr r0, _0804DB28 @ =0x000002F6
- adds r3, r3, r0
- ldrh r0, [r3]
- subs r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r2, r0, #0x10
- asrs r1, r0, #0x10
- cmp r1, #8
- ble _0804DB2C
- movs r2, #8
- b _0804DB36
- .align 2, 0
-_0804DB14: .4byte gMain
-_0804DB18: .4byte 0x020314E0
-_0804DB1C: .4byte 0x000002AA
-_0804DB20: .4byte 0x00000121
-_0804DB24: .4byte 0x000005FC
-_0804DB28: .4byte 0x000002F6
-_0804DB2C:
- movs r0, #8
- rsbs r0, r0, #0
- cmp r1, r0
- bge _0804DB36
- ldr r2, _0804DBE0 @ =0x0000FFF8
-_0804DB36:
- ldr r3, _0804DBE4 @ =gMain
- cmp r2, #0
- beq _0804DB46
- ldr r4, _0804DBE8 @ =0x000002F6
- adds r1, r3, r4
- ldrh r0, [r1]
- subs r0, r0, r2
- strh r0, [r1]
-_0804DB46:
- movs r5, #0xbd
- lsls r5, r5, #2
- adds r0, r3, r5
- ldrh r2, [r0]
- movs r1, #0xbc
- lsls r1, r1, #2
- adds r0, r3, r1
- strh r2, [r0]
- ldr r4, _0804DBE8 @ =0x000002F6
- adds r0, r3, r4
- ldrh r1, [r0]
- subs r5, #2
- adds r0, r3, r5
- strh r1, [r0]
- subs r4, #0xa
- adds r0, r3, r4
- strh r2, [r0]
- subs r5, #4
- adds r0, r3, r5
- strh r1, [r0]
- ldr r0, _0804DBEC @ =0x020314E0
- ldr r4, [r0]
- adds r2, r4, #0
- adds r2, #0x4c
- movs r1, #0x90
- lsls r1, r1, #1
- adds r0, r4, r1
- movs r1, #0
- ldrsb r1, [r0, r1]
- ldrh r2, [r2]
- adds r1, r1, r2
- ldr r2, _0804DBF0 @ =0x000002AA
- adds r0, r4, r2
- ldrh r0, [r0]
- adds r0, r0, r1
- adds r1, r4, #0
- adds r1, #0x58
- strh r0, [r1]
- adds r6, r4, #0
- adds r6, #0x4e
- ldr r3, _0804DBF4 @ =0x00000121
- adds r3, r3, r4
- mov ip, r3
- movs r1, #0
- ldrsb r1, [r3, r1]
- ldrh r5, [r6]
- adds r1, r1, r5
- ldr r0, _0804DBF8 @ =0x000005FC
- adds r3, r4, r0
- ldrh r0, [r3]
- adds r5, r4, #0
- adds r5, #0xe6
- adds r0, r0, r1
- ldrh r1, [r5]
- adds r0, r0, r1
- adds r1, r4, #0
- adds r1, #0x5a
- strh r0, [r1]
- adds r2, r4, #0
- adds r2, #0x68
- ldrh r1, [r2]
- adds r0, r4, #0
- adds r0, #0x6a
- strh r1, [r0]
- mov r4, ip
- movs r1, #0
- ldrsb r1, [r4, r1]
- ldrh r6, [r6]
- adds r1, r1, r6
- ldrh r0, [r3]
- adds r0, r0, r1
- ldrh r5, [r5]
- adds r0, r0, r5
- strh r0, [r2]
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804DBE0: .4byte 0x0000FFF8
-_0804DBE4: .4byte gMain
-_0804DBE8: .4byte 0x000002F6
-_0804DBEC: .4byte 0x020314E0
-_0804DBF0: .4byte 0x000002AA
-_0804DBF4: .4byte 0x00000121
-_0804DBF8: .4byte 0x000005FC
-
- thumb_func_start sub_4DBFC
-sub_4DBFC: @ 0x0804DBFC
- push {r4, r5, r6, r7, lr}
- movs r6, #0x80
- lsls r6, r6, #5
- ldr r0, _0804DC48 @ =gMain
- ldrb r0, [r0, #0xf]
- movs r1, #0x41
- rsbs r1, r1, #0
- ands r0, r1
- cmp r0, #0
- bne _0804DC14
- bl sub_4E468
-_0804DC14:
- ldr r1, _0804DC4C @ =0x020314E0
- ldr r2, [r1]
- ldr r0, _0804DC50 @ =0x000005FB
- adds r4, r2, r0
- movs r0, #0
- ldrsb r0, [r4, r0]
- adds r7, r1, #0
- cmp r0, #0
- beq _0804DC66
- ldr r3, _0804DC54 @ =0x000005FC
- adds r1, r2, r3
- ldr r5, _0804DC58 @ =0x000005FE
- adds r0, r2, r5
- ldrh r3, [r1]
- movs r5, #0
- ldrsh r2, [r1, r5]
- movs r5, #0
- ldrsh r0, [r0, r5]
- cmp r2, r0
- beq _0804DC62
- cmp r2, r0
- ble _0804DC5C
- subs r0, r3, #1
- strh r0, [r1]
- b _0804DC66
- .align 2, 0
-_0804DC48: .4byte gMain
-_0804DC4C: .4byte 0x020314E0
-_0804DC50: .4byte 0x000005FB
-_0804DC54: .4byte 0x000005FC
-_0804DC58: .4byte 0x000005FE
-_0804DC5C:
- adds r0, r3, #1
- strh r0, [r1]
- b _0804DC66
-_0804DC62:
- movs r0, #0
- strb r0, [r4]
-_0804DC66:
- ldr r5, [r7]
- ldrb r0, [r5, #0x1f]
- cmp r0, #0
- bne _0804DC84
- ldr r6, _0804DCD0 @ =0x00001330
- adds r0, r5, r6
- ldr r0, [r0]
- movs r2, #0x32
- ldrsh r1, [r0, r2]
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r0, r0, #3
- movs r3, #0x80
- lsls r3, r3, #5
- adds r6, r0, r3
-_0804DC84:
- ldr r4, [r5, #0x2c]
- subs r0, r6, r4
- movs r1, #0xa
- bl __divsi3
- adds r4, r4, r0
- str r4, [r5, #0x2c]
- ldr r6, _0804DCD0 @ =0x00001330
- adds r0, r5, r6
- ldr r0, [r0]
- ldr r0, [r0, #0x38]
- adds r2, r0, r4
- ldr r1, _0804DCD4 @ =0x02031520
- movs r3, #0x18
- ldrsh r0, [r1, r3]
- lsls r0, r0, #8
- cmp r2, r0
- bgt _0804DCB2
- movs r4, #0x1a
- ldrsh r0, [r1, r4]
- lsls r0, r0, #8
- cmp r2, r0
- bge _0804DCB4
-_0804DCB2:
- adds r2, r0, #0
-_0804DCB4:
- ldr r5, _0804DCD8 @ =0xFFFFB000
- adds r2, r2, r5
- ldr r0, [r7]
- ldr r4, [r0, #0x54]
- subs r0, r2, r4
- movs r1, #0xc
- bl __divsi3
- adds r1, r0, #0
- cmp r1, #0
- ble _0804DCDC
- cmp r1, #0x4f
- bgt _0804DCE6
- b _0804DCE4
- .align 2, 0
-_0804DCD0: .4byte 0x00001330
-_0804DCD4: .4byte 0x02031520
-_0804DCD8: .4byte 0xFFFFB000
-_0804DCDC:
- movs r0, #0x50
- rsbs r0, r0, #0
- cmp r1, r0
- ble _0804DCE6
-_0804DCE4:
- movs r1, #0
-_0804DCE6:
- adds r4, r4, r1
- ldr r0, _0804DD80 @ =0x020314E0
- ldr r2, [r0]
- ldr r6, _0804DD84 @ =0x000005FA
- adds r0, r2, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0804DD0C
- str r4, [r2, #0x54]
- adds r0, r4, #0
- cmp r0, #0
- bge _0804DD04
- adds r0, #0xff
-_0804DD04:
- asrs r1, r0, #8
- adds r0, r2, #0
- adds r0, #0x4e
- strh r1, [r0]
-_0804DD0C:
- bl sub_4DFA0
- ldr r2, _0804DD88 @ =gMain
- ldr r0, _0804DD80 @ =0x020314E0
- ldr r3, [r0]
- adds r1, r3, #0
- adds r1, #0x4c
- movs r4, #0x90
- lsls r4, r4, #1
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- ldrh r1, [r1]
- adds r0, r0, r1
- ldr r5, _0804DD8C @ =0x000002AA
- adds r1, r3, r5
- adds r0, #8
- ldrh r1, [r1]
- adds r0, r0, r1
- movs r6, #0xbc
- lsls r6, r6, #2
- adds r2, r2, r6
- strh r0, [r2]
- adds r2, r3, #0
- adds r2, #0x4e
- ldr r1, _0804DD90 @ =0x00000121
- adds r0, r3, r1
- movs r1, #0
- ldrsb r1, [r0, r1]
- ldrh r2, [r2]
- adds r1, r1, r2
- ldr r2, _0804DD94 @ =0x000005FC
- adds r0, r3, r2
- ldrh r0, [r0]
- adds r2, r3, #0
- adds r2, #0xe6
- adds r0, r0, r1
- ldrh r2, [r2]
- adds r0, r0, r2
- movs r4, #0xab
- lsls r4, r4, #2
- adds r1, r3, r4
- ldrh r1, [r1]
- adds r1, r1, r0
- adds r0, r3, #0
- adds r0, #0xcc
- strh r1, [r0]
- subs r0, #2
- ldrh r0, [r0]
- subs r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r2, r0, #0x10
- asrs r1, r0, #0x10
- cmp r1, #8
- ble _0804DD98
- movs r2, #8
- b _0804DDA2
- .align 2, 0
-_0804DD80: .4byte 0x020314E0
-_0804DD84: .4byte 0x000005FA
-_0804DD88: .4byte gMain
-_0804DD8C: .4byte 0x000002AA
-_0804DD90: .4byte 0x00000121
-_0804DD94: .4byte 0x000005FC
-_0804DD98:
- movs r0, #8
- rsbs r0, r0, #0
- cmp r1, r0
- bge _0804DDA2
- ldr r2, _0804DDDC @ =0x0000FFF8
-_0804DDA2:
- lsls r0, r2, #0x10
- asrs r2, r0, #0x10
- ldr r7, _0804DDE0 @ =0x020314E0
- cmp r2, #0
- beq _0804DDB6
- ldr r1, [r7]
- adds r1, #0xca
- ldrh r0, [r1]
- subs r0, r0, r2
- strh r0, [r1]
-_0804DDB6:
- ldr r1, _0804DDE4 @ =gMain
- ldr r0, [r7]
- adds r0, #0xca
- ldrh r2, [r0]
- ldr r5, _0804DDE8 @ =0x000002F2
- adds r0, r1, r5
- strh r2, [r0]
- ldrb r0, [r1, #4]
- subs r0, #2
- adds r4, r1, #0
- cmp r0, #5
- bls _0804DDD0
- b _0804DF18
-_0804DDD0:
- lsls r0, r0, #2
- ldr r1, _0804DDEC @ =_0804DDF0
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804DDDC: .4byte 0x0000FFF8
-_0804DDE0: .4byte 0x020314E0
-_0804DDE4: .4byte gMain
-_0804DDE8: .4byte 0x000002F2
-_0804DDEC: .4byte _0804DDF0
-_0804DDF0: @ jump table
- .4byte _0804DE08 @ case 0
- .4byte _0804DE4C @ case 1
- .4byte _0804DE98 @ case 2
- .4byte _0804DE98 @ case 3
- .4byte _0804DEC8 @ case 4
- .4byte _0804DEFC @ case 5
-_0804DE08:
- movs r6, #0xbc
- lsls r6, r6, #2
- adds r0, r4, r6
- ldrh r2, [r0]
- movs r1, #0xbd
- lsls r1, r1, #2
- adds r0, r4, r1
- strh r2, [r0]
- ldr r3, _0804DE40 @ =0x000002F2
- adds r0, r4, r3
- ldrh r1, [r0]
- ldr r5, _0804DE44 @ =0x000002F6
- adds r0, r4, r5
- strh r1, [r0]
- subs r6, #4
- adds r0, r4, r6
- strh r2, [r0]
- ldr r0, [r7]
- adds r0, #0xca
- movs r1, #0
- ldrsh r0, [r0, r1]
- lsrs r1, r0, #0x1f
- adds r0, r0, r1
- asrs r0, r0, #1
- ldr r2, _0804DE48 @ =0x000002EE
- adds r1, r4, r2
- strh r0, [r1]
- b _0804DF18
- .align 2, 0
-_0804DE40: .4byte 0x000002F2
-_0804DE44: .4byte 0x000002F6
-_0804DE48: .4byte 0x000002EE
-_0804DE4C:
- movs r3, #0xbc
- lsls r3, r3, #2
- adds r2, r4, r3
- ldr r0, [r7]
- movs r5, #0xa4
- lsls r5, r5, #2
- adds r0, r0, r5
- ldr r0, [r0]
- ldr r1, _0804DE8C @ =0x000007FF
- ands r0, r1
- lsrs r0, r0, #3
- ldrh r2, [r2]
- adds r0, r2, r0
- movs r6, #0xbd
- lsls r6, r6, #2
- adds r1, r4, r6
- movs r3, #0
- strh r0, [r1]
- ldr r1, _0804DE90 @ =0x000002F2
- adds r0, r4, r1
- ldrh r1, [r0]
- adds r5, #0x66
- adds r0, r4, r5
- strh r1, [r0]
- subs r6, #8
- adds r0, r4, r6
- strh r2, [r0]
- ldr r1, _0804DE94 @ =0x000002EE
- adds r0, r4, r1
- strh r3, [r0]
- b _0804DF18
- .align 2, 0
-_0804DE8C: .4byte 0x000007FF
-_0804DE90: .4byte 0x000002F2
-_0804DE94: .4byte 0x000002EE
-_0804DE98:
- movs r2, #0xbc
- lsls r2, r2, #2
- adds r0, r4, r2
- ldrh r2, [r0]
- movs r3, #0xbd
- lsls r3, r3, #2
- adds r0, r4, r3
- strh r2, [r0]
- ldr r5, _0804DEC0 @ =0x000002F2
- adds r0, r4, r5
- ldrh r1, [r0]
- ldr r6, _0804DEC4 @ =0x000002F6
- adds r0, r4, r6
- strh r1, [r0]
- subs r3, #8
- adds r0, r4, r3
- strh r2, [r0]
- subs r5, #4
- adds r0, r4, r5
- b _0804DF16
- .align 2, 0
-_0804DEC0: .4byte 0x000002F2
-_0804DEC4: .4byte 0x000002F6
-_0804DEC8:
- movs r6, #0xbc
- lsls r6, r6, #2
- adds r0, r4, r6
- ldrh r3, [r0]
- movs r1, #0xbd
- lsls r1, r1, #2
- adds r0, r4, r1
- strh r3, [r0]
- ldr r5, _0804DEF4 @ =0x000002F2
- adds r2, r4, r5
- ldrh r0, [r2]
- lsrs r0, r0, #2
- adds r6, #6
- adds r1, r4, r6
- strh r0, [r1]
- movs r1, #0xbb
- lsls r1, r1, #2
- adds r0, r4, r1
- strh r3, [r0]
- ldrh r1, [r2]
- ldr r2, _0804DEF8 @ =0x000002EE
- b _0804DF14
- .align 2, 0
-_0804DEF4: .4byte 0x000002F2
-_0804DEF8: .4byte 0x000002EE
-_0804DEFC:
- movs r3, #0xbc
- lsls r3, r3, #2
- adds r0, r4, r3
- ldrh r1, [r0]
- movs r5, #0xbd
- lsls r5, r5, #2
- adds r0, r4, r5
- strh r1, [r0]
- ldr r6, _0804DF8C @ =0x000002F2
- adds r0, r4, r6
- ldrh r1, [r0]
- ldr r2, _0804DF90 @ =0x000002F6
-_0804DF14:
- adds r0, r4, r2
-_0804DF16:
- strh r1, [r0]
-_0804DF18:
- ldr r3, [r7]
- adds r2, r3, #0
- adds r2, #0x4c
- movs r4, #0x90
- lsls r4, r4, #1
- adds r0, r3, r4
- movs r1, #0
- ldrsb r1, [r0, r1]
- ldrh r2, [r2]
- adds r1, r1, r2
- ldr r5, _0804DF94 @ =0x000002AA
- adds r0, r3, r5
- ldrh r0, [r0]
- adds r0, r0, r1
- adds r1, r3, #0
- adds r1, #0x58
- strh r0, [r1]
- movs r6, #0x4e
- adds r6, r6, r3
- mov ip, r6
- ldr r0, _0804DF98 @ =0x00000121
- adds r5, r3, r0
- movs r0, #0
- ldrsb r0, [r5, r0]
- ldrh r1, [r6]
- adds r0, r0, r1
- ldr r4, _0804DF9C @ =0x000005FC
- adds r2, r3, r4
- ldrh r1, [r2]
- adds r4, r3, #0
- adds r4, #0xe6
- adds r1, r1, r0
- ldrh r6, [r4]
- adds r1, r1, r6
- movs r6, #0xab
- lsls r6, r6, #2
- adds r0, r3, r6
- ldrh r0, [r0]
- adds r0, r0, r1
- adds r1, r3, #0
- adds r1, #0x5a
- strh r0, [r1]
- movs r1, #0
- ldrsb r1, [r5, r1]
- mov r0, ip
- ldrh r0, [r0]
- adds r1, r1, r0
- ldrh r0, [r2]
- adds r0, r0, r1
- ldrh r4, [r4]
- adds r0, r0, r4
- adds r1, r3, #0
- adds r1, #0x68
- strh r0, [r1]
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804DF8C: .4byte 0x000002F2
-_0804DF90: .4byte 0x000002F6
-_0804DF94: .4byte 0x000002AA
-_0804DF98: .4byte 0x00000121
-_0804DF9C: .4byte 0x000005FC
-
- thumb_func_start sub_4DFA0
-sub_4DFA0: @ 0x0804DFA0
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- sub sp, #8
- ldr r3, _0804E0C8 @ =0x020314E0
- ldr r2, [r3]
- adds r0, r2, #0
- adds r0, #0x25
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0804E084
- ldr r1, _0804E0CC @ =0x000005A4
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, #2
- beq _0804E084
- ldr r4, _0804E0D0 @ =0x0000061C
- adds r0, r2, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0804E084
- ldrb r0, [r2, #6]
- cmp r0, #0
- beq _0804E008
- movs r1, #0x95
- lsls r1, r1, #1
- adds r0, r2, r1
- ldrb r1, [r0]
- cmp r1, #0
- bne _0804E008
- ldr r4, _0804E0D4 @ =0x00000129
- adds r0, r2, r4
- strb r1, [r0]
- ldr r0, [r3]
- movs r2, #0x94
- lsls r2, r2, #1
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, #0
- bne _0804E008
- movs r0, #4
- strb r0, [r1]
- movs r0, #0x78
- bl m4aSongNumStart
- movs r0, #8
- bl sub_11B0
-_0804E008:
- ldr r2, _0804E0C8 @ =0x020314E0
- ldr r1, [r2]
- ldrb r0, [r1, #7]
- cmp r0, #0
- beq _0804E044
- movs r3, #0x95
- lsls r3, r3, #1
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, #0
- bne _0804E044
- ldr r4, _0804E0D4 @ =0x00000129
- adds r1, r1, r4
- movs r0, #1
- strb r0, [r1]
- ldr r0, [r2]
- movs r2, #0x94
- lsls r2, r2, #1
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, #0
- bne _0804E044
- movs r0, #4
- strb r0, [r1]
- movs r0, #0x78
- bl m4aSongNumStart
- movs r0, #8
- bl sub_11B0
-_0804E044:
- ldr r0, _0804E0C8 @ =0x020314E0
- ldr r3, [r0]
- ldrb r1, [r3, #8]
- mov r8, r0
- cmp r1, #0
- beq _0804E084
- movs r4, #0x95
- lsls r4, r4, #1
- adds r0, r3, r4
- ldrb r0, [r0]
- cmp r0, #0
- bne _0804E084
- ldr r0, _0804E0D4 @ =0x00000129
- adds r1, r3, r0
- movs r0, #2
- strb r0, [r1]
- mov r1, r8
- ldr r0, [r1]
- movs r2, #0x94
- lsls r2, r2, #1
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, #0
- bne _0804E096
- movs r0, #4
- strb r0, [r1]
- movs r0, #0x78
- bl m4aSongNumStart
- movs r0, #8
- bl sub_11B0
-_0804E084:
- ldr r0, _0804E0C8 @ =0x020314E0
- ldr r1, [r0]
- movs r3, #0x94
- lsls r3, r3, #1
- adds r1, r1, r3
- ldrb r1, [r1]
- mov r8, r0
- cmp r1, #0
- beq _0804E174
-_0804E096:
- mov r4, r8
- ldr r0, [r4]
- movs r2, #0x94
- lsls r2, r2, #1
- adds r0, r0, r2
- ldrb r1, [r0]
- subs r1, #1
- strb r1, [r0]
- ldr r1, [r4]
- adds r2, r1, r2
- ldrb r3, [r2]
- cmp r3, #0
- bne _0804E174
- ldr r2, _0804E0D4 @ =0x00000129
- adds r0, r1, r2
- movs r2, #0
- ldrsb r2, [r0, r2]
- cmp r2, #1
- beq _0804E10C
- cmp r2, #1
- bgt _0804E0D8
- cmp r2, #0
- beq _0804E0DE
- b _0804E166
- .align 2, 0
-_0804E0C8: .4byte 0x020314E0
-_0804E0CC: .4byte 0x000005A4
-_0804E0D0: .4byte 0x0000061C
-_0804E0D4: .4byte 0x00000129
-_0804E0D8:
- cmp r2, #2
- beq _0804E13C
- b _0804E166
-_0804E0DE:
- movs r3, #0x8c
- lsls r3, r3, #1
- adds r0, r1, r3
- movs r2, #6
- strb r2, [r0]
- mov r4, r8
- ldr r0, [r4]
- movs r1, #0x8e
- lsls r1, r1, #1
- adds r0, r0, r1
- movs r1, #0xff
- strb r1, [r0]
- ldr r0, [r4]
- adds r3, #2
- adds r0, r0, r3
- strb r2, [r0]
- ldr r0, [r4]
- movs r4, #0x8f
- lsls r4, r4, #1
- adds r1, r0, r4
- movs r0, #1
- strb r0, [r1]
- b _0804E166
-_0804E10C:
- ldr r3, _0804E134 @ =0x00000119
- adds r0, r1, r3
- movs r1, #6
- strb r1, [r0]
- mov r4, r8
- ldr r0, [r4]
- adds r3, #4
- adds r0, r0, r3
- strb r2, [r0]
- ldr r0, [r4]
- ldr r4, _0804E138 @ =0x0000011B
- adds r0, r0, r4
- strb r1, [r0]
- mov r1, r8
- ldr r0, [r1]
- adds r3, #2
- adds r0, r0, r3
- strb r2, [r0]
- b _0804E166
- .align 2, 0
-_0804E134: .4byte 0x00000119
-_0804E138: .4byte 0x0000011B
-_0804E13C:
- movs r4, #0x8d
- lsls r4, r4, #1
- adds r1, r1, r4
- movs r0, #6
- strb r0, [r1]
- mov r1, r8
- ldr r0, [r1]
- movs r2, #0x8f
- lsls r2, r2, #1
- adds r0, r0, r2
- movs r1, #1
- strb r1, [r0]
- mov r4, r8
- ldr r0, [r4]
- subs r2, #3
- adds r0, r0, r2
- strb r3, [r0]
- ldr r0, [r4]
- ldr r3, _0804E1CC @ =0x0000011F
- adds r0, r0, r3
- strb r1, [r0]
-_0804E166:
- mov r4, r8
- ldr r0, [r4]
- movs r2, #0x95
- lsls r2, r2, #1
- adds r1, r0, r2
- movs r0, #0x18
- strb r0, [r1]
-_0804E174:
- mov r3, r8
- ldr r0, [r3]
- movs r4, #0x95
- lsls r4, r4, #1
- adds r1, r0, r4
- ldrb r0, [r1]
- cmp r0, #0
- beq _0804E188
- subs r0, #1
- strb r0, [r1]
-_0804E188:
- movs r5, #0
- mov ip, r8
- movs r7, #0x8c
- lsls r7, r7, #1
- movs r6, #0x8e
- lsls r6, r6, #1
- mov r4, sp
-_0804E196:
- mov r1, ip
- ldr r0, [r1]
- adds r0, r0, r7
- adds r1, r0, r5
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- ble _0804E1AC
- subs r0, r2, #1
- strb r0, [r1]
-_0804E1AC:
- mov r2, ip
- ldr r1, [r2]
- adds r0, r1, r7
- adds r3, r0, r5
- movs r0, #0
- ldrsb r0, [r3, r0]
- cmp r0, #2
- bgt _0804E1D0
- adds r0, r1, r6
- adds r0, r0, r5
- movs r1, #0
- ldrsb r1, [r0, r1]
- movs r0, #0
- ldrsb r0, [r3, r0]
- muls r0, r1, r0
- b _0804E1E2
- .align 2, 0
-_0804E1CC: .4byte 0x0000011F
-_0804E1D0:
- adds r0, r1, r6
- adds r0, r0, r5
- movs r2, #0
- ldrsb r2, [r0, r2]
- movs r1, #0
- ldrsb r1, [r3, r1]
- movs r0, #6
- subs r0, r0, r1
- muls r0, r2, r0
-_0804E1E2:
- strh r0, [r4]
- adds r4, #2
- adds r5, #1
- cmp r5, #3
- ble _0804E196
- mov r3, r8
- ldr r1, [r3]
- mov r2, sp
- mov r0, sp
- ldrh r0, [r0, #2]
- ldrb r2, [r2]
- adds r0, r0, r2
- movs r3, #0x90
- lsls r3, r3, #1
- adds r1, r1, r3
- strb r0, [r1]
- mov r4, r8
- ldr r2, [r4]
- mov r1, sp
- mov r0, sp
- ldrb r0, [r0, #6]
- ldrb r1, [r1, #4]
- adds r0, r0, r1
- ldr r4, _0804E254 @ =0x00000121
- adds r1, r2, r4
- strb r0, [r1]
- mov r0, r8
- ldr r2, [r0]
- adds r0, r2, r3
- ldrh r1, [r0]
- cmp r1, #0
- bne _0804E232
- adds r4, #5
- adds r0, r2, r4
- strb r1, [r0]
- mov r2, r8
- ldr r0, [r2]
- adds r4, #1
- adds r0, r0, r4
- strb r1, [r0]
-_0804E232:
- mov r0, r8
- ldr r1, [r0]
- adds r0, r1, r3
- movs r2, #0
- ldrsb r2, [r0, r2]
- cmp r2, #0
- ble _0804E258
- movs r3, #0x91
- lsls r3, r3, #1
- adds r1, r1, r3
- ldrb r3, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- bge _0804E270
- subs r0, r3, #1
- b _0804E26E
- .align 2, 0
-_0804E254: .4byte 0x00000121
-_0804E258:
- cmp r2, #0
- bge _0804E270
- movs r4, #0x91
- lsls r4, r4, #1
- adds r1, r1, r4
- ldrb r3, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- ble _0804E270
- adds r0, r3, #1
-_0804E26E:
- strb r0, [r1]
-_0804E270:
- mov r0, r8
- ldr r1, [r0]
- ldr r2, _0804E294 @ =0x00000121
- adds r0, r1, r2
- movs r2, #0
- ldrsb r2, [r0, r2]
- cmp r2, #0
- ble _0804E29C
- ldr r3, _0804E298 @ =0x00000123
- adds r1, r1, r3
- ldrb r3, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- bge _0804E2B2
- subs r0, r3, #1
- b _0804E2B0
- .align 2, 0
-_0804E294: .4byte 0x00000121
-_0804E298: .4byte 0x00000123
-_0804E29C:
- cmp r2, #0
- bge _0804E2B2
- ldr r4, _0804E2F4 @ =0x00000123
- adds r1, r1, r4
- ldrb r3, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- ble _0804E2B2
- adds r0, r3, #1
-_0804E2B0:
- strb r0, [r1]
-_0804E2B2:
- mov r0, r8
- ldr r1, [r0]
- movs r2, #0x93
- lsls r2, r2, #1
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0804E2E6
- movs r3, #0x90
- lsls r3, r3, #1
- adds r0, r1, r3
- ldrb r0, [r0]
- movs r4, #0x91
- lsls r4, r4, #1
- adds r1, r1, r4
- strb r0, [r1]
- mov r0, r8
- ldr r1, [r0]
- subs r2, #5
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r3, #3
- adds r1, r1, r3
- strb r0, [r1]
-_0804E2E6:
- add sp, #8
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E2F4: .4byte 0x00000123
-
- thumb_func_start sub_4E2F8
-sub_4E2F8: @ 0x0804E2F8
- push {r4, r5, r6, r7, lr}
- ldr r0, _0804E3E4 @ =0x020314E0
- ldr r2, [r0]
- movs r1, #0x13
- ldrsb r1, [r2, r1]
- adds r5, r0, #0
- cmp r1, #0
- beq _0804E328
- ldrb r0, [r2, #5]
- cmp r0, #0
- beq _0804E328
- adds r0, r2, #0
- adds r0, #0x20
- ldrb r0, [r0]
- cmp r0, #0
- beq _0804E328
- adds r0, r2, #0
- adds r0, #0x21
- movs r1, #1
- strb r1, [r0]
- ldr r0, [r5]
- ldr r2, _0804E3E8 @ =0x00000163
- adds r0, r0, r2
- strb r1, [r0]
-_0804E328:
- adds r4, r5, #0
- ldr r1, [r4]
- adds r0, r1, #0
- adds r0, #0x21
- ldrb r0, [r0]
- cmp r0, #0
- beq _0804E372
- ldrb r0, [r1, #0xa]
- cmp r0, #0
- beq _0804E372
- ldr r0, _0804E3E8 @ =0x00000163
- adds r1, r1, r0
- movs r6, #0
- movs r0, #3
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, #0x20
- ldrb r0, [r0]
- cmp r0, #0
- beq _0804E36C
- movs r0, #7
- bl sub_11B0
- ldr r0, [r4]
- ldr r1, _0804E3EC @ =0x0000132C
- adds r0, r0, r1
- ldr r2, [r0]
- ldr r1, _0804E3F0 @ =0x0000FDB2
- strh r1, [r2, #0x32]
- ldr r0, [r0]
- strh r6, [r0, #0x30]
- movs r0, #0xcd
- bl m4aSongNumStart
-_0804E36C:
- ldr r0, [r5]
- adds r0, #0x21
- strb r6, [r0]
-_0804E372:
- ldr r7, _0804E3E4 @ =0x020314E0
- ldr r6, [r7]
- ldr r2, _0804E3EC @ =0x0000132C
- adds r3, r6, r2
- ldr r0, _0804E3F4 @ =0x00001334
- adds r4, r6, r0
- str r4, [r3]
- ldr r0, _0804E3F8 @ =0x02031520
- movs r2, #0x12
- ldrsh r1, [r4, r2]
- ldrh r5, [r0, #0x2a]
- movs r2, #0x2a
- ldrsh r0, [r0, r2]
- cmp r1, r0
- blt _0804E452
- movs r2, #0
- strh r5, [r4, #0x12]
- ldr r1, [r3]
- movs r4, #0x10
- ldrsh r0, [r1, r4]
- lsls r0, r0, #1
- strh r0, [r1, #0x28]
- ldr r1, [r3]
- movs r4, #0x12
- ldrsh r0, [r1, r4]
- lsls r0, r0, #1
- strh r0, [r1, #0x2a]
- ldr r1, [r3]
- movs r4, #0x10
- ldrsh r0, [r1, r4]
- lsls r0, r0, #8
- str r0, [r1, #0x34]
- ldr r1, [r3]
- movs r4, #0x12
- ldrsh r0, [r1, r4]
- lsls r0, r0, #8
- str r0, [r1, #0x38]
- ldr r0, [r3]
- strh r2, [r0, #0x30]
- ldr r0, [r3]
- strh r2, [r0, #0x32]
- ldr r4, _0804E3FC @ =gMain
- ldrh r0, [r4, #0x14]
- cmp r0, #0
- bne _0804E452
- ldr r1, _0804E400 @ =0x00000724
- adds r0, r6, r1
- ldrh r0, [r0]
- cmp r0, #0
- beq _0804E404
- movs r0, #4
- strh r0, [r4, #0x14]
- movs r0, #8
- strb r0, [r4, #0x11]
- movs r0, #0xcc
- strh r0, [r4, #0x12]
- b _0804E452
- .align 2, 0
-_0804E3E4: .4byte 0x020314E0
-_0804E3E8: .4byte 0x00000163
-_0804E3EC: .4byte 0x0000132C
-_0804E3F0: .4byte 0x0000FDB2
-_0804E3F4: .4byte 0x00001334
-_0804E3F8: .4byte 0x02031520
-_0804E3FC: .4byte gMain
-_0804E400: .4byte 0x00000724
-_0804E404:
- movs r0, #0x50
- strh r0, [r4, #0x14]
- movs r0, #0x10
- strb r0, [r4, #0x11]
- movs r0, #0xc8
- strh r0, [r4, #0x12]
- bl m4aMPlayAllStop
- movs r0, #0xd
- bl m4aSongNumStart
- bl sub_4E598
- ldr r2, [r7]
- movs r3, #0xf1
- lsls r3, r3, #1
- adds r0, r2, r3
- movs r1, #0
- ldrsb r1, [r0, r1]
- cmp r1, #2
- bne _0804E452
- movs r0, #9
- ldrsb r0, [r4, r0]
- cmp r0, #0
- bne _0804E452
- movs r4, #0xdf
- lsls r4, r4, #1
- adds r0, r2, r4
- strb r1, [r0]
- ldr r1, [r7]
- movs r0, #0xe0
- lsls r0, r0, #1
- adds r2, r1, r0
- movs r0, #0xc8
- lsls r0, r0, #2
- strh r0, [r2]
- adds r1, r1, r3
- movs r0, #0
- strb r0, [r1]
-_0804E452:
- ldr r0, _0804E464 @ =0x020314E0
- ldr r0, [r0]
- adds r0, #0x20
- movs r1, #0
- strb r1, [r0]
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E464: .4byte 0x020314E0
-
- thumb_func_start sub_4E468
-sub_4E468: @ 0x0804E468
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- ldr r2, _0804E4C4 @ =0x020314E0
- ldr r5, [r2]
- ldr r0, _0804E4C8 @ =0x0000132C
- mov r8, r0
- adds r4, r5, r0
- ldr r1, _0804E4CC @ =0x00001334
- adds r3, r5, r1
- str r3, [r4]
- ldr r6, _0804E4D0 @ =0x02031520
- movs r7, #0x12
- ldrsh r1, [r3, r7]
- movs r7, #0x2a
- ldrsh r0, [r6, r7]
- mov ip, r2
- cmp r1, r0
- blt _0804E572
- movs r1, #0
- strh r1, [r3, #0x30]
- ldr r0, [r4]
- strh r1, [r0, #0x32]
- ldr r3, _0804E4D4 @ =gMain
- ldrb r1, [r3, #0xf]
- movs r0, #0x40
- ands r0, r1
- lsls r0, r0, #0x18
- lsrs r2, r0, #0x18
- cmp r2, #0
- beq _0804E4DC
- ldr r0, _0804E4D8 @ =0x00000386
- adds r1, r5, r0
- movs r0, #1
- strb r0, [r1]
- movs r0, #0x80
- strb r0, [r3, #0xf]
- mov r1, ip
- ldr r0, [r1]
- add r0, r8
- ldr r1, [r0]
- ldrh r0, [r6, #0x2a]
- subs r0, #0xa
- strh r0, [r1, #0x12]
- b _0804E542
- .align 2, 0
-_0804E4C4: .4byte 0x020314E0
-_0804E4C8: .4byte 0x0000132C
-_0804E4CC: .4byte 0x00001334
-_0804E4D0: .4byte 0x02031520
-_0804E4D4: .4byte gMain
-_0804E4D8: .4byte 0x00000386
-_0804E4DC:
- ldr r0, [r4]
- movs r1, #1
- strb r1, [r0]
- mov r3, ip
- ldr r0, [r3]
- movs r7, #0xe2
- lsls r7, r7, #2
- adds r0, r0, r7
- strb r1, [r0]
- ldr r3, [r3]
- ldr r1, _0804E57C @ =0x00000392
- adds r0, r3, r1
- strh r2, [r0]
- mov r7, r8
- adds r2, r3, r7
- ldr r1, [r2]
- ldrh r0, [r6, #0x26]
- strh r0, [r1, #0x10]
- ldr r1, [r2]
- ldrh r0, [r6, #0x28]
- strh r0, [r1, #0x12]
- ldr r4, _0804E580 @ =0x000005F6
- adds r3, r3, r4
- ldrb r1, [r3]
- movs r0, #0
- ldrsb r0, [r3, r0]
- cmp r0, #0
- ble _0804E518
- subs r0, r1, #1
- strb r0, [r3]
-_0804E518:
- mov r0, ip
- ldr r1, [r0]
- movs r3, #0xbf
- lsls r3, r3, #3
- adds r2, r1, r3
- movs r0, #0xe1
- lsls r0, r0, #4
- strh r0, [r2]
- ldr r2, _0804E584 @ =0x040000D4
- adds r1, r1, r4
- movs r0, #0
- ldrsb r0, [r1, r0]
- lsls r0, r0, #5
- ldr r1, _0804E588 @ =0x08137E14
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _0804E58C @ =0x05000220
- str r0, [r2, #4]
- ldr r0, _0804E590 @ =0x80000010
- str r0, [r2, #8]
- ldr r0, [r2, #8]
-_0804E542:
- mov r7, ip
- ldr r1, [r7]
- ldr r0, _0804E594 @ =0x0000132C
- adds r1, r1, r0
- ldr r2, [r1]
- movs r3, #0x10
- ldrsh r0, [r2, r3]
- lsls r0, r0, #1
- strh r0, [r2, #0x28]
- ldr r2, [r1]
- movs r7, #0x12
- ldrsh r0, [r2, r7]
- lsls r0, r0, #1
- strh r0, [r2, #0x2a]
- ldr r2, [r1]
- movs r3, #0x10
- ldrsh r0, [r2, r3]
- lsls r0, r0, #8
- str r0, [r2, #0x34]
- ldr r1, [r1]
- movs r7, #0x12
- ldrsh r0, [r1, r7]
- lsls r0, r0, #8
- str r0, [r1, #0x38]
-_0804E572:
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E57C: .4byte 0x00000392
-_0804E580: .4byte 0x000005F6
-_0804E584: .4byte 0x040000D4
-_0804E588: .4byte 0x08137E14
-_0804E58C: .4byte 0x05000220
-_0804E590: .4byte 0x80000010
-_0804E594: .4byte 0x0000132C
-
- thumb_func_start sub_4E598
-sub_4E598: @ 0x0804E598
- push {r4, r5, r6, r7, lr}
- ldr r0, _0804E708 @ =0x020314E0
- ldr r2, [r0]
- movs r5, #0
- movs r3, #0
- ldr r1, _0804E70C @ =0x000027D7
- strh r1, [r2, #0x18]
- movs r1, #0x13
- ldrsb r1, [r2, r1]
- adds r4, r0, #0
- cmp r1, #2
- bne _0804E5B4
- movs r0, #5
- strb r0, [r2, #0x17]
-_0804E5B4:
- ldr r1, [r4]
- movs r0, #0x13
- ldrsb r0, [r1, r0]
- cmp r0, #7
- bne _0804E5C2
- movs r0, #6
- strb r0, [r1, #0x17]
-_0804E5C2:
- ldr r1, [r4]
- movs r0, #0x13
- ldrsb r0, [r1, r0]
- cmp r0, #4
- bne _0804E5D0
- movs r0, #0xa
- strb r0, [r1, #0x17]
-_0804E5D0:
- ldr r1, [r4]
- movs r0, #0x13
- ldrsb r0, [r1, r0]
- cmp r0, #5
- bne _0804E5DE
- movs r0, #6
- strb r0, [r1, #0x17]
-_0804E5DE:
- ldr r1, [r4]
- movs r0, #0x13
- ldrsb r0, [r1, r0]
- cmp r0, #6
- bne _0804E5EC
- movs r0, #8
- strb r0, [r1, #0x17]
-_0804E5EC:
- ldr r0, [r4]
- ldr r1, _0804E710 @ =0x00000714
- adds r0, r0, r1
- strb r5, [r0]
- ldr r0, [r4]
- movs r2, #0xe2
- lsls r2, r2, #3
- adds r0, r0, r2
- strb r5, [r0]
- ldr r0, [r4]
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r6, _0804E714 @ =0x00000711
- adds r0, r0, r6
- strb r1, [r0]
- ldr r0, [r4]
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r7, _0804E718 @ =0x00000712
- adds r0, r0, r7
- strb r1, [r0]
- ldr r0, [r4]
- adds r2, r0, r2
- ldrb r1, [r2]
- ldr r2, _0804E71C @ =0x00000713
- adds r0, r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- subs r6, #0xfd
- adds r1, r0, r6
- strh r3, [r1]
- movs r7, #0x82
- lsls r7, r7, #2
- adds r1, r0, r7
- strh r3, [r1]
- ldr r1, _0804E720 @ =0x0000020A
- adds r0, r0, r1
- strb r5, [r0]
- ldr r2, [r4]
- movs r6, #0xf1
- lsls r6, r6, #1
- adds r0, r2, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- ldr r6, _0804E724 @ =gMain
- cmp r0, #2
- bne _0804E654
- movs r0, #9
- ldrsb r0, [r6, r0]
- cmp r0, #0
- bne _0804E69C
-_0804E654:
- movs r7, #0xe3
- lsls r7, r7, #1
- adds r0, r2, r7
- strh r3, [r0]
- movs r1, #0xe4
- lsls r1, r1, #1
- adds r0, r2, r1
- strh r3, [r0]
- movs r5, #0xe6
- lsls r5, r5, #1
- adds r0, r2, r5
- strh r3, [r0]
- adds r7, #4
- adds r0, r2, r7
- strh r3, [r0]
- adds r1, #0xc
- adds r0, r2, r1
- strh r3, [r0]
- adds r5, #0xa
- adds r1, r2, r5
- ldr r0, _0804E728 @ =0x0000FFFC
- strh r0, [r1]
- adds r7, #0xe
- adds r0, r2, r7
- movs r1, #0x80
- lsls r1, r1, #1
- strh r1, [r0]
- adds r5, #4
- adds r0, r2, r5
- strh r1, [r0]
- subs r7, #0xa
- adds r0, r2, r7
- strh r3, [r0]
- adds r1, #0xd0
- adds r0, r2, r1
- strh r3, [r0]
-_0804E69C:
- ldr r0, [r4]
- movs r2, #0xe3
- lsls r2, r2, #3
- adds r0, r0, r2
- movs r3, #0
- strb r3, [r0]
- ldr r0, [r4]
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r5, _0804E72C @ =0x00000719
- adds r0, r0, r5
- strb r1, [r0]
- ldr r0, [r4]
- adds r2, r0, r2
- ldrb r1, [r2]
- ldr r7, _0804E730 @ =0x0000071A
- adds r0, r0, r7
- strb r1, [r0]
- ldr r1, [r4]
- movs r2, #0xc2
- lsls r2, r2, #2
- adds r0, r1, r2
- strh r3, [r0]
- movs r2, #9
- ldrsb r2, [r6, r2]
- cmp r2, #0
- beq _0804E748
- ldr r3, _0804E734 @ =0x000005F6
- adds r1, r1, r3
- movs r0, #3
- strb r0, [r1]
- ldr r1, [r4]
- movs r5, #0xbf
- lsls r5, r5, #3
- adds r2, r1, r5
- movs r0, #0xe1
- lsls r0, r0, #4
- strh r0, [r2]
- ldr r2, _0804E738 @ =0x040000D4
- adds r1, r1, r3
- movs r0, #0
- ldrsb r0, [r1, r0]
- lsls r0, r0, #5
- ldr r1, _0804E73C @ =0x08137E14
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _0804E740 @ =0x05000220
- str r0, [r2, #4]
- ldr r0, _0804E744 @ =0x80000010
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- adds r6, r1, #0
- b _0804E75C
- .align 2, 0
-_0804E708: .4byte 0x020314E0
-_0804E70C: .4byte 0x000027D7
-_0804E710: .4byte 0x00000714
-_0804E714: .4byte 0x00000711
-_0804E718: .4byte 0x00000712
-_0804E71C: .4byte 0x00000713
-_0804E720: .4byte 0x0000020A
-_0804E724: .4byte gMain
-_0804E728: .4byte 0x0000FFFC
-_0804E72C: .4byte 0x00000719
-_0804E730: .4byte 0x0000071A
-_0804E734: .4byte 0x000005F6
-_0804E738: .4byte 0x040000D4
-_0804E73C: .4byte 0x08137E14
-_0804E740: .4byte 0x05000220
-_0804E744: .4byte 0x80000010
-_0804E748:
- ldr r6, _0804E7E8 @ =0x000005F6
- adds r1, r1, r6
- movs r0, #0
- strb r0, [r1]
- ldr r0, [r4]
- movs r7, #0xbf
- lsls r7, r7, #3
- adds r0, r0, r7
- strh r2, [r0]
- ldr r6, _0804E7EC @ =0x08137E14
-_0804E75C:
- adds r3, r4, #0
- ldr r0, [r3]
- ldr r1, _0804E7F0 @ =0x000005F7
- adds r0, r0, r1
- movs r5, #0
- strb r5, [r0]
- ldr r1, _0804E7F4 @ =0x040000D4
- ldr r2, [r3]
- ldr r7, _0804E7E8 @ =0x000005F6
- adds r0, r2, r7
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #5
- adds r0, r0, r6
- str r0, [r1]
- ldr r0, _0804E7F8 @ =0x05000220
- str r0, [r1, #4]
- ldr r0, _0804E7FC @ =0x80000010
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- ldr r1, _0804E800 @ =0x0000070E
- adds r0, r2, r1
- ldrb r0, [r0]
- ldr r6, _0804E804 @ =0x0000062F
- adds r2, r2, r6
- strb r0, [r2]
- ldr r0, [r3]
- adds r0, r0, r1
- movs r2, #1
- strb r2, [r0]
- ldr r1, [r3]
- ldr r7, _0804E808 @ =0x000002A5
- adds r0, r1, r7
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x2d
- bne _0804E7D8
- movs r6, #0xa9
- lsls r6, r6, #2
- adds r0, r1, r6
- strb r5, [r0]
- ldr r0, [r3]
- adds r0, r0, r7
- strb r5, [r0]
- ldr r1, [r3]
- adds r6, #2
- adds r0, r1, r6
- strh r5, [r0]
- ldr r7, _0804E80C @ =0x0000016F
- adds r0, r1, r7
- strb r2, [r0]
- ldr r0, [r3]
- movs r1, #0xba
- lsls r1, r1, #1
- adds r2, r0, r1
- movs r1, #0x40
- strh r1, [r2]
- ldr r2, _0804E810 @ =0x000002AA
- adds r0, r0, r2
- strh r5, [r0]
-_0804E7D8:
- ldr r0, [r4]
- movs r6, #0xc0
- lsls r6, r6, #2
- adds r0, r0, r6
- strb r5, [r0]
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E7E8: .4byte 0x000005F6
-_0804E7EC: .4byte 0x08137E14
-_0804E7F0: .4byte 0x000005F7
-_0804E7F4: .4byte 0x040000D4
-_0804E7F8: .4byte 0x05000220
-_0804E7FC: .4byte 0x80000010
-_0804E800: .4byte 0x0000070E
-_0804E804: .4byte 0x0000062F
-_0804E808: .4byte 0x000002A5
-_0804E80C: .4byte 0x0000016F
-_0804E810: .4byte 0x000002AA
-
- thumb_func_start sub_4E814
-sub_4E814: @ 0x0804E814
- push {r4, r5, r6, lr}
- ldr r6, _0804E910 @ =0x020314E0
- ldr r4, [r6]
- ldr r0, _0804E914 @ =0x0000070C
- adds r5, r4, r0
- ldrh r0, [r5]
- movs r1, #0x28
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #0x14
- bl __udivsi3
- ldr r1, _0804E918 @ =0x00000734
- adds r4, r4, r1
- strh r0, [r4]
- ldrh r0, [r5]
- adds r0, #1
- strh r0, [r5]
- bl sub_4EA44
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xe7
- bgt _0804E854
- bl sub_4EDC0
- bl sub_4EE74
-_0804E854:
- ldr r0, [r6]
- adds r0, #0x6a
- ldrh r0, [r0]
- subs r0, #0x51
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0xa6
- bhi _0804E868
- bl sub_4EF38
-_0804E868:
- bl sub_4F0F0
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x6f
- bgt _0804E87C
- bl sub_4F258
-_0804E87C:
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x70
- ble _0804E88C
- bl sub_4F028
-_0804E88C:
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x68
- ble _0804E8A0
- bl sub_4F4B4
- bl sub_4F660
-_0804E8A0:
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xff
- bgt _0804E8B0
- bl sub_4F30C
-_0804E8B0:
- bl sub_4F2B8
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x6e
- ble _0804E8C4
- bl sub_4EAB0
-_0804E8C4:
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xb2
- ble _0804E8DC
- bl sub_4EAF8
- bl sub_4EBD0
- bl sub_4E920
-_0804E8DC:
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xca
- ble _0804E8EC
- bl sub_4ECDC
-_0804E8EC:
- ldr r0, [r6]
- ldr r1, _0804E91C @ =0x00000724
- adds r2, r0, r1
- ldrh r1, [r2]
- cmp r1, #0
- beq _0804E908
- adds r0, #0x25
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0804E908
- subs r0, r1, #1
- strh r0, [r2]
-_0804E908:
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E910: .4byte 0x020314E0
-_0804E914: .4byte 0x0000070C
-_0804E918: .4byte 0x00000734
-_0804E91C: .4byte 0x00000724
-
- thumb_func_start sub_4E920
-sub_4E920: @ 0x0804E920
- push {r4, r5, lr}
- ldr r1, _0804E9CC @ =0x086B08CA
- ldr r4, _0804E9D0 @ =0x020314E0
- ldr r0, [r4]
- ldr r2, _0804E9D4 @ =0x00000716
- adds r3, r0, r2
- ldrb r2, [r3]
- lsls r0, r2, #1
- adds r0, r0, r1
- ldrh r5, [r0]
- cmp r2, #0
- beq _0804E95C
- subs r0, r2, #1
- strb r0, [r3]
- ldr r0, [r4]
- ldr r1, _0804E9D4 @ =0x00000716
- adds r0, r0, r1
- ldrb r0, [r0]
- cmp r0, #3
- bne _0804E95C
- movs r0, #0x73
- bl m4aSongNumStart
- ldr r1, [r4]
- movs r0, #0xfa
- lsls r0, r0, #1
- str r0, [r1, #0x3c]
- movs r0, #7
- bl sub_11B0
-_0804E95C:
- ldr r0, _0804E9D0 @ =0x020314E0
- ldr r0, [r0]
- ldr r2, _0804E9D8 @ =0x00000717
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r3, r0, #4
- subs r3, r3, r0
- lsls r3, r3, #2
- lsls r0, r5, #0x10
- asrs r0, r0, #0x10
- lsls r2, r0, #2
- adds r2, r2, r0
- lsls r2, r2, #2
- ldr r0, _0804E9DC @ =0x086B08D4
- adds r2, r2, r0
- adds r2, r3, r2
- adds r0, #0x28
- adds r3, r3, r0
- ldr r0, _0804E9E0 @ =0x040000D4
- ldr r1, [r2]
- str r1, [r0]
- ldr r1, [r3]
- str r1, [r0, #4]
- ldr r1, _0804E9E4 @ =0x80000010
- str r1, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, [r2, #4]
- str r1, [r0]
- ldr r1, [r3, #4]
- str r1, [r0, #4]
- ldr r5, _0804E9E8 @ =0x80000020
- str r5, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, [r2, #8]
- str r1, [r0]
- ldr r1, [r3, #8]
- str r1, [r0, #4]
- ldr r4, _0804E9EC @ =0x80000030
- str r4, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, [r2, #0xc]
- str r1, [r0]
- ldr r1, [r3, #0xc]
- str r1, [r0, #4]
- str r4, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, [r2, #0x10]
- str r1, [r0]
- ldr r1, [r3, #0x10]
- str r1, [r0, #4]
- str r5, [r0, #8]
- ldr r0, [r0, #8]
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E9CC: .4byte 0x086B08CA
-_0804E9D0: .4byte 0x020314E0
-_0804E9D4: .4byte 0x00000716
-_0804E9D8: .4byte 0x00000717
-_0804E9DC: .4byte 0x086B08D4
-_0804E9E0: .4byte 0x040000D4
-_0804E9E4: .4byte 0x80000010
-_0804E9E8: .4byte 0x80000020
-_0804E9EC: .4byte 0x80000030
-
- thumb_func_start sub_4E9F0
-sub_4E9F0: @ 0x0804E9F0
- push {r4, lr}
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- lsls r2, r0, #1
- adds r2, r2, r0
- lsls r2, r2, #2
- ldr r3, _0804EA34 @ =0x086B094C
- adds r2, r2, r3
- adds r4, r3, #0
- adds r4, #0x18
- ldr r1, _0804EA38 @ =0x040000D4
- ldr r0, [r2]
- str r0, [r1]
- ldr r0, [r3, #0x18]
- str r0, [r1, #4]
- ldr r3, _0804EA3C @ =0x80000060
- str r3, [r1, #8]
- ldr r0, [r1, #8]
- ldr r0, [r2, #4]
- str r0, [r1]
- ldr r0, [r4, #4]
- str r0, [r1, #4]
- str r3, [r1, #8]
- ldr r0, [r1, #8]
- ldr r0, [r2, #8]
- str r0, [r1]
- ldr r0, [r4, #8]
- str r0, [r1, #4]
- ldr r0, _0804EA40 @ =0x80000010
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804EA34: .4byte 0x086B094C
-_0804EA38: .4byte 0x040000D4
-_0804EA3C: .4byte 0x80000060
-_0804EA40: .4byte 0x80000010
-
- thumb_func_start sub_4EA44
-sub_4EA44: @ 0x0804EA44
- push {r4, r5, lr}
- ldr r0, _0804EA9C @ =0x020314E0
- ldr r0, [r0]
- ldr r1, _0804EAA0 @ =0x0000070E
- adds r0, r0, r1
- movs r5, #0
- ldrsb r5, [r0, r5]
- adds r0, r5, #0
- movs r1, #0xa
- bl __divsi3
- adds r4, r0, #0
- lsls r4, r4, #0x18
- asrs r4, r4, #8
- lsrs r4, r4, #0x10
- adds r0, r5, #0
- movs r1, #0xa
- bl __modsi3
- lsls r0, r0, #0x18
- lsls r4, r4, #0x10
- asrs r4, r4, #0xd
- ldr r3, _0804EAA4 @ =0x086B0970
- adds r4, r4, r3
- ldr r2, _0804EAA8 @ =0x040000D4
- ldr r1, [r4]
- str r1, [r2]
- ldr r1, [r3, #0x50]
- str r1, [r2, #4]
- ldr r1, _0804EAAC @ =0x80000010
- str r1, [r2, #8]
- ldr r4, [r2, #8]
- asrs r0, r0, #0x15
- adds r4, r0, r3
- ldr r0, [r4, #4]
- str r0, [r2]
- ldr r0, [r3, #0x54]
- str r0, [r2, #4]
- str r1, [r2, #8]
- ldr r0, [r2, #8]
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804EA9C: .4byte 0x020314E0
-_0804EAA0: .4byte 0x0000070E
-_0804EAA4: .4byte 0x086B0970
-_0804EAA8: .4byte 0x040000D4
-_0804EAAC: .4byte 0x80000010
-
- thumb_func_start sub_4EAB0
-sub_4EAB0: @ 0x0804EAB0
- push {r4, lr}
- ldr r0, _0804EAE8 @ =0x020314E0
- ldr r0, [r0]
- movs r1, #0xe6
- lsls r1, r1, #3
- adds r0, r0, r1
- movs r2, #0
- ldrsb r2, [r0, r2]
- lsls r2, r2, #3
- ldr r3, _0804EAEC @ =0x086B09C8
- adds r2, r2, r3
- ldr r0, _0804EAF0 @ =0x040000D4
- ldr r1, [r2]
- str r1, [r0]
- ldr r1, [r3, #0x18]
- str r1, [r0, #4]
- ldr r4, _0804EAF4 @ =0x80000020
- str r4, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, [r2, #4]
- str r1, [r0]
- ldr r1, [r3, #0x1c]
- str r1, [r0, #4]
- str r4, [r0, #8]
- ldr r0, [r0, #8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804EAE8: .4byte 0x020314E0
-_0804EAEC: .4byte 0x086B09C8
-_0804EAF0: .4byte 0x040000D4
-_0804EAF4: .4byte 0x80000020
-
- thumb_func_start sub_4EAF8
-sub_4EAF8: @ 0x0804EAF8
- push {r4, r5, r6, r7, lr}
- ldr r7, _0804EBB4 @ =0x020314E0
- ldr r5, [r7]
- movs r0, #0xe4
- lsls r0, r0, #3
- adds r1, r5, r0
- ldrb r0, [r1]
- cmp r0, #0
- beq _0804EB5E
- ldr r6, _0804EBB8 @ =0x00000721
- adds r0, r5, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- ldr r4, _0804EBBC @ =0x0000071D
- adds r5, r5, r4
- adds r5, r5, r0
- ldrb r0, [r1]
- movs r1, #0x24
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- movs r1, #0x12
- bl __udivsi3
- movs r1, #1
- subs r1, r1, r0
- strb r1, [r5]
- ldr r0, [r7]
- ldr r2, _0804EBC0 @ =0x00000722
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, r1, #0x18
- asrs r1, r1, #0x18
- adds r4, r0, r4
- adds r1, r4, r1
- adds r0, r0, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r4, r4, r0
- ldrb r0, [r4]
- strb r0, [r1]
- ldr r1, [r7]
- movs r0, #0xe4
- lsls r0, r0, #3
- adds r1, r1, r0
- ldrb r0, [r1]
- subs r0, #1
- strb r0, [r1]
-_0804EB5E:
- movs r1, #0
- ldr r0, [r7]
- ldr r2, _0804EBBC @ =0x0000071D
- adds r7, r0, r2
- ldr r6, _0804EBC4 @ =0x086B09E8
- movs r0, #0x30
- adds r0, r0, r6
- mov ip, r0
- ldr r4, _0804EBC8 @ =0x040000D4
- ldr r5, _0804EBCC @ =0x80000020
-_0804EB72:
- lsls r3, r1, #0x10
- asrs r3, r3, #0x10
- lsls r2, r3, #3
- subs r2, r2, r3
- lsls r2, r2, #3
- adds r0, r7, r3
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r1, r1, #3
- adds r1, r1, r6
- adds r1, r2, r1
- add r2, ip
- ldr r0, [r1]
- str r0, [r4]
- ldr r0, [r2]
- str r0, [r4, #4]
- str r5, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, [r1, #4]
- str r0, [r4]
- ldr r0, [r2, #4]
- str r0, [r4, #4]
- str r5, [r4, #8]
- ldr r0, [r4, #8]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r1, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #2
- ble _0804EB72
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804EBB4: .4byte 0x020314E0
-_0804EBB8: .4byte 0x00000721
-_0804EBBC: .4byte 0x0000071D
-_0804EBC0: .4byte 0x00000722
-_0804EBC4: .4byte 0x086B09E8
-_0804EBC8: .4byte 0x040000D4
-_0804EBCC: .4byte 0x80000020
-
- thumb_func_start sub_4EBD0
-sub_4EBD0: @ 0x0804EBD0
- push {r4, r5, r6, r7, lr}
- ldr r5, _0804EC38 @ =0x020314E0
- ldr r4, [r5]
- ldr r1, _0804EC3C @ =0x00000714
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _0804EC7A
- ldr r2, _0804EC40 @ =0x00000715
- adds r1, r4, r2
- ldrb r0, [r1]
- cmp r0, #0
- beq _0804EC4C
- movs r1, #0x24
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- movs r1, #0x12
- bl __udivsi3
- movs r2, #0xe2
- lsls r2, r2, #3
- adds r1, r4, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r3, _0804EC44 @ =0x00000711
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r1, r0, r2
- ldrb r1, [r1]
- adds r3, #1
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r2, r0, r2
- ldrb r1, [r2]
- ldr r2, _0804EC48 @ =0x00000713
- adds r0, r0, r2
- strb r1, [r0]
- ldr r1, [r5]
- adds r3, #3
- adds r1, r1, r3
- ldrb r0, [r1]
- subs r0, #1
- strb r0, [r1]
- b _0804EC7A
- .align 2, 0
-_0804EC38: .4byte 0x020314E0
-_0804EC3C: .4byte 0x00000714
-_0804EC40: .4byte 0x00000715
-_0804EC44: .4byte 0x00000711
-_0804EC48: .4byte 0x00000713
-_0804EC4C:
- movs r2, #0xe2
- lsls r2, r2, #3
- adds r1, r4, r2
- movs r0, #1
- strb r0, [r1]
- ldr r0, [r5]
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r3, _0804ECC4 @ =0x00000711
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r1, r0, r2
- ldrb r1, [r1]
- adds r3, #1
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r2, r0, r2
- ldrb r1, [r2]
- ldr r2, _0804ECC8 @ =0x00000713
- adds r0, r0, r2
- strb r1, [r0]
-_0804EC7A:
- movs r2, #0
- ldr r0, _0804ECCC @ =0x020314E0
- ldr r0, [r0]
- movs r3, #0xe2
- lsls r3, r3, #3
- adds r5, r0, r3
- ldr r4, _0804ECD0 @ =0x086B0BC4
- adds r7, r4, #0
- adds r7, #8
- ldr r3, _0804ECD4 @ =0x040000D4
- ldr r6, _0804ECD8 @ =0x80000020
-_0804EC90:
- lsls r1, r2, #0x10
- asrs r1, r1, #0x10
- lsls r2, r1, #4
- adds r0, r5, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #2
- adds r0, r0, r4
- adds r0, r2, r0
- adds r2, r2, r7
- ldr r0, [r0]
- str r0, [r3]
- ldr r0, [r2]
- str r0, [r3, #4]
- str r6, [r3, #8]
- ldr r0, [r3, #8]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r2, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #3
- ble _0804EC90
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804ECC4: .4byte 0x00000711
-_0804ECC8: .4byte 0x00000713
-_0804ECCC: .4byte 0x020314E0
-_0804ECD0: .4byte 0x086B0BC4
-_0804ECD4: .4byte 0x040000D4
-_0804ECD8: .4byte 0x80000020
-
- thumb_func_start sub_4ECDC
-sub_4ECDC: @ 0x0804ECDC
- push {r4, r5, lr}
- ldr r0, _0804ECF8 @ =0x020314E0
- ldr r3, [r0]
- ldr r2, _0804ECFC @ =0x00000724
- adds r1, r3, r2
- ldrh r2, [r1]
- movs r1, #0x96
- lsls r1, r1, #1
- adds r5, r0, #0
- cmp r2, r1
- bls _0804ED04
- ldr r0, _0804ED00 @ =0x00000726
- adds r1, r3, r0
- b _0804ED1A
- .align 2, 0
-_0804ECF8: .4byte 0x020314E0
-_0804ECFC: .4byte 0x00000724
-_0804ED00: .4byte 0x00000726
-_0804ED04:
- cmp r2, #0
- beq _0804ED40
- adds r0, r3, #0
- adds r0, #0x25
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _0804ED24
- ldr r2, _0804ED20 @ =0x00000726
- adds r1, r3, r2
-_0804ED1A:
- movs r0, #1
- strb r0, [r1]
- b _0804ED46
- .align 2, 0
-_0804ED20: .4byte 0x00000726
-_0804ED24:
- ldr r0, _0804ED38 @ =gMain
- ldr r0, [r0, #0x50]
- movs r1, #0xf
- ands r0, r1
- lsrs r0, r0, #3
- ldr r2, _0804ED3C @ =0x00000726
- adds r1, r3, r2
- strb r0, [r1]
- b _0804ED46
- .align 2, 0
-_0804ED38: .4byte gMain
-_0804ED3C: .4byte 0x00000726
-_0804ED40:
- ldr r1, _0804EDA8 @ =0x00000726
- adds r0, r3, r1
- strb r2, [r0]
-_0804ED46:
- ldr r0, [r5]
- ldr r2, _0804EDA8 @ =0x00000726
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #4
- ldr r1, _0804EDAC @ =0x086B0A90
- adds r3, r0, r1
- adds r4, r1, #0
- adds r4, #0x20
- ldr r2, _0804EDB0 @ =0x040000D4
- ldr r0, [r3]
- str r0, [r2]
- ldr r0, [r1, #0x20]
- str r0, [r2, #4]
- ldr r1, _0804EDB4 @ =0x80000060
- str r1, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #4]
- str r0, [r2]
- ldr r0, [r4, #4]
- str r0, [r2, #4]
- str r1, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r5]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xd7
- ble _0804EDA0
- ldr r0, [r3, #8]
- str r0, [r2]
- ldr r0, [r4, #8]
- str r0, [r2, #4]
- ldr r0, _0804EDB8 @ =0x80000050
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #0xc]
- str r0, [r2]
- ldr r0, [r4, #0xc]
- str r0, [r2, #4]
- ldr r0, _0804EDBC @ =0x80000020
- str r0, [r2, #8]
- ldr r0, [r2, #8]
-_0804EDA0:
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804EDA8: .4byte 0x00000726
-_0804EDAC: .4byte 0x086B0A90
-_0804EDB0: .4byte 0x040000D4
-_0804EDB4: .4byte 0x80000060
-_0804EDB8: .4byte 0x80000050
-_0804EDBC: .4byte 0x80000020
-
- thumb_func_start sub_4EDC0
-sub_4EDC0: @ 0x0804EDC0
- push {r4, r5, r6, lr}
- movs r3, #0
- ldr r0, _0804EE60 @ =0x020314E0
- ldr r2, [r0]
- movs r4, #0xe5
- lsls r4, r4, #3
- adds r1, r2, r4
- ldrb r1, [r1]
- lsls r1, r1, #0x18
- asrs r1, r1, #0x18
- adds r6, r0, #0
- cmp r1, #0
- ble _0804EDE8
- ldr r1, _0804EE64 @ =0x00000734
- adds r0, r2, r1
- ldrh r1, [r0]
- movs r0, #1
- subs r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r3, r0, #0x10
-_0804EDE8:
- lsls r0, r3, #0x10
- asrs r0, r0, #0xc
- ldr r3, _0804EE68 @ =0x086B0AC0
- adds r4, r0, r3
- adds r5, r3, #0
- adds r5, #0x20
- adds r0, r2, #0
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x30
- ble _0804EE30
- cmp r0, #0xd7
- bgt _0804EE14
- ldr r1, _0804EE6C @ =0x040000D4
- ldr r0, [r4]
- str r0, [r1]
- ldr r0, [r3, #0x20]
- str r0, [r1, #4]
- ldr r0, _0804EE70 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804EE14:
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xdf
- bgt _0804EE30
- ldr r1, _0804EE6C @ =0x040000D4
- ldr r0, [r4, #4]
- str r0, [r1]
- ldr r0, [r5, #4]
- str r0, [r1, #4]
- ldr r0, _0804EE70 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804EE30:
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x40
- ble _0804EE58
- ldr r0, _0804EE6C @ =0x040000D4
- ldr r1, [r4, #8]
- str r1, [r0]
- ldr r1, [r5, #8]
- str r1, [r0, #4]
- ldr r2, _0804EE70 @ =0x80000040
- str r2, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, [r4, #0xc]
- str r1, [r0]
- ldr r1, [r5, #0xc]
- str r1, [r0, #4]
- str r2, [r0, #8]
- ldr r0, [r0, #8]
-_0804EE58:
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804EE60: .4byte 0x020314E0
-_0804EE64: .4byte 0x00000734
-_0804EE68: .4byte 0x086B0AC0
-_0804EE6C: .4byte 0x040000D4
-_0804EE70: .4byte 0x80000040
-
- thumb_func_start sub_4EE74
-sub_4EE74: @ 0x0804EE74
- push {r4, r5, r6, lr}
- movs r3, #0
- ldr r0, _0804EF18 @ =0x020314E0
- ldr r2, [r0]
- ldr r4, _0804EF1C @ =0x00000729
- adds r1, r2, r4
- ldrb r1, [r1]
- lsls r1, r1, #0x18
- asrs r1, r1, #0x18
- adds r6, r0, #0
- cmp r1, #0
- ble _0804EE9A
- ldr r1, _0804EF20 @ =0x00000734
- adds r0, r2, r1
- ldrh r1, [r0]
- movs r0, #1
- subs r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r3, r0, #0x10
-_0804EE9A:
- lsls r0, r3, #0x10
- asrs r0, r0, #0xc
- ldr r3, _0804EF24 @ =0x086B0AF0
- adds r4, r0, r3
- adds r5, r3, #0
- adds r5, #0x20
- adds r0, r2, #0
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x28
- ble _0804EEE2
- cmp r0, #0xcf
- bgt _0804EEC6
- ldr r1, _0804EF28 @ =0x040000D4
- ldr r0, [r4]
- str r0, [r1]
- ldr r0, [r3, #0x20]
- str r0, [r1, #4]
- ldr r0, _0804EF2C @ =0x80000020
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804EEC6:
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xd7
- bgt _0804EEE2
- ldr r1, _0804EF28 @ =0x040000D4
- ldr r0, [r4, #4]
- str r0, [r1]
- ldr r0, [r5, #4]
- str r0, [r1, #4]
- ldr r0, _0804EF30 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804EEE2:
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x38
- ble _0804EF12
- cmp r0, #0xdf
- bgt _0804EF02
- ldr r1, _0804EF28 @ =0x040000D4
- ldr r0, [r4, #8]
- str r0, [r1]
- ldr r0, [r5, #8]
- str r0, [r1, #4]
- ldr r0, _0804EF30 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804EF02:
- ldr r1, _0804EF28 @ =0x040000D4
- ldr r0, [r4, #0xc]
- str r0, [r1]
- ldr r0, [r5, #0xc]
- str r0, [r1, #4]
- ldr r0, _0804EF34 @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804EF12:
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804EF18: .4byte 0x020314E0
-_0804EF1C: .4byte 0x00000729
-_0804EF20: .4byte 0x00000734
-_0804EF24: .4byte 0x086B0AF0
-_0804EF28: .4byte 0x040000D4
-_0804EF2C: .4byte 0x80000020
-_0804EF30: .4byte 0x80000040
-_0804EF34: .4byte 0x80000030
-
- thumb_func_start sub_4EF38
-sub_4EF38: @ 0x0804EF38
- push {r4, r5, lr}
- movs r3, #0
- ldr r0, _0804EF58 @ =0x020314E0
- ldr r2, [r0]
- movs r4, #0xbc
- lsls r4, r4, #2
- adds r1, r2, r4
- ldrb r1, [r1]
- adds r5, r0, #0
- cmp r1, #2
- bls _0804EF60
- ldr r0, _0804EF5C @ =0x0000072A
- adds r1, r2, r0
- movs r0, #1
- strb r0, [r1]
- b _0804EF6E
- .align 2, 0
-_0804EF58: .4byte 0x020314E0
-_0804EF5C: .4byte 0x0000072A
-_0804EF60:
- movs r0, #0x13
- ldrsb r0, [r2, r0]
- cmp r0, #0
- beq _0804EF6E
- ldr r1, _0804EF98 @ =0x0000072A
- adds r0, r2, r1
- strb r3, [r0]
-_0804EF6E:
- ldr r1, [r5]
- ldr r2, _0804EF98 @ =0x0000072A
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _0804EFA0
- ldr r4, _0804EF9C @ =0x000001A5
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #1
- adds r2, #0xa
- adds r1, r1, r2
- ldrh r1, [r1]
- subs r1, #1
- subs r0, r0, r1
- lsls r0, r0, #0x10
- b _0804EFAC
- .align 2, 0
-_0804EF98: .4byte 0x0000072A
-_0804EF9C: .4byte 0x000001A5
-_0804EFA0:
- ldr r4, _0804F014 @ =0x000001A5
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #0x11
-_0804EFAC:
- lsrs r3, r0, #0x10
- lsls r0, r3, #0x10
- asrs r0, r0, #0xc
- ldr r2, _0804F018 @ =0x086B0B20
- adds r3, r0, r2
- adds r4, r2, #0
- adds r4, #0x40
- ldr r0, [r5]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xef
- bgt _0804EFD6
- ldr r1, _0804F01C @ =0x040000D4
- ldr r0, [r3]
- str r0, [r1]
- ldr r0, [r2, #0x40]
- str r0, [r1, #4]
- ldr r0, _0804F020 @ =0x80000050
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804EFD6:
- ldr r2, _0804F01C @ =0x040000D4
- ldr r0, [r3, #4]
- str r0, [r2]
- ldr r0, [r4, #4]
- str r0, [r2, #4]
- ldr r1, _0804F020 @ =0x80000050
- str r1, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #8]
- str r0, [r2]
- ldr r0, [r4, #8]
- str r0, [r2, #4]
- str r1, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r5]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x58
- ble _0804F00C
- ldr r0, [r3, #0xc]
- str r0, [r2]
- ldr r0, [r4, #0xc]
- str r0, [r2, #4]
- ldr r0, _0804F024 @ =0x80000030
- str r0, [r2, #8]
- ldr r0, [r2, #8]
-_0804F00C:
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F014: .4byte 0x000001A5
-_0804F018: .4byte 0x086B0B20
-_0804F01C: .4byte 0x040000D4
-_0804F020: .4byte 0x80000050
-_0804F024: .4byte 0x80000030
-
- thumb_func_start sub_4F028
-sub_4F028: @ 0x0804F028
- push {r4, r5, lr}
- movs r3, #0
- ldr r1, _0804F0CC @ =0x020314E0
- ldr r0, [r1]
- ldr r4, _0804F0D0 @ =0x00000731
- adds r0, r0, r4
- strb r3, [r0]
- ldr r2, [r1]
- ldr r5, _0804F0D4 @ =0x0000072F
- adds r0, r2, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r5, r1, #0
- cmp r0, #1
- ble _0804F056
- movs r0, #0x13
- ldrsb r0, [r2, r0]
- cmp r0, #2
- bgt _0804F056
- adds r1, r2, r4
- movs r0, #1
- strb r0, [r1]
-_0804F056:
- ldr r2, [r5]
- ldr r1, _0804F0D0 @ =0x00000731
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _0804F074
- ldr r5, _0804F0D8 @ =0x00000734
- adds r0, r2, r5
- ldrh r1, [r0]
- movs r0, #1
- subs r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r3, r0, #0x10
-_0804F074:
- lsls r0, r3, #0x10
- asrs r0, r0, #0xc
- ldr r4, _0804F0DC @ =0x086B0B94
- adds r3, r0, r4
- adds r5, r4, #0
- adds r5, #0x20
- adds r0, r2, #0
- adds r0, #0x6a
- movs r2, #0
- ldrsh r1, [r0, r2]
- ldr r0, _0804F0E0 @ =0x00000107
- cmp r1, r0
- bgt _0804F09E
- ldr r1, _0804F0E4 @ =0x040000D4
- ldr r0, [r3]
- str r0, [r1]
- ldr r0, [r4, #0x20]
- str r0, [r1, #4]
- ldr r0, _0804F0E8 @ =0x80000020
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804F09E:
- ldr r0, _0804F0E4 @ =0x040000D4
- ldr r1, [r3, #4]
- str r1, [r0]
- ldr r1, [r5, #4]
- str r1, [r0, #4]
- ldr r2, _0804F0EC @ =0x80000040
- str r2, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, [r3, #8]
- str r1, [r0]
- ldr r1, [r5, #8]
- str r1, [r0, #4]
- str r2, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, [r3, #0xc]
- str r1, [r0]
- ldr r1, [r5, #0xc]
- str r1, [r0, #4]
- str r2, [r0, #8]
- ldr r0, [r0, #8]
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F0CC: .4byte 0x020314E0
-_0804F0D0: .4byte 0x00000731
-_0804F0D4: .4byte 0x0000072F
-_0804F0D8: .4byte 0x00000734
-_0804F0DC: .4byte 0x086B0B94
-_0804F0E0: .4byte 0x00000107
-_0804F0E4: .4byte 0x040000D4
-_0804F0E8: .4byte 0x80000020
-_0804F0EC: .4byte 0x80000040
-
- thumb_func_start sub_4F0F0
-sub_4F0F0: @ 0x0804F0F0
- push {r4, r5, r6, r7, lr}
- ldr r5, _0804F1E8 @ =0x020314E0
- ldr r4, [r5]
- ldr r0, _0804F1EC @ =0x0000071B
- adds r1, r4, r0
- movs r0, #0
- ldrsb r0, [r1, r0]
- adds r7, r5, #0
- cmp r0, #0
- bne _0804F106
- b _0804F24C
-_0804F106:
- ldr r6, _0804F1F0 @ =0x0000071C
- adds r0, r4, r6
- ldrb r3, [r0]
- cmp r3, #0
- bne _0804F112
- b _0804F220
-_0804F112:
- movs r1, #0xbe
- lsls r1, r1, #2
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0804F152
- ldr r0, _0804F1F4 @ =gMain
- ldr r0, [r0, #0x50]
- movs r1, #0x14
- bl __umodsi3
- movs r1, #0xa
- bl __udivsi3
- movs r2, #0xe3
- lsls r2, r2, #3
- adds r1, r4, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r3, _0804F1F8 @ =0x00000719
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r2, r0, r2
- ldrb r1, [r2]
- ldr r4, _0804F1FC @ =0x0000071A
- adds r0, r0, r4
- strb r1, [r0]
-_0804F152:
- ldr r1, [r5]
- adds r0, r1, r6
- ldrb r0, [r0]
- cmp r0, #0x1c
- bne _0804F196
- ldr r3, _0804F200 @ =0x000005F6
- adds r1, r1, r3
- ldrb r2, [r1]
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #2
- bgt _0804F16E
- adds r0, r2, #1
- strb r0, [r1]
-_0804F16E:
- ldr r1, [r5]
- movs r0, #0xbf
- lsls r0, r0, #3
- adds r2, r1, r0
- movs r0, #0xe1
- lsls r0, r0, #4
- strh r0, [r2]
- ldr r2, _0804F204 @ =0x040000D4
- adds r1, r1, r3
- movs r0, #0
- ldrsb r0, [r1, r0]
- lsls r0, r0, #5
- ldr r1, _0804F208 @ =0x08137E14
- adds r0, r0, r1
- str r0, [r2]
- ldr r0, _0804F20C @ =0x05000220
- str r0, [r2, #4]
- ldr r0, _0804F210 @ =0x80000010
- str r0, [r2, #8]
- ldr r0, [r2, #8]
-_0804F196:
- adds r5, r7, #0
- ldr r0, [r5]
- ldr r4, _0804F1F0 @ =0x0000071C
- adds r0, r0, r4
- ldrb r0, [r0]
- cmp r0, #0x28
- bne _0804F1AC
- ldr r0, _0804F214 @ =0x02032F20
- ldr r1, _0804F218 @ =0x0869F664
- bl MPlayStart
-_0804F1AC:
- ldr r0, [r5]
- adds r0, r0, r4
- ldrb r0, [r0]
- cmp r0, #0x3c
- bne _0804F1C2
- ldr r0, _0804F1F4 @ =gMain
- ldr r0, [r0, #0x44]
- adds r0, #0xac
- ldr r1, [r0]
- movs r0, #1
- strh r0, [r1]
-_0804F1C2:
- ldr r2, [r7]
- ldr r3, _0804F21C @ =0x086B0E20
- adds r0, r2, r4
- ldrb r1, [r0]
- lsrs r1, r1, #1
- movs r0, #0x1e
- subs r0, r0, r1
- lsls r0, r0, #1
- adds r0, r0, r3
- ldrh r0, [r0]
- adds r2, #0x6e
- strb r0, [r2]
- ldr r1, [r7]
- adds r1, r1, r4
- ldrb r0, [r1]
- subs r0, #1
- strb r0, [r1]
- b _0804F24C
- .align 2, 0
-_0804F1E8: .4byte 0x020314E0
-_0804F1EC: .4byte 0x0000071B
-_0804F1F0: .4byte 0x0000071C
-_0804F1F4: .4byte gMain
-_0804F1F8: .4byte 0x00000719
-_0804F1FC: .4byte 0x0000071A
-_0804F200: .4byte 0x000005F6
-_0804F204: .4byte 0x040000D4
-_0804F208: .4byte 0x08137E14
-_0804F20C: .4byte 0x05000220
-_0804F210: .4byte 0x80000010
-_0804F214: .4byte 0x02032F20
-_0804F218: .4byte 0x0869F664
-_0804F21C: .4byte 0x086B0E20
-_0804F220:
- strb r3, [r1]
- ldr r2, [r5]
- movs r1, #0xbe
- lsls r1, r1, #2
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0804F246
- ldr r4, _0804F254 @ =0x0000071A
- adds r0, r2, r4
- strb r3, [r0]
- subs r4, #1
- adds r0, r2, r4
- strb r3, [r0]
- subs r4, #1
- adds r0, r2, r4
- strb r3, [r0]
-_0804F246:
- ldr r0, [r5]
- adds r0, r0, r1
- strb r3, [r0]
-_0804F24C:
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F254: .4byte 0x0000071A
-
- thumb_func_start sub_4F258
-sub_4F258: @ 0x0804F258
- push {r4, r5, r6, r7, lr}
- movs r1, #0
- ldr r0, _0804F2A8 @ =0x020314E0
- ldr r0, [r0]
- movs r2, #0xe3
- lsls r2, r2, #3
- adds r5, r0, r2
- ldr r4, _0804F2AC @ =0x086B0B70
- adds r7, r4, #0
- adds r7, #8
- ldr r3, _0804F2B0 @ =0x040000D4
- ldr r6, _0804F2B4 @ =0x80000020
-_0804F270:
- lsls r2, r1, #0x10
- asrs r2, r2, #0x10
- lsls r1, r2, #1
- adds r1, r1, r2
- lsls r1, r1, #2
- adds r0, r5, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #2
- adds r0, r0, r4
- adds r0, r1, r0
- adds r1, r1, r7
- ldr r0, [r0]
- str r0, [r3]
- ldr r0, [r1]
- str r0, [r3, #4]
- str r6, [r3, #8]
- ldr r0, [r3, #8]
- adds r2, #1
- lsls r2, r2, #0x10
- lsrs r1, r2, #0x10
- asrs r2, r2, #0x10
- cmp r2, #2
- ble _0804F270
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F2A8: .4byte 0x020314E0
-_0804F2AC: .4byte 0x086B0B70
-_0804F2B0: .4byte 0x040000D4
-_0804F2B4: .4byte 0x80000020
-
- thumb_func_start sub_4F2B8
-sub_4F2B8: @ 0x0804F2B8
- push {r4, r5, lr}
- ldr r0, _0804F2EC @ =0x020314E0
- ldr r1, [r0]
- ldr r0, _0804F2F0 @ =0x0000072B
- adds r3, r1, r0
- movs r0, #0
- ldrsb r0, [r3, r0]
- cmp r0, #0
- ble _0804F306
- ldr r5, _0804F2F4 @ =0x0000072C
- adds r2, r1, r5
- ldrh r4, [r2]
- ldr r0, _0804F2F8 @ =0x086B08C4
- movs r1, #0
- ldrsb r1, [r3, r1]
- subs r1, #1
- lsls r1, r1, #1
- adds r1, r1, r0
- movs r5, #0
- ldrsh r0, [r1, r5]
- cmp r4, r0
- bge _0804F2FC
- adds r0, r4, #1
- strh r0, [r2]
- b _0804F306
- .align 2, 0
-_0804F2EC: .4byte 0x020314E0
-_0804F2F0: .4byte 0x0000072B
-_0804F2F4: .4byte 0x0000072C
-_0804F2F8: .4byte 0x086B08C4
-_0804F2FC:
- movs r0, #0
- strh r0, [r2]
- ldrb r0, [r3]
- subs r0, #1
- strb r0, [r3]
-_0804F306:
- pop {r4, r5}
- pop {r0}
- bx r0
-
- thumb_func_start sub_4F30C
-sub_4F30C: @ 0x0804F30C
- push {r4, r5, lr}
- sub sp, #8
- ldr r1, _0804F33C @ =0x020314E0
- ldr r2, [r1]
- ldr r3, _0804F340 @ =0x0000072B
- adds r0, r2, r3
- movs r3, #0
- ldrsb r3, [r0, r3]
- adds r4, r1, #0
- cmp r3, #0
- bne _0804F348
- mov r1, sp
- ldr r5, _0804F344 @ =0x00000734
- adds r2, r2, r5
- movs r5, #0
- ldrsh r0, [r2, r5]
- lsls r0, r0, #1
- strh r0, [r1]
- ldrh r0, [r2]
- strh r0, [r1, #2]
- mov r0, sp
- strh r3, [r0, #4]
- b _0804F396
- .align 2, 0
-_0804F33C: .4byte 0x020314E0
-_0804F340: .4byte 0x0000072B
-_0804F344: .4byte 0x00000734
-_0804F348:
- cmp r3, #1
- bne _0804F36C
- mov r1, sp
- movs r0, #3
- strh r0, [r1]
- ldr r0, _0804F368 @ =0x00000734
- adds r2, r2, r0
- ldrh r0, [r2]
- adds r0, #1
- strh r0, [r1, #2]
- movs r3, #0
- ldrsh r0, [r2, r3]
- lsls r0, r0, #1
- strh r0, [r1, #4]
- b _0804F396
- .align 2, 0
-_0804F368: .4byte 0x00000734
-_0804F36C:
- cmp r3, #2
- bne _0804F38C
- mov r0, sp
- movs r1, #3
- strh r1, [r0]
- strh r1, [r0, #2]
- mov r1, sp
- ldr r5, _0804F388 @ =0x00000734
- adds r0, r2, r5
- ldrh r0, [r0]
- adds r0, #2
- strh r0, [r1, #4]
- b _0804F396
- .align 2, 0
-_0804F388: .4byte 0x00000734
-_0804F38C:
- mov r0, sp
- movs r1, #3
- strh r1, [r0]
- strh r1, [r0, #2]
- strh r1, [r0, #4]
-_0804F396:
- mov r0, sp
- movs r2, #0
- ldrsh r1, [r0, r2]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- ldr r2, _0804F4A8 @ =0x086B0CB8
- adds r3, r0, r2
- adds r5, r2, #0
- adds r5, #0x30
- ldr r0, [r4]
- adds r0, #0x6a
- ldrh r0, [r0]
- subs r0, #0x2a
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0xa5
- bhi _0804F3CA
- ldr r1, _0804F4AC @ =0x040000D4
- ldr r0, [r3]
- str r0, [r1]
- ldr r0, [r2, #0x30]
- str r0, [r1, #4]
- ldr r0, _0804F4B0 @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804F3CA:
- ldr r0, [r4]
- adds r4, r0, #0
- adds r4, #0x6a
- ldrh r0, [r4]
- subs r0, #0x32
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0xa5
- bhi _0804F3EC
- ldr r1, _0804F4AC @ =0x040000D4
- ldr r0, [r3, #4]
- str r0, [r1]
- ldr r0, [r5, #4]
- str r0, [r1, #4]
- ldr r0, _0804F4B0 @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804F3EC:
- mov r0, sp
- movs r3, #2
- ldrsh r1, [r0, r3]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- adds r1, r2, #0
- adds r1, #0x3c
- adds r3, r0, r1
- adds r5, r2, #0
- adds r5, #0x6c
- ldrh r0, [r4]
- subs r0, #0x3a
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0xa5
- bhi _0804F41E
- ldr r1, _0804F4AC @ =0x040000D4
- ldr r0, [r3]
- str r0, [r1]
- ldr r0, [r2, #0x6c]
- str r0, [r1, #4]
- ldr r0, _0804F4B0 @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804F41E:
- ldrh r0, [r4]
- subs r0, #0x42
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0xa5
- bhi _0804F43A
- ldr r1, _0804F4AC @ =0x040000D4
- ldr r0, [r3, #4]
- str r0, [r1]
- ldr r0, [r5, #4]
- str r0, [r1, #4]
- ldr r0, _0804F4B0 @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804F43A:
- mov r0, sp
- movs r5, #4
- ldrsh r1, [r0, r5]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- adds r1, r2, #0
- adds r1, #0x78
- adds r3, r0, r1
- adds r5, r2, #0
- adds r5, #0xa8
- ldrh r0, [r4]
- subs r0, #0x4a
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0xa5
- bhi _0804F46C
- ldr r1, _0804F4AC @ =0x040000D4
- ldr r0, [r3]
- str r0, [r1]
- ldr r0, [r5]
- str r0, [r1, #4]
- ldr r0, _0804F4B0 @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804F46C:
- ldrh r0, [r4]
- subs r0, #0x52
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0xa5
- bhi _0804F488
- ldr r1, _0804F4AC @ =0x040000D4
- ldr r0, [r3, #4]
- str r0, [r1]
- ldr r0, [r5, #4]
- str r0, [r1, #4]
- ldr r0, _0804F4B0 @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804F488:
- movs r1, #0
- ldrsh r0, [r4, r1]
- cmp r0, #0x59
- ble _0804F4A0
- ldr r1, _0804F4AC @ =0x040000D4
- ldr r0, [r3, #8]
- str r0, [r1]
- ldr r0, [r5, #8]
- str r0, [r1, #4]
- ldr r0, _0804F4B0 @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804F4A0:
- add sp, #8
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F4A8: .4byte 0x086B0CB8
-_0804F4AC: .4byte 0x040000D4
-_0804F4B0: .4byte 0x80000030
-
- thumb_func_start sub_4F4B4
-sub_4F4B4: @ 0x0804F4B4
- push {r4, r5, r6, lr}
- sub sp, #8
- ldr r0, _0804F4E8 @ =0x020314E0
- ldr r2, [r0]
- movs r1, #0x13
- ldrsb r1, [r2, r1]
- adds r6, r0, #0
- cmp r1, #2
- bgt _0804F53C
- ldr r1, _0804F4EC @ =0x0000072E
- adds r0, r2, r1
- movs r3, #0
- ldrsb r3, [r0, r3]
- cmp r3, #0
- bne _0804F4F4
- mov r1, sp
- ldr r4, _0804F4F0 @ =0x00000734
- adds r0, r2, r4
- movs r2, #0
- ldrsh r0, [r0, r2]
- lsls r0, r0, #1
- strh r0, [r1]
- mov r0, sp
- strh r3, [r0, #2]
- strh r3, [r0, #4]
- b _0804F562
- .align 2, 0
-_0804F4E8: .4byte 0x020314E0
-_0804F4EC: .4byte 0x0000072E
-_0804F4F0: .4byte 0x00000734
-_0804F4F4:
- cmp r3, #1
- bne _0804F514
- mov r1, sp
- movs r0, #3
- strh r0, [r1]
- ldr r3, _0804F510 @ =0x00000734
- adds r2, r2, r3
- ldrh r0, [r2]
- adds r0, #1
- strh r0, [r1, #2]
- movs r4, #0
- ldrsh r0, [r2, r4]
- lsls r0, r0, #1
- b _0804F560
- .align 2, 0
-_0804F510: .4byte 0x00000734
-_0804F514:
- cmp r3, #2
- bne _0804F530
- mov r0, sp
- movs r1, #3
- strh r1, [r0]
- strh r1, [r0, #2]
- mov r1, sp
- ldr r3, _0804F52C @ =0x00000734
- adds r0, r2, r3
- ldrh r0, [r0]
- adds r0, #2
- b _0804F560
- .align 2, 0
-_0804F52C: .4byte 0x00000734
-_0804F530:
- mov r0, sp
- movs r1, #3
- strh r1, [r0]
- strh r1, [r0, #2]
- strh r1, [r0, #4]
- b _0804F562
-_0804F53C:
- mov r1, sp
- ldr r4, _0804F648 @ =0x00000739
- adds r0, r2, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- strh r0, [r1]
- ldr r3, _0804F64C @ =0x0000073A
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- strh r0, [r1, #2]
- adds r4, #2
- adds r0, r2, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
-_0804F560:
- strh r0, [r1, #4]
-_0804F562:
- mov r0, sp
- movs r2, #0
- ldrsh r1, [r0, r2]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- ldr r3, _0804F650 @ =0x086B0C04
- mov ip, r3
- adds r3, r0, r3
- mov r4, ip
- adds r4, #0x30
- ldr r0, [r6]
- adds r0, #0x6a
- movs r2, #0
- ldrsh r1, [r0, r2]
- ldr r0, _0804F654 @ =0x00000107
- cmp r1, r0
- bgt _0804F598
- ldr r1, _0804F658 @ =0x040000D4
- ldr r0, [r3]
- str r0, [r1]
- mov r2, ip
- ldr r0, [r2, #0x30]
- str r0, [r1, #4]
- ldr r0, _0804F65C @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804F598:
- ldr r2, _0804F658 @ =0x040000D4
- ldr r0, [r3, #4]
- str r0, [r2]
- ldr r0, [r4, #4]
- str r0, [r2, #4]
- ldr r5, _0804F65C @ =0x80000030
- str r5, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #8]
- str r0, [r2]
- ldr r0, [r4, #8]
- str r0, [r2, #4]
- str r5, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r6]
- adds r6, r0, #0
- adds r6, #0x6a
- movs r3, #0
- ldrsh r0, [r6, r3]
- cmp r0, #0x78
- ble _0804F5FE
- mov r0, sp
- movs r4, #2
- ldrsh r1, [r0, r4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- mov r1, ip
- adds r1, #0x3c
- adds r3, r0, r1
- mov r4, ip
- adds r4, #0x6c
- ldr r0, [r3]
- str r0, [r2]
- mov r1, ip
- ldr r0, [r1, #0x6c]
- str r0, [r2, #4]
- str r5, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #4]
- str r0, [r2]
- ldr r0, [r4, #4]
- str r0, [r2, #4]
- str r5, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #8]
- str r0, [r2]
- ldr r0, [r4, #8]
- str r0, [r2, #4]
- str r5, [r2, #8]
- ldr r0, [r2, #8]
-_0804F5FE:
- movs r3, #0
- ldrsh r0, [r6, r3]
- cmp r0, #0x88
- ble _0804F640
- mov r0, sp
- movs r4, #4
- ldrsh r1, [r0, r4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- mov r1, ip
- adds r1, #0x78
- adds r3, r0, r1
- mov r4, ip
- adds r4, #0xa8
- ldr r0, [r3]
- str r0, [r2]
- ldr r0, [r4]
- str r0, [r2, #4]
- str r5, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #4]
- str r0, [r2]
- ldr r0, [r4, #4]
- str r0, [r2, #4]
- str r5, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #8]
- str r0, [r2]
- ldr r0, [r4, #8]
- str r0, [r2, #4]
- str r5, [r2, #8]
- ldr r0, [r2, #8]
-_0804F640:
- add sp, #8
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F648: .4byte 0x00000739
-_0804F64C: .4byte 0x0000073A
-_0804F650: .4byte 0x086B0C04
-_0804F654: .4byte 0x00000107
-_0804F658: .4byte 0x040000D4
-_0804F65C: .4byte 0x80000030
-
- thumb_func_start sub_4F660
-sub_4F660: @ 0x0804F660
- push {r4, r5, r6, lr}
- sub sp, #8
- ldr r0, _0804F694 @ =0x020314E0
- ldr r2, [r0]
- movs r1, #0x13
- ldrsb r1, [r2, r1]
- adds r5, r0, #0
- cmp r1, #2
- bgt _0804F6E8
- ldr r1, _0804F698 @ =0x0000072F
- adds r0, r2, r1
- movs r3, #0
- ldrsb r3, [r0, r3]
- cmp r3, #0
- bne _0804F6A0
- mov r1, sp
- ldr r4, _0804F69C @ =0x00000734
- adds r0, r2, r4
- movs r2, #0
- ldrsh r0, [r0, r2]
- lsls r0, r0, #1
- strh r0, [r1]
- mov r0, sp
- strh r3, [r0, #2]
- strh r3, [r0, #4]
- b _0804F70E
- .align 2, 0
-_0804F694: .4byte 0x020314E0
-_0804F698: .4byte 0x0000072F
-_0804F69C: .4byte 0x00000734
-_0804F6A0:
- cmp r3, #1
- bne _0804F6C0
- mov r1, sp
- movs r0, #3
- strh r0, [r1]
- ldr r3, _0804F6BC @ =0x00000734
- adds r2, r2, r3
- ldrh r0, [r2]
- adds r0, #1
- strh r0, [r1, #2]
- movs r4, #0
- ldrsh r0, [r2, r4]
- lsls r0, r0, #1
- b _0804F70C
- .align 2, 0
-_0804F6BC: .4byte 0x00000734
-_0804F6C0:
- cmp r3, #2
- bne _0804F6DC
- mov r0, sp
- movs r1, #3
- strh r1, [r0]
- strh r1, [r0, #2]
- mov r1, sp
- ldr r3, _0804F6D8 @ =0x00000734
- adds r0, r2, r3
- ldrh r0, [r0]
- adds r0, #2
- b _0804F70C
- .align 2, 0
-_0804F6D8: .4byte 0x00000734
-_0804F6DC:
- mov r0, sp
- movs r1, #3
- strh r1, [r0]
- strh r1, [r0, #2]
- strh r1, [r0, #4]
- b _0804F70E
-_0804F6E8:
- mov r1, sp
- ldr r4, _0804F7F8 @ =0x00000736
- adds r0, r2, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- strh r0, [r1]
- ldr r3, _0804F7FC @ =0x00000737
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- strh r0, [r1, #2]
- adds r4, #2
- adds r0, r2, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
-_0804F70C:
- strh r0, [r1, #4]
-_0804F70E:
- mov r0, sp
- movs r2, #0
- ldrsh r1, [r0, r2]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- ldr r3, _0804F800 @ =0x086B0D6C
- mov ip, r3
- adds r3, r0, r3
- mov r4, ip
- adds r4, #0x30
- ldr r0, [r5]
- adds r0, #0x6a
- movs r2, #0
- ldrsh r1, [r0, r2]
- ldr r0, _0804F804 @ =0x00000107
- cmp r1, r0
- bgt _0804F744
- ldr r1, _0804F808 @ =0x040000D4
- ldr r0, [r3]
- str r0, [r1]
- mov r2, ip
- ldr r0, [r2, #0x30]
- str r0, [r1, #4]
- ldr r0, _0804F80C @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804F744:
- ldr r2, _0804F808 @ =0x040000D4
- ldr r0, [r3, #4]
- str r0, [r2]
- ldr r0, [r4, #4]
- str r0, [r2, #4]
- ldr r6, _0804F80C @ =0x80000030
- str r6, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #8]
- str r0, [r2]
- ldr r0, [r4, #8]
- str r0, [r2, #4]
- str r6, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r5]
- adds r5, r0, #0
- adds r5, #0x6a
- movs r3, #0
- ldrsh r0, [r5, r3]
- cmp r0, #0x78
- ble _0804F7AC
- mov r0, sp
- movs r4, #2
- ldrsh r1, [r0, r4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- mov r1, ip
- adds r1, #0x3c
- adds r3, r0, r1
- mov r4, ip
- adds r4, #0x6c
- ldr r0, [r3]
- str r0, [r2]
- mov r1, ip
- ldr r0, [r1, #0x6c]
- str r0, [r2, #4]
- ldr r1, _0804F810 @ =0x80000020
- str r1, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #4]
- str r0, [r2]
- ldr r0, [r4, #4]
- str r0, [r2, #4]
- str r1, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #8]
- str r0, [r2]
- ldr r0, [r4, #8]
- str r0, [r2, #4]
- str r6, [r2, #8]
- ldr r0, [r2, #8]
-_0804F7AC:
- movs r3, #0
- ldrsh r0, [r5, r3]
- cmp r0, #0x88
- ble _0804F7F0
- mov r0, sp
- movs r4, #4
- ldrsh r1, [r0, r4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- mov r1, ip
- adds r1, #0x78
- adds r3, r0, r1
- mov r4, ip
- adds r4, #0xa8
- ldr r0, [r3]
- str r0, [r2]
- ldr r0, [r4]
- str r0, [r2, #4]
- ldr r0, _0804F810 @ =0x80000020
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #4]
- str r0, [r2]
- ldr r0, [r4, #4]
- str r0, [r2, #4]
- str r6, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #8]
- str r0, [r2]
- ldr r0, [r4, #8]
- str r0, [r2, #4]
- str r6, [r2, #8]
- ldr r0, [r2, #8]
-_0804F7F0:
- add sp, #8
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F7F8: .4byte 0x00000736
-_0804F7FC: .4byte 0x00000737
-_0804F800: .4byte 0x086B0D6C
-_0804F804: .4byte 0x00000107
-_0804F808: .4byte 0x040000D4
-_0804F80C: .4byte 0x80000030
-_0804F810: .4byte 0x80000020
-
- thumb_func_start sub_4F814
-sub_4F814: @ 0x0804F814
- push {r4, r5, r6, lr}
- ldr r6, _0804F94C @ =0x020314E0
- ldr r4, [r6]
- ldr r0, _0804F950 @ =0x0000070C
- adds r5, r4, r0
- ldrh r0, [r5]
- movs r1, #0x28
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- movs r1, #0x14
- bl __udivsi3
- ldr r1, _0804F954 @ =0x00000734
- adds r4, r4, r1
- strh r0, [r4]
- ldrh r0, [r5]
- adds r0, #1
- strh r0, [r5]
- bl sub_50710
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x53
- ble _0804F850
- bl sub_50000
-_0804F850:
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x12
- ble _0804F860
- bl sub_500B4
-_0804F860:
- ldr r0, [r6]
- adds r0, #0x6a
- ldrh r0, [r0]
- subs r0, #0x38
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0xba
- bhi _0804F874
- bl sub_505A4
-_0804F874:
- bl sub_4F0F0
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x6f
- bgt _0804F888
- bl sub_506B0
-_0804F888:
- ldr r0, [r6]
- adds r0, #0x6a
- ldrh r0, [r0]
- subs r0, #0x40
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0xbd
- bhi _0804F89C
- bl sub_504C0
-_0804F89C:
- ldr r0, [r6]
- adds r0, #0x6a
- ldrh r0, [r0]
- subs r0, #0x1b
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0xb7
- bhi _0804F8B4
- bl sub_4FB08
- bl sub_4F95C
-_0804F8B4:
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x68
- ble _0804F8C8
- bl sub_50154
- bl sub_5030C
-_0804F8C8:
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x48
- ble _0804F8D8
- bl sub_4FE6C
-_0804F8D8:
- bl sub_4F2B8
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0x6e
- ble _0804F8EC
- bl sub_4FAC0
-_0804F8EC:
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xb2
- ble _0804F904
- bl sub_4FBA4
- bl sub_4FC7C
- bl sub_4F9F0
-_0804F904:
- ldr r0, [r6]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xca
- ble _0804F914
- bl sub_4FD88
-_0804F914:
- ldr r0, [r6]
- adds r0, #0x6a
- ldrh r0, [r0]
- subs r0, #8
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0xad
- bhi _0804F928
- bl sub_507D4
-_0804F928:
- ldr r0, [r6]
- ldr r1, _0804F958 @ =0x00000724
- adds r2, r0, r1
- ldrh r1, [r2]
- cmp r1, #0
- beq _0804F944
- adds r0, #0x25
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- bne _0804F944
- subs r0, r1, #1
- strh r0, [r2]
-_0804F944:
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F94C: .4byte 0x020314E0
-_0804F950: .4byte 0x0000070C
-_0804F954: .4byte 0x00000734
-_0804F958: .4byte 0x00000724
-
- thumb_func_start sub_4F95C
-sub_4F95C: @ 0x0804F95C
- push {r4, r5, r6, r7, lr}
- ldr r0, _0804F9DC @ =0x020314E0
- ldr r4, [r0]
- ldr r1, _0804F9E0 @ =0x0000070E
- adds r0, r4, r1
- movs r5, #0
- ldrsb r5, [r0, r5]
- adds r0, r5, #0
- movs r1, #0xa
- bl __divsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #8
- lsrs r6, r0, #0x10
- adds r0, r5, #0
- movs r1, #0xa
- bl __modsi3
- lsls r0, r0, #0x18
- asrs r0, r0, #8
- lsrs r7, r0, #0x10
- adds r4, #0x6a
- movs r1, #0
- ldrsh r0, [r4, r1]
- cmp r0, #0x24
- ble _0804F9D6
- lsls r0, r6, #0x10
- asrs r0, r0, #0xc
- ldr r3, _0804F9E4 @ =0x086B0E9C
- adds r5, r0, r3
- adds r4, r3, #0
- adds r4, #0xa0
- ldr r1, _0804F9E8 @ =0x040000D4
- ldr r0, [r5]
- str r0, [r1]
- ldr r0, [r4]
- str r0, [r1, #4]
- ldr r2, _0804F9EC @ =0x80000010
- str r2, [r1, #8]
- ldr r0, [r1, #8]
- ldr r0, [r5, #4]
- str r0, [r1]
- ldr r0, [r4, #4]
- str r0, [r1, #4]
- str r2, [r1, #8]
- ldr r0, [r1, #8]
- lsls r0, r7, #0x10
- asrs r0, r0, #0xc
- adds r5, r0, r3
- ldr r0, [r5, #8]
- str r0, [r1]
- ldr r0, [r4, #8]
- str r0, [r1, #4]
- str r2, [r1, #8]
- ldr r0, [r1, #8]
- ldr r0, [r5, #0xc]
- str r0, [r1]
- ldr r0, [r4, #0xc]
- str r0, [r1, #4]
- str r2, [r1, #8]
- ldr r0, [r1, #8]
-_0804F9D6:
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F9DC: .4byte 0x020314E0
-_0804F9E0: .4byte 0x0000070E
-_0804F9E4: .4byte 0x086B0E9C
-_0804F9E8: .4byte 0x040000D4
-_0804F9EC: .4byte 0x80000010
-
- thumb_func_start sub_4F9F0
-sub_4F9F0: @ 0x0804F9F0
- push {r4, r5, lr}
- ldr r1, _0804FA9C @ =0x086B0E60
- ldr r4, _0804FAA0 @ =0x020314E0
- ldr r0, [r4]
- ldr r2, _0804FAA4 @ =0x00000716
- adds r3, r0, r2
- ldrb r2, [r3]
- lsls r0, r2, #1
- adds r0, r0, r1
- ldrh r5, [r0]
- cmp r2, #0
- beq _0804FA2C
- subs r0, r2, #1
- strb r0, [r3]
- ldr r0, [r4]
- ldr r1, _0804FAA4 @ =0x00000716
- adds r0, r0, r1
- ldrb r0, [r0]
- cmp r0, #3
- bne _0804FA2C
- movs r0, #0x73
- bl m4aSongNumStart
- ldr r1, [r4]
- movs r0, #0xfa
- lsls r0, r0, #1
- str r0, [r1, #0x3c]
- movs r0, #7
- bl sub_11B0
-_0804FA2C:
- ldr r0, _0804FAA0 @ =0x020314E0
- ldr r0, [r0]
- ldr r2, _0804FAA8 @ =0x00000717
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r3, r0, #4
- subs r3, r3, r0
- lsls r3, r3, #2
- lsls r0, r5, #0x10
- asrs r0, r0, #0x10
- lsls r2, r0, #2
- adds r2, r2, r0
- lsls r2, r2, #2
- ldr r0, _0804FAAC @ =0x086B108C
- adds r2, r2, r0
- adds r2, r3, r2
- adds r0, #0x28
- adds r3, r3, r0
- ldr r0, _0804FAB0 @ =0x040000D4
- ldr r1, [r2]
- str r1, [r0]
- ldr r1, [r3]
- str r1, [r0, #4]
- ldr r1, _0804FAB4 @ =0x80000010
- str r1, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, [r2, #4]
- str r1, [r0]
- ldr r1, [r3, #4]
- str r1, [r0, #4]
- ldr r5, _0804FAB8 @ =0x80000020
- str r5, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, [r2, #8]
- str r1, [r0]
- ldr r1, [r3, #8]
- str r1, [r0, #4]
- ldr r4, _0804FABC @ =0x80000030
- str r4, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, [r2, #0xc]
- str r1, [r0]
- ldr r1, [r3, #0xc]
- str r1, [r0, #4]
- str r4, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, [r2, #0x10]
- str r1, [r0]
- ldr r1, [r3, #0x10]
- str r1, [r0, #4]
- str r5, [r0, #8]
- ldr r0, [r0, #8]
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FA9C: .4byte 0x086B0E60
-_0804FAA0: .4byte 0x020314E0
-_0804FAA4: .4byte 0x00000716
-_0804FAA8: .4byte 0x00000717
-_0804FAAC: .4byte 0x086B108C
-_0804FAB0: .4byte 0x040000D4
-_0804FAB4: .4byte 0x80000010
-_0804FAB8: .4byte 0x80000020
-_0804FABC: .4byte 0x80000030
-
- thumb_func_start sub_4FAC0
-sub_4FAC0: @ 0x0804FAC0
- push {r4, lr}
- ldr r0, _0804FAF8 @ =0x020314E0
- ldr r0, [r0]
- movs r1, #0xe6
- lsls r1, r1, #3
- adds r0, r0, r1
- movs r2, #0
- ldrsb r2, [r0, r2]
- lsls r2, r2, #3
- ldr r3, _0804FAFC @ =0x086B1104
- adds r2, r2, r3
- ldr r0, _0804FB00 @ =0x040000D4
- ldr r1, [r2]
- str r1, [r0]
- ldr r1, [r3, #0x18]
- str r1, [r0, #4]
- ldr r4, _0804FB04 @ =0x80000020
- str r4, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, [r2, #4]
- str r1, [r0]
- ldr r1, [r3, #0x1c]
- str r1, [r0, #4]
- str r4, [r0, #8]
- ldr r0, [r0, #8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FAF8: .4byte 0x020314E0
-_0804FAFC: .4byte 0x086B1104
-_0804FB00: .4byte 0x040000D4
-_0804FB04: .4byte 0x80000020
-
- thumb_func_start sub_4FB08
-sub_4FB08: @ 0x0804FB08
- push {r4, r5, lr}
- ldr r0, _0804FB88 @ =gMain
- ldr r0, [r0, #0x4c]
- movs r1, #0x3f
- ands r0, r1
- lsrs r0, r0, #4
- lsls r0, r0, #4
- ldr r2, _0804FB8C @ =0x086B0F4C
- adds r3, r0, r2
- adds r5, r2, #0
- adds r5, #0x40
- ldr r4, _0804FB90 @ =0x020314E0
- ldr r0, [r4]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xbf
- bgt _0804FB3C
- ldr r1, _0804FB94 @ =0x040000D4
- ldr r0, [r3]
- str r0, [r1]
- ldr r0, [r2, #0x40]
- str r0, [r1, #4]
- ldr r0, _0804FB98 @ =0x80000020
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804FB3C:
- ldr r0, [r4]
- adds r2, r0, #0
- adds r2, #0x6a
- movs r1, #0
- ldrsh r0, [r2, r1]
- cmp r0, #0xc7
- bgt _0804FB5A
- ldr r1, _0804FB94 @ =0x040000D4
- ldr r0, [r3, #4]
- str r0, [r1]
- ldr r0, [r5, #4]
- str r0, [r1, #4]
- ldr r0, _0804FB9C @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804FB5A:
- movs r1, #0
- ldrsh r0, [r2, r1]
- cmp r0, #0xcf
- bgt _0804FB72
- ldr r1, _0804FB94 @ =0x040000D4
- ldr r0, [r3, #8]
- str r0, [r1]
- ldr r0, [r5, #8]
- str r0, [r1, #4]
- ldr r0, _0804FBA0 @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804FB72:
- ldr r1, _0804FB94 @ =0x040000D4
- ldr r0, [r3, #0xc]
- str r0, [r1]
- ldr r0, [r5, #0xc]
- str r0, [r1, #4]
- ldr r0, _0804FBA0 @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FB88: .4byte gMain
-_0804FB8C: .4byte 0x086B0F4C
-_0804FB90: .4byte 0x020314E0
-_0804FB94: .4byte 0x040000D4
-_0804FB98: .4byte 0x80000020
-_0804FB9C: .4byte 0x80000040
-_0804FBA0: .4byte 0x80000030
-
- thumb_func_start sub_4FBA4
-sub_4FBA4: @ 0x0804FBA4
- push {r4, r5, r6, r7, lr}
- ldr r7, _0804FC60 @ =0x020314E0
- ldr r5, [r7]
- movs r0, #0xe4
- lsls r0, r0, #3
- adds r1, r5, r0
- ldrb r0, [r1]
- cmp r0, #0
- beq _0804FC0A
- ldr r6, _0804FC64 @ =0x00000721
- adds r0, r5, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- ldr r4, _0804FC68 @ =0x0000071D
- adds r5, r5, r4
- adds r5, r5, r0
- ldrb r0, [r1]
- movs r1, #0x24
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- movs r1, #0x12
- bl __udivsi3
- movs r1, #1
- subs r1, r1, r0
- strb r1, [r5]
- ldr r0, [r7]
- ldr r2, _0804FC6C @ =0x00000722
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, r1, #0x18
- asrs r1, r1, #0x18
- adds r4, r0, r4
- adds r1, r4, r1
- adds r0, r0, r6
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r4, r4, r0
- ldrb r0, [r4]
- strb r0, [r1]
- ldr r1, [r7]
- movs r0, #0xe4
- lsls r0, r0, #3
- adds r1, r1, r0
- ldrb r0, [r1]
- subs r0, #1
- strb r0, [r1]
-_0804FC0A:
- movs r1, #0
- ldr r0, [r7]
- ldr r2, _0804FC68 @ =0x0000071D
- adds r7, r0, r2
- ldr r6, _0804FC70 @ =0x086B1124
- movs r0, #0x30
- adds r0, r0, r6
- mov ip, r0
- ldr r4, _0804FC74 @ =0x040000D4
- ldr r5, _0804FC78 @ =0x80000020
-_0804FC1E:
- lsls r3, r1, #0x10
- asrs r3, r3, #0x10
- lsls r2, r3, #3
- subs r2, r2, r3
- lsls r2, r2, #3
- adds r0, r7, r3
- movs r1, #0
- ldrsb r1, [r0, r1]
- lsls r1, r1, #3
- adds r1, r1, r6
- adds r1, r2, r1
- add r2, ip
- ldr r0, [r1]
- str r0, [r4]
- ldr r0, [r2]
- str r0, [r4, #4]
- str r5, [r4, #8]
- ldr r0, [r4, #8]
- ldr r0, [r1, #4]
- str r0, [r4]
- ldr r0, [r2, #4]
- str r0, [r4, #4]
- str r5, [r4, #8]
- ldr r0, [r4, #8]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r1, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #2
- ble _0804FC1E
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FC60: .4byte 0x020314E0
-_0804FC64: .4byte 0x00000721
-_0804FC68: .4byte 0x0000071D
-_0804FC6C: .4byte 0x00000722
-_0804FC70: .4byte 0x086B1124
-_0804FC74: .4byte 0x040000D4
-_0804FC78: .4byte 0x80000020
-
- thumb_func_start sub_4FC7C
-sub_4FC7C: @ 0x0804FC7C
- push {r4, r5, r6, r7, lr}
- ldr r5, _0804FCE4 @ =0x020314E0
- ldr r4, [r5]
- ldr r1, _0804FCE8 @ =0x00000714
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _0804FD26
- ldr r2, _0804FCEC @ =0x00000715
- adds r1, r4, r2
- ldrb r0, [r1]
- cmp r0, #0
- beq _0804FCF8
- movs r1, #0x24
- bl __umodsi3
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- movs r1, #0x12
- bl __udivsi3
- movs r2, #0xe2
- lsls r2, r2, #3
- adds r1, r4, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r3, _0804FCF0 @ =0x00000711
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r1, r0, r2
- ldrb r1, [r1]
- adds r3, #1
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r2, r0, r2
- ldrb r1, [r2]
- ldr r2, _0804FCF4 @ =0x00000713
- adds r0, r0, r2
- strb r1, [r0]
- ldr r1, [r5]
- adds r3, #3
- adds r1, r1, r3
- ldrb r0, [r1]
- subs r0, #1
- strb r0, [r1]
- b _0804FD26
- .align 2, 0
-_0804FCE4: .4byte 0x020314E0
-_0804FCE8: .4byte 0x00000714
-_0804FCEC: .4byte 0x00000715
-_0804FCF0: .4byte 0x00000711
-_0804FCF4: .4byte 0x00000713
-_0804FCF8:
- movs r2, #0xe2
- lsls r2, r2, #3
- adds r1, r4, r2
- movs r0, #1
- strb r0, [r1]
- ldr r0, [r5]
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r3, _0804FD70 @ =0x00000711
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r1, r0, r2
- ldrb r1, [r1]
- adds r3, #1
- adds r0, r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- adds r2, r0, r2
- ldrb r1, [r2]
- ldr r2, _0804FD74 @ =0x00000713
- adds r0, r0, r2
- strb r1, [r0]
-_0804FD26:
- movs r2, #0
- ldr r0, _0804FD78 @ =0x020314E0
- ldr r0, [r0]
- movs r3, #0xe2
- lsls r3, r3, #3
- adds r5, r0, r3
- ldr r4, _0804FD7C @ =0x086B1300
- adds r7, r4, #0
- adds r7, #8
- ldr r3, _0804FD80 @ =0x040000D4
- ldr r6, _0804FD84 @ =0x80000020
-_0804FD3C:
- lsls r1, r2, #0x10
- asrs r1, r1, #0x10
- lsls r2, r1, #4
- adds r0, r5, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #2
- adds r0, r0, r4
- adds r0, r2, r0
- adds r2, r2, r7
- ldr r0, [r0]
- str r0, [r3]
- ldr r0, [r2]
- str r0, [r3, #4]
- str r6, [r3, #8]
- ldr r0, [r3, #8]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r2, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #3
- ble _0804FD3C
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FD70: .4byte 0x00000711
-_0804FD74: .4byte 0x00000713
-_0804FD78: .4byte 0x020314E0
-_0804FD7C: .4byte 0x086B1300
-_0804FD80: .4byte 0x040000D4
-_0804FD84: .4byte 0x80000020
-
- thumb_func_start sub_4FD88
-sub_4FD88: @ 0x0804FD88
- push {r4, r5, lr}
- ldr r0, _0804FDA4 @ =0x020314E0
- ldr r3, [r0]
- ldr r2, _0804FDA8 @ =0x00000724
- adds r1, r3, r2
- ldrh r2, [r1]
- movs r1, #0x96
- lsls r1, r1, #1
- adds r5, r0, #0
- cmp r2, r1
- bls _0804FDB0
- ldr r0, _0804FDAC @ =0x00000726
- adds r1, r3, r0
- b _0804FDC6
- .align 2, 0
-_0804FDA4: .4byte 0x020314E0
-_0804FDA8: .4byte 0x00000724
-_0804FDAC: .4byte 0x00000726
-_0804FDB0:
- cmp r2, #0
- beq _0804FDEC
- adds r0, r3, #0
- adds r0, #0x25
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _0804FDD0
- ldr r2, _0804FDCC @ =0x00000726
- adds r1, r3, r2
-_0804FDC6:
- movs r0, #1
- strb r0, [r1]
- b _0804FDF2
- .align 2, 0
-_0804FDCC: .4byte 0x00000726
-_0804FDD0:
- ldr r0, _0804FDE4 @ =gMain
- ldr r0, [r0, #0x50]
- movs r1, #0xf
- ands r0, r1
- lsrs r0, r0, #3
- ldr r2, _0804FDE8 @ =0x00000726
- adds r1, r3, r2
- strb r0, [r1]
- b _0804FDF2
- .align 2, 0
-_0804FDE4: .4byte gMain
-_0804FDE8: .4byte 0x00000726
-_0804FDEC:
- ldr r1, _0804FE54 @ =0x00000726
- adds r0, r3, r1
- strb r2, [r0]
-_0804FDF2:
- ldr r0, [r5]
- ldr r2, _0804FE54 @ =0x00000726
- adds r0, r0, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #4
- ldr r1, _0804FE58 @ =0x086B11CC
- adds r3, r0, r1
- adds r4, r1, #0
- adds r4, #0x20
- ldr r2, _0804FE5C @ =0x040000D4
- ldr r0, [r3]
- str r0, [r2]
- ldr r0, [r1, #0x20]
- str r0, [r2, #4]
- ldr r1, _0804FE60 @ =0x80000070
- str r1, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #4]
- str r0, [r2]
- ldr r0, [r4, #4]
- str r0, [r2, #4]
- str r1, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r5]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xd7
- ble _0804FE4C
- ldr r0, [r3, #8]
- str r0, [r2]
- ldr r0, [r4, #8]
- str r0, [r2, #4]
- ldr r0, _0804FE64 @ =0x80000060
- str r0, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #0xc]
- str r0, [r2]
- ldr r0, [r4, #0xc]
- str r0, [r2, #4]
- ldr r0, _0804FE68 @ =0x80000020
- str r0, [r2, #8]
- ldr r0, [r2, #8]
-_0804FE4C:
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FE54: .4byte 0x00000726
-_0804FE58: .4byte 0x086B11CC
-_0804FE5C: .4byte 0x040000D4
-_0804FE60: .4byte 0x80000070
-_0804FE64: .4byte 0x80000060
-_0804FE68: .4byte 0x80000020
-
- thumb_func_start sub_4FE6C
-sub_4FE6C: @ 0x0804FE6C
- push {r4, r5, r6, r7, lr}
- sub sp, #8
- ldr r1, _0804FE94 @ =0x020314E0
- ldr r2, [r1]
- ldr r3, _0804FE98 @ =0x0000072B
- adds r0, r2, r3
- movs r3, #0
- ldrsb r3, [r0, r3]
- adds r7, r1, #0
- cmp r3, #0
- bne _0804FEA0
- mov r1, sp
- ldr r4, _0804FE9C @ =0x00000734
- adds r0, r2, r4
- ldrh r0, [r0]
- strh r0, [r1]
- mov r0, sp
- strh r3, [r0, #2]
- strh r3, [r0, #4]
- b _0804FEE2
- .align 2, 0
-_0804FE94: .4byte 0x020314E0
-_0804FE98: .4byte 0x0000072B
-_0804FE9C: .4byte 0x00000734
-_0804FEA0:
- cmp r3, #1
- bne _0804FEBC
- mov r0, sp
- strh r3, [r0]
- mov r1, sp
- ldr r0, _0804FEB8 @ =0x00000734
- adds r2, r2, r0
- ldrh r0, [r2]
- strh r0, [r1, #2]
- ldrh r0, [r2]
- strh r0, [r1, #4]
- b _0804FEE2
- .align 2, 0
-_0804FEB8: .4byte 0x00000734
-_0804FEBC:
- cmp r3, #2
- bne _0804FED8
- mov r0, sp
- strh r3, [r0]
- strh r3, [r0, #2]
- mov r1, sp
- ldr r3, _0804FED4 @ =0x00000734
- adds r0, r2, r3
- ldrh r0, [r0]
- adds r0, #1
- strh r0, [r1, #4]
- b _0804FEE2
- .align 2, 0
-_0804FED4: .4byte 0x00000734
-_0804FED8:
- mov r0, sp
- movs r1, #2
- strh r1, [r0]
- strh r1, [r0, #2]
- strh r1, [r0, #4]
-_0804FEE2:
- mov r0, sp
- movs r4, #0
- ldrsh r1, [r0, r4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- ldr r3, _0804FFE4 @ =0x086B13F4
- adds r2, r0, r3
- adds r6, r3, #0
- adds r6, #0x24
- ldr r0, [r7]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xef
- bgt _0804FF12
- ldr r1, _0804FFE8 @ =0x040000D4
- ldr r0, [r2]
- str r0, [r1]
- ldr r0, [r3, #0x24]
- str r0, [r1, #4]
- ldr r0, _0804FFEC @ =0x80000020
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804FF12:
- ldr r0, [r7]
- adds r5, r0, #0
- adds r5, #0x6a
- movs r4, #0
- ldrsh r0, [r5, r4]
- cmp r0, #0xf7
- bgt _0804FF30
- ldr r1, _0804FFE8 @ =0x040000D4
- ldr r0, [r2, #4]
- str r0, [r1]
- ldr r0, [r6, #4]
- str r0, [r1, #4]
- ldr r0, _0804FFF0 @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804FF30:
- movs r0, #0
- ldrsh r4, [r5, r0]
- cmp r4, #0x58
- ble _0804FF7C
- mov r0, sp
- movs r2, #2
- ldrsh r1, [r0, r2]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- adds r1, r3, #0
- adds r1, #0x3c
- adds r2, r0, r1
- adds r6, r3, #0
- adds r6, #0x60
- cmp r4, #0xfd
- bgt _0804FF62
- ldr r1, _0804FFE8 @ =0x040000D4
- ldr r0, [r2]
- str r0, [r1]
- ldr r0, [r3, #0x60]
- str r0, [r1, #4]
- ldr r0, _0804FFEC @ =0x80000020
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804FF62:
- movs r3, #0
- ldrsh r1, [r5, r3]
- ldr r0, _0804FFF4 @ =0x00000105
- cmp r1, r0
- bgt _0804FF7C
- ldr r1, _0804FFE8 @ =0x040000D4
- ldr r0, [r2, #4]
- str r0, [r1]
- ldr r0, [r6, #4]
- str r0, [r1, #4]
- ldr r0, _0804FFEC @ =0x80000020
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804FF7C:
- ldr r0, [r7]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r4, [r0, r1]
- cmp r4, #0x60
- ble _0804FFDA
- mov r0, sp
- movs r2, #4
- ldrsh r1, [r0, r2]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- ldr r3, _0804FFF8 @ =0x086B146C
- adds r2, r0, r3
- adds r6, r3, #0
- adds r6, #0x24
- ldr r0, _0804FFFC @ =0x00000107
- cmp r4, r0
- bgt _0804FFB2
- ldr r1, _0804FFE8 @ =0x040000D4
- ldr r0, [r2]
- str r0, [r1]
- ldr r0, [r3, #0x24]
- str r0, [r1, #4]
- ldr r0, _0804FFEC @ =0x80000020
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0804FFB2:
- ldr r1, _0804FFE8 @ =0x040000D4
- ldr r0, [r2, #4]
- str r0, [r1]
- ldr r0, [r6, #4]
- str r0, [r1, #4]
- ldr r3, _0804FFEC @ =0x80000020
- str r3, [r1, #8]
- ldr r0, [r1, #8]
- ldr r0, [r7]
- adds r0, #0x6a
- movs r4, #0
- ldrsh r0, [r0, r4]
- cmp r0, #0x68
- ble _0804FFDA
- ldr r0, [r2, #8]
- str r0, [r1]
- ldr r0, [r6, #8]
- str r0, [r1, #4]
- str r3, [r1, #8]
- ldr r0, [r1, #8]
-_0804FFDA:
- add sp, #8
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FFE4: .4byte 0x086B13F4
-_0804FFE8: .4byte 0x040000D4
-_0804FFEC: .4byte 0x80000020
-_0804FFF0: .4byte 0x80000030
-_0804FFF4: .4byte 0x00000105
-_0804FFF8: .4byte 0x086B146C
-_0804FFFC: .4byte 0x00000107
-
- thumb_func_start sub_50000
-sub_50000: @ 0x08050000
- push {r4, r5, r6, lr}
- movs r1, #0
- ldr r6, _0805009C @ =0x020314E0
- ldr r2, [r6]
- movs r3, #0xe5
- lsls r3, r3, #3
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _08050026
- ldr r1, _080500A0 @ =0x00000734
- adds r0, r2, r1
- ldrh r1, [r0]
- movs r0, #1
- subs r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r1, r0, #0x10
-_08050026:
- lsls r0, r1, #0x10
- asrs r0, r0, #0xc
- ldr r3, _080500A4 @ =0x086B11FC
- adds r4, r0, r3
- adds r5, r3, #0
- adds r5, #0x20
- adds r0, r2, #0
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xff
- bgt _0805004E
- ldr r1, _080500A8 @ =0x040000D4
- ldr r0, [r4]
- str r0, [r1]
- ldr r0, [r3, #0x20]
- str r0, [r1, #4]
- ldr r0, _080500AC @ =0x80000020
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0805004E:
- ldr r0, [r6]
- adds r2, r0, #0
- adds r2, #0x6a
- ldrh r0, [r2]
- subs r0, #0x61
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #0xa6
- bhi _08050070
- ldr r1, _080500A8 @ =0x040000D4
- ldr r0, [r4, #4]
- str r0, [r1]
- ldr r0, [r5, #4]
- str r0, [r1, #4]
- ldr r0, _080500B0 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_08050070:
- movs r3, #0
- ldrsh r0, [r2, r3]
- cmp r0, #0x67
- ble _08050094
- ldr r0, _080500A8 @ =0x040000D4
- ldr r1, [r4, #8]
- str r1, [r0]
- ldr r1, [r5, #8]
- str r1, [r0, #4]
- ldr r2, _080500B0 @ =0x80000040
- str r2, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, [r4, #0xc]
- str r1, [r0]
- ldr r1, [r5, #0xc]
- str r1, [r0, #4]
- str r2, [r0, #8]
- ldr r0, [r0, #8]
-_08050094:
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0805009C: .4byte 0x020314E0
-_080500A0: .4byte 0x00000734
-_080500A4: .4byte 0x086B11FC
-_080500A8: .4byte 0x040000D4
-_080500AC: .4byte 0x80000020
-_080500B0: .4byte 0x80000040
-
- thumb_func_start sub_500B4
-sub_500B4: @ 0x080500B4
- push {r4, r5, lr}
- movs r1, #0
- ldr r5, _0805013C @ =0x020314E0
- ldr r2, [r5]
- ldr r3, _08050140 @ =0x00000729
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _080500D8
- ldr r1, _08050144 @ =0x00000734
- adds r0, r2, r1
- ldrh r1, [r0]
- movs r0, #1
- subs r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r1, r0, #0x10
-_080500D8:
- lsls r0, r1, #0x10
- asrs r0, r0, #0xc
- ldr r1, _08050148 @ =0x086B122C
- adds r3, r0, r1
- adds r4, r1, #0
- adds r4, #0x20
- adds r0, r2, #0
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xc2
- bgt _08050100
- ldr r1, _0805014C @ =0x040000D4
- ldr r0, [r3, #4]
- str r0, [r1]
- ldr r0, [r4, #4]
- str r0, [r1, #4]
- ldr r0, _08050150 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_08050100:
- ldr r0, [r5]
- adds r2, r0, #0
- adds r2, #0x6a
- movs r1, #0
- ldrsh r0, [r2, r1]
- cmp r0, #0x1e
- ble _0805011E
- ldr r1, _0805014C @ =0x040000D4
- ldr r0, [r3, #8]
- str r0, [r1]
- ldr r0, [r4, #8]
- str r0, [r1, #4]
- ldr r0, _08050150 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0805011E:
- movs r1, #0
- ldrsh r0, [r2, r1]
- cmp r0, #0x26
- ble _08050136
- ldr r1, _0805014C @ =0x040000D4
- ldr r0, [r3, #0xc]
- str r0, [r1]
- ldr r0, [r4, #0xc]
- str r0, [r1, #4]
- ldr r0, _08050150 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_08050136:
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805013C: .4byte 0x020314E0
-_08050140: .4byte 0x00000729
-_08050144: .4byte 0x00000734
-_08050148: .4byte 0x086B122C
-_0805014C: .4byte 0x040000D4
-_08050150: .4byte 0x80000040
-
- thumb_func_start sub_50154
-sub_50154: @ 0x08050154
- push {r4, r5, r6, lr}
- sub sp, #8
- ldr r0, _0805018C @ =0x020314E0
- ldr r2, [r0]
- movs r1, #0x13
- ldrsb r1, [r2, r1]
- adds r6, r0, #0
- cmp r1, #2
- bgt _080501E0
- ldr r1, _08050190 @ =0x0000072E
- adds r0, r2, r1
- movs r3, #0
- ldrsb r3, [r0, r3]
- cmp r3, #0
- bne _08050198
- mov r1, sp
- ldr r4, _08050194 @ =0x00000734
- adds r2, r2, r4
- movs r4, #0
- ldrsh r0, [r2, r4]
- lsls r0, r0, #1
- strh r0, [r1]
- ldrh r0, [r2]
- strh r0, [r1, #2]
- mov r0, sp
- strh r3, [r0, #4]
- b _08050206
- .align 2, 0
-_0805018C: .4byte 0x020314E0
-_08050190: .4byte 0x0000072E
-_08050194: .4byte 0x00000734
-_08050198:
- cmp r3, #1
- bne _080501B8
- mov r1, sp
- movs r0, #3
- strh r0, [r1]
- ldr r0, _080501B4 @ =0x00000734
- adds r2, r2, r0
- ldrh r0, [r2]
- adds r0, #1
- strh r0, [r1, #2]
- movs r3, #0
- ldrsh r0, [r2, r3]
- lsls r0, r0, #1
- b _08050204
- .align 2, 0
-_080501B4: .4byte 0x00000734
-_080501B8:
- cmp r3, #2
- bne _080501D4
- mov r0, sp
- movs r1, #3
- strh r1, [r0]
- strh r1, [r0, #2]
- mov r1, sp
- ldr r4, _080501D0 @ =0x00000734
- adds r0, r2, r4
- ldrh r0, [r0]
- adds r0, #2
- b _08050204
- .align 2, 0
-_080501D0: .4byte 0x00000734
-_080501D4:
- mov r0, sp
- movs r1, #3
- strh r1, [r0]
- strh r1, [r0, #2]
- strh r1, [r0, #4]
- b _08050206
-_080501E0:
- mov r1, sp
- ldr r3, _080502F0 @ =0x00000739
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- strh r0, [r1]
- ldr r4, _080502F4 @ =0x0000073A
- adds r0, r2, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- strh r0, [r1, #2]
- adds r3, #2
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
-_08050204:
- strh r0, [r1, #4]
-_08050206:
- mov r0, sp
- movs r4, #0
- ldrsh r1, [r0, r4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- ldr r1, _080502F8 @ =0x086B1340
- mov ip, r1
- adds r3, r0, r1
- mov r4, ip
- adds r4, #0x30
- ldr r0, [r6]
- adds r0, #0x6a
- movs r2, #0
- ldrsh r1, [r0, r2]
- ldr r0, _080502FC @ =0x00000107
- cmp r1, r0
- bgt _0805023C
- ldr r1, _08050300 @ =0x040000D4
- ldr r0, [r3]
- str r0, [r1]
- mov r2, ip
- ldr r0, [r2, #0x30]
- str r0, [r1, #4]
- ldr r0, _08050304 @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0805023C:
- ldr r2, _08050300 @ =0x040000D4
- ldr r0, [r3, #4]
- str r0, [r2]
- ldr r0, [r4, #4]
- str r0, [r2, #4]
- ldr r5, _08050304 @ =0x80000030
- str r5, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #8]
- str r0, [r2]
- ldr r0, [r4, #8]
- str r0, [r2, #4]
- str r5, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r6]
- adds r6, r0, #0
- adds r6, #0x6a
- movs r3, #0
- ldrsh r0, [r6, r3]
- cmp r0, #0x78
- ble _080502A2
- mov r0, sp
- movs r4, #2
- ldrsh r1, [r0, r4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- mov r1, ip
- adds r1, #0x3c
- adds r3, r0, r1
- mov r4, ip
- adds r4, #0x6c
- ldr r0, [r3]
- str r0, [r2]
- mov r1, ip
- ldr r0, [r1, #0x6c]
- str r0, [r2, #4]
- str r5, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #4]
- str r0, [r2]
- ldr r0, [r4, #4]
- str r0, [r2, #4]
- str r5, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #8]
- str r0, [r2]
- ldr r0, [r4, #8]
- str r0, [r2, #4]
- str r5, [r2, #8]
- ldr r0, [r2, #8]
-_080502A2:
- movs r3, #0
- ldrsh r0, [r6, r3]
- cmp r0, #0x88
- ble _080502E6
- mov r0, sp
- movs r4, #4
- ldrsh r1, [r0, r4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- mov r1, ip
- adds r1, #0x78
- adds r3, r0, r1
- mov r4, ip
- adds r4, #0xa8
- ldr r0, [r3]
- str r0, [r2]
- ldr r0, [r4]
- str r0, [r2, #4]
- str r5, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #4]
- str r0, [r2]
- ldr r0, [r4, #4]
- str r0, [r2, #4]
- str r5, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #8]
- str r0, [r2]
- ldr r0, [r4, #8]
- str r0, [r2, #4]
- ldr r0, _08050308 @ =0x80000020
- str r0, [r2, #8]
- ldr r0, [r2, #8]
-_080502E6:
- add sp, #8
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080502F0: .4byte 0x00000739
-_080502F4: .4byte 0x0000073A
-_080502F8: .4byte 0x086B1340
-_080502FC: .4byte 0x00000107
-_08050300: .4byte 0x040000D4
-_08050304: .4byte 0x80000030
-_08050308: .4byte 0x80000020
-
- thumb_func_start sub_5030C
-sub_5030C: @ 0x0805030C
- push {r4, r5, r6, lr}
- sub sp, #8
- ldr r0, _08050340 @ =0x020314E0
- ldr r2, [r0]
- movs r1, #0x13
- ldrsb r1, [r2, r1]
- adds r5, r0, #0
- cmp r1, #2
- bgt _08050394
- ldr r1, _08050344 @ =0x0000072F
- adds r0, r2, r1
- movs r3, #0
- ldrsb r3, [r0, r3]
- cmp r3, #0
- bne _0805034C
- mov r1, sp
- ldr r4, _08050348 @ =0x00000734
- adds r0, r2, r4
- movs r2, #0
- ldrsh r0, [r0, r2]
- lsls r0, r0, #1
- strh r0, [r1]
- mov r0, sp
- strh r3, [r0, #2]
- strh r3, [r0, #4]
- b _080503BA
- .align 2, 0
-_08050340: .4byte 0x020314E0
-_08050344: .4byte 0x0000072F
-_08050348: .4byte 0x00000734
-_0805034C:
- cmp r3, #1
- bne _0805036C
- mov r1, sp
- movs r0, #3
- strh r0, [r1]
- ldr r3, _08050368 @ =0x00000734
- adds r2, r2, r3
- ldrh r0, [r2]
- adds r0, #1
- strh r0, [r1, #2]
- movs r4, #0
- ldrsh r0, [r2, r4]
- lsls r0, r0, #1
- b _080503B8
- .align 2, 0
-_08050368: .4byte 0x00000734
-_0805036C:
- cmp r3, #2
- bne _08050388
- mov r0, sp
- movs r1, #3
- strh r1, [r0]
- strh r1, [r0, #2]
- mov r1, sp
- ldr r3, _08050384 @ =0x00000734
- adds r0, r2, r3
- ldrh r0, [r0]
- adds r0, #2
- b _080503B8
- .align 2, 0
-_08050384: .4byte 0x00000734
-_08050388:
- mov r0, sp
- movs r1, #3
- strh r1, [r0]
- strh r1, [r0, #2]
- strh r1, [r0, #4]
- b _080503BA
-_08050394:
- mov r1, sp
- ldr r4, _080504A4 @ =0x00000736
- adds r0, r2, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- strh r0, [r1]
- ldr r3, _080504A8 @ =0x00000737
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- strh r0, [r1, #2]
- adds r4, #2
- adds r0, r2, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
-_080503B8:
- strh r0, [r1, #4]
-_080503BA:
- mov r0, sp
- movs r2, #0
- ldrsh r1, [r0, r2]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- ldr r3, _080504AC @ =0x086B14A8
- mov ip, r3
- adds r3, r0, r3
- mov r4, ip
- adds r4, #0x30
- ldr r0, [r5]
- adds r0, #0x6a
- movs r2, #0
- ldrsh r1, [r0, r2]
- ldr r0, _080504B0 @ =0x00000107
- cmp r1, r0
- bgt _080503F0
- ldr r1, _080504B4 @ =0x040000D4
- ldr r0, [r3]
- str r0, [r1]
- mov r2, ip
- ldr r0, [r2, #0x30]
- str r0, [r1, #4]
- ldr r0, _080504B8 @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_080503F0:
- ldr r2, _080504B4 @ =0x040000D4
- ldr r0, [r3, #4]
- str r0, [r2]
- ldr r0, [r4, #4]
- str r0, [r2, #4]
- ldr r6, _080504B8 @ =0x80000030
- str r6, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #8]
- str r0, [r2]
- ldr r0, [r4, #8]
- str r0, [r2, #4]
- str r6, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r5]
- adds r5, r0, #0
- adds r5, #0x6a
- movs r3, #0
- ldrsh r0, [r5, r3]
- cmp r0, #0x78
- ble _08050458
- mov r0, sp
- movs r4, #2
- ldrsh r1, [r0, r4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- mov r1, ip
- adds r1, #0x3c
- adds r3, r0, r1
- mov r4, ip
- adds r4, #0x6c
- ldr r0, [r3]
- str r0, [r2]
- mov r1, ip
- ldr r0, [r1, #0x6c]
- str r0, [r2, #4]
- ldr r1, _080504BC @ =0x80000020
- str r1, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #4]
- str r0, [r2]
- ldr r0, [r4, #4]
- str r0, [r2, #4]
- str r1, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #8]
- str r0, [r2]
- ldr r0, [r4, #8]
- str r0, [r2, #4]
- str r6, [r2, #8]
- ldr r0, [r2, #8]
-_08050458:
- movs r3, #0
- ldrsh r0, [r5, r3]
- cmp r0, #0x88
- ble _0805049C
- mov r0, sp
- movs r4, #4
- ldrsh r1, [r0, r4]
- lsls r0, r1, #1
- adds r0, r0, r1
- lsls r0, r0, #2
- mov r1, ip
- adds r1, #0x78
- adds r3, r0, r1
- mov r4, ip
- adds r4, #0xa8
- ldr r0, [r3]
- str r0, [r2]
- ldr r0, [r4]
- str r0, [r2, #4]
- ldr r1, _080504BC @ =0x80000020
- str r1, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #4]
- str r0, [r2]
- ldr r0, [r4, #4]
- str r0, [r2, #4]
- str r6, [r2, #8]
- ldr r0, [r2, #8]
- ldr r0, [r3, #8]
- str r0, [r2]
- ldr r0, [r4, #8]
- str r0, [r2, #4]
- str r1, [r2, #8]
- ldr r0, [r2, #8]
-_0805049C:
- add sp, #8
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080504A4: .4byte 0x00000736
-_080504A8: .4byte 0x00000737
-_080504AC: .4byte 0x086B14A8
-_080504B0: .4byte 0x00000107
-_080504B4: .4byte 0x040000D4
-_080504B8: .4byte 0x80000030
-_080504BC: .4byte 0x80000020
-
- thumb_func_start sub_504C0
-sub_504C0: @ 0x080504C0
- push {r4, r5, r6, lr}
- movs r3, #0
- ldr r1, _08050584 @ =0x020314E0
- ldr r0, [r1]
- ldr r4, _08050588 @ =0x00000731
- adds r0, r0, r4
- strb r3, [r0]
- ldr r2, [r1]
- ldr r5, _0805058C @ =0x0000072F
- adds r0, r2, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r6, r1, #0
- cmp r0, #1
- ble _080504EE
- movs r0, #0x13
- ldrsb r0, [r2, r0]
- cmp r0, #2
- bgt _080504EE
- adds r1, r2, r4
- movs r0, #1
- strb r0, [r1]
-_080504EE:
- ldr r2, [r6]
- ldr r1, _08050588 @ =0x00000731
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _0805050C
- ldr r5, _08050590 @ =0x00000734
- adds r0, r2, r5
- ldrh r1, [r0]
- movs r0, #1
- subs r0, r0, r1
- lsls r0, r0, #0x10
- lsrs r3, r0, #0x10
-_0805050C:
- lsls r0, r3, #0x10
- asrs r0, r0, #0xc
- ldr r3, _08050594 @ =0x086B12D0
- adds r4, r0, r3
- adds r5, r3, #0
- adds r5, #0x20
- adds r0, r2, #0
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xe7
- bgt _08050534
- ldr r1, _08050598 @ =0x040000D4
- ldr r0, [r4]
- str r0, [r1]
- ldr r0, [r3, #0x20]
- str r0, [r1, #4]
- ldr r0, _0805059C @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_08050534:
- ldr r0, [r6]
- adds r2, r0, #0
- adds r2, #0x6a
- movs r1, #0
- ldrsh r0, [r2, r1]
- cmp r0, #0xef
- bgt _08050552
- ldr r1, _08050598 @ =0x040000D4
- ldr r0, [r4, #4]
- str r0, [r1]
- ldr r0, [r5, #4]
- str r0, [r1, #4]
- ldr r0, _080505A0 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_08050552:
- movs r1, #0
- ldrsh r0, [r2, r1]
- cmp r0, #0x4f
- ble _0805057E
- cmp r0, #0xf7
- bgt _0805056E
- ldr r1, _08050598 @ =0x040000D4
- ldr r0, [r4, #8]
- str r0, [r1]
- ldr r0, [r5, #8]
- str r0, [r1, #4]
- ldr r0, _080505A0 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0805056E:
- ldr r1, _08050598 @ =0x040000D4
- ldr r0, [r4, #0xc]
- str r0, [r1]
- ldr r0, [r5, #0xc]
- str r0, [r1, #4]
- ldr r0, _0805059C @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0805057E:
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08050584: .4byte 0x020314E0
-_08050588: .4byte 0x00000731
-_0805058C: .4byte 0x0000072F
-_08050590: .4byte 0x00000734
-_08050594: .4byte 0x086B12D0
-_08050598: .4byte 0x040000D4
-_0805059C: .4byte 0x80000030
-_080505A0: .4byte 0x80000040
-
- thumb_func_start sub_505A4
-sub_505A4: @ 0x080505A4
- push {r4, r5, lr}
- movs r3, #0
- ldr r0, _080505C8 @ =0x020314E0
- ldr r2, [r0]
- ldr r4, _080505CC @ =0x00000366
- adds r1, r2, r4
- ldrb r1, [r1]
- lsls r1, r1, #0x18
- asrs r1, r1, #0x18
- adds r5, r0, #0
- cmp r1, #3
- bne _080505D4
- ldr r0, _080505D0 @ =0x0000072A
- adds r1, r2, r0
- movs r0, #1
- strb r0, [r1]
- b _080505E2
- .align 2, 0
-_080505C8: .4byte 0x020314E0
-_080505CC: .4byte 0x00000366
-_080505D0: .4byte 0x0000072A
-_080505D4:
- movs r0, #0x13
- ldrsb r0, [r2, r0]
- cmp r0, #0
- beq _080505E2
- ldr r1, _0805060C @ =0x0000072A
- adds r0, r2, r1
- strb r3, [r0]
-_080505E2:
- ldr r1, [r5]
- ldr r2, _0805060C @ =0x0000072A
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- ble _08050614
- ldr r4, _08050610 @ =0x000001A5
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #1
- adds r2, #0xa
- adds r1, r1, r2
- ldrh r1, [r1]
- subs r1, #1
- subs r0, r0, r1
- lsls r0, r0, #0x10
- b _08050620
- .align 2, 0
-_0805060C: .4byte 0x0000072A
-_08050610: .4byte 0x000001A5
-_08050614:
- ldr r4, _0805069C @ =0x000001A5
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #0x11
-_08050620:
- lsrs r3, r0, #0x10
- lsls r0, r3, #0x10
- asrs r0, r0, #0xc
- ldr r2, _080506A0 @ =0x086B125C
- adds r3, r0, r2
- adds r4, r2, #0
- adds r4, #0x40
- ldr r0, [r5]
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xdf
- bgt _0805064A
- ldr r1, _080506A4 @ =0x040000D4
- ldr r0, [r3]
- str r0, [r1]
- ldr r0, [r2, #0x40]
- str r0, [r1, #4]
- ldr r0, _080506A8 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0805064A:
- ldr r0, [r5]
- adds r2, r0, #0
- adds r2, #0x6a
- movs r1, #0
- ldrsh r0, [r2, r1]
- cmp r0, #0xe7
- bgt _08050668
- ldr r1, _080506A4 @ =0x040000D4
- ldr r0, [r3, #4]
- str r0, [r1]
- ldr r0, [r4, #4]
- str r0, [r1, #4]
- ldr r0, _080506A8 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_08050668:
- movs r1, #0
- ldrsh r0, [r2, r1]
- cmp r0, #0x47
- ble _08050694
- cmp r0, #0xef
- bgt _08050684
- ldr r1, _080506A4 @ =0x040000D4
- ldr r0, [r3, #8]
- str r0, [r1]
- ldr r0, [r4, #8]
- str r0, [r1, #4]
- ldr r0, _080506A8 @ =0x80000040
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_08050684:
- ldr r1, _080506A4 @ =0x040000D4
- ldr r0, [r3, #0xc]
- str r0, [r1]
- ldr r0, [r4, #0xc]
- str r0, [r1, #4]
- ldr r0, _080506AC @ =0x80000030
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_08050694:
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805069C: .4byte 0x000001A5
-_080506A0: .4byte 0x086B125C
-_080506A4: .4byte 0x040000D4
-_080506A8: .4byte 0x80000040
-_080506AC: .4byte 0x80000030
-
- thumb_func_start sub_506B0
-sub_506B0: @ 0x080506B0
- push {r4, r5, r6, r7, lr}
- movs r1, #0
- ldr r0, _08050700 @ =0x020314E0
- ldr r0, [r0]
- movs r2, #0xe3
- lsls r2, r2, #3
- adds r5, r0, r2
- ldr r4, _08050704 @ =0x086B12AC
- adds r7, r4, #0
- adds r7, #8
- ldr r3, _08050708 @ =0x040000D4
- ldr r6, _0805070C @ =0x80000020
-_080506C8:
- lsls r2, r1, #0x10
- asrs r2, r2, #0x10
- lsls r1, r2, #1
- adds r1, r1, r2
- lsls r1, r1, #2
- adds r0, r5, r2
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- lsls r0, r0, #2
- adds r0, r0, r4
- adds r0, r1, r0
- adds r1, r1, r7
- ldr r0, [r0]
- str r0, [r3]
- ldr r0, [r1]
- str r0, [r3, #4]
- str r6, [r3, #8]
- ldr r0, [r3, #8]
- adds r2, #1
- lsls r2, r2, #0x10
- lsrs r1, r2, #0x10
- asrs r2, r2, #0x10
- cmp r2, #2
- ble _080506C8
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08050700: .4byte 0x020314E0
-_08050704: .4byte 0x086B12AC
-_08050708: .4byte 0x040000D4
-_0805070C: .4byte 0x80000020
-
- thumb_func_start sub_50710
-sub_50710: @ 0x08050710
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- ldr r2, _08050770 @ =0x020314E0
- ldr r0, [r2]
- ldr r1, _08050774 @ =0x00000346
- adds r0, r0, r1
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #3
- beq _080507C0
- movs r1, #0
- mov sb, r2
- ldr r2, _08050778 @ =0x0000034B
- mov r8, r2
- ldr r5, _0805077C @ =0x040000D4
- ldr r0, _08050780 @ =0x086B0F9C
- mov sl, r0
- ldr r7, _08050784 @ =0x80000020
-_0805073C:
- mov r2, sb
- ldr r0, [r2]
- lsls r1, r1, #0x10
- asrs r4, r1, #0x10
- add r0, r8
- adds r0, r0, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r6, r1, #0
- cmp r0, #0
- ble _08050788
- cmp r0, #0xa
- bne _0805075E
- movs r0, #0xdc
- bl m4aSongNumStart
-_0805075E:
- mov r0, sb
- ldr r1, [r0]
- add r1, r8
- adds r1, r1, r4
- ldrb r0, [r1]
- subs r0, #1
- strb r0, [r1]
- movs r2, #1
- b _0805078A
- .align 2, 0
-_08050770: .4byte 0x020314E0
-_08050774: .4byte 0x00000346
-_08050778: .4byte 0x0000034B
-_0805077C: .4byte 0x040000D4
-_08050780: .4byte 0x086B0F9C
-_08050784: .4byte 0x80000020
-_08050788:
- movs r2, #0
-_0805078A:
- asrs r3, r6, #0x10
- lsls r1, r3, #1
- adds r1, r1, r3
- lsls r1, r1, #3
- lsls r2, r2, #3
- add r2, sl
- adds r2, r1, r2
- ldr r0, _080507D0 @ =0x086B0FAC
- adds r1, r1, r0
- ldr r0, [r2]
- str r0, [r5]
- ldr r0, [r1]
- str r0, [r5, #4]
- str r7, [r5, #8]
- ldr r0, [r5, #8]
- ldr r0, [r2, #4]
- str r0, [r5]
- ldr r0, [r1, #4]
- str r0, [r5, #4]
- str r7, [r5, #8]
- ldr r0, [r5, #8]
- adds r3, #1
- lsls r3, r3, #0x10
- lsrs r1, r3, #0x10
- asrs r3, r3, #0x10
- cmp r3, #9
- ble _0805073C
-_080507C0:
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080507D0: .4byte 0x086B0FAC
-
- thumb_func_start sub_507D4
-sub_507D4: @ 0x080507D4
- push {r4, r5, lr}
- movs r1, #0
- ldr r0, _08050834 @ =0x020314E0
- ldr r4, [r0]
- movs r2, #0xc2
- lsls r2, r2, #2
- adds r0, r4, r2
- ldrh r0, [r0]
- cmp r0, #0x63
- bls _080507F8
- ldr r1, _08050838 @ =0x0000070C
- adds r0, r4, r1
- ldrh r0, [r0]
- movs r1, #0x14
- bl __umodsi3
- lsls r0, r0, #0x10
- lsrs r1, r0, #0x12
-_080507F8:
- lsls r0, r1, #3
- ldr r2, _0805083C @ =0x086B0E6C
- adds r3, r0, r2
- adds r5, r2, #0
- adds r5, #0x28
- adds r0, r4, #0
- adds r0, #0x6a
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #0xaf
- bgt _0805081E
- ldr r1, _08050840 @ =0x040000D4
- ldr r0, [r3]
- str r0, [r1]
- ldr r0, [r2, #0x28]
- str r0, [r1, #4]
- ldr r0, _08050844 @ =0x80000020
- str r0, [r1, #8]
- ldr r0, [r1, #8]
-_0805081E:
- ldr r1, _08050840 @ =0x040000D4
- ldr r0, [r3, #4]
- str r0, [r1]
- ldr r0, [r5, #4]
- str r0, [r1, #4]
- ldr r0, _08050844 @ =0x80000020
- str r0, [r1, #8]
- ldr r0, [r1, #8]
- pop {r4, r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08050834: .4byte 0x020314E0
-_08050838: .4byte 0x0000070C
-_0805083C: .4byte 0x086B0E6C
-_08050840: .4byte 0x040000D4
-_08050844: .4byte 0x80000020
-
- thumb_func_start sub_50848
-sub_50848: @ 0x08050848
- push {r4, r5, r6, r7, lr}
- movs r0, #0
- ldr r4, _080508E8 @ =gMain
- ldr r7, _080508EC @ =0x086B155C
- adds r6, r4, #0
- movs r5, #0xb8
- movs r3, #0xbe
- lsls r3, r3, #2
- movs r2, #0
-_0805085A:
- lsls r1, r0, #0x10
- asrs r1, r1, #0x10
- adds r0, r1, #0
- muls r0, r5, r0
- adds r0, r0, r6
- adds r0, r0, r3
- strh r2, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r0, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #0x53
- ble _0805085A
- ldr r0, _080508F0 @ =0x000030F8
- adds r1, r4, r0
- movs r0, #1
- strh r0, [r1]
- ldr r1, _080508F4 @ =0x00002578
- adds r3, r4, r1
- ldr r2, _080508F8 @ =0x00003548
- adds r1, r4, r2
- strh r0, [r1]
- movs r5, #0xbe
- lsls r5, r5, #2
- adds r2, r4, r5
- strh r0, [r2]
- adds r5, #0xb8
- adds r1, r4, r5
- strh r0, [r1]
- adds r5, #0xb8
- adds r1, r4, r5
- strh r0, [r1]
- ldr r5, _080508FC @ =0x00001718
- adds r1, r4, r5
- strh r0, [r1]
- ldr r5, _08050900 @ =0x00003D30
- adds r1, r4, r5
- strh r0, [r1]
- ldr r5, _08050904 @ =0x000031B0
- adds r1, r4, r5
- strh r0, [r1]
- movs r5, #0xd8
- lsls r5, r5, #6
- adds r1, r4, r5
- strh r0, [r1]
- ldr r5, _08050908 @ =0x00003268
- adds r1, r4, r5
- strh r0, [r1]
- ldr r5, _0805090C @ =0x000027A0
- adds r1, r4, r5
- strh r0, [r1]
- ldr r5, _08050910 @ =0x00002ED0
- adds r1, r4, r5
- strh r0, [r1]
- strh r0, [r3]
- ldr r3, _08050914 @ =0x00002858
- adds r1, r4, r3
- strh r0, [r1]
- adds r5, #0xb8
- adds r1, r4, r5
- strh r0, [r1]
- ldrb r1, [r4, #4]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- bl LoadSpriteSets
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080508E8: .4byte gMain
-_080508EC: .4byte 0x086B155C
-_080508F0: .4byte 0x000030F8
-_080508F4: .4byte 0x00002578
-_080508F8: .4byte 0x00003548
-_080508FC: .4byte 0x00001718
-_08050900: .4byte 0x00003D30
-_08050904: .4byte 0x000031B0
-_08050908: .4byte 0x00003268
-_0805090C: .4byte 0x000027A0
-_08050910: .4byte 0x00002ED0
-_08050914: .4byte 0x00002858
-
- thumb_func_start sub_50918
-sub_50918: @ 0x08050918
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- ldr r2, _080509EC @ =gMain
- ldr r1, _080509F0 @ =0x00000A28
- adds r0, r2, r1
- movs r1, #0
- strh r1, [r0]
- movs r3, #0xae
- lsls r3, r3, #4
- adds r0, r2, r3
- strh r1, [r0]
- ldr r4, _080509F4 @ =0x00002578
- adds r0, r2, r4
- strh r1, [r0]
- movs r3, #0xd8
- lsls r3, r3, #6
- adds r0, r2, r3
- strh r1, [r0]
- movs r0, #0x33
- adds r5, r2, #0
- ldr r7, _080509F8 @ =0x020314E0
- ldr r4, _080509FC @ =0x086B155C
- mov r8, r4
- adds r6, r5, #0
- movs r4, #0xb8
- movs r3, #0xbe
- lsls r3, r3, #2
- movs r2, #0
-_08050952:
- lsls r1, r0, #0x10
- asrs r1, r1, #0x10
- adds r0, r1, #0
- muls r0, r4, r0
- adds r0, r0, r6
- adds r0, r0, r3
- strh r2, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r0, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #0x42
- ble _08050952
- ldr r4, [r7]
- ldr r0, [r5, #0x4c]
- movs r1, #0x19
- bl __umodsi3
- movs r2, #0xde
- lsls r2, r2, #1
- adds r1, r4, r2
- strh r0, [r1]
- adds r4, #0x68
- movs r3, #0
- ldrsh r0, [r4, r3]
- cmp r0, #0x6d
- bgt _0805099E
- ldr r4, _08050A00 @ =0x000031B0
- adds r0, r5, r4
- movs r1, #1
- strh r1, [r0]
- movs r2, #0xd8
- lsls r2, r2, #6
- adds r0, r5, r2
- strh r1, [r0]
- ldr r3, _08050A04 @ =0x00003268
- adds r0, r5, r3
- strh r1, [r0]
-_0805099E:
- ldr r3, [r7]
- adds r2, r3, #0
- adds r2, #0x68
- movs r4, #0
- ldrsh r0, [r2, r4]
- cmp r0, #0xa7
- bgt _080509BA
- ldr r1, _080509F4 @ =0x00002578
- adds r0, r5, r1
- movs r1, #1
- strh r1, [r0]
- ldr r4, _08050A08 @ =0x00002858
- adds r0, r5, r4
- strh r1, [r0]
-_080509BA:
- movs r1, #0
- ldrsh r0, [r2, r1]
- cmp r0, #0xdb
- bgt _08050A1E
- ldr r2, _08050A0C @ =0x000027A0
- adds r0, r5, r2
- movs r1, #1
- strh r1, [r0]
- ldr r4, _08050A10 @ =0x00002ED0
- adds r0, r5, r4
- strh r1, [r0]
- ldr r2, _08050A14 @ =0x000030F8
- adds r0, r5, r2
- strh r1, [r0]
- movs r4, #0xa9
- lsls r4, r4, #2
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0
- beq _08050A18
- subs r2, #0xb8
- adds r0, r5, r2
- b _08050A1C
- .align 2, 0
-_080509EC: .4byte gMain
-_080509F0: .4byte 0x00000A28
-_080509F4: .4byte 0x00002578
-_080509F8: .4byte 0x020314E0
-_080509FC: .4byte 0x086B155C
-_08050A00: .4byte 0x000031B0
-_08050A04: .4byte 0x00003268
-_08050A08: .4byte 0x00002858
-_08050A0C: .4byte 0x000027A0
-_08050A10: .4byte 0x00002ED0
-_08050A14: .4byte 0x000030F8
-_08050A18:
- ldr r3, _08050AB0 @ =0x00002F88
- adds r0, r5, r3
-_08050A1C:
- strh r1, [r0]
-_08050A1E:
- ldr r0, [r7]
- adds r0, #0x68
- movs r4, #0
- ldrsh r0, [r0, r4]
- cmp r0, #0x3f
- ble _08050A38
- ldr r1, _08050AB4 @ =0x00002910
- adds r0, r5, r1
- movs r1, #1
- strh r1, [r0]
- ldr r2, _08050AB8 @ =0x00002BF0
- adds r0, r5, r2
- strh r1, [r0]
-_08050A38:
- ldr r0, [r7]
- adds r4, r0, #0
- adds r4, #0x68
- movs r3, #0
- ldrsh r0, [r4, r3]
- cmp r0, #0x73
- ble _08050A4E
- ldr r0, _08050ABC @ =0x00002CA8
- adds r1, r5, r0
- movs r0, #1
- strh r0, [r1]
-_08050A4E:
- movs r1, #0
- ldrsh r0, [r4, r1]
- cmp r0, #0x82
- ble _08050A64
- ldr r2, _08050AC0 @ =0x00002D60
- adds r0, r5, r2
- movs r1, #1
- strh r1, [r0]
- ldr r3, _08050AC4 @ =0x00002E18
- adds r0, r5, r3
- strh r1, [r0]
-_08050A64:
- movs r1, #0
- ldrsh r0, [r4, r1]
- cmp r0, #0xd8
- ble _08050A90
- ldr r2, _08050AC8 @ =0x00002B38
- adds r0, r5, r2
- movs r1, #1
- strh r1, [r0]
- ldr r3, _08050ACC @ =0x000029C8
- adds r0, r5, r3
- strh r1, [r0]
- movs r4, #0xaa
- lsls r4, r4, #6
- adds r0, r5, r4
- strh r1, [r0]
- ldr r2, _08050AD0 @ =0x00000A28
- adds r0, r5, r2
- strh r1, [r0]
- movs r3, #0xae
- lsls r3, r3, #4
- adds r0, r5, r3
- strh r1, [r0]
-_08050A90:
- ldrb r1, [r5, #4]
- lsls r1, r1, #3
- add r1, r8
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- movs r4, #0xbe
- lsls r4, r4, #2
- adds r2, r5, r4
- bl LoadSpriteSets
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08050AB0: .4byte 0x00002F88
-_08050AB4: .4byte 0x00002910
-_08050AB8: .4byte 0x00002BF0
-_08050ABC: .4byte 0x00002CA8
-_08050AC0: .4byte 0x00002D60
-_08050AC4: .4byte 0x00002E18
-_08050AC8: .4byte 0x00002B38
-_08050ACC: .4byte 0x000029C8
-_08050AD0: .4byte 0x00000A28
-
- thumb_func_start sub_50AD4
-sub_50AD4: @ 0x08050AD4
- push {r4, r5, r6, r7, lr}
- movs r0, #0
- ldr r3, _08050B5C @ =gMain
- ldr r7, _08050B60 @ =0x086B155C
- adds r6, r3, #0
- movs r5, #0xb8
- movs r4, #0xbe
- lsls r4, r4, #2
- movs r2, #0
-_08050AE6:
- lsls r1, r0, #0x10
- asrs r1, r1, #0x10
- adds r0, r1, #0
- muls r0, r5, r0
- adds r0, r0, r6
- adds r0, r0, r4
- strh r2, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r0, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #0x56
- ble _08050AE6
- ldr r1, _08050B64 @ =0x000036B8
- adds r0, r3, r1
- movs r1, #1
- strh r1, [r0]
- movs r2, #0xc1
- lsls r2, r2, #6
- adds r0, r3, r2
- strh r1, [r0]
- ldr r4, _08050B68 @ =0x00002E18
- adds r0, r3, r4
- strh r1, [r0]
- ldr r2, _08050B6C @ =0x00003490
- adds r0, r3, r2
- strh r1, [r0]
- ldr r4, _08050B70 @ =0x00002858
- adds r0, r3, r4
- strh r1, [r0]
- ldr r2, _08050B74 @ =0x00003828
- adds r0, r3, r2
- strh r1, [r0]
- movs r4, #0xbe
- lsls r4, r4, #2
- adds r2, r3, r4
- strh r1, [r2]
- adds r4, #0xb8
- adds r0, r3, r4
- strh r1, [r0]
- adds r4, #0xb8
- adds r0, r3, r4
- strh r1, [r0]
- ldr r4, _08050B78 @ =0x000014F0
- adds r0, r3, r4
- strh r1, [r0]
- ldr r4, _08050B7C @ =0x00004010
- adds r0, r3, r4
- strh r1, [r0]
- ldrb r1, [r3, #4]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- bl LoadSpriteSets
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08050B5C: .4byte gMain
-_08050B60: .4byte 0x086B155C
-_08050B64: .4byte 0x000036B8
-_08050B68: .4byte 0x00002E18
-_08050B6C: .4byte 0x00003490
-_08050B70: .4byte 0x00002858
-_08050B74: .4byte 0x00003828
-_08050B78: .4byte 0x000014F0
-_08050B7C: .4byte 0x00004010
-
- thumb_func_start sub_50B80
-sub_50B80: @ 0x08050B80
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- movs r0, #0x37
- ldr r1, _08050CF0 @ =gMain
- mov sb, r1
- mov r5, sb
- movs r4, #0xb8
- movs r3, #0xbe
- lsls r3, r3, #2
- movs r2, #0
-_08050B9A:
- lsls r1, r0, #0x10
- asrs r1, r1, #0x10
- adds r0, r1, #0
- muls r0, r4, r0
- adds r0, r0, r5
- adds r0, r0, r3
- strh r2, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r0, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #0x46
- ble _08050B9A
- mov r5, sb
- ldr r2, _08050CF4 @ =0x00002858
- adds r7, r5, r2
- movs r0, #0
- strh r0, [r7]
- ldr r1, _08050CF8 @ =0x000036B8
- adds r1, r1, r5
- mov r8, r1
- strh r0, [r1]
- ldr r2, _08050CFC @ =0x0200C668
- strh r0, [r2]
- ldr r1, _08050D00 @ =0x000027A0
- adds r6, r5, r1
- strh r0, [r6]
- ldr r2, _08050D04 @ =0x0200EA58
- strh r0, [r2]
- ldr r1, _08050D08 @ =0x000038E0
- adds r1, r1, r5
- mov sl, r1
- strh r0, [r1]
- ldr r2, _08050D0C @ =0x0200BAE8
- strh r0, [r2]
- ldr r1, _08050D10 @ =0x0200BBA0
- strh r0, [r1]
- ldr r2, _08050D14 @ =0x020314E0
- ldr r4, [r2]
- ldr r0, [r5, #0x4c]
- movs r1, #0x19
- bl __umodsi3
- movs r2, #0xde
- lsls r2, r2, #1
- adds r1, r4, r2
- strh r0, [r1]
- adds r4, #0x68
- movs r1, #0
- ldrsh r0, [r4, r1]
- cmp r0, #0x59
- bgt _08050C08
- movs r0, #1
- strh r0, [r7]
- strh r0, [r6]
-_08050C08:
- ldr r2, _08050D14 @ =0x020314E0
- ldr r0, [r2]
- adds r4, r0, #0
- adds r4, #0x68
- movs r1, #0
- ldrsh r0, [r4, r1]
- cmp r0, #0xdb
- bgt _08050C1E
- movs r0, #1
- mov r2, r8
- strh r0, [r2]
-_08050C1E:
- movs r1, #0
- ldrsh r0, [r4, r1]
- cmp r0, #0x95
- bgt _08050C34
- ldr r2, _08050D18 @ =0x00002E18
- adds r0, r5, r2
- movs r1, #1
- strh r1, [r0]
- ldr r2, _08050D1C @ =0x00003490
- adds r0, r5, r2
- strh r1, [r0]
-_08050C34:
- movs r1, #0
- ldrsh r0, [r4, r1]
- cmp r0, #0xc3
- bgt _08050C4A
- movs r2, #0xc1
- lsls r2, r2, #6
- adds r1, r5, r2
- movs r0, #1
- strh r0, [r1]
- mov r1, sl
- strh r0, [r1]
-_08050C4A:
- movs r2, #0
- ldrsh r0, [r4, r2]
- cmp r0, #0xc9
- bgt _08050C70
- ldr r1, _08050D20 @ =0x00002ED0
- adds r0, r5, r1
- movs r1, #1
- strh r1, [r0]
- ldr r2, _08050D24 @ =0x00002CA8
- adds r0, r5, r2
- strh r1, [r0]
- ldr r2, _08050D28 @ =0x00002F88
- adds r0, r5, r2
- strh r1, [r0]
- ldr r2, _08050D2C @ =0x00002D60
- adds r0, r5, r2
- strh r1, [r0]
- ldr r0, _08050D04 @ =0x0200EA58
- strh r1, [r0]
-_08050C70:
- movs r1, #0
- ldrsh r0, [r4, r1]
- cmp r0, #0x76
- ble _08050CA2
- ldr r2, _08050D30 @ =0x00003548
- adds r1, r5, r2
- movs r0, #1
- strh r0, [r1]
- ldr r1, _08050CFC @ =0x0200C668
- strh r0, [r1]
- ldr r2, _08050D34 @ =0x000030F8
- adds r1, r5, r2
- strh r0, [r1]
- ldr r2, _08050D38 @ =0x000033D8
- adds r1, r5, r2
- strh r0, [r1]
- ldr r2, _08050D3C @ =0x000031B0
- adds r1, r5, r2
- strh r0, [r1]
- adds r2, #0xb8
- adds r1, r5, r2
- strh r0, [r1]
- adds r2, #0xb8
- adds r1, r5, r2
- strh r0, [r1]
-_08050CA2:
- movs r1, #0
- ldrsh r0, [r4, r1]
- cmp r0, #0xd8
- ble _08050CC8
- ldr r2, _08050D40 @ =0x00002BF0
- adds r0, r5, r2
- movs r1, #1
- strh r1, [r0]
- movs r2, #0xaa
- lsls r2, r2, #6
- adds r0, r5, r2
- strh r1, [r0]
- adds r2, #0xb8
- adds r0, r5, r2
- strh r1, [r0]
- ldr r0, _08050D0C @ =0x0200BAE8
- strh r1, [r0]
- ldr r2, _08050D10 @ =0x0200BBA0
- strh r1, [r2]
-_08050CC8:
- mov r0, sb
- ldrb r1, [r0, #4]
- lsls r1, r1, #3
- ldr r2, _08050D44 @ =0x086B155C
- adds r1, r1, r2
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- movs r2, #0xbe
- lsls r2, r2, #2
- add r2, sb
- bl LoadSpriteSets
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08050CF0: .4byte gMain
-_08050CF4: .4byte 0x00002858
-_08050CF8: .4byte 0x000036B8
-_08050CFC: .4byte 0x0200C668
-_08050D00: .4byte 0x000027A0
-_08050D04: .4byte 0x0200EA58
-_08050D08: .4byte 0x000038E0
-_08050D0C: .4byte 0x0200BAE8
-_08050D10: .4byte 0x0200BBA0
-_08050D14: .4byte 0x020314E0
-_08050D18: .4byte 0x00002E18
-_08050D1C: .4byte 0x00003490
-_08050D20: .4byte 0x00002ED0
-_08050D24: .4byte 0x00002CA8
-_08050D28: .4byte 0x00002F88
-_08050D2C: .4byte 0x00002D60
-_08050D30: .4byte 0x00003548
-_08050D34: .4byte 0x000030F8
-_08050D38: .4byte 0x000033D8
-_08050D3C: .4byte 0x000031B0
-_08050D40: .4byte 0x00002BF0
-_08050D44: .4byte 0x086B155C
-
- thumb_func_start sub_50D48
-sub_50D48: @ 0x08050D48
- push {r4, r5, r6, r7, lr}
- movs r1, #0
- ldr r6, _08050D74 @ =gMain
- ldr r0, _08050D78 @ =0x086B155C
- mov ip, r0
- adds r5, r6, #0
- movs r4, #0xb8
- movs r2, #0xbe
- lsls r2, r2, #2
- movs r7, #1
-_08050D5C:
- lsls r0, r1, #0x10
- asrs r1, r0, #0x10
- adds r3, r0, #0
- cmp r1, #4
- bgt _08050D7C
- adds r0, r1, #0
- muls r0, r4, r0
- adds r0, r0, r5
- adds r0, r0, r2
- strh r7, [r0]
- b _08050D88
- .align 2, 0
-_08050D74: .4byte gMain
-_08050D78: .4byte 0x086B155C
-_08050D7C:
- adds r0, r1, #0
- muls r0, r4, r0
- adds r0, r0, r5
- adds r0, r0, r2
- movs r1, #0
- strh r1, [r0]
-_08050D88:
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r3, r1
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0xe
- ble _08050D5C
- ldr r0, [r6, #0x44]
- ldr r1, [r0]
- movs r0, #1
- strh r0, [r1]
- ldrb r1, [r6, #4]
- lsls r1, r1, #3
- add r1, ip
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- movs r3, #0xbe
- lsls r3, r3, #2
- adds r2, r6, r3
- bl LoadSpriteSets
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-
- thumb_func_start sub_50DB8
-sub_50DB8: @ 0x08050DB8
- push {lr}
- ldr r0, _08050DD8 @ =0x086B155C
- ldr r2, _08050DDC @ =gMain
- ldrb r1, [r2, #4]
- lsls r1, r1, #3
- adds r1, r1, r0
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- movs r3, #0xbe
- lsls r3, r3, #2
- adds r2, r2, r3
- bl LoadSpriteSets
- pop {r0}
- bx r0
- .align 2, 0
-_08050DD8: .4byte 0x086B155C
-_08050DDC: .4byte gMain
-
- thumb_func_start sub_50DE0
-sub_50DE0: @ 0x08050DE0
- push {r4, r5, r6, r7, lr}
- movs r1, #0
- ldr r2, _08050E0C @ =gMain
- ldr r0, _08050E10 @ =0x086B155C
- mov ip, r0
- adds r6, r2, #0
- movs r5, #0xb8
- movs r4, #0xbe
- lsls r4, r4, #2
- movs r7, #1
-_08050DF4:
- lsls r0, r1, #0x10
- asrs r1, r0, #0x10
- adds r3, r0, #0
- cmp r1, #4
- bgt _08050E14
- adds r0, r1, #0
- muls r0, r5, r0
- adds r0, r0, r6
- adds r0, r0, r4
- strh r7, [r0]
- b _08050E20
- .align 2, 0
-_08050E0C: .4byte gMain
-_08050E10: .4byte 0x086B155C
-_08050E14:
- adds r0, r1, #0
- muls r0, r5, r0
- adds r0, r0, r6
- adds r0, r0, r4
- movs r1, #0
- strh r1, [r0]
-_08050E20:
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r3, r1
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x20
- ble _08050DF4
- ldr r0, [r2, #0x44]
- ldr r1, [r0]
- movs r0, #1
- strh r0, [r1]
- movs r3, #0x9c
- lsls r3, r3, #5
- adds r1, r2, r3
- strh r0, [r1]
- movs r3, #0x97
- lsls r3, r3, #4
- adds r1, r2, r3
- strh r0, [r1]
- ldr r3, _08050EE8 @ =0x00001438
- adds r1, r2, r3
- strh r0, [r1]
- ldr r3, _08050EEC @ =0x00000E78
- adds r1, r2, r3
- strh r0, [r1]
- adds r3, #0xb8
- adds r1, r2, r3
- strh r0, [r1]
- movs r3, #0x80
- lsls r3, r3, #4
- adds r1, r2, r3
- strh r0, [r1]
- ldr r3, _08050EF0 @ =0x00000A28
- adds r1, r2, r3
- strh r0, [r1]
- adds r3, #0xb8
- adds r1, r2, r3
- strh r0, [r1]
- adds r3, #0xb8
- adds r1, r2, r3
- strh r0, [r1]
- adds r3, #0xb8
- adds r1, r2, r3
- strh r0, [r1]
- adds r3, #0xb8
- adds r1, r2, r3
- strh r0, [r1]
- adds r3, #0xb8
- adds r1, r2, r3
- strh r0, [r1]
- ldr r3, _08050EF4 @ =0x00000FE8
- adds r1, r2, r3
- strh r0, [r1]
- adds r3, #0xb8
- adds r1, r2, r3
- strh r0, [r1]
- adds r3, #0xb8
- adds r1, r2, r3
- strh r0, [r1]
- adds r3, #0xb8
- adds r1, r2, r3
- strh r0, [r1]
- ldr r3, _08050EF8 @ =0x000014F0
- adds r1, r2, r3
- strh r0, [r1]
- adds r3, #0xb8
- adds r1, r2, r3
- strh r0, [r1]
- adds r3, #0xb8
- adds r1, r2, r3
- strh r0, [r1]
- adds r3, #0xb8
- adds r1, r2, r3
- strh r0, [r1]
- movs r3, #0xca
- lsls r3, r3, #5
- adds r1, r2, r3
- strh r0, [r1]
- adds r3, #0xb8
- adds r1, r2, r3
- strh r0, [r1]
- ldr r3, _08050EFC @ =0x000017D0
- adds r1, r2, r3
- strh r0, [r1]
- adds r3, #0xb8
- adds r1, r2, r3
- strh r0, [r1]
- ldrb r1, [r2, #4]
- lsls r1, r1, #3
- add r1, ip
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- movs r3, #0xbe
- lsls r3, r3, #2
- adds r2, r2, r3
- bl LoadSpriteSets
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08050EE8: .4byte 0x00001438
-_08050EEC: .4byte 0x00000E78
-_08050EF0: .4byte 0x00000A28
-_08050EF4: .4byte 0x00000FE8
-_08050EF8: .4byte 0x000014F0
-_08050EFC: .4byte 0x000017D0
-
- thumb_func_start nullsub_20
-nullsub_20: @ 0x08050F00
- bx lr
-
- thumb_func_start sub_50F04
-sub_50F04: @ 0x08050F04
- push {r4, r5, r6, r7, lr}
- movs r1, #0
- ldr r2, _08050F30 @ =gMain
- ldr r0, _08050F34 @ =0x086B155C
- mov ip, r0
- adds r6, r2, #0
- movs r5, #0xb8
- movs r4, #0xbe
- lsls r4, r4, #2
- movs r7, #1
-_08050F18:
- lsls r0, r1, #0x10
- asrs r1, r0, #0x10
- adds r3, r0, #0
- cmp r1, #4
- bgt _08050F38
- adds r0, r1, #0
- muls r0, r5, r0
- adds r0, r0, r6
- adds r0, r0, r4
- strh r7, [r0]
- b _08050F44
- .align 2, 0
-_08050F30: .4byte gMain
-_08050F34: .4byte 0x086B155C
-_08050F38:
- adds r0, r1, #0
- muls r0, r5, r0
- adds r0, r0, r6
- adds r0, r0, r4
- movs r1, #0
- strh r1, [r0]
-_08050F44:
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r3, r1
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x1a
- ble _08050F18
- ldr r0, [r2, #0x44]
- ldr r0, [r0]
- movs r1, #1
- strh r1, [r0]
- movs r3, #0xae
- lsls r3, r3, #4
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- ldr r3, _08050FA8 @ =0x00001210
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- movs r3, #0xdc
- lsls r3, r3, #4
- adds r0, r2, r3
- strh r1, [r0]
- ldrb r1, [r2, #4]
- lsls r1, r1, #3
- add r1, ip
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- movs r3, #0xbe
- lsls r3, r3, #2
- adds r2, r2, r3
- bl LoadSpriteSets
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08050FA8: .4byte 0x00001210
-
- thumb_func_start sub_50FAC
-sub_50FAC: @ 0x08050FAC
- push {lr}
- ldr r0, _08050FCC @ =0x086B155C
- ldr r2, _08050FD0 @ =gMain
- ldrb r1, [r2, #4]
- lsls r1, r1, #3
- adds r1, r1, r0
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- movs r3, #0xbe
- lsls r3, r3, #2
- adds r2, r2, r3
- bl LoadSpriteSets
- pop {r0}
- bx r0
- .align 2, 0
-_08050FCC: .4byte 0x086B155C
-_08050FD0: .4byte gMain
-
- thumb_func_start sub_50FD4
-sub_50FD4: @ 0x08050FD4
- push {r4, r5, r6, r7, lr}
- movs r1, #0
- ldr r2, _08051000 @ =gMain
- ldr r0, _08051004 @ =0x086B155C
- mov ip, r0
- adds r6, r2, #0
- movs r5, #0xb8
- movs r4, #0xbe
- lsls r4, r4, #2
- movs r7, #1
-_08050FE8:
- lsls r0, r1, #0x10
- asrs r1, r0, #0x10
- adds r3, r0, #0
- cmp r1, #4
- bgt _08051008
- adds r0, r1, #0
- muls r0, r5, r0
- adds r0, r0, r6
- adds r0, r0, r4
- strh r7, [r0]
- b _08051014
- .align 2, 0
-_08051000: .4byte gMain
-_08051004: .4byte 0x086B155C
-_08051008:
- adds r0, r1, #0
- muls r0, r5, r0
- adds r0, r0, r6
- adds r0, r0, r4
- movs r1, #0
- strh r1, [r0]
-_08051014:
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r3, r1
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x1f
- ble _08050FE8
- ldr r0, [r2, #0x44]
- ldr r0, [r0]
- movs r1, #1
- strh r1, [r0]
- movs r3, #0xae
- lsls r3, r3, #4
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- ldr r3, _08051064 @ =0x000017D0
- adds r0, r2, r3
- strh r1, [r0]
- ldrb r1, [r2, #4]
- lsls r1, r1, #3
- add r1, ip
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- movs r3, #0xbe
- lsls r3, r3, #2
- adds r2, r2, r3
- bl LoadSpriteSets
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08051064: .4byte 0x000017D0
-
- thumb_func_start sub_51068
-sub_51068: @ 0x08051068
- push {lr}
- ldr r0, _08051088 @ =0x086B155C
- ldr r2, _0805108C @ =gMain
- ldrb r1, [r2, #4]
- lsls r1, r1, #3
- adds r1, r1, r0
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- movs r3, #0xbe
- lsls r3, r3, #2
- adds r2, r2, r3
- bl LoadSpriteSets
- pop {r0}
- bx r0
- .align 2, 0
-_08051088: .4byte 0x086B155C
-_0805108C: .4byte gMain
-
- thumb_func_start sub_51090
-sub_51090: @ 0x08051090
- push {r4, r5, r6, r7, lr}
- movs r1, #0
- ldr r2, _080510BC @ =gMain
- ldr r0, _080510C0 @ =0x086B155C
- mov ip, r0
- adds r6, r2, #0
- movs r5, #0xb8
- movs r4, #0xbe
- lsls r4, r4, #2
- movs r7, #1
-_080510A4:
- lsls r0, r1, #0x10
- asrs r1, r0, #0x10
- adds r3, r0, #0
- cmp r1, #4
- bgt _080510C4
- adds r0, r1, #0
- muls r0, r5, r0
- adds r0, r0, r6
- adds r0, r0, r4
- strh r7, [r0]
- b _080510D0
- .align 2, 0
-_080510BC: .4byte gMain
-_080510C0: .4byte 0x086B155C
-_080510C4:
- adds r0, r1, #0
- muls r0, r5, r0
- adds r0, r0, r6
- adds r0, r0, r4
- movs r1, #0
- strh r1, [r0]
-_080510D0:
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r3, r1
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x2d
- ble _080510A4
- ldr r0, [r2, #0x44]
- ldr r0, [r0]
- movs r1, #1
- strh r1, [r0]
- ldr r3, _08051120 @ =0x00002128
- adds r0, r2, r3
- strh r1, [r0]
- movs r3, #0xae
- lsls r3, r3, #4
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- ldr r3, _08051124 @ =0x00001210
- adds r0, r2, r3
- strh r1, [r0]
- ldrb r1, [r2, #4]
- lsls r1, r1, #3
- add r1, ip
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- movs r3, #0xbe
- lsls r3, r3, #2
- adds r2, r2, r3
- bl LoadSpriteSets
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08051120: .4byte 0x00002128
-_08051124: .4byte 0x00001210
-
- thumb_func_start sub_51128
-sub_51128: @ 0x08051128
- push {lr}
- ldr r0, _08051148 @ =0x086B155C
- ldr r2, _0805114C @ =gMain
- ldrb r1, [r2, #4]
- lsls r1, r1, #3
- adds r1, r1, r0
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- movs r3, #0xbe
- lsls r3, r3, #2
- adds r2, r2, r3
- bl LoadSpriteSets
- pop {r0}
- bx r0
- .align 2, 0
-_08051148: .4byte 0x086B155C
-_0805114C: .4byte gMain
-
- thumb_func_start sub_51150
-sub_51150: @ 0x08051150
- push {r4, r5, r6, r7, lr}
- movs r1, #0
- ldr r2, _0805117C @ =gMain
- ldr r0, _08051180 @ =0x086B155C
- mov ip, r0
- adds r6, r2, #0
- movs r5, #0xb8
- movs r4, #0xbe
- lsls r4, r4, #2
- movs r7, #1
-_08051164:
- lsls r0, r1, #0x10
- asrs r1, r0, #0x10
- adds r3, r0, #0
- cmp r1, #4
- bgt _08051184
- adds r0, r1, #0
- muls r0, r5, r0
- adds r0, r0, r6
- adds r0, r0, r4
- strh r7, [r0]
- b _08051190
- .align 2, 0
-_0805117C: .4byte gMain
-_08051180: .4byte 0x086B155C
-_08051184:
- adds r0, r1, #0
- muls r0, r5, r0
- adds r0, r0, r6
- adds r0, r0, r4
- movs r1, #0
- strh r1, [r0]
-_08051190:
- movs r1, #0x80
- lsls r1, r1, #9
- adds r0, r3, r1
- lsrs r1, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x16
- ble _08051164
- ldr r0, [r2, #0x44]
- ldr r0, [r0]
- movs r1, #1
- strh r1, [r0]
- ldr r3, _080511EC @ =0x00000FE8
- adds r0, r2, r3
- strh r1, [r0]
- ldr r3, _080511F0 @ =0x00001210
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- ldr r3, _080511F4 @ =0x00000D08
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, #0xb8
- adds r0, r2, r3
- strh r1, [r0]
- ldrb r1, [r2, #4]
- lsls r1, r1, #3
- add r1, ip
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- movs r3, #0xbe
- lsls r3, r3, #2
- adds r2, r2, r3
- bl LoadSpriteSets
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080511EC: .4byte 0x00000FE8
-_080511F0: .4byte 0x00001210
-_080511F4: .4byte 0x00000D08
-
- thumb_func_start sub_511F8
-sub_511F8: @ 0x080511F8
- push {lr}
- ldr r0, _08051218 @ =0x086B155C
- ldr r2, _0805121C @ =gMain
- ldrb r1, [r2, #4]
- lsls r1, r1, #3
- adds r1, r1, r0
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- movs r3, #0xbe
- lsls r3, r3, #2
- adds r2, r2, r3
- bl LoadSpriteSets
- pop {r0}
- bx r0
- .align 2, 0
-_08051218: .4byte 0x086B155C
-_0805121C: .4byte gMain
diff --git a/asm/rom_3219C.s b/asm/rom_3219C.s
new file mode 100755
index 0000000..393f44e
--- /dev/null
+++ b/asm/rom_3219C.s
@@ -0,0 +1,60373 @@
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_32484
+sub_32484: @ 0x08032484
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ ldr r0, _080324D4 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r3, #0x97
+ lsls r3, r3, #1
+ adds r2, r1, r3
+ movs r1, #0
+ strh r1, [r2]
+ movs r2, #0
+ ldr r4, _080324D8 @ =gMain
+ mov sb, r4
+ mov ip, sb
+ ldr r5, _080324DC @ =0x086AE5E0
+ mov sl, r5
+_080324A8:
+ lsls r2, r2, #0x10
+ asrs r1, r2, #0xf
+ mov r0, ip
+ ldrb r3, [r0, #4]
+ movs r0, #0x34
+ muls r0, r3, r0
+ adds r1, r1, r0
+ ldr r4, _080324E0 @ =0x086A4A38
+ adds r1, r1, r4
+ ldrh r5, [r1]
+ movs r4, #0
+ ldrsh r0, [r1, r4]
+ mov r8, r2
+ cmp r0, #0x57
+ bne _080324F4
+ cmp r3, #0
+ bne _080324E4
+ mov r0, ip
+ adds r0, #0xcd
+ ldrb r0, [r0]
+ b _080324E8
+ .align 2, 0
+_080324D4: .4byte gUnknown_020314E0
+_080324D8: .4byte gMain
+_080324DC: .4byte 0x086AE5E0
+_080324E0: .4byte 0x086A4A38
+_080324E4:
+ ldr r1, _080324F0 @ =0x0200B18E
+ ldrb r0, [r1]
+_080324E8:
+ lsls r0, r0, #1
+ add r0, sl
+ ldrh r3, [r0]
+ b _0803257C
+ .align 2, 0
+_080324F0: .4byte 0x0200B18E
+_080324F4:
+ mov r1, sb
+ adds r1, #0x74
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #1
+ add r0, sl
+ ldrh r3, [r0]
+ movs r2, #0
+ ldr r7, _080325CC @ =0x086A3700
+ ldr r6, _080325D0 @ =0x086AE5E0
+ adds r4, r1, #0
+_0803250A:
+ lsls r1, r5, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #3
+ adds r0, r0, r7
+ ldrb r5, [r0, #0x15]
+ adds r0, r5, #0
+ cmp r0, #0xcc
+ bgt _08032542
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #1
+ adds r0, r0, r6
+ ldrh r0, [r0]
+ lsls r1, r3, #0x10
+ lsls r0, r0, #0x10
+ cmp r1, r0
+ bge _08032532
+ lsrs r3, r0, #0x10
+_08032532:
+ lsls r0, r2, #0x10
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r0, r1
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #1
+ ble _0803250A
+_08032542:
+ mov r4, r8
+ asrs r1, r4, #0xf
+ mov r5, ip
+ ldrb r2, [r5, #4]
+ movs r0, #0x34
+ muls r0, r2, r0
+ adds r1, r1, r0
+ ldr r0, _080325D4 @ =0x086A4A38
+ adds r1, r1, r0
+ ldrh r5, [r1]
+ ldr r1, _080325D8 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ movs r4, #0xbe
+ lsls r4, r4, #3
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _0803257C
+ lsls r0, r5, #0x10
+ asrs r0, r0, #0x10
+ lsls r1, r0, #1
+ adds r1, r1, r0
+ lsls r1, r1, #3
+ ldr r0, _080325CC @ =0x086A3700
+ adds r1, r1, r0
+ ldrb r0, [r1, #0x15]
+ cmp r0, #0xcc
+ bls _0803257C
+ movs r3, #0
+_0803257C:
+ ldr r1, _080325D8 @ =gUnknown_020314E0
+ ldr r4, [r1]
+ ldr r1, _080325DC @ =0x0000059E
+ adds r0, r4, r1
+ ldrh r1, [r0]
+ lsls r0, r5, #0x10
+ asrs r0, r0, #0x10
+ cmp r1, r0
+ bne _08032590
+ movs r3, #0
+_08032590:
+ movs r5, #0x97
+ lsls r5, r5, #1
+ adds r0, r4, r5
+ lsls r2, r3, #0x10
+ asrs r2, r2, #0x10
+ ldrh r1, [r0]
+ adds r2, r2, r1
+ strh r2, [r0]
+ mov r3, r8
+ asrs r1, r3, #0x10
+ lsls r3, r1, #1
+ adds r5, #2
+ adds r0, r4, r5
+ adds r0, r0, r3
+ strh r2, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r2, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #0x18
+ bgt _080325BC
+ b _080324A8
+_080325BC:
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080325CC: .4byte 0x086A3700
+_080325D0: .4byte 0x086AE5E0
+_080325D4: .4byte 0x086A4A38
+_080325D8: .4byte gUnknown_020314E0
+_080325DC: .4byte 0x0000059E
+
+ thumb_func_start sub_325E0
+sub_325E0: @ 0x080325E0
+ push {r4, r5, r6, lr}
+ bl Random
+ ldr r3, _08032600 @ =gMain
+ ldr r1, [r3, #0x4c]
+ ldr r2, [r3, #0x50]
+ adds r1, r1, r2
+ adds r2, r0, r1
+ movs r0, #8
+ ldrsb r0, [r3, r0]
+ cmp r0, #0
+ beq _08032604
+ adds r0, r2, #0
+ movs r1, #0x64
+ b _08032608
+ .align 2, 0
+_08032600: .4byte gMain
+_08032604:
+ adds r0, r2, #0
+ movs r1, #0x32
+_08032608:
+ bl __umodsi3
+ adds r2, r0, #0
+ ldr r0, _08032650 @ =gUnknown_020314E0
+ ldr r3, [r0]
+ ldr r4, _08032654 @ =0x0000059E
+ adds r1, r3, r4
+ ldrh r1, [r1]
+ adds r5, r0, #0
+ cmp r1, #0x9a
+ bne _08032620
+ movs r2, #1
+_08032620:
+ cmp r2, #0
+ bne _08032630
+ movs r1, #0xbe
+ lsls r1, r1, #3
+ adds r0, r3, r1
+ ldrh r0, [r0]
+ cmp r0, #4
+ bhi _08032640
+_08032630:
+ movs r2, #0x96
+ lsls r2, r2, #1
+ adds r0, r3, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08032658
+_08032640:
+ ldr r0, [r5]
+ movs r3, #0xb3
+ lsls r3, r3, #3
+ adds r0, r0, r3
+ movs r1, #0x9a
+ strh r1, [r0]
+ b _080326CC
+ .align 2, 0
+_08032650: .4byte gUnknown_020314E0
+_08032654: .4byte 0x0000059E
+_08032658:
+ bl Random
+ ldr r2, _080326E4 @ =gMain
+ ldr r1, [r2, #0x4c]
+ ldr r2, [r2, #0x50]
+ adds r1, r1, r2
+ adds r2, r0, r1
+ ldr r4, [r5]
+ movs r1, #0x97
+ lsls r1, r1, #1
+ adds r0, r4, r1
+ movs r3, #0
+ ldrsh r1, [r0, r3]
+ adds r0, r2, #0
+ bl __umodsi3
+ adds r2, r0, #0
+ movs r6, #0
+ movs r1, #0x98
+ lsls r1, r1, #1
+ adds r0, r4, r1
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ cmp r0, r2
+ bhi _080326AC
+ adds r3, r1, #0
+_0803268C:
+ lsls r0, r6, #0x10
+ movs r4, #0x80
+ lsls r4, r4, #9
+ adds r0, r0, r4
+ lsrs r6, r0, #0x10
+ asrs r1, r0, #0x10
+ cmp r1, #0x18
+ bgt _080326AC
+ ldr r0, [r5]
+ lsls r1, r1, #1
+ adds r0, r0, r3
+ adds r0, r0, r1
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, r2
+ bls _0803268C
+_080326AC:
+ ldr r5, _080326E8 @ =gUnknown_020314E0
+ ldr r3, [r5]
+ ldr r4, _080326EC @ =0x086A4A38
+ lsls r0, r6, #0x10
+ asrs r0, r0, #0xf
+ ldr r1, _080326E4 @ =gMain
+ ldrb r2, [r1, #4]
+ movs r1, #0x34
+ muls r1, r2, r1
+ adds r0, r0, r1
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ movs r2, #0xb3
+ lsls r2, r2, #3
+ adds r3, r3, r2
+ strh r0, [r3]
+_080326CC:
+ ldr r0, [r5]
+ movs r3, #0xb3
+ lsls r3, r3, #3
+ adds r1, r0, r3
+ ldrh r1, [r1]
+ ldr r4, _080326F0 @ =0x0000059E
+ adds r0, r0, r4
+ strh r1, [r0]
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080326E4: .4byte gMain
+_080326E8: .4byte gUnknown_020314E0
+_080326EC: .4byte 0x086A4A38
+_080326F0: .4byte 0x0000059E
+
+ thumb_func_start sub_326F4
+sub_326F4: @ 0x080326F4
+ push {r4, lr}
+ ldr r4, _08032760 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r1, _08032764 @ =0x0000073D
+ adds r0, r0, r1
+ movs r2, #0
+ movs r1, #2
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldr r3, _08032768 @ =0x000001E5
+ adds r0, r0, r3
+ strb r2, [r0]
+ ldr r0, [r4]
+ movs r2, #0xf3
+ lsls r2, r2, #1
+ adds r1, r0, r2
+ movs r0, #1
+ strb r0, [r1]
+ bl sub_1F2A4
+ bl sub_21B0C
+ bl sub_1F59C
+ bl sub_300D8
+ bl sub_30178
+ ldr r2, [r4]
+ movs r3, #0xec
+ lsls r3, r3, #1
+ adds r0, r2, r3
+ movs r1, #0x80
+ lsls r1, r1, #1
+ strh r1, [r0]
+ adds r3, #2
+ adds r0, r2, r3
+ strh r1, [r0]
+ bl sub_30480
+ bl sub_304C8
+ bl sub_31144
+ bl sub_313A0
+ bl sub_2E6AC
+ bl sub_31B30
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08032760: .4byte gUnknown_020314E0
+_08032764: .4byte 0x0000073D
+_08032768: .4byte 0x000001E5
+
+ thumb_func_start sub_3276C
+sub_3276C: @ 0x0803276C
+ push {lr}
+ bl sub_19B90
+ bl sub_327C0
+ ldr r0, _080327B0 @ =gMain
+ ldrb r0, [r0, #0xf]
+ cmp r0, #0
+ bne _08032782
+ bl sub_328C8
+_08032782:
+ bl sub_32DF8
+ ldr r0, _080327B4 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r2, #0xa7
+ lsls r2, r2, #2
+ adds r1, r0, r2
+ ldrh r0, [r1]
+ cmp r0, #0
+ beq _080327AC
+ subs r0, #1
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ bne _080327AC
+ ldr r0, _080327B8 @ =0x02032EE0
+ ldr r1, _080327BC @ =0x0000FFFF
+ movs r2, #0x80
+ lsls r2, r2, #1
+ bl m4aMPlayVolumeControl
+_080327AC:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080327B0: .4byte gMain
+_080327B4: .4byte gUnknown_020314E0
+_080327B8: .4byte 0x02032EE0
+_080327BC: .4byte 0x0000FFFF
+
+ thumb_func_start sub_327C0
+sub_327C0: @ 0x080327C0
+ push {r4, lr}
+ bl sub_4F814
+ bl sub_1A0F4
+ bl sub_2CA9C
+ ldr r4, _0803280C @ =gUnknown_020314E0
+ ldr r0, [r4]
+ adds r0, #0x68
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x59
+ bgt _080327E4
+ bl sub_304C8
+ bl sub_31498
+_080327E4:
+ ldr r2, [r4]
+ movs r0, #0x13
+ ldrsb r0, [r2, r0]
+ cmp r0, #2
+ bgt _08032814
+ movs r1, #0xd1
+ lsls r1, r1, #2
+ adds r0, r2, r1
+ ldr r0, [r0]
+ ldr r1, _08032810 @ =0x00FFFF00
+ ands r0, r1
+ movs r1, #0xc0
+ lsls r1, r1, #2
+ cmp r0, r1
+ bne _08032814
+ movs r0, #0xe5
+ lsls r0, r0, #3
+ adds r1, r2, r0
+ movs r0, #1
+ b _0803281C
+ .align 2, 0
+_0803280C: .4byte gUnknown_020314E0
+_08032810: .4byte 0x00FFFF00
+_08032814:
+ movs r0, #0xe5
+ lsls r0, r0, #3
+ adds r1, r2, r0
+ movs r0, #0
+_0803281C:
+ strb r0, [r1]
+ ldr r4, _080328C4 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ adds r0, #0x68
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x95
+ bgt _08032834
+ bl sub_2E6AC
+ bl sub_313A0
+_08032834:
+ ldr r0, [r4]
+ adds r0, #0x68
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xc3
+ bgt _08032848
+ bl sub_30178
+ bl sub_2F140
+_08032848:
+ ldr r0, [r4]
+ adds r0, #0x68
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xc9
+ bgt _08032858
+ bl sub_2FCD0
+_08032858:
+ ldr r0, [r4]
+ adds r0, #0x68
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xdb
+ bgt _08032868
+ bl sub_1F59C
+_08032868:
+ bl sub_308DC
+ ldr r0, [r4]
+ adds r0, #0x68
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x76
+ ble _08032880
+ bl sub_2F504
+ bl sub_30EB4
+_08032880:
+ bl sub_2CE80
+ ldr r0, [r4]
+ adds r0, #0x68
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xa8
+ ble _08032894
+ bl sub_2D104
+_08032894:
+ bl sub_203CC
+ bl sub_21B0C
+ bl sub_1D128
+ bl sub_31B30
+ ldr r0, [r4]
+ movs r1, #0xca
+ lsls r1, r1, #1
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _080328BA
+ bl sub_225F0
+_080328BA:
+ bl sub_472E4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080328C4: .4byte gUnknown_020314E0
+
+ thumb_func_start sub_328C8
+sub_328C8: @ 0x080328C8
+ push {lr}
+ bl sub_300D8
+ bl sub_32968
+ bl sub_1F2A4
+ ldr r0, _0803290C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r2, #0xc0
+ lsls r2, r2, #3
+ adds r1, r0, r2
+ ldrh r0, [r1]
+ cmp r0, #0
+ beq _080328EA
+ subs r0, #1
+ strh r0, [r1]
+_080328EA:
+ bl sub_2F26C
+ bl sub_2E67C
+ bl sub_31144
+ ldr r0, _08032910 @ =gMain
+ ldrb r1, [r0, #0xf]
+ movs r0, #0x20
+ ands r0, r1
+ cmp r0, #0
+ bne _08032906
+ bl sub_2F79C
+_08032906:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803290C: .4byte gUnknown_020314E0
+_08032910: .4byte gMain
+
+ thumb_func_start sub_32914
+sub_32914: @ 0x08032914
+ push {lr}
+ ldr r0, _08032938 @ =gMain
+ ldrb r0, [r0, #0xf]
+ cmp r0, #0
+ bne _0803295E
+ ldr r0, _0803293C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ adds r0, #0x25
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #3
+ beq _0803294C
+ cmp r0, #3
+ bgt _08032940
+ cmp r0, #1
+ beq _08032946
+ b _08032956
+ .align 2, 0
+_08032938: .4byte gMain
+_0803293C: .4byte gUnknown_020314E0
+_08032940:
+ cmp r0, #4
+ beq _08032952
+ b _08032956
+_08032946:
+ bl sub_32B74
+ b _08032956
+_0803294C:
+ bl sub_329B0
+ b _08032956
+_08032952:
+ bl sub_1C560
+_08032956:
+ ldr r0, _08032964 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r0, #0x3c
+ strh r0, [r1, #0x26]
+_0803295E:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08032964: .4byte gUnknown_020314E0
+
+ thumb_func_start sub_32968
+sub_32968: @ 0x08032968
+ push {lr}
+ ldr r2, _08032990 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldrh r0, [r1, #0x26]
+ cmp r0, #0
+ beq _08032978
+ subs r0, #1
+ strh r0, [r1, #0x26]
+_08032978:
+ ldr r0, [r2]
+ adds r0, #0x25
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #3
+ beq _080329A0
+ cmp r0, #3
+ bgt _08032994
+ cmp r0, #1
+ beq _0803299A
+ b _080329AA
+ .align 2, 0
+_08032990: .4byte gUnknown_020314E0
+_08032994:
+ cmp r0, #4
+ beq _080329A6
+ b _080329AA
+_0803299A:
+ bl sub_32BE4
+ b _080329AA
+_080329A0:
+ bl sub_329F4
+ b _080329AA
+_080329A6:
+ bl sub_1C5AC
+_080329AA:
+ pop {r0}
+ bx r0
+
+ thumb_func_start sub_329B0
+sub_329B0: @ 0x080329B0
+ push {r4, lr}
+ ldr r0, _080329E4 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ movs r3, #0
+ movs r0, #0xb4
+ strh r0, [r2, #0x28]
+ movs r4, #0xdd
+ lsls r4, r4, #1
+ adds r1, r2, r4
+ strh r0, [r1]
+ ldr r0, _080329E8 @ =0x0007A120
+ str r0, [r2, #0x3c]
+ ldr r0, _080329EC @ =gMain
+ ldrh r1, [r0, #0x38]
+ movs r1, #0xce
+ strh r1, [r0, #0x38]
+ ldrh r1, [r0, #0x3c]
+ strh r3, [r0, #0x3c]
+ ldr r0, _080329F0 @ =0x000005F7
+ adds r2, r2, r0
+ movs r0, #1
+ strb r0, [r2]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080329E4: .4byte gUnknown_020314E0
+_080329E8: .4byte 0x0007A120
+_080329EC: .4byte gMain
+_080329F0: .4byte 0x000005F7
+
+ thumb_func_start sub_329F4
+sub_329F4: @ 0x080329F4
+ push {r4, r5, r6, r7, lr}
+ ldr r6, _08032ABC @ =gUnknown_020314E0
+ ldr r2, [r6]
+ ldrh r0, [r2, #0x28]
+ adds r7, r0, #0
+ cmp r7, #0x18
+ bls _08032AD0
+ ldr r1, _08032AC0 @ =0x0000132C
+ adds r0, r2, r1
+ ldr r0, [r0]
+ movs r3, #0
+ movs r2, #1
+ strb r2, [r0]
+ ldr r0, [r6]
+ strb r2, [r0, #0x1f]
+ ldr r4, [r6]
+ ldrh r0, [r4, #0x28]
+ subs r0, #1
+ strh r0, [r4, #0x28]
+ adds r1, r4, r1
+ ldr r0, [r1]
+ strh r3, [r0, #0x30]
+ ldr r0, [r1]
+ strh r3, [r0, #0x32]
+ ldr r2, [r1]
+ movs r0, #0x3a
+ strh r0, [r2, #0x10]
+ ldr r2, [r1]
+ movs r0, #0xb2
+ strh r0, [r2, #0x12]
+ ldr r2, [r1]
+ movs r3, #0x10
+ ldrsh r0, [r2, r3]
+ lsls r0, r0, #1
+ strh r0, [r2, #0x28]
+ ldr r2, [r1]
+ movs r7, #0x12
+ ldrsh r0, [r2, r7]
+ lsls r0, r0, #1
+ strh r0, [r2, #0x2a]
+ ldr r2, [r1]
+ movs r3, #0x10
+ ldrsh r0, [r2, r3]
+ lsls r0, r0, #8
+ str r0, [r2, #0x34]
+ ldr r1, [r1]
+ movs r7, #0x12
+ ldrsh r0, [r1, r7]
+ lsls r0, r0, #8
+ str r0, [r1, #0x38]
+ ldrh r0, [r4, #0x28]
+ cmp r0, #0x31
+ bhi _08032A62
+ adds r0, #1
+ strh r0, [r4, #0x28]
+_08032A62:
+ ldr r0, [r6]
+ ldr r4, _08032AC4 @ =0x000001A5
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ bl sub_1B140
+ ldr r0, [r6]
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08032B5C
+ movs r0, #0
+ adds r4, r6, #0
+ movs r6, #0
+ movs r5, #0xdb
+ lsls r5, r5, #2
+_08032A8A:
+ ldr r1, [r4]
+ lsls r2, r0, #0x10
+ asrs r2, r2, #0x10
+ adds r1, r1, r5
+ adds r1, r1, r2
+ movs r0, #0xa
+ strb r0, [r1]
+ ldr r1, [r4]
+ lsls r3, r2, #1
+ ldr r7, _08032AC8 @ =0x0000036E
+ adds r0, r1, r7
+ adds r0, r0, r3
+ strh r6, [r0]
+ ldr r0, _08032ACC @ =0x0000036A
+ adds r1, r1, r0
+ adds r1, r1, r2
+ movs r0, #4
+ strb r0, [r1]
+ adds r2, #1
+ lsls r2, r2, #0x10
+ lsrs r0, r2, #0x10
+ asrs r2, r2, #0x10
+ cmp r2, #1
+ ble _08032A8A
+ b _08032B5C
+ .align 2, 0
+_08032ABC: .4byte gUnknown_020314E0
+_08032AC0: .4byte 0x0000132C
+_08032AC4: .4byte 0x000001A5
+_08032AC8: .4byte 0x0000036E
+_08032ACC: .4byte 0x0000036A
+_08032AD0:
+ cmp r7, #0
+ beq _08032ADA
+ subs r0, #1
+ strh r0, [r2, #0x28]
+ b _08032B5C
+_08032ADA:
+ ldr r4, _08032B64 @ =0x0000132C
+ adds r0, r2, r4
+ ldr r0, [r0]
+ strb r7, [r0]
+ ldr r0, [r6]
+ strb r7, [r0, #0x1f]
+ ldr r3, [r6]
+ movs r2, #0
+ mov ip, r2
+ movs r5, #0x3c
+ strh r5, [r3, #0x26]
+ adds r1, r3, r4
+ ldr r2, [r1]
+ movs r0, #0x60
+ strh r0, [r2, #0x30]
+ ldr r2, [r1]
+ movs r0, #0xc0
+ strh r0, [r2, #0x32]
+ ldr r0, [r1]
+ strh r5, [r0, #0x10]
+ ldr r2, [r1]
+ movs r0, #0xb4
+ strh r0, [r2, #0x12]
+ ldr r0, [r1]
+ strh r7, [r0, #6]
+ ldr r7, _08032B68 @ =0x000005F7
+ adds r3, r3, r7
+ mov r0, ip
+ strb r0, [r3]
+ ldr r2, [r6]
+ adds r4, r2, r4
+ ldr r1, [r4]
+ movs r3, #0x10
+ ldrsh r0, [r1, r3]
+ lsls r0, r0, #1
+ strh r0, [r1, #0x28]
+ ldr r1, [r4]
+ movs r7, #0x12
+ ldrsh r0, [r1, r7]
+ lsls r0, r0, #1
+ strh r0, [r1, #0x2a]
+ adds r2, #0x25
+ mov r0, ip
+ strb r0, [r2]
+ movs r0, #0xc3
+ bl m4aSongNumStart
+ ldr r1, [r6]
+ ldr r2, _08032B6C @ =0x0000072E
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ ble _08032B5C
+ ldr r3, _08032B70 @ =0x00000281
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _08032B5C
+ movs r0, #6
+ bl sub_19B64
+_08032B5C:
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08032B64: .4byte 0x0000132C
+_08032B68: .4byte 0x000005F7
+_08032B6C: .4byte 0x0000072E
+_08032B70: .4byte 0x00000281
+
+ thumb_func_start sub_32B74
+sub_32B74: @ 0x08032B74
+ push {r4, r5, lr}
+ ldr r4, _08032BD0 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r1, _08032BD4 @ =0x0000072F
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #1
+ ble _08032B8E
+ movs r0, #4
+ bl sub_19B64
+_08032B8E:
+ ldr r1, [r4]
+ movs r3, #0
+ movs r2, #0
+ movs r0, #0x64
+ strh r0, [r1, #0x28]
+ movs r5, #0xbd
+ lsls r5, r5, #2
+ adds r1, r1, r5
+ movs r0, #2
+ strb r0, [r1]
+ ldr r1, [r4]
+ ldr r5, _08032BD8 @ =0x000005FC
+ adds r0, r1, r5
+ strh r2, [r0]
+ ldr r0, _08032BDC @ =0x000005FE
+ adds r2, r1, r0
+ movs r0, #0x1e
+ strh r0, [r2]
+ subs r5, #1
+ adds r1, r1, r5
+ strb r3, [r1]
+ ldr r1, [r4]
+ ldr r0, _08032BE0 @ =0x0000C350
+ str r0, [r1, #0x3c]
+ movs r0, #0xd5
+ bl m4aSongNumStart
+ movs r0, #8
+ bl sub_11B0
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08032BD0: .4byte gUnknown_020314E0
+_08032BD4: .4byte 0x0000072F
+_08032BD8: .4byte 0x000005FC
+_08032BDC: .4byte 0x000005FE
+_08032BE0: .4byte 0x0000C350
+
+ thumb_func_start sub_32BE4
+sub_32BE4: @ 0x08032BE4
+ push {r4, r5, r6, r7, lr}
+ ldr r6, _08032C44 @ =gUnknown_020314E0
+ ldr r0, [r6]
+ ldrh r7, [r0, #0x28]
+ mov ip, r6
+ cmp r7, #0
+ bne _08032BF4
+ b _08032D54
+_08032BF4:
+ ldr r1, _08032C48 @ =0x000005F7
+ adds r0, r0, r1
+ movs r1, #0
+ movs r5, #1
+ strb r5, [r0]
+ ldr r0, [r6]
+ strb r5, [r0, #0x1f]
+ ldr r3, [r6]
+ ldrh r0, [r3, #0x28]
+ subs r0, #1
+ strh r0, [r3, #0x28]
+ ldr r2, _08032C4C @ =0x0000132C
+ adds r4, r3, r2
+ ldr r0, [r4]
+ strh r1, [r0, #0x30]
+ ldr r0, [r4]
+ strh r1, [r0, #0x32]
+ ldr r0, [r4]
+ strh r1, [r0, #6]
+ ldrh r0, [r3, #0x28]
+ cmp r0, #0x61
+ bls _08032C54
+ ldr r2, _08032C50 @ =0x000005FA
+ adds r0, r3, r2
+ strb r5, [r0]
+ ldr r0, [r6]
+ movs r3, #0xbd
+ lsls r3, r3, #2
+ adds r0, r0, r3
+ movs r1, #2
+ strb r1, [r0]
+ ldr r0, [r6]
+ ldr r1, _08032C4C @ =0x0000132C
+ adds r0, r0, r1
+ ldr r2, [r0]
+ movs r1, #0xb5
+ strh r1, [r2, #0x10]
+ ldr r1, [r0]
+ movs r0, #0xc3
+ b _08032D1A
+ .align 2, 0
+_08032C44: .4byte gUnknown_020314E0
+_08032C48: .4byte 0x000005F7
+_08032C4C: .4byte 0x0000132C
+_08032C50: .4byte 0x000005FA
+_08032C54:
+ cmp r0, #0x5e
+ bls _08032C72
+ movs r0, #0xbd
+ lsls r0, r0, #2
+ adds r1, r3, r0
+ movs r0, #3
+ strb r0, [r1]
+ ldr r0, [r6]
+ adds r0, r0, r2
+ ldr r2, [r0]
+ movs r1, #0xb8
+ strh r1, [r2, #0x10]
+ ldr r1, [r0]
+ movs r0, #0xbb
+ b _08032D1A
+_08032C72:
+ cmp r0, #0x5b
+ bls _08032C88
+ ldr r0, [r4]
+ strb r5, [r0]
+ ldr r0, [r6]
+ movs r1, #0xbd
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r1, #4
+ strb r1, [r0]
+ b _08032D1C
+_08032C88:
+ cmp r0, #0x53
+ bls _08032C98
+ movs r2, #0xbd
+ lsls r2, r2, #2
+ adds r1, r3, r2
+ movs r0, #5
+ strb r0, [r1]
+ b _08032D1C
+_08032C98:
+ cmp r0, #0x22
+ bls _08032CA8
+ movs r0, #0xbd
+ lsls r0, r0, #2
+ adds r1, r3, r0
+ movs r0, #6
+ strb r0, [r1]
+ b _08032D1C
+_08032CA8:
+ cmp r0, #0x1a
+ bls _08032CB8
+ movs r2, #0xbd
+ lsls r2, r2, #2
+ adds r1, r3, r2
+ movs r0, #7
+ strb r0, [r1]
+ b _08032D1C
+_08032CB8:
+ cmp r0, #0x12
+ bls _08032CC8
+ movs r0, #0xbd
+ lsls r0, r0, #2
+ adds r1, r3, r0
+ movs r0, #8
+ strb r0, [r1]
+ b _08032D1C
+_08032CC8:
+ cmp r0, #0xa
+ bls _08032CD8
+ movs r2, #0xbd
+ lsls r2, r2, #2
+ adds r1, r3, r2
+ movs r0, #9
+ strb r0, [r1]
+ b _08032D1C
+_08032CD8:
+ cmp r0, #4
+ bls _08032CFE
+ ldr r1, [r4]
+ movs r0, #0
+ strb r0, [r1]
+ ldr r0, [r6]
+ movs r3, #0xbd
+ lsls r3, r3, #2
+ adds r0, r0, r3
+ movs r1, #0xa
+ strb r1, [r0]
+ ldr r0, [r6]
+ adds r0, r0, r2
+ ldr r2, [r0]
+ movs r1, #0xb5
+ strh r1, [r2, #0x10]
+ ldr r1, [r0]
+ movs r0, #0xc3
+ b _08032D1A
+_08032CFE:
+ ldr r0, [r6]
+ movs r1, #0xbd
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r1, #0xb
+ strb r1, [r0]
+ ldr r0, [r6]
+ ldr r2, _08032D50 @ =0x0000132C
+ adds r0, r0, r2
+ ldr r2, [r0]
+ movs r1, #0xb0
+ strh r1, [r2, #0x10]
+ ldr r1, [r0]
+ movs r0, #0xca
+_08032D1A:
+ strh r0, [r1, #0x12]
+_08032D1C:
+ mov r3, ip
+ ldr r1, [r3]
+ ldr r0, _08032D50 @ =0x0000132C
+ adds r1, r1, r0
+ ldr r2, [r1]
+ movs r3, #0x10
+ ldrsh r0, [r2, r3]
+ lsls r0, r0, #1
+ strh r0, [r2, #0x28]
+ ldr r2, [r1]
+ movs r3, #0x12
+ ldrsh r0, [r2, r3]
+ lsls r0, r0, #1
+ strh r0, [r2, #0x2a]
+ ldr r2, [r1]
+ movs r3, #0x10
+ ldrsh r0, [r2, r3]
+ lsls r0, r0, #8
+ str r0, [r2, #0x34]
+ ldr r1, [r1]
+ movs r2, #0x12
+ ldrsh r0, [r1, r2]
+ lsls r0, r0, #8
+ str r0, [r1, #0x38]
+ b _08032DDA
+ .align 2, 0
+_08032D50: .4byte 0x0000132C
+_08032D54:
+ movs r3, #0xbd
+ lsls r3, r3, #2
+ adds r0, r0, r3
+ strb r7, [r0]
+ ldr r0, [r6]
+ strb r7, [r0, #0x1f]
+ ldr r1, [r6]
+ movs r5, #0
+ movs r0, #0x3c
+ strh r0, [r1, #0x26]
+ ldr r4, _08032DE0 @ =0x0000132C
+ adds r1, r1, r4
+ ldr r0, [r1]
+ strh r7, [r0, #6]
+ ldr r2, [r1]
+ ldr r0, _08032DE4 @ =0x0000FF9A
+ strh r0, [r2, #0x30]
+ ldr r1, [r1]
+ movs r0, #0xc8
+ strh r0, [r1, #0x32]
+ movs r0, #7
+ bl sub_11B0
+ ldr r2, [r6]
+ adds r4, r2, r4
+ ldr r0, [r4]
+ strh r7, [r0, #6]
+ ldr r1, [r4]
+ movs r0, #0xab
+ strh r0, [r1, #0x10]
+ ldr r1, [r4]
+ movs r0, #0xd4
+ strh r0, [r1, #0x12]
+ ldr r1, [r4]
+ movs r3, #0x10
+ ldrsh r0, [r1, r3]
+ lsls r0, r0, #1
+ strh r0, [r1, #0x28]
+ ldr r1, [r4]
+ movs r3, #0x12
+ ldrsh r0, [r1, r3]
+ lsls r0, r0, #1
+ strh r0, [r1, #0x2a]
+ ldr r1, [r4]
+ ldr r0, [r1, #0x28]
+ str r0, [r1, #0x2c]
+ adds r2, #0x25
+ strb r5, [r2]
+ ldr r0, [r6]
+ ldr r1, _08032DE8 @ =0x000005F7
+ adds r0, r0, r1
+ strb r5, [r0]
+ movs r0, #0xd6
+ bl m4aSongNumStart
+ ldr r0, [r6]
+ ldr r2, _08032DEC @ =0x000005FE
+ adds r1, r0, r2
+ strh r7, [r1]
+ ldr r3, _08032DF0 @ =0x000005FB
+ adds r0, r0, r3
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r6]
+ ldr r1, _08032DF4 @ =0x000005FA
+ adds r0, r0, r1
+ strb r5, [r0]
+_08032DDA:
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08032DE0: .4byte 0x0000132C
+_08032DE4: .4byte 0x0000FF9A
+_08032DE8: .4byte 0x000005F7
+_08032DEC: .4byte 0x000005FE
+_08032DF0: .4byte 0x000005FB
+_08032DF4: .4byte 0x000005FA
+
+ thumb_func_start sub_32DF8
+sub_32DF8: @ 0x08032DF8
+ push {r4, r5, lr}
+ ldr r0, _08032F28 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldrb r1, [r2, #4]
+ adds r5, r0, #0
+ cmp r1, #0
+ beq _08032E90
+ movs r1, #0xe2
+ lsls r1, r1, #1
+ adds r0, r2, r1
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _08032E3A
+ movs r3, #0xf1
+ lsls r3, r3, #1
+ adds r1, r2, r3
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #2
+ beq _08032E3A
+ subs r3, #0x22
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _08032E3A
+ ldr r3, _08032F2C @ =0x0000061C
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _08032E3A
+ strb r0, [r1]
+_08032E3A:
+ ldr r0, [r5]
+ movs r2, #0xe2
+ lsls r2, r2, #3
+ adds r1, r0, r2
+ movs r4, #0
+ ldrsb r4, [r1, r4]
+ adds r2, #1
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ strb r0, [r1]
+ ldr r0, [r5]
+ ldr r3, _08032F30 @ =0x00000712
+ adds r1, r0, r3
+ ldrb r1, [r1]
+ adds r0, r0, r2
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r2, #2
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r5]
+ adds r3, #6
+ adds r1, r0, r3
+ movs r4, #0
+ ldrsb r4, [r1, r4]
+ adds r3, #1
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ strb r0, [r1]
+ ldr r0, [r5]
+ adds r2, #7
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r0, r0, r2
+ strb r4, [r0]
+_08032E90:
+ ldr r1, [r5]
+ ldrb r0, [r1, #5]
+ cmp r0, #0
+ beq _08032F22
+ movs r2, #0xe2
+ lsls r2, r2, #1
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _08032ECE
+ movs r3, #0xf1
+ lsls r3, r3, #1
+ adds r2, r1, r3
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ cmp r0, #2
+ beq _08032ECE
+ subs r3, #0x22
+ adds r0, r1, r3
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _08032ECE
+ ldr r3, _08032F2C @ =0x0000061C
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _08032ECE
+ movs r0, #1
+ strb r0, [r2]
+_08032ECE:
+ ldr r0, [r5]
+ ldr r2, _08032F34 @ =0x00000713
+ adds r1, r0, r2
+ movs r4, #0
+ ldrsb r4, [r1, r4]
+ subs r2, #1
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ strb r0, [r1]
+ ldr r0, [r5]
+ ldr r3, _08032F38 @ =0x00000711
+ adds r1, r0, r3
+ ldrb r1, [r1]
+ adds r0, r0, r2
+ strb r1, [r0]
+ ldr r0, [r5]
+ subs r2, #2
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r5]
+ adds r3, #9
+ adds r1, r0, r3
+ movs r4, #0
+ ldrsb r4, [r1, r4]
+ subs r3, #1
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ strb r0, [r1]
+ ldr r0, [r5]
+ adds r2, #8
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r0, r0, r2
+ strb r4, [r0]
+_08032F22:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08032F28: .4byte gUnknown_020314E0
+_08032F2C: .4byte 0x0000061C
+_08032F30: .4byte 0x00000712
+_08032F34: .4byte 0x00000713
+_08032F38: .4byte 0x00000711
+
+ thumb_func_start sub_32F3C
+sub_32F3C: @ 0x08032F3C
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ ldr r3, _080330F0 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ movs r5, #0
+ movs r6, #0
+ strh r6, [r0, #0x18]
+ strb r5, [r0, #0x17]
+ ldr r0, [r3]
+ strb r5, [r0, #0x13]
+ ldr r0, [r3]
+ movs r1, #0xa5
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r2, #1
+ mov r8, r2
+ mov r4, r8
+ strb r4, [r0]
+ ldr r2, [r3]
+ adds r4, r2, #0
+ adds r4, #0x6c
+ movs r7, #0xe1
+ lsls r7, r7, #5
+ adds r0, r7, #0
+ ldrh r1, [r4]
+ adds r0, r0, r1
+ ldr r7, _080330F4 @ =0x00000296
+ adds r1, r2, r7
+ strh r0, [r1]
+ strh r6, [r4]
+ ldr r0, _080330F8 @ =0x00000383
+ adds r2, r2, r0
+ strb r5, [r2]
+ ldr r0, [r3]
+ movs r1, #0xe2
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r1, #3
+ strb r1, [r0]
+ ldr r0, [r3]
+ ldr r2, _080330FC @ =0x0000132C
+ adds r0, r0, r2
+ ldr r0, [r0]
+ mov r4, r8
+ strb r4, [r0]
+ ldr r0, [r3]
+ adds r7, #0xef
+ adds r0, r0, r7
+ strb r5, [r0]
+ ldr r0, [r3]
+ ldr r1, _08033100 @ =0x00000386
+ adds r0, r0, r1
+ strb r5, [r0]
+ ldr r0, [r3]
+ ldr r2, _08033104 @ =0x00000387
+ adds r0, r0, r2
+ strb r5, [r0]
+ ldr r0, [r3]
+ ldr r4, _08033108 @ =0x00000392
+ adds r1, r0, r4
+ strh r6, [r1]
+ adds r7, #0xf
+ adds r1, r0, r7
+ strh r6, [r1]
+ ldr r1, _0803310C @ =0x00000396
+ adds r0, r0, r1
+ strb r5, [r0]
+ movs r1, #0
+ adds r6, r3, #0
+ adds r5, r6, #0
+ movs r4, #0
+_08032FCC:
+ ldr r0, [r5]
+ lsls r2, r1, #0x10
+ asrs r2, r2, #0x10
+ ldr r3, _08033110 @ =0x00000397
+ adds r0, r0, r3
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r5]
+ ldr r7, _08033114 @ =0x0000039A
+ adds r0, r0, r7
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r5]
+ ldr r1, _08033118 @ =0x0000039D
+ adds r0, r0, r1
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r5]
+ adds r3, #9
+ adds r0, r0, r3
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r5]
+ adds r7, #9
+ adds r0, r0, r7
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r5]
+ adds r1, #9
+ adds r0, r0, r1
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r5]
+ adds r3, #9
+ adds r0, r0, r3
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r5]
+ adds r7, #9
+ adds r0, r0, r7
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r1, [r5]
+ lsls r3, r2, #1
+ adds r7, #4
+ adds r0, r1, r7
+ adds r0, r0, r3
+ strh r4, [r0]
+ adds r7, #6
+ adds r0, r1, r7
+ adds r0, r0, r3
+ strh r4, [r0]
+ adds r7, #6
+ adds r0, r1, r7
+ adds r0, r0, r3
+ strh r4, [r0]
+ lsls r0, r2, #2
+ adds r1, r1, r0
+ movs r3, #0xf1
+ lsls r3, r3, #2
+ adds r0, r1, r3
+ strh r4, [r0]
+ adds r7, #0xa
+ adds r0, r1, r7
+ strh r4, [r0]
+ adds r3, #0xc
+ adds r0, r1, r3
+ strh r4, [r0]
+ adds r7, #0xc
+ adds r1, r1, r7
+ strh r4, [r1]
+ adds r2, #1
+ lsls r2, r2, #0x10
+ lsrs r1, r2, #0x10
+ asrs r2, r2, #0x10
+ cmp r2, #2
+ ble _08032FCC
+ ldr r0, [r6]
+ movs r1, #0xf7
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r2, #0
+ strb r2, [r0]
+ ldr r0, [r6]
+ adds r3, #0xe
+ adds r0, r0, r3
+ strb r2, [r0]
+ ldr r0, [r6]
+ ldr r4, _0803311C @ =0x000003DF
+ adds r0, r0, r4
+ strb r2, [r0]
+ ldr r0, [r6]
+ adds r7, #0xe
+ adds r0, r0, r7
+ strb r2, [r0]
+ ldr r1, [r6]
+ adds r3, #4
+ adds r0, r1, r3
+ movs r3, #0
+ strh r2, [r0]
+ adds r4, #5
+ adds r0, r1, r4
+ strh r2, [r0]
+ adds r7, #6
+ adds r0, r1, r7
+ strh r2, [r0]
+ adds r4, #4
+ adds r0, r1, r4
+ strh r2, [r0]
+ adds r7, #4
+ adds r0, r1, r7
+ strh r2, [r0]
+ adds r4, #4
+ adds r0, r1, r4
+ strh r2, [r0]
+ adds r7, #4
+ adds r0, r1, r7
+ strh r2, [r0]
+ adds r4, #4
+ adds r0, r1, r4
+ strh r2, [r0]
+ adds r7, #4
+ adds r0, r1, r7
+ strh r2, [r0]
+ strb r3, [r1, #0x1a]
+ bl sub_336E0
+ bl sub_340EC
+ movs r0, #0x25
+ bl m4aSongNumStart
+ ldr r1, _08033120 @ =0x040000D4
+ ldr r0, _08033124 @ =0x081B36A4
+ str r0, [r1]
+ ldr r0, _08033128 @ =0x05000320
+ str r0, [r1, #4]
+ ldr r0, _0803312C @ =0x80000010
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080330F0: .4byte gUnknown_020314E0
+_080330F4: .4byte 0x00000296
+_080330F8: .4byte 0x00000383
+_080330FC: .4byte 0x0000132C
+_08033100: .4byte 0x00000386
+_08033104: .4byte 0x00000387
+_08033108: .4byte 0x00000392
+_0803310C: .4byte 0x00000396
+_08033110: .4byte 0x00000397
+_08033114: .4byte 0x0000039A
+_08033118: .4byte 0x0000039D
+_0803311C: .4byte 0x000003DF
+_08033120: .4byte 0x040000D4
+_08033124: .4byte 0x081B36A4
+_08033128: .4byte 0x05000320
+_0803312C: .4byte 0x80000010
+
+ thumb_func_start sub_33130
+sub_33130: @ 0x08033130
+ push {r4, r5, r6, r7, lr}
+ ldr r0, _0803314C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldrb r0, [r0, #0x13]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #6
+ bls _08033142
+ b _080333C4
+_08033142:
+ lsls r0, r0, #2
+ ldr r1, _08033150 @ =_08033154
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803314C: .4byte gUnknown_020314E0
+_08033150: .4byte _08033154
+_08033154: @ jump table
+ .4byte _08033170 @ case 0
+ .4byte _08033208 @ case 1
+ .4byte _08033254 @ case 2
+ .4byte _080332A8 @ case 3
+ .4byte _080332E0 @ case 4
+ .4byte _08033344 @ case 5
+ .4byte _080333B4 @ case 6
+_08033170:
+ ldr r5, _080331C4 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r1, _080331C8 @ =0x000005F7
+ adds r0, r0, r1
+ movs r6, #0
+ movs r3, #1
+ strb r3, [r0]
+ ldr r4, [r5]
+ ldrh r0, [r4, #0x18]
+ cmp r0, #0x77
+ bhi _080331DC
+ movs r1, #0x18
+ bl __udivsi3
+ ldr r2, _080331CC @ =0x040000D4
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ lsls r1, r0, #2
+ adds r1, r1, r0
+ lsls r1, r1, #5
+ ldr r0, _080331D0 @ =0x082EE0E0
+ adds r1, r1, r0
+ str r1, [r2]
+ movs r0, #0xa0
+ lsls r0, r0, #0x13
+ str r0, [r2, #4]
+ ldr r0, _080331D4 @ =0x80000050
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ ldrh r0, [r4, #0x18]
+ movs r1, #5
+ bl __udivsi3
+ ldr r2, _080331D8 @ =0x0000FFE8
+ adds r0, r0, r2
+ adds r1, r4, #0
+ adds r1, #0xe6
+ strh r0, [r1]
+ ldrh r0, [r4, #0x18]
+ adds r0, #1
+ strh r0, [r4, #0x18]
+ b _080333C4
+ .align 2, 0
+_080331C4: .4byte gUnknown_020314E0
+_080331C8: .4byte 0x000005F7
+_080331CC: .4byte 0x040000D4
+_080331D0: .4byte 0x082EE0E0
+_080331D4: .4byte 0x80000050
+_080331D8: .4byte 0x0000FFE8
+_080331DC:
+ adds r0, r4, #0
+ adds r0, #0xe6
+ strh r6, [r0]
+ ldr r1, _08033204 @ =gMain
+ movs r7, #0x80
+ lsls r7, r7, #4
+ adds r0, r1, r7
+ movs r2, #1
+ strh r3, [r0]
+ adds r7, #0xb8
+ adds r0, r1, r7
+ strh r3, [r0]
+ movs r0, #0x97
+ lsls r0, r0, #4
+ adds r1, r1, r0
+ strh r3, [r1]
+ strb r2, [r4, #0x13]
+ ldr r0, [r5]
+ strh r6, [r0, #0x18]
+ b _080333C4
+ .align 2, 0
+_08033204: .4byte gMain
+_08033208:
+ ldr r2, _0803323C @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r1, _08033240 @ =0x00000386
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _08033228
+ ldr r1, _08033244 @ =gMain
+ ldrh r0, [r1, #0x38]
+ ldr r0, _08033248 @ =0x00001C10
+ strh r0, [r1, #0x38]
+ ldrh r0, [r1, #0x3a]
+ ldr r0, _0803324C @ =0x0000030D
+ strh r0, [r1, #0x3a]
+_08033228:
+ ldr r0, [r2]
+ ldr r2, _08033250 @ =0x00000387
+ adds r0, r0, r2
+ movs r1, #1
+ strb r1, [r0]
+ bl sub_336E0
+ bl sub_340EC
+ b _080333C4
+ .align 2, 0
+_0803323C: .4byte gUnknown_020314E0
+_08033240: .4byte 0x00000386
+_08033244: .4byte gMain
+_08033248: .4byte 0x00001C10
+_0803324C: .4byte 0x0000030D
+_08033250: .4byte 0x00000387
+_08033254:
+ ldr r3, _08033290 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ movs r0, #3
+ strb r0, [r1, #0x13]
+ ldr r2, _08033294 @ =gMain
+ movs r5, #0xc5
+ lsls r5, r5, #4
+ adds r0, r2, r5
+ movs r4, #0
+ movs r1, #1
+ strh r1, [r0]
+ ldr r7, _08033298 @ =0x00000D08
+ adds r0, r2, r7
+ strh r1, [r0]
+ ldr r0, _0803329C @ =0x00000B98
+ adds r2, r2, r0
+ strh r1, [r2]
+ ldr r0, [r3]
+ ldr r1, _080332A0 @ =0x00000387
+ adds r0, r0, r1
+ strb r4, [r0]
+ ldr r0, [r3]
+ ldr r2, _080332A4 @ =0x00000385
+ adds r0, r0, r2
+ strb r4, [r0]
+ movs r0, #0x26
+ bl m4aSongNumStart
+ b _080333C4
+ .align 2, 0
+_08033290: .4byte gUnknown_020314E0
+_08033294: .4byte gMain
+_08033298: .4byte 0x00000D08
+_0803329C: .4byte 0x00000B98
+_080332A0: .4byte 0x00000387
+_080332A4: .4byte 0x00000385
+_080332A8:
+ ldr r0, _080332D0 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r5, _080332D4 @ =0x00000386
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _080332CA
+ ldr r1, _080332D8 @ =gMain
+ ldrh r0, [r1, #0x38]
+ ldr r0, _080332DC @ =0x00001C10
+ strh r0, [r1, #0x38]
+ ldrh r0, [r1, #0x3a]
+ movs r0, #0x80
+ lsls r0, r0, #5
+ strh r0, [r1, #0x3a]
+_080332CA:
+ bl sub_34450
+ b _080333C4
+ .align 2, 0
+_080332D0: .4byte gUnknown_020314E0
+_080332D4: .4byte 0x00000386
+_080332D8: .4byte gMain
+_080332DC: .4byte 0x00001C10
+_080332E0:
+ ldr r3, _080332F0 @ =gUnknown_020314E0
+ ldr r2, [r3]
+ ldrh r0, [r2, #0x18]
+ cmp r0, #0x77
+ bhi _080332F4
+ adds r0, #1
+ strh r0, [r2, #0x18]
+ b _080333C4
+ .align 2, 0
+_080332F0: .4byte gUnknown_020314E0
+_080332F4:
+ movs r1, #0
+ movs r0, #5
+ strb r0, [r2, #0x13]
+ ldr r3, [r3]
+ strh r1, [r3, #0x18]
+ ldr r0, _08033330 @ =gMain
+ movs r7, #0xe9
+ lsls r7, r7, #3
+ adds r1, r0, r7
+ movs r2, #1
+ strh r2, [r1]
+ movs r1, #0xd2
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ strh r2, [r0]
+ ldr r1, _08033334 @ =0x040000D4
+ ldr r0, _08033338 @ =0x08138834
+ str r0, [r1]
+ ldr r0, _0803333C @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _08033340 @ =0x80001000
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ movs r2, #0xe5
+ lsls r2, r2, #2
+ adds r3, r3, r2
+ movs r0, #0x88
+ strh r0, [r3]
+ b _080333C4
+ .align 2, 0
+_08033330: .4byte gMain
+_08033334: .4byte 0x040000D4
+_08033338: .4byte 0x08138834
+_0803333C: .4byte 0x06015800
+_08033340: .4byte 0x80001000
+_08033344:
+ bl sub_351A8
+ ldr r4, _0803338C @ =gUnknown_020314E0
+ ldr r1, [r4]
+ ldrb r0, [r1, #0x1c]
+ cmp r0, #0
+ beq _08033356
+ movs r0, #0xb5
+ strh r0, [r1, #0x18]
+_08033356:
+ ldr r1, [r4]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xb4
+ bne _0803336C
+ movs r0, #1
+ strb r0, [r1, #0x1c]
+ ldr r1, [r4]
+ ldr r0, _08033390 @ =0x00061A80
+ str r0, [r1, #0x38]
+ ldr r0, _08033394 @ =0x01C9C380
+ str r0, [r1, #0x3c]
+_0803336C:
+ ldr r1, [r4]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xef
+ bhi _08033398
+ cmp r0, #0x14
+ bne _08033382
+ bl m4aMPlayAllStop
+ movs r0, #0x2b
+ bl m4aSongNumStart
+_08033382:
+ ldr r1, [r4]
+ ldrh r0, [r1, #0x18]
+ adds r0, #1
+ strh r0, [r1, #0x18]
+ b _080333C4
+ .align 2, 0
+_0803338C: .4byte gUnknown_020314E0
+_08033390: .4byte 0x00061A80
+_08033394: .4byte 0x01C9C380
+_08033398:
+ movs r0, #0
+ strh r0, [r1, #0x18]
+ movs r0, #6
+ strb r0, [r1, #0x13]
+ ldr r1, [r4]
+ ldr r5, _080333B0 @ =0x00000283
+ adds r1, r1, r5
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ b _080333C4
+ .align 2, 0
+_080333B0: .4byte 0x00000283
+_080333B4:
+ bl sub_351A8
+ ldr r0, _0803341C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r7, _08033420 @ =0x00000386
+ adds r0, r0, r7
+ movs r1, #1
+ strb r1, [r0]
+_080333C4:
+ ldr r0, _0803341C @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r2, #0xa5
+ lsls r2, r2, #2
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _080333FC
+ ldr r5, _08033424 @ =0x00000296
+ adds r0, r1, r5
+ ldrh r0, [r0]
+ cmp r0, #1
+ bhi _080333FC
+ ldr r4, _08033428 @ =gMain
+ ldrb r0, [r4, #0xf]
+ cmp r0, #0
+ bne _080333FC
+ bl m4aMPlayAllStop
+ movs r0, #0x2c
+ bl m4aSongNumStart
+ ldrb r1, [r4, #0xf]
+ movs r0, #0x40
+ orrs r0, r1
+ strb r0, [r4, #0xf]
+_080333FC:
+ ldr r0, _0803341C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r7, _08033420 @ =0x00000386
+ adds r0, r0, r7
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08033412
+ bl sub_350F0
+_08033412:
+ bl sub_472E4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803341C: .4byte gUnknown_020314E0
+_08033420: .4byte 0x00000386
+_08033424: .4byte 0x00000296
+_08033428: .4byte gMain
+
+ thumb_func_start sub_3342C
+sub_3342C: @ 0x0803342C
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #0x40
+ ldr r5, _080336B0 @ =gUnknown_020314E0
+ ldr r3, [r5]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ ldr r2, _080336B4 @ =0x00000397
+ adds r2, r2, r3
+ mov ip, r2
+ adds r2, r2, r0
+ str r2, [sp, #4]
+ ldrb r4, [r2]
+ str r4, [sp, #8]
+ ldr r4, _080336B8 @ =0x0000039A
+ adds r2, r3, r4
+ adds r2, r2, r0
+ ldrb r2, [r2]
+ str r2, [sp, #0xc]
+ adds r4, #3
+ adds r2, r3, r4
+ adds r2, r2, r0
+ ldrb r2, [r2]
+ str r2, [sp, #0x10]
+ adds r4, #3
+ adds r2, r3, r4
+ adds r2, r2, r0
+ ldrb r2, [r2]
+ str r2, [sp, #0x14]
+ adds r4, #3
+ adds r2, r3, r4
+ adds r2, r2, r0
+ ldrb r2, [r2]
+ str r2, [sp, #0x18]
+ adds r4, #3
+ adds r2, r3, r4
+ adds r2, r2, r0
+ ldrb r2, [r2]
+ str r2, [sp, #0x1c]
+ adds r4, #3
+ adds r2, r3, r4
+ adds r2, r2, r0
+ ldrb r2, [r2]
+ str r2, [sp, #0x20]
+ adds r4, #3
+ adds r2, r3, r4
+ adds r2, r2, r0
+ ldrb r2, [r2]
+ str r2, [sp, #0x24]
+ lsls r2, r0, #1
+ mov r8, r2
+ adds r4, #4
+ adds r2, r3, r4
+ add r2, r8
+ ldrh r2, [r2]
+ str r2, [sp, #0x28]
+ adds r4, #6
+ adds r2, r3, r4
+ add r2, r8
+ ldrh r2, [r2]
+ str r2, [sp, #0x2c]
+ adds r4, #6
+ adds r2, r3, r4
+ add r2, r8
+ ldrh r2, [r2]
+ str r2, [sp, #0x30]
+ lsls r6, r0, #2
+ adds r3, r3, r6
+ movs r2, #0xf1
+ lsls r2, r2, #2
+ adds r2, r3, r2
+ str r2, [sp, #0x3c]
+ ldr r4, _080336BC @ =0xFFFF0000
+ mov sb, r4
+ ldr r4, _080336C0 @ =0x000003C6
+ adds r2, r3, r4
+ ldrh r2, [r2]
+ lsls r2, r2, #0x10
+ ldr r4, _080336C4 @ =0x0000FFFF
+ mov sl, r4
+ ldr r4, [sp, #0x3c]
+ ldrh r4, [r4]
+ orrs r4, r2
+ str r4, [sp]
+ movs r4, #0xf4
+ lsls r4, r4, #2
+ adds r2, r3, r4
+ ldrh r2, [r2]
+ mov r4, sb
+ ands r7, r4
+ orrs r7, r2
+ ldr r2, _080336C8 @ =0x000003D2
+ adds r3, r3, r2
+ ldrh r2, [r3]
+ lsls r2, r2, #0x10
+ mov r3, sl
+ ands r7, r3
+ orrs r7, r2
+ lsls r1, r1, #0x10
+ asrs r1, r1, #0x10
+ mov r4, ip
+ adds r2, r4, r1
+ ldrb r2, [r2]
+ ldr r3, [sp, #4]
+ strb r2, [r3]
+ ldr r2, [r5]
+ ldr r4, _080336B8 @ =0x0000039A
+ adds r2, r2, r4
+ adds r3, r2, r0
+ adds r2, r2, r1
+ ldrb r2, [r2]
+ strb r2, [r3]
+ ldr r2, [r5]
+ ldr r3, _080336CC @ =0x0000039D
+ adds r2, r2, r3
+ adds r3, r2, r0
+ adds r2, r2, r1
+ ldrb r2, [r2]
+ strb r2, [r3]
+ ldr r2, [r5]
+ adds r4, #6
+ adds r2, r2, r4
+ adds r3, r2, r0
+ adds r2, r2, r1
+ ldrb r2, [r2]
+ strb r2, [r3]
+ ldr r2, [r5]
+ ldr r3, _080336D0 @ =0x000003A3
+ adds r2, r2, r3
+ adds r3, r2, r0
+ adds r2, r2, r1
+ ldrb r2, [r2]
+ strb r2, [r3]
+ ldr r2, [r5]
+ adds r4, #6
+ adds r2, r2, r4
+ adds r3, r2, r0
+ adds r2, r2, r1
+ ldrb r2, [r2]
+ strb r2, [r3]
+ ldr r2, [r5]
+ ldr r3, _080336D4 @ =0x000003A9
+ adds r2, r2, r3
+ adds r3, r2, r0
+ adds r2, r2, r1
+ ldrb r2, [r2]
+ strb r2, [r3]
+ ldr r2, [r5]
+ adds r4, #6
+ adds r2, r2, r4
+ adds r0, r2, r0
+ adds r2, r2, r1
+ ldrb r2, [r2]
+ strb r2, [r0]
+ ldr r4, [r5]
+ movs r2, #0xec
+ lsls r2, r2, #2
+ adds r0, r4, r2
+ mov r3, r8
+ adds r2, r0, r3
+ lsls r3, r1, #1
+ mov sb, r3
+ add r0, sb
+ ldrh r0, [r0]
+ strh r0, [r2]
+ ldr r2, _080336D8 @ =0x000003B6
+ adds r0, r4, r2
+ mov r3, r8
+ adds r2, r0, r3
+ add r0, sb
+ ldrh r0, [r0]
+ strh r0, [r2]
+ movs r2, #0xef
+ lsls r2, r2, #2
+ adds r0, r4, r2
+ add r8, r0
+ add r0, sb
+ ldrh r0, [r0]
+ mov r3, r8
+ strh r0, [r3]
+ adds r6, r4, r6
+ lsls r0, r1, #2
+ mov r8, r0
+ adds r2, r4, r0
+ movs r3, #0xf1
+ lsls r3, r3, #2
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ mov sl, r0
+ adds r0, r6, r3
+ mov r3, sl
+ strh r3, [r0]
+ ldr r3, _080336C0 @ =0x000003C6
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ mov sl, r0
+ adds r0, r6, r3
+ mov r3, sl
+ strh r3, [r0]
+ movs r3, #0xf4
+ lsls r3, r3, #2
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ mov sl, r0
+ adds r0, r6, r3
+ mov r3, sl
+ strh r3, [r0]
+ ldr r0, _080336C8 @ =0x000003D2
+ adds r2, r2, r0
+ ldrh r0, [r2]
+ ldr r2, _080336C8 @ =0x000003D2
+ adds r6, r6, r2
+ strh r0, [r6]
+ ldr r3, _080336B4 @ =0x00000397
+ adds r4, r4, r3
+ adds r4, r4, r1
+ mov r0, sp
+ ldrb r0, [r0, #8]
+ strb r0, [r4]
+ ldr r0, [r5]
+ subs r2, #0x38
+ adds r0, r0, r2
+ adds r0, r0, r1
+ mov r3, sp
+ ldrb r3, [r3, #0xc]
+ strb r3, [r0]
+ ldr r0, [r5]
+ ldr r4, _080336CC @ =0x0000039D
+ adds r0, r0, r4
+ adds r0, r0, r1
+ mov r2, sp
+ ldrb r2, [r2, #0x10]
+ strb r2, [r0]
+ ldr r0, [r5]
+ movs r3, #0xe8
+ lsls r3, r3, #2
+ adds r0, r0, r3
+ adds r0, r0, r1
+ mov r4, sp
+ ldrb r4, [r4, #0x14]
+ strb r4, [r0]
+ ldr r0, [r5]
+ ldr r2, _080336D0 @ =0x000003A3
+ adds r0, r0, r2
+ adds r0, r0, r1
+ mov r3, sp
+ ldrb r3, [r3, #0x18]
+ strb r3, [r0]
+ ldr r0, [r5]
+ ldr r4, _080336DC @ =0x000003A6
+ adds r0, r0, r4
+ adds r0, r0, r1
+ mov r2, sp
+ ldrb r2, [r2, #0x1c]
+ strb r2, [r0]
+ ldr r0, [r5]
+ ldr r3, _080336D4 @ =0x000003A9
+ adds r0, r0, r3
+ adds r0, r0, r1
+ add r4, sp, #0x20
+ ldrb r4, [r4]
+ strb r4, [r0]
+ ldr r0, [r5]
+ movs r2, #0xeb
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ adds r0, r0, r1
+ add r3, sp, #0x24
+ ldrb r3, [r3]
+ strb r3, [r0]
+ ldr r0, [r5]
+ movs r4, #0xec
+ lsls r4, r4, #2
+ adds r1, r0, r4
+ add r1, sb
+ mov r2, sp
+ ldrh r2, [r2, #0x28]
+ strh r2, [r1]
+ ldr r3, _080336D8 @ =0x000003B6
+ adds r1, r0, r3
+ add r1, sb
+ mov r4, sp
+ ldrh r4, [r4, #0x2c]
+ strh r4, [r1]
+ movs r1, #0xef
+ lsls r1, r1, #2
+ adds r1, r0, r1
+ str r1, [sp, #0x34]
+ add r1, sb
+ mov r2, sp
+ ldrh r2, [r2, #0x30]
+ strh r2, [r1]
+ add r0, r8
+ adds r3, #0xe
+ adds r1, r0, r3
+ mov r4, sp
+ ldrh r4, [r4]
+ strh r4, [r1]
+ ldr r2, [sp]
+ asrs r1, r2, #0x10
+ adds r3, #2
+ adds r2, r0, r3
+ strh r1, [r2]
+ movs r4, #0xf4
+ lsls r4, r4, #2
+ adds r1, r0, r4
+ strh r7, [r1]
+ asrs r1, r7, #0x10
+ ldr r2, _080336C8 @ =0x000003D2
+ adds r0, r0, r2
+ strh r1, [r0]
+ add sp, #0x40
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080336B0: .4byte gUnknown_020314E0
+_080336B4: .4byte 0x00000397
+_080336B8: .4byte 0x0000039A
+_080336BC: .4byte 0xFFFF0000
+_080336C0: .4byte 0x000003C6
+_080336C4: .4byte 0x0000FFFF
+_080336C8: .4byte 0x000003D2
+_080336CC: .4byte 0x0000039D
+_080336D0: .4byte 0x000003A3
+_080336D4: .4byte 0x000003A9
+_080336D8: .4byte 0x000003B6
+_080336DC: .4byte 0x000003A6
+
+ thumb_func_start sub_336E0
+sub_336E0: @ 0x080336E0
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #8
+ movs r4, #1
+ movs r0, #0
+ str r0, [sp]
+ movs r7, #0
+ ldr r0, _0803377C @ =gUnknown_020314E0
+ ldr r3, [r0]
+ ldr r2, _08033780 @ =0x00000385
+ adds r1, r3, r2
+ ldrb r1, [r1]
+ lsls r1, r1, #0x18
+ asrs r1, r1, #0x18
+ cmp r1, #0x12
+ ble _08033750
+ movs r2, #0
+ ldr r5, _08033784 @ =0x000003A6
+ adds r1, r3, r5
+_0803370C:
+ lsls r0, r2, #0x10
+ asrs r2, r0, #0x10
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _0803371E
+ movs r4, #0
+_0803371E:
+ adds r0, r2, #1
+ lsls r0, r0, #0x10
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #2
+ ble _0803370C
+ cmp r4, #0
+ beq _08033750
+ ldr r6, _0803377C @ =gUnknown_020314E0
+ ldr r1, [r6]
+ movs r2, #0
+ movs r0, #2
+ strb r0, [r1, #0x13]
+ ldr r0, _08033788 @ =gMain
+ movs r3, #0x80
+ lsls r3, r3, #4
+ adds r1, r0, r3
+ strh r2, [r1]
+ ldr r4, _0803378C @ =0x000008B8
+ adds r1, r0, r4
+ strh r2, [r1]
+ movs r5, #0x97
+ lsls r5, r5, #4
+ adds r0, r0, r5
+ strh r2, [r0]
+_08033750:
+ movs r2, #0
+_08033752:
+ ldr r6, _0803377C @ =gUnknown_020314E0
+ ldr r0, [r6]
+ lsls r2, r2, #0x10
+ asrs r1, r2, #0x10
+ movs r3, #0xe8
+ lsls r3, r3, #2
+ adds r0, r0, r3
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ str r2, [sp, #4]
+ cmp r0, #9
+ bls _08033772
+ bl _08033FD8
+_08033772:
+ lsls r0, r0, #2
+ ldr r1, _08033790 @ =_08033794
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803377C: .4byte gUnknown_020314E0
+_08033780: .4byte 0x00000385
+_08033784: .4byte 0x000003A6
+_08033788: .4byte gMain
+_0803378C: .4byte 0x000008B8
+_08033790: .4byte _08033794
+_08033794: @ jump table
+ .4byte _080337BC @ case 0
+ .4byte _0803394C @ case 1
+ .4byte _08033A20 @ case 2
+ .4byte _08033B4C @ case 3
+ .4byte _08033C7C @ case 4
+ .4byte _08033D28 @ case 5
+ .4byte _08033DF4 @ case 6
+ .4byte _08033E70 @ case 7
+ .4byte _08033EF0 @ case 8
+ .4byte _08033F90 @ case 9
+_080337BC:
+ ldr r4, _080338E0 @ =gUnknown_020314E0
+ ldr r1, [r4]
+ ldr r5, _080338E4 @ =0x00000385
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x12
+ ble _080337D0
+ b _08033910
+_080337D0:
+ ldr r6, _080338E8 @ =0x00000396
+ adds r1, r1, r6
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #1
+ ble _080337E0
+ b _08033910
+_080337E0:
+ adds r0, r2, #1
+ movs r2, #0
+ mov sl, r2
+ strb r0, [r1]
+ ldr r1, [r4]
+ ldr r3, [sp, #4]
+ asrs r6, r3, #0x10
+ movs r4, #0xe8
+ lsls r4, r4, #2
+ adds r1, r1, r4
+ adds r1, r1, r6
+ movs r0, #1
+ strb r0, [r1]
+ ldr r5, _080338E0 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r1, _080338EC @ =0x000003A3
+ adds r0, r0, r1
+ adds r0, r0, r6
+ mov r2, sl
+ strb r2, [r0]
+ ldr r0, [r5]
+ lsls r3, r6, #1
+ mov r8, r3
+ adds r4, #0x10
+ adds r0, r0, r4
+ add r0, r8
+ movs r7, #0
+ mov r5, sl
+ strh r5, [r0]
+ bl Random
+ ldr r1, _080338E0 @ =gUnknown_020314E0
+ ldr r4, [r1]
+ lsls r5, r6, #2
+ adds r4, r4, r5
+ movs r1, #0xaf
+ lsls r1, r1, #3
+ bl __umodsi3
+ ldr r2, _080338F0 @ =0xFFFFFD44
+ adds r0, r0, r2
+ movs r3, #0xf1
+ lsls r3, r3, #2
+ adds r4, r4, r3
+ strh r0, [r4]
+ bl Random
+ ldr r1, _080338E0 @ =gUnknown_020314E0
+ ldr r4, [r1]
+ adds r4, r4, r5
+ movs r1, #9
+ bl __umodsi3
+ lsls r1, r0, #2
+ adds r1, r1, r0
+ lsls r1, r1, #4
+ ldr r2, _080338F4 @ =0x000003C6
+ mov sb, r2
+ add r4, sb
+ strh r1, [r4]
+ bl Random
+ ldr r3, _080338E0 @ =gUnknown_020314E0
+ ldr r4, [r3]
+ movs r1, #0xef
+ lsls r1, r1, #2
+ adds r5, r4, r1
+ add r5, r8
+ adds r1, #0x2c
+ bl __umodsi3
+ adds r0, #0xc8
+ strh r0, [r5]
+ ldr r2, _080338F8 @ =0x000003A6
+ adds r4, r4, r2
+ adds r4, r4, r6
+ strb r7, [r4]
+ ldr r3, _080338E0 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldr r4, _080338FC @ =0x000003A9
+ adds r0, r0, r4
+ adds r0, r0, r6
+ strb r7, [r0]
+ movs r5, #4
+ str r5, [sp]
+ movs r7, #4
+ ldr r0, [r3]
+ ldr r6, _08033900 @ =0x000003B6
+ adds r0, r0, r6
+ add r0, r8
+ mov r1, sl
+ strh r1, [r0]
+ ldr r0, _08033904 @ =0x02032F20
+ ldr r1, _08033908 @ =0x086A1588
+ bl MPlayStart
+ movs r5, #2
+ mov r8, sb
+_080338A4:
+ ldr r0, _080338E0 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ lsls r0, r5, #0x10
+ asrs r4, r0, #0x10
+ lsls r1, r4, #2
+ adds r1, r2, r1
+ add r1, r8
+ subs r3, r4, #1
+ lsls r0, r3, #2
+ adds r2, r2, r0
+ add r2, r8
+ movs r6, #0
+ ldrsh r1, [r1, r6]
+ movs r6, #0
+ ldrsh r0, [r2, r6]
+ cmp r1, r0
+ ble _080338D2
+ lsls r1, r3, #0x10
+ asrs r1, r1, #0x10
+ adds r0, r4, #0
+ bl sub_3342C
+ movs r5, #3
+_080338D2:
+ lsls r0, r5, #0x10
+ ldr r1, _0803390C @ =0xFFFF0000
+ adds r0, r0, r1
+ lsrs r5, r0, #0x10
+ cmp r0, #0
+ bgt _080338A4
+ b _08033FD8
+ .align 2, 0
+_080338E0: .4byte gUnknown_020314E0
+_080338E4: .4byte 0x00000385
+_080338E8: .4byte 0x00000396
+_080338EC: .4byte 0x000003A3
+_080338F0: .4byte 0xFFFFFD44
+_080338F4: .4byte 0x000003C6
+_080338F8: .4byte 0x000003A6
+_080338FC: .4byte 0x000003A9
+_08033900: .4byte 0x000003B6
+_08033904: .4byte 0x02032F20
+_08033908: .4byte 0x086A1588
+_0803390C: .4byte 0xFFFF0000
+_08033910:
+ ldr r0, _08033940 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r3, [sp, #4]
+ asrs r4, r3, #0x10
+ lsls r1, r4, #2
+ adds r1, r2, r1
+ movs r5, #0xf1
+ lsls r5, r5, #2
+ adds r3, r1, r5
+ movs r5, #0
+ movs r0, #0
+ strh r0, [r3]
+ ldr r6, _08033944 @ =0x000003C6
+ adds r1, r1, r6
+ movs r0, #0x78
+ strh r0, [r1]
+ ldr r0, _08033948 @ =0x000003A6
+ adds r2, r2, r0
+ adds r2, r2, r4
+ strb r5, [r2]
+ bl Random
+ b _08033FD8
+ .align 2, 0
+_08033940: .4byte gUnknown_020314E0
+_08033944: .4byte 0x000003C6
+_08033948: .4byte 0x000003A6
+_0803394C:
+ ldr r1, _08033980 @ =gUnknown_020314E0
+ ldr r2, [r1]
+ ldr r3, [sp, #4]
+ asrs r4, r3, #0x10
+ lsls r1, r4, #1
+ movs r5, #0xec
+ lsls r5, r5, #2
+ adds r0, r2, r5
+ adds r1, r0, r1
+ ldrh r0, [r1]
+ cmp r0, #0x13
+ bhi _08033988
+ adds r0, #1
+ strh r0, [r1]
+ ldr r6, _08033984 @ =0x000003A6
+ adds r2, r2, r6
+ adds r2, r2, r4
+ ldrh r0, [r1]
+ movs r1, #3
+ ands r0, r1
+ lsrs r0, r0, #1
+ strb r0, [r2]
+ movs r0, #4
+ str r0, [sp]
+ movs r7, #4
+ b _08033FD8
+ .align 2, 0
+_08033980: .4byte gUnknown_020314E0
+_08033984: .4byte 0x000003A6
+_08033988:
+ ldr r0, _080339B0 @ =gMain
+ ldr r0, [r0, #0x4c]
+ movs r1, #1
+ ands r0, r1
+ cmp r0, #0
+ beq _080339BC
+ movs r3, #0xe8
+ lsls r3, r3, #2
+ adds r1, r2, r3
+ adds r1, r1, r4
+ movs r2, #0
+ movs r0, #2
+ strb r0, [r1]
+ ldr r5, _080339B4 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r6, _080339B8 @ =0x000003A3
+ adds r0, r0, r6
+ adds r0, r0, r4
+ strb r2, [r0]
+ b _080339D6
+ .align 2, 0
+_080339B0: .4byte gMain
+_080339B4: .4byte gUnknown_020314E0
+_080339B8: .4byte 0x000003A3
+_080339BC:
+ movs r1, #0xe8
+ lsls r1, r1, #2
+ adds r0, r2, r1
+ adds r0, r0, r4
+ movs r1, #3
+ strb r1, [r0]
+ ldr r2, _08033A0C @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r3, _08033A10 @ =0x000003A3
+ adds r0, r0, r3
+ adds r0, r0, r4
+ movs r1, #7
+ strb r1, [r0]
+_080339D6:
+ ldr r4, _08033A0C @ =gUnknown_020314E0
+ ldr r2, [r4]
+ ldr r5, [sp, #4]
+ asrs r3, r5, #0x10
+ lsls r1, r3, #1
+ movs r6, #0xec
+ lsls r6, r6, #2
+ adds r0, r2, r6
+ adds r0, r0, r1
+ movs r1, #0
+ strh r1, [r0]
+ ldr r0, _08033A14 @ =0x000003A6
+ adds r2, r2, r0
+ adds r2, r2, r3
+ movs r1, #1
+ strb r1, [r2]
+ ldr r0, [r4]
+ ldr r2, _08033A18 @ =0x000003A9
+ adds r0, r0, r2
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r2, _08033A1C @ =0x086AE5EC
+ ldr r0, [r4]
+ ldr r4, _08033A10 @ =0x000003A3
+ adds r0, r0, r4
+ adds r0, r0, r3
+ b _08033FC2
+ .align 2, 0
+_08033A0C: .4byte gUnknown_020314E0
+_08033A10: .4byte 0x000003A3
+_08033A14: .4byte 0x000003A6
+_08033A18: .4byte 0x000003A9
+_08033A1C: .4byte 0x086AE5EC
+_08033A20:
+ ldr r6, _08033AA4 @ =gUnknown_020314E0
+ ldr r5, [r6]
+ ldr r0, [sp, #4]
+ asrs r4, r0, #0x10
+ lsls r7, r4, #1
+ ldr r2, _08033AA8 @ =0x000003B6
+ adds r1, r5, r2
+ adds r1, r1, r7
+ ldrh r0, [r1]
+ adds r0, #1
+ movs r3, #0
+ mov sb, r3
+ movs r6, #0
+ mov r8, r6
+ strh r0, [r1]
+ lsls r0, r4, #2
+ adds r0, r5, r0
+ movs r1, #0xf1
+ lsls r1, r1, #2
+ adds r2, r0, r1
+ ldrh r3, [r2]
+ movs r6, #0
+ ldrsh r1, [r2, r6]
+ ldr r0, _08033AAC @ =0xFFFFFCE0
+ cmp r1, r0
+ ble _08033AB8
+ subs r0, r3, #3
+ strh r0, [r2]
+ ldr r2, _08033AB0 @ =0x086AE5EC
+ ldr r1, _08033AB4 @ =0x000003A3
+ adds r0, r5, r1
+ adds r6, r0, r4
+ movs r1, #0
+ ldrsb r1, [r6, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r1, r2, #2
+ adds r0, r0, r1
+ movs r3, #0
+ ldrsh r1, [r0, r3]
+ movs r3, #0xec
+ lsls r3, r3, #2
+ adds r0, r5, r3
+ adds r5, r0, r7
+ ldrh r0, [r5]
+ adds r3, r2, #0
+ cmp r1, r0
+ bgt _08033AE2
+ mov r0, r8
+ strh r0, [r5]
+ ldrb r0, [r6]
+ adds r0, #1
+ strb r0, [r6]
+ ldr r1, _08033AA4 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08033AB4 @ =0x000003A3
+ adds r0, r0, r2
+ adds r1, r0, r4
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #3
+ ble _08033B20
+ mov r4, sb
+ strb r4, [r1]
+ b _08033B20
+ .align 2, 0
+_08033AA4: .4byte gUnknown_020314E0
+_08033AA8: .4byte 0x000003B6
+_08033AAC: .4byte 0xFFFFFCE0
+_08033AB0: .4byte 0x086AE5EC
+_08033AB4: .4byte 0x000003A3
+_08033AB8:
+ ldr r2, _08033AE8 @ =0x086AE5EC
+ ldr r6, _08033AEC @ =0x000003A3
+ adds r0, r5, r6
+ adds r6, r0, r4
+ movs r1, #0
+ ldrsb r1, [r6, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r1, r2, #2
+ adds r0, r0, r1
+ movs r3, #0
+ ldrsh r1, [r0, r3]
+ movs r3, #0xec
+ lsls r3, r3, #2
+ adds r0, r5, r3
+ adds r5, r0, r7
+ ldrh r0, [r5]
+ adds r3, r2, #0
+ cmp r1, r0
+ ble _08033AF0
+_08033AE2:
+ adds r0, #1
+ strh r0, [r5]
+ b _08033B20
+ .align 2, 0
+_08033AE8: .4byte 0x086AE5EC
+_08033AEC: .4byte 0x000003A3
+_08033AF0:
+ mov r0, r8
+ strh r0, [r5]
+ ldrb r0, [r6]
+ adds r0, #1
+ strb r0, [r6]
+ ldr r1, _08033B44 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08033B48 @ =0x000003A3
+ adds r0, r0, r2
+ adds r1, r0, r4
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #6
+ ble _08033B20
+ movs r0, #7
+ strb r0, [r1]
+ ldr r5, _08033B44 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ movs r6, #0xe8
+ lsls r6, r6, #2
+ adds r0, r0, r6
+ adds r0, r0, r4
+ movs r1, #3
+ strb r1, [r0]
+_08033B20:
+ ldr r0, _08033B44 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r2, [sp, #4]
+ asrs r1, r2, #0x10
+ ldr r4, _08033B48 @ =0x000003A3
+ adds r0, r0, r4
+ adds r0, r0, r1
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r1, r0, r3
+ ldrh r1, [r1]
+ str r1, [sp]
+ adds r1, r3, #4
+ adds r0, r0, r1
+ b _08033FD6
+ .align 2, 0
+_08033B44: .4byte gUnknown_020314E0
+_08033B48: .4byte 0x000003A3
+_08033B4C:
+ ldr r5, _08033BD4 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ ldr r6, [sp, #4]
+ asrs r7, r6, #0x10
+ lsls r0, r7, #1
+ mov r8, r0
+ ldr r2, _08033BD8 @ =0x000003B6
+ adds r1, r4, r2
+ add r1, r8
+ ldrh r0, [r1]
+ adds r0, #1
+ movs r3, #0
+ mov sl, r3
+ movs r5, #0
+ mov sb, r5
+ strh r0, [r1]
+ lsls r0, r7, #2
+ adds r5, r4, r0
+ movs r6, #0xf1
+ lsls r6, r6, #2
+ adds r2, r5, r6
+ ldrh r3, [r2]
+ movs r0, #0
+ ldrsh r1, [r2, r0]
+ ldr r0, _08033BDC @ =0x0000031F
+ cmp r1, r0
+ bgt _08033BE8
+ adds r0, r3, #3
+ strh r0, [r2]
+ ldr r2, _08033BE0 @ =0x086AE5EC
+ ldr r3, _08033BE4 @ =0x000003A3
+ adds r0, r4, r3
+ adds r6, r0, r7
+ movs r1, #0
+ ldrsb r1, [r6, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r1, r2, #2
+ adds r0, r0, r1
+ movs r5, #0
+ ldrsh r1, [r0, r5]
+ adds r3, #0xd
+ adds r0, r4, r3
+ mov r4, r8
+ adds r5, r0, r4
+ ldrh r0, [r5]
+ adds r3, r2, #0
+ cmp r1, r0
+ bgt _08033C12
+ mov r0, sb
+ strh r0, [r5]
+ ldrb r0, [r6]
+ adds r0, #1
+ strb r0, [r6]
+ ldr r1, _08033BD4 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08033BE4 @ =0x000003A3
+ adds r0, r0, r2
+ adds r1, r0, r7
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xa
+ ble _08033C50
+ movs r0, #7
+ strb r0, [r1]
+ b _08033C50
+ .align 2, 0
+_08033BD4: .4byte gUnknown_020314E0
+_08033BD8: .4byte 0x000003B6
+_08033BDC: .4byte 0x0000031F
+_08033BE0: .4byte 0x086AE5EC
+_08033BE4: .4byte 0x000003A3
+_08033BE8:
+ ldr r2, _08033C18 @ =0x086AE5EC
+ ldr r3, _08033C1C @ =0x000003A3
+ adds r0, r4, r3
+ adds r6, r0, r7
+ movs r1, #0
+ ldrsb r1, [r6, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r1, r2, #2
+ adds r0, r0, r1
+ movs r5, #0
+ ldrsh r1, [r0, r5]
+ adds r3, #0xd
+ adds r0, r4, r3
+ mov r4, r8
+ adds r5, r0, r4
+ ldrh r0, [r5]
+ adds r3, r2, #0
+ cmp r1, r0
+ ble _08033C20
+_08033C12:
+ adds r0, #1
+ strh r0, [r5]
+ b _08033C50
+ .align 2, 0
+_08033C18: .4byte 0x086AE5EC
+_08033C1C: .4byte 0x000003A3
+_08033C20:
+ mov r0, sb
+ strh r0, [r5]
+ ldrb r0, [r6]
+ adds r0, #1
+ strb r0, [r6]
+ ldr r1, _08033C74 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08033C78 @ =0x000003A3
+ adds r0, r0, r2
+ adds r1, r0, r7
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xd
+ ble _08033C50
+ mov r4, sl
+ strb r4, [r1]
+ ldr r5, _08033C74 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ movs r6, #0xe8
+ lsls r6, r6, #2
+ adds r0, r0, r6
+ adds r0, r0, r7
+ movs r1, #2
+ strb r1, [r0]
+_08033C50:
+ ldr r0, _08033C74 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r2, [sp, #4]
+ asrs r1, r2, #0x10
+ ldr r4, _08033C78 @ =0x000003A3
+ adds r0, r0, r4
+ adds r0, r0, r1
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r1, r0, r3
+ ldrh r1, [r1]
+ str r1, [sp]
+ adds r1, r3, #4
+ adds r0, r0, r1
+ b _08033FD6
+ .align 2, 0
+_08033C74: .4byte gUnknown_020314E0
+_08033C78: .4byte 0x000003A3
+_08033C7C:
+ ldr r3, _08033D0C @ =0x086AE5EC
+ ldr r6, _08033D10 @ =gUnknown_020314E0
+ ldr r2, [r6]
+ ldr r5, [sp, #4]
+ asrs r4, r5, #0x10
+ ldr r0, _08033D14 @ =0x000003A3
+ adds r2, r2, r0
+ adds r2, r2, r4
+ movs r1, #0
+ ldrsb r1, [r2, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r1, r0, r3
+ ldrh r1, [r1]
+ str r1, [sp]
+ adds r3, #4
+ adds r0, r0, r3
+ ldrh r7, [r0]
+ movs r3, #0
+ movs r0, #0xe
+ strb r0, [r2]
+ ldr r5, [r6]
+ lsls r1, r4, #1
+ movs r2, #0xec
+ lsls r2, r2, #2
+ adds r0, r5, r2
+ adds r0, r0, r1
+ movs r2, #0
+ strh r3, [r0]
+ movs r3, #0xe8
+ lsls r3, r3, #2
+ adds r0, r5, r3
+ adds r0, r0, r4
+ movs r1, #5
+ strb r1, [r0]
+ ldr r0, [r6]
+ movs r5, #0xeb
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ adds r0, r0, r4
+ strb r2, [r0]
+ ldr r0, [r6]
+ ldr r1, _08033D18 @ =0x000003A9
+ adds r0, r0, r1
+ adds r0, r0, r4
+ strb r2, [r0]
+ ldr r0, [r6]
+ ldr r2, _08033D1C @ =0x00000396
+ adds r1, r0, r2
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ ble _08033CEE
+ subs r0, r2, #1
+ strb r0, [r1]
+_08033CEE:
+ ldr r1, [r6]
+ ldr r0, _08033D20 @ =0x000186A0
+ str r0, [r1, #0x3c]
+ ldr r3, _08033D24 @ =0x00000385
+ adds r1, r1, r3
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ movs r0, #0xf2
+ bl m4aSongNumStart
+ movs r0, #7
+ bl sub_11B0
+ b _08033FD8
+ .align 2, 0
+_08033D0C: .4byte 0x086AE5EC
+_08033D10: .4byte gUnknown_020314E0
+_08033D14: .4byte 0x000003A3
+_08033D18: .4byte 0x000003A9
+_08033D1C: .4byte 0x00000396
+_08033D20: .4byte 0x000186A0
+_08033D24: .4byte 0x00000385
+_08033D28:
+ ldr r3, _08033D60 @ =0x086AE5EC
+ ldr r4, _08033D64 @ =gUnknown_020314E0
+ ldr r2, [r4]
+ ldr r5, [sp, #4]
+ asrs r4, r5, #0x10
+ ldr r6, _08033D68 @ =0x000003A3
+ adds r0, r2, r6
+ adds r5, r0, r4
+ movs r1, #0
+ ldrsb r1, [r5, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r1, r3, #2
+ adds r0, r0, r1
+ movs r6, #0
+ ldrsh r1, [r0, r6]
+ lsls r0, r4, #1
+ movs r6, #0xec
+ lsls r6, r6, #2
+ adds r2, r2, r6
+ adds r2, r2, r0
+ ldrh r0, [r2]
+ cmp r1, r0
+ ble _08033D6C
+ adds r0, #1
+ strh r0, [r2]
+ b _08033DA8
+ .align 2, 0
+_08033D60: .4byte 0x086AE5EC
+_08033D64: .4byte gUnknown_020314E0
+_08033D68: .4byte 0x000003A3
+_08033D6C:
+ movs r6, #0
+ movs r0, #0
+ strh r0, [r2]
+ ldrb r0, [r5]
+ adds r0, #1
+ strb r0, [r5]
+ ldr r1, _08033DEC @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08033DF0 @ =0x000003A3
+ adds r0, r0, r2
+ adds r1, r0, r4
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xf
+ ble _08033DA8
+ movs r0, #0xf
+ strb r0, [r1]
+ ldr r5, _08033DEC @ =gUnknown_020314E0
+ ldr r0, [r5]
+ movs r1, #0xe8
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ adds r0, r0, r4
+ movs r1, #9
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r2, #3
+ adds r0, r0, r2
+ adds r0, r0, r4
+ strb r6, [r0]
+_08033DA8:
+ ldr r6, _08033DEC @ =gUnknown_020314E0
+ ldr r1, [r6]
+ ldr r5, [sp, #4]
+ asrs r4, r5, #0x10
+ ldr r5, _08033DF0 @ =0x000003A3
+ adds r0, r1, r5
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0xf
+ bne _08033DCE
+ movs r0, #0xeb
+ lsls r0, r0, #2
+ adds r1, r1, r0
+ adds r1, r1, r4
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+_08033DCE:
+ ldr r0, [r6]
+ adds r0, r0, r5
+ adds r0, r0, r4
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r1, r0, r3
+ ldrh r1, [r1]
+ str r1, [sp]
+ adds r1, r3, #4
+ adds r0, r0, r1
+ b _08033FD6
+ .align 2, 0
+_08033DEC: .4byte gUnknown_020314E0
+_08033DF0: .4byte 0x000003A3
+_08033DF4:
+ ldr r5, _08033E14 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ ldr r1, [sp, #4]
+ asrs r3, r1, #0x10
+ lsls r1, r3, #1
+ movs r2, #0xec
+ lsls r2, r2, #2
+ adds r0, r4, r2
+ adds r1, r0, r1
+ ldrh r0, [r1]
+ cmp r0, #5
+ bhi _08033E18
+ adds r0, #1
+ strh r0, [r1]
+ movs r3, #3
+ b _08033E8E
+ .align 2, 0
+_08033E14: .4byte gUnknown_020314E0
+_08033E18:
+ movs r2, #0
+ movs r0, #0
+ strh r0, [r1]
+ ldr r6, _08033E64 @ =0x000003A3
+ adds r0, r4, r6
+ adds r0, r0, r3
+ movs r1, #0x12
+ strb r1, [r0]
+ ldr r0, [r5]
+ movs r1, #0xe8
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ adds r0, r0, r3
+ movs r1, #8
+ strb r1, [r0]
+ ldr r0, [r5]
+ ldr r4, _08033E68 @ =0x000003A9
+ adds r0, r0, r4
+ adds r0, r0, r3
+ strb r2, [r0]
+ ldr r0, [r5]
+ ldr r5, _08033E6C @ =0x00000396
+ adds r1, r0, r5
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ ble _08033E54
+ subs r0, r2, #1
+ strb r0, [r1]
+_08033E54:
+ movs r6, #3
+ str r6, [sp]
+ movs r7, #3
+ movs r0, #0xf3
+ bl m4aSongNumStart
+ b _08033FD8
+ .align 2, 0
+_08033E64: .4byte 0x000003A3
+_08033E68: .4byte 0x000003A9
+_08033E6C: .4byte 0x00000396
+_08033E70:
+ ldr r5, _08033E94 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ ldr r0, [sp, #4]
+ asrs r3, r0, #0x10
+ lsls r1, r3, #1
+ movs r2, #0xec
+ lsls r2, r2, #2
+ adds r0, r4, r2
+ adds r1, r0, r1
+ ldrh r0, [r1]
+ cmp r0, #5
+ bhi _08033E98
+ adds r0, #1
+ strh r0, [r1]
+ movs r3, #9
+_08033E8E:
+ str r3, [sp]
+ movs r7, #3
+ b _08033FD8
+ .align 2, 0
+_08033E94: .4byte gUnknown_020314E0
+_08033E98:
+ movs r2, #0
+ movs r0, #0
+ strh r0, [r1]
+ ldr r6, _08033EE4 @ =0x000003A3
+ adds r0, r4, r6
+ adds r0, r0, r3
+ movs r1, #0x12
+ strb r1, [r0]
+ ldr r0, [r5]
+ movs r1, #0xe8
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ adds r0, r0, r3
+ movs r1, #8
+ strb r1, [r0]
+ ldr r0, [r5]
+ ldr r4, _08033EE8 @ =0x000003A9
+ adds r0, r0, r4
+ adds r0, r0, r3
+ strb r2, [r0]
+ ldr r0, [r5]
+ ldr r5, _08033EEC @ =0x00000396
+ adds r1, r0, r5
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ ble _08033ED4
+ subs r0, r2, #1
+ strb r0, [r1]
+_08033ED4:
+ movs r0, #0xf3
+ bl m4aSongNumStart
+ movs r6, #9
+ str r6, [sp]
+ movs r7, #3
+ b _08033FD8
+ .align 2, 0
+_08033EE4: .4byte 0x000003A3
+_08033EE8: .4byte 0x000003A9
+_08033EEC: .4byte 0x00000396
+_08033EF0:
+ ldr r3, _08033F28 @ =0x086AE5EC
+ ldr r0, _08033F2C @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r1, [sp, #4]
+ asrs r4, r1, #0x10
+ ldr r5, _08033F30 @ =0x000003A3
+ adds r0, r2, r5
+ adds r5, r0, r4
+ movs r1, #0
+ ldrsb r1, [r5, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r1, r3, #2
+ adds r0, r0, r1
+ movs r6, #0
+ ldrsh r1, [r0, r6]
+ lsls r0, r4, #1
+ movs r6, #0xec
+ lsls r6, r6, #2
+ adds r2, r2, r6
+ adds r2, r2, r0
+ ldrh r0, [r2]
+ cmp r1, r0
+ ble _08033F34
+ adds r0, #1
+ strh r0, [r2]
+ b _08033F64
+ .align 2, 0
+_08033F28: .4byte 0x086AE5EC
+_08033F2C: .4byte gUnknown_020314E0
+_08033F30: .4byte 0x000003A3
+_08033F34:
+ movs r0, #0
+ strh r0, [r2]
+ ldrb r0, [r5]
+ adds r0, #1
+ strb r0, [r5]
+ ldr r1, _08033F88 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08033F8C @ =0x000003A3
+ adds r0, r0, r2
+ adds r1, r0, r4
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0x19
+ ble _08033F64
+ movs r0, #0x19
+ strb r0, [r1]
+ ldr r5, _08033F88 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ movs r6, #0xe8
+ lsls r6, r6, #2
+ adds r0, r0, r6
+ adds r0, r0, r4
+ movs r1, #9
+ strb r1, [r0]
+_08033F64:
+ ldr r0, _08033F88 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r2, [sp, #4]
+ asrs r1, r2, #0x10
+ ldr r4, _08033F8C @ =0x000003A3
+ adds r0, r0, r4
+ adds r0, r0, r1
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r1, r0, r3
+ ldrh r1, [r1]
+ str r1, [sp]
+ adds r1, r3, #4
+ adds r0, r0, r1
+ b _08033FD6
+ .align 2, 0
+_08033F88: .4byte gUnknown_020314E0
+_08033F8C: .4byte 0x000003A3
+_08033F90:
+ ldr r3, _0803401C @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldr r5, [sp, #4]
+ asrs r4, r5, #0x10
+ ldr r6, _08034020 @ =0x000003A6
+ adds r0, r0, r6
+ adds r0, r0, r4
+ movs r1, #0
+ strb r1, [r0]
+ ldr r0, [r3]
+ ldr r2, _08034024 @ =0x000003A9
+ adds r0, r0, r2
+ adds r0, r0, r4
+ strb r1, [r0]
+ ldr r0, [r3]
+ movs r5, #0xe8
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ adds r0, r0, r4
+ strb r1, [r0]
+ ldr r2, _08034028 @ =0x086AE5EC
+ ldr r0, [r3]
+ subs r6, #3
+ adds r0, r0, r6
+ adds r0, r0, r4
+_08033FC2:
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r1, r0, r2
+ ldrh r1, [r1]
+ str r1, [sp]
+ adds r2, #4
+ adds r0, r0, r2
+_08033FD6:
+ ldrh r7, [r0]
+_08033FD8:
+ ldr r2, _0803401C @ =gUnknown_020314E0
+ ldr r3, [r2]
+ ldr r0, [sp, #4]
+ asrs r6, r0, #0x10
+ lsls r1, r6, #1
+ ldr r4, _0803402C @ =0x000003B6
+ adds r0, r3, r4
+ adds r5, r0, r1
+ adds r4, #6
+ adds r0, r3, r4
+ adds r0, r0, r1
+ ldrh r1, [r5]
+ ldrh r0, [r0]
+ cmp r1, r0
+ bls _0803404C
+ ldr r1, _08034030 @ =0x00000385
+ adds r0, r3, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x12
+ bgt _0803404C
+ movs r0, #0
+ strh r0, [r5]
+ movs r2, #0xe8
+ lsls r2, r2, #2
+ adds r0, r3, r2
+ adds r1, r0, r6
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #2
+ bne _08034034
+ movs r0, #6
+ b _08034036
+ .align 2, 0
+_0803401C: .4byte gUnknown_020314E0
+_08034020: .4byte 0x000003A6
+_08034024: .4byte 0x000003A9
+_08034028: .4byte 0x086AE5EC
+_0803402C: .4byte 0x000003B6
+_08034030: .4byte 0x00000385
+_08034034:
+ movs r0, #7
+_08034036:
+ strb r0, [r1]
+ ldr r3, _080340D8 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldr r4, [sp, #4]
+ asrs r1, r4, #0xf
+ movs r5, #0xec
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ adds r0, r0, r1
+ movs r1, #0
+ strh r1, [r0]
+_0803404C:
+ ldr r6, _080340D8 @ =gUnknown_020314E0
+ ldr r0, [r6]
+ ldr r1, [sp, #4]
+ asrs r5, r1, #0x10
+ ldr r2, _080340DC @ =0x00000397
+ adds r1, r0, r2
+ adds r1, r1, r5
+ adds r2, #3
+ adds r0, r0, r2
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ strb r0, [r1]
+ ldr r0, [r6]
+ adds r0, r0, r2
+ adds r0, r0, r5
+ strb r7, [r0]
+ ldr r0, [r6]
+ ldr r3, _080340E0 @ =0x0000039D
+ adds r0, r0, r3
+ adds r0, r0, r5
+ mov r4, sp
+ ldrb r4, [r4]
+ strb r4, [r0]
+ ldr r4, [r6]
+ lsls r0, r5, #2
+ adds r4, r4, r0
+ movs r6, #0xf1
+ lsls r6, r6, #2
+ adds r0, r4, r6
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0xd0
+ movs r2, #0xf4
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ strh r0, [r1]
+ ldr r3, _080340E4 @ =0x000003C6
+ adds r0, r4, r3
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0x42
+ ldr r1, _080340E8 @ =0x000003D2
+ adds r4, r4, r1
+ strh r0, [r4]
+ adds r5, #1
+ lsls r5, r5, #0x10
+ lsrs r2, r5, #0x10
+ asrs r5, r5, #0x10
+ cmp r5, #2
+ bgt _080340C8
+ bl _08033752
+_080340C8:
+ add sp, #8
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080340D8: .4byte gUnknown_020314E0
+_080340DC: .4byte 0x00000397
+_080340E0: .4byte 0x0000039D
+_080340E4: .4byte 0x000003C6
+_080340E8: .4byte 0x000003D2
+
+ thumb_func_start sub_340EC
+sub_340EC: @ 0x080340EC
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #0x14
+ movs r4, #0
+_080340FA:
+ ldr r0, _08034198 @ =gUnknown_020314E0
+ ldr r5, [r0]
+ lsls r4, r4, #0x10
+ asrs r3, r4, #0x10
+ ldr r1, _0803419C @ =0x00000397
+ adds r0, r5, r1
+ adds r0, r0, r3
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r1, r1, #0x10
+ ldr r2, _080341A0 @ =0x040000D4
+ lsrs r7, r1, #0x10
+ mov r8, r7
+ asrs r1, r1, #0x10
+ lsls r0, r1, #2
+ adds r0, r0, r1
+ lsls r0, r0, #7
+ ldr r1, _080341A4 @ =0x08510E4C
+ adds r0, r0, r1
+ str r0, [r2]
+ lsls r7, r3, #2
+ adds r0, r7, r3
+ lsls r0, r0, #7
+ ldr r1, _080341A8 @ =0x06010920
+ adds r0, r0, r1
+ str r0, [r2, #4]
+ ldr r0, _080341AC @ =0x80000140
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r2, _080341B0 @ =0x0000039D
+ adds r0, r5, r2
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ mov sb, r0
+ movs r0, #0xb8
+ adds r1, r3, #0
+ muls r1, r0, r1
+ ldr r0, _080341B4 @ =0x0200B8C0
+ adds r6, r1, r0
+ ldr r1, _080341B8 @ =0x000003A6
+ adds r0, r5, r1
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ mov sl, r4
+ cmp r0, #0
+ beq _080341C0
+ adds r4, r5, r7
+ adds r2, #0x27
+ adds r0, r4, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x6c
+ adds r1, r5, #0
+ adds r1, #0x58
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ ldr r7, _080341BC @ =0x000003C6
+ adds r4, r4, r7
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x1c
+ adds r1, r5, #0
+ adds r1, #0x5a
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ b _080341C6
+ .align 2, 0
+_08034198: .4byte gUnknown_020314E0
+_0803419C: .4byte 0x00000397
+_080341A0: .4byte 0x040000D4
+_080341A4: .4byte 0x08510E4C
+_080341A8: .4byte 0x06010920
+_080341AC: .4byte 0x80000140
+_080341B0: .4byte 0x0000039D
+_080341B4: .4byte 0x0200B8C0
+_080341B8: .4byte 0x000003A6
+_080341BC: .4byte 0x000003C6
+_080341C0:
+ movs r0, #0xf0
+ strh r0, [r6, #2]
+ movs r0, #0xb4
+_080341C6:
+ strh r0, [r6, #4]
+ mov r2, r8
+ lsls r0, r2, #0x10
+ asrs r5, r0, #0x10
+ cmp r5, #6
+ beq _080341D4
+ b _08034368
+_080341D4:
+ ldr r3, _0803420C @ =gUnknown_020314E0
+ ldr r0, [r3]
+ mov r7, sl
+ asrs r1, r7, #0x10
+ movs r2, #0xeb
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ adds r1, r0, r1
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #6
+ bgt _08034210
+ adds r4, r0, #0
+ lsls r0, r4, #7
+ movs r1, #6
+ bl __divsi3
+ movs r3, #0x80
+ lsls r3, r3, #1
+ adds r0, r0, r3
+ lsls r0, r0, #0x10
+ lsrs r7, r0, #0x10
+ subs r4, r5, r4
+ lsls r4, r4, #7
+ adds r0, r4, #0
+ movs r1, #6
+ b _08034238
+ .align 2, 0
+_0803420C: .4byte gUnknown_020314E0
+_08034210:
+ movs r4, #0
+ ldrsb r4, [r1, r4]
+ movs r1, #0x18
+ subs r1, r1, r4
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #3
+ subs r0, r0, r1
+ lsls r0, r0, #4
+ movs r1, #0x12
+ bl __divsi3
+ adds r0, #0x10
+ lsls r0, r0, #0x10
+ lsrs r7, r0, #0x10
+ subs r4, #6
+ lsls r0, r4, #3
+ subs r0, r0, r4
+ lsls r0, r0, #6
+ movs r1, #0x12
+_08034238:
+ bl __divsi3
+ adds r0, #0x80
+ lsls r0, r0, #0x10
+ lsrs r1, r0, #0x10
+ lsls r0, r7, #0x10
+ asrs r0, r0, #0x10
+ lsls r1, r1, #0x10
+ asrs r1, r1, #0x10
+ mov r5, sl
+ asrs r4, r5, #0x10
+ adds r5, r4, #2
+ lsls r2, r5, #0x10
+ asrs r2, r2, #0x10
+ bl SetMatrixScale
+ ldrh r0, [r6, #2]
+ subs r0, #0x10
+ strh r0, [r6, #2]
+ ldrh r0, [r6, #4]
+ subs r0, #0x10
+ strh r0, [r6, #4]
+ movs r2, #0
+ mov r7, sb
+ lsls r0, r7, #0x10
+ ldr r7, _08034350 @ =gOamBuffer
+ asrs r1, r0, #0x10
+ mov ip, r4
+ mov sb, r5
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ mov r8, r0
+_0803427A:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ adds r2, r0, r7
+ lsls r0, r4, #1
+ adds r0, r0, r4
+ lsls r0, r0, #1
+ ldr r1, _08034354 @ =0x086BA0A0
+ adds r0, r0, r1
+ mov r3, r8
+ adds r1, r3, r0
+ ldrh r0, [r1]
+ strh r0, [r2]
+ adds r1, #2
+ adds r2, #2
+ ldrh r0, [r1]
+ strh r0, [r2]
+ ldrh r0, [r1, #2]
+ strh r0, [r2, #2]
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ str r3, [sp, #0xc]
+ ldrh r2, [r3, #2]
+ lsls r0, r2, #0x17
+ lsrs r0, r0, #0x17
+ str r0, [sp, #8]
+ movs r1, #2
+ ldrsh r0, [r6, r1]
+ ldr r3, [sp, #8]
+ adds r0, r3, r0
+ ldr r1, _08034358 @ =0x000001FF
+ ands r0, r1
+ ldr r3, _0803435C @ =0xFFFFFE00
+ ands r2, r3
+ orrs r2, r0
+ ldr r0, [sp, #0xc]
+ strh r2, [r0, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r2, [r1]
+ adds r0, r0, r2
+ strb r0, [r1]
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ str r3, [sp, #0xc]
+ ldrh r0, [r3, #4]
+ mov r3, sp
+ strh r0, [r3, #0x10]
+ adds r2, r0, #0
+ lsls r1, r2, #0x16
+ lsrs r1, r1, #0x16
+ strh r1, [r3]
+ mov r3, ip
+ lsls r0, r3, #2
+ add r0, ip
+ lsls r0, r0, #2
+ str r0, [sp, #8]
+ mov r0, sp
+ ldrh r2, [r0]
+ ldr r0, [sp, #8]
+ adds r1, r2, r0
+ ldr r3, _08034360 @ =0x000003FF
+ ands r1, r3
+ mov r0, sp
+ ldrh r2, [r0, #0x10]
+ ldr r0, _08034364 @ =0xFFFFFC00
+ ands r2, r0
+ orrs r2, r1
+ ldr r1, [sp, #0xc]
+ strh r2, [r1, #4]
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ adds r0, r0, r7
+ ldrb r1, [r0, #1]
+ movs r2, #3
+ orrs r1, r2
+ strb r1, [r0, #1]
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #7
+ mov r1, sb
+ ands r1, r0
+ lsls r1, r1, #1
+ ldrb r0, [r3, #3]
+ movs r5, #0xf
+ rsbs r5, r5, #0
+ adds r2, r5, #0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3, #3]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #1
+ ble _0803427A
+ b _08034416
+ .align 2, 0
+_08034350: .4byte gOamBuffer
+_08034354: .4byte 0x086BA0A0
+_08034358: .4byte 0x000001FF
+_0803435C: .4byte 0xFFFFFE00
+_08034360: .4byte 0x000003FF
+_08034364: .4byte 0xFFFFFC00
+_08034368:
+ movs r2, #0
+ mov r7, sb
+ lsls r0, r7, #0x10
+ ldr r1, _08034438 @ =0x086BA0A0
+ mov sb, r1
+ ldr r3, _0803443C @ =gOamBuffer
+ mov ip, r3
+ asrs r1, r0, #0x10
+ mov r5, sl
+ asrs r5, r5, #0x10
+ str r5, [sp, #4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ mov r8, r0
+_08034386:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ mov r7, ip
+ adds r2, r0, r7
+ lsls r0, r4, #1
+ adds r0, r0, r4
+ lsls r0, r0, #1
+ add r0, sb
+ mov r3, r8
+ adds r1, r3, r0
+ ldrh r0, [r1]
+ strh r0, [r2]
+ adds r1, #2
+ adds r2, #2
+ ldrh r0, [r1]
+ strh r0, [r2]
+ ldrh r0, [r1, #2]
+ strh r0, [r2, #2]
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ add r3, ip
+ ldrh r2, [r3, #2]
+ lsls r0, r2, #0x17
+ lsrs r0, r0, #0x17
+ movs r7, #2
+ ldrsh r1, [r6, r7]
+ adds r0, r0, r1
+ ldr r7, _08034440 @ =0x000001FF
+ adds r1, r7, #0
+ ands r0, r1
+ ldr r7, _08034444 @ =0xFFFFFE00
+ adds r1, r7, #0
+ ands r2, r1
+ orrs r2, r0
+ strh r2, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ add r1, ip
+ ldrb r0, [r6, #4]
+ ldrb r2, [r1]
+ adds r0, r0, r2
+ strb r0, [r1]
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ add r3, ip
+ ldrh r2, [r3, #4]
+ lsls r1, r2, #0x16
+ lsrs r1, r1, #0x16
+ ldr r5, [sp, #4]
+ lsls r0, r5, #2
+ adds r0, r0, r5
+ lsls r0, r0, #2
+ adds r1, r1, r0
+ ldr r7, _08034448 @ =0x000003FF
+ adds r0, r7, #0
+ ands r1, r0
+ ldr r5, _0803444C @ =0xFFFFFC00
+ adds r0, r5, #0
+ ands r2, r0
+ orrs r2, r1
+ strh r2, [r3, #4]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #1
+ ble _08034386
+_08034416:
+ movs r0, #0x80
+ lsls r0, r0, #9
+ add r0, sl
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #2
+ bgt _08034426
+ b _080340FA
+_08034426:
+ add sp, #0x14
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08034438: .4byte 0x086BA0A0
+_0803443C: .4byte gOamBuffer
+_08034440: .4byte 0x000001FF
+_08034444: .4byte 0xFFFFFE00
+_08034448: .4byte 0x000003FF
+_0803444C: .4byte 0xFFFFFC00
+
+ thumb_func_start sub_34450
+sub_34450: @ 0x08034450
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #4
+ movs r0, #0
+ mov sb, r0
+ ldr r1, _08034488 @ =0x0200BDC8
+ str r1, [sp]
+ ldr r1, _0803448C @ =gUnknown_020314E0
+ ldr r0, [r1]
+ movs r2, #0xf7
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ mov sl, r1
+ cmp r0, #8
+ bls _0803447E
+ bl _08034D7E
+_0803447E:
+ lsls r0, r0, #2
+ ldr r1, _08034490 @ =_08034494
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08034488: .4byte 0x0200BDC8
+_0803448C: .4byte gUnknown_020314E0
+_08034490: .4byte _08034494
+_08034494: @ jump table
+ .4byte _080344B8 @ case 0
+ .4byte _08034510 @ case 1
+ .4byte _080345F0 @ case 2
+ .4byte _080346D8 @ case 3
+ .4byte _080348CA @ case 4
+ .4byte _08034910 @ case 5
+ .4byte _08034998 @ case 6
+ .4byte _08034A7C @ case 7
+ .4byte _08034CD0 @ case 8
+_080344B8:
+ ldr r3, _08034500 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ movs r4, #0xfa
+ lsls r4, r4, #2
+ adds r2, r1, r4
+ movs r0, #0xdc
+ lsls r0, r0, #2
+ strh r0, [r2]
+ ldr r5, _08034504 @ =0x000003EA
+ adds r2, r1, r5
+ movs r0, #0x96
+ lsls r0, r0, #1
+ strh r0, [r2]
+ movs r6, #0xf7
+ lsls r6, r6, #2
+ adds r1, r1, r6
+ movs r4, #1
+ strb r4, [r1]
+ ldr r1, [r3]
+ ldr r7, _08034508 @ =0x000003E6
+ adds r2, r1, r7
+ movs r0, #0xb8
+ strh r0, [r2]
+ ldr r0, _0803450C @ =0x000003E2
+ adds r2, r1, r0
+ movs r0, #0x15
+ strh r0, [r2]
+ movs r2, #0
+ mov sb, r2
+ movs r3, #0xa5
+ lsls r3, r3, #2
+ adds r1, r1, r3
+ strb r4, [r1]
+ bl _08034D7E
+ .align 2, 0
+_08034500: .4byte gUnknown_020314E0
+_08034504: .4byte 0x000003EA
+_08034508: .4byte 0x000003E6
+_0803450C: .4byte 0x000003E2
+_08034510:
+ ldr r0, _0803453C @ =0x086AE68E
+ mov r5, sl
+ ldr r4, [r5]
+ ldr r6, _08034540 @ =0x000003E2
+ adds r3, r4, r6
+ movs r7, #0
+ ldrsh r1, [r3, r7]
+ lsls r1, r1, #2
+ adds r0, #2
+ adds r1, r1, r0
+ movs r2, #0
+ ldrsh r0, [r1, r2]
+ movs r5, #0xf9
+ lsls r5, r5, #2
+ adds r1, r4, r5
+ ldrh r2, [r1]
+ cmp r0, r2
+ ble _08034544
+ adds r0, r2, #1
+ strh r0, [r1]
+ b _080345DC
+ .align 2, 0
+_0803453C: .4byte 0x086AE68E
+_08034540: .4byte 0x000003E2
+_08034544:
+ movs r0, #0
+ strh r0, [r1]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x1c
+ ble _08034582
+ movs r0, #0x15
+ strh r0, [r3]
+ movs r6, #0xf8
+ lsls r6, r6, #2
+ adds r1, r4, r6
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ bgt _08034570
+ adds r0, r2, #1
+ strb r0, [r1]
+ b _08034582
+_08034570:
+ movs r0, #0
+ strb r0, [r1]
+ mov r7, sl
+ ldr r0, [r7]
+ movs r1, #0xf7
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r1, #2
+ strb r1, [r0]
+_08034582:
+ ldr r4, _080345E4 @ =gUnknown_020314E0
+ ldr r1, [r4]
+ ldr r5, _080345E8 @ =0x000003E2
+ adds r0, r1, r5
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ cmp r0, #0x17
+ bne _080345B2
+ ldr r3, _080345EC @ =0x00000129
+ adds r1, r1, r3
+ movs r0, #0
+ strb r0, [r1]
+ ldr r0, [r4]
+ movs r6, #0x94
+ lsls r6, r6, #1
+ adds r0, r0, r6
+ movs r1, #1
+ strb r1, [r0]
+ movs r0, #0xf4
+ bl m4aSongNumStart
+ movs r0, #8
+ bl sub_11B0
+_080345B2:
+ ldr r1, [r4]
+ adds r0, r1, r5
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ cmp r0, #0x1b
+ bne _080345DC
+ ldr r2, _080345EC @ =0x00000129
+ adds r0, r1, r2
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r4]
+ movs r3, #0x94
+ lsls r3, r3, #1
+ adds r0, r0, r3
+ strb r1, [r0]
+ movs r0, #0xf4
+ bl m4aSongNumStart
+ movs r0, #8
+ bl sub_11B0
+_080345DC:
+ movs r4, #0
+ mov sb, r4
+ b _08034D7E
+ .align 2, 0
+_080345E4: .4byte gUnknown_020314E0
+_080345E8: .4byte 0x000003E2
+_080345EC: .4byte 0x00000129
+_080345F0:
+ mov r5, sl
+ ldr r4, [r5]
+ movs r6, #0xf9
+ lsls r6, r6, #2
+ adds r3, r4, r6
+ ldrh r0, [r3]
+ cmp r0, #0xff
+ bhi _08034670
+ ldr r2, _08034660 @ =0x08137D40
+ adds r1, r0, #0
+ movs r0, #0x3f
+ ands r0, r1
+ lsrs r0, r0, #4
+ lsls r0, r0, #1
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ mov sb, r0
+ adds r1, #1
+ movs r5, #0
+ strh r1, [r3]
+ lsls r1, r1, #0x10
+ movs r0, #0x80
+ lsls r0, r0, #0x11
+ cmp r1, r0
+ bne _08034670
+ movs r7, #0xf7
+ lsls r7, r7, #2
+ adds r1, r4, r7
+ movs r0, #3
+ strb r0, [r1]
+ mov r0, sl
+ ldr r1, [r0]
+ adds r0, r1, r6
+ strh r5, [r0]
+ movs r2, #0xf8
+ lsls r2, r2, #2
+ adds r1, r1, r2
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #3
+ ble _08034646
+ movs r0, #0
+ strb r0, [r1]
+_08034646:
+ mov r3, sl
+ ldr r1, [r3]
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #1
+ bgt _08034668
+ ldr r4, _08034664 @ =0x000003E2
+ adds r0, r1, r4
+ strh r5, [r0]
+ b _08034670
+ .align 2, 0
+_08034660: .4byte 0x08137D40
+_08034664: .4byte 0x000003E2
+_08034668:
+ ldr r5, _0803468C @ =0x000003E2
+ adds r1, r1, r5
+ movs r0, #7
+ strh r0, [r1]
+_08034670:
+ mov r6, sl
+ ldr r3, [r6]
+ ldr r7, _08034690 @ =0x000003E6
+ adds r1, r3, r7
+ ldrh r0, [r1]
+ movs r4, #0
+ ldrsh r2, [r1, r4]
+ cmp r2, #0
+ ble _080346BC
+ cmp r2, #0x40
+ ble _08034694
+ subs r0, #1
+ b _08034696
+ .align 2, 0
+_0803468C: .4byte 0x000003E2
+_08034690: .4byte 0x000003E6
+_08034694:
+ subs r0, #2
+_08034696:
+ strh r0, [r1]
+ ldr r0, _080346B4 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r5, _080346B8 @ =0x000003E6
+ adds r0, r0, r5
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ cmp r0, #0x9a
+ beq _080346AA
+ b _08034D7E
+_080346AA:
+ movs r0, #0xf5
+ bl m4aSongNumStart
+ b _08034D7E
+ .align 2, 0
+_080346B4: .4byte gUnknown_020314E0
+_080346B8: .4byte 0x000003E6
+_080346BC:
+ ldr r7, _080346D4 @ =0x00000387
+ adds r0, r3, r7
+ movs r1, #2
+ strb r1, [r0]
+ mov r2, sl
+ ldr r0, [r2]
+ movs r3, #0xa5
+ lsls r3, r3, #2
+ adds r0, r0, r3
+ strb r1, [r0]
+ b _08034D7E
+ .align 2, 0
+_080346D4: .4byte 0x00000387
+_080346D8:
+ ldr r0, _08034704 @ =0x086AE68E
+ mov r4, sl
+ ldr r3, [r4]
+ ldr r4, _08034708 @ =0x000003E2
+ adds r6, r3, r4
+ movs r5, #0
+ ldrsh r1, [r6, r5]
+ lsls r1, r1, #2
+ adds r0, #2
+ adds r1, r1, r0
+ movs r7, #0
+ ldrsh r0, [r1, r7]
+ movs r5, #0xf9
+ lsls r5, r5, #2
+ adds r1, r3, r5
+ ldrh r2, [r1]
+ cmp r0, r2
+ ble _0803470C
+ adds r0, r2, #1
+ strh r0, [r1]
+ b _080347F0
+ .align 2, 0
+_08034704: .4byte 0x086AE68E
+_08034708: .4byte 0x000003E2
+_0803470C:
+ movs r7, #0
+ strh r7, [r1]
+ movs r2, #0xf8
+ lsls r2, r2, #2
+ adds r1, r3, r2
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #1
+ bgt _08034758
+ ldrh r0, [r6]
+ adds r0, #1
+ strh r0, [r6]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #7
+ ble _08034796
+ strh r7, [r6]
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ mov r0, sl
+ ldr r1, [r0]
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ movs r2, #1
+ ands r2, r0
+ cmp r2, #0
+ bne _08034796
+ movs r3, #0xf7
+ lsls r3, r3, #2
+ adds r1, r1, r3
+ movs r0, #2
+ strb r0, [r1]
+ mov r4, sl
+ ldr r0, [r4]
+ adds r0, r0, r5
+ strh r2, [r0]
+ b _08034796
+_08034758:
+ ldrh r0, [r6]
+ subs r0, #1
+ strh r0, [r6]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ bge _08034796
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ mov r6, sl
+ ldr r1, [r6]
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ movs r2, #1
+ ands r2, r0
+ cmp r2, #0
+ bne _08034790
+ movs r7, #0xf7
+ lsls r7, r7, #2
+ adds r1, r1, r7
+ movs r0, #2
+ strb r0, [r1]
+ ldr r0, [r6]
+ adds r1, r0, r5
+ strh r2, [r1]
+ adds r0, r0, r4
+ strh r2, [r0]
+ b _08034796
+_08034790:
+ adds r1, r1, r4
+ movs r0, #7
+ strh r0, [r1]
+_08034796:
+ ldr r4, _08034840 @ =gUnknown_020314E0
+ ldr r1, [r4]
+ ldr r5, _08034844 @ =0x000003E2
+ adds r0, r1, r5
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ cmp r0, #2
+ bne _080347C6
+ ldr r3, _08034848 @ =0x00000129
+ adds r1, r1, r3
+ movs r0, #0
+ strb r0, [r1]
+ ldr r0, [r4]
+ movs r6, #0x94
+ lsls r6, r6, #1
+ adds r0, r0, r6
+ movs r1, #1
+ strb r1, [r0]
+ movs r0, #0xf4
+ bl m4aSongNumStart
+ movs r0, #8
+ bl sub_11B0
+_080347C6:
+ ldr r1, [r4]
+ adds r0, r1, r5
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ cmp r0, #6
+ bne _080347F0
+ ldr r2, _08034848 @ =0x00000129
+ adds r0, r1, r2
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r4]
+ movs r3, #0x94
+ lsls r3, r3, #1
+ adds r0, r0, r3
+ strb r1, [r0]
+ movs r0, #0xf4
+ bl m4aSongNumStart
+ movs r0, #8
+ bl sub_11B0
+_080347F0:
+ ldr r1, _0803484C @ =0x086AE68E
+ ldr r7, _08034840 @ =gUnknown_020314E0
+ ldr r4, [r7]
+ ldr r5, _08034844 @ =0x000003E2
+ mov r8, r5
+ adds r3, r4, r5
+ movs r6, #0
+ ldrsh r0, [r3, r6]
+ lsls r0, r0, #2
+ adds r0, r0, r1
+ ldrh r0, [r0]
+ mov sb, r0
+ movs r1, #0
+ ldrsh r0, [r3, r1]
+ cmp r0, #0
+ bne _08034812
+ b _08034D7E
+_08034812:
+ cmp r0, #4
+ bne _08034818
+ b _08034D7E
+_08034818:
+ movs r6, #0xf8
+ lsls r6, r6, #2
+ adds r0, r4, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #1
+ bgt _08034880
+ adds r5, #8
+ adds r2, r4, r5
+ ldrh r5, [r2]
+ movs r0, #0
+ ldrsh r1, [r2, r0]
+ ldr r0, _08034850 @ =0x00000247
+ cmp r1, r0
+ bgt _08034854
+ adds r0, r5, #1
+ strh r0, [r2]
+ b _08034D7E
+ .align 2, 0
+_08034840: .4byte gUnknown_020314E0
+_08034844: .4byte 0x000003E2
+_08034848: .4byte 0x00000129
+_0803484C: .4byte 0x086AE68E
+_08034850: .4byte 0x00000247
+_08034854:
+ ldrh r3, [r3]
+ movs r0, #3
+ ands r3, r0
+ cmp r3, #0
+ beq _08034860
+ b _08034D7E
+_08034860:
+ movs r1, #0xf7
+ lsls r1, r1, #2
+ adds r0, r4, r1
+ movs r2, #2
+ strb r2, [r0]
+ ldr r0, [r7]
+ movs r4, #0xf9
+ lsls r4, r4, #2
+ adds r1, r0, r4
+ strh r3, [r1]
+ mov r5, r8
+ adds r1, r0, r5
+ strh r3, [r1]
+ adds r0, r0, r6
+ strb r2, [r0]
+ b _08034D7E
+_08034880:
+ ldr r0, _08034898 @ =0x000003EA
+ adds r2, r4, r0
+ ldrh r5, [r2]
+ movs r0, #0
+ ldrsh r1, [r2, r0]
+ movs r0, #0x96
+ lsls r0, r0, #1
+ cmp r1, r0
+ ble _0803489C
+ subs r0, r5, #1
+ strh r0, [r2]
+ b _08034D7E
+ .align 2, 0
+_08034898: .4byte 0x000003EA
+_0803489C:
+ ldrh r2, [r3]
+ movs r0, #3
+ ands r2, r0
+ cmp r2, #0
+ beq _080348A8
+ b _08034D7E
+_080348A8:
+ movs r3, #0xf7
+ lsls r3, r3, #2
+ adds r1, r4, r3
+ movs r0, #2
+ strb r0, [r1]
+ ldr r1, [r7]
+ movs r4, #0xf9
+ lsls r4, r4, #2
+ adds r0, r1, r4
+ strh r2, [r0]
+ mov r5, r8
+ adds r0, r1, r5
+ strh r2, [r0]
+ adds r1, r1, r6
+ movs r0, #4
+ strb r0, [r1]
+ b _08034D7E
+_080348CA:
+ ldr r4, _08034904 @ =gUnknown_020314E0
+ ldr r1, [r4]
+ movs r6, #0xf9
+ lsls r6, r6, #2
+ adds r0, r1, r6
+ movs r5, #0
+ movs r2, #0
+ strh r2, [r0]
+ ldr r7, _08034908 @ =0x000003E2
+ adds r0, r1, r7
+ strh r2, [r0]
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r1, r0
+ movs r0, #5
+ strb r0, [r1]
+ movs r1, #7
+ mov sb, r1
+ movs r0, #0xf6
+ bl m4aSongNumStart
+ ldr r0, [r4]
+ ldr r2, _0803490C @ =0x00000387
+ adds r0, r0, r2
+ strb r5, [r0]
+ movs r0, #7
+ bl sub_11B0
+ b _08034D7E
+ .align 2, 0
+_08034904: .4byte gUnknown_020314E0
+_08034908: .4byte 0x000003E2
+_0803490C: .4byte 0x00000387
+_08034910:
+ mov r4, sl
+ ldr r3, [r4]
+ movs r5, #0xf9
+ lsls r5, r5, #2
+ adds r4, r3, r5
+ ldrh r0, [r4]
+ cmp r0, #0x1b
+ bhi _0803492A
+ movs r6, #7
+ mov sb, r6
+ adds r0, #1
+ strh r0, [r4]
+ b _08034D7E
+_0803492A:
+ ldr r7, _08034960 @ =0x00000385
+ adds r0, r3, r7
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #3
+ bgt _08034968
+ movs r2, #0
+ movs r1, #0
+ movs r0, #0x80
+ strh r0, [r4]
+ ldr r4, _08034964 @ =0x000003E2
+ adds r0, r3, r4
+ strh r1, [r0]
+ movs r5, #0xf7
+ lsls r5, r5, #2
+ adds r1, r3, r5
+ movs r0, #2
+ strb r0, [r1]
+ mov r6, sl
+ ldr r0, [r6]
+ adds r7, #2
+ adds r0, r0, r7
+ strb r2, [r0]
+ movs r0, #7
+ mov sb, r0
+ b _08034976
+ .align 2, 0
+_08034960: .4byte 0x00000385
+_08034964: .4byte 0x000003E2
+_08034968:
+ movs r2, #0xf7
+ lsls r2, r2, #2
+ adds r1, r3, r2
+ movs r0, #8
+ strb r0, [r1]
+ movs r3, #7
+ mov sb, r3
+_08034976:
+ ldr r2, _0803498C @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldr r4, _08034990 @ =0x00000385
+ adds r1, r1, r4
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ ldr r1, [r2]
+ ldr r0, _08034994 @ =0x000493E0
+ str r0, [r1, #0x3c]
+ b _08034D7E
+ .align 2, 0
+_0803498C: .4byte gUnknown_020314E0
+_08034990: .4byte 0x00000385
+_08034994: .4byte 0x000493E0
+_08034998:
+ ldr r5, _08034A64 @ =gUnknown_020314E0
+ mov r8, r5
+ ldr r1, [r5]
+ ldr r6, _08034A68 @ =0x000003E2
+ adds r2, r1, r6
+ movs r3, #0
+ movs r0, #9
+ strh r0, [r2]
+ movs r7, #0xf9
+ lsls r7, r7, #2
+ adds r0, r1, r7
+ strh r3, [r0]
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r1, r0
+ movs r0, #7
+ strb r0, [r1]
+ ldr r0, [r5]
+ ldr r1, _08034A6C @ =0x000005A6
+ adds r0, r0, r1
+ strh r3, [r0]
+ movs r2, #8
+ mov sb, r2
+ movs r0, #0xf7
+ bl m4aSongNumStart
+ ldr r4, [r5]
+ movs r3, #0xfa
+ lsls r3, r3, #2
+ adds r0, r4, r3
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x20
+ movs r6, #0xa2
+ lsls r6, r6, #2
+ adds r5, r4, r6
+ strh r0, [r5]
+ adds r7, #6
+ adds r0, r4, r7
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x24
+ ldr r2, _08034A70 @ =0x0000028A
+ adds r1, r4, r2
+ strh r0, [r1]
+ ldrh r1, [r5]
+ lsls r1, r1, #8
+ ldr r3, _08034A74 @ =0x0000132C
+ adds r2, r4, r3
+ ldr r3, [r2]
+ ldr r2, [r3, #0x34]
+ subs r1, r1, r2
+ lsls r1, r1, #0x10
+ lsls r0, r0, #8
+ ldr r2, [r3, #0x38]
+ subs r0, r0, r2
+ lsls r0, r0, #0x10
+ lsrs r7, r1, #0x10
+ orrs r7, r0
+ ldr r6, _08034A78 @ =0x000005AC
+ adds r4, r4, r6
+ lsls r0, r7, #0x10
+ asrs r0, r0, #0x10
+ adds r5, r0, #0
+ muls r5, r0, r5
+ adds r0, r5, #0
+ asrs r5, r7, #0x10
+ adds r1, r5, #0
+ muls r1, r5, r1
+ adds r0, r0, r1
+ str r0, [r4]
+ lsls r0, r0, #2
+ bl Sqrt
+ mov r2, r8
+ ldr r1, [r2]
+ adds r1, r1, r6
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x11
+ str r0, [r1]
+ rsbs r0, r7, #0
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ adds r1, r5, #0
+ bl ArcTan2
+ mov r3, r8
+ ldr r1, [r3]
+ movs r4, #0xb6
+ lsls r4, r4, #3
+ adds r1, r1, r4
+ strh r0, [r1]
+ movs r0, #0xd
+ bl sub_11B0
+ b _08034D7E
+ .align 2, 0
+_08034A64: .4byte gUnknown_020314E0
+_08034A68: .4byte 0x000003E2
+_08034A6C: .4byte 0x000005A6
+_08034A70: .4byte 0x0000028A
+_08034A74: .4byte 0x0000132C
+_08034A78: .4byte 0x000005AC
+_08034A7C:
+ ldr r0, _08034AA8 @ =0x086AE68E
+ mov r5, sl
+ ldr r2, [r5]
+ ldr r5, _08034AAC @ =0x000003E2
+ adds r4, r2, r5
+ movs r6, #0
+ ldrsh r1, [r4, r6]
+ lsls r1, r1, #2
+ adds r0, #2
+ adds r1, r1, r0
+ movs r7, #0
+ ldrsh r0, [r1, r7]
+ movs r1, #0xf9
+ lsls r1, r1, #2
+ mov r8, r1
+ adds r1, r2, r1
+ ldrh r3, [r1]
+ cmp r0, r3
+ ble _08034AB0
+ adds r0, r3, #1
+ strh r0, [r1]
+ b _08034B2C
+ .align 2, 0
+_08034AA8: .4byte 0x086AE68E
+_08034AAC: .4byte 0x000003E2
+_08034AB0:
+ movs r6, #0
+ movs r7, #0
+ strh r7, [r1]
+ ldrh r0, [r4]
+ adds r0, #1
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xf
+ bne _08034AFA
+ ldr r3, _08034B58 @ =0x0000132C
+ adds r2, r2, r3
+ ldr r3, [r2]
+ ldr r0, _08034B5C @ =gMain
+ ldr r0, [r0, #0x4c]
+ movs r1, #1
+ ands r0, r1
+ lsls r1, r0, #2
+ adds r1, r1, r0
+ lsls r0, r1, #4
+ subs r0, r0, r1
+ lsls r0, r0, #2
+ ldr r4, _08034B60 @ =0x0000FF6A
+ adds r0, r0, r4
+ strh r0, [r3, #0x30]
+ ldr r1, [r2]
+ movs r0, #0x96
+ lsls r0, r0, #1
+ strh r0, [r1, #0x32]
+ ldr r0, [r2]
+ strb r6, [r0]
+ movs r0, #0xf8
+ bl m4aSongNumStart
+ movs r0, #8
+ bl sub_11B0
+_08034AFA:
+ mov r0, sl
+ ldr r1, [r0]
+ adds r0, r1, r5
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ cmp r0, #0x10
+ bne _08034B0A
+ strb r6, [r1, #0x1f]
+_08034B0A:
+ mov r3, sl
+ ldr r2, [r3]
+ adds r3, r2, r5
+ movs r4, #0
+ ldrsh r0, [r3, r4]
+ cmp r0, #0x10
+ ble _08034B2C
+ mov r5, r8
+ adds r1, r2, r5
+ movs r0, #0x80
+ strh r0, [r1]
+ strh r7, [r3]
+ movs r6, #0xf7
+ lsls r6, r6, #2
+ adds r1, r2, r6
+ movs r0, #2
+ strb r0, [r1]
+_08034B2C:
+ mov r7, sl
+ ldr r1, [r7]
+ adds r0, r1, #0
+ adds r0, #0x31
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _08034B6C
+ ldr r2, _08034B64 @ =0x000003E2
+ adds r0, r1, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ cmp r0, #0x10
+ bne _08034B8C
+ movs r4, #0xf9
+ lsls r4, r4, #2
+ adds r0, r1, r4
+ ldrh r0, [r0]
+ cmp r0, #4
+ bls _08034B8C
+ ldr r5, _08034B68 @ =0x00000387
+ adds r1, r1, r5
+ b _08034B88
+ .align 2, 0
+_08034B58: .4byte 0x0000132C
+_08034B5C: .4byte gMain
+_08034B60: .4byte 0x0000FF6A
+_08034B64: .4byte 0x000003E2
+_08034B68: .4byte 0x00000387
+_08034B6C:
+ ldr r6, _08034CA8 @ =0x000003E2
+ adds r0, r1, r6
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ cmp r0, #0x10
+ bne _08034B8C
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ cmp r0, #0
+ beq _08034B8C
+ ldr r3, _08034CAC @ =0x00000387
+ adds r1, r1, r3
+_08034B88:
+ movs r0, #2
+ strb r0, [r1]
+_08034B8C:
+ ldr r4, _08034CB0 @ =gUnknown_020314E0
+ ldr r7, [r4]
+ ldr r5, _08034CB4 @ =0x000005A6
+ adds r0, r7, r5
+ ldrh r0, [r0]
+ cmp r0, #0x1d
+ bhi _08034C60
+ movs r4, #0x1d
+ subs r4, r4, r0
+ movs r6, #0xb6
+ lsls r6, r6, #3
+ adds r5, r7, r6
+ lsls r4, r4, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #0xd
+ movs r1, #0x1e
+ bl __divsi3
+ ldr r1, _08034CB8 @ =0xFFFFE000
+ adds r2, r1, #0
+ adds r0, r0, r2
+ ldrh r1, [r5]
+ subs r1, r1, r0
+ strh r1, [r5]
+ ldr r6, _08034CBC @ =0x0000132C
+ adds r0, r7, r6
+ ldr r0, [r0]
+ ldrh r3, [r0, #0xa]
+ adds r2, r2, r3
+ strh r2, [r0, #0xa]
+ ldr r1, _08034CC0 @ =0x000005AC
+ adds r0, r7, r1
+ ldr r0, [r0]
+ muls r0, r4, r0
+ movs r1, #0x1e
+ bl __divsi3
+ mov sl, r0
+ ldrh r0, [r5]
+ bl sub_C74
+ ldr r2, _08034CB0 @ =gUnknown_020314E0
+ ldr r5, [r2]
+ adds r1, r5, r6
+ ldr r1, [r1]
+ mov r8, r1
+ movs r3, #0xa2
+ lsls r3, r3, #2
+ adds r1, r5, r3
+ movs r7, #0
+ ldrsh r4, [r1, r7]
+ lsls r4, r4, #8
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ mov r1, sl
+ muls r1, r0, r1
+ adds r0, r1, #0
+ ldr r2, _08034CC4 @ =0x00004E20
+ mov sb, r2
+ mov r1, sb
+ bl __divsi3
+ adds r4, r4, r0
+ mov r3, r8
+ str r4, [r3, #0x34]
+ movs r4, #0xb6
+ lsls r4, r4, #3
+ adds r5, r5, r4
+ ldrh r0, [r5]
+ bl sub_C24
+ ldr r5, _08034CB0 @ =gUnknown_020314E0
+ ldr r1, [r5]
+ adds r6, r1, r6
+ ldr r5, [r6]
+ ldr r7, _08034CC8 @ =0x0000028A
+ adds r1, r1, r7
+ movs r2, #0
+ ldrsh r4, [r1, r2]
+ lsls r4, r4, #8
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ mov r3, sl
+ muls r3, r0, r3
+ adds r0, r3, #0
+ mov r1, sb
+ bl __divsi3
+ subs r4, r4, r0
+ str r4, [r5, #0x38]
+ ldr r4, [r6]
+ movs r5, #0x30
+ ldrsh r0, [r4, r5]
+ lsls r0, r0, #2
+ movs r1, #5
+ bl __divsi3
+ strh r0, [r4, #0x30]
+ ldr r4, [r6]
+ movs r6, #0x32
+ ldrsh r0, [r4, r6]
+ lsls r0, r0, #2
+ movs r1, #5
+ bl __divsi3
+ strh r0, [r4, #0x32]
+_08034C60:
+ ldr r7, _08034CB0 @ =gUnknown_020314E0
+ ldr r1, [r7]
+ ldr r2, _08034CB4 @ =0x000005A6
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ cmp r0, #0x28
+ bne _08034C86
+ ldr r2, _08034CBC @ =0x0000132C
+ adds r0, r1, r2
+ ldr r1, [r0]
+ movs r3, #0
+ movs r0, #1
+ strb r0, [r1]
+ ldr r0, [r7]
+ adds r0, r0, r2
+ ldr r1, [r0]
+ strh r3, [r1, #0x30]
+ ldr r0, [r0]
+ strh r3, [r0, #0x32]
+_08034C86:
+ ldr r3, _08034CB0 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ ldr r4, _08034CB4 @ =0x000005A6
+ adds r2, r1, r4
+ ldrh r0, [r2]
+ adds r0, #1
+ strh r0, [r2]
+ ldr r2, _08034CCC @ =0x086AE68E
+ ldr r5, _08034CA8 @ =0x000003E2
+ adds r1, r1, r5
+ movs r6, #0
+ ldrsh r0, [r1, r6]
+ lsls r0, r0, #2
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ mov sb, r0
+ b _08034D7E
+ .align 2, 0
+_08034CA8: .4byte 0x000003E2
+_08034CAC: .4byte 0x00000387
+_08034CB0: .4byte gUnknown_020314E0
+_08034CB4: .4byte 0x000005A6
+_08034CB8: .4byte 0xFFFFE000
+_08034CBC: .4byte 0x0000132C
+_08034CC0: .4byte 0x000005AC
+_08034CC4: .4byte 0x00004E20
+_08034CC8: .4byte 0x0000028A
+_08034CCC: .4byte 0x086AE68E
+_08034CD0:
+ mov r7, sl
+ ldr r0, [r7]
+ movs r1, #0xa5
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r5, #0
+ movs r1, #3
+ strb r1, [r0]
+ ldr r4, _08034D24 @ =gMain
+ movs r0, #0x80
+ strb r0, [r4, #0xf]
+ ldr r1, [r7]
+ ldr r2, _08034D28 @ =0x000003E6
+ adds r0, r1, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ cmp r0, #0
+ bne _08034D06
+ movs r6, #0xe2
+ lsls r6, r6, #2
+ adds r1, r1, r6
+ movs r0, #2
+ strb r0, [r1]
+ ldr r0, [r7]
+ ldr r7, _08034D2C @ =0x00000392
+ adds r0, r0, r7
+ strh r5, [r0]
+_08034D06:
+ movs r0, #0xf
+ mov sb, r0
+ mov r1, sl
+ ldr r3, [r1]
+ adds r1, r3, r2
+ ldrh r0, [r1]
+ movs r6, #0
+ ldrsh r2, [r1, r6]
+ cmp r2, #0xb7
+ bgt _08034D60
+ cmp r2, #0x3f
+ bgt _08034D30
+ adds r0, #1
+ b _08034D32
+ .align 2, 0
+_08034D24: .4byte gMain
+_08034D28: .4byte 0x000003E6
+_08034D2C: .4byte 0x00000392
+_08034D30:
+ adds r0, #2
+_08034D32:
+ strh r0, [r1]
+ ldr r0, _08034D50 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r7, _08034D54 @ =0x000003E6
+ adds r0, r0, r7
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x1e
+ bne _08034D7E
+ ldr r0, _08034D58 @ =0x02032F20
+ ldr r1, _08034D5C @ =0x086A17D8
+ bl MPlayStart
+ b _08034D7E
+ .align 2, 0
+_08034D50: .4byte gUnknown_020314E0
+_08034D54: .4byte 0x000003E6
+_08034D58: .4byte 0x02032F20
+_08034D5C: .4byte 0x086A17D8
+_08034D60:
+ movs r2, #0xc5
+ lsls r2, r2, #4
+ adds r0, r4, r2
+ strh r5, [r0]
+ ldr r6, _08034E38 @ =0x00000D08
+ adds r0, r4, r6
+ strh r5, [r0]
+ ldr r7, _08034E3C @ =0x00000B98
+ adds r0, r4, r7
+ strh r5, [r0]
+ movs r0, #4
+ strb r0, [r3, #0x13]
+ mov r1, sl
+ ldr r0, [r1]
+ strh r5, [r0, #0x18]
+_08034D7E:
+ ldr r2, _08034E40 @ =0x040000D4
+ mov r3, sb
+ lsls r0, r3, #0x10
+ asrs r5, r0, #0x10
+ lsls r0, r5, #0xb
+ ldr r1, _08034E44 @ =0x084EDACC
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _08034E48 @ =0x060110A0
+ str r0, [r2, #4]
+ ldr r0, _08034E4C @ =0x80000400
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r4, _08034E50 @ =gUnknown_020314E0
+ ldr r6, [r4]
+ mov r8, r6
+ movs r7, #0xfa
+ lsls r7, r7, #2
+ add r7, r8
+ movs r1, #0
+ ldrsh r0, [r7, r1]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0x10
+ movs r1, #0xfc
+ lsls r1, r1, #2
+ add r1, r8
+ strh r0, [r1]
+ ldr r6, _08034E54 @ =0x000003EA
+ add r6, r8
+ movs r2, #0
+ ldrsh r0, [r6, r2]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0x10
+ ldr r1, _08034E58 @ =0x000003F2
+ add r1, r8
+ strh r0, [r1]
+ ldr r3, [sp]
+ ldrh r0, [r3]
+ mov sl, r4
+ cmp r0, #0
+ beq _08034EB4
+ mov r0, r8
+ adds r0, #0x58
+ ldrh r4, [r0]
+ rsbs r4, r4, #0
+ movs r1, #0
+ ldrsh r0, [r7, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, r4, r0
+ ldr r2, [sp]
+ strh r4, [r2, #2]
+ mov r0, r8
+ adds r0, #0x5a
+ ldrh r4, [r0]
+ rsbs r4, r4, #0
+ movs r3, #0
+ ldrsh r0, [r6, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, r4, r0
+ ldr r6, [sp]
+ strh r4, [r6, #4]
+ adds r6, #8
+ cmp r5, #7
+ bne _08034E6C
+ movs r0, #0xf9
+ lsls r0, r0, #2
+ add r0, r8
+ ldrh r0, [r0]
+ cmp r0, #5
+ bhi _08034E60
+ ldr r3, _08034E5C @ =gOamBuffer
+ ldr r7, [sp]
+ ldrh r2, [r7, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r3
+ ldrb r1, [r2, #5]
+ movs r0, #0xf
+ ands r0, r1
+ movs r1, #0x40
+ b _08034E7E
+ .align 2, 0
+_08034E38: .4byte 0x00000D08
+_08034E3C: .4byte 0x00000B98
+_08034E40: .4byte 0x040000D4
+_08034E44: .4byte 0x084EDACC
+_08034E48: .4byte 0x060110A0
+_08034E4C: .4byte 0x80000400
+_08034E50: .4byte gUnknown_020314E0
+_08034E54: .4byte 0x000003EA
+_08034E58: .4byte 0x000003F2
+_08034E5C: .4byte gOamBuffer
+_08034E60:
+ ldr r3, _08034E68 @ =gOamBuffer
+ ldr r0, [sp]
+ ldrh r2, [r0, #8]
+ b _08034E72
+ .align 2, 0
+_08034E68: .4byte gOamBuffer
+_08034E6C:
+ ldr r3, _08034F28 @ =gOamBuffer
+ ldr r1, [sp]
+ ldrh r2, [r1, #8]
+_08034E72:
+ lsls r2, r2, #3
+ adds r2, r2, r3
+ ldrb r1, [r2, #5]
+ movs r0, #0xf
+ ands r0, r1
+ movs r1, #0x30
+_08034E7E:
+ orrs r0, r1
+ strb r0, [r2, #5]
+ adds r4, r3, #0
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ movs r3, #2
+ ldrsh r1, [r6, r3]
+ ldr r5, [sp]
+ movs r7, #2
+ ldrsh r0, [r5, r7]
+ adds r1, r1, r0
+ ldr r3, _08034F2C @ =0x000001FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ ldr r0, _08034F30 @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r5, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+_08034EB4:
+ ldr r4, _08034F34 @ =0x0200BC58
+ str r4, [sp]
+ ldrh r0, [r4]
+ adds r4, #0xb8
+ mov r8, r4
+ cmp r0, #0
+ bne _08034EC4
+ b _08034FC4
+_08034EC4:
+ mov r5, sl
+ ldr r1, [r5]
+ ldr r6, _08034F38 @ =0x00000386
+ adds r0, r1, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _08034F40
+ adds r0, r1, #0
+ adds r0, #0x58
+ ldrh r4, [r0]
+ rsbs r4, r4, #0
+ movs r7, #0xfa
+ lsls r7, r7, #2
+ adds r0, r1, r7
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, r4, r0
+ ldr r2, [sp]
+ strh r4, [r2, #2]
+ ldr r5, [r5]
+ adds r0, r5, #0
+ adds r0, #0x5a
+ ldrh r4, [r0]
+ rsbs r4, r4, #0
+ ldr r3, _08034F3C @ =0x000003EA
+ adds r0, r5, r3
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, r4, r0
+ subs r7, #2
+ adds r5, r5, r7
+ movs r1, #0
+ ldrsh r0, [r5, r1]
+ lsrs r1, r0, #0x1f
+ adds r0, r0, r1
+ asrs r0, r0, #1
+ subs r0, #0x5c
+ adds r4, r4, r0
+ ldr r2, [sp]
+ strh r4, [r2, #4]
+ b _08034F4A
+ .align 2, 0
+_08034F28: .4byte gOamBuffer
+_08034F2C: .4byte 0x000001FF
+_08034F30: .4byte 0xFFFFFE00
+_08034F34: .4byte 0x0200BC58
+_08034F38: .4byte 0x00000386
+_08034F3C: .4byte 0x000003EA
+_08034F40:
+ movs r0, #0xf0
+ ldr r3, [sp]
+ strh r0, [r3, #2]
+ movs r0, #0xa0
+ strh r0, [r3, #4]
+_08034F4A:
+ ldr r3, _08035060 @ =gMain
+ ldr r1, [r3, #0x4c]
+ movs r0, #3
+ ands r1, r0
+ ldr r2, _08035064 @ =0x040000D4
+ lsrs r1, r1, #1
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #0xa
+ ldr r1, _08035068 @ =0x08494E4C
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _0803506C @ =0x06011AA0
+ str r0, [r2, #4]
+ ldr r0, _08035070 @ =0x80000600
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ movs r0, #0
+ movs r4, #0xc5
+ lsls r4, r4, #4
+ adds r4, r4, r3
+ mov r8, r4
+ ldr r5, _08035074 @ =gOamBuffer
+ ldr r6, _08035078 @ =0xFFFFFE00
+ mov sb, r6
+_08034F7C:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ ldr r7, [sp]
+ adds r6, r7, r0
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ movs r0, #2
+ ldrsh r1, [r6, r0]
+ movs r2, #2
+ ldrsh r0, [r7, r2]
+ adds r1, r1, r0
+ ldr r7, _0803507C @ =0x000001FF
+ adds r0, r7, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, sb
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldr r2, [sp]
+ ldrb r0, [r2, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #1
+ ble _08034F7C
+_08034FC4:
+ mov r3, r8
+ str r3, [sp]
+ ldrh r0, [r3]
+ cmp r0, #0
+ bne _08034FD0
+ b _080350D4
+_08034FD0:
+ mov r5, sl
+ ldr r4, [r5]
+ movs r6, #0xfa
+ lsls r6, r6, #2
+ adds r0, r4, r6
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x10
+ adds r4, #0x58
+ ldrh r1, [r4]
+ subs r0, r0, r1
+ ldr r1, [sp]
+ strh r0, [r1, #2]
+ ldr r4, [r5]
+ ldr r2, _08035080 @ =0x000003E2
+ adds r0, r4, r2
+ ldrh r0, [r0]
+ subs r0, #0xa
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #2
+ bhi _08035098
+ ldr r3, _08035084 @ =0x000003EA
+ adds r0, r4, r3
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x14
+ adds r1, r4, #0
+ adds r1, #0x5a
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ ldr r6, [sp]
+ strh r0, [r6, #4]
+ mov r7, sl
+ ldr r0, [r7]
+ ldr r1, _08035088 @ =0x000005A6
+ adds r0, r0, r1
+ ldrh r0, [r0]
+ movs r1, #0x18
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r2, #0
+ mov sb, r2
+ cmp r0, #0xa
+ ble _08035046
+ movs r3, #2
+ mov sb, r3
+ cmp r0, #0x11
+ bgt _08035046
+ movs r4, #1
+ mov sb, r4
+_08035046:
+ ldr r2, _08035064 @ =0x040000D4
+ mov r5, sb
+ lsls r0, r5, #0x10
+ asrs r0, r0, #7
+ ldr r1, _0803508C @ =0x084FF30C
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _08035090 @ =0x060118A0
+ str r0, [r2, #4]
+ ldr r0, _08035094 @ =0x80000100
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ b _0803509E
+ .align 2, 0
+_08035060: .4byte gMain
+_08035064: .4byte 0x040000D4
+_08035068: .4byte 0x08494E4C
+_0803506C: .4byte 0x06011AA0
+_08035070: .4byte 0x80000600
+_08035074: .4byte gOamBuffer
+_08035078: .4byte 0xFFFFFE00
+_0803507C: .4byte 0x000001FF
+_08035080: .4byte 0x000003E2
+_08035084: .4byte 0x000003EA
+_08035088: .4byte 0x000005A6
+_0803508C: .4byte 0x084FF30C
+_08035090: .4byte 0x060118A0
+_08035094: .4byte 0x80000100
+_08035098:
+ movs r0, #0xb4
+ ldr r6, [sp]
+ strh r0, [r6, #4]
+_0803509E:
+ ldr r6, [sp]
+ adds r6, #8
+ ldr r4, _080350E4 @ =gOamBuffer
+ ldr r7, [sp]
+ ldrh r2, [r7, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ movs r0, #2
+ ldrsh r1, [r6, r0]
+ movs r3, #2
+ ldrsh r0, [r7, r3]
+ adds r1, r1, r0
+ ldr r5, _080350E8 @ =0x000001FF
+ adds r0, r5, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ ldr r0, _080350EC @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r7, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r7, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+_080350D4:
+ add sp, #4
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080350E4: .4byte gOamBuffer
+_080350E8: .4byte 0x000001FF
+_080350EC: .4byte 0xFFFFFE00
+
+ thumb_func_start sub_350F0
+sub_350F0: @ 0x080350F0
+ push {r4, r5, lr}
+ ldr r5, _08035118 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ movs r1, #0x88
+ lsls r1, r1, #5
+ adds r0, r0, r1
+ movs r2, #0
+ movs r1, #1
+ strb r1, [r0]
+ ldr r3, [r5]
+ movs r4, #0x17
+ ldrsb r4, [r3, r4]
+ cmp r4, #1
+ beq _08035138
+ cmp r4, #1
+ bgt _0803511C
+ cmp r4, #0
+ beq _08035122
+ b _080351A0
+ .align 2, 0
+_08035118: .4byte gUnknown_020314E0
+_0803511C:
+ cmp r4, #2
+ beq _08035164
+ b _080351A0
+_08035122:
+ movs r0, #0x41
+ strh r0, [r3, #0x18]
+ strb r1, [r3, #0x17]
+ ldr r1, _08035134 @ =gMain
+ ldrh r0, [r1, #0x38]
+ movs r0, #0x9f
+ strh r0, [r1, #0x38]
+ b _080351A0
+ .align 2, 0
+_08035134: .4byte gMain
+_08035138:
+ ldrh r0, [r3, #0x18]
+ cmp r0, #0
+ beq _080351A0
+ subs r0, #1
+ strh r0, [r3, #0x18]
+ ldr r2, _08035160 @ =gMain
+ ldrh r0, [r3, #0x18]
+ lsrs r0, r0, #2
+ movs r1, #0x10
+ subs r1, r1, r0
+ ldrh r0, [r2, #0x3c]
+ strh r1, [r2, #0x3c]
+ ldrh r0, [r3, #0x18]
+ cmp r0, #0
+ bne _080351A0
+ ldrb r0, [r3, #0x17]
+ adds r0, #1
+ strb r0, [r3, #0x17]
+ b _080351A0
+ .align 2, 0
+_08035160: .4byte gMain
+_08035164:
+ ldrh r0, [r3, #0x18]
+ cmp r0, #0x1d
+ bhi _08035170
+ adds r0, #1
+ strh r0, [r3, #0x18]
+ b _080351A0
+_08035170:
+ movs r0, #0
+ strh r2, [r3, #0x18]
+ strb r0, [r3, #0x17]
+ ldr r1, _08035194 @ =gMain
+ movs r3, #0xe9
+ lsls r3, r3, #3
+ adds r0, r1, r3
+ strh r2, [r0]
+ subs r3, #0xb8
+ adds r0, r1, r3
+ strh r2, [r0]
+ ldrb r0, [r1, #5]
+ ldrb r1, [r1, #4]
+ cmp r0, r1
+ beq _08035198
+ bl sub_357B8
+ b _080351A0
+ .align 2, 0
+_08035194: .4byte gMain
+_08035198:
+ bl sub_438
+ ldr r0, [r5]
+ strb r4, [r0, #0x1d]
+_080351A0:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+
+ thumb_func_start sub_351A8
+sub_351A8: @ 0x080351A8
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #0x10
+ movs r4, #8
+ movs r0, #0
+ mov r8, r0
+ ldr r7, _080351F8 @ =0x0200B808
+ ldr r0, _080351FC @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r3, #0xe5
+ lsls r3, r3, #2
+ adds r2, r1, r3
+ ldrh r3, [r2]
+ movs r5, #0
+ ldrsh r1, [r2, r5]
+ mov sb, r0
+ cmp r1, #0
+ ble _080351E0
+ subs r0, r3, #6
+ strh r0, [r2]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ bge _080351E0
+ mov r6, r8
+ strh r6, [r2]
+_080351E0:
+ ldr r1, _08035200 @ =gMain
+ ldrb r0, [r1, #4]
+ subs r0, #2
+ cmp r0, #4
+ bls _080351EC
+ b _08035314
+_080351EC:
+ lsls r0, r0, #2
+ ldr r1, _08035204 @ =_08035208
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080351F8: .4byte 0x0200B808
+_080351FC: .4byte gUnknown_020314E0
+_08035200: .4byte gMain
+_08035204: .4byte _08035208
+_08035208: @ jump table
+ .4byte _0803521C @ case 0
+ .4byte _08035250 @ case 1
+ .4byte _08035280 @ case 2
+ .4byte _080352B4 @ case 3
+ .4byte _080352E8 @ case 4
+_0803521C:
+ mov r0, sb
+ ldr r1, [r0]
+ movs r0, #0x13
+ ldrsb r0, [r1, r0]
+ cmp r0, #5
+ bne _08035244
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xb3
+ bhi _08035244
+ movs r1, #0x18
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #0xc
+ bl __udivsi3
+ adds r0, #8
+ lsls r0, r0, #0x10
+ lsrs r4, r0, #0x10
+_08035244:
+ ldr r1, _0803524C @ =0x01C9C380
+ mov r8, r1
+ b _08035314
+ .align 2, 0
+_0803524C: .4byte 0x01C9C380
+_08035250:
+ mov r2, sb
+ ldr r1, [r2]
+ movs r0, #0x13
+ ldrsb r0, [r1, r0]
+ cmp r0, #3
+ bne _08035278
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xb3
+ bhi _08035278
+ movs r1, #0x18
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #0xc
+ bl __udivsi3
+ adds r0, #8
+ lsls r0, r0, #0x10
+ lsrs r4, r0, #0x10
+_08035278:
+ ldr r3, _0803527C @ =0x01C9C380
+ b _08035312
+ .align 2, 0
+_0803527C: .4byte 0x01C9C380
+_08035280:
+ mov r5, sb
+ ldr r1, [r5]
+ movs r0, #0x13
+ ldrsb r0, [r1, r0]
+ cmp r0, #3
+ bne _080352A8
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xb3
+ bhi _080352A8
+ movs r1, #0x18
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #0xc
+ bl __udivsi3
+ adds r0, #8
+ lsls r0, r0, #0x10
+ lsrs r4, r0, #0x10
+_080352A8:
+ ldr r6, _080352B0 @ =0x02FAF080
+ mov r8, r6
+ b _08035314
+ .align 2, 0
+_080352B0: .4byte 0x02FAF080
+_080352B4:
+ mov r0, sb
+ ldr r1, [r0]
+ movs r0, #0x13
+ ldrsb r0, [r1, r0]
+ cmp r0, #3
+ bne _080352DC
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xb3
+ bhi _080352DC
+ movs r1, #0x18
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #0xc
+ bl __udivsi3
+ adds r0, #8
+ lsls r0, r0, #0x10
+ lsrs r4, r0, #0x10
+_080352DC:
+ ldr r1, _080352E4 @ =0x02FAF080
+ mov r8, r1
+ b _08035314
+ .align 2, 0
+_080352E4: .4byte 0x02FAF080
+_080352E8:
+ mov r2, sb
+ ldr r1, [r2]
+ movs r0, #0x13
+ ldrsb r0, [r1, r0]
+ cmp r0, #3
+ bne _08035310
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xb3
+ bhi _08035310
+ movs r1, #0x18
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #0xc
+ bl __udivsi3
+ adds r0, #8
+ lsls r0, r0, #0x10
+ lsrs r4, r0, #0x10
+_08035310:
+ ldr r3, _080354A0 @ =0x05F5E0FF
+_08035312:
+ mov r8, r3
+_08035314:
+ ldr r2, _080354A4 @ =0x040000D4
+ ldr r0, _080354A8 @ =gUnknown_02031520
+ lsls r1, r4, #0x10
+ asrs r1, r1, #0xb
+ ldr r0, [r0, #0x2c]
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _080354AC @ =0x05000300
+ str r0, [r2, #4]
+ ldr r0, _080354B0 @ =0x80000010
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ ldrh r0, [r7]
+ cmp r0, #0
+ beq _080353F8
+ movs r0, #0x78
+ strh r0, [r7, #2]
+ mov r5, sb
+ ldr r0, [r5]
+ movs r6, #0xe5
+ lsls r6, r6, #2
+ adds r0, r0, r6
+ ldrh r0, [r0]
+ adds r0, #0x32
+ strh r0, [r7, #4]
+ movs r0, #0
+ ldr r1, _080354B4 @ =0x0200B750
+ mov sl, r1
+ ldr r6, _080354B8 @ =gOamBuffer
+ ldr r2, _080354BC @ =0xFFFFFE00
+ mov ip, r2
+_08035352:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r7, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r6
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r7, r2]
+ adds r1, r1, r0
+ ldr r2, _080354C0 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ ldrb r0, [r7, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #2
+ ble _08035352
+ mov r7, sl
+ movs r0, #0x78
+ strh r0, [r7, #2]
+ mov r3, sb
+ ldr r0, [r3]
+ movs r5, #0xe5
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ ldrh r0, [r0]
+ adds r0, #0x32
+ strh r0, [r7, #4]
+ movs r0, #0
+ ldr r6, _080354B8 @ =gOamBuffer
+ ldr r1, _080354BC @ =0xFFFFFE00
+ mov ip, r1
+_080353B4:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r7, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r6
+ movs r2, #2
+ ldrsh r1, [r5, r2]
+ movs r2, #2
+ ldrsh r0, [r7, r2]
+ adds r1, r1, r0
+ ldr r2, _080354C0 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ ldrb r0, [r7, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0x11
+ ble _080353B4
+_080353F8:
+ mov r5, sp
+ ldr r4, _080354C4 @ =0x00989680
+ mov r0, r8
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5]
+ mov r5, sp
+ mov r0, r8
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _080354C8 @ =0x000F4240
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #2]
+ mov r5, sp
+ mov r0, r8
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _080354CC @ =0x000186A0
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #4]
+ mov r5, sp
+ mov r0, r8
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _080354D0 @ =0x00002710
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #6]
+ mov r5, sp
+ mov r0, r8
+ adds r1, r4, #0
+ bl __modsi3
+ movs r4, #0xfa
+ lsls r4, r4, #2
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #8]
+ mov r5, sp
+ mov r0, r8
+ adds r1, r4, #0
+ bl __modsi3
+ movs r1, #0x64
+ bl __divsi3
+ strh r0, [r5, #0xa]
+ mov r4, sp
+ mov r0, r8
+ movs r1, #0x64
+ bl __modsi3
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r4, #0xc]
+ mov r4, sp
+ mov r0, r8
+ movs r1, #0xa
+ bl __modsi3
+ strh r0, [r4, #0xe]
+ ldr r3, _080354D4 @ =gMain
+ ldrb r0, [r3, #4]
+ subs r0, #2
+ cmp r0, #4
+ bls _08035494
+ b _08035678
+_08035494:
+ lsls r0, r0, #2
+ ldr r1, _080354D8 @ =_080354DC
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080354A0: .4byte 0x05F5E0FF
+_080354A4: .4byte 0x040000D4
+_080354A8: .4byte gUnknown_02031520
+_080354AC: .4byte 0x05000300
+_080354B0: .4byte 0x80000010
+_080354B4: .4byte 0x0200B750
+_080354B8: .4byte gOamBuffer
+_080354BC: .4byte 0xFFFFFE00
+_080354C0: .4byte 0x000001FF
+_080354C4: .4byte 0x00989680
+_080354C8: .4byte 0x000F4240
+_080354CC: .4byte 0x000186A0
+_080354D0: .4byte 0x00002710
+_080354D4: .4byte gMain
+_080354D8: .4byte _080354DC
+_080354DC: @ jump table
+ .4byte _080354F0 @ case 0
+ .4byte _0803553C @ case 1
+ .4byte _08035588 @ case 2
+ .4byte _080355D4 @ case 3
+ .4byte _08035620 @ case 4
+_080354F0:
+ movs r0, #0
+ ldr r5, _0803552C @ =0x08138834
+ ldr r3, _08035530 @ =0x040000D4
+ adds r4, r5, #0
+_080354F8:
+ lsls r1, r0, #0x10
+ asrs r1, r1, #0x10
+ lsls r2, r1, #1
+ mov r6, sp
+ adds r0, r6, r2
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ adds r0, #0x70
+ lsls r0, r0, #6
+ adds r0, r0, r4
+ str r0, [r3]
+ lsls r2, r2, #5
+ ldr r0, _08035534 @ =0x06017180
+ adds r2, r2, r0
+ str r2, [r3, #4]
+ ldr r2, _08035538 @ =0x80000020
+ str r2, [r3, #8]
+ ldr r0, [r3, #8]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r0, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #7
+ ble _080354F8
+ b _08035658
+ .align 2, 0
+_0803552C: .4byte 0x08138834
+_08035530: .4byte 0x040000D4
+_08035534: .4byte 0x06017180
+_08035538: .4byte 0x80000020
+_0803553C:
+ movs r0, #0
+ ldr r5, _08035578 @ =0x0813A854
+ ldr r3, _0803557C @ =0x040000D4
+ adds r4, r5, #0
+_08035544:
+ lsls r1, r0, #0x10
+ asrs r1, r1, #0x10
+ lsls r2, r1, #1
+ mov r6, sp
+ adds r0, r6, r2
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ adds r0, #0x70
+ lsls r0, r0, #6
+ adds r0, r0, r4
+ str r0, [r3]
+ lsls r2, r2, #5
+ ldr r0, _08035580 @ =0x06017180
+ adds r2, r2, r0
+ str r2, [r3, #4]
+ ldr r2, _08035584 @ =0x80000020
+ str r2, [r3, #8]
+ ldr r0, [r3, #8]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r0, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #7
+ ble _08035544
+ b _08035658
+ .align 2, 0
+_08035578: .4byte 0x0813A854
+_0803557C: .4byte 0x040000D4
+_08035580: .4byte 0x06017180
+_08035584: .4byte 0x80000020
+_08035588:
+ movs r0, #0
+ ldr r5, _080355C4 @ =0x0813C874
+ ldr r3, _080355C8 @ =0x040000D4
+ adds r4, r5, #0
+_08035590:
+ lsls r1, r0, #0x10
+ asrs r1, r1, #0x10
+ lsls r2, r1, #1
+ mov r6, sp
+ adds r0, r6, r2
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ adds r0, #0x70
+ lsls r0, r0, #6
+ adds r0, r0, r4
+ str r0, [r3]
+ lsls r2, r2, #5
+ ldr r0, _080355CC @ =0x06017180
+ adds r2, r2, r0
+ str r2, [r3, #4]
+ ldr r2, _080355D0 @ =0x80000020
+ str r2, [r3, #8]
+ ldr r0, [r3, #8]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r0, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #7
+ ble _08035590
+ b _08035658
+ .align 2, 0
+_080355C4: .4byte 0x0813C874
+_080355C8: .4byte 0x040000D4
+_080355CC: .4byte 0x06017180
+_080355D0: .4byte 0x80000020
+_080355D4:
+ movs r0, #0
+ ldr r5, _08035610 @ =0x0813E894
+ ldr r3, _08035614 @ =0x040000D4
+ adds r4, r5, #0
+_080355DC:
+ lsls r1, r0, #0x10
+ asrs r1, r1, #0x10
+ lsls r2, r1, #1
+ mov r6, sp
+ adds r0, r6, r2
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ adds r0, #0x70
+ lsls r0, r0, #6
+ adds r0, r0, r4
+ str r0, [r3]
+ lsls r2, r2, #5
+ ldr r0, _08035618 @ =0x06017180
+ adds r2, r2, r0
+ str r2, [r3, #4]
+ ldr r2, _0803561C @ =0x80000020
+ str r2, [r3, #8]
+ ldr r0, [r3, #8]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r0, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #7
+ ble _080355DC
+ b _08035658
+ .align 2, 0
+_08035610: .4byte 0x0813E894
+_08035614: .4byte 0x040000D4
+_08035618: .4byte 0x06017180
+_0803561C: .4byte 0x80000020
+_08035620:
+ movs r0, #0
+ ldr r5, _08035688 @ =0x081408B4
+ ldr r3, _0803568C @ =0x040000D4
+ adds r4, r5, #0
+_08035628:
+ lsls r1, r0, #0x10
+ asrs r1, r1, #0x10
+ lsls r2, r1, #1
+ mov r6, sp
+ adds r0, r6, r2
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ adds r0, #0x70
+ lsls r0, r0, #6
+ adds r0, r0, r4
+ str r0, [r3]
+ lsls r2, r2, #5
+ ldr r0, _08035690 @ =0x06017180
+ adds r2, r2, r0
+ str r2, [r3, #4]
+ ldr r2, _08035694 @ =0x80000020
+ str r2, [r3, #8]
+ ldr r0, [r3, #8]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r0, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #7
+ ble _08035628
+_08035658:
+ mov r1, sb
+ ldr r0, [r1]
+ ldr r3, _08035698 @ =0x000005F6
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ ldr r1, _0803568C @ =0x040000D4
+ adds r0, #0x71
+ lsls r0, r0, #6
+ adds r0, r0, r5
+ str r0, [r1]
+ ldr r0, _0803569C @ =0x06017380
+ str r0, [r1, #4]
+ str r2, [r1, #8]
+ ldr r0, [r1, #8]
+_08035678:
+ add sp, #0x10
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08035688: .4byte 0x081408B4
+_0803568C: .4byte 0x040000D4
+_08035690: .4byte 0x06017180
+_08035694: .4byte 0x80000020
+_08035698: .4byte 0x000005F6
+_0803569C: .4byte 0x06017380
+
+ thumb_func_start sub_356A0
+sub_356A0: @ 0x080356A0
+ push {r4, r5, r6, r7, lr}
+ ldr r6, _080356C4 @ =0x0200BDC8
+ ldr r1, _080356C8 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ movs r2, #0xf7
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r2, r1, #0
+ cmp r0, #8
+ bhi _08035740
+ lsls r0, r0, #2
+ ldr r1, _080356CC @ =_080356D0
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080356C4: .4byte 0x0200BDC8
+_080356C8: .4byte gUnknown_020314E0
+_080356CC: .4byte _080356D0
+_080356D0: @ jump table
+ .4byte _08035702 @ case 0
+ .4byte _08035702 @ case 1
+ .4byte _080356F4 @ case 2
+ .4byte _08035740 @ case 3
+ .4byte _08035740 @ case 4
+ .4byte _08035740 @ case 5
+ .4byte _08035740 @ case 6
+ .4byte _08035740 @ case 7
+ .4byte _08035702 @ case 8
+_080356F4:
+ ldr r0, [r2]
+ ldr r1, _080357A4 @ =0x000003E6
+ adds r0, r0, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ cmp r0, #0
+ ble _08035740
+_08035702:
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _08035740
+ movs r0, #0xf0
+ strh r0, [r6, #2]
+ movs r0, #0xa0
+ strh r0, [r6, #4]
+ adds r5, r6, #0
+ adds r5, #8
+ ldr r4, _080357A8 @ =gOamBuffer
+ ldrh r2, [r6, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ movs r3, #2
+ ldrsh r1, [r5, r3]
+ adds r1, #0xf0
+ ldr r3, _080357AC @ =0x000001FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ ldr r0, _080357B0 @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+_08035740:
+ ldr r6, _080357B4 @ =0x0200BC58
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _0803579C
+ movs r0, #0xf0
+ strh r0, [r6, #2]
+ movs r0, #0xa0
+ strh r0, [r6, #4]
+ movs r0, #0
+ ldr r7, _080357A8 @ =gOamBuffer
+ ldr r1, _080357B0 @ =0xFFFFFE00
+ mov ip, r1
+_08035758:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r2, #2
+ ldrsh r1, [r5, r2]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _080357AC @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #1
+ ble _08035758
+_0803579C:
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080357A4: .4byte 0x000003E6
+_080357A8: .4byte gOamBuffer
+_080357AC: .4byte 0x000001FF
+_080357B0: .4byte 0xFFFFFE00
+_080357B4: .4byte 0x0200BC58
+
+ thumb_func_start sub_357B8
+sub_357B8: @ 0x080357B8
+ push {r4, r5, lr}
+ bl m4aMPlayAllStop
+ bl sub_D10
+ ldr r2, _08035844 @ =gMain
+ ldrb r1, [r2, #5]
+ ldrb r0, [r2, #4]
+ movs r3, #0
+ strb r0, [r2, #5]
+ strb r1, [r2, #4]
+ strb r3, [r2, #6]
+ strb r3, [r2, #0xf]
+ ldr r4, _08035848 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r5, _0803584C @ =0x00000296
+ adds r1, r0, r5
+ movs r5, #0
+ strh r3, [r1]
+ movs r1, #0xa5
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ strb r5, [r0]
+ ldr r0, [r4]
+ subs r1, #0x11
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ cmp r0, #4
+ bls _080357F6
+ movs r0, #1
+ strb r0, [r2, #8]
+_080357F6:
+ strb r5, [r2, #3]
+ ldr r1, [r4]
+ movs r0, #3
+ strb r0, [r1, #0x15]
+ ldr r1, [r4]
+ movs r0, #1
+ strb r0, [r1, #0x13]
+ ldr r0, [r4]
+ strb r5, [r0, #0x16]
+ ldr r0, [r4]
+ ldr r2, _08035850 @ =0x000005FA
+ adds r0, r0, r2
+ strb r5, [r0]
+ ldr r0, [r4]
+ adds r0, #0xe6
+ strh r3, [r0]
+ movs r0, #0
+ movs r1, #0
+ bl sub_1C7F4
+ ldr r0, [r4]
+ ldr r1, _08035854 @ =0x000006C4
+ adds r0, r0, r1
+ strb r5, [r0]
+ ldr r1, [r4]
+ ldr r2, _08035858 @ =0x00000714
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _0803583E
+ ldr r5, _0803585C @ =0x000006EE
+ adds r1, r1, r5
+ movs r0, #0x78
+ strh r0, [r1]
+_0803583E:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08035844: .4byte gMain
+_08035848: .4byte gUnknown_020314E0
+_0803584C: .4byte 0x00000296
+_08035850: .4byte 0x000005FA
+_08035854: .4byte 0x000006C4
+_08035858: .4byte 0x00000714
+_0803585C: .4byte 0x000006EE
+
+ thumb_func_start sub_35860
+sub_35860: @ 0x08035860
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ ldr r3, _08035A5C @ =gUnknown_020314E0
+ ldr r0, [r3]
+ movs r4, #0
+ movs r6, #0
+ strh r6, [r0, #0x18]
+ strb r4, [r0, #0x17]
+ ldr r0, [r3]
+ strb r4, [r0, #0x13]
+ ldr r0, [r3]
+ movs r1, #0xa5
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r2, #1
+ mov r8, r2
+ mov r7, r8
+ strb r7, [r0]
+ ldr r2, [r3]
+ adds r5, r2, #0
+ adds r5, #0x6c
+ movs r1, #0xe1
+ lsls r1, r1, #5
+ adds r0, r1, #0
+ ldrh r7, [r5]
+ adds r0, r0, r7
+ ldr r7, _08035A60 @ =0x00000296
+ adds r1, r2, r7
+ strh r0, [r1]
+ strh r6, [r5]
+ ldr r0, _08035A64 @ =0x00000383
+ adds r2, r2, r0
+ strb r4, [r2]
+ ldr r0, [r3]
+ movs r1, #0xe2
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r5, #3
+ strb r5, [r0]
+ ldr r0, [r3]
+ ldr r2, _08035A68 @ =0x00000392
+ adds r1, r0, r2
+ strh r6, [r1]
+ ldr r7, _08035A6C @ =0x0000132C
+ adds r0, r0, r7
+ ldr r0, [r0]
+ mov r1, r8
+ strb r1, [r0]
+ ldr r0, [r3]
+ subs r2, #0xc
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r3]
+ ldr r7, _08035A70 @ =0x000003F7
+ adds r0, r0, r7
+ strb r1, [r0]
+ ldr r0, [r3]
+ movs r1, #0xf7
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ strb r4, [r0]
+ ldr r1, [r3]
+ subs r7, #0xf
+ adds r2, r1, r7
+ ldr r0, _08035A74 @ =0x000002EE
+ strh r0, [r2]
+ adds r0, #0xfc
+ adds r2, r1, r0
+ movs r0, #0xb4
+ lsls r0, r0, #1
+ strh r0, [r2]
+ ldr r2, _08035A78 @ =0x000003DF
+ adds r1, r1, r2
+ strb r5, [r1]
+ ldr r0, [r3]
+ subs r7, #0x63
+ adds r0, r0, r7
+ strb r4, [r0]
+ ldr r0, [r3]
+ ldr r1, _08035A7C @ =0x00000387
+ adds r0, r0, r1
+ strb r4, [r0]
+ ldr r0, [r3]
+ subs r2, #0x4b
+ adds r1, r0, r2
+ strh r6, [r1]
+ adds r7, #0x59
+ adds r0, r0, r7
+ strb r4, [r0]
+ ldr r0, [r3]
+ movs r1, #0xf8
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ strb r4, [r0]
+ ldr r0, [r3]
+ adds r2, #0x4e
+ adds r1, r0, r2
+ strh r6, [r1]
+ adds r7, #6
+ adds r1, r0, r7
+ strh r6, [r1]
+ movs r1, #0xfd
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ strb r4, [r0]
+ ldr r0, [r3]
+ adds r2, #0x13
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r3]
+ adds r7, #0x12
+ adds r0, r0, r7
+ strb r4, [r0]
+ ldr r0, [r3]
+ adds r1, #4
+ adds r0, r0, r1
+ strb r4, [r0]
+ ldr r0, [r3]
+ adds r2, #5
+ adds r1, r0, r2
+ strh r6, [r1]
+ adds r7, #6
+ adds r1, r0, r7
+ strh r6, [r1]
+ ldr r1, _08035A80 @ =0x00000404
+ adds r0, r0, r1
+ strb r4, [r0]
+ ldr r0, [r3]
+ adds r2, #0xb
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r3]
+ adds r7, #0xa
+ adds r0, r0, r7
+ strb r4, [r0]
+ ldr r0, [r3]
+ adds r2, #3
+ adds r1, r0, r2
+ strh r6, [r1]
+ adds r7, #4
+ adds r1, r0, r7
+ strh r6, [r1]
+ adds r2, #4
+ adds r1, r0, r2
+ strh r6, [r1]
+ adds r7, #4
+ adds r1, r0, r7
+ strh r6, [r1]
+ adds r2, #4
+ adds r1, r0, r2
+ strh r6, [r1]
+ adds r7, #4
+ adds r0, r0, r7
+ strh r6, [r0]
+ movs r2, #0
+ adds r6, r3, #0
+ adds r5, r6, #0
+ ldr r4, _08035A84 @ =0x0000041C
+ movs r3, #0
+_080359A0:
+ ldr r1, [r5]
+ lsls r0, r2, #0x10
+ asrs r0, r0, #0x10
+ adds r1, r1, r4
+ adds r1, r1, r0
+ strb r3, [r1]
+ adds r0, #1
+ lsls r0, r0, #0x10
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _080359A0
+ movs r2, #0
+ ldr r5, _08035A5C @ =gUnknown_020314E0
+ movs r4, #0x84
+ lsls r4, r4, #3
+ movs r3, #0
+_080359C2:
+ ldr r1, [r5]
+ lsls r0, r2, #0x10
+ asrs r0, r0, #0x10
+ adds r1, r1, r4
+ adds r1, r1, r0
+ strb r3, [r1]
+ adds r0, #1
+ lsls r0, r0, #0x10
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #9
+ ble _080359C2
+ movs r2, #0
+ ldr r5, _08035A5C @ =gUnknown_020314E0
+ ldr r4, _08035A88 @ =0x0000042A
+ movs r3, #0
+_080359E2:
+ ldr r1, [r5]
+ lsls r0, r2, #0x10
+ asrs r0, r0, #0x10
+ adds r1, r1, r4
+ adds r1, r1, r0
+ strb r3, [r1]
+ adds r0, #1
+ lsls r0, r0, #0x10
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #6
+ ble _080359E2
+ ldr r1, [r6]
+ movs r0, #0
+ strb r0, [r1, #0x1a]
+ ldr r4, [r6]
+ ldr r1, _08035A8C @ =0x000003EA
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x3a
+ ldr r7, _08035A90 @ =0x00000402
+ adds r4, r4, r7
+ strh r0, [r4]
+ bl sub_38218
+ ldr r0, [r6]
+ ldr r1, _08035A7C @ =0x00000387
+ adds r0, r0, r1
+ movs r1, #1
+ strb r1, [r0]
+ bl sub_35D54
+ bl sub_36CB4
+ movs r0, #0x24
+ bl m4aSongNumStart
+ bl sub_372B4
+ bl sub_3751C
+ bl sub_37850
+ ldr r1, _08035A94 @ =0x040000D4
+ ldr r0, _08035A98 @ =0x081B36A4
+ str r0, [r1]
+ ldr r0, _08035A9C @ =0x05000320
+ str r0, [r1, #4]
+ ldr r0, _08035AA0 @ =0x80000010
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08035A5C: .4byte gUnknown_020314E0
+_08035A60: .4byte 0x00000296
+_08035A64: .4byte 0x00000383
+_08035A68: .4byte 0x00000392
+_08035A6C: .4byte 0x0000132C
+_08035A70: .4byte 0x000003F7
+_08035A74: .4byte 0x000002EE
+_08035A78: .4byte 0x000003DF
+_08035A7C: .4byte 0x00000387
+_08035A80: .4byte 0x00000404
+_08035A84: .4byte 0x0000041C
+_08035A88: .4byte 0x0000042A
+_08035A8C: .4byte 0x000003EA
+_08035A90: .4byte 0x00000402
+_08035A94: .4byte 0x040000D4
+_08035A98: .4byte 0x081B36A4
+_08035A9C: .4byte 0x05000320
+_08035AA0: .4byte 0x80000010
+
+ thumb_func_start sub_35AA4
+sub_35AA4: @ 0x08035AA4
+ push {r4, r5, r6, lr}
+ bl sub_38218
+ ldr r0, _08035AC4 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldrb r0, [r0, #0x13]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #4
+ bls _08035ABA
+ b _08035CB4
+_08035ABA:
+ lsls r0, r0, #2
+ ldr r1, _08035AC8 @ =_08035ACC
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08035AC4: .4byte gUnknown_020314E0
+_08035AC8: .4byte _08035ACC
+_08035ACC: @ jump table
+ .4byte _08035AE0 @ case 0
+ .4byte _08035B5C @ case 1
+ .4byte _08035BCC @ case 2
+ .4byte _08035C34 @ case 3
+ .4byte _08035CA4 @ case 4
+_08035AE0:
+ ldr r1, _08035B10 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08035B14 @ =0x000005F7
+ adds r0, r0, r2
+ movs r3, #0
+ movs r2, #1
+ strb r2, [r0]
+ ldr r4, [r1]
+ ldrh r0, [r4, #0x18]
+ cmp r0, #0x77
+ bhi _08035B1C
+ movs r1, #5
+ bl __udivsi3
+ ldr r1, _08035B18 @ =0x0000FFE8
+ adds r0, r0, r1
+ adds r1, r4, #0
+ adds r1, #0xe6
+ strh r0, [r1]
+ ldrh r0, [r4, #0x18]
+ adds r0, #1
+ strh r0, [r4, #0x18]
+ b _08035B28
+ .align 2, 0
+_08035B10: .4byte gUnknown_020314E0
+_08035B14: .4byte 0x000005F7
+_08035B18: .4byte 0x0000FFE8
+_08035B1C:
+ adds r0, r4, #0
+ adds r0, #0xe6
+ strh r3, [r0]
+ strb r2, [r4, #0x13]
+ ldr r0, [r1]
+ strh r3, [r0, #0x18]
+_08035B28:
+ ldr r0, _08035B4C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r2, _08035B50 @ =0x00000386
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08035B3C
+ b _08035CB4
+_08035B3C:
+ ldr r1, _08035B54 @ =gMain
+ ldrh r0, [r1, #0x38]
+ ldr r0, _08035B58 @ =0x00001C10
+ strh r0, [r1, #0x38]
+ ldrh r0, [r1, #0x3a]
+ movs r0, #0x10
+ strh r0, [r1, #0x3a]
+ b _08035CB4
+ .align 2, 0
+_08035B4C: .4byte gUnknown_020314E0
+_08035B50: .4byte 0x00000386
+_08035B54: .4byte gMain
+_08035B58: .4byte 0x00001C10
+_08035B5C:
+ ldr r0, _08035B9C @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r4, _08035BA0 @ =0x00000386
+ adds r0, r2, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08035B70
+ b _08035CB4
+_08035B70:
+ ldr r1, _08035BA4 @ =0x0000040E
+ adds r0, r2, r1
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _08035BB0
+ adds r4, #0x74
+ adds r2, r2, r4
+ ldrh r1, [r2]
+ movs r0, #0x10
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ ldrh r3, [r2]
+ ldr r2, _08035BA8 @ =gMain
+ ldrh r1, [r2, #0x38]
+ ldr r1, _08035BAC @ =0x00001C10
+ strh r1, [r2, #0x38]
+ lsls r3, r3, #8
+ orrs r0, r3
+ ldrh r1, [r2, #0x3a]
+ strh r0, [r2, #0x3a]
+ b _08035CB4
+ .align 2, 0
+_08035B9C: .4byte gUnknown_020314E0
+_08035BA0: .4byte 0x00000386
+_08035BA4: .4byte 0x0000040E
+_08035BA8: .4byte gMain
+_08035BAC: .4byte 0x00001C10
+_08035BB0:
+ ldr r1, _08035BC0 @ =gMain
+ ldrh r0, [r1, #0x38]
+ ldr r0, _08035BC4 @ =0x00001C42
+ strh r0, [r1, #0x38]
+ ldrh r0, [r1, #0x3a]
+ ldr r0, _08035BC8 @ =0x00000907
+ strh r0, [r1, #0x3a]
+ b _08035CB4
+ .align 2, 0
+_08035BC0: .4byte gMain
+_08035BC4: .4byte 0x00001C42
+_08035BC8: .4byte 0x00000907
+_08035BCC:
+ ldr r2, _08035BDC @ =gUnknown_020314E0
+ ldr r3, [r2]
+ ldrh r0, [r3, #0x18]
+ cmp r0, #9
+ bhi _08035BE0
+ adds r0, #1
+ strh r0, [r3, #0x18]
+ b _08035CB4
+ .align 2, 0
+_08035BDC: .4byte gUnknown_020314E0
+_08035BE0:
+ movs r1, #0
+ movs r0, #3
+ strb r0, [r3, #0x13]
+ ldr r2, [r2]
+ strh r1, [r2, #0x18]
+ ldr r3, _08035C20 @ =gMain
+ movs r1, #0xe9
+ lsls r1, r1, #3
+ adds r0, r3, r1
+ movs r1, #1
+ strh r1, [r0]
+ movs r4, #0xd2
+ lsls r4, r4, #3
+ adds r0, r3, r4
+ strh r1, [r0]
+ ldr r1, _08035C24 @ =0x040000D4
+ ldr r0, _08035C28 @ =0x0813A854
+ str r0, [r1]
+ ldr r0, _08035C2C @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _08035C30 @ =0x80001000
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ movs r0, #0xe5
+ lsls r0, r0, #2
+ adds r2, r2, r0
+ movs r0, #0x88
+ strh r0, [r2]
+ movs r0, #0x80
+ strb r0, [r3, #0xf]
+ b _08035CB4
+ .align 2, 0
+_08035C20: .4byte gMain
+_08035C24: .4byte 0x040000D4
+_08035C28: .4byte 0x0813A854
+_08035C2C: .4byte 0x06015800
+_08035C30: .4byte 0x80001000
+_08035C34:
+ bl sub_351A8
+ ldr r4, _08035C7C @ =gUnknown_020314E0
+ ldr r1, [r4]
+ ldrb r0, [r1, #0x1c]
+ cmp r0, #0
+ beq _08035C46
+ movs r0, #0xb5
+ strh r0, [r1, #0x18]
+_08035C46:
+ ldr r1, [r4]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xb4
+ bne _08035C5C
+ movs r0, #1
+ strb r0, [r1, #0x1c]
+ ldr r1, [r4]
+ ldr r0, _08035C80 @ =0x00061A80
+ str r0, [r1, #0x38]
+ ldr r0, _08035C84 @ =0x01C9C380
+ str r0, [r1, #0x3c]
+_08035C5C:
+ ldr r1, [r4]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xef
+ bhi _08035C88
+ cmp r0, #0x14
+ bne _08035C72
+ bl m4aMPlayAllStop
+ movs r0, #0x2b
+ bl m4aSongNumStart
+_08035C72:
+ ldr r1, [r4]
+ ldrh r0, [r1, #0x18]
+ adds r0, #1
+ strh r0, [r1, #0x18]
+ b _08035CB4
+ .align 2, 0
+_08035C7C: .4byte gUnknown_020314E0
+_08035C80: .4byte 0x00061A80
+_08035C84: .4byte 0x01C9C380
+_08035C88:
+ movs r0, #0
+ strh r0, [r1, #0x18]
+ movs r0, #4
+ strb r0, [r1, #0x13]
+ ldr r1, [r4]
+ ldr r2, _08035CA0 @ =0x00000283
+ adds r1, r1, r2
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ b _08035CB4
+ .align 2, 0
+_08035CA0: .4byte 0x00000283
+_08035CA4:
+ bl sub_351A8
+ ldr r0, _08035D3C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r4, _08035D40 @ =0x00000386
+ adds r0, r0, r4
+ movs r1, #1
+ strb r1, [r0]
+_08035CB4:
+ bl sub_35D54
+ bl sub_36CB4
+ bl sub_372B4
+ bl sub_3751C
+ ldr r6, _08035D3C @ =gUnknown_020314E0
+ ldr r1, [r6]
+ movs r2, #0xa5
+ lsls r2, r2, #2
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08035D16
+ ldr r4, _08035D44 @ =0x00000296
+ adds r0, r1, r4
+ ldrh r0, [r0]
+ cmp r0, #1
+ bhi _08035D16
+ ldr r5, _08035D48 @ =gMain
+ ldrb r4, [r5, #0xf]
+ cmp r4, #0
+ bne _08035D16
+ bl m4aMPlayAllStop
+ movs r0, #0x2c
+ bl m4aSongNumStart
+ ldr r0, [r6]
+ ldr r1, _08035D4C @ =0x00000404
+ adds r0, r0, r1
+ strb r4, [r0]
+ ldr r0, [r6]
+ movs r2, #0x81
+ lsls r2, r2, #3
+ adds r1, r0, r2
+ movs r2, #0
+ strh r4, [r1]
+ ldr r4, _08035D50 @ =0x00000406
+ adds r0, r0, r4
+ strb r2, [r0]
+ ldrb r1, [r5, #0xf]
+ movs r0, #0x40
+ orrs r0, r1
+ strb r0, [r5, #0xf]
+_08035D16:
+ ldr r0, _08035D3C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r1, _08035D40 @ =0x00000386
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08035D2C
+ bl sub_350F0
+_08035D2C:
+ bl sub_472E4
+ bl sub_37850
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08035D3C: .4byte gUnknown_020314E0
+_08035D40: .4byte 0x00000386
+_08035D44: .4byte 0x00000296
+_08035D48: .4byte gMain
+_08035D4C: .4byte 0x00000404
+_08035D50: .4byte 0x00000406
+
+ thumb_func_start sub_35D54
+sub_35D54: @ 0x08035D54
+ push {r4, r5, r6, r7, lr}
+ mov r7, sb
+ mov r6, r8
+ push {r6, r7}
+ sub sp, #8
+ ldr r1, _08035D84 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ movs r2, #0xf7
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ mov r8, r1
+ cmp r0, #0xf
+ bls _08035D78
+ bl _08036C9E
+_08035D78:
+ lsls r0, r0, #2
+ ldr r1, _08035D88 @ =_08035D8C
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08035D84: .4byte gUnknown_020314E0
+_08035D88: .4byte _08035D8C
+_08035D8C: @ jump table
+ .4byte _08035DCC @ case 0
+ .4byte _08035E34 @ case 1
+ .4byte _08035EDC @ case 2
+ .4byte _08036008 @ case 3
+ .4byte _080360B8 @ case 4
+ .4byte _08036218 @ case 5
+ .4byte _0803631C @ case 6
+ .4byte _08036544 @ case 7
+ .4byte _0803662C @ case 8
+ .4byte _0803671C @ case 9
+ .4byte _08036808 @ case 10
+ .4byte _0803689C @ case 11
+ .4byte _08036908 @ case 12
+ .4byte _080369E4 @ case 13
+ .4byte _08036BA2 @ case 14
+ .4byte _08036C60 @ case 15
+_08035DCC:
+ mov r3, r8
+ ldr r0, [r3]
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ movs r2, #0
+ movs r1, #1
+ strb r1, [r0]
+ ldr r1, [r3]
+ ldr r5, _08035E24 @ =0x000003E2
+ adds r0, r1, r5
+ movs r4, #3
+ strh r4, [r0]
+ movs r3, #0xf9
+ lsls r3, r3, #2
+ adds r0, r1, r3
+ strh r2, [r0]
+ adds r5, #6
+ adds r2, r1, r5
+ ldr r0, _08035E28 @ =0x000002EE
+ strh r0, [r2]
+ adds r0, #0xfc
+ adds r1, r1, r0
+ movs r0, #0xb4
+ lsls r0, r0, #1
+ strh r0, [r1]
+ bl Random
+ mov r1, r8
+ ldr r3, [r1]
+ ldr r2, _08035E2C @ =0x086AE9E4
+ ldr r1, _08035E30 @ =gMain
+ ldr r1, [r1, #0x4c]
+ muls r0, r1, r0
+ ands r0, r4
+ adds r2, #0x50
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ movs r2, #0xfd
+ lsls r2, r2, #2
+ adds r3, r3, r2
+ strb r0, [r3]
+ bl _08036C9E
+ .align 2, 0
+_08035E24: .4byte 0x000003E2
+_08035E28: .4byte 0x000002EE
+_08035E2C: .4byte 0x086AE9E4
+_08035E30: .4byte gMain
+_08035E34:
+ ldr r2, _08035E60 @ =0x086AE718
+ mov r4, r8
+ ldr r3, [r4]
+ ldr r5, _08035E64 @ =0x000003E2
+ adds r4, r3, r5
+ movs r0, #0
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r1, #0xf9
+ lsls r1, r1, #2
+ adds r3, r3, r1
+ ldrh r1, [r3]
+ ldrh r0, [r0]
+ cmp r0, r1
+ bls _08035E68
+ adds r0, r1, #1
+ strh r0, [r3]
+ b _08035E7E
+ .align 2, 0
+_08035E60: .4byte 0x086AE718
+_08035E64: .4byte 0x000003E2
+_08035E68:
+ movs r0, #0
+ strh r0, [r3]
+ ldrh r0, [r4]
+ adds r0, #1
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #9
+ bne _08035E7E
+ movs r0, #3
+ strh r0, [r4]
+_08035E7E:
+ mov r2, r8
+ ldr r3, [r2]
+ movs r4, #0xfa
+ lsls r4, r4, #2
+ adds r1, r3, r4
+ ldrh r2, [r1]
+ movs r5, #0
+ ldrsh r0, [r1, r5]
+ cmp r0, #0
+ ble _08035E98
+ subs r0, r2, #6
+ strh r0, [r1]
+ b _08035EB8
+_08035E98:
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r3, r0
+ movs r3, #0
+ movs r0, #2
+ strb r0, [r1]
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r4, _08035ED4 @ =0x000003E2
+ adds r2, r0, r4
+ movs r1, #0x3b
+ strh r1, [r2]
+ movs r5, #0xf9
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ strh r3, [r0]
+_08035EB8:
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r2, _08035ED8 @ =0x00000392
+ adds r1, r0, r2
+ ldrh r0, [r1]
+ cmp r0, #2
+ bhi _08035ECA
+ bl _08036C9E
+_08035ECA:
+ subs r0, #1
+ strh r0, [r1]
+ bl _08036C9E
+ .align 2, 0
+_08035ED4: .4byte 0x000003E2
+_08035ED8: .4byte 0x00000392
+_08035EDC:
+ ldr r2, _08035F08 @ =0x086AE718
+ mov r4, r8
+ ldr r3, [r4]
+ ldr r5, _08035F0C @ =0x000003E2
+ adds r4, r3, r5
+ movs r0, #0
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r1, #0xf9
+ lsls r1, r1, #2
+ adds r2, r3, r1
+ ldrh r1, [r2]
+ ldrh r0, [r0]
+ cmp r0, r1
+ bls _08035F10
+ adds r0, r1, #1
+ strh r0, [r2]
+ b _08035FAE
+ .align 2, 0
+_08035F08: .4byte 0x086AE718
+_08035F0C: .4byte 0x000003E2
+_08035F10:
+ movs r0, #0
+ strh r0, [r2]
+ ldrh r0, [r4]
+ adds r0, #1
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x42
+ bne _08035F92
+ movs r0, #0x41
+ strh r0, [r4]
+ ldr r4, _08035F3C @ =0x0000040E
+ adds r0, r3, r4
+ ldrh r0, [r0]
+ cmp r0, #7
+ bhi _08035F40
+ movs r5, #0xf7
+ lsls r5, r5, #2
+ adds r1, r3, r5
+ movs r0, #3
+ strb r0, [r1]
+ b _08035F92
+ .align 2, 0
+_08035F3C: .4byte 0x0000040E
+_08035F40:
+ ldr r0, _08035F54 @ =0x000003F5
+ adds r1, r3, r0
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ beq _08035F58
+ movs r0, #0x14
+ strh r0, [r2]
+ b _08035F5E
+ .align 2, 0
+_08035F54: .4byte 0x000003F5
+_08035F58:
+ strh r0, [r2]
+ movs r0, #1
+ strb r0, [r1]
+_08035F5E:
+ ldr r4, _08035FE8 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ movs r1, #0xf7
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r1, #5
+ strb r1, [r0]
+ bl Random
+ ldr r1, _08035FEC @ =gMain
+ ldr r1, [r1, #0x4c]
+ adds r0, r0, r1
+ movs r1, #3
+ ldr r2, [r4]
+ ldr r3, _08035FF0 @ =0x086AE9E4
+ ands r0, r1
+ movs r4, #0xfd
+ lsls r4, r4, #2
+ adds r2, r2, r4
+ movs r1, #0
+ ldrsb r1, [r2, r1]
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ strb r0, [r2]
+_08035F92:
+ ldr r0, _08035FE8 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r5, _08035FF4 @ =0x000003E2
+ adds r0, r0, r5
+ ldrh r0, [r0]
+ subs r0, #0x3c
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #1
+ bhi _08035FAE
+ ldr r0, _08035FF8 @ =0x02032F20
+ ldr r1, _08035FFC @ =0x086A1ABC
+ bl MPlayStart
+_08035FAE:
+ ldr r0, _08035FE8 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r2, _08035FF4 @ =0x000003E2
+ adds r0, r1, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ cmp r0, #0x40
+ beq _08035FC2
+ bl _08036C9E
+_08035FC2:
+ movs r4, #0xf9
+ lsls r4, r4, #2
+ adds r2, r1, r4
+ ldrh r0, [r2]
+ lsrs r0, r0, #1
+ ldr r5, _08036000 @ =0x000003FA
+ adds r1, r1, r5
+ strh r0, [r1]
+ ldrh r0, [r2]
+ cmp r0, #4
+ beq _08035FDC
+ bl _08036C9E
+_08035FDC:
+ ldr r0, _08035FF8 @ =0x02032F20
+ ldr r1, _08036004 @ =0x086A1B9C
+ bl MPlayStart
+ bl _08036C9E
+ .align 2, 0
+_08035FE8: .4byte gUnknown_020314E0
+_08035FEC: .4byte gMain
+_08035FF0: .4byte 0x086AE9E4
+_08035FF4: .4byte 0x000003E2
+_08035FF8: .4byte 0x02032F20
+_08035FFC: .4byte 0x086A1ABC
+_08036000: .4byte 0x000003FA
+_08036004: .4byte 0x086A1B9C
+_08036008:
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r3, _080360A0 @ =0x086AE9E4
+ movs r4, #0xfd
+ lsls r4, r4, #2
+ adds r2, r1, r4
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ lsls r0, r0, #3
+ adds r0, r0, r3
+ ldrh r0, [r0, #4]
+ movs r5, #0xfb
+ lsls r5, r5, #2
+ adds r4, r1, r5
+ movs r5, #0
+ strh r0, [r4]
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ lsls r0, r0, #3
+ adds r0, r0, r3
+ ldrh r0, [r0, #6]
+ ldr r2, _080360A4 @ =0x000003EE
+ adds r3, r1, r2
+ strh r0, [r3]
+ movs r0, #0
+ ldrsh r2, [r4, r0]
+ movs r4, #0xfa
+ lsls r4, r4, #2
+ adds r0, r1, r4
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ subs r6, r2, r0
+ movs r0, #0
+ ldrsh r2, [r3, r0]
+ ldr r3, _080360A8 @ =0x000003EA
+ adds r1, r1, r3
+ movs r4, #0
+ ldrsh r0, [r1, r4]
+ subs r7, r2, r0
+ lsls r0, r6, #0x10
+ asrs r0, r0, #0x10
+ rsbs r1, r7, #0
+ lsls r1, r1, #0x10
+ asrs r1, r1, #0x10
+ bl ArcTan2
+ lsls r0, r0, #0x10
+ mov r2, r8
+ ldr r1, [r2]
+ ldr r2, _080360AC @ =0x086AE9C4
+ lsrs r0, r0, #0x1d
+ lsls r0, r0, #1
+ adds r0, r0, r2
+ ldrh r2, [r0]
+ ldr r0, _080360B0 @ =0x000003DE
+ adds r1, r1, r0
+ strb r2, [r1]
+ mov r3, r8
+ ldr r1, [r3]
+ adds r0, r1, r0
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ ldr r4, _080360B4 @ =0x000003E2
+ adds r0, r1, r4
+ strh r2, [r0]
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r0, r1, r2
+ strh r5, [r0]
+ movs r3, #0xf7
+ lsls r3, r3, #2
+ adds r1, r1, r3
+ movs r0, #4
+ strb r0, [r1]
+ bl _08036C9E
+ .align 2, 0
+_080360A0: .4byte 0x086AE9E4
+_080360A4: .4byte 0x000003EE
+_080360A8: .4byte 0x000003EA
+_080360AC: .4byte 0x086AE9C4
+_080360B0: .4byte 0x000003DE
+_080360B4: .4byte 0x000003E2
+_080360B8:
+ ldr r4, _08036180 @ =gUnknown_020314E0
+ mov sb, r4
+ ldr r1, [r4]
+ movs r5, #0xfb
+ lsls r5, r5, #2
+ adds r0, r1, r5
+ movs r3, #0
+ ldrsh r2, [r0, r3]
+ subs r5, #4
+ adds r0, r1, r5
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ subs r6, r2, r0
+ ldr r2, _08036184 @ =0x000003EE
+ adds r0, r1, r2
+ movs r3, #0
+ ldrsh r2, [r0, r3]
+ ldr r4, _08036188 @ =0x000003EA
+ adds r1, r1, r4
+ movs r3, #0
+ ldrsh r0, [r1, r3]
+ subs r7, r2, r0
+ adds r1, r6, #0
+ muls r1, r6, r1
+ adds r0, r7, #0
+ muls r0, r7, r0
+ adds r1, r1, r0
+ mov r8, r1
+ lsls r0, r6, #0x10
+ asrs r0, r0, #0x10
+ rsbs r1, r7, #0
+ lsls r1, r1, #0x10
+ asrs r1, r1, #0x10
+ bl ArcTan2
+ lsls r0, r0, #0x10
+ lsrs r7, r0, #0x10
+ adds r0, r7, #0
+ bl sub_C74
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ lsls r1, r0, #1
+ adds r1, r1, r0
+ lsls r1, r1, #1
+ ldr r6, _0803618C @ =0x00004E20
+ adds r0, r1, #0
+ adds r1, r6, #0
+ bl __divsi3
+ str r0, [sp]
+ adds r0, r7, #0
+ bl sub_C24
+ adds r1, r0, #0
+ lsls r1, r1, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ rsbs r0, r0, #0
+ adds r1, r6, #0
+ bl __divsi3
+ str r0, [sp, #4]
+ mov r0, sb
+ ldr r1, [r0]
+ adds r5, r1, r5
+ ldrh r0, [r5]
+ ldr r2, [sp]
+ adds r0, r2, r0
+ strh r0, [r5]
+ adds r4, r1, r4
+ ldrh r0, [r4]
+ ldr r3, [sp, #4]
+ adds r0, r3, r0
+ strh r0, [r4]
+ ldr r0, _08036190 @ =0x000009C3
+ cmp r8, r0
+ bgt _080361B8
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r1, r1, r4
+ movs r0, #8
+ strb r0, [r1]
+ mov r5, sb
+ ldr r0, [r5]
+ ldr r1, _08036194 @ =0x000003DE
+ adds r2, r0, r1
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ cmp r0, #3
+ bne _0803619C
+ movs r1, #0x42
+ strb r1, [r2]
+ ldr r0, [r5]
+ ldr r2, _08036198 @ =0x000003E2
+ adds r0, r0, r2
+ b _080361A8
+ .align 2, 0
+_08036180: .4byte gUnknown_020314E0
+_08036184: .4byte 0x000003EE
+_08036188: .4byte 0x000003EA
+_0803618C: .4byte 0x00004E20
+_08036190: .4byte 0x000009C3
+_08036194: .4byte 0x000003DE
+_08036198: .4byte 0x000003E2
+_0803619C:
+ movs r1, #0x45
+ strb r1, [r2]
+ mov r3, sb
+ ldr r0, [r3]
+ ldr r4, _08036208 @ =0x000003E2
+ adds r0, r0, r4
+_080361A8:
+ strh r1, [r0]
+ ldr r0, _0803620C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r5, #0xf9
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ movs r1, #0
+ strh r1, [r0]
+_080361B8:
+ ldr r2, _08036210 @ =0x086AE718
+ ldr r0, _0803620C @ =gUnknown_020314E0
+ ldr r4, [r0]
+ ldr r0, _08036208 @ =0x000003E2
+ adds r3, r4, r0
+ movs r5, #0
+ ldrsh r1, [r3, r5]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r0, r2
+ bls _080361E2
+ bl _08036BD0
+_080361E2:
+ movs r0, #0
+ strh r0, [r1]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ movs r5, #0
+ ldrsh r1, [r3, r5]
+ ldr r2, _08036214 @ =0x000003DE
+ adds r0, r4, r2
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ adds r0, r2, #6
+ cmp r1, r0
+ beq _08036202
+ bl _08036C9E
+_08036202:
+ strh r2, [r3]
+ bl _08036C9E
+ .align 2, 0
+_08036208: .4byte 0x000003E2
+_0803620C: .4byte gUnknown_020314E0
+_08036210: .4byte 0x086AE718
+_08036214: .4byte 0x000003DE
+_08036218:
+ mov r3, r8
+ ldr r4, [r3]
+ movs r5, #0xf9
+ lsls r5, r5, #2
+ adds r0, r4, r5
+ ldrh r0, [r0]
+ cmp r0, #0x11
+ bhi _0803627C
+ cmp r0, #0
+ bne _08036234
+ ldr r0, _0803625C @ =0x02032F20
+ ldr r1, _08036260 @ =0x086A1BC8
+ bl MPlayStart
+_08036234:
+ mov r4, r8
+ ldr r2, [r4]
+ adds r1, r2, r5
+ ldrh r0, [r1]
+ adds r0, #1
+ strh r0, [r1]
+ ldr r5, _08036264 @ =0x000003DE
+ adds r0, r2, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x42
+ bne _0803626C
+ ldr r0, _08036268 @ =0x000003E2
+ adds r1, r2, r0
+ movs r0, #0x25
+ strh r0, [r1]
+ bl _08036C9E
+ .align 2, 0
+_0803625C: .4byte 0x02032F20
+_08036260: .4byte 0x086A1BC8
+_08036264: .4byte 0x000003DE
+_08036268: .4byte 0x000003E2
+_0803626C:
+ ldr r3, _08036278 @ =0x000003E2
+ adds r1, r2, r3
+ movs r0, #0x30
+ strh r0, [r1]
+ bl _08036C9E
+ .align 2, 0
+_08036278: .4byte 0x000003E2
+_0803627C:
+ ldr r2, _08036304 @ =0x086AE9E4
+ movs r5, #0xfd
+ lsls r5, r5, #2
+ adds r1, r4, r5
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ lsls r0, r0, #3
+ adds r0, r0, r2
+ ldrh r0, [r0, #4]
+ subs r5, #8
+ adds r3, r4, r5
+ strh r0, [r3]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ lsls r0, r0, #3
+ adds r0, r0, r2
+ ldrh r0, [r0, #6]
+ ldr r1, _08036308 @ =0x000003EE
+ adds r2, r4, r1
+ strh r0, [r2]
+ movs r5, #0
+ ldrsh r1, [r3, r5]
+ movs r3, #0xfa
+ lsls r3, r3, #2
+ adds r0, r4, r3
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ subs r6, r1, r0
+ movs r0, #0
+ ldrsh r1, [r2, r0]
+ ldr r2, _0803630C @ =0x000003EA
+ adds r0, r4, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ subs r7, r1, r0
+ lsls r0, r6, #0x10
+ asrs r0, r0, #0x10
+ rsbs r1, r7, #0
+ lsls r1, r1, #0x10
+ asrs r1, r1, #0x10
+ bl ArcTan2
+ lsls r0, r0, #0x10
+ mov r4, r8
+ ldr r1, [r4]
+ ldr r2, _08036310 @ =0x086AE9D4
+ lsrs r0, r0, #0x1d
+ lsls r0, r0, #1
+ adds r0, r0, r2
+ ldrh r2, [r0]
+ ldr r0, _08036314 @ =0x000003DE
+ adds r1, r1, r0
+ strb r2, [r1]
+ ldr r1, [r4]
+ adds r0, r1, r0
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ ldr r5, _08036318 @ =0x000003E2
+ adds r0, r1, r5
+ strh r2, [r0]
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r1, r0
+ movs r0, #6
+ strb r0, [r1]
+ bl _08036C9E
+ .align 2, 0
+_08036304: .4byte 0x086AE9E4
+_08036308: .4byte 0x000003EE
+_0803630C: .4byte 0x000003EA
+_08036310: .4byte 0x086AE9D4
+_08036314: .4byte 0x000003DE
+_08036318: .4byte 0x000003E2
+_0803631C:
+ ldr r5, _080363E0 @ =gUnknown_020314E0
+ ldr r1, [r5]
+ movs r2, #0xfb
+ lsls r2, r2, #2
+ adds r0, r1, r2
+ movs r3, #0
+ ldrsh r2, [r0, r3]
+ movs r4, #0xfa
+ lsls r4, r4, #2
+ mov sb, r4
+ adds r0, r1, r4
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ subs r6, r2, r0
+ adds r4, #6
+ adds r0, r1, r4
+ movs r3, #0
+ ldrsh r2, [r0, r3]
+ subs r4, #4
+ adds r1, r1, r4
+ movs r3, #0
+ ldrsh r0, [r1, r3]
+ subs r7, r2, r0
+ adds r1, r6, #0
+ muls r1, r6, r1
+ adds r0, r7, #0
+ muls r0, r7, r0
+ adds r1, r1, r0
+ mov r8, r1
+ lsls r0, r6, #0x10
+ asrs r0, r0, #0x10
+ rsbs r1, r7, #0
+ lsls r1, r1, #0x10
+ asrs r1, r1, #0x10
+ bl ArcTan2
+ lsls r0, r0, #0x10
+ lsrs r7, r0, #0x10
+ adds r0, r7, #0
+ bl sub_C74
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #0xfa
+ lsls r1, r1, #3
+ bl __divsi3
+ str r0, [sp]
+ adds r0, r7, #0
+ bl sub_C24
+ adds r1, r0, #0
+ lsls r1, r1, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #2
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ rsbs r0, r0, #0
+ ldr r1, _080363E4 @ =0x00004E20
+ bl __divsi3
+ str r0, [sp, #4]
+ ldr r2, [r5]
+ mov r0, sb
+ adds r1, r2, r0
+ ldrh r0, [r1]
+ ldr r3, [sp]
+ adds r0, r3, r0
+ strh r0, [r1]
+ adds r4, r2, r4
+ ldrh r0, [r4]
+ ldr r1, [sp, #4]
+ adds r0, r1, r0
+ strh r0, [r4]
+ ldr r0, _080363E8 @ =0x000009C3
+ cmp r8, r0
+ ble _080363B8
+ b _080364A6
+_080363B8:
+ ldr r3, _080363EC @ =0x00000385
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #9
+ ble _08036430
+ ldr r4, _080363F0 @ =0x000003DE
+ adds r1, r2, r4
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0x42
+ bne _080363F4
+ movs r0, #0x4b
+ strb r0, [r1]
+ ldr r1, [r5]
+ add r1, sb
+ ldrh r0, [r1]
+ adds r0, #0xf0
+ b _08036400
+ .align 2, 0
+_080363E0: .4byte gUnknown_020314E0
+_080363E4: .4byte 0x00004E20
+_080363E8: .4byte 0x000009C3
+_080363EC: .4byte 0x00000385
+_080363F0: .4byte 0x000003DE
+_080363F4:
+ movs r0, #0x5f
+ strb r0, [r1]
+ ldr r1, [r5]
+ add r1, sb
+ ldrh r0, [r1]
+ subs r0, #0xf0
+_08036400:
+ strh r0, [r1]
+ ldr r2, _08036424 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ movs r5, #0xf7
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ movs r1, #0xe
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r2, _08036428 @ =0x000003DE
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ lsls r1, r1, #0x18
+ asrs r1, r1, #0x18
+ ldr r3, _0803642C @ =0x000003E2
+ adds r0, r0, r3
+ b _080364A4
+ .align 2, 0
+_08036424: .4byte gUnknown_020314E0
+_08036428: .4byte 0x000003DE
+_0803642C: .4byte 0x000003E2
+_08036430:
+ ldr r4, _0803645C @ =0x000003FA
+ adds r0, r2, r4
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xf
+ bgt _08036460
+ movs r3, #0xf7
+ lsls r3, r3, #2
+ adds r1, r2, r3
+ movs r0, #2
+ strb r0, [r1]
+ ldr r1, [r5]
+ subs r4, #0x18
+ adds r2, r1, r4
+ movs r0, #0x3e
+ strh r0, [r2]
+ movs r5, #0xf9
+ lsls r5, r5, #2
+ adds r1, r1, r5
+ movs r0, #0
+ strh r0, [r1]
+ b _080364A6
+ .align 2, 0
+_0803645C: .4byte 0x000003FA
+_08036460:
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r2, r0
+ movs r0, #7
+ strb r0, [r1]
+ ldr r0, [r5]
+ ldr r1, _08036484 @ =0x000003DE
+ adds r2, r0, r1
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ cmp r0, #0x26
+ bne _0803648C
+ movs r1, #0x2a
+ strb r1, [r2]
+ ldr r0, [r5]
+ ldr r2, _08036488 @ =0x000003E2
+ adds r0, r0, r2
+ b _08036496
+ .align 2, 0
+_08036484: .4byte 0x000003DE
+_08036488: .4byte 0x000003E2
+_0803648C:
+ movs r1, #0x35
+ strb r1, [r2]
+ ldr r0, [r5]
+ ldr r3, _0803652C @ =0x000003E2
+ adds r0, r0, r3
+_08036496:
+ strh r1, [r0]
+ ldr r0, _08036530 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r4, #0xf9
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ movs r1, #0
+_080364A4:
+ strh r1, [r0]
+_080364A6:
+ ldr r2, _08036534 @ =0x086AE718
+ ldr r7, _08036530 @ =gUnknown_020314E0
+ ldr r4, [r7]
+ ldr r6, _0803652C @ =0x000003E2
+ adds r3, r4, r6
+ movs r5, #0
+ ldrsh r1, [r3, r5]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r0, r2
+ bls _080364CE
+ b _08036BD0
+_080364CE:
+ movs r0, #0
+ strh r0, [r1]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ movs r5, #0
+ ldrsh r1, [r3, r5]
+ ldr r5, _08036538 @ =0x000003DE
+ adds r0, r4, r5
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ adds r0, r2, #4
+ cmp r1, r0
+ bne _080364EC
+ strh r2, [r3]
+_080364EC:
+ ldr r0, [r7]
+ adds r1, r0, r6
+ movs r2, #0
+ ldrsh r1, [r1, r2]
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #1
+ cmp r1, r0
+ bne _0803650A
+ ldr r0, _0803653C @ =0x02032F20
+ ldr r1, _08036540 @ =0x086A1C00
+ bl MPlayStart
+_0803650A:
+ ldr r0, [r7]
+ adds r1, r0, r6
+ movs r3, #0
+ ldrsh r1, [r1, r3]
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #3
+ cmp r1, r0
+ beq _08036522
+ b _08036C9E
+_08036522:
+ ldr r0, _0803653C @ =0x02032F20
+ ldr r1, _08036540 @ =0x086A1C00
+ bl MPlayStart
+ b _08036C9E
+ .align 2, 0
+_0803652C: .4byte 0x000003E2
+_08036530: .4byte gUnknown_020314E0
+_08036534: .4byte 0x086AE718
+_08036538: .4byte 0x000003DE
+_0803653C: .4byte 0x02032F20
+_08036540: .4byte 0x086A1C00
+_08036544:
+ ldr r2, _080365A0 @ =0x086AE718
+ mov r5, r8
+ ldr r4, [r5]
+ ldr r0, _080365A4 @ =0x000003E2
+ adds r3, r4, r0
+ movs r5, #0
+ ldrsh r1, [r3, r5]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r1, #0xf9
+ lsls r1, r1, #2
+ adds r2, r4, r1
+ ldrh r1, [r2]
+ ldrh r0, [r0]
+ cmp r0, r1
+ bhi _08036652
+ movs r0, #0
+ strh r0, [r2]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ movs r5, #0
+ ldrsh r1, [r3, r5]
+ ldr r3, _080365A8 @ =0x000003DE
+ adds r0, r4, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #6
+ cmp r1, r0
+ beq _0803658A
+ b _08036C9E
+_0803658A:
+ ldr r5, _080365AC @ =0x0000040E
+ adds r0, r4, r5
+ ldrh r0, [r0]
+ cmp r0, #7
+ bhi _080365B0
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r4, r0
+ movs r0, #3
+ strb r0, [r1]
+ b _080365DC
+ .align 2, 0
+_080365A0: .4byte 0x086AE718
+_080365A4: .4byte 0x000003E2
+_080365A8: .4byte 0x000003DE
+_080365AC: .4byte 0x0000040E
+_080365B0:
+ ldr r3, _080365C4 @ =0x000003F5
+ adds r1, r4, r3
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ beq _080365C8
+ movs r0, #0x14
+ strh r0, [r2]
+ b _080365CE
+ .align 2, 0
+_080365C4: .4byte 0x000003F5
+_080365C8:
+ strh r0, [r2]
+ movs r0, #1
+ strb r0, [r1]
+_080365CE:
+ mov r4, r8
+ ldr r0, [r4]
+ movs r5, #0xf7
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ movs r1, #5
+ strb r1, [r0]
+_080365DC:
+ bl Random
+ ldr r1, _08036618 @ =gMain
+ ldr r1, [r1, #0x4c]
+ adds r0, r0, r1
+ movs r1, #3
+ ldr r4, _0803661C @ =gUnknown_020314E0
+ ldr r2, [r4]
+ ldr r3, _08036620 @ =0x086AE9E4
+ ands r0, r1
+ movs r1, #0xfd
+ lsls r1, r1, #2
+ adds r2, r2, r1
+ movs r1, #0
+ ldrsb r1, [r2, r1]
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ strb r0, [r2]
+ ldr r1, [r4]
+ ldr r2, _08036624 @ =0x000003DE
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #5
+ ldr r3, _08036628 @ =0x000003E2
+ b _0803688A
+ .align 2, 0
+_08036618: .4byte gMain
+_0803661C: .4byte gUnknown_020314E0
+_08036620: .4byte 0x086AE9E4
+_08036624: .4byte 0x000003DE
+_08036628: .4byte 0x000003E2
+_0803662C:
+ ldr r2, _08036658 @ =0x086AE718
+ mov r5, r8
+ ldr r4, [r5]
+ ldr r0, _0803665C @ =0x000003E2
+ adds r3, r4, r0
+ movs r5, #0
+ ldrsh r1, [r3, r5]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r1, #0xf9
+ lsls r1, r1, #2
+ adds r2, r4, r1
+ ldrh r1, [r2]
+ ldrh r0, [r0]
+ cmp r0, r1
+ bls _08036660
+_08036652:
+ adds r0, r1, #1
+ strh r0, [r2]
+ b _08036C9E
+ .align 2, 0
+_08036658: .4byte 0x086AE718
+_0803665C: .4byte 0x000003E2
+_08036660:
+ movs r0, #0
+ strh r0, [r2]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ movs r5, #0
+ ldrsh r1, [r3, r5]
+ ldr r3, _08036698 @ =0x000003DE
+ adds r0, r4, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #2
+ cmp r1, r0
+ beq _08036680
+ b _08036C9E
+_08036680:
+ ldr r5, _0803669C @ =0x0000040E
+ adds r0, r4, r5
+ ldrh r0, [r0]
+ cmp r0, #7
+ bhi _080366A0
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r4, r0
+ movs r0, #3
+ strb r0, [r1]
+ b _080366CC
+ .align 2, 0
+_08036698: .4byte 0x000003DE
+_0803669C: .4byte 0x0000040E
+_080366A0:
+ ldr r3, _080366B4 @ =0x000003F5
+ adds r1, r4, r3
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ beq _080366B8
+ movs r0, #0x14
+ strh r0, [r2]
+ b _080366BE
+ .align 2, 0
+_080366B4: .4byte 0x000003F5
+_080366B8:
+ strh r0, [r2]
+ movs r0, #1
+ strb r0, [r1]
+_080366BE:
+ mov r4, r8
+ ldr r0, [r4]
+ movs r5, #0xf7
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ movs r1, #5
+ strb r1, [r0]
+_080366CC:
+ bl Random
+ ldr r1, _08036708 @ =gMain
+ ldr r1, [r1, #0x4c]
+ adds r0, r0, r1
+ movs r1, #3
+ ldr r4, _0803670C @ =gUnknown_020314E0
+ ldr r2, [r4]
+ ldr r3, _08036710 @ =0x086AE9E4
+ ands r0, r1
+ movs r1, #0xfd
+ lsls r1, r1, #2
+ adds r2, r2, r1
+ movs r1, #0
+ ldrsb r1, [r2, r1]
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ strb r0, [r2]
+ ldr r1, [r4]
+ ldr r2, _08036714 @ =0x000003DE
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #1
+ ldr r3, _08036718 @ =0x000003E2
+ b _0803688A
+ .align 2, 0
+_08036708: .4byte gMain
+_0803670C: .4byte gUnknown_020314E0
+_08036710: .4byte 0x086AE9E4
+_08036714: .4byte 0x000003DE
+_08036718: .4byte 0x000003E2
+_0803671C:
+ mov r4, r8
+ ldr r0, [r4]
+ movs r5, #0xf7
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ movs r1, #0xa
+ strb r1, [r0]
+ ldr r0, _08036750 @ =gMain
+ ldr r3, [r0, #0x4c]
+ movs r4, #1
+ ands r3, r4
+ cmp r3, #0
+ beq _08036774
+ mov r0, r8
+ ldr r2, [r0]
+ movs r1, #0xfa
+ lsls r1, r1, #2
+ adds r0, r2, r1
+ movs r3, #0
+ ldrsh r1, [r0, r3]
+ ldr r0, _08036754 @ =0xFFFFFD80
+ cmp r1, r0
+ bge _08036758
+ adds r5, #0x1a
+ b _080367A6
+ .align 2, 0
+_08036750: .4byte gMain
+_08036754: .4byte 0xFFFFFD80
+_08036758:
+ ldr r3, _0803676C @ =0x000003F6
+ adds r1, r2, r3
+ movs r0, #0
+ strb r0, [r1]
+ mov r4, r8
+ ldr r0, [r4]
+ ldr r5, _08036770 @ =0x000003DE
+ adds r0, r0, r5
+ movs r1, #0x1b
+ b _080367B4
+ .align 2, 0
+_0803676C: .4byte 0x000003F6
+_08036770: .4byte 0x000003DE
+_08036774:
+ mov r0, r8
+ ldr r2, [r0]
+ movs r1, #0xfa
+ lsls r1, r1, #2
+ adds r0, r2, r1
+ movs r5, #0
+ ldrsh r1, [r0, r5]
+ movs r0, #0xa0
+ lsls r0, r0, #2
+ cmp r1, r0
+ ble _080367A4
+ ldr r1, _0803679C @ =0x000003F6
+ adds r0, r2, r1
+ strb r3, [r0]
+ mov r2, r8
+ ldr r0, [r2]
+ ldr r3, _080367A0 @ =0x000003DE
+ adds r0, r0, r3
+ movs r1, #0x1b
+ b _080367B4
+ .align 2, 0
+_0803679C: .4byte 0x000003F6
+_080367A0: .4byte 0x000003DE
+_080367A4:
+ ldr r5, _080367F0 @ =0x000003F6
+_080367A6:
+ adds r0, r2, r5
+ strb r4, [r0]
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r2, _080367F4 @ =0x000003DE
+ adds r0, r0, r2
+ movs r1, #0x20
+_080367B4:
+ strb r1, [r0]
+ mov r3, r8
+ ldr r0, [r3]
+ ldr r4, _080367F8 @ =0x000003FA
+ adds r1, r0, r4
+ movs r5, #0
+ ldrsh r0, [r1, r5]
+ cmp r0, #0xf
+ bgt _080367CA
+ movs r0, #0
+ strh r0, [r1]
+_080367CA:
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r2, _080367F4 @ =0x000003DE
+ adds r0, r1, r2
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ ldr r3, _080367FC @ =0x000003E2
+ adds r0, r1, r3
+ movs r3, #0
+ strh r2, [r0]
+ movs r4, #0xf9
+ lsls r4, r4, #2
+ adds r1, r1, r4
+ strh r3, [r1]
+ ldr r0, _08036800 @ =0x02032F20
+ ldr r1, _08036804 @ =0x086A1C64
+ bl MPlayStart
+ b _08036C9E
+ .align 2, 0
+_080367F0: .4byte 0x000003F6
+_080367F4: .4byte 0x000003DE
+_080367F8: .4byte 0x000003FA
+_080367FC: .4byte 0x000003E2
+_08036800: .4byte 0x02032F20
+_08036804: .4byte 0x086A1C64
+_08036808:
+ ldr r2, _08036890 @ =0x086AE718
+ mov r0, r8
+ ldr r5, [r0]
+ ldr r3, _08036894 @ =0x000003E2
+ adds r4, r5, r3
+ movs r0, #0
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r1, r5, r2
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r0, r2
+ bls _08036830
+ b _08036BD0
+_08036830:
+ movs r0, #0
+ strh r0, [r1]
+ ldrh r0, [r4]
+ adds r0, #1
+ strh r0, [r4]
+ movs r0, #0
+ ldrsh r1, [r4, r0]
+ ldr r4, _08036898 @ =0x000003DE
+ adds r0, r5, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #1
+ cmp r1, r0
+ bne _08036858
+ movs r2, #0xff
+ lsls r2, r2, #2
+ adds r1, r5, r2
+ movs r0, #0x17
+ strh r0, [r1]
+_08036858:
+ mov r5, r8
+ ldr r2, [r5]
+ adds r0, r2, r3
+ movs r5, #0
+ ldrsh r1, [r0, r5]
+ adds r0, r2, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #2
+ cmp r1, r0
+ beq _08036872
+ b _08036C9E
+_08036872:
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r2, r0
+ movs r0, #0xd
+ strb r0, [r1]
+ mov r2, r8
+ ldr r1, [r2]
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #1
+_0803688A:
+ adds r1, r1, r3
+ strh r0, [r1]
+ b _08036C9E
+ .align 2, 0
+_08036890: .4byte 0x086AE718
+_08036894: .4byte 0x000003E2
+_08036898: .4byte 0x000003DE
+_0803689C:
+ mov r3, r8
+ ldr r0, [r3]
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ movs r3, #0
+ movs r1, #0xc
+ strb r1, [r0]
+ mov r5, r8
+ ldr r1, [r5]
+ ldr r2, _080368F0 @ =0x000003DE
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #2
+ adds r4, #6
+ adds r2, r1, r4
+ strh r0, [r2]
+ movs r5, #0xf9
+ lsls r5, r5, #2
+ adds r0, r1, r5
+ strh r3, [r0]
+ ldr r2, _080368F4 @ =0x000003FA
+ adds r0, r1, r2
+ strh r3, [r0]
+ ldr r0, _080368F8 @ =0x0007A120
+ str r0, [r1, #0x3c]
+ ldr r3, _080368FC @ =0x00000385
+ adds r1, r1, r3
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ ldr r0, _08036900 @ =0x02032F20
+ ldr r1, _08036904 @ =0x086A1C88
+ bl MPlayStart
+ movs r0, #7
+ bl sub_11B0
+ b _08036C9E
+ .align 2, 0
+_080368F0: .4byte 0x000003DE
+_080368F4: .4byte 0x000003FA
+_080368F8: .4byte 0x0007A120
+_080368FC: .4byte 0x00000385
+_08036900: .4byte 0x02032F20
+_08036904: .4byte 0x086A1C88
+_08036908:
+ ldr r2, _08036970 @ =0x086AE718
+ mov r5, r8
+ ldr r4, [r5]
+ ldr r0, _08036974 @ =0x000003E2
+ adds r3, r4, r0
+ movs r5, #0
+ ldrsh r1, [r3, r5]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r0, r2
+ bls _08036930
+ b _08036BD0
+_08036930:
+ movs r6, #0
+ movs r5, #0
+ strh r5, [r1]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ movs r0, #0
+ ldrsh r1, [r3, r0]
+ ldr r2, _08036978 @ =0x000003DE
+ adds r0, r4, r2
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ adds r0, r2, #4
+ cmp r1, r0
+ beq _08036950
+ b _08036C9E
+_08036950:
+ adds r0, r2, #3
+ strh r0, [r3]
+ ldr r3, _0803697C @ =0x00000385
+ adds r0, r4, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #9
+ bgt _08036980
+ movs r5, #0xf7
+ lsls r5, r5, #2
+ adds r1, r4, r5
+ movs r0, #0xd
+ strb r0, [r1]
+ b _08036C9E
+ .align 2, 0
+_08036970: .4byte 0x086AE718
+_08036974: .4byte 0x000003E2
+_08036978: .4byte 0x000003DE
+_0803697C: .4byte 0x00000385
+_08036980:
+ movs r0, #0xa5
+ lsls r0, r0, #2
+ adds r1, r4, r0
+ movs r0, #3
+ strb r0, [r1]
+ ldr r1, _080369D8 @ =gMain
+ movs r0, #0x80
+ strb r0, [r1, #0xf]
+ mov r1, r8
+ ldr r0, [r1]
+ movs r2, #0xe2
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ movs r1, #2
+ strb r1, [r0]
+ mov r3, r8
+ ldr r0, [r3]
+ ldr r4, _080369DC @ =0x00000392
+ adds r1, r0, r4
+ strh r5, [r1]
+ movs r1, #0xf7
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r1, #0xd
+ strb r1, [r0]
+ ldr r0, [r3]
+ adds r2, #0x7c
+ adds r0, r0, r2
+ strb r6, [r0]
+ ldr r0, [r3]
+ movs r3, #0x81
+ lsls r3, r3, #3
+ adds r1, r0, r3
+ strh r5, [r1]
+ adds r4, #0x74
+ adds r0, r0, r4
+ strb r6, [r0]
+ mov r5, r8
+ ldr r0, [r5]
+ ldr r1, _080369E0 @ =0x00000387
+ adds r0, r0, r1
+ strb r6, [r0]
+ b _08036C9E
+ .align 2, 0
+_080369D8: .4byte gMain
+_080369DC: .4byte 0x00000392
+_080369E0: .4byte 0x00000387
+_080369E4:
+ mov r2, r8
+ ldr r1, [r2]
+ ldr r3, _08036A0C @ =0x000003DE
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #4
+ ldr r4, _08036A10 @ =0x000003E2
+ adds r2, r1, r4
+ strh r0, [r2]
+ movs r5, #0xf9
+ lsls r5, r5, #2
+ adds r3, r1, r5
+ ldrh r0, [r3]
+ cmp r0, #7
+ bhi _08036A14
+ adds r0, #1
+ strh r0, [r3]
+ b _08036C9E
+ .align 2, 0
+_08036A0C: .4byte 0x000003DE
+_08036A10: .4byte 0x000003E2
+_08036A14:
+ ldr r3, _08036A40 @ =0x00000385
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #9
+ ble _08036A98
+ ldr r4, _08036A44 @ =0x000003F6
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _08036A48
+ movs r0, #0x48
+ strh r0, [r2]
+ movs r5, #0xfa
+ lsls r5, r5, #2
+ adds r1, r1, r5
+ ldrh r0, [r1]
+ subs r0, #0xf0
+ b _08036A56
+ .align 2, 0
+_08036A40: .4byte 0x00000385
+_08036A44: .4byte 0x000003F6
+_08036A48:
+ movs r0, #0x49
+ strh r0, [r2]
+ movs r0, #0xfa
+ lsls r0, r0, #2
+ adds r1, r1, r0
+ ldrh r0, [r1]
+ adds r0, #0xf0
+_08036A56:
+ strh r0, [r1]
+ mov r1, r8
+ ldr r0, [r1]
+ movs r2, #0xf7
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ movs r1, #5
+ strb r1, [r0]
+ mov r3, r8
+ ldr r0, [r3]
+ movs r4, #0xf9
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ movs r1, #0x14
+ strh r1, [r0]
+ bl Random
+ mov r5, r8
+ ldr r2, [r5]
+ ldr r1, _08036A94 @ =gMain
+ ldr r1, [r1, #0x4c]
+ muls r0, r1, r0
+ movs r1, #3
+ ands r0, r1
+ adds r0, #3
+ movs r1, #0xfd
+ lsls r1, r1, #2
+ adds r2, r2, r1
+ strb r0, [r2]
+ b _08036C9E
+ .align 2, 0
+_08036A94: .4byte gMain
+_08036A98:
+ ldr r3, _08036AC4 @ =0x000003FA
+ adds r0, r1, r3
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ cmp r0, #0xf
+ bgt _08036B18
+ ldr r5, _08036AC8 @ =0x000003F6
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _08036ACC
+ movs r0, #0x48
+ strh r0, [r2]
+ movs r0, #0xfa
+ lsls r0, r0, #2
+ adds r1, r1, r0
+ ldrh r0, [r1]
+ subs r0, #0xf0
+ b _08036ADA
+ .align 2, 0
+_08036AC4: .4byte 0x000003FA
+_08036AC8: .4byte 0x000003F6
+_08036ACC:
+ movs r0, #0x49
+ strh r0, [r2]
+ movs r2, #0xfa
+ lsls r2, r2, #2
+ adds r1, r1, r2
+ ldrh r0, [r1]
+ adds r0, #0xf0
+_08036ADA:
+ strh r0, [r1]
+ mov r3, r8
+ ldr r0, [r3]
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ movs r1, #5
+ strb r1, [r0]
+ ldr r0, [r3]
+ movs r5, #0xf9
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ movs r1, #0x14
+ strh r1, [r0]
+ bl Random
+ mov r1, r8
+ ldr r2, [r1]
+ ldr r1, _08036B14 @ =gMain
+ ldr r1, [r1, #0x4c]
+ muls r0, r1, r0
+ movs r1, #3
+ ands r0, r1
+ adds r0, #3
+ movs r3, #0xfd
+ lsls r3, r3, #2
+ adds r2, r2, r3
+ strb r0, [r2]
+ b _08036C9E
+ .align 2, 0
+_08036B14: .4byte gMain
+_08036B18:
+ ldr r4, _08036B38 @ =0x000003F6
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _08036B3C
+ movs r0, #0x48
+ strh r0, [r2]
+ movs r5, #0xfa
+ lsls r5, r5, #2
+ adds r1, r1, r5
+ ldrh r0, [r1]
+ subs r0, #0xf0
+ b _08036B4A
+ .align 2, 0
+_08036B38: .4byte 0x000003F6
+_08036B3C:
+ movs r0, #0x49
+ strh r0, [r2]
+ movs r0, #0xfa
+ lsls r0, r0, #2
+ adds r1, r1, r0
+ ldrh r0, [r1]
+ adds r0, #0xf0
+_08036B4A:
+ strh r0, [r1]
+ mov r2, r8
+ ldr r1, [r2]
+ movs r3, #0xf9
+ lsls r3, r3, #2
+ adds r2, r1, r3
+ movs r0, #0
+ strh r0, [r2]
+ ldr r4, _08036B70 @ =0x0000040E
+ adds r0, r1, r4
+ ldrh r0, [r0]
+ cmp r0, #7
+ bhi _08036B74
+ movs r5, #0xf7
+ lsls r5, r5, #2
+ adds r1, r1, r5
+ movs r0, #3
+ strb r0, [r1]
+ b _08036C9E
+ .align 2, 0
+_08036B70: .4byte 0x0000040E
+_08036B74:
+ ldr r0, _08036B88 @ =0x000003F5
+ adds r1, r1, r0
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ beq _08036B8C
+ movs r0, #0x14
+ strh r0, [r2]
+ b _08036B92
+ .align 2, 0
+_08036B88: .4byte 0x000003F5
+_08036B8C:
+ strh r0, [r2]
+ movs r0, #1
+ strb r0, [r1]
+_08036B92:
+ mov r1, r8
+ ldr r0, [r1]
+ movs r2, #0xf7
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ movs r1, #5
+ strb r1, [r0]
+ b _08036C9E
+_08036BA2:
+ mov r3, r8
+ ldr r4, [r3]
+ ldr r5, _08036BD8 @ =0x000003FA
+ adds r0, r4, r5
+ movs r5, #0
+ strh r5, [r0]
+ ldr r2, _08036BDC @ =0x086AE718
+ ldr r6, _08036BE0 @ =0x000003E2
+ adds r3, r4, r6
+ movs r0, #0
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r0, r2
+ bls _08036BE4
+_08036BD0:
+ adds r0, r2, #1
+ strh r0, [r1]
+ b _08036C9E
+ .align 2, 0
+_08036BD8: .4byte 0x000003FA
+_08036BDC: .4byte 0x086AE718
+_08036BE0: .4byte 0x000003E2
+_08036BE4:
+ strh r5, [r1]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ movs r5, #0
+ ldrsh r1, [r3, r5]
+ ldr r5, _08036C50 @ =0x000003DE
+ adds r0, r4, r5
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ adds r0, r2, #0
+ adds r0, #0x13
+ cmp r1, r0
+ bne _08036C0E
+ subs r0, #1
+ strh r0, [r3]
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r4, r0
+ movs r0, #0xf
+ strb r0, [r1]
+_08036C0E:
+ mov r1, r8
+ ldr r0, [r1]
+ adds r1, r0, r6
+ movs r2, #0
+ ldrsh r1, [r1, r2]
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #6
+ cmp r1, r0
+ bne _08036C2E
+ ldr r0, _08036C54 @ =0x02032F20
+ ldr r1, _08036C58 @ =0x086A1CCC
+ bl MPlayStart
+_08036C2E:
+ mov r3, r8
+ ldr r0, [r3]
+ adds r1, r0, r6
+ movs r4, #0
+ ldrsh r1, [r1, r4]
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #8
+ cmp r1, r0
+ bne _08036C9E
+ ldr r0, _08036C54 @ =0x02032F20
+ ldr r1, _08036C5C @ =0x086A1D64
+ bl MPlayStart
+ b _08036C9E
+ .align 2, 0
+_08036C50: .4byte 0x000003DE
+_08036C54: .4byte 0x02032F20
+_08036C58: .4byte 0x086A1CCC
+_08036C5C: .4byte 0x086A1D64
+_08036C60:
+ mov r5, r8
+ ldr r2, [r5]
+ movs r3, #0xf9
+ lsls r3, r3, #2
+ adds r0, r2, r3
+ ldrh r1, [r0]
+ cmp r1, #0x63
+ bhi _08036C88
+ cmp r1, #0
+ bne _08036C7C
+ movs r0, #2
+ strb r0, [r2, #0x13]
+ ldr r0, [r5]
+ strh r1, [r0, #0x18]
+_08036C7C:
+ mov r0, r8
+ ldr r1, [r0]
+ adds r1, r1, r3
+ ldrh r0, [r1]
+ adds r0, #1
+ strh r0, [r1]
+_08036C88:
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r2, _08036CAC @ =0x000003DE
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ lsls r1, r1, #0x18
+ asrs r1, r1, #0x18
+ adds r1, #0xf
+ ldr r3, _08036CB0 @ =0x000003E2
+ adds r0, r0, r3
+ strh r1, [r0]
+_08036C9E:
+ add sp, #8
+ pop {r3, r4}
+ mov r8, r3
+ mov sb, r4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08036CAC: .4byte 0x000003DE
+_08036CB0: .4byte 0x000003E2
+
+ thumb_func_start sub_36CB4
+sub_36CB4: @ 0x08036CB4
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #8
+ ldr r0, _08036DBC @ =0x02031590
+ ldrb r1, [r0, #0x17]
+ movs r0, #0xb8
+ muls r1, r0, r1
+ ldr r0, _08036DC0 @ =0x0200B3B8
+ adds r5, r1, r0
+ ldrh r0, [r5]
+ cmp r0, #0
+ bne _08036CD4
+ b _080372A2
+_08036CD4:
+ ldr r0, _08036DC4 @ =gUnknown_020314E0
+ mov sb, r0
+ ldr r0, [r0]
+ ldr r1, _08036DC8 @ =0x000003DF
+ adds r3, r0, r1
+ movs r2, #0
+ ldrsb r2, [r3, r2]
+ lsls r2, r2, #0x10
+ ldr r6, _08036DCC @ =0x086AE718
+ ldr r4, _08036DD0 @ =0x000003E2
+ adds r0, r0, r4
+ movs r7, #0
+ ldrsh r1, [r0, r7]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r1, r6, #4
+ adds r0, r0, r1
+ ldrh r0, [r0]
+ strb r0, [r3]
+ ldr r3, _08036DD4 @ =0x040000D4
+ lsrs r0, r2, #0x10
+ str r0, [sp]
+ asrs r2, r2, #0x10
+ lsls r0, r2, #2
+ adds r0, r0, r2
+ lsls r0, r0, #7
+ ldr r1, _08036DD8 @ =0x0844F98C
+ adds r0, r0, r1
+ str r0, [r3]
+ ldr r0, _08036DDC @ =0x06010920
+ str r0, [r3, #4]
+ ldr r0, _08036DE0 @ =0x80000140
+ str r0, [r3, #8]
+ ldr r0, [r3, #8]
+ mov r1, sb
+ ldr r7, [r1]
+ adds r4, r7, r4
+ movs r2, #0
+ ldrsh r1, [r4, r2]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r0, r0, r6
+ ldrh r0, [r0]
+ mov sl, r0
+ movs r3, #0xfa
+ lsls r3, r3, #2
+ adds r6, r7, r3
+ movs r1, #0
+ ldrsh r0, [r6, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x68
+ adds r1, r7, #0
+ adds r1, #0x58
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ strh r0, [r5, #2]
+ ldr r2, _08036DE4 @ =0x000003EA
+ adds r2, r2, r7
+ mov r8, r2
+ movs r3, #0
+ ldrsh r0, [r2, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x1c
+ adds r1, r7, #0
+ adds r1, #0x5a
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ strh r0, [r5, #4]
+ ldrh r4, [r4]
+ adds r0, r4, #0
+ subs r0, #0x1c
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #2
+ bhi _08036DF4
+ movs r4, #0
+ ldrsh r0, [r6, r4]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0x90
+ movs r2, #0xfc
+ lsls r2, r2, #2
+ adds r1, r7, r2
+ strh r0, [r1]
+ mov r3, r8
+ movs r4, #0
+ ldrsh r0, [r3, r4]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0x54
+ ldr r2, _08036DE8 @ =0x000003F2
+ adds r1, r7, r2
+ strh r0, [r1]
+ ldr r3, _08036DEC @ =0x00000385
+ adds r0, r7, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #9
+ bgt _08036E9A
+ ldr r4, _08036DF0 @ =0x00000387
+ adds r1, r7, r4
+ movs r0, #2
+ b _08036E98
+ .align 2, 0
+_08036DBC: .4byte 0x02031590
+_08036DC0: .4byte 0x0200B3B8
+_08036DC4: .4byte gUnknown_020314E0
+_08036DC8: .4byte 0x000003DF
+_08036DCC: .4byte 0x086AE718
+_08036DD0: .4byte 0x000003E2
+_08036DD4: .4byte 0x040000D4
+_08036DD8: .4byte 0x0844F98C
+_08036DDC: .4byte 0x06010920
+_08036DE0: .4byte 0x80000140
+_08036DE4: .4byte 0x000003EA
+_08036DE8: .4byte 0x000003F2
+_08036DEC: .4byte 0x00000385
+_08036DF0: .4byte 0x00000387
+_08036DF4:
+ adds r0, r4, #0
+ subs r0, #0x21
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #2
+ bhi _08036E54
+ movs r1, #0
+ ldrsh r0, [r6, r1]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0xf0
+ movs r2, #0xfc
+ lsls r2, r2, #2
+ adds r1, r7, r2
+ strh r0, [r1]
+ mov r3, r8
+ movs r4, #0
+ ldrsh r0, [r3, r4]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0x54
+ ldr r2, _08036E48 @ =0x000003F2
+ adds r1, r7, r2
+ strh r0, [r1]
+ ldr r3, _08036E4C @ =0x00000385
+ adds r0, r7, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #9
+ bgt _08036E9A
+ ldr r4, _08036E50 @ =0x00000387
+ adds r1, r7, r4
+ movs r0, #2
+ b _08036E98
+ .align 2, 0
+_08036E48: .4byte 0x000003F2
+_08036E4C: .4byte 0x00000385
+_08036E50: .4byte 0x00000387
+_08036E54:
+ movs r1, #0
+ ldrsh r0, [r6, r1]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0xd0
+ movs r2, #0xfc
+ lsls r2, r2, #2
+ adds r1, r7, r2
+ strh r0, [r1]
+ mov r3, r8
+ movs r4, #0
+ ldrsh r0, [r3, r4]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0x38
+ ldr r2, _08036EDC @ =0x000003F2
+ adds r1, r7, r2
+ strh r0, [r1]
+ ldr r3, _08036EE0 @ =0x00000385
+ adds r0, r7, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #9
+ bgt _08036E9A
+ ldr r4, _08036EE4 @ =0x00000387
+ adds r1, r7, r4
+ movs r0, #1
+_08036E98:
+ strb r0, [r1]
+_08036E9A:
+ ldr r7, _08036EE8 @ =gUnknown_020314E0
+ ldr r4, [r7]
+ movs r1, #0xfa
+ lsls r1, r1, #2
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x78
+ movs r3, #0x80
+ lsls r3, r3, #3
+ adds r1, r4, r3
+ strh r0, [r1]
+ ldr r7, _08036EEC @ =0x000003EA
+ adds r0, r4, r7
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x3a
+ ldr r2, _08036EF0 @ =0x00000402
+ adds r1, r4, r2
+ strh r0, [r1]
+ ldr r3, _08036EF4 @ =0x0000040E
+ adds r0, r4, r3
+ ldrh r0, [r0]
+ cmp r0, #7
+ bls _08036EF8
+ adds r7, #0xd
+ b _08036F16
+ .align 2, 0
+_08036EDC: .4byte 0x000003F2
+_08036EE0: .4byte 0x00000385
+_08036EE4: .4byte 0x00000387
+_08036EE8: .4byte gUnknown_020314E0
+_08036EEC: .4byte 0x000003EA
+_08036EF0: .4byte 0x00000402
+_08036EF4: .4byte 0x0000040E
+_08036EF8:
+ ldr r1, _08036F0C @ =0x000003FA
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ cmp r0, #0xf
+ ble _08036F14
+ ldr r3, _08036F10 @ =0x000003F7
+ adds r1, r4, r3
+ movs r0, #0
+ b _08036F1A
+ .align 2, 0
+_08036F0C: .4byte 0x000003FA
+_08036F10: .4byte 0x000003F7
+_08036F14:
+ ldr r7, _08036FD8 @ =0x000003F7
+_08036F16:
+ adds r1, r4, r7
+ movs r0, #1
+_08036F1A:
+ strb r0, [r1]
+ movs r7, #0
+ ldr r0, _08036FDC @ =gOamBuffer
+ mov r8, r0
+ mov r1, sl
+ lsls r1, r1, #0x10
+ str r1, [sp, #4]
+ mov ip, r8
+ asrs r1, r1, #0x10
+ mov sb, r1
+ movs r2, #0xf
+ mov sl, r2
+_08036F32:
+ lsls r2, r7, #0x10
+ asrs r2, r2, #0x10
+ lsls r0, r2, #3
+ adds r0, #8
+ adds r6, r5, r0
+ ldrh r0, [r6]
+ lsls r0, r0, #3
+ mov r3, ip
+ adds r4, r0, r3
+ mov r0, sb
+ lsls r1, r0, #1
+ add r1, sb
+ lsls r1, r1, #2
+ lsls r0, r2, #1
+ adds r0, r0, r2
+ lsls r0, r0, #1
+ ldr r2, _08036FE0 @ =0x086B9DAC
+ adds r0, r0, r2
+ adds r1, r1, r0
+ ldrh r0, [r1]
+ strh r0, [r4]
+ adds r1, #2
+ adds r4, #2
+ ldrh r0, [r1]
+ strh r0, [r4]
+ ldrh r0, [r1, #2]
+ strh r0, [r4, #2]
+ ldr r3, _08036FE4 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldr r4, _08036FD8 @ =0x000003F7
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08037008
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ add r2, r8
+ ldrh r3, [r2, #2]
+ lsls r1, r3, #0x17
+ lsrs r1, r1, #0x17
+ movs r4, #2
+ ldrsh r0, [r5, r4]
+ adds r1, r1, r0
+ ldr r4, _08036FE8 @ =0x000001FF
+ adds r0, r4, #0
+ ands r1, r0
+ ldr r0, _08036FEC @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ add r1, r8
+ ldrb r0, [r5, #4]
+ ldrb r2, [r1]
+ adds r0, r0, r2
+ strb r0, [r1]
+ ldr r3, _08036FE4 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ ldr r4, _08036FF0 @ =0x000003DF
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x14
+ bne _08036FF4
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ cmp r0, #9
+ bhi _08036FF4
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ add r2, ip
+ ldrb r1, [r2, #5]
+ mov r0, sl
+ ands r0, r1
+ movs r1, #0xa0
+ b _08037002
+ .align 2, 0
+_08036FD8: .4byte 0x000003F7
+_08036FDC: .4byte gOamBuffer
+_08036FE0: .4byte 0x086B9DAC
+_08036FE4: .4byte gUnknown_020314E0
+_08036FE8: .4byte 0x000001FF
+_08036FEC: .4byte 0xFFFFFE00
+_08036FF0: .4byte 0x000003DF
+_08036FF4:
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ add r2, ip
+ ldrb r1, [r2, #5]
+ mov r0, sl
+ ands r0, r1
+ movs r1, #0x20
+_08037002:
+ orrs r0, r1
+ strb r0, [r2, #5]
+ b _08037024
+_08037008:
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ add r2, r8
+ ldrh r1, [r2, #2]
+ ldr r0, _08037120 @ =0xFFFFFE00
+ ands r0, r1
+ movs r1, #0xf0
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r0, [r6]
+ lsls r0, r0, #3
+ add r0, r8
+ movs r1, #0xb4
+ strb r1, [r0]
+_08037024:
+ lsls r0, r7, #0x10
+ movs r3, #0x80
+ lsls r3, r3, #9
+ adds r0, r0, r3
+ lsrs r7, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #1
+ bgt _08037036
+ b _08036F32
+_08037036:
+ ldr r5, _08037124 @ =0x0200CA00
+ ldr r7, _08037128 @ =gUnknown_020314E0
+ ldr r4, [r7]
+ movs r1, #0xfa
+ lsls r1, r1, #2
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x68
+ adds r4, #0x58
+ ldrh r1, [r4]
+ subs r0, r0, r1
+ strh r0, [r5, #2]
+ ldr r4, [r7]
+ ldr r3, _0803712C @ =0x000003EA
+ adds r0, r4, r3
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x3c
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r0, r0, r1
+ strh r0, [r5, #4]
+ movs r7, #0
+ ldr r0, _08037130 @ =gOamBuffer
+ mov ip, r0
+ ldr r1, [sp, #4]
+ asrs r1, r1, #0x10
+ mov sb, r1
+ movs r2, #0xf
+ mov sl, r2
+_08037080:
+ lsls r3, r7, #0x10
+ asrs r2, r3, #0x10
+ lsls r0, r2, #3
+ adds r0, #8
+ adds r6, r5, r0
+ ldrh r0, [r6]
+ lsls r0, r0, #3
+ mov r7, ip
+ adds r4, r0, r7
+ mov r0, sb
+ lsls r1, r0, #1
+ add r1, sb
+ lsls r1, r1, #2
+ lsls r0, r2, #1
+ adds r0, r0, r2
+ lsls r0, r0, #1
+ ldr r2, _08037134 @ =0x086B9AB8
+ adds r0, r0, r2
+ adds r1, r1, r0
+ ldrh r0, [r1]
+ strh r0, [r4]
+ adds r1, #2
+ adds r4, #2
+ ldrh r0, [r1]
+ strh r0, [r4]
+ ldrh r0, [r1, #2]
+ strh r0, [r4, #2]
+ ldr r4, _08037128 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r7, _08037138 @ =0x000003F7
+ adds r0, r0, r7
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r4, r3, #0
+ cmp r0, #0
+ beq _08037154
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ add r2, r8
+ ldrh r3, [r2, #2]
+ lsls r1, r3, #0x17
+ lsrs r1, r1, #0x17
+ movs r7, #2
+ ldrsh r0, [r5, r7]
+ adds r1, r1, r0
+ ldr r7, _0803713C @ =0x000001FF
+ adds r0, r7, #0
+ ands r1, r0
+ ldr r0, _08037120 @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ add r1, r8
+ ldrb r0, [r5, #4]
+ ldrb r2, [r1]
+ adds r0, r0, r2
+ strb r0, [r1]
+ ldr r3, [sp]
+ cmp r3, #0x14
+ bne _08037140
+ ldr r7, _08037128 @ =gUnknown_020314E0
+ ldr r0, [r7]
+ movs r1, #0xf9
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ ldrh r0, [r0]
+ cmp r0, #9
+ bhi _08037140
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ add r2, ip
+ ldrb r1, [r2, #5]
+ mov r0, sl
+ ands r0, r1
+ movs r1, #0xb0
+ b _0803714E
+ .align 2, 0
+_08037120: .4byte 0xFFFFFE00
+_08037124: .4byte 0x0200CA00
+_08037128: .4byte gUnknown_020314E0
+_0803712C: .4byte 0x000003EA
+_08037130: .4byte gOamBuffer
+_08037134: .4byte 0x086B9AB8
+_08037138: .4byte 0x000003F7
+_0803713C: .4byte 0x000001FF
+_08037140:
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ add r2, ip
+ ldrb r1, [r2, #5]
+ mov r0, sl
+ ands r0, r1
+ movs r1, #0x40
+_0803714E:
+ orrs r0, r1
+ strb r0, [r2, #5]
+ b _08037170
+_08037154:
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ add r2, r8
+ ldrh r1, [r2, #2]
+ ldr r0, _08037208 @ =0xFFFFFE00
+ ands r0, r1
+ movs r1, #0xf0
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r0, [r6]
+ lsls r0, r0, #3
+ add r0, r8
+ movs r1, #0xb4
+ strb r1, [r0]
+_08037170:
+ movs r2, #0x80
+ lsls r2, r2, #9
+ adds r0, r4, r2
+ lsrs r7, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #1
+ bgt _08037180
+ b _08037080
+_08037180:
+ ldr r5, _0803720C @ =0x0200BA30
+ ldr r3, _08037210 @ =gUnknown_020314E0
+ ldr r2, [r3]
+ movs r4, #0xfe
+ lsls r4, r4, #2
+ adds r0, r2, r4
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #1
+ adds r3, r0, r1
+ movs r6, #0xff
+ lsls r6, r6, #2
+ adds r2, r2, r6
+ movs r7, #0
+ ldrsh r0, [r2, r7]
+ cmp r0, #0
+ bge _080371A4
+ adds r0, #7
+_080371A4:
+ asrs r0, r0, #3
+ subs r0, #2
+ ldr r1, _08037214 @ =0x040000D4
+ subs r0, r3, r0
+ lsls r0, r0, #8
+ ldr r2, _08037218 @ =0x0845588C
+ adds r0, r0, r2
+ str r0, [r1]
+ ldr r0, _0803721C @ =0x06010BA0
+ str r0, [r1, #4]
+ ldr r0, _08037220 @ =0x80000080
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r3, _08037210 @ =gUnknown_020314E0
+ ldr r4, [r3]
+ adds r1, r4, r6
+ ldrh r2, [r1]
+ movs r7, #0
+ ldrsh r0, [r1, r7]
+ cmp r0, #0
+ ble _08037228
+ subs r0, r2, #1
+ strh r0, [r1]
+ movs r1, #0xfa
+ lsls r1, r1, #2
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x68
+ adds r1, r4, #0
+ adds r1, #0x58
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ strh r0, [r5, #2]
+ ldr r3, _08037224 @ =0x000003EA
+ adds r0, r4, r3
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ movs r1, #0xa
+ bl __divsi3
+ adds r1, r4, #0
+ adds r1, #0x5a
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ adds r0, #0x1a
+ b _0803722E
+ .align 2, 0
+_08037208: .4byte 0xFFFFFE00
+_0803720C: .4byte 0x0200BA30
+_08037210: .4byte gUnknown_020314E0
+_08037214: .4byte 0x040000D4
+_08037218: .4byte 0x0845588C
+_0803721C: .4byte 0x06010BA0
+_08037220: .4byte 0x80000080
+_08037224: .4byte 0x000003EA
+_08037228:
+ movs r0, #0
+ strh r0, [r5, #2]
+ movs r0, #0xb4
+_0803722E:
+ strh r0, [r5, #4]
+ adds r6, r5, #0
+ adds r6, #8
+ ldrh r2, [r5, #8]
+ lsls r2, r2, #3
+ add r2, r8
+ movs r0, #2
+ ldrsh r1, [r6, r0]
+ movs r3, #2
+ ldrsh r0, [r5, r3]
+ adds r1, r1, r0
+ ldr r4, _08037284 @ =0x000001FF
+ adds r0, r4, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ ldr r0, _08037288 @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r5, #8]
+ lsls r1, r1, #3
+ add r1, r8
+ ldrb r0, [r5, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+ ldr r7, _0803728C @ =gUnknown_020314E0
+ ldr r0, [r7]
+ ldr r1, _08037290 @ =0x000003F6
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _08037294
+ ldrh r0, [r5, #8]
+ lsls r0, r0, #3
+ add r0, r8
+ ldrb r2, [r0, #3]
+ movs r1, #0x11
+ rsbs r1, r1, #0
+ ands r1, r2
+ b _080372A0
+ .align 2, 0
+_08037284: .4byte 0x000001FF
+_08037288: .4byte 0xFFFFFE00
+_0803728C: .4byte gUnknown_020314E0
+_08037290: .4byte 0x000003F6
+_08037294:
+ ldrh r0, [r5, #8]
+ lsls r0, r0, #3
+ add r0, r8
+ ldrb r1, [r0, #3]
+ movs r2, #0x10
+ orrs r1, r2
+_080372A0:
+ strb r1, [r0, #3]
+_080372A2:
+ add sp, #8
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+
+ thumb_func_start sub_372B4
+sub_372B4: @ 0x080372B4
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ ldr r0, _08037478 @ =0x0200C4F8
+ mov sl, r0
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _080372CA
+ b _08037500
+_080372CA:
+ ldr r1, _0803747C @ =gUnknown_020314E0
+ mov sb, r1
+ ldr r1, [r1]
+ ldr r2, _08037480 @ =0x00000404
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _080372E0
+ b _080374C0
+_080372E0:
+ ldr r3, _08037484 @ =0x0000040A
+ mov r8, r3
+ adds r0, r1, r3
+ ldrh r5, [r0]
+ cmp r5, #0
+ bne _08037318
+ bl Random
+ mov r1, sb
+ ldr r4, [r1]
+ ldr r1, _08037488 @ =0xFFFFEBC8
+ add r1, sl
+ ldr r1, [r1, #0x4c]
+ muls r0, r1, r0
+ movs r1, #5
+ bl __umodsi3
+ ldr r2, _0803748C @ =0x00000405
+ adds r4, r4, r2
+ strb r0, [r4]
+ mov r3, sb
+ ldr r0, [r3]
+ adds r2, #0x11
+ adds r1, r0, r2
+ strh r5, [r1]
+ ldr r3, _08037490 @ =0x0000041A
+ adds r0, r0, r3
+ strh r5, [r0]
+_08037318:
+ mov r1, sb
+ ldr r0, [r1]
+ mov r2, r8
+ adds r1, r0, r2
+ ldrh r0, [r1]
+ cmp r0, #0x27
+ bhi _0803732A
+ adds r0, #1
+ strh r0, [r1]
+_0803732A:
+ mov r3, sb
+ ldr r0, [r3]
+ add r0, r8
+ ldrh r0, [r0]
+ cmp r0, #0x14
+ bne _0803733C
+ ldr r0, _08037494 @ =0x02032F60
+ bl m4aMPlayStop
+_0803733C:
+ mov r1, sb
+ ldr r0, [r1]
+ add r0, r8
+ ldrh r0, [r0]
+ cmp r0, #0x16
+ bne _0803734E
+ ldr r0, _08037498 @ =0x00000105
+ bl m4aSongNumStart
+_0803734E:
+ mov r2, sb
+ ldr r4, [r2]
+ mov r3, r8
+ adds r0, r4, r3
+ ldrh r0, [r0]
+ cmp r0, #0x14
+ bhi _0803735E
+ b _080374B4
+_0803735E:
+ ldr r0, _0803749C @ =0x00000414
+ adds r1, r4, r0
+ movs r0, #4
+ strh r0, [r1]
+ ldr r1, _080374A0 @ =0x00000416
+ adds r5, r4, r1
+ ldrh r0, [r5]
+ adds r0, #3
+ strh r0, [r5]
+ ldr r3, _080374A4 @ =0x086AEA3C
+ ldr r0, _0803748C @ =0x00000405
+ adds r2, r4, r0
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ lsls r0, r0, #2
+ adds r0, r0, r3
+ ldrh r0, [r0]
+ mov r8, r0
+ adds r1, #2
+ adds r0, r4, r1
+ mov r1, r8
+ strh r1, [r0]
+ ldr r0, _08037490 @ =0x0000041A
+ adds r4, r4, r0
+ ldrh r0, [r5]
+ ldrh r1, [r4]
+ adds r0, r0, r1
+ strh r0, [r4]
+ movs r1, #0
+ ldrsb r1, [r2, r1]
+ lsls r1, r1, #2
+ adds r1, r1, r3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ ldrh r2, [r1, #2]
+ movs r3, #2
+ ldrsh r1, [r1, r3]
+ cmp r0, r1
+ ble _080373BC
+ strh r2, [r4]
+ movs r1, #0
+ ldrsh r0, [r5, r1]
+ movs r1, #6
+ bl __divsi3
+ rsbs r0, r0, #0
+ strh r0, [r5]
+_080373BC:
+ mov r2, sb
+ ldr r2, [r2]
+ mov r8, r2
+ ldr r0, _080374A8 @ =0x0000132C
+ add r0, r8
+ ldr r5, [r0]
+ movs r3, #0x10
+ ldrsh r4, [r5, r3]
+ subs r4, #8
+ movs r0, #0x83
+ lsls r0, r0, #3
+ add r0, r8
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ subs r6, r4, r0
+ movs r2, #0x12
+ ldrsh r4, [r5, r2]
+ subs r4, #8
+ ldr r0, _08037490 @ =0x0000041A
+ add r0, r8
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ subs r7, r4, r0
+ adds r0, r6, #0
+ muls r0, r6, r0
+ adds r1, r7, #0
+ muls r1, r7, r1
+ adds r0, r0, r1
+ cmp r0, #0x78
+ bgt _08037438
+ ldr r1, _08037480 @ =0x00000404
+ add r1, r8
+ movs r0, #0
+ strb r0, [r1]
+ mov r6, sb
+ ldr r0, [r6]
+ ldr r1, _080374AC @ =0x00000406
+ adds r0, r0, r1
+ movs r1, #1
+ strb r1, [r0]
+ ldr r2, [r6]
+ movs r3, #0x81
+ lsls r3, r3, #3
+ adds r1, r2, r3
+ movs r0, #0
+ strh r0, [r1]
+ ldr r0, _080374B0 @ =0x00002710
+ str r0, [r2, #0x3c]
+ movs r0, #0x83
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_08037438:
+ mov r6, sb
+ ldr r5, [r6]
+ adds r0, r5, #0
+ adds r0, #0x58
+ ldrh r4, [r0]
+ rsbs r4, r4, #0
+ movs r1, #0x83
+ lsls r1, r1, #3
+ adds r0, r5, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, r4, r0
+ mov r3, sl
+ strh r4, [r3, #2]
+ adds r0, r5, #0
+ adds r0, #0x5a
+ ldrh r4, [r0]
+ rsbs r4, r4, #0
+ ldr r6, _08037490 @ =0x0000041A
+ adds r5, r5, r6
+ movs r1, #0
+ ldrsh r0, [r5, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, r4, r0
+ mov r2, sl
+ strh r4, [r2, #4]
+ b _080374C8
+ .align 2, 0
+_08037478: .4byte 0x0200C4F8
+_0803747C: .4byte gUnknown_020314E0
+_08037480: .4byte 0x00000404
+_08037484: .4byte 0x0000040A
+_08037488: .4byte 0xFFFFEBC8
+_0803748C: .4byte 0x00000405
+_08037490: .4byte 0x0000041A
+_08037494: .4byte 0x02032F60
+_08037498: .4byte 0x00000105
+_0803749C: .4byte 0x00000414
+_080374A0: .4byte 0x00000416
+_080374A4: .4byte 0x086AEA3C
+_080374A8: .4byte 0x0000132C
+_080374AC: .4byte 0x00000406
+_080374B0: .4byte 0x00002710
+_080374B4:
+ movs r0, #0
+ mov r3, sl
+ strh r0, [r3, #2]
+ movs r0, #0xb4
+ strh r0, [r3, #4]
+ b _080374C8
+_080374C0:
+ mov r6, sl
+ strh r0, [r6, #2]
+ movs r0, #0xb4
+ strh r0, [r6, #4]
+_080374C8:
+ mov r5, sl
+ adds r5, #8
+ ldr r4, _08037510 @ =gOamBuffer
+ mov r0, sl
+ ldrh r2, [r0, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ movs r3, #2
+ ldrsh r1, [r5, r3]
+ movs r6, #2
+ ldrsh r0, [r0, r6]
+ adds r1, r1, r0
+ ldr r3, _08037514 @ =0x000001FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ ldr r0, _08037518 @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ mov r6, sl
+ ldrh r1, [r6, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+_08037500:
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08037510: .4byte gOamBuffer
+_08037514: .4byte 0x000001FF
+_08037518: .4byte 0xFFFFFE00
+
+ thumb_func_start sub_3751C
+sub_3751C: @ 0x0803751C
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #4
+ ldr r1, _08037550 @ =gUnknown_020314E0
+ ldr r3, [r1]
+ ldr r0, _08037554 @ =0x00000406
+ adds r4, r3, r0
+ movs r0, #0
+ ldrsb r0, [r4, r0]
+ mov sb, r1
+ cmp r0, #0
+ beq _08037564
+ movs r1, #0x81
+ lsls r1, r1, #3
+ adds r2, r3, r1
+ ldrh r1, [r2]
+ ldr r0, _08037558 @ =0x00000257
+ cmp r1, r0
+ bhi _0803755C
+ adds r0, r1, #1
+ strh r0, [r2]
+ b _08037564
+ .align 2, 0
+_08037550: .4byte gUnknown_020314E0
+_08037554: .4byte 0x00000406
+_08037558: .4byte 0x00000257
+_0803755C:
+ movs r1, #0
+ movs r0, #0
+ strh r0, [r2]
+ strb r1, [r4]
+_08037564:
+ mov r2, sb
+ ldr r1, [r2]
+ ldr r3, _08037588 @ =0x00000406
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08037590
+ ldr r0, _0803758C @ =0x0000040E
+ adds r1, r1, r0
+ ldrh r0, [r1]
+ cmp r0, #9
+ bhi _080375AE
+ adds r0, #1
+ strh r0, [r1]
+ b _080375AE
+ .align 2, 0
+_08037588: .4byte 0x00000406
+_0803758C: .4byte 0x0000040E
+_08037590:
+ ldr r2, _080375A4 @ =0x0000040E
+ adds r3, r1, r2
+ ldrh r0, [r3]
+ adds r2, r0, #0
+ cmp r2, #0
+ beq _080375A8
+ subs r0, #1
+ strh r0, [r3]
+ b _080375AE
+ .align 2, 0
+_080375A4: .4byte 0x0000040E
+_080375A8:
+ ldr r3, _08037804 @ =0x000003F5
+ adds r0, r1, r3
+ strb r2, [r0]
+_080375AE:
+ ldr r3, _08037808 @ =gMain
+ mov r0, sb
+ ldr r2, [r0]
+ ldr r0, _0803780C @ =0x0000040E
+ adds r1, r2, r0
+ ldrh r0, [r1]
+ lsls r0, r0, #4
+ strh r0, [r3, #0x2e]
+ ldrh r1, [r1]
+ lsls r0, r1, #0x16
+ lsrs r0, r0, #0x10
+ mov r8, r0
+ lsls r1, r1, #1
+ movs r0, #0x14
+ subs r0, r0, r1
+ lsls r0, r0, #0x15
+ lsrs r4, r0, #0x10
+ movs r1, #0x81
+ lsls r1, r1, #3
+ adds r2, r2, r1
+ ldrh r0, [r2]
+ movs r1, #0x24
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #9
+ bl __udivsi3
+ ldr r2, _08037810 @ =0x086AEA60
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ lsls r1, r0, #1
+ adds r1, r1, r2
+ ldrh r1, [r1]
+ str r1, [sp]
+ ldr r1, _08037814 @ =0x086AEA50
+ lsls r0, r0, #2
+ adds r0, r0, r1
+ ldr r5, [r0]
+ movs r2, #0
+ mov r3, r8
+ lsls r0, r3, #0x10
+ asrs r1, r0, #0x10
+ cmp r2, r1
+ bge _0803763A
+ ldr r0, _08037818 @ =0x03006400
+ ldr r3, _0803781C @ =0xFFFFF800
+ adds r7, r0, r3
+ movs r6, #0x80
+ lsls r6, r6, #3
+ lsls r0, r4, #0x10
+ asrs r4, r0, #0x10
+ adds r3, r1, #0
+_0803761A:
+ lsls r1, r2, #0x10
+ asrs r1, r1, #0x10
+ adds r2, r1, r6
+ lsls r2, r2, #1
+ adds r2, r2, r7
+ adds r0, r4, r1
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ ldrh r0, [r0]
+ strh r0, [r2]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r2, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, r3
+ blt _0803761A
+_0803763A:
+ mov r0, r8
+ lsls r1, r0, #0x10
+ asrs r0, r1, #0x10
+ ldr r2, _08037820 @ =0x0000027F
+ cmp r0, r2
+ bgt _08037662
+ ldr r5, _08037824 @ =0x03005C00
+ movs r4, #0x80
+ lsls r4, r4, #3
+ ldr r3, _08037828 @ =0x000003FF
+_0803764E:
+ asrs r0, r1, #0x10
+ adds r1, r0, r4
+ lsls r1, r1, #1
+ adds r1, r1, r5
+ strh r3, [r1]
+ adds r0, #1
+ lsls r1, r0, #0x10
+ asrs r0, r1, #0x10
+ cmp r0, r2
+ ble _0803764E
+_08037662:
+ mov r1, sb
+ ldr r0, [r1]
+ movs r4, #0x81
+ lsls r4, r4, #3
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ movs r1, #0x96
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ mov sl, r0
+ lsls r1, r0, #0x10
+ ldr r2, _0803782C @ =0xFFF60000
+ adds r0, r1, r2
+ lsrs r0, r0, #0x10
+ cmp r0, #0x45
+ bhi _08037726
+ movs r3, #0
+ mov sb, r1
+ ldr r0, [sp]
+ lsls r1, r0, #0x10
+ ldr r2, _08037824 @ =0x03005C00
+ mov r8, r2
+ ldr r0, _08037830 @ =0x08327994
+ mov ip, r0
+ asrs r6, r1, #0xe
+ adds r7, r4, #0
+_0803769A:
+ movs r2, #0
+ lsls r3, r3, #0x10
+ asrs r1, r3, #0x10
+ adds r0, r1, #6
+ lsls r5, r0, #5
+ adds r1, #0x15
+ lsls r4, r1, #5
+_080376A8:
+ lsls r1, r2, #0x10
+ asrs r1, r1, #0x10
+ adds r2, r1, r7
+ adds r2, r5, r2
+ lsls r2, r2, #1
+ add r2, r8
+ adds r0, r1, r6
+ adds r0, r4, r0
+ lsls r0, r0, #1
+ add r0, ip
+ ldrh r0, [r0]
+ strh r0, [r2]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r2, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #3
+ ble _080376A8
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r3, r1
+ lsrs r3, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #2
+ ble _0803769A
+ mov r2, sb
+ asrs r0, r2, #0x10
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #5
+ ble _080376F0
+ movs r1, #5
+_080376F0:
+ movs r2, #0
+ lsls r0, r1, #0x10
+ asrs r0, r0, #0x10
+ cmp r2, r0
+ bge _08037726
+ ldr r7, _08037824 @ =0x03005C00
+ ldr r6, _08037834 @ =0x000004C3
+ ldr r5, _08037830 @ =0x08327994
+ movs r4, #0xbb
+ lsls r4, r4, #2
+ adds r3, r0, #0
+_08037706:
+ lsls r1, r2, #0x10
+ asrs r1, r1, #0x10
+ adds r2, r1, r6
+ lsls r2, r2, #1
+ adds r2, r2, r7
+ adds r0, r1, r4
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ ldrh r0, [r0]
+ strh r0, [r2]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r2, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, r3
+ blt _08037706
+_08037726:
+ mov r3, sl
+ lsls r1, r3, #0x10
+ ldr r2, _08037838 @ =0xFFB00000
+ adds r0, r1, r2
+ lsrs r0, r0, #0x10
+ mov sb, r1
+ cmp r0, #0x45
+ bhi _080377E2
+ movs r3, #0
+ ldr r0, [sp]
+ lsls r1, r0, #0x10
+ ldr r2, _08037824 @ =0x03005C00
+ mov ip, r2
+ ldr r0, _08037830 @ =0x08327994
+ mov r8, r0
+ asrs r1, r1, #0x10
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r6, r0, #0
+ adds r6, #0xc
+ ldr r7, _0803783C @ =0x00000411
+_08037752:
+ movs r2, #0
+ lsls r3, r3, #0x10
+ asrs r1, r3, #0x10
+ adds r0, r1, #0
+ adds r0, #0xe
+ lsls r5, r0, #5
+ adds r1, #0x15
+ lsls r4, r1, #5
+_08037762:
+ lsls r1, r2, #0x10
+ asrs r1, r1, #0x10
+ adds r2, r1, r7
+ adds r2, r5, r2
+ lsls r2, r2, #1
+ add r2, ip
+ adds r0, r1, r6
+ adds r0, r4, r0
+ lsls r0, r0, #1
+ add r0, r8
+ ldrh r0, [r0]
+ strh r0, [r2]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r2, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #5
+ ble _08037762
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r3, r1
+ lsrs r3, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #1
+ ble _08037752
+ mov r2, sb
+ asrs r0, r2, #0x10
+ subs r0, #0x46
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #5
+ ble _080377AC
+ movs r1, #5
+_080377AC:
+ movs r2, #0
+ lsls r0, r1, #0x10
+ asrs r0, r0, #0x10
+ cmp r2, r0
+ bge _080377E2
+ ldr r7, _08037824 @ =0x03005C00
+ ldr r6, _08037840 @ =0x000005F7
+ ldr r5, _08037830 @ =0x08327994
+ movs r4, #0xbb
+ lsls r4, r4, #2
+ adds r3, r0, #0
+_080377C2:
+ lsls r1, r2, #0x10
+ asrs r1, r1, #0x10
+ adds r2, r1, r6
+ lsls r2, r2, #1
+ adds r2, r2, r7
+ adds r0, r1, r4
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ ldrh r0, [r0]
+ strh r0, [r2]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r2, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, r3
+ blt _080377C2
+_080377E2:
+ ldr r1, _08037844 @ =0x040000D4
+ ldr r3, _08037818 @ =0x03006400
+ str r3, [r1]
+ ldr r0, _08037848 @ =0x06001000
+ str r0, [r1, #4]
+ ldr r0, _0803784C @ =0x80000280
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ add sp, #4
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08037804: .4byte 0x000003F5
+_08037808: .4byte gMain
+_0803780C: .4byte 0x0000040E
+_08037810: .4byte 0x086AEA60
+_08037814: .4byte 0x086AEA50
+_08037818: .4byte 0x03006400
+_0803781C: .4byte 0xFFFFF800
+_08037820: .4byte 0x0000027F
+_08037824: .4byte 0x03005C00
+_08037828: .4byte 0x000003FF
+_0803782C: .4byte 0xFFF60000
+_08037830: .4byte 0x08327994
+_08037834: .4byte 0x000004C3
+_08037838: .4byte 0xFFB00000
+_0803783C: .4byte 0x00000411
+_08037840: .4byte 0x000005F7
+_08037844: .4byte 0x040000D4
+_08037848: .4byte 0x06001000
+_0803784C: .4byte 0x80000280
+
+ thumb_func_start sub_37850
+sub_37850: @ 0x08037850
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #4
+ ldr r4, _08037C18 @ =gUnknown_020314E0
+ ldr r3, [r4]
+ movs r1, #0x80
+ lsls r1, r1, #3
+ adds r0, r3, r1
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ lsls r1, r1, #0x11
+ lsrs r1, r1, #0x10
+ ldr r2, _08037C1C @ =0xFFFF0000
+ ldr r0, [sp]
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp]
+ ldr r5, _08037C20 @ =0x00000402
+ adds r3, r3, r5
+ movs r2, #0
+ ldrsh r1, [r3, r2]
+ lsls r1, r1, #0x11
+ ldr r2, _08037C24 @ =0x0000FFFF
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp]
+ mov r0, sp
+ bl sub_17C1C
+ ldr r0, _08037C28 @ =0x02031590
+ ldrb r1, [r0, #0x10]
+ movs r0, #0xb8
+ muls r1, r0, r1
+ ldr r0, _08037C2C @ =0x0200B3B8
+ adds r6, r1, r0
+ ldr r1, [r4]
+ adds r0, r1, #0
+ adds r0, #0x58
+ ldrh r2, [r0]
+ movs r0, #0x78
+ subs r0, r0, r2
+ strh r0, [r6, #2]
+ adds r1, #0x5a
+ ldrh r0, [r1]
+ rsbs r0, r0, #0
+ subs r0, #0x80
+ strh r0, [r6, #4]
+ movs r2, #0
+ ldr r5, _08037C30 @ =gOamBuffer
+ ldr r3, _08037C34 @ =0xFFFFFE00
+ mov sb, r3
+_080378BC:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r7, r6, r0
+ ldrh r3, [r7]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ movs r0, #2
+ ldrsh r1, [r7, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r0, _08037C38 @ =0x000001FF
+ mov r8, r0
+ mov r2, r8
+ ands r1, r2
+ ldrh r2, [r3, #2]
+ mov r0, sb
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r7]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldrb r0, [r6, #4]
+ ldrb r7, [r7, #4]
+ adds r0, r0, r7
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #3
+ ble _080378BC
+ ldr r0, _08037C28 @ =0x02031590
+ ldrb r1, [r0, #0x11]
+ movs r0, #0xb8
+ muls r0, r1, r0
+ ldr r3, _08037C2C @ =0x0200B3B8
+ mov sb, r3
+ adds r6, r0, r3
+ ldr r5, _08037C18 @ =gUnknown_020314E0
+ ldr r1, [r5]
+ adds r0, r1, #0
+ adds r0, #0x58
+ ldrh r2, [r0]
+ movs r0, #0x78
+ subs r0, r0, r2
+ strh r0, [r6, #2]
+ adds r1, #0x5a
+ ldrh r0, [r1]
+ rsbs r0, r0, #0
+ subs r0, #0x80
+ strh r0, [r6, #4]
+ adds r7, r6, #0
+ adds r7, #8
+ ldr r4, _08037C30 @ =gOamBuffer
+ ldrh r2, [r6, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ movs r0, #2
+ ldrsh r1, [r7, r0]
+ movs r3, #2
+ ldrsh r0, [r6, r3]
+ adds r1, r1, r0
+ mov r0, r8
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ ldr r0, _08037C34 @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r6, #4]
+ ldrb r7, [r7, #4]
+ adds r0, r0, r7
+ strb r0, [r1]
+ movs r6, #0xa1
+ lsls r6, r6, #3
+ add r6, sb
+ ldr r0, [r5]
+ ldr r1, _08037C3C @ =0x0000040C
+ adds r0, r0, r1
+ ldrh r4, [r0]
+ adds r0, r4, #0
+ movs r1, #0xa
+ bl __umodsi3
+ movs r1, #5
+ subs r1, r1, r0
+ lsls r1, r1, #0x10
+ lsrs r5, r1, #0x10
+ movs r7, #0x14
+ cmp r4, #0x1e
+ bhi _08037988
+ movs r7, #5
+ cmp r4, #0xa
+ bls _08037988
+ movs r7, #0xa
+_08037988:
+ ldr r4, _08037C18 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r2, _08037C3C @ =0x0000040C
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ cmp r0, #0x28
+ bne _080379A4
+ movs r0, #0x82
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+ movs r0, #7
+ bl sub_11B0
+_080379A4:
+ lsls r0, r5, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0
+ bge _080379B2
+ rsbs r0, r0, #0
+ lsls r0, r0, #0x10
+ lsrs r5, r0, #0x10
+_080379B2:
+ lsls r1, r5, #0x10
+ asrs r1, r1, #0x10
+ movs r0, #5
+ subs r0, r0, r1
+ muls r0, r7, r0
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x78
+ ldr r2, [r4]
+ adds r1, r2, #0
+ adds r1, #0x58
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ adds r2, #0x5a
+ ldrh r0, [r2]
+ rsbs r0, r0, #0
+ subs r0, #0x80
+ strh r0, [r6, #4]
+ movs r2, #0
+ ldr r5, _08037C30 @ =gOamBuffer
+ ldr r3, _08037C34 @ =0xFFFFFE00
+ mov r8, r3
+_080379E2:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r7, r6, r0
+ ldrh r3, [r7]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ movs r0, #2
+ ldrsh r1, [r7, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08037C38 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r7]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldrb r0, [r6, #4]
+ ldrb r7, [r7, #4]
+ adds r0, r0, r7
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #4
+ ble _080379E2
+ ldr r3, _08037C18 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldr r5, _08037C3C @ =0x0000040C
+ adds r1, r0, r5
+ ldrh r0, [r1]
+ cmp r0, #0
+ beq _08037A38
+ subs r0, #1
+ strh r0, [r1]
+_08037A38:
+ movs r0, #0
+ mov r8, r0
+_08037A3C:
+ mov r1, r8
+ lsls r3, r1, #0x10
+ asrs r3, r3, #0x10
+ adds r0, r3, #0
+ adds r0, #0xa
+ ldr r2, _08037C28 @ =0x02031590
+ adds r0, r0, r2
+ ldrb r1, [r0]
+ movs r0, #0xb8
+ muls r0, r1, r0
+ ldr r5, _08037C2C @ =0x0200B3B8
+ adds r6, r0, r5
+ ldr r0, _08037C18 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ adds r0, r2, #0
+ adds r0, #0x58
+ ldrh r1, [r0]
+ movs r0, #0x78
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ adds r0, r2, #0
+ adds r0, #0x5a
+ ldrh r0, [r0]
+ rsbs r0, r0, #0
+ subs r0, #0x80
+ strh r0, [r6, #4]
+ movs r1, #0
+ mov sb, r1
+ movs r5, #0x84
+ lsls r5, r5, #3
+ adds r2, r2, r5
+ adds r4, r2, r3
+ ldrb r5, [r4]
+ movs r0, #0
+ ldrsb r0, [r4, r0]
+ cmp r0, #0
+ beq _08037AA6
+ movs r1, #0x18
+ bl __modsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ movs r1, #6
+ bl __divsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x17
+ ldr r1, _08037C40 @ =0x086AEA68
+ adds r0, r0, r1
+ ldrh r0, [r0]
+ mov sb, r0
+ subs r0, r5, #1
+ strb r0, [r4]
+_08037AA6:
+ movs r2, #0
+ mov r3, sb
+ lsls r0, r3, #0x10
+ ldr r5, _08037C30 @ =gOamBuffer
+ mov ip, r5
+ ldr r1, _08037C34 @ =0xFFFFFE00
+ mov sl, r1
+ asrs r1, r0, #0x10
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ adds r0, #0xd2
+ mov sb, r0
+_08037AC0:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r5, r4, #3
+ adds r0, r5, #0
+ adds r0, #8
+ adds r7, r6, r0
+ ldrh r2, [r7]
+ lsls r2, r2, #3
+ add r2, ip
+ movs r3, #2
+ ldrsh r1, [r7, r3]
+ movs r3, #2
+ ldrsh r0, [r6, r3]
+ adds r1, r1, r0
+ ldr r3, _08037C38 @ =0x000001FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ mov r0, sl
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r7]
+ lsls r1, r1, #3
+ add r1, ip
+ ldrb r0, [r6, #4]
+ ldrb r2, [r7, #4]
+ adds r0, r0, r2
+ strb r0, [r1]
+ ldrh r2, [r7]
+ lsls r2, r2, #3
+ add r2, ip
+ add r5, sb
+ ldr r3, _08037C44 @ =0x000003FF
+ adds r0, r3, #0
+ ands r5, r0
+ ldrh r0, [r2, #4]
+ ldr r3, _08037C48 @ =0xFFFFFC00
+ adds r1, r3, #0
+ ands r0, r1
+ orrs r0, r5
+ strh r0, [r2, #4]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #1
+ ble _08037AC0
+ mov r5, r8
+ lsls r0, r5, #0x10
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r0, r1
+ lsrs r2, r0, #0x10
+ mov r8, r2
+ asrs r0, r0, #0x10
+ cmp r0, #5
+ ble _08037A3C
+ movs r3, #6
+ mov r8, r3
+_08037B38:
+ mov r5, r8
+ lsls r4, r5, #0x10
+ asrs r3, r4, #0x10
+ adds r0, r3, #0
+ adds r0, #0xc
+ ldr r1, _08037C28 @ =0x02031590
+ adds r0, r0, r1
+ ldrb r1, [r0]
+ movs r0, #0xb8
+ muls r0, r1, r0
+ ldr r2, _08037C2C @ =0x0200B3B8
+ adds r6, r0, r2
+ ldr r5, _08037C18 @ =gUnknown_020314E0
+ ldr r2, [r5]
+ adds r0, r2, #0
+ adds r0, #0x58
+ ldrh r1, [r0]
+ movs r0, #0x78
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ adds r0, r2, #0
+ adds r0, #0x5a
+ ldrh r0, [r0]
+ rsbs r0, r0, #0
+ subs r0, #0x80
+ strh r0, [r6, #4]
+ movs r0, #0
+ mov sb, r0
+ movs r1, #0x84
+ lsls r1, r1, #3
+ adds r2, r2, r1
+ adds r5, r2, r3
+ ldrb r7, [r5]
+ movs r0, #0
+ ldrsb r0, [r5, r0]
+ mov sl, r4
+ cmp r0, #0
+ beq _08037BA4
+ movs r1, #0x18
+ bl __modsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ movs r1, #6
+ bl __divsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x17
+ ldr r2, _08037C40 @ =0x086AEA68
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ mov sb, r0
+ subs r0, r7, #1
+ strb r0, [r5]
+_08037BA4:
+ movs r2, #0
+ mov r3, sb
+ lsls r0, r3, #0x10
+ ldr r5, _08037C30 @ =gOamBuffer
+ mov ip, r5
+ ldr r1, _08037C34 @ =0xFFFFFE00
+ mov sb, r1
+ asrs r1, r0, #0x10
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ adds r0, #0xd2
+ mov r8, r0
+_08037BBE:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r5, r4, #3
+ adds r0, r5, #0
+ adds r0, #8
+ adds r7, r6, r0
+ ldrh r2, [r7]
+ lsls r2, r2, #3
+ add r2, ip
+ movs r3, #2
+ ldrsh r1, [r7, r3]
+ movs r3, #2
+ ldrsh r0, [r6, r3]
+ adds r1, r1, r0
+ ldr r3, _08037C38 @ =0x000001FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ mov r0, sb
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r7]
+ lsls r1, r1, #3
+ add r1, ip
+ ldrb r0, [r6, #4]
+ ldrb r2, [r7, #4]
+ adds r0, r0, r2
+ strb r0, [r1]
+ ldrh r2, [r7]
+ lsls r2, r2, #3
+ add r2, ip
+ add r5, r8
+ ldr r3, _08037C44 @ =0x000003FF
+ adds r0, r3, #0
+ ands r5, r0
+ ldrh r0, [r2, #4]
+ ldr r3, _08037C48 @ =0xFFFFFC00
+ adds r1, r3, #0
+ ands r0, r1
+ orrs r0, r5
+ strh r0, [r2, #4]
+ adds r4, #1
+ b _08037C4C
+ .align 2, 0
+_08037C18: .4byte gUnknown_020314E0
+_08037C1C: .4byte 0xFFFF0000
+_08037C20: .4byte 0x00000402
+_08037C24: .4byte 0x0000FFFF
+_08037C28: .4byte 0x02031590
+_08037C2C: .4byte 0x0200B3B8
+_08037C30: .4byte gOamBuffer
+_08037C34: .4byte 0xFFFFFE00
+_08037C38: .4byte 0x000001FF
+_08037C3C: .4byte 0x0000040C
+_08037C40: .4byte 0x086AEA68
+_08037C44: .4byte 0x000003FF
+_08037C48: .4byte 0xFFFFFC00
+_08037C4C:
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #1
+ ble _08037BBE
+ movs r0, #0x80
+ lsls r0, r0, #9
+ add r0, sl
+ lsrs r5, r0, #0x10
+ mov r8, r5
+ asrs r0, r0, #0x10
+ cmp r0, #9
+ bgt _08037C68
+ b _08037B38
+_08037C68:
+ ldr r6, _08037F58 @ =0x0200C5B0
+ ldr r1, _08037F5C @ =gUnknown_020314E0
+ ldr r0, [r1]
+ adds r0, #0x58
+ ldrh r1, [r0]
+ movs r0, #0x78
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ ldr r2, _08037F5C @ =gUnknown_020314E0
+ ldr r0, [r2]
+ adds r0, #0x5a
+ ldrh r0, [r0]
+ rsbs r0, r0, #0
+ subs r0, #0x80
+ strh r0, [r6, #4]
+ movs r3, #0
+ mov sb, r3
+ ldr r0, [r2]
+ ldr r1, _08037F60 @ =0x0000041C
+ adds r5, r0, r1
+ ldrb r7, [r5]
+ movs r0, #0
+ ldrsb r0, [r5, r0]
+ cmp r0, #0
+ beq _08037CBA
+ ldr r4, _08037F64 @ =0x086AEA68
+ movs r1, #0x18
+ bl __modsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ movs r1, #6
+ bl __divsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x17
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ mov sb, r0
+ subs r0, r7, #1
+ strb r0, [r5]
+_08037CBA:
+ movs r2, #0
+ mov r3, sb
+ lsls r0, r3, #0x10
+ ldr r5, _08037F68 @ =gOamBuffer
+ mov r8, r5
+ ldr r1, _08037F6C @ =0xFFFFFE00
+ mov ip, r1
+ asrs r0, r0, #0xd
+ adds r0, #0xf6
+ mov sb, r0
+ ldr r3, _08037F70 @ =0xFFFFFC00
+ mov sl, r3
+_08037CD2:
+ lsls r4, r2, #0x10
+ asrs r5, r4, #0x10
+ lsls r0, r5, #3
+ adds r0, #8
+ adds r7, r6, r0
+ ldrh r3, [r7]
+ lsls r3, r3, #3
+ add r3, r8
+ movs r0, #2
+ ldrsh r1, [r7, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08037F74 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r7]
+ lsls r1, r1, #3
+ add r1, r8
+ ldrb r0, [r6, #4]
+ ldrb r3, [r7, #4]
+ adds r0, r0, r3
+ strb r0, [r1]
+ ldrh r3, [r7]
+ lsls r3, r3, #3
+ add r3, r8
+ lsls r1, r5, #2
+ lsrs r4, r4, #0x1f
+ adds r4, r5, r4
+ asrs r4, r4, #1
+ lsls r4, r4, #1
+ subs r1, r1, r4
+ add r1, sb
+ ldr r2, _08037F78 @ =0x000003FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #4]
+ mov r0, sl
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #4]
+ adds r5, #1
+ lsls r5, r5, #0x10
+ lsrs r2, r5, #0x10
+ asrs r5, r5, #0x10
+ cmp r5, #2
+ ble _08037CD2
+ movs r3, #0
+ mov r8, r3
+_08037D3E:
+ mov r5, r8
+ lsls r4, r5, #0x10
+ asrs r3, r4, #0x10
+ movs r0, #0xb8
+ muls r0, r3, r0
+ ldr r1, _08037F7C @ =0x0200C668
+ adds r6, r0, r1
+ ldr r5, _08037F5C @ =gUnknown_020314E0
+ ldr r2, [r5]
+ adds r0, r2, #0
+ adds r0, #0x58
+ ldrh r1, [r0]
+ movs r0, #0x78
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ adds r0, r2, #0
+ adds r0, #0x5a
+ ldrh r0, [r0]
+ rsbs r0, r0, #0
+ subs r0, #0x80
+ strh r0, [r6, #4]
+ movs r0, #0
+ mov sb, r0
+ adds r2, r2, r3
+ ldr r1, _08037F80 @ =0x0000041D
+ adds r5, r2, r1
+ ldrb r7, [r5]
+ movs r0, #0
+ ldrsb r0, [r5, r0]
+ mov sl, r4
+ cmp r0, #0
+ beq _08037D9E
+ movs r1, #0x18
+ bl __modsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ movs r1, #6
+ bl __divsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x17
+ ldr r2, _08037F64 @ =0x086AEA68
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ mov sb, r0
+ subs r0, r7, #1
+ strb r0, [r5]
+_08037D9E:
+ movs r2, #0
+ mov r3, sb
+ lsls r0, r3, #0x10
+ ldr r5, _08037F68 @ =gOamBuffer
+ mov ip, r5
+ ldr r1, _08037F6C @ =0xFFFFFE00
+ mov sb, r1
+ asrs r1, r0, #0x10
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ movs r3, #0x87
+ lsls r3, r3, #1
+ adds r3, r3, r0
+ mov r8, r3
+_08037DBC:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r5, r4, #3
+ adds r0, r5, #0
+ adds r0, #8
+ adds r7, r6, r0
+ ldrh r2, [r7]
+ lsls r2, r2, #3
+ add r2, ip
+ movs r0, #2
+ ldrsh r1, [r7, r0]
+ movs r3, #2
+ ldrsh r0, [r6, r3]
+ adds r1, r1, r0
+ ldr r3, _08037F74 @ =0x000001FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ mov r0, sb
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r7]
+ lsls r1, r1, #3
+ add r1, ip
+ ldrb r0, [r6, #4]
+ ldrb r2, [r7, #4]
+ adds r0, r0, r2
+ strb r0, [r1]
+ ldrh r2, [r7]
+ lsls r2, r2, #3
+ add r2, ip
+ add r5, r8
+ ldr r3, _08037F78 @ =0x000003FF
+ adds r0, r3, #0
+ ands r5, r0
+ ldrh r0, [r2, #4]
+ ldr r3, _08037F70 @ =0xFFFFFC00
+ adds r1, r3, #0
+ ands r0, r1
+ orrs r0, r5
+ strh r0, [r2, #4]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #1
+ ble _08037DBC
+ movs r0, #0x80
+ lsls r0, r0, #9
+ add r0, sl
+ lsrs r5, r0, #0x10
+ mov r8, r5
+ asrs r0, r0, #0x10
+ cmp r0, #1
+ ble _08037D3E
+ ldr r6, _08037F84 @ =0x0200C7D8
+ ldr r1, _08037F5C @ =gUnknown_020314E0
+ ldr r0, [r1]
+ adds r0, #0x58
+ ldrh r1, [r0]
+ movs r0, #0x78
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ ldr r2, _08037F5C @ =gUnknown_020314E0
+ ldr r0, [r2]
+ adds r0, #0x5a
+ ldrh r0, [r0]
+ rsbs r0, r0, #0
+ subs r0, #0x80
+ strh r0, [r6, #4]
+ movs r3, #0
+ mov sb, r3
+ ldr r0, [r2]
+ ldr r1, _08037F88 @ =0x0000041F
+ adds r5, r0, r1
+ ldrb r7, [r5]
+ movs r0, #0
+ ldrsb r0, [r5, r0]
+ cmp r0, #0
+ beq _08037E7E
+ ldr r4, _08037F64 @ =0x086AEA68
+ movs r1, #0x18
+ bl __modsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ movs r1, #6
+ bl __divsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x17
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ mov sb, r0
+ subs r0, r7, #1
+ strb r0, [r5]
+_08037E7E:
+ movs r2, #0
+ mov r3, sb
+ lsls r0, r3, #0x10
+ ldr r5, _08037F68 @ =gOamBuffer
+ mov r8, r5
+ asrs r1, r0, #0x10
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ movs r1, #0x99
+ lsls r1, r1, #1
+ adds r1, r1, r0
+ mov ip, r1
+_08037E98:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r5, r4, #3
+ adds r0, r5, #0
+ adds r0, #8
+ adds r7, r6, r0
+ ldrh r3, [r7]
+ lsls r3, r3, #3
+ add r3, r8
+ movs r2, #2
+ ldrsh r1, [r7, r2]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r0, _08037F74 @ =0x000001FF
+ mov sl, r0
+ mov r2, sl
+ ands r1, r2
+ ldrh r2, [r3, #2]
+ ldr r0, _08037F6C @ =0xFFFFFE00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r7]
+ lsls r1, r1, #3
+ add r1, r8
+ ldrb r0, [r6, #4]
+ ldrb r3, [r7, #4]
+ adds r0, r0, r3
+ strb r0, [r1]
+ ldrh r1, [r7]
+ lsls r1, r1, #3
+ add r1, r8
+ add r5, ip
+ ldr r2, _08037F78 @ =0x000003FF
+ adds r0, r2, #0
+ ands r5, r0
+ ldrh r2, [r1, #4]
+ ldr r0, _08037F70 @ =0xFFFFFC00
+ ands r0, r2
+ orrs r0, r5
+ strh r0, [r1, #4]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #1
+ ble _08037E98
+ ldr r6, _08037F8C @ =0x0200CAB8
+ ldr r3, _08037F5C @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldr r4, _08037F90 @ =0x0000132C
+ adds r0, r0, r4
+ ldr r0, [r0]
+ ldrh r0, [r0, #0x24]
+ strh r0, [r6, #2]
+ ldr r0, [r3]
+ adds r0, r0, r4
+ ldr r0, [r0]
+ ldrh r0, [r0, #0x26]
+ adds r0, #0xe
+ strh r0, [r6, #4]
+ adds r7, r6, #0
+ adds r7, #8
+ ldrh r2, [r6, #8]
+ lsls r2, r2, #3
+ ldr r5, _08037F68 @ =gOamBuffer
+ adds r2, r2, r5
+ movs r0, #2
+ ldrsh r1, [r7, r0]
+ movs r3, #2
+ ldrsh r0, [r6, r3]
+ adds r1, r1, r0
+ mov r5, sl
+ ands r1, r5
+ ldrh r3, [r2, #2]
+ ldr r0, _08037F6C @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldr r1, _08037F5C @ =gUnknown_020314E0
+ ldr r0, [r1]
+ adds r0, r0, r4
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08037F94
+ ldrh r0, [r6, #8]
+ lsls r0, r0, #3
+ ldr r2, _08037F68 @ =gOamBuffer
+ adds r0, r0, r2
+ movs r1, #0xc8
+ strb r1, [r0]
+ b _08037FA4
+ .align 2, 0
+_08037F58: .4byte 0x0200C5B0
+_08037F5C: .4byte gUnknown_020314E0
+_08037F60: .4byte 0x0000041C
+_08037F64: .4byte 0x086AEA68
+_08037F68: .4byte gOamBuffer
+_08037F6C: .4byte 0xFFFFFE00
+_08037F70: .4byte 0xFFFFFC00
+_08037F74: .4byte 0x000001FF
+_08037F78: .4byte 0x000003FF
+_08037F7C: .4byte 0x0200C668
+_08037F80: .4byte 0x0000041D
+_08037F84: .4byte 0x0200C7D8
+_08037F88: .4byte 0x0000041F
+_08037F8C: .4byte 0x0200CAB8
+_08037F90: .4byte 0x0000132C
+_08037F94:
+ ldrh r1, [r6, #8]
+ lsls r1, r1, #3
+ ldr r3, _08037FC0 @ =gOamBuffer
+ adds r1, r1, r3
+ ldrb r0, [r6, #4]
+ ldrb r7, [r7, #4]
+ adds r0, r0, r7
+ strb r0, [r1]
+_08037FA4:
+ ldr r6, _08037FC4 @ =0x0200C890
+ ldr r5, _08037FC8 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ movs r2, #0x82
+ lsls r2, r2, #3
+ adds r1, r0, r2
+ ldrh r2, [r1]
+ movs r3, #0
+ ldrsh r0, [r1, r3]
+ cmp r0, #0xb
+ bgt _08037FCC
+ adds r0, r2, #1
+ b _08037FCE
+ .align 2, 0
+_08037FC0: .4byte gOamBuffer
+_08037FC4: .4byte 0x0200C890
+_08037FC8: .4byte gUnknown_020314E0
+_08037FCC:
+ movs r0, #0
+_08037FCE:
+ strh r0, [r1]
+ movs r5, #0
+ mov r8, r5
+ ldr r0, _08038048 @ =gUnknown_020314E0
+ mov sl, r0
+ ldr r5, _0803804C @ =gOamBuffer
+ ldr r1, _08038050 @ =0xFFFFFE00
+ mov ip, r1
+_08037FDE:
+ mov r2, sl
+ ldr r0, [r2]
+ mov r3, r8
+ lsls r1, r3, #0x10
+ asrs r2, r1, #0x10
+ ldr r1, _08038054 @ =0x0000042A
+ adds r0, r0, r1
+ adds r3, r0, r2
+ ldrb r4, [r3]
+ movs r0, #0
+ ldrsb r0, [r3, r0]
+ cmp r0, #0
+ beq _0803805C
+ adds r1, r0, #0
+ cmp r1, #0
+ bge _08038000
+ adds r1, #3
+_08038000:
+ asrs r1, r1, #2
+ movs r0, #2
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ mov sb, r0
+ subs r0, r4, #1
+ strb r0, [r3]
+ mov r0, sl
+ ldr r3, [r0]
+ lsls r2, r2, #2
+ adds r2, r3, r2
+ adds r0, r2, #0
+ adds r0, #0xd0
+ adds r1, r3, #0
+ adds r1, #0x4c
+ ldrh r0, [r0]
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ adds r0, #4
+ strh r0, [r6, #2]
+ adds r2, #0xd2
+ adds r1, r3, #0
+ adds r1, #0x4e
+ ldrh r0, [r2]
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ ldr r2, _08038058 @ =0x000005FC
+ adds r1, r3, r2
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ adds r3, #0xe6
+ ldrh r1, [r3]
+ subs r0, r0, r1
+ adds r0, #4
+ b _08038062
+ .align 2, 0
+_08038048: .4byte gUnknown_020314E0
+_0803804C: .4byte gOamBuffer
+_08038050: .4byte 0xFFFFFE00
+_08038054: .4byte 0x0000042A
+_08038058: .4byte 0x000005FC
+_0803805C:
+ movs r0, #0xf0
+ strh r0, [r6, #2]
+ movs r0, #0xb4
+_08038062:
+ strh r0, [r6, #4]
+ mov r3, r8
+ lsls r4, r3, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r7, r6, r0
+ ldrh r3, [r7]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ movs r0, #2
+ ldrsh r1, [r7, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _080380E8 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r7]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldrb r0, [r6, #4]
+ ldrb r3, [r7, #4]
+ adds r0, r0, r3
+ strb r0, [r1]
+ ldrh r3, [r7]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ mov r0, sb
+ lsls r1, r0, #0x10
+ asrs r1, r1, #0x10
+ movs r2, #0xb7
+ lsls r2, r2, #1
+ adds r1, r1, r2
+ ldr r2, _080380EC @ =0x000003FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #4]
+ ldr r0, _080380F0 @ =0xFFFFFC00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #4]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r3, r4, #0x10
+ mov r8, r3
+ asrs r4, r4, #0x10
+ cmp r4, #3
+ ble _08037FDE
+ ldr r6, _080380F4 @ =0x0200C948
+ ldr r5, _080380F8 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r2, _080380FC @ =0x00000412
+ adds r1, r0, r2
+ ldrh r2, [r1]
+ movs r3, #0
+ ldrsh r0, [r1, r3]
+ cmp r0, #0x17
+ bgt _08038100
+ adds r0, r2, #1
+ b _08038102
+ .align 2, 0
+_080380E8: .4byte 0x000001FF
+_080380EC: .4byte 0x000003FF
+_080380F0: .4byte 0xFFFFFC00
+_080380F4: .4byte 0x0200C948
+_080380F8: .4byte gUnknown_020314E0
+_080380FC: .4byte 0x00000412
+_08038100:
+ movs r0, #0
+_08038102:
+ strh r0, [r1]
+ movs r5, #0
+ mov r8, r5
+_08038108:
+ ldr r1, _08038168 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ mov r2, r8
+ lsls r1, r2, #0x10
+ asrs r4, r1, #0x10
+ adds r0, r0, r4
+ ldr r3, _0803816C @ =0x0000042E
+ adds r5, r0, r3
+ ldrb r7, [r5]
+ movs r0, #0
+ ldrsb r0, [r5, r0]
+ mov sl, r1
+ cmp r0, #0
+ beq _08038178
+ movs r1, #6
+ bl __divsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ movs r1, #2
+ subs r1, r1, r0
+ lsls r1, r1, #0x10
+ lsrs r1, r1, #0x10
+ mov sb, r1
+ subs r0, r7, #1
+ strb r0, [r5]
+ ldr r5, _08038168 @ =gUnknown_020314E0
+ ldr r3, [r5]
+ lsls r2, r4, #2
+ adds r2, r3, r2
+ ldr r1, _08038170 @ =0x00000434
+ adds r0, r2, r1
+ adds r1, r3, #0
+ adds r1, #0x58
+ ldrh r0, [r0]
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ subs r0, #4
+ strh r0, [r6, #2]
+ ldr r5, _08038174 @ =0x00000436
+ adds r2, r2, r5
+ adds r3, #0x5a
+ ldrh r0, [r2]
+ ldrh r1, [r3]
+ subs r0, r0, r1
+ adds r0, #2
+ b _0803817E
+ .align 2, 0
+_08038168: .4byte gUnknown_020314E0
+_0803816C: .4byte 0x0000042E
+_08038170: .4byte 0x00000434
+_08038174: .4byte 0x00000436
+_08038178:
+ movs r0, #0xf0
+ strh r0, [r6, #2]
+ movs r0, #0xb4
+_0803817E:
+ strh r0, [r6, #4]
+ mov r0, sl
+ asrs r4, r0, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r7, r6, r0
+ ldrh r3, [r7]
+ lsls r3, r3, #3
+ ldr r1, _08038204 @ =gOamBuffer
+ adds r3, r3, r1
+ movs r5, #2
+ ldrsh r2, [r7, r5]
+ movs r1, #2
+ ldrsh r0, [r6, r1]
+ adds r2, r2, r0
+ ldr r5, _08038208 @ =0x000001FF
+ adds r0, r5, #0
+ ands r2, r0
+ ldrh r0, [r3, #2]
+ ldr r5, _0803820C @ =0xFFFFFE00
+ adds r1, r5, #0
+ ands r0, r1
+ orrs r0, r2
+ strh r0, [r3, #2]
+ ldrh r1, [r7]
+ lsls r1, r1, #3
+ ldr r0, _08038204 @ =gOamBuffer
+ adds r1, r1, r0
+ ldrb r0, [r6, #4]
+ ldrb r2, [r7, #4]
+ adds r0, r0, r2
+ strb r0, [r1]
+ ldrh r3, [r7]
+ lsls r3, r3, #3
+ ldr r5, _08038204 @ =gOamBuffer
+ adds r3, r3, r5
+ mov r0, sb
+ lsls r1, r0, #0x10
+ asrs r1, r1, #0x10
+ movs r2, #0xb7
+ lsls r2, r2, #1
+ adds r1, r1, r2
+ ldr r5, _08038210 @ =0x000003FF
+ adds r0, r5, #0
+ ands r1, r0
+ ldrh r0, [r3, #4]
+ ldr r5, _08038214 @ =0xFFFFFC00
+ adds r2, r5, #0
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #4]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ mov r8, r0
+ asrs r4, r4, #0x10
+ cmp r4, #2
+ ble _08038108
+ add sp, #4
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038204: .4byte gOamBuffer
+_08038208: .4byte 0x000001FF
+_0803820C: .4byte 0xFFFFFE00
+_08038210: .4byte 0x000003FF
+_08038214: .4byte 0xFFFFFC00
+
+ thumb_func_start sub_38218
+sub_38218: @ 0x08038218
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #0x74
+ movs r5, #0
+ ldr r0, _080382D8 @ =0x086AEA70
+ mov sl, r0
+ ldr r1, _080382DC @ =gUnknown_020314E0
+ mov r8, r1
+ add r6, sp, #0x64
+ ldr r4, _080382E0 @ =0x0202D880
+ ldr r3, _080382E4 @ =0x086BB420
+_08038234:
+ lsls r1, r5, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #2
+ adds r2, r0, r4
+ adds r0, r0, r3
+ ldr r0, [r0]
+ str r0, [r2]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r5, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #0x20
+ ble _08038234
+ mov r2, sl
+ ldr r0, [r2, #0x60]
+ ldr r1, [r2, #0x64]
+ str r0, [sp, #0x60]
+ str r1, [sp, #0x64]
+ mov r3, r8
+ ldr r0, [r3]
+ ldr r1, _080382E8 @ =0x0000132C
+ adds r0, r0, r1
+ ldr r0, [r0]
+ ldrh r0, [r0, #0x12]
+ strb r0, [r6]
+ movs r5, #0
+ mov r7, sl
+ mov r4, r8
+ ldr r0, [r4]
+ mov ip, r1
+ add r0, ip
+ str r0, [sp, #0x70]
+ mov sb, sl
+_08038276:
+ lsls r0, r5, #0x10
+ asrs r3, r0, #0x10
+ lsls r2, r3, #3
+ adds r4, r2, r7
+ ldrb r1, [r4, #4]
+ ldr r6, [sp, #0x70]
+ ldr r0, [r6]
+ movs r6, #0x12
+ ldrsh r0, [r0, r6]
+ cmp r1, r0
+ bge _080382EC
+ movs r0, #0xb
+ cmp r0, r3
+ blt _080382BA
+ mov r6, sb
+ adds r4, r3, #0
+_08038296:
+ lsls r2, r0, #0x10
+ asrs r2, r2, #0x10
+ adds r0, r2, #1
+ lsls r0, r0, #3
+ mov r1, sp
+ adds r3, r1, r0
+ lsls r0, r2, #3
+ adds r0, r0, r6
+ ldr r1, [r0, #4]
+ ldr r0, [r0]
+ str r0, [r3]
+ str r1, [r3, #4]
+ subs r2, #1
+ lsls r2, r2, #0x10
+ lsrs r0, r2, #0x10
+ asrs r2, r2, #0x10
+ cmp r2, r4
+ bge _08038296
+_080382BA:
+ lsls r0, r5, #0x10
+ asrs r0, r0, #0xd
+ mov r3, sp
+ adds r2, r3, r0
+ ldr r0, [r7, #0x60]
+ ldr r1, [r7, #0x64]
+ str r0, [r2]
+ str r1, [r2, #4]
+ mov r4, r8
+ ldr r0, [r4]
+ add r0, ip
+ ldr r0, [r0]
+ ldrh r0, [r0, #0x12]
+ strb r0, [r2, #4]
+ b _08038304
+ .align 2, 0
+_080382D8: .4byte 0x086AEA70
+_080382DC: .4byte gUnknown_020314E0
+_080382E0: .4byte 0x0202D880
+_080382E4: .4byte 0x086BB420
+_080382E8: .4byte 0x0000132C
+_080382EC:
+ mov r6, sp
+ adds r0, r6, r2
+ ldr r1, [r4]
+ ldr r2, [r4, #4]
+ str r1, [r0]
+ str r2, [r0, #4]
+ adds r0, r3, #1
+ lsls r0, r0, #0x10
+ lsrs r5, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xb
+ ble _08038276
+_08038304:
+ mov r2, sl
+ ldr r0, [r2, #0x68]
+ ldr r1, [r2, #0x6c]
+ str r0, [sp, #0x68]
+ str r1, [sp, #0x6c]
+ movs r5, #0
+ ldr r7, _08038374 @ =gUnknown_020314E0
+ ldr r0, [r7]
+ ldr r6, _08038378 @ =0x00000402
+ adds r3, r0, r6
+_08038318:
+ lsls r0, r5, #0x10
+ asrs r2, r0, #0x10
+ lsls r0, r2, #3
+ add r0, sp
+ ldrb r1, [r0, #4]
+ movs r4, #0
+ ldrsh r0, [r3, r4]
+ cmp r1, r0
+ bge _0803837C
+ movs r0, #0xc
+ cmp r0, r2
+ blt _08038356
+ adds r4, r2, #0
+_08038332:
+ lsls r2, r0, #0x10
+ asrs r2, r2, #0x10
+ adds r0, r2, #1
+ lsls r0, r0, #3
+ mov r1, sp
+ adds r3, r1, r0
+ lsls r0, r2, #3
+ add r0, sp
+ ldr r1, [r0, #4]
+ ldr r0, [r0]
+ str r0, [r3]
+ str r1, [r3, #4]
+ subs r2, #1
+ lsls r2, r2, #0x10
+ lsrs r0, r2, #0x10
+ asrs r2, r2, #0x10
+ cmp r2, r4
+ bge _08038332
+_08038356:
+ lsls r0, r5, #0x10
+ asrs r0, r0, #0xd
+ mov r3, sp
+ adds r2, r3, r0
+ mov r4, sl
+ ldr r0, [r4, #0x68]
+ ldr r1, [r4, #0x6c]
+ str r0, [r2]
+ str r1, [r2, #4]
+ ldr r0, [r7]
+ adds r0, r0, r6
+ ldrh r0, [r0]
+ strb r0, [r2, #4]
+ b _08038388
+ .align 2, 0
+_08038374: .4byte gUnknown_020314E0
+_08038378: .4byte 0x00000402
+_0803837C:
+ adds r0, r2, #1
+ lsls r0, r0, #0x10
+ lsrs r5, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xc
+ ble _08038318
+_08038388:
+ movs r5, #0
+ ldr r6, _080383D8 @ =0x02031590
+ ldr r4, _080383DC @ =0x0202D880
+_0803838E:
+ lsls r2, r5, #0x10
+ asrs r2, r2, #0x10
+ lsls r0, r2, #3
+ mov r1, sp
+ adds r3, r1, r0
+ ldrb r0, [r3, #5]
+ adds r0, #0xa
+ adds r0, r0, r6
+ adds r1, r5, #0
+ adds r1, #0xa
+ strb r1, [r0]
+ adds r0, r2, #0
+ adds r0, #0xa
+ lsls r0, r0, #2
+ adds r0, r0, r4
+ ldr r1, [r3]
+ str r1, [r0]
+ adds r2, #1
+ lsls r2, r2, #0x10
+ lsrs r5, r2, #0x10
+ asrs r2, r2, #0x10
+ cmp r2, #0xd
+ ble _0803838E
+ ldr r0, _080383DC @ =0x0202D880
+ movs r1, #0x21
+ ldr r2, _080383E0 @ =0x0200B3B8
+ bl LoadSpriteSets
+ add sp, #0x74
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080383D8: .4byte 0x02031590
+_080383DC: .4byte 0x0202D880
+_080383E0: .4byte 0x0200B3B8
+
+ thumb_func_start sub_383E4
+sub_383E4: @ 0x080383E4
+ push {r4, r5, r6, r7, lr}
+ ldr r4, _08038438 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ movs r1, #0
+ movs r3, #0
+ strh r3, [r0, #0x18]
+ strb r1, [r0, #0x17]
+ ldr r0, [r4]
+ strb r1, [r0, #0x13]
+ ldr r0, [r4]
+ movs r2, #0xa5
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ strb r1, [r0]
+ ldr r5, [r4]
+ adds r2, r5, #0
+ adds r2, #0x6c
+ ldr r6, _0803843C @ =0x00002A30
+ adds r0, r6, #0
+ ldrh r7, [r2]
+ adds r0, r0, r7
+ ldr r6, _08038440 @ =0x00000296
+ adds r1, r5, r6
+ strh r0, [r1]
+ strh r3, [r2]
+ ldr r7, _08038444 @ =0x00000283
+ adds r0, r5, r7
+ ldrb r0, [r0]
+ movs r1, #5
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ adds r6, r4, #0
+ cmp r0, #3
+ bne _08038448
+ movs r0, #0xe1
+ lsls r0, r0, #2
+ adds r1, r5, r0
+ movs r0, #0x12
+ b _08038450
+ .align 2, 0
+_08038438: .4byte gUnknown_020314E0
+_0803843C: .4byte 0x00002A30
+_08038440: .4byte 0x00000296
+_08038444: .4byte 0x00000283
+_08038448:
+ movs r2, #0xe1
+ lsls r2, r2, #2
+ adds r1, r5, r2
+ movs r0, #0xf
+_08038450:
+ strb r0, [r1]
+ ldr r0, [r6]
+ movs r3, #0xe4
+ lsls r3, r3, #2
+ adds r1, r0, r3
+ movs r2, #0
+ movs r3, #0
+ strh r3, [r1]
+ ldr r4, _08038634 @ =0x00000389
+ adds r0, r0, r4
+ strb r2, [r0]
+ ldr r0, [r6]
+ ldr r5, _08038638 @ =0x00000383
+ adds r0, r0, r5
+ strb r2, [r0]
+ ldr r0, [r6]
+ ldr r7, _0803863C @ =0x00000382
+ adds r0, r0, r7
+ strb r2, [r0]
+ ldr r0, [r6]
+ movs r1, #0xe2
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r4, #3
+ strb r4, [r0]
+ ldr r0, [r6]
+ adds r5, #0xf
+ adds r1, r0, r5
+ strh r3, [r1]
+ ldr r7, _08038640 @ =0x0000132C
+ adds r0, r0, r7
+ ldr r1, [r0]
+ movs r0, #1
+ strb r0, [r1]
+ ldr r0, [r6]
+ ldr r1, _08038644 @ =0x00000386
+ adds r0, r0, r1
+ strb r2, [r0]
+ ldr r0, [r6]
+ adds r5, #2
+ adds r1, r0, r5
+ strh r3, [r1]
+ ldr r7, _08038648 @ =0x0000038E
+ adds r1, r0, r7
+ strh r3, [r1]
+ ldr r1, _0803864C @ =0x00000385
+ adds r0, r0, r1
+ strb r2, [r0]
+ ldr r0, [r6]
+ subs r5, #0xd
+ adds r0, r0, r5
+ strb r2, [r0]
+ ldr r0, [r6]
+ ldr r7, _08038650 @ =0x000006C4
+ adds r0, r0, r7
+ strb r4, [r0]
+ ldr r0, [r6]
+ adds r1, #0x5a
+ adds r0, r0, r1
+ movs r1, #0xe
+ strb r1, [r0]
+ ldr r0, [r6]
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ strb r2, [r0]
+ ldr r0, [r6]
+ adds r5, #0x61
+ adds r1, r0, r5
+ strh r3, [r1]
+ ldr r7, _08038654 @ =0x000003EA
+ adds r1, r0, r7
+ strh r3, [r1]
+ ldr r1, _08038658 @ =0x000003DE
+ adds r0, r0, r1
+ strb r2, [r0]
+ ldr r0, [r6]
+ adds r4, #4
+ adds r0, r0, r4
+ strb r2, [r0]
+ ldr r0, [r6]
+ subs r5, #6
+ adds r1, r0, r5
+ strh r3, [r1]
+ subs r7, #6
+ adds r1, r0, r7
+ strh r3, [r1]
+ movs r1, #0x88
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ strb r2, [r0]
+ ldr r0, [r6]
+ adds r4, #0x65
+ adds r0, r0, r4
+ strb r2, [r0]
+ ldr r0, [r6]
+ adds r5, #0x64
+ adds r0, r0, r5
+ strb r2, [r0]
+ ldr r0, [r6]
+ adds r7, #0x63
+ adds r0, r0, r7
+ strb r2, [r0]
+ ldr r0, [r6]
+ adds r1, #8
+ adds r0, r0, r1
+ strb r2, [r0]
+ ldr r0, [r6]
+ adds r4, #4
+ adds r0, r0, r4
+ strb r2, [r0]
+ ldr r0, [r6]
+ adds r5, #4
+ adds r0, r0, r5
+ strb r2, [r0]
+ ldr r0, [r6]
+ adds r7, #7
+ adds r1, r0, r7
+ strh r3, [r1]
+ ldr r2, _0803865C @ =0x00000452
+ adds r1, r0, r2
+ strh r3, [r1]
+ adds r4, #0xb
+ adds r1, r0, r4
+ strh r3, [r1]
+ adds r5, #0xc
+ adds r1, r0, r5
+ strh r3, [r1]
+ adds r7, #2
+ adds r0, r0, r7
+ strh r3, [r0]
+ movs r1, #0
+ adds r5, r6, #0
+ movs r4, #0
+_0803855C:
+ ldr r0, [r5]
+ lsls r2, r1, #0x10
+ asrs r2, r2, #0x10
+ ldr r1, _08038660 @ =0x00000441
+ adds r0, r0, r1
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r5]
+ ldr r3, _08038664 @ =0x00000443
+ adds r0, r0, r3
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r1, [r5]
+ lsls r3, r2, #1
+ movs r7, #0x8b
+ lsls r7, r7, #3
+ adds r0, r1, r7
+ adds r0, r0, r3
+ strh r4, [r0]
+ lsls r0, r2, #2
+ adds r1, r1, r0
+ ldr r3, _08038668 @ =0x0000045C
+ adds r0, r1, r3
+ strh r4, [r0]
+ adds r7, #6
+ adds r0, r1, r7
+ strh r4, [r0]
+ adds r3, #8
+ adds r0, r1, r3
+ strh r4, [r0]
+ adds r7, #8
+ adds r1, r1, r7
+ strh r4, [r1]
+ adds r2, #1
+ lsls r2, r2, #0x10
+ lsrs r1, r2, #0x10
+ asrs r2, r2, #0x10
+ cmp r2, #1
+ ble _0803855C
+ movs r1, #0
+ ldr r7, _0803866C @ =gUnknown_020314E0
+ ldr r5, _08038670 @ =0x0000046C
+ movs r3, #0
+ ldr r4, _08038674 @ =0x0000046E
+_080385B4:
+ ldr r2, [r7]
+ lsls r0, r1, #0x10
+ asrs r0, r0, #0x10
+ lsls r1, r0, #2
+ adds r2, r2, r1
+ adds r1, r2, r5
+ strh r3, [r1]
+ adds r2, r2, r4
+ strh r3, [r2]
+ adds r0, #1
+ lsls r0, r0, #0x10
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _080385B4
+ ldr r1, [r6]
+ movs r0, #1
+ strb r0, [r1, #0x1a]
+ bl sub_38A20
+ bl sub_395D8
+ bl sub_39A40
+ bl sub_3AE14
+ movs r0, #0x29
+ bl m4aSongNumStart
+ ldr r2, _08038678 @ =0x040000D4
+ ldr r0, [r6]
+ ldr r1, _0803867C @ =0x000005F6
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #5
+ ldr r1, _08038680 @ =0x08137E14
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _08038684 @ =0x05000220
+ str r0, [r2, #4]
+ ldr r1, _08038688 @ =0x80000010
+ str r1, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, _0803868C @ =0x086AEAE0
+ ldr r0, [r0]
+ str r0, [r2]
+ movs r0, #0xa0
+ lsls r0, r0, #0x13
+ str r0, [r2, #4]
+ ldr r0, _08038690 @ =0x80000080
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, _08038694 @ =0x081B36A4
+ str r0, [r2]
+ ldr r0, _08038698 @ =0x05000320
+ str r0, [r2, #4]
+ str r1, [r2, #8]
+ ldr r0, [r2, #8]
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038634: .4byte 0x00000389
+_08038638: .4byte 0x00000383
+_0803863C: .4byte 0x00000382
+_08038640: .4byte 0x0000132C
+_08038644: .4byte 0x00000386
+_08038648: .4byte 0x0000038E
+_0803864C: .4byte 0x00000385
+_08038650: .4byte 0x000006C4
+_08038654: .4byte 0x000003EA
+_08038658: .4byte 0x000003DE
+_0803865C: .4byte 0x00000452
+_08038660: .4byte 0x00000441
+_08038664: .4byte 0x00000443
+_08038668: .4byte 0x0000045C
+_0803866C: .4byte gUnknown_020314E0
+_08038670: .4byte 0x0000046C
+_08038674: .4byte 0x0000046E
+_08038678: .4byte 0x040000D4
+_0803867C: .4byte 0x000005F6
+_08038680: .4byte 0x08137E14
+_08038684: .4byte 0x05000220
+_08038688: .4byte 0x80000010
+_0803868C: .4byte 0x086AEAE0
+_08038690: .4byte 0x80000080
+_08038694: .4byte 0x081B36A4
+_08038698: .4byte 0x05000320
+
+ thumb_func_start sub_3869C
+sub_3869C: @ 0x0803869C
+ push {r4, r5, r6, lr}
+ ldr r0, _080386B8 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldrb r0, [r0, #0x13]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #6
+ bls _080386AE
+ b _0803899C
+_080386AE:
+ lsls r0, r0, #2
+ ldr r1, _080386BC @ =_080386C0
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080386B8: .4byte gUnknown_020314E0
+_080386BC: .4byte _080386C0
+_080386C0: @ jump table
+ .4byte _080386DC @ case 0
+ .4byte _0803899C @ case 1
+ .4byte _080387D2 @ case 2
+ .4byte _08038848 @ case 3
+ .4byte _080388C8 @ case 4
+ .4byte _08038924 @ case 5
+ .4byte _08038984 @ case 6
+_080386DC:
+ ldr r6, _08038704 @ =gUnknown_020314E0
+ ldr r0, [r6]
+ ldr r1, _08038708 @ =0x000005F7
+ adds r0, r0, r1
+ movs r3, #0
+ movs r2, #1
+ strb r2, [r0]
+ ldr r5, [r6]
+ ldrh r1, [r5, #0x18]
+ ldr r0, _0803870C @ =0x000001F3
+ cmp r1, r0
+ bhi _08038714
+ adds r1, r5, #0
+ adds r1, #0xe6
+ ldr r0, _08038710 @ =0x0000FFC0
+ strh r0, [r1]
+ ldrh r0, [r5, #0x18]
+ adds r0, #1
+ strh r0, [r5, #0x18]
+ b _0803899C
+ .align 2, 0
+_08038704: .4byte gUnknown_020314E0
+_08038708: .4byte 0x000005F7
+_0803870C: .4byte 0x000001F3
+_08038710: .4byte 0x0000FFC0
+_08038714:
+ ldr r0, _080387A4 @ =0x00000333
+ cmp r1, r0
+ bhi _080387C4
+ ldrh r0, [r5, #0x18]
+ ldr r4, _080387A8 @ =0xFFFFFE0C
+ adds r0, r0, r4
+ movs r1, #5
+ bl __divsi3
+ subs r0, #0x40
+ adds r1, r5, #0
+ adds r1, #0xe6
+ strh r0, [r1]
+ ldrh r0, [r5, #0x18]
+ adds r0, r0, r4
+ movs r1, #0x18
+ bl __divsi3
+ ldr r2, _080387AC @ =0x00000382
+ adds r1, r5, r2
+ strb r0, [r1]
+ ldr r0, [r6]
+ adds r1, r0, r2
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #5
+ ble _0803874E
+ movs r0, #5
+ strb r0, [r1]
+_0803874E:
+ ldr r4, [r6]
+ ldrh r0, [r4, #0x18]
+ adds r0, #1
+ strh r0, [r4, #0x18]
+ ldr r1, _080387B0 @ =0x040000D4
+ ldr r3, _080387B4 @ =0x086AEAE0
+ adds r2, r4, r2
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ lsls r0, r0, #2
+ adds r0, r0, r3
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r0, #0xa0
+ lsls r0, r0, #0x13
+ str r0, [r1, #4]
+ ldr r0, _080387B8 @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ lsls r0, r0, #2
+ adds r0, r0, r3
+ ldr r0, [r0]
+ adds r0, #0x80
+ str r0, [r1]
+ ldr r0, _080387BC @ =0x05000080
+ str r0, [r1, #4]
+ ldr r0, _080387C0 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ adds r0, r4, #0
+ adds r0, #0xe6
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ movs r0, #0x20
+ rsbs r0, r0, #0
+ cmp r1, r0
+ bge _0803879E
+ b _0803899C
+_0803879E:
+ movs r0, #0
+ strb r0, [r4, #0x1a]
+ b _0803899C
+ .align 2, 0
+_080387A4: .4byte 0x00000333
+_080387A8: .4byte 0xFFFFFE0C
+_080387AC: .4byte 0x00000382
+_080387B0: .4byte 0x040000D4
+_080387B4: .4byte 0x086AEAE0
+_080387B8: .4byte 0x80000030
+_080387BC: .4byte 0x05000080
+_080387C0: .4byte 0x80000040
+_080387C4:
+ adds r0, r5, #0
+ adds r0, #0xe6
+ strh r3, [r0]
+ strb r2, [r5, #0x13]
+ ldr r0, [r6]
+ strh r3, [r0, #0x18]
+ b _0803899C
+_080387D2:
+ ldr r2, _080387E4 @ =gUnknown_020314E0
+ ldr r3, [r2]
+ ldrh r0, [r3, #0x18]
+ cmp r0, #0x77
+ bhi _080387E8
+ adds r0, #1
+ strh r0, [r3, #0x18]
+ b _0803899C
+ .align 2, 0
+_080387E4: .4byte gUnknown_020314E0
+_080387E8:
+ movs r1, #0
+ movs r0, #3
+ strb r0, [r3, #0x13]
+ ldr r2, [r2]
+ strh r1, [r2, #0x18]
+ ldr r3, _08038830 @ =gMain
+ movs r4, #0xe9
+ lsls r4, r4, #3
+ adds r0, r3, r4
+ movs r4, #1
+ movs r1, #1
+ strh r1, [r0]
+ movs r5, #0xd2
+ lsls r5, r5, #3
+ adds r0, r3, r5
+ strh r1, [r0]
+ ldr r1, _08038834 @ =0x040000D4
+ ldr r0, _08038838 @ =0x0813C874
+ str r0, [r1]
+ ldr r0, _0803883C @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _08038840 @ =0x80001000
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ movs r0, #0xe5
+ lsls r0, r0, #2
+ adds r1, r2, r0
+ movs r0, #0x88
+ strh r0, [r1]
+ movs r0, #0x80
+ strb r0, [r3, #0xf]
+ ldr r1, _08038844 @ =0x000005FA
+ adds r2, r2, r1
+ strb r4, [r2]
+ b _0803899C
+ .align 2, 0
+_08038830: .4byte gMain
+_08038834: .4byte 0x040000D4
+_08038838: .4byte 0x0813C874
+_0803883C: .4byte 0x06015800
+_08038840: .4byte 0x80001000
+_08038844: .4byte 0x000005FA
+_08038848:
+ bl sub_351A8
+ ldr r4, _08038890 @ =gUnknown_020314E0
+ ldr r1, [r4]
+ ldrb r0, [r1, #0x1c]
+ cmp r0, #0
+ beq _0803885A
+ movs r0, #0xb5
+ strh r0, [r1, #0x18]
+_0803885A:
+ ldr r1, [r4]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xb4
+ bne _08038870
+ movs r0, #1
+ strb r0, [r1, #0x1c]
+ ldr r1, [r4]
+ ldr r0, _08038894 @ =0x00061A80
+ str r0, [r1, #0x38]
+ ldr r0, _08038898 @ =0x02FAF080
+ str r0, [r1, #0x3c]
+_08038870:
+ ldr r1, [r4]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xef
+ bhi _0803889C
+ cmp r0, #0x14
+ bne _08038886
+ bl m4aMPlayAllStop
+ movs r0, #0x2b
+ bl m4aSongNumStart
+_08038886:
+ ldr r1, [r4]
+ ldrh r0, [r1, #0x18]
+ adds r0, #1
+ strh r0, [r1, #0x18]
+ b _080388B0
+ .align 2, 0
+_08038890: .4byte gUnknown_020314E0
+_08038894: .4byte 0x00061A80
+_08038898: .4byte 0x02FAF080
+_0803889C:
+ movs r0, #0
+ strh r0, [r1, #0x18]
+ movs r0, #6
+ strb r0, [r1, #0x13]
+ ldr r1, [r4]
+ ldr r2, _080388BC @ =0x00000283
+ adds r1, r1, r2
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+_080388B0:
+ ldr r0, _080388C0 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r4, _080388C4 @ =0x000005FA
+ adds r0, r0, r4
+ movs r1, #1
+ b _0803899A
+ .align 2, 0
+_080388BC: .4byte 0x00000283
+_080388C0: .4byte gUnknown_020314E0
+_080388C4: .4byte 0x000005FA
+_080388C8:
+ ldr r2, _0803890C @ =gUnknown_020314E0
+ ldr r1, [r2]
+ movs r0, #5
+ strb r0, [r1, #0x13]
+ ldr r2, [r2]
+ movs r0, #0x8c
+ strh r0, [r2, #0x18]
+ ldr r3, _08038910 @ =gMain
+ movs r5, #0xe9
+ lsls r5, r5, #3
+ adds r0, r3, r5
+ movs r1, #1
+ strh r1, [r0]
+ movs r4, #0xd2
+ lsls r4, r4, #3
+ adds r0, r3, r4
+ strh r1, [r0]
+ ldr r1, _08038914 @ =0x040000D4
+ ldr r0, _08038918 @ =0x0813C874
+ str r0, [r1]
+ ldr r0, _0803891C @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _08038920 @ =0x80001000
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ movs r5, #0xe5
+ lsls r5, r5, #2
+ adds r2, r2, r5
+ movs r0, #0x88
+ strh r0, [r2]
+ movs r0, #0x80
+ strb r0, [r3, #0xf]
+ b _0803899C
+ .align 2, 0
+_0803890C: .4byte gUnknown_020314E0
+_08038910: .4byte gMain
+_08038914: .4byte 0x040000D4
+_08038918: .4byte 0x0813C874
+_0803891C: .4byte 0x06015800
+_08038920: .4byte 0x80001000
+_08038924:
+ bl sub_351A8
+ ldr r2, _0803895C @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldrb r0, [r1, #0x1c]
+ cmp r0, #0
+ beq _08038936
+ movs r0, #0xb5
+ strh r0, [r1, #0x18]
+_08038936:
+ ldr r1, [r2]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xb4
+ bne _0803894C
+ movs r0, #1
+ strb r0, [r1, #0x1c]
+ ldr r1, [r2]
+ ldr r0, _08038960 @ =0x00061A80
+ str r0, [r1, #0x38]
+ ldr r0, _08038964 @ =0x02FAF080
+ str r0, [r1, #0x3c]
+_0803894C:
+ ldr r1, [r2]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xef
+ bhi _08038968
+ adds r0, #1
+ strh r0, [r1, #0x18]
+ b _0803899C
+ .align 2, 0
+_0803895C: .4byte gUnknown_020314E0
+_08038960: .4byte 0x00061A80
+_08038964: .4byte 0x02FAF080
+_08038968:
+ movs r0, #0
+ strh r0, [r1, #0x18]
+ movs r0, #6
+ strb r0, [r1, #0x13]
+ ldr r1, [r2]
+ ldr r0, _08038980 @ =0x00000283
+ adds r1, r1, r0
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ b _0803899C
+ .align 2, 0
+_08038980: .4byte 0x00000283
+_08038984:
+ bl sub_351A8
+ ldr r2, _08038A0C @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r1, _08038A10 @ =0x00000386
+ adds r0, r0, r1
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r2, _08038A14 @ =0x000005FA
+ adds r0, r0, r2
+_0803899A:
+ strb r1, [r0]
+_0803899C:
+ bl sub_39A40
+ bl sub_38A20
+ bl sub_395D8
+ bl sub_3AE14
+ ldr r0, _08038A0C @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r4, #0xa5
+ lsls r4, r4, #2
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _080389E4
+ ldr r5, _08038A18 @ =0x00000296
+ adds r0, r1, r5
+ ldrh r0, [r0]
+ cmp r0, #1
+ bhi _080389E4
+ ldr r4, _08038A1C @ =gMain
+ ldrb r0, [r4, #0xf]
+ cmp r0, #0
+ bne _080389E4
+ bl m4aMPlayAllStop
+ movs r0, #0x2c
+ bl m4aSongNumStart
+ ldrb r1, [r4, #0xf]
+ movs r0, #0x40
+ orrs r0, r1
+ strb r0, [r4, #0xf]
+_080389E4:
+ ldr r0, _08038A0C @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r2, _08038A10 @ =0x00000386
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08038A02
+ ldr r4, _08038A14 @ =0x000005FA
+ adds r1, r1, r4
+ movs r0, #1
+ strb r0, [r1]
+ bl sub_350F0
+_08038A02:
+ bl sub_472E4
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038A0C: .4byte gUnknown_020314E0
+_08038A10: .4byte 0x00000386
+_08038A14: .4byte 0x000005FA
+_08038A18: .4byte 0x00000296
+_08038A1C: .4byte gMain
+
+ thumb_func_start sub_38A20
+sub_38A20: @ 0x08038A20
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ ldr r0, _08038AE8 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r2, _08038AEC @ =0x00000452
+ adds r5, r1, r2
+ ldrh r4, [r5]
+ mov r8, r0
+ cmp r4, #0
+ beq _08038AC6
+ subs r0, r4, #1
+ strh r0, [r5]
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #8
+ beq _08038AB0
+ ldr r0, _08038AF0 @ =0x00000389
+ adds r1, r1, r0
+ movs r0, #1
+ strb r0, [r1]
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ cmp r0, #4
+ bne _08038AB0
+ ldr r0, _08038AF4 @ =0x02032F20
+ ldr r1, _08038AF8 @ =0x086A1E74
+ bl MPlayStart
+ movs r0, #7
+ bl sub_11B0
+ mov r2, r8
+ ldr r1, [r2]
+ ldr r0, _08038AFC @ =0x0007A120
+ str r0, [r1, #0x3c]
+ ldr r2, _08038B00 @ =0x00000385
+ adds r1, r1, r2
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ mov r6, r8
+ ldr r3, [r6]
+ adds r2, r3, r2
+ movs r1, #0xe1
+ lsls r1, r1, #2
+ adds r0, r3, r1
+ movs r1, #0
+ ldrsb r1, [r2, r1]
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r1, r0
+ blt _08038AB0
+ ldr r2, _08038B04 @ =0x00000387
+ adds r0, r3, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #1
+ bne _08038AB0
+ adds r1, r3, r4
+ movs r0, #7
+ strb r0, [r1]
+_08038AB0:
+ ldr r1, _08038AE8 @ =gUnknown_020314E0
+ ldr r5, [r1]
+ ldr r3, _08038AEC @ =0x00000452
+ adds r0, r5, r3
+ ldrh r4, [r0]
+ mov r8, r1
+ cmp r4, #0
+ bne _08038AC6
+ ldr r6, _08038AF0 @ =0x00000389
+ adds r0, r5, r6
+ strb r4, [r0]
+_08038AC6:
+ mov r1, r8
+ ldr r0, [r1]
+ movs r2, #0xf7
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0xd
+ bls _08038ADE
+ bl _08039562
+_08038ADE:
+ lsls r0, r0, #2
+ ldr r1, _08038B08 @ =_08038B0C
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08038AE8: .4byte gUnknown_020314E0
+_08038AEC: .4byte 0x00000452
+_08038AF0: .4byte 0x00000389
+_08038AF4: .4byte 0x02032F20
+_08038AF8: .4byte 0x086A1E74
+_08038AFC: .4byte 0x0007A120
+_08038B00: .4byte 0x00000385
+_08038B04: .4byte 0x00000387
+_08038B08: .4byte _08038B0C
+_08038B0C: @ jump table
+ .4byte _08038B44 @ case 0
+ .4byte _08038B88 @ case 1
+ .4byte _08038CE0 @ case 2
+ .4byte _08038D80 @ case 3
+ .4byte _08038E0C @ case 4
+ .4byte _08038EF2 @ case 5
+ .4byte _08038FE4 @ case 6
+ .4byte _080390D8 @ case 7
+ .4byte _08039562 @ case 8
+ .4byte _080391F0 @ case 9
+ .4byte _0803927C @ case 10
+ .4byte _08039350 @ case 11
+ .4byte _08039480 @ case 12
+ .4byte _08039562 @ case 13
+_08038B44:
+ ldr r2, _08038B80 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ movs r3, #0xf7
+ lsls r3, r3, #2
+ adds r0, r0, r3
+ movs r3, #0
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r4, _08038B84 @ =0x000003E2
+ adds r2, r0, r4
+ movs r1, #0xc
+ strh r1, [r2]
+ movs r6, #0xf9
+ lsls r6, r6, #2
+ adds r1, r0, r6
+ strh r3, [r1]
+ movs r2, #0xfa
+ lsls r2, r2, #2
+ adds r1, r0, r2
+ strh r3, [r1]
+ adds r4, #8
+ adds r1, r0, r4
+ strh r3, [r1]
+ adds r6, #0x6c
+ adds r0, r0, r6
+ strh r3, [r0]
+ bl _08039562
+ .align 2, 0
+_08038B80: .4byte gUnknown_020314E0
+_08038B84: .4byte 0x000003E2
+_08038B88:
+ ldr r5, _08038C00 @ =0x086AEDA4
+ ldr r7, _08038C04 @ =gUnknown_020314E0
+ ldr r6, [r7]
+ movs r0, #0x8a
+ lsls r0, r0, #3
+ adds r4, r6, r0
+ ldrh r0, [r4]
+ movs r1, #0x8c
+ lsls r1, r1, #1
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #0xe
+ bl __udivsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0xf
+ adds r0, r0, r5
+ ldr r5, _08038C08 @ =0x040000D4
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ lsls r0, r0, #5
+ ldr r2, _08038C0C @ =0x081B0DE4
+ adds r0, r0, r2
+ str r0, [r5]
+ ldr r3, _08038C10 @ =0x050003E0
+ mov ip, r3
+ str r3, [r5, #4]
+ ldr r0, _08038C14 @ =0x80000010
+ mov sl, r0
+ str r0, [r5, #8]
+ ldr r0, [r5, #8]
+ adds r3, r6, #0
+ ldrh r0, [r4]
+ adds r0, #1
+ movs r1, #0
+ mov sb, r1
+ strh r0, [r4]
+ ldr r2, _08038C18 @ =0x086AEAF8
+ ldr r4, _08038C1C @ =0x000003E2
+ mov r8, r4
+ adds r4, r3, r4
+ movs r0, #0
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r1, #0xf9
+ lsls r1, r1, #2
+ adds r3, r3, r1
+ ldrh r1, [r3]
+ ldrh r0, [r0]
+ cmp r0, r1
+ bls _08038C20
+ adds r0, r1, #1
+ strh r0, [r3]
+ b _08038CA4
+ .align 2, 0
+_08038C00: .4byte 0x086AEDA4
+_08038C04: .4byte gUnknown_020314E0
+_08038C08: .4byte 0x040000D4
+_08038C0C: .4byte 0x081B0DE4
+_08038C10: .4byte 0x050003E0
+_08038C14: .4byte 0x80000010
+_08038C18: .4byte 0x086AEAF8
+_08038C1C: .4byte 0x000003E2
+_08038C20:
+ mov r2, sb
+ strh r2, [r3]
+ ldrh r0, [r4]
+ adds r0, #1
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x22
+ bne _08038C6E
+ strh r2, [r4]
+ movs r3, #0xf7
+ lsls r3, r3, #2
+ adds r1, r6, r3
+ movs r0, #4
+ strb r0, [r1]
+ ldr r0, [r7]
+ ldr r4, _08038CC0 @ =0x000003DD
+ adds r0, r0, r4
+ movs r1, #6
+ strb r1, [r0]
+ ldr r0, [r7]
+ ldr r6, _08038CC4 @ =0x000003E1
+ adds r0, r0, r6
+ movs r1, #0
+ strb r1, [r0]
+ ldr r0, [r7]
+ movs r1, #0xe4
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r1, #0x3c
+ strh r1, [r0]
+ ldr r0, _08038CC8 @ =0x081B0DE4
+ adds r0, #0xa0
+ str r0, [r5]
+ mov r2, ip
+ str r2, [r5, #4]
+ mov r3, sl
+ str r3, [r5, #8]
+ ldr r0, [r5, #8]
+_08038C6E:
+ ldr r1, [r7]
+ mov r4, r8
+ adds r0, r1, r4
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ cmp r0, #0x20
+ bne _08038C86
+ movs r0, #0xa5
+ lsls r0, r0, #2
+ adds r1, r1, r0
+ movs r0, #1
+ strb r0, [r1]
+_08038C86:
+ ldr r0, [r7]
+ add r0, r8
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x21
+ bne _08038CA4
+ ldr r0, _08038CCC @ =0x02032F20
+ ldr r1, _08038CD0 @ =0x086A1F10
+ bl MPlayStart
+ ldr r0, [r7]
+ ldr r2, _08038CD4 @ =0x00000387
+ adds r0, r0, r2
+ movs r1, #1
+ strb r1, [r0]
+_08038CA4:
+ ldr r0, _08038CD8 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r3, _08038CDC @ =0x00000392
+ adds r1, r0, r3
+ ldrh r0, [r1]
+ cmp r0, #2
+ bhi _08038CB6
+ bl _08039562
+_08038CB6:
+ subs r0, #1
+ strh r0, [r1]
+ bl _08039562
+ .align 2, 0
+_08038CC0: .4byte 0x000003DD
+_08038CC4: .4byte 0x000003E1
+_08038CC8: .4byte 0x081B0DE4
+_08038CCC: .4byte 0x02032F20
+_08038CD0: .4byte 0x086A1F10
+_08038CD4: .4byte 0x00000387
+_08038CD8: .4byte gUnknown_020314E0
+_08038CDC: .4byte 0x00000392
+_08038CE0:
+ ldr r2, _08038D60 @ =0x086AEAF8
+ ldr r5, _08038D64 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ ldr r6, _08038D68 @ =0x000003E2
+ adds r3, r4, r6
+ movs r0, #0
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r0, r2
+ bls _08038D08
+ b _080394A6
+_08038D08:
+ movs r2, #0
+ strh r2, [r1]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xc
+ bne _08038D3A
+ strh r2, [r3]
+ movs r3, #0xf7
+ lsls r3, r3, #2
+ adds r1, r4, r3
+ movs r0, #4
+ strb r0, [r1]
+ ldr r0, [r5]
+ ldr r4, _08038D6C @ =0x000003DD
+ adds r0, r0, r4
+ movs r1, #6
+ strb r1, [r0]
+ ldr r0, [r5]
+ ldr r1, _08038D70 @ =0x000003E1
+ adds r0, r0, r1
+ movs r1, #2
+ strb r1, [r0]
+_08038D3A:
+ ldr r1, [r5]
+ adds r0, r1, r6
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ cmp r0, #0xb
+ beq _08038D4A
+ bl _08039562
+_08038D4A:
+ ldr r3, _08038D74 @ =0x00000387
+ adds r1, r1, r3
+ movs r0, #1
+ strb r0, [r1]
+ ldr r0, _08038D78 @ =0x02032F20
+ ldr r1, _08038D7C @ =0x086A1F10
+ bl MPlayStart
+ bl _08039562
+ .align 2, 0
+_08038D60: .4byte 0x086AEAF8
+_08038D64: .4byte gUnknown_020314E0
+_08038D68: .4byte 0x000003E2
+_08038D6C: .4byte 0x000003DD
+_08038D70: .4byte 0x000003E1
+_08038D74: .4byte 0x00000387
+_08038D78: .4byte 0x02032F20
+_08038D7C: .4byte 0x086A1F10
+_08038D80:
+ ldr r2, _08038DF0 @ =0x086AEAF8
+ ldr r5, _08038DF4 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ ldr r6, _08038DF8 @ =0x000003E2
+ adds r3, r4, r6
+ movs r0, #0
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r0, r2
+ bls _08038DA8
+ b _080394A6
+_08038DA8:
+ movs r2, #0
+ movs r0, #0
+ strh r0, [r1]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #8
+ bne _08038DD0
+ strh r0, [r3]
+ movs r3, #0xf7
+ lsls r3, r3, #2
+ adds r1, r4, r3
+ movs r0, #0xb
+ strb r0, [r1]
+ ldr r0, [r5]
+ ldr r4, _08038DFC @ =0x000003E1
+ adds r0, r0, r4
+ strb r2, [r0]
+_08038DD0:
+ ldr r1, [r5]
+ adds r0, r1, r6
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ cmp r0, #5
+ beq _08038DDE
+ b _08039562
+_08038DDE:
+ ldr r3, _08038E00 @ =0x00000387
+ adds r0, r1, r3
+ strb r2, [r0]
+ ldr r0, _08038E04 @ =0x02032F20
+ ldr r1, _08038E08 @ =0x086A1FC4
+ bl MPlayStart
+ b _08039562
+ .align 2, 0
+_08038DF0: .4byte 0x086AEAF8
+_08038DF4: .4byte gUnknown_020314E0
+_08038DF8: .4byte 0x000003E2
+_08038DFC: .4byte 0x000003E1
+_08038E00: .4byte 0x00000387
+_08038E04: .4byte 0x02032F20
+_08038E08: .4byte 0x086A1FC4
+_08038E0C:
+ ldr r2, _08038E68 @ =0x086AEAF8
+ ldr r4, _08038E6C @ =gUnknown_020314E0
+ mov r8, r4
+ ldr r3, [r4]
+ ldr r6, _08038E70 @ =0x000003E2
+ adds r4, r3, r6
+ movs r0, #0
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r1, r3, r2
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r0, r2
+ bls _08038E36
+ b _080394A6
+_08038E36:
+ movs r6, #0
+ mov sb, r6
+ movs r7, #0
+ strh r7, [r1]
+ ldrh r0, [r4]
+ adds r0, #1
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ asrs r6, r0, #0x10
+ cmp r6, #4
+ beq _08038E4E
+ b _08039562
+_08038E4E:
+ ldr r0, _08038E74 @ =0x000003E1
+ mov ip, r0
+ adds r1, r3, r0
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #2
+ bgt _08038E78
+ strh r7, [r4]
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ b _08039562
+ .align 2, 0
+_08038E68: .4byte 0x086AEAF8
+_08038E6C: .4byte gUnknown_020314E0
+_08038E70: .4byte 0x000003E2
+_08038E74: .4byte 0x000003E1
+_08038E78:
+ ldr r1, _08038EB8 @ =0x000003DD
+ mov sl, r1
+ adds r5, r3, r1
+ movs r0, #0
+ ldrsb r0, [r5, r0]
+ cmp r0, #3
+ bne _08038ECE
+ ldr r2, _08038EBC @ =0x00000385
+ adds r0, r3, r2
+ subs r2, #1
+ adds r1, r3, r2
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r2, r0
+ blt _08038EC0
+ strh r7, [r4]
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r0, r3, r4
+ strb r6, [r0]
+ mov r6, r8
+ ldr r0, [r6]
+ add r0, ip
+ mov r1, sb
+ strb r1, [r0]
+ ldr r0, [r6]
+ add r0, sl
+ movs r1, #6
+ strb r1, [r0]
+ b _08039562
+ .align 2, 0
+_08038EB8: .4byte 0x000003DD
+_08038EBC: .4byte 0x00000385
+_08038EC0:
+ strh r6, [r4]
+ ldrb r1, [r5]
+ movs r2, #0xf7
+ lsls r2, r2, #2
+ adds r0, r3, r2
+ strb r1, [r0]
+ b _08039562
+_08038ECE:
+ movs r0, #0x22
+ strh r0, [r4]
+ ldrb r1, [r5]
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r0, r3, r4
+ strb r1, [r0]
+ mov r6, r8
+ ldr r0, [r6]
+ movs r1, #0x88
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ mov r2, sb
+ strb r2, [r0]
+ ldr r0, [r6]
+ add r0, ip
+ strb r2, [r0]
+ b _08039562
+_08038EF2:
+ ldr r2, _08038F44 @ =0x086AEAF8
+ mov r3, r8
+ ldr r4, [r3]
+ ldr r6, _08038F48 @ =0x000003E2
+ adds r3, r4, r6
+ movs r0, #0
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r0, r2
+ bls _08038F1A
+ b _080394A6
+_08038F1A:
+ movs r2, #0
+ strh r2, [r1]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x43
+ bne _08038F74
+ ldr r6, _08038F4C @ =0x000003E1
+ adds r1, r4, r6
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ bgt _08038F50
+ movs r0, #0x2d
+ strh r0, [r3]
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ b _08038F74
+ .align 2, 0
+_08038F44: .4byte 0x086AEAF8
+_08038F48: .4byte 0x000003E2
+_08038F4C: .4byte 0x000003E1
+_08038F50:
+ strh r2, [r3]
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r4, r0
+ movs r0, #4
+ strb r0, [r1]
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r2, _08038FC8 @ =0x000003E1
+ adds r0, r0, r2
+ movs r1, #1
+ strb r1, [r0]
+ mov r3, r8
+ ldr r0, [r3]
+ ldr r4, _08038FCC @ =0x000003DD
+ adds r0, r0, r4
+ movs r1, #3
+ strb r1, [r0]
+_08038F74:
+ ldr r5, _08038FD0 @ =gUnknown_020314E0
+ ldr r3, [r5]
+ ldr r4, _08038FD4 @ =0x000003E2
+ adds r0, r3, r4
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ cmp r0, #0x34
+ bne _08038FA8
+ ldr r0, _08038FC8 @ =0x000003E1
+ adds r2, r3, r0
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ lsls r0, r0, #1
+ movs r6, #0x8b
+ lsls r6, r6, #3
+ adds r1, r3, r6
+ adds r1, r1, r0
+ movs r0, #0
+ strh r0, [r1]
+ movs r1, #0
+ ldrsb r1, [r2, r1]
+ ldr r2, _08038FD8 @ =0x00000441
+ adds r0, r3, r2
+ adds r0, r0, r1
+ movs r1, #1
+ strb r1, [r0]
+_08038FA8:
+ ldr r0, [r5]
+ adds r0, r0, r4
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ cmp r0, #0x32
+ beq _08038FBE
+ cmp r0, #0x38
+ beq _08038FBE
+ cmp r0, #0x3e
+ beq _08038FBE
+ b _08039562
+_08038FBE:
+ ldr r0, _08038FDC @ =0x02032F20
+ ldr r1, _08038FE0 @ =0x086A1FE4
+ bl MPlayStart
+ b _08039562
+ .align 2, 0
+_08038FC8: .4byte 0x000003E1
+_08038FCC: .4byte 0x000003DD
+_08038FD0: .4byte gUnknown_020314E0
+_08038FD4: .4byte 0x000003E2
+_08038FD8: .4byte 0x00000441
+_08038FDC: .4byte 0x02032F20
+_08038FE0: .4byte 0x086A1FE4
+_08038FE4:
+ ldr r2, _08039010 @ =0x086AEAF8
+ mov r4, r8
+ ldr r3, [r4]
+ ldr r6, _08039014 @ =0x000003E2
+ adds r4, r3, r6
+ movs r0, #0
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r1, r3, r2
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r0, r2
+ bls _08039018
+ adds r0, r2, #1
+ strh r0, [r1]
+ b _08039098
+ .align 2, 0
+_08039010: .4byte 0x086AEAF8
+_08039014: .4byte 0x000003E2
+_08039018:
+ movs r0, #0
+ strh r0, [r1]
+ ldrh r0, [r4]
+ adds r0, #1
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x28
+ bne _08039040
+ ldr r6, _080390B4 @ =0x000003E1
+ adds r1, r3, r6
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ bgt _08039040
+ movs r0, #0x22
+ strh r0, [r4]
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+_08039040:
+ ldr r4, _080390B8 @ =gUnknown_020314E0
+ ldr r1, [r4]
+ ldr r5, _080390BC @ =0x000003E2
+ adds r3, r1, r5
+ movs r2, #0
+ ldrsh r0, [r3, r2]
+ cmp r0, #0x2d
+ bne _08039066
+ movs r2, #0
+ strh r0, [r3]
+ movs r3, #0xf7
+ lsls r3, r3, #2
+ adds r1, r1, r3
+ movs r0, #5
+ strb r0, [r1]
+ ldr r0, [r4]
+ ldr r6, _080390B4 @ =0x000003E1
+ adds r0, r0, r6
+ strb r2, [r0]
+_08039066:
+ ldr r2, [r4]
+ movs r1, #0x88
+ lsls r1, r1, #3
+ adds r0, r2, r1
+ movs r3, #0
+ ldrsb r3, [r0, r3]
+ cmp r3, #0
+ bne _08039098
+ adds r0, r2, r5
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ cmp r0, #0x2a
+ bne _08039098
+ ldr r0, _080390C0 @ =gMain
+ ldr r6, _080390C4 @ =0x00001438
+ adds r0, r0, r6
+ movs r1, #1
+ strh r1, [r0]
+ ldr r1, _080390C8 @ =0x00000456
+ adds r0, r2, r1
+ strh r3, [r0]
+ ldr r0, _080390CC @ =0x02032F20
+ ldr r1, _080390D0 @ =0x086A2038
+ bl MPlayStart
+_08039098:
+ ldr r0, _080390B8 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r2, _080390D4 @ =0x00000452
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ cmp r0, #6
+ bhi _080390A8
+ b _08039562
+_080390A8:
+ movs r3, #0x88
+ lsls r3, r3, #3
+ adds r1, r1, r3
+ movs r0, #1
+ strb r0, [r1]
+ b _08039562
+ .align 2, 0
+_080390B4: .4byte 0x000003E1
+_080390B8: .4byte gUnknown_020314E0
+_080390BC: .4byte 0x000003E2
+_080390C0: .4byte gMain
+_080390C4: .4byte 0x00001438
+_080390C8: .4byte 0x00000456
+_080390CC: .4byte 0x02032F20
+_080390D0: .4byte 0x086A2038
+_080390D4: .4byte 0x00000452
+_080390D8:
+ mov r4, r8
+ ldr r0, [r4]
+ movs r6, #0xa5
+ lsls r6, r6, #2
+ adds r0, r0, r6
+ movs r5, #0
+ movs r1, #3
+ strb r1, [r0]
+ ldr r4, [r4]
+ ldr r1, _08039158 @ =0x00000283
+ adds r0, r4, r1
+ ldrb r0, [r0]
+ movs r1, #5
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ cmp r0, #3
+ bne _08039174
+ movs r2, #0xf7
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ movs r0, #0xa
+ strb r0, [r1]
+ mov r3, r8
+ ldr r0, [r3]
+ ldr r4, _0803915C @ =0x000003E2
+ adds r0, r0, r4
+ movs r4, #0
+ strh r5, [r0]
+ ldr r3, _08039160 @ =gMain
+ ldr r6, _08039164 @ =0x00000A28
+ adds r0, r3, r6
+ movs r1, #1
+ strh r1, [r0]
+ movs r2, #0x97
+ lsls r2, r2, #4
+ adds r0, r3, r2
+ strh r1, [r0]
+ mov r6, r8
+ ldr r1, [r6]
+ movs r0, #0xb3
+ lsls r0, r0, #3
+ adds r2, r1, r0
+ movs r0, #0xc5
+ strh r0, [r2]
+ ldr r2, _08039168 @ =0x0000038E
+ adds r0, r1, r2
+ strh r5, [r0]
+ movs r6, #0xb5
+ lsls r6, r6, #3
+ adds r1, r1, r6
+ strb r4, [r1]
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r2, _0803916C @ =0x000005A6
+ adds r1, r0, r2
+ strh r5, [r1]
+ ldr r4, _08039170 @ =0x000005A4
+ adds r0, r0, r4
+ movs r1, #2
+ strb r1, [r0]
+ adds r2, r3, #0
+ b _080391A4
+ .align 2, 0
+_08039158: .4byte 0x00000283
+_0803915C: .4byte 0x000003E2
+_08039160: .4byte gMain
+_08039164: .4byte 0x00000A28
+_08039168: .4byte 0x0000038E
+_0803916C: .4byte 0x000005A6
+_08039170: .4byte 0x000005A4
+_08039174:
+ movs r6, #0xf7
+ lsls r6, r6, #2
+ adds r1, r4, r6
+ movs r0, #9
+ strb r0, [r1]
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r3, _080391D4 @ =0x000003E2
+ adds r2, r1, r3
+ movs r0, #0x4f
+ strh r0, [r2]
+ ldr r2, _080391D8 @ =gMain
+ movs r0, #0x80
+ strb r0, [r2, #0xf]
+ movs r4, #0xe2
+ lsls r4, r4, #2
+ adds r1, r1, r4
+ movs r0, #2
+ strb r0, [r1]
+ mov r6, r8
+ ldr r0, [r6]
+ ldr r1, _080391DC @ =0x00000392
+ adds r0, r0, r1
+ strh r5, [r0]
+_080391A4:
+ ldr r3, _080391E0 @ =0x00000E78
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ cmp r0, #0
+ beq _080391C4
+ mov r4, r8
+ ldr r0, [r4]
+ ldr r6, _080391E4 @ =0x00000445
+ adds r0, r0, r6
+ movs r1, #7
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldr r1, _080391E8 @ =0x0000044E
+ adds r0, r0, r1
+ movs r1, #1
+ strh r1, [r0]
+_080391C4:
+ ldr r0, _080391EC @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ movs r1, #0
+ strh r1, [r0]
+ b _08039562
+ .align 2, 0
+_080391D4: .4byte 0x000003E2
+_080391D8: .4byte gMain
+_080391DC: .4byte 0x00000392
+_080391E0: .4byte 0x00000E78
+_080391E4: .4byte 0x00000445
+_080391E8: .4byte 0x0000044E
+_080391EC: .4byte gUnknown_020314E0
+_080391F0:
+ ldr r2, _08039264 @ =0x086AEAF8
+ ldr r5, _08039268 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ ldr r6, _0803926C @ =0x000003E2
+ adds r3, r4, r6
+ movs r0, #0
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r0, r2
+ bls _08039218
+ b _080394A6
+_08039218:
+ movs r2, #0
+ strh r2, [r1]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x6c
+ bne _08039242
+ movs r0, #0x6b
+ strh r0, [r3]
+ movs r3, #0xf7
+ lsls r3, r3, #2
+ adds r1, r4, r3
+ movs r0, #0xd
+ strb r0, [r1]
+ ldr r1, [r5]
+ movs r0, #2
+ strb r0, [r1, #0x13]
+ ldr r0, [r5]
+ strh r2, [r0, #0x18]
+_08039242:
+ ldr r1, [r5]
+ adds r0, r1, r6
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ cmp r0, #0x61
+ beq _08039250
+ b _08039562
+_08039250:
+ ldr r6, _08039270 @ =0x00000387
+ adds r1, r1, r6
+ movs r0, #0
+ strb r0, [r1]
+ ldr r0, _08039274 @ =0x02032F20
+ ldr r1, _08039278 @ =0x086A20F8
+ bl MPlayStart
+ b _08039562
+ .align 2, 0
+_08039264: .4byte 0x086AEAF8
+_08039268: .4byte gUnknown_020314E0
+_0803926C: .4byte 0x000003E2
+_08039270: .4byte 0x00000387
+_08039274: .4byte 0x02032F20
+_08039278: .4byte 0x086A20F8
+_0803927C:
+ ldr r2, _080392A8 @ =0x086AEAF8
+ mov r0, r8
+ ldr r3, [r0]
+ ldr r1, _080392AC @ =0x000003E2
+ adds r4, r3, r1
+ movs r6, #0
+ ldrsh r1, [r4, r6]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r1, #0xf9
+ lsls r1, r1, #2
+ adds r3, r3, r1
+ ldrh r1, [r3]
+ ldrh r0, [r0]
+ cmp r0, r1
+ bls _080392B0
+ adds r0, r1, #1
+ strh r0, [r3]
+ b _080392C4
+ .align 2, 0
+_080392A8: .4byte 0x086AEAF8
+_080392AC: .4byte 0x000003E2
+_080392B0:
+ movs r1, #0
+ strh r1, [r3]
+ ldrh r0, [r4]
+ adds r0, #1
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #4
+ bne _080392C4
+ strh r1, [r4]
+_080392C4:
+ mov r2, r8
+ ldr r6, [r2]
+ ldr r3, _0803933C @ =0x0000038E
+ adds r4, r6, r3
+ ldrh r5, [r4]
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ ldr r1, _08039340 @ =0xFFFFFE0C
+ cmp r0, r1
+ ble _08039304
+ subs r0, r1, r0
+ movs r1, #0x1e
+ bl __divsi3
+ adds r0, r5, r0
+ strh r0, [r4]
+ movs r3, #0
+ ldrsh r0, [r4, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r2, r6, #0
+ adds r2, #0xe6
+ strh r0, [r2]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #0x32
+ rsbs r1, r1, #0
+ cmp r0, r1
+ bge _08039304
+ ldr r0, _08039344 @ =0x0000FFCE
+ strh r0, [r2]
+_08039304:
+ ldr r3, _08039348 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ movs r2, #0xb5
+ lsls r2, r2, #3
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x15
+ bne _08039320
+ ldr r4, _0803934C @ =0x000003E2
+ adds r1, r1, r4
+ movs r0, #0x72
+ strh r0, [r1]
+_08039320:
+ ldr r1, [r3]
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x16
+ beq _08039330
+ b _08039562
+_08039330:
+ ldr r6, _0803934C @ =0x000003E2
+ adds r1, r1, r6
+ movs r0, #0x73
+ strh r0, [r1]
+ b _08039562
+ .align 2, 0
+_0803933C: .4byte 0x0000038E
+_08039340: .4byte 0xFFFFFE0C
+_08039344: .4byte 0x0000FFCE
+_08039348: .4byte gUnknown_020314E0
+_0803934C: .4byte 0x000003E2
+_08039350:
+ ldr r5, _08039428 @ =gUnknown_020314E0
+ ldr r2, [r5]
+ movs r6, #0xf9
+ lsls r6, r6, #2
+ adds r1, r2, r6
+ ldrh r3, [r1]
+ ldr r0, _0803942C @ =0x0000012B
+ cmp r3, r0
+ bhi _08039440
+ adds r0, r3, #1
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0xda
+ bne _080393AE
+ ldr r0, _08039430 @ =0x00000456
+ adds r1, r2, r0
+ movs r0, #0
+ strh r0, [r1]
+ bl Random
+ ldr r4, [r5]
+ movs r1, #0x64
+ bl __umodsi3
+ lsls r1, r0, #2
+ adds r1, r1, r0
+ lsls r1, r1, #1
+ movs r2, #0xfa
+ lsls r2, r2, #1
+ adds r0, r2, #0
+ subs r0, r0, r1
+ movs r3, #0xfa
+ lsls r3, r3, #2
+ adds r4, r4, r3
+ strh r0, [r4]
+ bl Random
+ ldr r4, [r5]
+ movs r1, #0x64
+ bl __umodsi3
+ lsls r0, r0, #2
+ adds r0, #0xc8
+ ldr r1, _08039434 @ =0x000003EA
+ adds r4, r4, r1
+ strh r0, [r4]
+_080393AE:
+ ldr r0, [r5]
+ adds r0, r0, r6
+ ldrh r1, [r0]
+ movs r0, #0x82
+ lsls r0, r0, #1
+ cmp r1, r0
+ beq _080393BE
+ b _08039562
+_080393BE:
+ movs r1, #0
+ mov r8, r5
+ mov ip, r8
+ ldr r7, _08039438 @ =0x00000441
+ movs r6, #0x8b
+ lsls r6, r6, #3
+ movs r5, #0
+_080393CC:
+ mov r3, ip
+ ldr r2, [r3]
+ lsls r0, r1, #0x10
+ asrs r4, r0, #0x10
+ adds r0, r2, r7
+ adds r3, r0, r4
+ movs r0, #0
+ ldrsb r0, [r3, r0]
+ cmp r0, #3
+ bne _080393FE
+ lsls r1, r4, #1
+ adds r0, r2, r6
+ adds r0, r0, r1
+ strh r5, [r0]
+ movs r0, #4
+ strb r0, [r3]
+ mov r0, r8
+ ldr r2, [r0]
+ ldr r1, _0803943C @ =0x000005AC
+ adds r2, r2, r1
+ ldr r0, [r2]
+ lsrs r1, r0, #0x1f
+ adds r0, r0, r1
+ asrs r0, r0, #1
+ str r0, [r2]
+_080393FE:
+ mov r2, ip
+ ldr r1, [r2]
+ adds r0, r1, r7
+ adds r2, r0, r4
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ cmp r0, #2
+ bne _0803941A
+ lsls r0, r4, #1
+ adds r1, r1, r6
+ adds r1, r1, r0
+ strh r5, [r1]
+ movs r0, #5
+ strb r0, [r2]
+_0803941A:
+ adds r0, r4, #1
+ lsls r0, r0, #0x10
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #1
+ ble _080393CC
+ b _08039562
+ .align 2, 0
+_08039428: .4byte gUnknown_020314E0
+_0803942C: .4byte 0x0000012B
+_08039430: .4byte 0x00000456
+_08039434: .4byte 0x000003EA
+_08039438: .4byte 0x00000441
+_0803943C: .4byte 0x000005AC
+_08039440:
+ movs r0, #0
+ strh r0, [r1]
+ ldr r3, _08039470 @ =0x000003E2
+ adds r1, r2, r3
+ movs r0, #0x43
+ strh r0, [r1]
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r1, r2, r4
+ movs r0, #0xc
+ strb r0, [r1]
+ ldr r0, [r5]
+ ldr r6, _08039474 @ =0x00000387
+ adds r0, r0, r6
+ movs r1, #2
+ strb r1, [r0]
+ ldr r0, _08039478 @ =0x02032F20
+ ldr r1, _0803947C @ =0x086A1F10
+ bl MPlayStart
+ movs r0, #8
+ bl sub_11B0
+ b _08039562
+ .align 2, 0
+_08039470: .4byte 0x000003E2
+_08039474: .4byte 0x00000387
+_08039478: .4byte 0x02032F20
+_0803947C: .4byte 0x086A1F10
+_08039480:
+ ldr r2, _080394AC @ =0x086AEAF8
+ mov r7, r8
+ ldr r4, [r7]
+ ldr r6, _080394B0 @ =0x000003E2
+ adds r3, r4, r6
+ movs r0, #0
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r0, r2
+ bls _080394B4
+_080394A6:
+ adds r0, r2, #1
+ strh r0, [r1]
+ b _08039562
+ .align 2, 0
+_080394AC: .4byte 0x086AEAF8
+_080394B0: .4byte 0x000003E2
+_080394B4:
+ movs r5, #0
+ strh r5, [r1]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x4f
+ bne _0803951C
+ ldr r0, _080394F0 @ =0x000003E1
+ adds r1, r4, r0
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ bgt _080394F4
+ movs r0, #0x4e
+ strh r0, [r3]
+ movs r2, #0xf7
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ movs r0, #0xb
+ strb r0, [r1]
+ ldr r1, [r7]
+ ldr r3, _080394F0 @ =0x000003E1
+ adds r1, r1, r3
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ b _0803951C
+ .align 2, 0
+_080394F0: .4byte 0x000003E1
+_080394F4:
+ movs r0, #0
+ strb r0, [r1]
+ mov r4, r8
+ ldr r1, [r4]
+ adds r2, r1, r6
+ movs r0, #8
+ strh r0, [r2]
+ movs r6, #0xf7
+ lsls r6, r6, #2
+ adds r1, r1, r6
+ movs r0, #2
+ strb r0, [r1]
+ ldr r0, [r4]
+ movs r2, #0xfa
+ lsls r2, r2, #2
+ adds r1, r0, r2
+ strh r5, [r1]
+ ldr r3, _080395B0 @ =0x000003EA
+ adds r0, r0, r3
+ strh r5, [r0]
+_0803951C:
+ ldr r3, _080395B4 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ ldr r2, _080395B8 @ =0x000003E2
+ adds r0, r1, r2
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ cmp r0, #0x46
+ bne _08039534
+ ldr r6, _080395BC @ =0x00000387
+ adds r1, r1, r6
+ movs r0, #3
+ strb r0, [r1]
+_08039534:
+ ldr r1, [r3]
+ adds r0, r1, r2
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ cmp r0, #0x49
+ bne _08039548
+ ldr r6, _080395BC @ =0x00000387
+ adds r1, r1, r6
+ movs r0, #0
+ strb r0, [r1]
+_08039548:
+ ldr r0, [r3]
+ adds r0, r0, r2
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x48
+ bne _08039562
+ ldr r0, _080395C0 @ =0x02032F20
+ ldr r1, _080395C4 @ =0x086A1FC4
+ bl MPlayStart
+ movs r0, #8
+ bl sub_11B0
+_08039562:
+ ldr r5, _080395B4 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ movs r4, #0xe4
+ lsls r4, r4, #2
+ adds r1, r0, r4
+ ldrh r0, [r1]
+ cmp r0, #0
+ beq _080395A2
+ subs r0, #1
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0x14
+ bne _0803958C
+ ldr r0, _080395C8 @ =0x086A3700
+ ldr r2, _080395CC @ =0x00001278
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ movs r1, #0
+ bl sub_528DC
+_0803958C:
+ ldr r0, [r5]
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _080395A2
+ ldr r0, _080395D0 @ =0x02032EE0
+ ldr r1, _080395D4 @ =0x0000FFFF
+ movs r2, #0x80
+ lsls r2, r2, #1
+ bl m4aMPlayVolumeControl
+_080395A2:
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080395B0: .4byte 0x000003EA
+_080395B4: .4byte gUnknown_020314E0
+_080395B8: .4byte 0x000003E2
+_080395BC: .4byte 0x00000387
+_080395C0: .4byte 0x02032F20
+_080395C4: .4byte 0x086A1FC4
+_080395C8: .4byte 0x086A3700
+_080395CC: .4byte 0x00001278
+_080395D0: .4byte 0x02032EE0
+_080395D4: .4byte 0x0000FFFF
+
+ thumb_func_start sub_395D8
+sub_395D8: @ 0x080395D8
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #8
+ ldr r7, _08039648 @ =0x0200C2D0
+ ldrh r0, [r7]
+ cmp r0, #0
+ bne _080395EE
+ b _080398D0
+_080395EE:
+ ldr r1, _0803964C @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08039650 @ =0x000003DF
+ adds r3, r0, r2
+ movs r5, #0
+ ldrsb r5, [r3, r5]
+ ldr r4, _08039654 @ =0x086AEAF8
+ adds r2, #3
+ adds r0, r0, r2
+ movs r6, #0
+ ldrsh r1, [r0, r6]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r1, r4, #4
+ adds r0, r0, r1
+ ldrh r0, [r0]
+ strb r0, [r3]
+ ldr r1, _0803964C @ =gUnknown_020314E0
+ ldr r0, [r1]
+ adds r0, r0, r2
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ mov r8, r0
+ cmp r5, #0xe
+ bgt _08039668
+ ldr r2, _08039658 @ =0x040000D4
+ lsls r0, r5, #1
+ adds r0, r0, r5
+ lsls r0, r0, #2
+ subs r0, r0, r5
+ lsls r0, r0, #7
+ ldr r1, _0803965C @ =0x0849664C
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _08039660 @ =0x06010FA0
+ str r0, [r2, #4]
+ ldr r0, _08039664 @ =0x800002C0
+ b _08039684
+ .align 2, 0
+_08039648: .4byte 0x0200C2D0
+_0803964C: .4byte gUnknown_020314E0
+_08039650: .4byte 0x000003DF
+_08039654: .4byte 0x086AEAF8
+_08039658: .4byte 0x040000D4
+_0803965C: .4byte 0x0849664C
+_08039660: .4byte 0x06010FA0
+_08039664: .4byte 0x800002C0
+_08039668:
+ ldr r2, _08039720 @ =0x040000D4
+ adds r1, r5, #0
+ subs r1, #0xf
+ lsls r0, r1, #2
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ subs r0, r0, r1
+ lsls r0, r0, #6
+ ldr r1, _08039724 @ =0x0849B8CC
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _08039728 @ =0x06010FA0
+ str r0, [r2, #4]
+ ldr r0, _0803972C @ =0x80000260
+_08039684:
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r3, _08039730 @ =gUnknown_020314E0
+ ldr r4, [r3]
+ movs r6, #0xfa
+ lsls r6, r6, #2
+ adds r5, r4, r6
+ movs r1, #0
+ ldrsh r0, [r5, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x48
+ adds r1, r4, #0
+ adds r1, #0x58
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ strh r0, [r7, #2]
+ ldr r2, _08039734 @ =0x000003EA
+ adds r6, r4, r2
+ movs r3, #0
+ ldrsh r0, [r6, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x42
+ adds r1, r4, #0
+ adds r1, #0x5a
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ strh r0, [r7, #4]
+ movs r1, #0
+ ldrsh r0, [r5, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x78
+ movs r2, #0xa2
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ strh r0, [r1]
+ movs r3, #0
+ ldrsh r0, [r6, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x32
+ ldr r2, _08039738 @ =0x0000028A
+ adds r1, r4, r2
+ strh r0, [r1]
+ ldr r3, _0803973C @ =0x00000387
+ adds r0, r4, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ bne _08039740
+ movs r1, #0
+ ldrsh r0, [r5, r1]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0xc0
+ movs r2, #0xfc
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ strh r0, [r1]
+ movs r3, #0
+ ldrsh r0, [r6, r3]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0x86
+ b _08039796
+ .align 2, 0
+_08039720: .4byte 0x040000D4
+_08039724: .4byte 0x0849B8CC
+_08039728: .4byte 0x06010FA0
+_0803972C: .4byte 0x80000260
+_08039730: .4byte gUnknown_020314E0
+_08039734: .4byte 0x000003EA
+_08039738: .4byte 0x0000028A
+_0803973C: .4byte 0x00000387
+_08039740:
+ cmp r0, #3
+ bne _0803976E
+ movs r1, #0
+ ldrsh r0, [r5, r1]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0xc0
+ movs r2, #0xfc
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ strh r0, [r1]
+ movs r3, #0
+ ldrsh r0, [r6, r3]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0x96
+ b _08039796
+_0803976E:
+ movs r1, #0
+ ldrsh r0, [r5, r1]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0xb4
+ movs r2, #0xfc
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ strh r0, [r1]
+ movs r3, #0
+ ldrsh r0, [r6, r3]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0x74
+_08039796:
+ ldr r6, _080397FC @ =0x000003F2
+ adds r1, r4, r6
+ strh r0, [r1]
+ ldr r1, _08039800 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08039804 @ =0x00000389
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #9
+ ble _08039810
+ movs r2, #0
+ ldr r4, _08039808 @ =gOamBuffer
+ ldr r3, _0803980C @ =0xFFFFFE00
+ mov r8, r3
+ movs r6, #0xb0
+_080397B8:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ adds r5, r7, r0
+ ldrh r2, [r5]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ ldrh r1, [r2, #2]
+ mov r0, r8
+ ands r0, r1
+ movs r1, #0xf0
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ adds r0, r0, r4
+ movs r1, #0xb4
+ strb r1, [r0]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r2, [r1, #5]
+ movs r0, #0xf
+ ands r0, r2
+ orrs r0, r6
+ strb r0, [r1, #5]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #9
+ ble _080397B8
+ b _080398D0
+ .align 2, 0
+_080397FC: .4byte 0x000003F2
+_08039800: .4byte gUnknown_020314E0
+_08039804: .4byte 0x00000389
+_08039808: .4byte gOamBuffer
+_0803980C: .4byte 0xFFFFFE00
+_08039810:
+ cmp r0, #1
+ bne _0803981C
+ movs r3, #0xe
+ mov r4, r8
+ lsls r0, r4, #0x10
+ b _0803983C
+_0803981C:
+ cmp r0, #3
+ bne _08039828
+ movs r3, #0xb
+ mov r6, r8
+ lsls r0, r6, #0x10
+ b _0803983C
+_08039828:
+ mov r1, r8
+ lsls r0, r1, #0x10
+ asrs r1, r0, #0x10
+ movs r3, #4
+ cmp r1, #0x14
+ beq _0803983C
+ movs r3, #0xf
+ cmp r1, #0x15
+ bne _0803983C
+ movs r3, #3
+_0803983C:
+ movs r2, #0
+ lsls r3, r3, #4
+ mov r8, r3
+ ldr r3, _080399BC @ =0x086B92FC
+ mov sl, r3
+ ldr r6, _080399C0 @ =gOamBuffer
+ asrs r1, r0, #0x10
+ lsls r0, r1, #4
+ subs r0, r0, r1
+ lsls r0, r0, #2
+ mov ip, r0
+ ldr r4, _080399C4 @ =0xFFFFFE00
+ mov sb, r4
+_08039856:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ adds r5, r7, r0
+ ldrh r2, [r5]
+ lsls r2, r2, #3
+ adds r2, r2, r6
+ lsls r0, r3, #1
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ add r0, sl
+ add r0, ip
+ ldrh r1, [r0]
+ strh r1, [r2]
+ adds r0, #2
+ adds r2, #2
+ ldrh r1, [r0]
+ strh r1, [r2]
+ ldrh r0, [r0, #2]
+ strh r0, [r2, #2]
+ ldrh r2, [r5]
+ lsls r2, r2, #3
+ adds r2, r2, r6
+ ldrh r0, [r2, #2]
+ lsls r1, r0, #0x17
+ lsrs r1, r1, #0x17
+ str r1, [sp]
+ movs r4, #2
+ ldrsh r1, [r7, r4]
+ ldr r0, [sp]
+ adds r1, r0, r1
+ ldr r4, _080399C8 @ =0x000001FF
+ ands r1, r4
+ mov r0, sb
+ ldrh r4, [r2, #2]
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ ldrb r0, [r7, #4]
+ ldrb r2, [r1]
+ adds r0, r0, r2
+ strb r0, [r1]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ ldrb r2, [r1, #5]
+ movs r0, #0xf
+ ands r0, r2
+ mov r4, r8
+ orrs r0, r4
+ strb r0, [r1, #5]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #9
+ ble _08039856
+_080398D0:
+ ldr r7, _080399CC @ =0x0200C668
+ ldrh r0, [r7]
+ cmp r0, #0
+ bne _080398DA
+ b _08039A08
+_080398DA:
+ ldr r6, _080399D0 @ =gUnknown_020314E0
+ ldr r4, [r6]
+ movs r1, #0xfa
+ lsls r1, r1, #2
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldrh r1, [r4]
+ subs r1, #0x6c
+ subs r0, r0, r1
+ strh r0, [r7, #2]
+ ldr r4, [r6]
+ ldr r3, _080399D4 @ =0x000003EA
+ adds r0, r4, r3
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x52
+ subs r0, r0, r1
+ strh r0, [r7, #4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xc7
+ ble _0803991E
+ movs r0, #0xc8
+ strh r0, [r7, #4]
+_0803991E:
+ ldr r4, _080399D8 @ =0x086AEDCC
+ ldr r1, _080399D0 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _080399DC @ =0x00000456
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ movs r1, #0x54
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #6
+ bl __udivsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0xf
+ adds r0, r0, r4
+ ldr r2, _080399E0 @ =0x040000D4
+ movs r3, #0
+ ldrsh r1, [r0, r3]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #6
+ ldr r1, _080399E4 @ =0x083C13AC
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _080399E8 @ =0x06012420
+ str r0, [r2, #4]
+ ldr r0, _080399EC @ =0x80000060
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ movs r2, #0
+ ldr r6, _080399C0 @ =gOamBuffer
+ ldr r4, _080399C4 @ =0xFFFFFE00
+ mov r8, r4
+_08039964:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r7, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r6
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r7, r2]
+ adds r1, r1, r0
+ ldr r2, _080399C8 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ ldrb r0, [r7, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #1
+ ble _08039964
+ ldr r3, _080399D0 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldr r6, _080399DC @ =0x00000456
+ adds r4, r0, r6
+ ldrh r0, [r4]
+ cmp r0, #0x52
+ bhi _080399F0
+ adds r0, #1
+ strh r0, [r4]
+ b _08039A2C
+ .align 2, 0
+_080399BC: .4byte 0x086B92FC
+_080399C0: .4byte gOamBuffer
+_080399C4: .4byte 0xFFFFFE00
+_080399C8: .4byte 0x000001FF
+_080399CC: .4byte 0x0200C668
+_080399D0: .4byte gUnknown_020314E0
+_080399D4: .4byte 0x000003EA
+_080399D8: .4byte 0x086AEDCC
+_080399DC: .4byte 0x00000456
+_080399E0: .4byte 0x040000D4
+_080399E4: .4byte 0x083C13AC
+_080399E8: .4byte 0x06012420
+_080399EC: .4byte 0x80000060
+_080399F0:
+ movs r1, #0
+ strh r1, [r4]
+ ldr r0, _08039A00 @ =gMain
+ ldr r2, _08039A04 @ =0x000015A8
+ adds r0, r0, r2
+ strh r1, [r0]
+ b _08039A2C
+ .align 2, 0
+_08039A00: .4byte gMain
+_08039A04: .4byte 0x000015A8
+_08039A08:
+ ldr r3, _08039A3C @ =gUnknown_020314E0
+ ldr r1, [r3]
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0xb
+ bne _08039A2C
+ movs r6, #0xf9
+ lsls r6, r6, #2
+ adds r0, r1, r6
+ ldrh r0, [r0]
+ cmp r0, #0xda
+ bne _08039A2C
+ movs r0, #1
+ strh r0, [r7]
+_08039A2C:
+ add sp, #8
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08039A3C: .4byte gUnknown_020314E0
+
+ thumb_func_start sub_39A40
+sub_39A40: @ 0x08039A40
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #0x40
+ movs r0, #0
+ str r0, [sp, #4]
+ ldr r1, _08039A84 @ =0x0200BAE8
+ str r1, [sp]
+ ldrh r0, [r1]
+ movs r2, #0x8a
+ lsls r2, r2, #3
+ adds r1, r1, r2
+ mov ip, r1
+ cmp r0, #0
+ bne _08039A64
+ b _08039BF8
+_08039A64:
+ ldr r0, _08039A88 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r3, _08039A8C @ =0x000006C4
+ adds r1, r1, r3
+ ldrb r1, [r1]
+ lsls r1, r1, #0x18
+ asrs r1, r1, #0x18
+ cmp r1, #3
+ bne _08039A90
+ movs r0, #0xf0
+ ldr r4, [sp]
+ strh r0, [r4, #2]
+ movs r0, #0xb4
+ strh r0, [r4, #4]
+ b _08039A9A
+ .align 2, 0
+_08039A84: .4byte 0x0200BAE8
+_08039A88: .4byte gUnknown_020314E0
+_08039A8C: .4byte 0x000006C4
+_08039A90:
+ movs r0, #0x60
+ ldr r5, [sp]
+ strh r0, [r5, #2]
+ movs r0, #0x37
+ strh r0, [r5, #4]
+_08039A9A:
+ ldr r6, _08039C24 @ =gUnknown_020314E0
+ ldr r1, [r6]
+ ldr r7, [sp]
+ ldrh r2, [r7, #2]
+ ldr r3, _08039C28 @ =0x000006E4
+ adds r0, r1, r3
+ strh r2, [r0]
+ ldrh r0, [r7, #4]
+ ldr r4, _08039C2C @ =0x000006E6
+ adds r1, r1, r4
+ strh r0, [r1]
+ movs r5, #4
+ ldrsh r0, [r7, r5]
+ cmp r0, #0xc7
+ ble _08039ABC
+ movs r0, #0xc8
+ strh r0, [r7, #4]
+_08039ABC:
+ movs r2, #0
+ ldr r6, _08039C30 @ =0x0200BA30
+ mov sl, r6
+ movs r7, #0xa1
+ lsls r7, r7, #3
+ add r7, sl
+ mov ip, r7
+ ldr r5, _08039C34 @ =gOamBuffer
+ movs r0, #3
+ mov r8, r0
+ movs r1, #0xd
+ rsbs r1, r1, #0
+ mov sb, r1
+_08039AD6:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ ldr r2, [sp]
+ adds r6, r2, r0
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r5
+ ldrb r1, [r2, #5]
+ movs r0, #0xf
+ ands r0, r1
+ movs r1, #0xd0
+ orrs r0, r1
+ strb r0, [r2, #5]
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ ldr r7, _08039C24 @ =gUnknown_020314E0
+ ldr r0, [r7]
+ ldr r1, _08039C38 @ =0x000006DB
+ adds r0, r0, r1
+ ldrb r1, [r0]
+ mov r2, r8
+ ands r1, r2
+ lsls r1, r1, #2
+ ldrb r2, [r3, #5]
+ mov r0, sb
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3, #5]
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ movs r7, #2
+ ldrsh r1, [r6, r7]
+ ldr r2, [sp]
+ movs r7, #2
+ ldrsh r0, [r2, r7]
+ adds r1, r1, r0
+ ldr r2, _08039C3C @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ ldr r0, _08039C40 @ =0xFFFFFE00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldr r3, [sp]
+ ldrb r0, [r3, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #5
+ ble _08039AD6
+ mov r4, sl
+ str r4, [sp]
+ ldr r5, _08039C24 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r6, _08039C28 @ =0x000006E4
+ adds r0, r0, r6
+ ldrh r0, [r0]
+ subs r0, #8
+ strh r0, [r4, #2]
+ ldr r0, [r5]
+ ldr r7, _08039C2C @ =0x000006E6
+ adds r0, r0, r7
+ ldrh r0, [r0]
+ subs r0, #8
+ strh r0, [r4, #4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xc7
+ ble _08039B7C
+ movs r0, #0xc8
+ strh r0, [r4, #4]
+_08039B7C:
+ movs r2, #0
+ ldr r5, _08039C34 @ =gOamBuffer
+ movs r0, #3
+ mov r8, r0
+ movs r1, #0xd
+ rsbs r1, r1, #0
+ mov sb, r1
+ ldr r3, _08039C40 @ =0xFFFFFE00
+ mov sl, r3
+_08039B8E:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ ldr r7, [sp]
+ adds r6, r7, r0
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ ldr r1, _08039C24 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08039C38 @ =0x000006DB
+ adds r0, r0, r2
+ ldrb r1, [r0]
+ mov r7, r8
+ ands r1, r7
+ lsls r1, r1, #2
+ ldrb r2, [r3, #5]
+ mov r0, sb
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3, #5]
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ movs r0, #2
+ ldrsh r1, [r6, r0]
+ ldr r2, [sp]
+ movs r7, #2
+ ldrsh r0, [r2, r7]
+ adds r1, r1, r0
+ ldr r2, _08039C3C @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, sl
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldr r3, [sp]
+ ldrb r0, [r3, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #5
+ ble _08039B8E
+_08039BF8:
+ mov r4, ip
+ str r4, [sp]
+ ldrh r0, [r4]
+ cmp r0, #0
+ bne _08039C04
+ b _0803A14E
+_08039C04:
+ ldr r1, _08039C24 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r5, _08039C44 @ =0x00000445
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #7
+ bls _08039C18
+ b _08039EBA
+_08039C18:
+ lsls r0, r0, #2
+ ldr r1, _08039C48 @ =_08039C4C
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08039C24: .4byte gUnknown_020314E0
+_08039C28: .4byte 0x000006E4
+_08039C2C: .4byte 0x000006E6
+_08039C30: .4byte 0x0200BA30
+_08039C34: .4byte gOamBuffer
+_08039C38: .4byte 0x000006DB
+_08039C3C: .4byte 0x000001FF
+_08039C40: .4byte 0xFFFFFE00
+_08039C44: .4byte 0x00000445
+_08039C48: .4byte _08039C4C
+_08039C4C: @ jump table
+ .4byte _08039C6C @ case 0
+ .4byte _08039CFC @ case 1
+ .4byte _08039D30 @ case 2
+ .4byte _08039D90 @ case 3
+ .4byte _08039DC0 @ case 4
+ .4byte _08039E20 @ case 5
+ .4byte _08039E50 @ case 6
+ .4byte _08039EB0 @ case 7
+_08039C6C:
+ ldr r6, _08039CD0 @ =gUnknown_020314E0
+ ldr r0, [r6]
+ ldr r7, _08039CD4 @ =0x00000449
+ adds r0, r0, r7
+ movs r2, #0
+ strb r2, [r0]
+ ldr r0, [r6]
+ ldr r1, _08039CD8 @ =0x00000446
+ adds r0, r0, r1
+ movs r1, #5
+ strb r1, [r0]
+ ldr r0, [r6]
+ ldr r3, _08039CDC @ =0x00000447
+ adds r0, r0, r3
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r6]
+ ldr r4, _08039CE0 @ =0x0000044A
+ adds r0, r0, r4
+ strb r2, [r0]
+ ldr r1, [r6]
+ ldr r5, _08039CE4 @ =0x0000044E
+ adds r0, r1, r5
+ strh r2, [r0]
+ movs r6, #0x89
+ lsls r6, r6, #3
+ adds r0, r1, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ beq _08039CAE
+ b _08039EBA
+_08039CAE:
+ ldr r2, _08039CE8 @ =0x040000D4
+ ldr r7, _08039CEC @ =0x000005F6
+ adds r0, r1, r7
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #8
+ lsls r0, r0, #5
+ ldr r1, _08039CF0 @ =0x08137E14
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _08039CF4 @ =0x05000220
+ str r0, [r2, #4]
+ ldr r0, _08039CF8 @ =0x80000010
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ b _08039EBA
+ .align 2, 0
+_08039CD0: .4byte gUnknown_020314E0
+_08039CD4: .4byte 0x00000449
+_08039CD8: .4byte 0x00000446
+_08039CDC: .4byte 0x00000447
+_08039CE0: .4byte 0x0000044A
+_08039CE4: .4byte 0x0000044E
+_08039CE8: .4byte 0x040000D4
+_08039CEC: .4byte 0x000005F6
+_08039CF0: .4byte 0x08137E14
+_08039CF4: .4byte 0x05000220
+_08039CF8: .4byte 0x80000010
+_08039CFC:
+ ldr r1, _08039D20 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08039D24 @ =0x0000044A
+ adds r0, r0, r2
+ movs r1, #4
+ strb r1, [r0]
+ ldr r3, _08039D20 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ ldr r4, _08039D28 @ =0x0000044E
+ adds r2, r1, r4
+ movs r0, #0x5a
+ strh r0, [r2]
+ ldr r5, _08039D2C @ =0x00000445
+ adds r1, r1, r5
+ movs r0, #2
+ strb r0, [r1]
+ b _08039EBA
+ .align 2, 0
+_08039D20: .4byte gUnknown_020314E0
+_08039D24: .4byte 0x0000044A
+_08039D28: .4byte 0x0000044E
+_08039D2C: .4byte 0x00000445
+_08039D30:
+ ldr r0, _08039D78 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldrh r0, [r1, #4]
+ cmp r0, #0
+ beq _08039D54
+ ldr r6, _08039D7C @ =0x0000044E
+ adds r1, r1, r6
+ ldrh r0, [r1]
+ subs r0, #0x5a
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ bge _08039D4E
+ movs r0, #0
+ strh r0, [r1]
+_08039D4E:
+ ldr r0, _08039D80 @ =0x00000111
+ bl m4aSongNumStart
+_08039D54:
+ ldr r2, _08039D78 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r7, _08039D84 @ =0x00000449
+ adds r0, r0, r7
+ movs r1, #5
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r1, _08039D88 @ =0x00000446
+ adds r0, r0, r1
+ movs r1, #9
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r3, _08039D8C @ =0x00000447
+ adds r0, r0, r3
+ movs r1, #3
+ strb r1, [r0]
+ b _08039EBA
+ .align 2, 0
+_08039D78: .4byte gUnknown_020314E0
+_08039D7C: .4byte 0x0000044E
+_08039D80: .4byte 0x00000111
+_08039D84: .4byte 0x00000449
+_08039D88: .4byte 0x00000446
+_08039D8C: .4byte 0x00000447
+_08039D90:
+ ldr r4, _08039DB0 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r5, _08039DB4 @ =0x0000044A
+ adds r0, r0, r5
+ movs r3, #4
+ strb r3, [r0]
+ ldr r0, [r4]
+ ldr r6, _08039DB8 @ =0x0000044E
+ adds r2, r0, r6
+ movs r1, #0x5a
+ strh r1, [r2]
+ ldr r7, _08039DBC @ =0x00000445
+ adds r0, r0, r7
+ strb r3, [r0]
+ b _08039EBA
+ .align 2, 0
+_08039DB0: .4byte gUnknown_020314E0
+_08039DB4: .4byte 0x0000044A
+_08039DB8: .4byte 0x0000044E
+_08039DBC: .4byte 0x00000445
+_08039DC0:
+ ldr r0, _08039E08 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldrh r0, [r1, #4]
+ cmp r0, #0
+ beq _08039DE4
+ ldr r0, _08039E0C @ =0x0000044E
+ adds r1, r1, r0
+ ldrh r0, [r1]
+ subs r0, #0x5a
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ bge _08039DDE
+ movs r0, #0
+ strh r0, [r1]
+_08039DDE:
+ ldr r0, _08039E10 @ =0x00000111
+ bl m4aSongNumStart
+_08039DE4:
+ ldr r2, _08039E08 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r1, _08039E14 @ =0x00000449
+ adds r0, r0, r1
+ movs r1, #9
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r3, _08039E18 @ =0x00000446
+ adds r0, r0, r3
+ movs r1, #0xd
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r4, _08039E1C @ =0x00000447
+ adds r0, r0, r4
+ movs r1, #5
+ strb r1, [r0]
+ b _08039EBA
+ .align 2, 0
+_08039E08: .4byte gUnknown_020314E0
+_08039E0C: .4byte 0x0000044E
+_08039E10: .4byte 0x00000111
+_08039E14: .4byte 0x00000449
+_08039E18: .4byte 0x00000446
+_08039E1C: .4byte 0x00000447
+_08039E20:
+ ldr r5, _08039E40 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r6, _08039E44 @ =0x0000044A
+ adds r0, r0, r6
+ movs r1, #0
+ strb r1, [r0]
+ ldr r1, [r5]
+ ldr r7, _08039E48 @ =0x0000044E
+ adds r2, r1, r7
+ movs r0, #0x5a
+ strh r0, [r2]
+ ldr r0, _08039E4C @ =0x00000445
+ adds r1, r1, r0
+ movs r0, #6
+ strb r0, [r1]
+ b _08039EBA
+ .align 2, 0
+_08039E40: .4byte gUnknown_020314E0
+_08039E44: .4byte 0x0000044A
+_08039E48: .4byte 0x0000044E
+_08039E4C: .4byte 0x00000445
+_08039E50:
+ ldr r0, _08039E98 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldrh r0, [r1, #4]
+ cmp r0, #0
+ beq _08039E74
+ ldr r2, _08039E9C @ =0x0000044E
+ adds r1, r1, r2
+ ldrh r0, [r1]
+ subs r0, #0x5a
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ bge _08039E6E
+ movs r0, #0
+ strh r0, [r1]
+_08039E6E:
+ ldr r0, _08039EA0 @ =0x00000111
+ bl m4aSongNumStart
+_08039E74:
+ ldr r2, _08039E98 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r3, _08039EA4 @ =0x00000449
+ adds r0, r0, r3
+ movs r1, #0xd
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r4, _08039EA8 @ =0x00000446
+ adds r0, r0, r4
+ movs r1, #0x13
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r5, _08039EAC @ =0x00000447
+ adds r0, r0, r5
+ movs r1, #7
+ strb r1, [r0]
+ b _08039EBA
+ .align 2, 0
+_08039E98: .4byte gUnknown_020314E0
+_08039E9C: .4byte 0x0000044E
+_08039EA0: .4byte 0x00000111
+_08039EA4: .4byte 0x00000449
+_08039EA8: .4byte 0x00000446
+_08039EAC: .4byte 0x00000447
+_08039EB0:
+ ldr r0, _08039EE0 @ =gMain
+ ldr r6, _08039EE4 @ =0x00000E78
+ adds r0, r0, r6
+ movs r1, #0
+ strh r1, [r0]
+_08039EBA:
+ ldr r7, _08039EE8 @ =gUnknown_020314E0
+ ldr r4, [r7]
+ ldr r0, _08039EEC @ =0x0000044E
+ adds r1, r4, r0
+ ldrh r2, [r1]
+ movs r3, #0
+ ldrsh r0, [r1, r3]
+ cmp r0, #0
+ ble _08039EF4
+ subs r0, r2, #1
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ beq _08039ED8
+ b _08039FF4
+_08039ED8:
+ ldr r0, _08039EF0 @ =0x00000111
+ bl m4aSongNumStart
+ b _08039FF4
+ .align 2, 0
+_08039EE0: .4byte gMain
+_08039EE4: .4byte 0x00000E78
+_08039EE8: .4byte gUnknown_020314E0
+_08039EEC: .4byte 0x0000044E
+_08039EF0: .4byte 0x00000111
+_08039EF4:
+ ldr r2, _08039F20 @ =0x086AEE5E
+ movs r5, #0x89
+ lsls r5, r5, #3
+ adds r3, r4, r5
+ movs r1, #0
+ ldrsb r1, [r3, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ ldr r7, _08039F24 @ =0x00000454
+ adds r1, r4, r7
+ ldrh r2, [r1]
+ cmp r0, r2
+ ble _08039F28
+ adds r0, r2, #1
+ strh r0, [r1]
+ b _08039FF4
+ .align 2, 0
+_08039F20: .4byte 0x086AEE5E
+_08039F24: .4byte 0x00000454
+_08039F28:
+ movs r0, #0
+ strh r0, [r1]
+ ldrb r0, [r3]
+ adds r0, #1
+ strb r0, [r3]
+ ldr r0, _08039F74 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ movs r1, #0x89
+ lsls r1, r1, #3
+ adds r3, r2, r1
+ ldr r4, _08039F78 @ =0x00000446
+ adds r0, r2, r4
+ movs r1, #0
+ ldrsb r1, [r3, r1]
+ ldrb r4, [r0]
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r1, r0
+ bne _08039FA4
+ ldr r5, _08039F7C @ =0x0000044A
+ adds r0, r2, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _08039F84
+ ldr r6, _08039F80 @ =0x00000449
+ adds r0, r2, r6
+ ldrb r0, [r0]
+ strb r0, [r3]
+ ldr r7, _08039F74 @ =gUnknown_020314E0
+ ldr r1, [r7]
+ adds r1, r1, r5
+ ldrb r0, [r1]
+ subs r0, #1
+ strb r0, [r1]
+ b _08039F98
+ .align 2, 0
+_08039F74: .4byte gUnknown_020314E0
+_08039F78: .4byte 0x00000446
+_08039F7C: .4byte 0x0000044A
+_08039F80: .4byte 0x00000449
+_08039F84:
+ subs r0, r4, #1
+ strb r0, [r3]
+ ldr r1, _0803A028 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _0803A02C @ =0x00000447
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ ldr r3, _0803A030 @ =0x00000445
+ adds r0, r0, r3
+ strb r1, [r0]
+_08039F98:
+ ldr r4, _0803A028 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r5, _0803A034 @ =0x0000044E
+ adds r0, r0, r5
+ movs r1, #0x5a
+ strh r1, [r0]
+_08039FA4:
+ ldr r5, _0803A028 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ movs r4, #0x89
+ lsls r4, r4, #3
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #1
+ bne _08039FC0
+ movs r0, #0x88
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_08039FC0:
+ ldr r1, [r5]
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0xf
+ bne _08039FF4
+ ldr r2, _0803A038 @ =0x040000D4
+ ldr r6, _0803A03C @ =0x000005F6
+ adds r0, r1, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #5
+ ldr r1, _0803A040 @ =0x08137E14
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _0803A044 @ =0x05000220
+ str r0, [r2, #4]
+ ldr r0, _0803A048 @ =0x80000010
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ movs r0, #0x89
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_08039FF4:
+ ldr r0, _0803A028 @ =gUnknown_020314E0
+ ldr r3, [r0]
+ movs r7, #0x89
+ lsls r7, r7, #3
+ adds r1, r3, r7
+ ldrb r1, [r1]
+ lsls r1, r1, #0x18
+ asrs r1, r1, #0x18
+ cmp r1, #0x11
+ bgt _0803A054
+ ldr r0, _0803A04C @ =0x00000383
+ adds r1, r3, r0
+ movs r2, #0
+ movs r0, #1
+ strb r0, [r1]
+ ldr r1, _0803A028 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r3, _0803A050 @ =0x0000132C
+ adds r0, r0, r3
+ ldr r1, [r0]
+ strh r2, [r1, #0x30]
+ ldr r1, [r0]
+ strh r2, [r1, #0x32]
+ ldr r0, [r0]
+ strh r2, [r0, #6]
+ b _0803A05C
+ .align 2, 0
+_0803A028: .4byte gUnknown_020314E0
+_0803A02C: .4byte 0x00000447
+_0803A030: .4byte 0x00000445
+_0803A034: .4byte 0x0000044E
+_0803A038: .4byte 0x040000D4
+_0803A03C: .4byte 0x000005F6
+_0803A040: .4byte 0x08137E14
+_0803A044: .4byte 0x05000220
+_0803A048: .4byte 0x80000010
+_0803A04C: .4byte 0x00000383
+_0803A050: .4byte 0x0000132C
+_0803A054:
+ ldr r4, _0803A194 @ =0x00000383
+ adds r1, r3, r4
+ movs r0, #0
+ strb r0, [r1]
+_0803A05C:
+ ldr r5, _0803A198 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r6, _0803A19C @ =0x0000132C
+ adds r0, r0, r6
+ ldr r1, [r0]
+ ldrh r1, [r1, #0x24]
+ ldr r7, [sp]
+ strh r1, [r7, #2]
+ ldr r0, [r0]
+ ldrh r0, [r0, #0x26]
+ strh r0, [r7, #4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xc7
+ ble _0803A07E
+ movs r0, #0xc8
+ strh r0, [r7, #4]
+_0803A07E:
+ ldr r4, _0803A1A0 @ =0x086AEE5E
+ ldr r1, _0803A198 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ movs r3, #0x89
+ lsls r3, r3, #3
+ adds r0, r0, r3
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r1, r4, #4
+ adds r0, r0, r1
+ ldr r2, _0803A1A4 @ =0x040000D4
+ ldrh r5, [r0]
+ str r5, [sp, #4]
+ movs r6, #0
+ ldrsh r1, [r0, r6]
+ lsls r0, r1, #4
+ subs r0, r0, r1
+ lsls r0, r0, #6
+ ldr r1, _0803A1A8 @ =0x083C1A6C
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _0803A1AC @ =0x060124E0
+ str r0, [r2, #4]
+ ldr r0, _0803A1B0 @ =0x800001E0
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r7, _0803A198 @ =gUnknown_020314E0
+ ldr r0, [r7]
+ adds r0, r0, r3
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r0, r0, r4
+ movs r2, #0
+ ldr r1, _0803A1B4 @ =0x086B91AC
+ mov sb, r1
+ ldr r5, _0803A1B8 @ =gOamBuffer
+ movs r3, #0
+ ldrsh r1, [r0, r3]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #3
+ mov sl, r0
+ ldr r4, _0803A1BC @ =0xFFFFFE00
+ mov r8, r4
+_0803A0E2:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ ldr r7, [sp]
+ adds r6, r7, r0
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r5
+ lsls r0, r3, #1
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ add r0, sb
+ add r0, sl
+ ldrh r1, [r0]
+ strh r1, [r2]
+ adds r0, #2
+ adds r2, #2
+ ldrh r1, [r0]
+ strh r1, [r2]
+ ldrh r0, [r0, #2]
+ strh r0, [r2, #2]
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r5
+ ldrh r4, [r2, #2]
+ lsls r1, r4, #0x17
+ lsrs r1, r1, #0x17
+ mov ip, r1
+ movs r1, #2
+ ldrsh r0, [r7, r1]
+ mov r7, ip
+ adds r1, r7, r0
+ ldr r7, _0803A1C0 @ =0x000001FF
+ adds r0, r7, #0
+ ands r1, r0
+ mov r0, r8
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldr r2, [sp]
+ ldrb r0, [r2, #4]
+ ldrb r4, [r1]
+ adds r0, r0, r4
+ strb r0, [r1]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #3
+ ble _0803A0E2
+_0803A14E:
+ movs r2, #0
+
+ thumb_func_start sub_3A150
+sub_3A150: @ 0x0803A150
+ lsls r2, r2, #0x10
+ asrs r3, r2, #0x10
+ movs r0, #0xb8
+ adds r1, r3, #0
+ muls r1, r0, r1
+ ldr r0, _0803A1C4 @ =0x0200C388
+ adds r1, r1, r0
+ str r1, [sp]
+ ldr r5, _0803A1C8 @ =0xFFFFED38
+ adds r0, r0, r5
+ ldrb r1, [r0, #0xf]
+ movs r0, #0x80
+ ands r0, r1
+ str r2, [sp, #0x3c]
+ cmp r0, #0
+ beq _0803A174
+ bl _0803A9A6
+_0803A174:
+ ldr r0, _0803A198 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r6, _0803A1CC @ =0x00000441
+ adds r0, r0, r6
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #5
+ bls _0803A18A
+ b _0803A8A2
+_0803A18A:
+ lsls r0, r0, #2
+ ldr r1, _0803A1D0 @ =_0803A1D4
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803A194: .4byte 0x00000383
+_0803A198: .4byte gUnknown_020314E0
+_0803A19C: .4byte 0x0000132C
+_0803A1A0: .4byte 0x086AEE5E
+_0803A1A4: .4byte 0x040000D4
+_0803A1A8: .4byte 0x083C1A6C
+_0803A1AC: .4byte 0x060124E0
+_0803A1B0: .4byte 0x800001E0
+_0803A1B4: .4byte 0x086B91AC
+_0803A1B8: .4byte gOamBuffer
+_0803A1BC: .4byte 0xFFFFFE00
+_0803A1C0: .4byte 0x000001FF
+_0803A1C4: .4byte 0x0200C388
+_0803A1C8: .4byte 0xFFFFED38
+_0803A1CC: .4byte 0x00000441
+_0803A1D0: .4byte _0803A1D4
+_0803A1D4: @ jump table
+ .4byte _0803A1EC @ case 0
+ .4byte _0803A218 @ case 1
+ .4byte _0803A2E4 @ case 2
+ .4byte _0803A4F0 @ case 3
+ .4byte _0803A6B8 @ case 4
+ .4byte _0803A860 @ case 5
+_0803A1EC:
+ movs r7, #0
+ str r7, [sp, #4]
+ ldr r0, _0803A20C @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r2, [sp, #0x3c]
+ asrs r0, r2, #0xe
+ adds r1, r1, r0
+ ldr r3, _0803A210 @ =0x0000045C
+ adds r0, r1, r3
+ strh r7, [r0]
+ ldr r5, _0803A214 @ =0x0000045E
+ adds r1, r1, r5
+ mov r6, sp
+ ldrh r6, [r6, #4]
+ strh r6, [r1]
+ b _0803A8A2
+ .align 2, 0
+_0803A20C: .4byte gUnknown_020314E0
+_0803A210: .4byte 0x0000045C
+_0803A214: .4byte 0x0000045E
+_0803A218:
+ ldr r7, _0803A248 @ =gUnknown_020314E0
+ mov r8, r7
+ mov r0, r8
+ ldr r6, [r0]
+ ldr r1, [sp, #0x3c]
+ asrs r7, r1, #0x10
+ lsls r1, r7, #1
+ movs r2, #0x8b
+ lsls r2, r2, #3
+ adds r0, r6, r2
+ adds r5, r0, r1
+ ldrh r4, [r5]
+ adds r0, r4, #0
+ movs r1, #9
+ bl __udivsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ str r0, [sp, #4]
+ cmp r4, #0x61
+ bhi _0803A24C
+ adds r0, r4, #1
+ strh r0, [r5]
+ b _0803A2AA
+ .align 2, 0
+_0803A248: .4byte gUnknown_020314E0
+_0803A24C:
+ movs r0, #0
+ strh r0, [r5]
+ ldr r3, _0803A2C4 @ =0x00000441
+ adds r0, r6, r3
+ adds r0, r0, r7
+ movs r1, #2
+ strb r1, [r0]
+ bl Random
+ mov r4, r8
+ ldr r5, [r4]
+ ldr r6, _0803A2C8 @ =0x00000443
+ adds r5, r5, r6
+ adds r5, r5, r7
+ lsls r4, r7, #3
+ subs r4, r4, r7
+ ldr r1, _0803A2CC @ =gMain
+ ldr r1, [r1, #0x4c]
+ adds r0, r0, r1
+ movs r1, #7
+ bl __umodsi3
+ adds r4, r4, r0
+ strb r4, [r5]
+ mov r5, r8
+ ldr r1, [r5]
+ lsls r3, r7, #2
+ adds r3, r1, r3
+ ldr r4, _0803A2D0 @ =0x086AEDE8
+ adds r1, r1, r6
+ adds r1, r1, r7
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ lsls r0, r0, #2
+ adds r0, r0, r4
+ ldrh r2, [r0]
+ adds r6, #0x21
+ adds r0, r3, r6
+ strh r2, [r0]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ lsls r0, r0, #2
+ adds r0, r0, r4
+ ldrh r0, [r0, #2]
+ ldr r7, _0803A2D4 @ =0x00000466
+ adds r3, r3, r7
+ strh r0, [r3]
+_0803A2AA:
+ ldr r0, _0803A2D8 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r2, [sp, #0x3c]
+ asrs r0, r2, #0xe
+ adds r1, r1, r0
+ ldr r3, _0803A2DC @ =0x0000045C
+ adds r0, r1, r3
+ movs r2, #0
+ strh r2, [r0]
+ ldr r4, _0803A2E0 @ =0x0000045E
+ adds r1, r1, r4
+ strh r2, [r1]
+ b _0803A8A2
+ .align 2, 0
+_0803A2C4: .4byte 0x00000441
+_0803A2C8: .4byte 0x00000443
+_0803A2CC: .4byte gMain
+_0803A2D0: .4byte 0x086AEDE8
+_0803A2D4: .4byte 0x00000466
+_0803A2D8: .4byte gUnknown_020314E0
+_0803A2DC: .4byte 0x0000045C
+_0803A2E0: .4byte 0x0000045E
+_0803A2E4:
+ ldr r5, _0803A4AC @ =gUnknown_020314E0
+ mov sl, r5
+ ldr r7, [r5]
+ ldr r6, [sp, #0x3c]
+ asrs r6, r6, #0x10
+ mov sb, r6
+ lsls r6, r6, #1
+ str r6, [sp, #0x20]
+ movs r1, #0x8b
+ lsls r1, r1, #3
+ adds r0, r7, r1
+ adds r0, r0, r6
+ ldrh r0, [r0]
+ movs r1, #0x28
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x13
+ adds r0, #6
+ str r0, [sp, #4]
+ ldr r2, _0803A4B0 @ =0x00000441
+ adds r0, r7, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ ble _0803A31C
+ b _0803A48A
+_0803A31C:
+ ldr r3, _0803A4B4 @ =0x00000442
+ adds r0, r7, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ ble _0803A32C
+ b _0803A48A
+_0803A32C:
+ ldr r4, _0803A4B8 @ =0x0000132C
+ adds r0, r7, r4
+ ldr r6, [r0]
+ movs r5, #0x10
+ ldrsh r4, [r6, r5]
+ subs r4, #0x78
+ mov r0, sb
+ lsls r0, r0, #2
+ str r0, [sp, #0x24]
+ adds r5, r7, r0
+ ldr r1, _0803A4BC @ =0x0000045C
+ adds r0, r5, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ subs r0, r4, r0
+ str r0, [sp, #0x10]
+ movs r3, #0x12
+ ldrsh r4, [r6, r3]
+ subs r4, #0x90
+ ldr r6, _0803A4C0 @ =0x0000045E
+ adds r5, r5, r6
+ movs r1, #0
+ ldrsh r0, [r5, r1]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ subs r0, r4, r0
+ str r0, [sp, #0x14]
+ ldr r2, [sp, #0x10]
+ adds r1, r2, #0
+ muls r1, r2, r1
+ adds r3, r0, #0
+ adds r0, r3, #0
+ muls r0, r3, r0
+ adds r1, r1, r0
+ mov r8, r1
+ ldr r4, _0803A4C4 @ =0x00000383
+ adds r0, r7, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0803A48A
+ movs r5, #0xe2
+ lsls r5, r5, #2
+ adds r0, r7, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0803A48A
+ ldr r1, _0803A4C8 @ =0x00000385
+ adds r0, r7, r1
+ movs r2, #0xe1
+ lsls r2, r2, #2
+ adds r1, r7, r2
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r2, r0
+ bge _0803A48A
+ ldr r3, _0803A4CC @ =0x00000452
+ adds r0, r7, r3
+ ldrh r5, [r0]
+ cmp r5, #0
+ bne _0803A48A
+ ldr r0, _0803A4D0 @ =0x0000018F
+ cmp r8, r0
+ bgt _0803A48A
+ subs r0, #0x7c
+ bl m4aSongNumStart
+ movs r0, #0xc
+ bl sub_11B0
+ mov r4, sl
+ ldr r0, [r4]
+ movs r2, #1
+ strb r2, [r0, #0x1f]
+ ldr r1, [r4]
+ movs r7, #0x8b
+ lsls r7, r7, #3
+ adds r0, r1, r7
+ ldr r3, [sp, #0x20]
+ adds r0, r0, r3
+ strh r5, [r0]
+ ldr r4, _0803A4B0 @ =0x00000441
+ adds r1, r1, r4
+ add r1, sb
+ movs r0, #3
+ strb r0, [r1]
+ mov r5, sl
+ ldr r0, [r5]
+ ldr r7, _0803A4D4 @ =0x000005FA
+ adds r0, r0, r7
+ strb r2, [r0]
+ ldr r5, [r5]
+ ldr r0, [sp, #0x24]
+ adds r4, r5, r0
+ ldr r1, _0803A4BC @ =0x0000045C
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ adds r0, #0x78
+ str r0, [sp, #8]
+ adds r4, r4, r6
+ movs r3, #0
+ ldrsh r0, [r4, r3]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ adds r0, #0x90
+ str r0, [sp, #0xc]
+ ldr r4, [sp, #8]
+ lsls r1, r4, #8
+ ldr r6, _0803A4B8 @ =0x0000132C
+ adds r0, r5, r6
+ ldr r2, [r0]
+ ldr r0, [r2, #0x34]
+ subs r0, r1, r0
+ str r0, [sp, #0x10]
+ ldr r7, [sp, #0xc]
+ lsls r1, r7, #8
+ ldr r0, [r2, #0x38]
+ subs r0, r1, r0
+ str r0, [sp, #0x14]
+ ldr r4, _0803A4D8 @ =0x000005AC
+ adds r5, r5, r4
+ ldr r1, [sp, #0x10]
+ adds r0, r1, #0
+ muls r0, r1, r0
+ ldr r2, [sp, #0x14]
+ adds r1, r2, #0
+ muls r1, r2, r1
+ adds r0, r0, r1
+ str r0, [r5]
+ lsls r0, r0, #2
+ bl Sqrt
+ mov r3, sl
+ ldr r1, [r3]
+ adds r1, r1, r4
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x11
+ str r0, [r1]
+ ldr r4, [sp, #0x10]
+ rsbs r0, r4, #0
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ ldr r5, [sp, #0x14]
+ lsls r1, r5, #0x10
+ asrs r1, r1, #0x10
+ bl ArcTan2
+ mov r6, sl
+ ldr r1, [r6]
+ movs r7, #0xb6
+ lsls r7, r7, #3
+ adds r1, r1, r7
+ strh r0, [r1]
+_0803A48A:
+ ldr r0, _0803A4AC @ =gUnknown_020314E0
+ ldr r3, [r0]
+ ldr r0, [sp, #0x3c]
+ asrs r4, r0, #0x10
+ lsls r1, r4, #1
+ movs r2, #0x8b
+ lsls r2, r2, #3
+ adds r0, r3, r2
+ adds r1, r0, r1
+ ldrh r2, [r1]
+ ldr r0, _0803A4C4 @ =0x00000383
+ cmp r2, r0
+ bhi _0803A4DC
+ adds r0, r2, #1
+ strh r0, [r1]
+ b _0803A8A2
+ .align 2, 0
+_0803A4AC: .4byte gUnknown_020314E0
+_0803A4B0: .4byte 0x00000441
+_0803A4B4: .4byte 0x00000442
+_0803A4B8: .4byte 0x0000132C
+_0803A4BC: .4byte 0x0000045C
+_0803A4C0: .4byte 0x0000045E
+_0803A4C4: .4byte 0x00000383
+_0803A4C8: .4byte 0x00000385
+_0803A4CC: .4byte 0x00000452
+_0803A4D0: .4byte 0x0000018F
+_0803A4D4: .4byte 0x000005FA
+_0803A4D8: .4byte 0x000005AC
+_0803A4DC:
+ movs r0, #0
+ strh r0, [r1]
+ ldr r5, _0803A4EC @ =0x00000441
+ adds r0, r3, r5
+ adds r0, r0, r4
+ movs r1, #5
+ b _0803A8A0
+ .align 2, 0
+_0803A4EC: .4byte 0x00000441
+_0803A4F0:
+ ldr r6, _0803A668 @ =gUnknown_020314E0
+ ldr r4, [r6]
+ ldr r7, [sp, #0x3c]
+ asrs r7, r7, #0x10
+ str r7, [sp, #0x28]
+ lsls r0, r7, #1
+ str r0, [sp, #0x2c]
+ movs r1, #0x8b
+ lsls r1, r1, #3
+ adds r0, r4, r1
+ ldr r2, [sp, #0x2c]
+ adds r6, r0, r2
+ ldrh r5, [r6]
+ adds r0, r5, #0
+ movs r1, #0x28
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x13
+ adds r0, #6
+ str r0, [sp, #4]
+ ldrh r0, [r4, #4]
+ cmp r0, #0
+ beq _0803A526
+ adds r0, r5, #0
+ adds r0, #8
+ strh r0, [r6]
+_0803A526:
+ ldr r3, _0803A668 @ =gUnknown_020314E0
+ ldr r7, [r3]
+ movs r4, #0x8b
+ lsls r4, r4, #3
+ adds r0, r7, r4
+ ldr r5, [sp, #0x2c]
+ adds r0, r0, r5
+ ldrh r1, [r0]
+ movs r0, #0x1d
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #9
+ bgt _0803A546
+ movs r4, #0xa
+_0803A546:
+ movs r6, #0xb6
+ lsls r6, r6, #3
+ adds r5, r7, r6
+ lsls r4, r4, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #0xd
+ movs r1, #0x1e
+ bl __divsi3
+ adds r1, r0, #0
+ movs r0, #0x80
+ lsls r0, r0, #6
+ subs r0, r0, r1
+ lsls r0, r0, #1
+ movs r1, #5
+ bl __divsi3
+ ldrh r1, [r5]
+ subs r1, r1, r0
+ strh r1, [r5]
+ ldr r6, _0803A66C @ =0x0000132C
+ adds r0, r7, r6
+ ldr r1, [r0]
+ ldr r2, _0803A670 @ =0xFFFFE000
+ adds r0, r2, #0
+ ldrh r3, [r1, #0xa]
+ adds r0, r0, r3
+ strh r0, [r1, #0xa]
+ ldr r1, _0803A674 @ =0x000005AC
+ adds r0, r7, r1
+ ldr r0, [r0]
+ muls r0, r4, r0
+ movs r1, #0x1e
+ bl __divsi3
+ mov sl, r0
+ ldr r2, [sp, #0x28]
+ lsls r4, r2, #2
+ adds r4, r7, r4
+ ldr r3, _0803A678 @ =0x0000045C
+ adds r0, r4, r3
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ adds r0, #0x78
+ str r0, [sp, #8]
+ ldr r0, _0803A67C @ =0x0000045E
+ adds r4, r4, r0
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ adds r0, #0x90
+ str r0, [sp, #0xc]
+ ldrh r0, [r5]
+ bl sub_C74
+ ldr r2, _0803A668 @ =gUnknown_020314E0
+ ldr r5, [r2]
+ adds r1, r5, r6
+ ldr r1, [r1]
+ mov r8, r1
+ ldr r3, [sp, #8]
+ lsls r4, r3, #8
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ mov r7, sl
+ muls r7, r0, r7
+ adds r0, r7, #0
+ ldr r1, _0803A680 @ =0x00004E20
+ mov sb, r1
+ bl __divsi3
+ adds r4, r4, r0
+ mov r2, r8
+ str r4, [r2, #0x34]
+ movs r3, #0xb6
+ lsls r3, r3, #3
+ adds r5, r5, r3
+ ldrh r0, [r5]
+ bl sub_C24
+ ldr r4, _0803A668 @ =gUnknown_020314E0
+ ldr r7, [r4]
+ adds r6, r7, r6
+ ldr r5, [r6]
+ ldr r1, [sp, #0xc]
+ lsls r4, r1, #8
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ mov r2, sl
+ muls r2, r0, r2
+ adds r0, r2, #0
+ mov r1, sb
+ bl __divsi3
+ subs r4, r4, r0
+ str r4, [r5, #0x38]
+ ldr r4, [r6]
+ movs r3, #0x30
+ ldrsh r0, [r4, r3]
+ lsls r0, r0, #2
+ movs r1, #5
+ bl __divsi3
+ strh r0, [r4, #0x30]
+ ldr r4, [r6]
+ movs r5, #0x32
+ ldrsh r0, [r4, r5]
+ lsls r0, r0, #2
+ movs r1, #5
+ bl __divsi3
+ strh r0, [r4, #0x32]
+ movs r6, #0x8b
+ lsls r6, r6, #3
+ adds r0, r7, r6
+ ldr r2, [sp, #0x2c]
+ adds r1, r0, r2
+ ldrh r2, [r1]
+ ldr r0, _0803A684 @ =0x000001DF
+ cmp r2, r0
+ bhi _0803A688
+ adds r0, r2, #1
+ strh r0, [r1]
+ ldrh r0, [r1]
+ movs r1, #9
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ beq _0803A65E
+ b _0803A8A2
+_0803A65E:
+ movs r0, #0xc
+ bl sub_11B0
+ b _0803A8A2
+ .align 2, 0
+_0803A668: .4byte gUnknown_020314E0
+_0803A66C: .4byte 0x0000132C
+_0803A670: .4byte 0xFFFFE000
+_0803A674: .4byte 0x000005AC
+_0803A678: .4byte 0x0000045C
+_0803A67C: .4byte 0x0000045E
+_0803A680: .4byte 0x00004E20
+_0803A684: .4byte 0x000001DF
+_0803A688:
+ movs r3, #0
+ strh r3, [r1]
+ ldr r4, _0803A6AC @ =0x00000441
+ adds r0, r7, r4
+ ldr r5, [sp, #0x28]
+ adds r0, r0, r5
+ movs r1, #4
+ strb r1, [r0]
+ ldr r6, _0803A6B0 @ =gUnknown_020314E0
+ ldr r2, [r6]
+ ldr r7, _0803A6B4 @ =0x000005AC
+ adds r2, r2, r7
+ ldr r0, [r2]
+ lsrs r1, r0, #0x1f
+ adds r0, r0, r1
+ asrs r0, r0, #1
+ str r0, [r2]
+ b _0803A8A2
+ .align 2, 0
+_0803A6AC: .4byte 0x00000441
+_0803A6B0: .4byte gUnknown_020314E0
+_0803A6B4: .4byte 0x000005AC
+_0803A6B8:
+ ldr r0, _0803A7EC @ =gUnknown_020314E0
+ ldr r5, [r0]
+ ldr r1, [sp, #0x3c]
+ asrs r1, r1, #0x10
+ str r1, [sp, #0x30]
+ lsls r2, r1, #1
+ str r2, [sp, #0x34]
+ movs r3, #0x8b
+ lsls r3, r3, #3
+ adds r0, r5, r3
+ adds r0, r0, r2
+ ldrh r2, [r0]
+ lsrs r1, r2, #3
+ movs r0, #5
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ str r0, [sp, #4]
+ movs r4, #0x2f
+ subs r4, r4, r2
+ movs r7, #0xb6
+ lsls r7, r7, #3
+ adds r6, r5, r7
+ lsls r4, r4, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #0xc
+ movs r1, #0x2f
+ bl __divsi3
+ adds r1, r0, #0
+ movs r0, #0x80
+ lsls r0, r0, #6
+ subs r0, r0, r1
+ lsls r0, r0, #1
+ movs r1, #5
+ bl __divsi3
+ ldrh r1, [r6]
+ subs r1, r1, r0
+ strh r1, [r6]
+ ldr r0, _0803A7F0 @ =0x0000132C
+ mov sb, r0
+ adds r0, r5, r0
+ ldr r1, [r0]
+ ldr r2, _0803A7F4 @ =0xFFFFE000
+ adds r0, r2, #0
+ ldrh r3, [r1, #0xa]
+ adds r0, r0, r3
+ strh r0, [r1, #0xa]
+ ldr r1, _0803A7F8 @ =0x000005AC
+ adds r0, r5, r1
+ ldr r0, [r0]
+ muls r0, r4, r0
+ movs r1, #0x2f
+ bl __divsi3
+ mov sl, r0
+ ldr r2, [sp, #0x30]
+ lsls r0, r2, #2
+ adds r5, r5, r0
+ ldr r3, _0803A7FC @ =0x0000045C
+ adds r0, r5, r3
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ adds r0, #0x78
+ str r0, [sp, #8]
+ ldr r0, _0803A800 @ =0x0000045E
+ adds r5, r5, r0
+ movs r1, #0
+ ldrsh r0, [r5, r1]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ adds r0, #0x90
+ str r0, [sp, #0xc]
+ ldrh r0, [r6]
+ bl sub_C74
+ ldr r2, _0803A7EC @ =gUnknown_020314E0
+ ldr r5, [r2]
+ mov r3, sb
+ adds r1, r5, r3
+ ldr r6, [r1]
+ ldr r1, [sp, #8]
+ lsls r4, r1, #8
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ mov r2, sl
+ muls r2, r0, r2
+ adds r0, r2, #0
+ ldr r3, _0803A804 @ =0x00004E20
+ mov r8, r3
+ mov r1, r8
+ bl __divsi3
+ adds r4, r4, r0
+ str r4, [r6, #0x34]
+ adds r5, r5, r7
+ ldrh r0, [r5]
+ bl sub_C24
+ ldr r4, _0803A7EC @ =gUnknown_020314E0
+ ldr r7, [r4]
+ mov r5, sb
+ adds r6, r7, r5
+ ldr r5, [r6]
+ ldr r1, [sp, #0xc]
+ lsls r4, r1, #8
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ mov r2, sl
+ muls r2, r0, r2
+ adds r0, r2, #0
+ mov r1, r8
+ bl __divsi3
+ subs r4, r4, r0
+ str r4, [r5, #0x38]
+ ldr r4, [r6]
+ movs r3, #0x30
+ ldrsh r0, [r4, r3]
+ lsls r0, r0, #2
+ movs r1, #5
+ bl __divsi3
+ strh r0, [r4, #0x30]
+ ldr r4, [r6]
+ movs r5, #0x32
+ ldrsh r0, [r4, r5]
+ lsls r0, r0, #2
+ movs r1, #5
+ bl __divsi3
+ strh r0, [r4, #0x32]
+ movs r0, #0x8b
+ lsls r0, r0, #3
+ adds r0, r7, r0
+ str r0, [sp, #0x38]
+ ldr r2, [sp, #0x34]
+ adds r1, r0, r2
+ ldrh r0, [r1]
+ cmp r0, #0x2e
+ bhi _0803A808
+ adds r0, #1
+ strh r0, [r1]
+ b _0803A8A2
+ .align 2, 0
+_0803A7EC: .4byte gUnknown_020314E0
+_0803A7F0: .4byte 0x0000132C
+_0803A7F4: .4byte 0xFFFFE000
+_0803A7F8: .4byte 0x000005AC
+_0803A7FC: .4byte 0x0000045C
+_0803A800: .4byte 0x0000045E
+_0803A804: .4byte 0x00004E20
+_0803A808:
+ movs r3, #0
+ strh r3, [r1]
+ ldr r3, [r6]
+ ldr r0, _0803A84C @ =gMain
+ ldr r2, [r0, #0x4c]
+ movs r0, #1
+ ands r2, r0
+ lsls r1, r2, #2
+ adds r1, r1, r2
+ lsls r0, r1, #4
+ subs r0, r0, r1
+ lsls r0, r0, #2
+ ldr r4, _0803A850 @ =0x0000FF6A
+ adds r0, r0, r4
+ strh r0, [r3, #0x30]
+ ldr r1, [r6]
+ movs r0, #0x96
+ lsls r0, r0, #1
+ strh r0, [r1, #0x32]
+ movs r5, #0
+ strb r5, [r7, #0x1f]
+ ldr r6, _0803A854 @ =gUnknown_020314E0
+ ldr r0, [r6]
+ ldr r7, _0803A858 @ =0x00000441
+ adds r0, r0, r7
+ ldr r1, [sp, #0x30]
+ adds r0, r0, r1
+ strb r5, [r0]
+ ldr r0, [r6]
+ ldr r2, _0803A85C @ =0x000005FA
+ adds r0, r0, r2
+ strb r5, [r0]
+ b _0803A8A2
+ .align 2, 0
+_0803A84C: .4byte gMain
+_0803A850: .4byte 0x0000FF6A
+_0803A854: .4byte gUnknown_020314E0
+_0803A858: .4byte 0x00000441
+_0803A85C: .4byte 0x000005FA
+_0803A860:
+ ldr r0, _0803A890 @ =gUnknown_020314E0
+ ldr r6, [r0]
+ ldr r3, [sp, #0x3c]
+ asrs r7, r3, #0x10
+ lsls r1, r7, #1
+ movs r4, #0x8b
+ lsls r4, r4, #3
+ adds r0, r6, r4
+ adds r5, r0, r1
+ ldrh r4, [r5]
+ adds r0, r4, #0
+ movs r1, #6
+ bl __udivsi3
+ movs r1, #5
+ subs r1, r1, r0
+ lsls r1, r1, #0x10
+ lsrs r1, r1, #0x10
+ str r1, [sp, #4]
+ cmp r4, #0x23
+ bhi _0803A894
+ adds r0, r4, #1
+ strh r0, [r5]
+ b _0803A8A2
+ .align 2, 0
+_0803A890: .4byte gUnknown_020314E0
+_0803A894:
+ movs r1, #0
+ movs r0, #0
+ strh r0, [r5]
+ ldr r5, _0803AA20 @ =0x00000441
+ adds r0, r6, r5
+ adds r0, r0, r7
+_0803A8A0:
+ strb r1, [r0]
+_0803A8A2:
+ ldr r6, _0803AA24 @ =gUnknown_020314E0
+ mov sl, r6
+ ldr r1, [r6]
+ ldr r0, [sp, #0x3c]
+ asrs r7, r0, #0x10
+ ldr r2, _0803AA20 @ =0x00000441
+ adds r0, r1, r2
+ adds r0, r0, r7
+ ldrb r0, [r0]
+ subs r0, #2
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ cmp r0, #1
+ bhi _0803A9A6
+ lsls r3, r7, #2
+ mov sb, r3
+ add r1, sb
+ ldr r4, _0803AA28 @ =0x00000464
+ adds r0, r1, r4
+ movs r5, #0
+ ldrsh r2, [r0, r5]
+ ldr r5, _0803AA2C @ =0x0000045C
+ adds r0, r1, r5
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ subs r0, r2, r0
+ str r0, [sp, #0x10]
+ ldr r2, _0803AA30 @ =0x00000466
+ adds r0, r1, r2
+ movs r3, #0
+ ldrsh r2, [r0, r3]
+ ldr r6, _0803AA34 @ =0x0000045E
+ adds r1, r1, r6
+ movs r4, #0
+ ldrsh r0, [r1, r4]
+ subs r0, r2, r0
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x10]
+ adds r1, r0, #0
+ muls r1, r0, r1
+ ldr r2, [sp, #0x14]
+ adds r0, r2, #0
+ muls r0, r2, r0
+ adds r1, r1, r0
+ mov r8, r1
+ ldr r3, [sp, #0x10]
+ lsls r0, r3, #0x10
+ asrs r0, r0, #0x10
+ rsbs r1, r2, #0
+ lsls r1, r1, #0x10
+ asrs r1, r1, #0x10
+ bl ArcTan2
+ adds r4, r0, #0
+ lsls r4, r4, #0x10
+ lsrs r4, r4, #0x10
+ adds r0, r4, #0
+ bl sub_C74
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ ldr r1, _0803AA38 @ =0x00001388
+ bl __divsi3
+ str r0, [sp, #0x18]
+ adds r0, r4, #0
+ bl sub_C24
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xe
+ rsbs r0, r0, #0
+ ldr r1, _0803AA3C @ =0x00004E20
+ bl __divsi3
+ str r0, [sp, #0x1c]
+ mov r4, sl
+ ldr r1, [r4]
+ add r1, sb
+ adds r5, r1, r5
+ ldrh r0, [r5]
+ ldr r2, [sp, #0x18]
+ adds r0, r2, r0
+ strh r0, [r5]
+ adds r1, r1, r6
+ ldrh r0, [r1]
+ ldr r3, [sp, #0x1c]
+ adds r0, r3, r0
+ strh r0, [r1]
+ ldr r0, _0803AA40 @ =0x000009C3
+ cmp r8, r0
+ bgt _0803A9A6
+ bl Random
+ ldr r5, [r4]
+ subs r6, #0x1b
+ adds r5, r5, r6
+ adds r5, r5, r7
+ lsls r4, r7, #3
+ subs r4, r4, r7
+ ldr r1, _0803AA44 @ =gMain
+ ldr r1, [r1, #0x4c]
+ adds r0, r0, r1
+ movs r1, #7
+ bl __umodsi3
+ adds r4, r4, r0
+ strb r4, [r5]
+ mov r4, sl
+ ldr r1, [r4]
+ mov r5, sb
+ adds r3, r1, r5
+ ldr r4, _0803AA48 @ =0x086AEDE8
+ adds r1, r1, r6
+ adds r1, r1, r7
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ lsls r0, r0, #2
+ adds r0, r0, r4
+ ldrh r2, [r0]
+ adds r6, #0x21
+ adds r0, r3, r6
+ strh r2, [r0]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ lsls r0, r0, #2
+ adds r0, r0, r4
+ ldrh r0, [r0, #2]
+ ldr r7, _0803AA30 @ =0x00000466
+ adds r3, r3, r7
+ strh r0, [r3]
+_0803A9A6:
+ ldr r2, _0803AA4C @ =0x040000D4
+ ldr r1, [sp, #4]
+ lsls r0, r1, #0x10
+ asrs r0, r0, #7
+ ldr r1, _0803AA50 @ =0x084FF90C
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r3, [sp, #0x3c]
+ asrs r4, r3, #0x10
+ lsls r0, r4, #9
+ ldr r5, _0803AA54 @ =0x06011520
+ adds r0, r0, r5
+ str r0, [r2, #4]
+ ldr r0, _0803AA58 @ =0x80000100
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r6, [sp]
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _0803AA9E
+ ldr r0, _0803AA24 @ =gUnknown_020314E0
+ ldr r5, [r0]
+ ldr r7, _0803AA20 @ =0x00000441
+ adds r0, r5, r7
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _0803AA5C
+ lsls r4, r4, #2
+ adds r4, r5, r4
+ ldr r1, _0803AA2C @ =0x0000045C
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r1, r5, #0
+ adds r1, #0x58
+ ldrh r1, [r1]
+ subs r1, #0x68
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ ldr r3, _0803AA34 @ =0x0000045E
+ adds r4, r4, r3
+ movs r6, #0
+ ldrsh r0, [r4, r6]
+ movs r1, #0xa
+ bl __divsi3
+ adds r1, r5, #0
+ adds r1, #0x5a
+ ldrh r1, [r1]
+ subs r1, #0x80
+ subs r0, r0, r1
+ ldr r7, [sp]
+ strh r0, [r7, #4]
+ b _0803AA66
+ .align 2, 0
+_0803AA20: .4byte 0x00000441
+_0803AA24: .4byte gUnknown_020314E0
+_0803AA28: .4byte 0x00000464
+_0803AA2C: .4byte 0x0000045C
+_0803AA30: .4byte 0x00000466
+_0803AA34: .4byte 0x0000045E
+_0803AA38: .4byte 0x00001388
+_0803AA3C: .4byte 0x00004E20
+_0803AA40: .4byte 0x000009C3
+_0803AA44: .4byte gMain
+_0803AA48: .4byte 0x086AEDE8
+_0803AA4C: .4byte 0x040000D4
+_0803AA50: .4byte 0x084FF90C
+_0803AA54: .4byte 0x06011520
+_0803AA58: .4byte 0x80000100
+_0803AA5C:
+ movs r0, #0xf0
+ ldr r1, [sp]
+ strh r0, [r1, #2]
+ movs r0, #0xb4
+ strh r0, [r1, #4]
+_0803AA66:
+ ldr r6, [sp]
+ adds r6, #8
+ ldr r4, _0803AB38 @ =gOamBuffer
+ ldr r2, [sp]
+ ldrh r3, [r2, #8]
+ lsls r3, r3, #3
+ adds r3, r3, r4
+ movs r5, #2
+ ldrsh r1, [r6, r5]
+ movs r7, #2
+ ldrsh r0, [r2, r7]
+ adds r1, r1, r0
+ ldr r2, _0803AB3C @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ ldr r0, _0803AB40 @ =0xFFFFFE00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldr r3, [sp]
+ ldrh r1, [r3, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r3, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+_0803AA9E:
+ ldr r4, [sp, #0x3c]
+ movs r5, #0x80
+ lsls r5, r5, #9
+ adds r0, r4, r5
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #1
+ bgt _0803AAB2
+ bl sub_3A150
+_0803AAB2:
+ ldr r6, _0803AB44 @ =0x0200C4F8
+ str r6, [sp]
+ ldrh r0, [r6]
+ cmp r0, #0
+ bne _0803AABE
+ b _0803AD44
+_0803AABE:
+ ldr r0, _0803AB48 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r7, _0803AB4C @ =0x00000456
+ adds r3, r1, r7
+ ldrh r1, [r3]
+ cmp r1, #0x23
+ bhi _0803AB7C
+ adds r0, r1, #0
+ lsls r0, r0, #9
+ movs r1, #0x23
+ bl __divsi3
+ adds r0, #0x10
+ lsls r0, r0, #0x10
+ lsrs r6, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #0x80
+ lsls r1, r1, #2
+ cmp r0, r1
+ ble _0803AAE8
+ adds r6, r1, #0
+_0803AAE8:
+ lsls r5, r6, #0x10
+ asrs r5, r5, #0x10
+ adds r0, r5, #0
+ adds r1, r5, #0
+ movs r2, #1
+ bl SetMatrixScale
+ rsbs r4, r5, #0
+ lsls r4, r4, #0x10
+ asrs r4, r4, #0x10
+ adds r0, r4, #0
+ adds r1, r5, #0
+ movs r2, #2
+ bl SetMatrixScale
+ adds r0, r5, #0
+ adds r1, r4, #0
+ movs r2, #3
+ bl SetMatrixScale
+ adds r0, r4, #0
+ adds r1, r4, #0
+ movs r2, #4
+ bl SetMatrixScale
+ ldr r1, _0803AB48 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ adds r1, r0, r7
+ ldrh r0, [r1]
+ cmp r0, #0x1e
+ bls _0803AB50
+ subs r0, #0x1e
+ movs r1, #0xb
+ muls r0, r1, r0
+ movs r1, #5
+ bl __divsi3
+ movs r1, #0xc
+ b _0803AB5C
+ .align 2, 0
+_0803AB38: .4byte gOamBuffer
+_0803AB3C: .4byte 0x000001FF
+_0803AB40: .4byte 0xFFFFFE00
+_0803AB44: .4byte 0x0200C4F8
+_0803AB48: .4byte gUnknown_020314E0
+_0803AB4C: .4byte 0x00000456
+_0803AB50:
+ ldrh r0, [r1]
+ lsls r0, r0, #2
+ movs r1, #0x1e
+ bl __divsi3
+ movs r1, #0x10
+_0803AB5C:
+ subs r1, r1, r0
+ lsls r1, r1, #0x10
+ lsrs r4, r1, #0x10
+ ldr r2, _0803AB74 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldr r3, _0803AB78 @ =0x00000456
+ adds r1, r1, r3
+ ldrh r0, [r1]
+ adds r0, #1
+ strh r0, [r1]
+ b _0803AB86
+ .align 2, 0
+_0803AB74: .4byte gUnknown_020314E0
+_0803AB78: .4byte 0x00000456
+_0803AB7C:
+ movs r6, #0x80
+ lsls r6, r6, #1
+ movs r4, #0
+ ldr r5, [sp]
+ strh r4, [r5]
+_0803AB86:
+ ldr r7, _0803AD54 @ =gUnknown_020314E0
+ ldr r1, [r7]
+ lsls r0, r6, #0x10
+ asrs r5, r0, #0x10
+ adds r0, r5, #0
+ cmp r5, #0
+ bge _0803AB96
+ adds r0, r5, #7
+_0803AB96:
+ asrs r3, r0, #3
+ movs r0, #0x20
+ subs r2, r0, r3
+ ldr r6, _0803AD58 @ =0x0000046C
+ adds r0, r1, r6
+ strh r2, [r0]
+ adds r3, #0x20
+ movs r7, #0x8e
+ lsls r7, r7, #3
+ adds r0, r1, r7
+ strh r3, [r0]
+ ldr r6, _0803AD5C @ =0x00000474
+ adds r0, r1, r6
+ strh r2, [r0]
+ movs r7, #0x8f
+ lsls r7, r7, #3
+ adds r0, r1, r7
+ strh r3, [r0]
+ ldr r6, _0803AD60 @ =0x0000046E
+ adds r0, r1, r6
+ strh r2, [r0]
+ ldr r7, _0803AD64 @ =0x00000472
+ adds r0, r1, r7
+ strh r2, [r0]
+ ldr r2, _0803AD68 @ =0x00000476
+ adds r0, r1, r2
+ strh r3, [r0]
+ ldr r5, _0803AD6C @ =0x0000047A
+ adds r0, r1, r5
+ strh r3, [r0]
+ ldr r2, _0803AD70 @ =gMain
+ ldrb r1, [r2, #0xf]
+ movs r0, #0xc0
+ ands r0, r1
+ mov sb, r2
+ cmp r0, #0
+ bne _0803ABF6
+ ldrh r0, [r2, #0x38]
+ ldr r0, _0803AD74 @ =0x00001E10
+ strh r0, [r2, #0x38]
+ movs r0, #0x10
+ lsls r1, r4, #0x10
+ asrs r1, r1, #0x10
+ subs r0, r0, r1
+ lsls r0, r0, #8
+ orrs r0, r1
+ ldrh r1, [r2, #0x3a]
+ strh r0, [r2, #0x3a]
+_0803ABF6:
+ ldr r6, [sp]
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _0803ACAE
+ ldr r7, _0803AD54 @ =gUnknown_020314E0
+ ldr r1, [r7]
+ adds r0, r1, #0
+ adds r0, #0x58
+ ldrh r2, [r0]
+ movs r0, #0x17
+ subs r0, r0, r2
+ strh r0, [r6, #2]
+ adds r1, #0x5a
+ ldrh r1, [r1]
+ movs r0, #0x1e
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r2, #0
+ ldr r7, _0803AD78 @ =gOamBuffer
+ ldr r0, _0803AD7C @ =0xFFFFFE00
+ mov sl, r0
+ movs r1, #0xf
+ rsbs r1, r1, #0
+ mov r8, r1
+_0803AC26:
+ lsls r5, r2, #0x10
+ asrs r5, r5, #0x10
+ lsls r0, r5, #3
+ adds r0, #8
+ ldr r2, [sp]
+ adds r6, r2, r0
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r4, #2
+ ldrsh r1, [r6, r4]
+ movs r4, #2
+ ldrsh r0, [r2, r4]
+ adds r1, r1, r0
+ ldr r0, _0803AD54 @ =gUnknown_020314E0
+ ldr r4, [r0]
+ lsls r0, r5, #2
+ adds r4, r4, r0
+ ldr r2, _0803AD58 @ =0x0000046C
+ adds r0, r4, r2
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ adds r1, r1, r0
+ ldr r2, _0803AD80 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, sl
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r7
+ ldr r3, [sp]
+ ldrb r1, [r3, #4]
+ ldrb r0, [r6, #4]
+ adds r1, r1, r0
+ ldr r3, _0803AD60 @ =0x0000046E
+ adds r4, r4, r3
+ ldrb r0, [r4]
+ adds r0, r0, r1
+ strb r0, [r2]
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r7
+ ldrb r0, [r2, #1]
+ movs r1, #3
+ orrs r0, r1
+ strb r0, [r2, #1]
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ adds r5, #1
+ movs r0, #7
+ adds r1, r5, #0
+ ands r1, r0
+ lsls r1, r1, #1
+ ldrb r2, [r3, #3]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3, #3]
+ lsls r5, r5, #0x10
+ lsrs r2, r5, #0x10
+ asrs r5, r5, #0x10
+ cmp r5, #3
+ ble _0803AC26
+_0803ACAE:
+ ldr r4, _0803AD54 @ =gUnknown_020314E0
+ ldr r3, [r4]
+ ldr r5, _0803AD84 @ =0x00000456
+ adds r4, r3, r5
+ ldrh r0, [r4]
+ cmp r0, #0x1d
+ bhi _0803AD30
+ ldr r6, _0803AD88 @ =0x0000132C
+ adds r0, r3, r6
+ ldr r1, [r0]
+ movs r7, #0x10
+ ldrsh r0, [r1, r7]
+ subs r0, #0x77
+ str r0, [sp, #0x10]
+ movs r2, #0x12
+ ldrsh r0, [r1, r2]
+ subs r0, #0x7f
+ str r0, [sp, #0x14]
+ ldr r5, [sp, #0x10]
+ adds r1, r5, #0
+ muls r1, r5, r1
+ adds r6, r0, #0
+ adds r0, r6, #0
+ muls r0, r6, r0
+ adds r1, r1, r0
+ mov r8, r1
+ movs r7, #0xe2
+ lsls r7, r7, #2
+ adds r0, r3, r7
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ cmp r2, #0
+ bne _0803AD30
+ ldr r0, _0803AD8C @ =0x086AEE20
+ ldrh r1, [r4]
+ lsls r1, r1, #1
+ adds r1, r1, r0
+ movs r4, #0
+ ldrsh r0, [r1, r4]
+ cmp r8, r0
+ bge _0803AD30
+ ldr r5, _0803AD90 @ =0x00000445
+ adds r0, r3, r5
+ strb r2, [r0]
+ ldr r6, _0803AD54 @ =gUnknown_020314E0
+ ldr r0, [r6]
+ adds r7, #0xc0
+ adds r0, r0, r7
+ strb r2, [r0]
+ ldr r0, [r6]
+ ldr r1, _0803AD94 @ =0x00000454
+ adds r0, r0, r1
+ strh r2, [r0]
+ ldr r5, _0803AD70 @ =gMain
+ ldr r2, _0803AD98 @ =0x00000E78
+ adds r4, r5, r2
+ ldrh r0, [r4]
+ cmp r0, #0
+ bne _0803AD2A
+ movs r0, #8
+ bl sub_11B0
+_0803AD2A:
+ movs r0, #1
+ strh r0, [r4]
+ mov sb, r5
+_0803AD30:
+ mov r3, sb
+ ldrb r1, [r3, #0xf]
+ movs r0, #0xc0
+ ands r0, r1
+ cmp r0, #0
+ beq _0803AD44
+ ldr r1, _0803AD9C @ =0x00001438
+ add r1, sb
+ movs r0, #0
+ strh r0, [r1]
+_0803AD44:
+ add sp, #0x40
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803AD54: .4byte gUnknown_020314E0
+_0803AD58: .4byte 0x0000046C
+_0803AD5C: .4byte 0x00000474
+_0803AD60: .4byte 0x0000046E
+_0803AD64: .4byte 0x00000472
+_0803AD68: .4byte 0x00000476
+_0803AD6C: .4byte 0x0000047A
+_0803AD70: .4byte gMain
+_0803AD74: .4byte 0x00001E10
+_0803AD78: .4byte gOamBuffer
+_0803AD7C: .4byte 0xFFFFFE00
+_0803AD80: .4byte 0x000001FF
+_0803AD84: .4byte 0x00000456
+_0803AD88: .4byte 0x0000132C
+_0803AD8C: .4byte 0x086AEE20
+_0803AD90: .4byte 0x00000445
+_0803AD94: .4byte 0x00000454
+_0803AD98: .4byte 0x00000E78
+_0803AD9C: .4byte 0x00001438
+
+ thumb_func_start sub_3ADA0
+sub_3ADA0: @ 0x0803ADA0
+ push {r4, r5, r6, r7, lr}
+ ldr r6, _0803AE04 @ =0x0200C4F8
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _0803ADFE
+ movs r0, #0xf0
+ strh r0, [r6, #2]
+ movs r0, #0xa0
+ strh r0, [r6, #4]
+ movs r0, #0
+ ldr r7, _0803AE08 @ =gOamBuffer
+ ldr r1, _0803AE0C @ =0xFFFFFE00
+ mov ip, r1
+_0803ADBA:
+ lsls r5, r0, #0x10
+ asrs r5, r5, #0x10
+ lsls r3, r5, #3
+ adds r3, #8
+ adds r3, r6, r3
+ ldrh r4, [r3]
+ lsls r4, r4, #3
+ adds r4, r4, r7
+ movs r2, #2
+ ldrsh r1, [r3, r2]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _0803AE10 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r4, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r4, #2]
+ ldrh r1, [r3]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r3, [r3, #4]
+ adds r0, r0, r3
+ strb r0, [r1]
+ adds r5, #1
+ lsls r5, r5, #0x10
+ lsrs r0, r5, #0x10
+ asrs r5, r5, #0x10
+ cmp r5, #3
+ ble _0803ADBA
+_0803ADFE:
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803AE04: .4byte 0x0200C4F8
+_0803AE08: .4byte gOamBuffer
+_0803AE0C: .4byte 0xFFFFFE00
+_0803AE10: .4byte 0x000001FF
+
+ thumb_func_start sub_3AE14
+sub_3AE14: @ 0x0803AE14
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ ldr r0, _0803AE80 @ =gUnknown_020314E0
+ ldr r5, [r0]
+ movs r1, #0x13
+ ldrsb r1, [r5, r1]
+ cmp r1, #0
+ bne _0803AEA8
+ ldrh r1, [r5, #0x18]
+ ldr r0, _0803AE84 @ =0x00000257
+ cmp r1, r0
+ bhi _0803AEA8
+ ldr r4, _0803AE88 @ =0x086AEF04
+ adds r0, r1, #0
+ movs r1, #0xf0
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #0x18
+ bl __udivsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0xf
+ adds r0, r0, r4
+ ldr r1, _0803AE8C @ =0x040000D4
+ movs r3, #0
+ ldrsh r2, [r0, r3]
+ lsls r2, r2, #5
+ ldr r0, _0803AE90 @ =0x083529D8
+ adds r0, r2, r0
+ str r0, [r1]
+ ldr r0, _0803AE94 @ =0x05000340
+ str r0, [r1, #4]
+ ldr r3, _0803AE98 @ =0x80000010
+ str r3, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r0, _0803AE9C @ =0x0833FF58
+ adds r2, r2, r0
+ str r2, [r1]
+ ldr r0, _0803AEA0 @ =0x050002A0
+ str r0, [r1, #4]
+ str r3, [r1, #8]
+ ldr r0, [r1, #8]
+ movs r6, #2
+ ldr r0, _0803AEA4 @ =0x0000044C
+ adds r1, r5, r0
+ movs r0, #0
+ strh r0, [r1]
+ b _0803AED2
+ .align 2, 0
+_0803AE80: .4byte gUnknown_020314E0
+_0803AE84: .4byte 0x00000257
+_0803AE88: .4byte 0x086AEF04
+_0803AE8C: .4byte 0x040000D4
+_0803AE90: .4byte 0x083529D8
+_0803AE94: .4byte 0x05000340
+_0803AE98: .4byte 0x80000010
+_0803AE9C: .4byte 0x0833FF58
+_0803AEA0: .4byte 0x050002A0
+_0803AEA4: .4byte 0x0000044C
+_0803AEA8:
+ ldr r6, _0803B0C4 @ =0x086AEEE6
+ ldr r1, _0803B0C8 @ =gUnknown_020314E0
+ ldr r5, [r1]
+ ldr r2, _0803B0CC @ =0x0000044C
+ adds r5, r5, r2
+ ldrh r4, [r5]
+ adds r0, r4, #0
+ movs r1, #0x60
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #0x18
+ bl __udivsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0xf
+ adds r0, r0, r6
+ ldrh r6, [r0]
+ adds r4, #1
+ strh r4, [r5]
+_0803AED2:
+ ldr r4, _0803B0D0 @ =0x086AEED6
+ ldr r3, _0803B0C8 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ movs r1, #0xa4
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ ldr r0, [r0]
+ movs r1, #0x60
+ bl __umodsi3
+ movs r1, #0x18
+ bl __udivsi3
+ lsls r0, r0, #1
+ adds r0, r0, r4
+ movs r2, #0
+ ldr r3, _0803B0D4 @ =0x03006C00
+ mov r8, r3
+ ldr r1, _0803B0D8 @ =0x086AEEDE
+ mov sl, r1
+ lsls r6, r6, #0x10
+ mov sb, r6
+ ldr r7, _0803B0DC @ =0xFFFFF000
+ add r7, r8
+ ldr r6, _0803B0E0 @ =0x08333004
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ lsls r3, r0, #2
+ ldr r5, _0803B0E4 @ =0x000003FF
+ movs r4, #0x80
+ lsls r4, r4, #4
+_0803AF10:
+ lsls r1, r2, #0x10
+ asrs r1, r1, #0x10
+ adds r2, r1, r4
+ lsls r2, r2, #1
+ adds r2, r2, r7
+ lsls r0, r1, #1
+ adds r0, r0, r6
+ ldrh r0, [r0]
+ adds r0, r0, r3
+ strh r0, [r2]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r2, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, r5
+ ble _0803AF10
+ ldr r4, _0803B0E8 @ =0x040000D4
+ mov r0, r8
+ str r0, [r4]
+ movs r0, #0xc0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ ldr r0, _0803B0EC @ =0x80000400
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r1, _0803B0F0 @ =gMain
+ ldr r0, [r1, #0x4c]
+ movs r1, #0x60
+ bl __umodsi3
+ movs r1, #0x18
+ bl __udivsi3
+ lsls r0, r0, #1
+ add r0, sl
+ ldr r2, _0803B0C8 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldr r3, _0803B0F4 @ =0x00000382
+ adds r1, r1, r3
+ movs r2, #0
+ ldrsb r2, [r1, r2]
+ lsls r2, r2, #2
+ ldr r1, _0803B0F8 @ =0x086AEAE0
+ adds r2, r2, r1
+ movs r3, #0
+ ldrsh r1, [r0, r3]
+ lsls r1, r1, #5
+ ldr r0, [r2]
+ adds r0, r0, r1
+ str r0, [r4]
+ ldr r0, _0803B0FC @ =0x05000060
+ str r0, [r4, #4]
+ ldr r0, _0803B100 @ =0x80000010
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ movs r3, #0
+ ldr r7, _0803B104 @ =gOamBuffer
+ mov r0, sb
+ asrs r0, r0, #0xd
+ mov r8, r0
+ ldr r1, _0803B108 @ =0x086AEEFE
+ mov sb, r1
+ ldr r2, _0803B10C @ =0xFFFFFC00
+ mov sl, r2
+_0803AF90:
+ lsls r3, r3, #0x10
+ asrs r1, r3, #0x10
+ movs r0, #0xb8
+ muls r0, r1, r0
+ ldr r1, _0803B110 @ =0x0200BBA0
+ adds r6, r0, r1
+ ldr r2, _0803B0C8 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ adds r0, r1, #0
+ adds r0, #0x58
+ ldrh r2, [r0]
+ movs r0, #0x78
+ subs r0, r0, r2
+ strh r0, [r6, #2]
+ adds r1, #0x5a
+ ldrh r1, [r1]
+ movs r0, #0x80
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r2, #0
+ mov ip, r3
+_0803AFBA:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r2, [r5]
+ lsls r2, r2, #3
+ adds r2, r2, r7
+ movs r3, #2
+ ldrsh r1, [r5, r3]
+ movs r3, #2
+ ldrsh r0, [r6, r3]
+ adds r1, r1, r0
+ ldr r3, _0803B114 @ =0x000001FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ ldr r0, _0803B118 @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r2, [r5, #4]
+ adds r0, r0, r2
+ strb r0, [r1]
+ ldrh r2, [r5]
+ lsls r2, r2, #3
+ adds r2, r2, r7
+ lsls r0, r4, #1
+ add r0, sb
+ ldrh r1, [r0]
+ add r1, r8
+ ldr r3, _0803B0E4 @ =0x000003FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #4]
+ mov r0, sl
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #4]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #2
+ ble _0803AFBA
+ movs r0, #0x80
+ lsls r0, r0, #9
+ add r0, ip
+ lsrs r3, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0803AF90
+ ldr r6, _0803B11C @ =0x0200BE80
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _0803B0B4
+ ldr r1, _0803B0C8 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ adds r0, #0x58
+ ldrh r1, [r0]
+ movs r0, #0x78
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ ldr r2, _0803B0C8 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ adds r0, #0x5a
+ ldrh r1, [r0]
+ movs r0, #0x80
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r2, #0
+ ldr r7, _0803B104 @ =gOamBuffer
+ ldr r3, _0803B118 @ =0xFFFFFE00
+ mov r8, r3
+_0803B056:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _0803B114 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #7
+ ble _0803B056
+ ldr r3, _0803B0C8 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldrh r1, [r0, #0x18]
+ movs r0, #0xf0
+ lsls r0, r0, #1
+ cmp r1, r0
+ bne _0803B0B4
+ ldr r0, _0803B0F0 @ =gMain
+ movs r2, #0xdc
+ lsls r2, r2, #4
+ adds r1, r0, r2
+ movs r0, #0
+ strh r0, [r1]
+_0803B0B4:
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803B0C4: .4byte 0x086AEEE6
+_0803B0C8: .4byte gUnknown_020314E0
+_0803B0CC: .4byte 0x0000044C
+_0803B0D0: .4byte 0x086AEED6
+_0803B0D4: .4byte 0x03006C00
+_0803B0D8: .4byte 0x086AEEDE
+_0803B0DC: .4byte 0xFFFFF000
+_0803B0E0: .4byte 0x08333004
+_0803B0E4: .4byte 0x000003FF
+_0803B0E8: .4byte 0x040000D4
+_0803B0EC: .4byte 0x80000400
+_0803B0F0: .4byte gMain
+_0803B0F4: .4byte 0x00000382
+_0803B0F8: .4byte 0x086AEAE0
+_0803B0FC: .4byte 0x05000060
+_0803B100: .4byte 0x80000010
+_0803B104: .4byte gOamBuffer
+_0803B108: .4byte 0x086AEEFE
+_0803B10C: .4byte 0xFFFFFC00
+_0803B110: .4byte 0x0200BBA0
+_0803B114: .4byte 0x000001FF
+_0803B118: .4byte 0xFFFFFE00
+_0803B11C: .4byte 0x0200BE80
+
+ thumb_func_start sub_3B120
+sub_3B120: @ 0x0803B120
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ ldr r4, _0803B158 @ =gUnknown_020314E0
+ ldr r1, [r4]
+ movs r2, #0
+ movs r0, #0
+ strh r0, [r1, #0x18]
+ strb r2, [r1, #0x17]
+ ldr r0, [r4]
+ strb r2, [r0, #0x13]
+ ldr r5, [r4]
+ ldr r1, _0803B15C @ =0x00000283
+ adds r0, r5, r1
+ ldrb r0, [r0]
+ movs r1, #5
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ mov ip, r4
+ cmp r0, #3
+ bne _0803B160
+ movs r2, #0xe1
+ lsls r2, r2, #2
+ adds r1, r5, r2
+ movs r0, #0x12
+ b _0803B168
+ .align 2, 0
+_0803B158: .4byte gUnknown_020314E0
+_0803B15C: .4byte 0x00000283
+_0803B160:
+ movs r3, #0xe1
+ lsls r3, r3, #2
+ adds r1, r5, r3
+ movs r0, #0xf
+_0803B168:
+ strb r0, [r1]
+ mov r4, ip
+ ldr r0, [r4]
+ movs r5, #0xa5
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ movs r3, #0
+ strb r3, [r0]
+ ldr r1, [r4]
+ adds r5, r1, #0
+ adds r5, #0x6c
+ ldr r6, _0803B42C @ =0x00002A30
+ adds r0, r6, #0
+ ldrh r2, [r5]
+ adds r0, r0, r2
+ ldr r4, _0803B430 @ =0x00000296
+ adds r2, r1, r4
+ movs r4, #0
+ strh r0, [r2]
+ strh r3, [r5]
+ movs r5, #0xe2
+ lsls r5, r5, #2
+ adds r1, r1, r5
+ movs r2, #3
+ strb r2, [r1]
+ mov r6, ip
+ ldr r0, [r6]
+ adds r5, #0xa
+ adds r1, r0, r5
+ strh r3, [r1]
+ ldr r6, _0803B434 @ =0x0000132C
+ adds r0, r0, r6
+ ldr r0, [r0]
+ movs r1, #1
+ strb r1, [r0]
+ mov r5, ip
+ ldr r0, [r5]
+ ldr r6, _0803B438 @ =0x00000386
+ adds r0, r0, r6
+ strb r4, [r0]
+ ldr r0, [r5]
+ ldr r5, _0803B43C @ =0x00000387
+ adds r0, r0, r5
+ strb r1, [r0]
+ mov r6, ip
+ ldr r0, [r6]
+ ldr r1, _0803B440 @ =0x000006C4
+ adds r0, r0, r1
+ strb r2, [r0]
+ ldr r0, [r6]
+ ldr r2, _0803B444 @ =0x00000382
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r6]
+ subs r5, #4
+ adds r0, r0, r5
+ strb r4, [r0]
+ ldr r0, [r6]
+ ldr r6, _0803B448 @ =0x00000385
+ adds r0, r0, r6
+ strb r4, [r0]
+ mov r1, ip
+ ldr r0, [r1]
+ adds r2, #7
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r1, [r1]
+ adds r5, #0xb
+ adds r0, r1, r5
+ strh r3, [r0]
+ adds r6, #0xb
+ adds r0, r1, r6
+ strh r3, [r0]
+ adds r2, #0xb
+ adds r0, r1, r2
+ strh r3, [r0]
+ adds r5, #0x4e
+ adds r0, r1, r5
+ strb r4, [r0]
+ mov r6, ip
+ ldr r0, [r6]
+ ldr r1, _0803B44C @ =0x000003DD
+ adds r0, r0, r1
+ strb r4, [r0]
+ ldr r0, [r6]
+ adds r2, #0x4a
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r6]
+ adds r5, #3
+ adds r0, r0, r5
+ strb r4, [r0]
+ ldr r0, [r6]
+ movs r6, #0xf8
+ lsls r6, r6, #2
+ adds r0, r0, r6
+ strb r4, [r0]
+ mov r1, ip
+ ldr r0, [r1]
+ adds r2, #4
+ adds r1, r0, r2
+ strh r3, [r1]
+ adds r5, #2
+ adds r0, r0, r5
+ strb r4, [r0]
+ mov r6, ip
+ ldr r1, [r6]
+ adds r2, #2
+ adds r0, r1, r2
+ strh r3, [r0]
+ adds r5, #5
+ adds r0, r1, r5
+ strh r3, [r0]
+ movs r6, #0xfa
+ lsls r6, r6, #2
+ adds r0, r1, r6
+ strh r3, [r0]
+ adds r2, #6
+ adds r0, r1, r2
+ strh r3, [r0]
+ adds r5, #6
+ adds r0, r1, r5
+ strh r3, [r0]
+ adds r6, #6
+ adds r0, r1, r6
+ strh r3, [r0]
+ adds r2, #6
+ adds r0, r1, r2
+ strh r3, [r0]
+ adds r5, #6
+ adds r0, r1, r5
+ strh r3, [r0]
+ adds r6, #0x64
+ adds r0, r1, r6
+ strh r3, [r0]
+ adds r2, #0x66
+ adds r0, r1, r2
+ strh r3, [r0]
+ adds r5, #0x8a
+ adds r1, r1, r5
+ strb r4, [r1]
+ mov r6, ip
+ ldr r0, [r6]
+ ldr r1, _0803B450 @ =0x0000047D
+ adds r0, r0, r1
+ strb r4, [r0]
+ ldr r0, [r6]
+ adds r2, #0x28
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r6]
+ adds r5, #3
+ adds r0, r0, r5
+ strb r4, [r0]
+ ldr r0, [r6]
+ movs r6, #0x90
+ lsls r6, r6, #3
+ adds r1, r0, r6
+ strh r3, [r1]
+ adds r2, #4
+ adds r1, r0, r2
+ strh r3, [r1]
+ adds r5, #5
+ adds r1, r0, r5
+ strh r3, [r1]
+ adds r6, #6
+ adds r1, r0, r6
+ strh r3, [r1]
+ adds r2, #6
+ adds r1, r0, r2
+ strh r3, [r1]
+ adds r5, #6
+ adds r1, r0, r5
+ strh r3, [r1]
+ adds r6, #0x3e
+ adds r1, r0, r6
+ strh r3, [r1]
+ adds r2, #0x3e
+ adds r1, r0, r2
+ strh r3, [r1]
+ adds r5, #0x3e
+ adds r0, r0, r5
+ strb r4, [r0]
+ mov r6, ip
+ ldr r0, [r6]
+ adds r2, #4
+ adds r1, r0, r2
+ strh r3, [r1]
+ ldr r3, _0803B454 @ =0x000004C9
+ adds r0, r0, r3
+ strb r4, [r0]
+ movs r1, #0
+ mov r5, ip
+ movs r6, #0
+ movs r7, #0
+_0803B2EE:
+ ldr r3, [r5]
+ lsls r2, r1, #0x10
+ asrs r2, r2, #0x10
+ lsls r4, r2, #2
+ adds r1, r3, r4
+ ldr r0, _0803B458 @ =0x0000046C
+ strh r7, [r0, r1]
+ adds r0, #2
+ adds r1, r1, r0
+ strh r7, [r1]
+ ldr r1, _0803B45C @ =0x0000048C
+ adds r3, r3, r1
+ adds r3, r3, r2
+ strb r6, [r3]
+ ldr r0, [r5]
+ movs r3, #0x92
+ lsls r3, r3, #3
+ adds r0, r0, r3
+ adds r0, r0, r2
+ strb r6, [r0]
+ ldr r0, [r5]
+ adds r1, #8
+ adds r0, r0, r1
+ adds r0, r0, r2
+ strb r6, [r0]
+ ldr r0, [r5]
+ adds r3, #8
+ adds r0, r0, r3
+ adds r0, r0, r2
+ strb r6, [r0]
+ ldr r0, [r5]
+ adds r1, #8
+ adds r0, r0, r1
+ adds r0, r0, r2
+ strb r6, [r0]
+ ldr r0, [r5]
+ adds r3, #8
+ adds r0, r0, r3
+ adds r0, r0, r2
+ strb r6, [r0]
+ ldr r0, [r5]
+ adds r1, #8
+ adds r0, r0, r1
+ adds r0, r0, r2
+ strb r6, [r0]
+ ldr r1, [r5]
+ lsls r3, r2, #1
+ mov r8, r3
+ ldr r3, _0803B460 @ =0x000004AC
+ adds r0, r1, r3
+ add r0, r8
+ strh r7, [r0]
+ adds r1, r1, r4
+ ldr r4, _0803B464 @ =0x000004B4
+ adds r0, r1, r4
+ strh r7, [r0]
+ ldr r0, _0803B468 @ =0x000004B6
+ adds r1, r1, r0
+ strh r7, [r1]
+ adds r2, #1
+ lsls r2, r2, #0x10
+ lsrs r1, r2, #0x10
+ asrs r2, r2, #0x10
+ cmp r2, #3
+ ble _0803B2EE
+ movs r1, #0
+ ldr r5, _0803B46C @ =gUnknown_020314E0
+ movs r4, #0
+_0803B376:
+ ldr r0, [r5]
+ lsls r2, r1, #0x10
+ asrs r2, r2, #0x10
+ ldr r1, _0803B470 @ =0x000004CC
+ adds r0, r0, r1
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r5]
+ ldr r3, _0803B474 @ =0x000004CF
+ adds r0, r0, r3
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r5]
+ ldr r6, _0803B478 @ =0x000004D2
+ adds r0, r0, r6
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r5]
+ adds r1, #9
+ adds r0, r0, r1
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r1, [r5]
+ lsls r3, r2, #1
+ adds r6, #6
+ adds r0, r1, r6
+ adds r0, r0, r3
+ strh r4, [r0]
+ adds r6, #6
+ adds r0, r1, r6
+ adds r0, r0, r3
+ strh r4, [r0]
+ adds r6, #6
+ adds r0, r1, r6
+ adds r0, r0, r3
+ strh r4, [r0]
+ lsls r0, r2, #2
+ adds r1, r1, r0
+ ldr r3, _0803B47C @ =0x000004EC
+ adds r0, r1, r3
+ strh r4, [r0]
+ adds r6, #0xa
+ adds r0, r1, r6
+ strh r4, [r0]
+ adds r3, #0xc
+ adds r0, r1, r3
+ strh r4, [r0]
+ adds r6, #0xc
+ adds r1, r1, r6
+ strh r4, [r1]
+ adds r2, #1
+ lsls r2, r2, #0x10
+ lsrs r1, r2, #0x10
+ asrs r2, r2, #0x10
+ cmp r2, #2
+ ble _0803B376
+ mov r0, ip
+ ldr r1, [r0]
+ movs r0, #1
+ strb r0, [r1, #0x1a]
+ bl sub_3CBC4
+ bl sub_3B7C4
+ bl sub_3C6E0
+ ldr r4, _0803B480 @ =0x040000D4
+ ldr r0, _0803B484 @ =0x0849F1CC
+ str r0, [r4]
+ ldr r0, _0803B488 @ =0x06015800
+ str r0, [r4, #4]
+ ldr r0, _0803B48C @ =0x80001000
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ bl sub_3E644
+ movs r0, #0x28
+ bl m4aSongNumStart
+ ldr r0, _0803B490 @ =0x081B36A4
+ str r0, [r4]
+ ldr r0, _0803B494 @ =0x05000320
+ str r0, [r4, #4]
+ ldr r0, _0803B498 @ =0x80000010
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803B42C: .4byte 0x00002A30
+_0803B430: .4byte 0x00000296
+_0803B434: .4byte 0x0000132C
+_0803B438: .4byte 0x00000386
+_0803B43C: .4byte 0x00000387
+_0803B440: .4byte 0x000006C4
+_0803B444: .4byte 0x00000382
+_0803B448: .4byte 0x00000385
+_0803B44C: .4byte 0x000003DD
+_0803B450: .4byte 0x0000047D
+_0803B454: .4byte 0x000004C9
+_0803B458: .4byte 0x0000046C
+_0803B45C: .4byte 0x0000048C
+_0803B460: .4byte 0x000004AC
+_0803B464: .4byte 0x000004B4
+_0803B468: .4byte 0x000004B6
+_0803B46C: .4byte gUnknown_020314E0
+_0803B470: .4byte 0x000004CC
+_0803B474: .4byte 0x000004CF
+_0803B478: .4byte 0x000004D2
+_0803B47C: .4byte 0x000004EC
+_0803B480: .4byte 0x040000D4
+_0803B484: .4byte 0x0849F1CC
+_0803B488: .4byte 0x06015800
+_0803B48C: .4byte 0x80001000
+_0803B490: .4byte 0x081B36A4
+_0803B494: .4byte 0x05000320
+_0803B498: .4byte 0x80000010
+
+ thumb_func_start sub_3B49C
+sub_3B49C: @ 0x0803B49C
+ push {r4, r5, r6, lr}
+ ldr r0, _0803B4B8 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldrb r0, [r0, #0x13]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #6
+ bls _0803B4AE
+ b _0803B740
+_0803B4AE:
+ lsls r0, r0, #2
+ ldr r1, _0803B4BC @ =_0803B4C0
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803B4B8: .4byte gUnknown_020314E0
+_0803B4BC: .4byte _0803B4C0
+_0803B4C0: @ jump table
+ .4byte _0803B4DC @ case 0
+ .4byte _0803B740 @ case 1
+ .4byte _0803B576 @ case 2
+ .4byte _0803B5EC @ case 3
+ .4byte _0803B66C @ case 4
+ .4byte _0803B6C8 @ case 5
+ .4byte _0803B728 @ case 6
+_0803B4DC:
+ ldr r5, _0803B504 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r1, _0803B508 @ =0x000005F7
+ adds r0, r0, r1
+ movs r2, #0
+ movs r6, #1
+ strb r6, [r0]
+ ldr r4, [r5]
+ ldrh r1, [r4, #0x18]
+ ldr r0, _0803B50C @ =0x000001F3
+ cmp r1, r0
+ bhi _0803B514
+ adds r1, r4, #0
+ adds r1, #0xe6
+ ldr r0, _0803B510 @ =0x0000FFC0
+ strh r0, [r1]
+ ldrh r0, [r4, #0x18]
+ adds r0, #1
+ strh r0, [r4, #0x18]
+ b _0803B740
+ .align 2, 0
+_0803B504: .4byte gUnknown_020314E0
+_0803B508: .4byte 0x000005F7
+_0803B50C: .4byte 0x000001F3
+_0803B510: .4byte 0x0000FFC0
+_0803B514:
+ ldr r0, _0803B55C @ =0x00000333
+ cmp r1, r0
+ bhi _0803B568
+ ldrh r0, [r4, #0x18]
+ ldr r2, _0803B560 @ =0xFFFFFE0C
+ adds r0, r0, r2
+ movs r1, #5
+ bl __divsi3
+ subs r0, #0x40
+ adds r1, r4, #0
+ adds r1, #0xe6
+ strh r0, [r1]
+ ldrh r0, [r4, #0x18]
+ adds r0, #1
+ strh r0, [r4, #0x18]
+ movs r0, #0
+ ldrsh r1, [r1, r0]
+ movs r0, #0x20
+ rsbs r0, r0, #0
+ cmp r1, r0
+ blt _0803B544
+ movs r0, #0
+ strb r0, [r4, #0x1a]
+_0803B544:
+ ldr r2, [r5]
+ ldrh r1, [r2, #0x18]
+ ldr r0, _0803B564 @ =0x0000028A
+ cmp r1, r0
+ beq _0803B550
+ b _0803B740
+_0803B550:
+ movs r1, #0xa5
+ lsls r1, r1, #2
+ adds r0, r2, r1
+ strb r6, [r0]
+ b _0803B740
+ .align 2, 0
+_0803B55C: .4byte 0x00000333
+_0803B560: .4byte 0xFFFFFE0C
+_0803B564: .4byte 0x0000028A
+_0803B568:
+ adds r0, r4, #0
+ adds r0, #0xe6
+ strh r2, [r0]
+ strb r6, [r4, #0x13]
+ ldr r0, [r5]
+ strh r2, [r0, #0x18]
+ b _0803B740
+_0803B576:
+ ldr r2, _0803B588 @ =gUnknown_020314E0
+ ldr r3, [r2]
+ ldrh r0, [r3, #0x18]
+ cmp r0, #0x77
+ bhi _0803B58C
+ adds r0, #1
+ strh r0, [r3, #0x18]
+ b _0803B740
+ .align 2, 0
+_0803B588: .4byte gUnknown_020314E0
+_0803B58C:
+ movs r1, #0
+ movs r0, #3
+ strb r0, [r3, #0x13]
+ ldr r2, [r2]
+ strh r1, [r2, #0x18]
+ ldr r3, _0803B5D4 @ =gMain
+ movs r4, #0xe9
+ lsls r4, r4, #3
+ adds r0, r3, r4
+ movs r4, #1
+ movs r1, #1
+ strh r1, [r0]
+ movs r5, #0xd2
+ lsls r5, r5, #3
+ adds r0, r3, r5
+ strh r1, [r0]
+ ldr r1, _0803B5D8 @ =0x040000D4
+ ldr r0, _0803B5DC @ =0x0813E894
+ str r0, [r1]
+ ldr r0, _0803B5E0 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0803B5E4 @ =0x80001000
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ movs r0, #0xe5
+ lsls r0, r0, #2
+ adds r1, r2, r0
+ movs r0, #0x88
+ strh r0, [r1]
+ movs r0, #0x80
+ strb r0, [r3, #0xf]
+ ldr r1, _0803B5E8 @ =0x000005FA
+ adds r2, r2, r1
+ strb r4, [r2]
+ b _0803B740
+ .align 2, 0
+_0803B5D4: .4byte gMain
+_0803B5D8: .4byte 0x040000D4
+_0803B5DC: .4byte 0x0813E894
+_0803B5E0: .4byte 0x06015800
+_0803B5E4: .4byte 0x80001000
+_0803B5E8: .4byte 0x000005FA
+_0803B5EC:
+ bl sub_351A8
+ ldr r4, _0803B634 @ =gUnknown_020314E0
+ ldr r1, [r4]
+ ldrb r0, [r1, #0x1c]
+ cmp r0, #0
+ beq _0803B5FE
+ movs r0, #0xb5
+ strh r0, [r1, #0x18]
+_0803B5FE:
+ ldr r1, [r4]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xb4
+ bne _0803B614
+ movs r0, #1
+ strb r0, [r1, #0x1c]
+ ldr r1, [r4]
+ ldr r0, _0803B638 @ =0x00061A80
+ str r0, [r1, #0x38]
+ ldr r0, _0803B63C @ =0x02FAF080
+ str r0, [r1, #0x3c]
+_0803B614:
+ ldr r1, [r4]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xef
+ bhi _0803B640
+ cmp r0, #0x14
+ bne _0803B62A
+ bl m4aMPlayAllStop
+ movs r0, #0x2b
+ bl m4aSongNumStart
+_0803B62A:
+ ldr r1, [r4]
+ ldrh r0, [r1, #0x18]
+ adds r0, #1
+ strh r0, [r1, #0x18]
+ b _0803B654
+ .align 2, 0
+_0803B634: .4byte gUnknown_020314E0
+_0803B638: .4byte 0x00061A80
+_0803B63C: .4byte 0x02FAF080
+_0803B640:
+ movs r0, #0
+ strh r0, [r1, #0x18]
+ movs r0, #6
+ strb r0, [r1, #0x13]
+ ldr r1, [r4]
+ ldr r2, _0803B660 @ =0x00000283
+ adds r1, r1, r2
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+_0803B654:
+ ldr r0, _0803B664 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r4, _0803B668 @ =0x000005FA
+ adds r0, r0, r4
+ movs r1, #1
+ b _0803B73E
+ .align 2, 0
+_0803B660: .4byte 0x00000283
+_0803B664: .4byte gUnknown_020314E0
+_0803B668: .4byte 0x000005FA
+_0803B66C:
+ ldr r2, _0803B6B0 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ movs r0, #5
+ strb r0, [r1, #0x13]
+ ldr r2, [r2]
+ movs r0, #0x8c
+ strh r0, [r2, #0x18]
+ ldr r3, _0803B6B4 @ =gMain
+ movs r5, #0xe9
+ lsls r5, r5, #3
+ adds r0, r3, r5
+ movs r1, #1
+ strh r1, [r0]
+ movs r4, #0xd2
+ lsls r4, r4, #3
+ adds r0, r3, r4
+ strh r1, [r0]
+ ldr r1, _0803B6B8 @ =0x040000D4
+ ldr r0, _0803B6BC @ =0x0813E894
+ str r0, [r1]
+ ldr r0, _0803B6C0 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0803B6C4 @ =0x80001000
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ movs r5, #0xe5
+ lsls r5, r5, #2
+ adds r2, r2, r5
+ movs r0, #0x88
+ strh r0, [r2]
+ movs r0, #0x80
+ strb r0, [r3, #0xf]
+ b _0803B740
+ .align 2, 0
+_0803B6B0: .4byte gUnknown_020314E0
+_0803B6B4: .4byte gMain
+_0803B6B8: .4byte 0x040000D4
+_0803B6BC: .4byte 0x0813E894
+_0803B6C0: .4byte 0x06015800
+_0803B6C4: .4byte 0x80001000
+_0803B6C8:
+ bl sub_351A8
+ ldr r2, _0803B700 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldrb r0, [r1, #0x1c]
+ cmp r0, #0
+ beq _0803B6DA
+ movs r0, #0xb5
+ strh r0, [r1, #0x18]
+_0803B6DA:
+ ldr r1, [r2]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xb4
+ bne _0803B6F0
+ movs r0, #1
+ strb r0, [r1, #0x1c]
+ ldr r1, [r2]
+ ldr r0, _0803B704 @ =0x00061A80
+ str r0, [r1, #0x38]
+ ldr r0, _0803B708 @ =0x02FAF080
+ str r0, [r1, #0x3c]
+_0803B6F0:
+ ldr r1, [r2]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xef
+ bhi _0803B70C
+ adds r0, #1
+ strh r0, [r1, #0x18]
+ b _0803B740
+ .align 2, 0
+_0803B700: .4byte gUnknown_020314E0
+_0803B704: .4byte 0x00061A80
+_0803B708: .4byte 0x02FAF080
+_0803B70C:
+ movs r0, #0
+ strh r0, [r1, #0x18]
+ movs r0, #6
+ strb r0, [r1, #0x13]
+ ldr r1, [r2]
+ ldr r0, _0803B724 @ =0x00000283
+ adds r1, r1, r0
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ b _0803B740
+ .align 2, 0
+_0803B724: .4byte 0x00000283
+_0803B728:
+ bl sub_351A8
+ ldr r2, _0803B7B0 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r1, _0803B7B4 @ =0x00000386
+ adds r0, r0, r1
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r2, _0803B7B8 @ =0x000005FA
+ adds r0, r0, r2
+_0803B73E:
+ strb r1, [r0]
+_0803B740:
+ bl sub_3CBC4
+ bl sub_3B7C4
+ bl sub_3C6E0
+ bl sub_3E644
+ ldr r0, _0803B7B0 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r4, #0xa5
+ lsls r4, r4, #2
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _0803B788
+ ldr r5, _0803B7BC @ =0x00000296
+ adds r0, r1, r5
+ ldrh r0, [r0]
+ cmp r0, #1
+ bhi _0803B788
+ ldr r4, _0803B7C0 @ =gMain
+ ldrb r0, [r4, #0xf]
+ cmp r0, #0
+ bne _0803B788
+ bl m4aMPlayAllStop
+ movs r0, #0x2c
+ bl m4aSongNumStart
+ ldrb r1, [r4, #0xf]
+ movs r0, #0x40
+ orrs r0, r1
+ strb r0, [r4, #0xf]
+_0803B788:
+ ldr r0, _0803B7B0 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r2, _0803B7B4 @ =0x00000386
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _0803B7A6
+ ldr r4, _0803B7B8 @ =0x000005FA
+ adds r1, r1, r4
+ movs r0, #1
+ strb r0, [r1]
+ bl sub_350F0
+_0803B7A6:
+ bl sub_472E4
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803B7B0: .4byte gUnknown_020314E0
+_0803B7B4: .4byte 0x00000386
+_0803B7B8: .4byte 0x000005FA
+_0803B7BC: .4byte 0x00000296
+_0803B7C0: .4byte gMain
+
+ thumb_func_start sub_3B7C4
+sub_3B7C4: @ 0x0803B7C4
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ ldr r0, _0803B874 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r2, _0803B878 @ =0x00000452
+ adds r4, r1, r2
+ ldrh r3, [r4]
+ mov r8, r0
+ cmp r3, #0
+ beq _0803B850
+ subs r0, r3, #1
+ strh r0, [r4]
+ ldr r3, _0803B87C @ =0x00000389
+ adds r1, r1, r3
+ movs r0, #1
+ strb r0, [r1]
+ mov r4, r8
+ ldr r0, [r4]
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ cmp r0, #0x23
+ bne _0803B838
+ ldr r0, _0803B880 @ =0x02032F20
+ ldr r1, _0803B884 @ =0x086A22D8
+ bl MPlayStart
+ ldr r1, [r4]
+ ldr r0, _0803B888 @ =0x0007A120
+ str r0, [r1, #0x3c]
+ movs r0, #7
+ bl sub_11B0
+ ldr r1, [r4]
+ ldr r2, _0803B88C @ =0x00000385
+ adds r1, r1, r2
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ ldr r3, [r4]
+ adds r2, r3, r2
+ movs r1, #0xe1
+ lsls r1, r1, #2
+ adds r0, r3, r1
+ movs r1, #0
+ ldrsb r1, [r2, r1]
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r1, r0
+ blt _0803B838
+ movs r2, #0xf7
+ lsls r2, r2, #2
+ adds r1, r3, r2
+ movs r0, #6
+ strb r0, [r1]
+_0803B838:
+ ldr r0, _0803B874 @ =gUnknown_020314E0
+ ldr r3, [r0]
+ ldr r4, _0803B878 @ =0x00000452
+ adds r1, r3, r4
+ ldrh r1, [r1]
+ mov r8, r0
+ cmp r1, #0x1e
+ bhi _0803B850
+ ldr r0, _0803B87C @ =0x00000389
+ adds r1, r3, r0
+ movs r0, #0
+ strb r0, [r1]
+_0803B850:
+ mov r1, r8
+ ldr r0, [r1]
+ movs r2, #0xf7
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0xa
+ bls _0803B868
+ bl _0803C476
+_0803B868:
+ lsls r0, r0, #2
+ ldr r1, _0803B890 @ =_0803B894
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803B874: .4byte gUnknown_020314E0
+_0803B878: .4byte 0x00000452
+_0803B87C: .4byte 0x00000389
+_0803B880: .4byte 0x02032F20
+_0803B884: .4byte 0x086A22D8
+_0803B888: .4byte 0x0007A120
+_0803B88C: .4byte 0x00000385
+_0803B890: .4byte _0803B894
+_0803B894: @ jump table
+ .4byte _0803B8C0 @ case 0
+ .4byte _0803B91C @ case 1
+ .4byte _0803BB2C @ case 2
+ .4byte _0803BC74 @ case 3
+ .4byte _0803BEF8 @ case 4
+ .4byte _0803BFD4 @ case 5
+ .4byte _0803C098 @ case 6
+ .4byte _0803C1BC @ case 7
+ .4byte _0803C26C @ case 8
+ .4byte _0803C3C0 @ case 9
+ .4byte _0803C476 @ case 10
+_0803B8C0:
+ ldr r3, _0803B904 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ movs r4, #0
+ movs r1, #1
+ strb r1, [r0]
+ ldr r1, [r3]
+ ldr r0, _0803B908 @ =0x000003E2
+ adds r2, r1, r0
+ movs r5, #0
+ movs r0, #0x16
+ strh r0, [r2]
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r0, r1, r2
+ strh r4, [r0]
+ ldr r0, _0803B90C @ =0x000003E1
+ adds r1, r1, r0
+ strb r5, [r1]
+ ldr r1, [r3]
+ adds r2, #4
+ adds r0, r1, r2
+ strh r4, [r0]
+ ldr r3, _0803B910 @ =0x000003EA
+ adds r2, r1, r3
+ ldr r0, _0803B914 @ =0x0000FB50
+ strh r0, [r2]
+ ldr r0, _0803B918 @ =0x000004C6
+ adds r1, r1, r0
+ strh r4, [r1]
+ bl _0803C476
+ .align 2, 0
+_0803B904: .4byte gUnknown_020314E0
+_0803B908: .4byte 0x000003E2
+_0803B90C: .4byte 0x000003E1
+_0803B910: .4byte 0x000003EA
+_0803B914: .4byte 0x0000FB50
+_0803B918: .4byte 0x000004C6
+_0803B91C:
+ ldr r0, _0803B944 @ =0x086AF140
+ mov r1, r8
+ ldr r5, [r1]
+ ldr r2, _0803B948 @ =0x000003E2
+ adds r4, r5, r2
+ movs r3, #0
+ ldrsh r1, [r4, r3]
+ lsls r1, r1, #2
+ adds r0, #2
+ adds r1, r1, r0
+ movs r0, #0xf9
+ lsls r0, r0, #2
+ adds r2, r5, r0
+ ldrh r3, [r2]
+ ldrh r0, [r1]
+ cmp r0, r3
+ bls _0803B94C
+ adds r0, r3, #1
+ strh r0, [r2]
+ b _0803B99E
+ .align 2, 0
+_0803B944: .4byte 0x086AF140
+_0803B948: .4byte 0x000003E2
+_0803B94C:
+ movs r3, #0
+ strh r3, [r2]
+ ldrh r0, [r4]
+ adds r0, #1
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x24
+ bne _0803B99E
+ ldr r2, _0803B978 @ =0x000003E1
+ adds r1, r5, r2
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0x11
+ bgt _0803B97C
+ movs r0, #0x22
+ strh r0, [r4]
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ b _0803B99E
+ .align 2, 0
+_0803B978: .4byte 0x000003E1
+_0803B97C:
+ strh r3, [r4]
+ movs r3, #0xf7
+ lsls r3, r3, #2
+ adds r1, r5, r3
+ movs r0, #2
+ strb r0, [r1]
+ mov r4, r8
+ ldr r0, [r4]
+ ldr r1, _0803BAF8 @ =0x000003DD
+ adds r0, r0, r1
+ movs r1, #4
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldr r2, _0803BAFC @ =0x000003E1
+ adds r0, r0, r2
+ movs r1, #9
+ strb r1, [r0]
+_0803B99E:
+ ldr r0, _0803BB00 @ =gUnknown_020314E0
+ ldr r4, [r0]
+ ldr r3, _0803BB04 @ =0x000003E2
+ adds r0, r4, r3
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x16
+ beq _0803B9B0
+ b _0803BABA
+_0803B9B0:
+ adds r3, #2
+ adds r2, r4, r3
+ ldrh r1, [r2]
+ ldr r0, _0803BB08 @ =0x000001F3
+ cmp r1, r0
+ bhi _0803BA54
+ cmp r1, #0x32
+ beq _0803B9C6
+ subs r0, #0xe5
+ cmp r1, r0
+ bne _0803B9E8
+_0803B9C6:
+ ldr r0, _0803BB0C @ =0x000004CA
+ adds r1, r4, r0
+ movs r0, #0x1f
+ strh r0, [r1]
+ ldrh r0, [r2]
+ movs r1, #0x6e
+ bl __udivsi3
+ ldr r2, _0803BB10 @ =0x000004C9
+ adds r1, r4, r2
+ strb r0, [r1]
+ ldr r0, _0803BB14 @ =0x00000119
+ bl m4aSongNumStart
+ movs r0, #8
+ bl sub_11B0
+_0803B9E8:
+ ldr r0, _0803BB00 @ =gUnknown_020314E0
+ ldr r4, [r0]
+ movs r3, #0xf9
+ lsls r3, r3, #2
+ adds r2, r4, r3
+ ldrh r1, [r2]
+ cmp r1, #0xa0
+ beq _0803BA00
+ movs r0, #0xbe
+ lsls r0, r0, #1
+ cmp r1, r0
+ bne _0803BA22
+_0803BA00:
+ ldr r0, _0803BB0C @ =0x000004CA
+ adds r1, r4, r0
+ movs r0, #0x1f
+ strh r0, [r1]
+ ldrh r0, [r2]
+ movs r1, #0x6e
+ bl __udivsi3
+ ldr r2, _0803BB10 @ =0x000004C9
+ adds r1, r4, r2
+ strb r0, [r1]
+ ldr r0, _0803BB14 @ =0x00000119
+ bl m4aSongNumStart
+ movs r0, #8
+ bl sub_11B0
+_0803BA22:
+ ldr r0, _0803BB00 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ movs r3, #0xf9
+ lsls r3, r3, #2
+ adds r0, r2, r3
+ ldrh r1, [r0]
+ movs r0, #0xf5
+ lsls r0, r0, #1
+ cmp r1, r0
+ bne _0803BA54
+ ldr r4, _0803BB0C @ =0x000004CA
+ adds r1, r2, r4
+ movs r0, #0x1f
+ strh r0, [r1]
+ ldr r0, _0803BB10 @ =0x000004C9
+ adds r1, r2, r0
+ movs r0, #4
+ strb r0, [r1]
+ movs r0, #0x8d
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+ movs r0, #8
+ bl sub_11B0
+_0803BA54:
+ ldr r2, _0803BB00 @ =gUnknown_020314E0
+ ldr r3, [r2]
+ movs r1, #0xf9
+ lsls r1, r1, #2
+ adds r0, r3, r1
+ ldrh r1, [r0]
+ ldr r0, _0803BB18 @ =0x00000275
+ mov r8, r2
+ cmp r1, r0
+ bls _0803BA8E
+ ldr r4, _0803BB1C @ =0x000003EA
+ adds r2, r3, r4
+ movs r1, #0
+ ldrsh r0, [r2, r1]
+ cmp r0, #0
+ bge _0803BA9E
+ adds r4, #0xdc
+ adds r0, r3, r4
+ ldrh r1, [r0]
+ adds r1, #4
+ strh r1, [r0]
+ ldrh r0, [r2]
+ adds r0, r0, r1
+ strh r0, [r2]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ ble _0803BA8E
+ movs r0, #0
+ strh r0, [r2]
+_0803BA8E:
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r2, _0803BB1C @ =0x000003EA
+ adds r0, r0, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ cmp r0, #0
+ blt _0803BABA
+_0803BA9E:
+ ldr r0, _0803BB00 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r4, #0x99
+ lsls r4, r4, #3
+ adds r0, r0, r4
+ movs r1, #0x3c
+ strb r1, [r0]
+ ldr r0, _0803BB20 @ =0x02032F20
+ ldr r1, _0803BB24 @ =0x086A2454
+ bl MPlayStart
+ movs r0, #0xd
+ bl sub_11B0
+_0803BABA:
+ ldr r0, _0803BB00 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r2, _0803BB04 @ =0x000003E2
+ adds r0, r1, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ cmp r0, #0x21
+ bne _0803BAE0
+ movs r4, #0xf9
+ lsls r4, r4, #2
+ adds r0, r1, r4
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _0803BAE0
+ movs r0, #0xe4
+ lsls r0, r0, #2
+ adds r1, r1, r0
+ movs r0, #0x29
+ strh r0, [r1]
+_0803BAE0:
+ ldr r0, _0803BB00 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r2, _0803BB28 @ =0x00000392
+ adds r1, r0, r2
+ ldrh r0, [r1]
+ cmp r0, #0x78
+ bhi _0803BAF2
+ bl _0803C476
+_0803BAF2:
+ subs r0, #1
+ bl _0803C474
+ .align 2, 0
+_0803BAF8: .4byte 0x000003DD
+_0803BAFC: .4byte 0x000003E1
+_0803BB00: .4byte gUnknown_020314E0
+_0803BB04: .4byte 0x000003E2
+_0803BB08: .4byte 0x000001F3
+_0803BB0C: .4byte 0x000004CA
+_0803BB10: .4byte 0x000004C9
+_0803BB14: .4byte 0x00000119
+_0803BB18: .4byte 0x00000275
+_0803BB1C: .4byte 0x000003EA
+_0803BB20: .4byte 0x02032F20
+_0803BB24: .4byte 0x086A2454
+_0803BB28: .4byte 0x00000392
+_0803BB2C:
+ mov r3, r8
+ ldr r4, [r3]
+ ldr r1, _0803BB50 @ =0x00000452
+ adds r0, r4, r1
+ ldrh r0, [r0]
+ cmp r0, #0x1e
+ bls _0803BB58
+ ldr r2, _0803BB54 @ =0x000003E2
+ adds r1, r4, r2
+ movs r2, #0
+ movs r0, #0x15
+ strh r0, [r1]
+ movs r3, #0xf9
+ lsls r3, r3, #2
+ adds r0, r4, r3
+ strh r2, [r0]
+ bl _0803C476
+ .align 2, 0
+_0803BB50: .4byte 0x00000452
+_0803BB54: .4byte 0x000003E2
+_0803BB58:
+ ldr r0, _0803BB7C @ =0x086AF140
+ ldr r1, _0803BB80 @ =0x000003E2
+ adds r3, r4, r1
+ movs r2, #0
+ ldrsh r1, [r3, r2]
+ lsls r1, r1, #2
+ adds r0, #2
+ adds r1, r1, r0
+ movs r0, #0xf9
+ lsls r0, r0, #2
+ adds r2, r4, r0
+ ldrh r5, [r2]
+ ldrh r0, [r1]
+ cmp r0, r5
+ bls _0803BB84
+ adds r0, r5, #1
+ strh r0, [r2]
+ b _0803BC50
+ .align 2, 0
+_0803BB7C: .4byte 0x086AF140
+_0803BB80: .4byte 0x000003E2
+_0803BB84:
+ movs r6, #0
+ movs r5, #0
+ strh r5, [r2]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #2
+ bne _0803BC50
+ ldr r2, _0803BBF4 @ =0x000003E1
+ adds r1, r4, r2
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xb
+ bgt _0803BC00
+ strh r5, [r3]
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ mov r2, r8
+ ldr r1, [r2]
+ ldr r3, _0803BBF4 @ =0x000003E1
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0xc
+ bne _0803BC50
+ ldr r4, _0803BBF8 @ =0x000003DD
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #4
+ bne _0803BC50
+ movs r3, #0
+ ldr r5, _0803BBFC @ =0x0000048C
+ movs r4, #9
+_0803BBD2:
+ ldr r0, [r2]
+ lsls r1, r3, #0x10
+ asrs r1, r1, #0x10
+ adds r0, r0, r5
+ adds r3, r0, r1
+ movs r0, #0
+ ldrsb r0, [r3, r0]
+ cmp r0, #8
+ bgt _0803BBE6
+ strb r4, [r3]
+_0803BBE6:
+ adds r0, r1, #1
+ lsls r0, r0, #0x10
+ lsrs r3, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0803BBD2
+ b _0803BC50
+ .align 2, 0
+_0803BBF4: .4byte 0x000003E1
+_0803BBF8: .4byte 0x000003DD
+_0803BBFC: .4byte 0x0000048C
+_0803BC00:
+ ldr r1, _0803BC20 @ =0x000003DD
+ adds r0, r4, r1
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ cmp r1, #4
+ bne _0803BC24
+ movs r0, #0x24
+ strh r0, [r3]
+ movs r3, #0xf7
+ lsls r3, r3, #2
+ adds r0, r4, r3
+ strb r1, [r0]
+ mov r4, r8
+ ldr r0, [r4]
+ b _0803BC4C
+ .align 2, 0
+_0803BC20: .4byte 0x000003DD
+_0803BC24:
+ cmp r1, #3
+ bne _0803BC3A
+ movs r0, #0x4c
+ strh r0, [r3]
+ movs r3, #0xf7
+ lsls r3, r3, #2
+ adds r0, r4, r3
+ strb r1, [r0]
+ mov r4, r8
+ ldr r0, [r4]
+ b _0803BC4C
+_0803BC3A:
+ movs r0, #0x3a
+ strh r0, [r3]
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r4, r0
+ movs r0, #5
+ strb r0, [r1]
+ mov r1, r8
+ ldr r0, [r1]
+_0803BC4C:
+ adds r0, r0, r2
+ strb r6, [r0]
+_0803BC50:
+ ldr r0, _0803BC6C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r2, _0803BC70 @ =0x000003E2
+ adds r1, r0, r2
+ movs r3, #0
+ ldrsh r0, [r1, r3]
+ cmp r0, #0x15
+ beq _0803BC64
+ bl _0803C476
+_0803BC64:
+ movs r0, #0
+ bl _0803C474
+ .align 2, 0
+_0803BC6C: .4byte gUnknown_020314E0
+_0803BC70: .4byte 0x000003E2
+_0803BC74:
+ ldr r1, _0803BCA0 @ =0x086AF140
+ mov r4, r8
+ ldr r2, [r4]
+ ldr r0, _0803BCA4 @ =0x000003E2
+ adds r3, r2, r0
+ movs r4, #0
+ ldrsh r0, [r3, r4]
+ lsls r0, r0, #2
+ adds r1, #2
+ adds r0, r0, r1
+ movs r1, #0xf9
+ lsls r1, r1, #2
+ adds r2, r2, r1
+ ldrh r1, [r2]
+ ldrh r0, [r0]
+ cmp r0, r1
+ bls _0803BCA8
+ adds r0, r1, #1
+ strh r0, [r2]
+ bl _0803C476
+ .align 2, 0
+_0803BCA0: .4byte 0x086AF140
+_0803BCA4: .4byte 0x000003E2
+_0803BCA8:
+ movs r0, #0
+ strh r0, [r2]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x5d
+ beq _0803BCC2
+ cmp r0, #0x60
+ beq _0803BCC2
+ cmp r0, #0x63
+ bne _0803BD1E
+_0803BCC2:
+ mov r2, r8
+ ldr r1, [r2]
+ ldr r3, _0803BCF4 @ =0x000003E2
+ adds r2, r1, r3
+ movs r0, #0
+ strh r0, [r2]
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r1, r1, r4
+ movs r0, #2
+ strb r0, [r1]
+ mov r0, r8
+ ldr r2, [r0]
+ ldr r1, _0803BCF8 @ =0x0000047C
+ adds r0, r2, r1
+ ldrb r1, [r0]
+ movs r0, #1
+ ands r0, r1
+ cmp r0, #0
+ beq _0803BCFC
+ subs r3, #5
+ adds r1, r2, r3
+ movs r0, #4
+ b _0803BD02
+ .align 2, 0
+_0803BCF4: .4byte 0x000003E2
+_0803BCF8: .4byte 0x0000047C
+_0803BCFC:
+ ldr r3, _0803BDF8 @ =0x000003DD
+ adds r1, r2, r3
+ movs r0, #5
+_0803BD02:
+ strb r0, [r1]
+ mov r4, r8
+ ldr r0, [r4]
+ ldr r1, _0803BDFC @ =0x000003E1
+ adds r0, r0, r1
+ movs r1, #8
+ strb r1, [r0]
+ mov r2, r8
+ ldr r1, [r2]
+ ldr r3, _0803BE00 @ =0x0000047C
+ adds r1, r1, r3
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+_0803BD1E:
+ ldr r5, _0803BE04 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r4, _0803BE08 @ =0x000003E2
+ adds r0, r0, r4
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x5a
+ beq _0803BD30
+ b _0803C476
+_0803BD30:
+ ldr r0, _0803BE0C @ =0x02032F20
+ ldr r1, _0803BE10 @ =0x086A24F0
+ bl MPlayStart
+ ldr r0, [r5]
+ ldr r2, _0803BE14 @ =0x0000047E
+ adds r0, r0, r2
+ movs r1, #8
+ strb r1, [r0]
+ ldr r4, [r5]
+ ldr r3, _0803BE18 @ =0x00000482
+ adds r1, r4, r3
+ movs r0, #0
+ mov sb, r0
+ movs r0, #0x23
+ strh r0, [r1]
+ ldr r1, _0803BE1C @ =gMain
+ mov sl, r1
+ ldr r1, _0803BE20 @ =0x000012C8
+ add r1, sl
+ movs r0, #1
+ strh r0, [r1]
+ adds r2, #0xa
+ mov r8, r2
+ adds r2, r4, r2
+ movs r0, #0x96
+ lsls r0, r0, #3
+ strh r0, [r2]
+ adds r3, #8
+ adds r1, r4, r3
+ adds r0, #0x28
+ strh r0, [r1]
+ movs r1, #0
+ ldrsh r0, [r2, r1]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ ldr r2, _0803BE24 @ =0x0000132C
+ adds r4, r4, r2
+ ldr r2, [r4]
+ movs r3, #0x10
+ ldrsh r1, [r2, r3]
+ subs r6, r0, r1
+ movs r1, #0x7c
+ movs r4, #0x12
+ ldrsh r0, [r2, r4]
+ subs r7, r1, r0
+ rsbs r0, r6, #0
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ lsls r1, r7, #0x10
+ asrs r1, r1, #0x10
+ bl ArcTan2
+ ldr r1, [r5]
+ ldr r6, _0803BE28 @ =0x00000484
+ adds r2, r1, r6
+ strh r0, [r2]
+ movs r0, #0xe2
+ lsls r0, r0, #2
+ adds r1, r1, r0
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ beq _0803BDE0
+ bl Random
+ ldr r4, [r5]
+ mov r2, sl
+ ldr r1, [r2, #0x4c]
+ muls r0, r1, r0
+ movs r1, #0x64
+ bl __umodsi3
+ adds r1, r0, #0
+ lsls r0, r1, #2
+ adds r0, r0, r1
+ lsls r0, r0, #0xc
+ movs r1, #0x64
+ bl __udivsi3
+ movs r3, #0x98
+ lsls r3, r3, #8
+ adds r0, r0, r3
+ adds r4, r4, r6
+ strh r0, [r4]
+_0803BDE0:
+ ldr r1, [r5]
+ adds r3, r1, r6
+ ldrh r2, [r3]
+ ldr r0, _0803BE2C @ =0x00003FFF
+ cmp r2, r0
+ bhi _0803BE34
+ movs r0, #0xe8
+ lsls r0, r0, #8
+ strh r0, [r3]
+ ldr r4, _0803BE30 @ =0x0000047D
+ adds r1, r1, r4
+ b _0803BEB6
+ .align 2, 0
+_0803BDF8: .4byte 0x000003DD
+_0803BDFC: .4byte 0x000003E1
+_0803BE00: .4byte 0x0000047C
+_0803BE04: .4byte gUnknown_020314E0
+_0803BE08: .4byte 0x000003E2
+_0803BE0C: .4byte 0x02032F20
+_0803BE10: .4byte 0x086A24F0
+_0803BE14: .4byte 0x0000047E
+_0803BE18: .4byte 0x00000482
+_0803BE1C: .4byte gMain
+_0803BE20: .4byte 0x000012C8
+_0803BE24: .4byte 0x0000132C
+_0803BE28: .4byte 0x00000484
+_0803BE2C: .4byte 0x00003FFF
+_0803BE30: .4byte 0x0000047D
+_0803BE34:
+ ldr r0, _0803BE50 @ =0x000097FF
+ cmp r2, r0
+ bhi _0803BE5C
+ adds r0, #1
+ strh r0, [r3]
+ ldr r2, _0803BE54 @ =0x0000047D
+ adds r0, r1, r2
+ movs r3, #1
+ strb r3, [r0]
+ ldr r0, [r5]
+ add r0, r8
+ ldr r1, _0803BE58 @ =0x00000424
+ b _0803BEC0
+ .align 2, 0
+_0803BE50: .4byte 0x000097FF
+_0803BE54: .4byte 0x0000047D
+_0803BE58: .4byte 0x00000424
+_0803BE5C:
+ ldr r0, _0803BE74 @ =0x0000AFFF
+ cmp r2, r0
+ bhi _0803BE80
+ ldr r4, _0803BE78 @ =0x0000047D
+ adds r0, r1, r4
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r5]
+ add r0, r8
+ ldr r1, _0803BE7C @ =0x00000424
+ b _0803BEC0
+ .align 2, 0
+_0803BE74: .4byte 0x0000AFFF
+_0803BE78: .4byte 0x0000047D
+_0803BE7C: .4byte 0x00000424
+_0803BE80:
+ ldr r0, _0803BE90 @ =0x0000CFFF
+ cmp r2, r0
+ bhi _0803BE98
+ ldr r2, _0803BE94 @ =0x0000047D
+ adds r0, r1, r2
+ mov r3, sb
+ strb r3, [r0]
+ b _0803BEC2
+ .align 2, 0
+_0803BE90: .4byte 0x0000CFFF
+_0803BE94: .4byte 0x0000047D
+_0803BE98:
+ ldr r0, _0803BEA4 @ =0x0000E7FF
+ cmp r2, r0
+ bhi _0803BEAC
+ ldr r4, _0803BEA8 @ =0x0000047D
+ adds r1, r1, r4
+ b _0803BEB6
+ .align 2, 0
+_0803BEA4: .4byte 0x0000E7FF
+_0803BEA8: .4byte 0x0000047D
+_0803BEAC:
+ movs r0, #0xe8
+ lsls r0, r0, #8
+ strh r0, [r3]
+ ldr r0, _0803BEE8 @ =0x0000047D
+ adds r1, r1, r0
+_0803BEB6:
+ movs r0, #2
+ strb r0, [r1]
+ ldr r0, [r5]
+ add r0, r8
+ ldr r1, _0803BEEC @ =0x0000053C
+_0803BEC0:
+ strh r1, [r0]
+_0803BEC2:
+ ldr r0, _0803BEF0 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r1, _0803BEF4 @ =0x000003E2
+ adds r3, r2, r1
+ ldr r4, _0803BEE8 @ =0x0000047D
+ adds r0, r2, r4
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ ldrh r1, [r3]
+ adds r0, r0, r1
+ strh r0, [r3]
+ movs r3, #0xe2
+ lsls r3, r3, #2
+ adds r2, r2, r3
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ b _0803C476
+ .align 2, 0
+_0803BEE8: .4byte 0x0000047D
+_0803BEEC: .4byte 0x0000053C
+_0803BEF0: .4byte gUnknown_020314E0
+_0803BEF4: .4byte 0x000003E2
+_0803BEF8:
+ ldr r0, _0803BF48 @ =0x086AF140
+ mov r4, r8
+ ldr r5, [r4]
+ ldr r1, _0803BF4C @ =0x000003E2
+ adds r4, r5, r1
+ movs r2, #0
+ ldrsh r1, [r4, r2]
+ lsls r1, r1, #2
+ adds r0, #2
+ adds r1, r1, r0
+ movs r3, #0xf9
+ lsls r3, r3, #2
+ adds r2, r5, r3
+ ldrh r3, [r2]
+ ldrh r0, [r1]
+ cmp r0, r3
+ bls _0803BF1C
+ b _0803C28E
+_0803BF1C:
+ movs r3, #0
+ strh r3, [r2]
+ ldrh r0, [r4]
+ adds r0, #1
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x38
+ bne _0803BF76
+ ldr r0, _0803BF50 @ =0x000003E1
+ adds r1, r5, r0
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #5
+ bgt _0803BF54
+ movs r0, #0x36
+ strh r0, [r4]
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ b _0803BF76
+ .align 2, 0
+_0803BF48: .4byte 0x086AF140
+_0803BF4C: .4byte 0x000003E2
+_0803BF50: .4byte 0x000003E1
+_0803BF54:
+ strh r3, [r4]
+ movs r2, #0xf7
+ lsls r2, r2, #2
+ adds r1, r5, r2
+ movs r0, #2
+ strb r0, [r1]
+ mov r3, r8
+ ldr r0, [r3]
+ ldr r4, _0803BFB0 @ =0x000003DD
+ adds r0, r0, r4
+ movs r1, #3
+ strb r1, [r0]
+ ldr r0, [r3]
+ ldr r1, _0803BFB4 @ =0x000003E1
+ adds r0, r0, r1
+ movs r1, #6
+ strb r1, [r0]
+_0803BF76:
+ ldr r0, _0803BFB8 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r3, _0803BFBC @ =0x000003E2
+ adds r0, r2, r3
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ cmp r0, #0x32
+ beq _0803BF88
+ b _0803C476
+_0803BF88:
+ movs r1, #0xf9
+ lsls r1, r1, #2
+ adds r0, r2, r1
+ ldrh r3, [r0]
+ cmp r3, #0
+ beq _0803BF96
+ b _0803C476
+_0803BF96:
+ ldr r0, _0803BFC0 @ =gMain
+ ldr r4, _0803BFC4 @ =0x00001888
+ adds r0, r0, r4
+ movs r1, #1
+ strh r1, [r0]
+ ldr r1, _0803BFC8 @ =0x00000456
+ adds r0, r2, r1
+ strh r3, [r0]
+ ldr r0, _0803BFCC @ =0x02032F20
+ ldr r1, _0803BFD0 @ =0x086A2548
+ bl MPlayStart
+ b _0803C476
+ .align 2, 0
+_0803BFB0: .4byte 0x000003DD
+_0803BFB4: .4byte 0x000003E1
+_0803BFB8: .4byte gUnknown_020314E0
+_0803BFBC: .4byte 0x000003E2
+_0803BFC0: .4byte gMain
+_0803BFC4: .4byte 0x00001888
+_0803BFC8: .4byte 0x00000456
+_0803BFCC: .4byte 0x02032F20
+_0803BFD0: .4byte 0x086A2548
+_0803BFD4:
+ ldr r1, _0803BFFC @ =0x086AF140
+ ldr r5, _0803C000 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ ldr r6, _0803C004 @ =0x000003E2
+ adds r2, r4, r6
+ movs r3, #0
+ ldrsh r0, [r2, r3]
+ lsls r0, r0, #2
+ adds r1, #2
+ adds r0, r0, r1
+ movs r7, #0xf9
+ lsls r7, r7, #2
+ adds r1, r4, r7
+ ldrh r3, [r1]
+ ldrh r0, [r0]
+ cmp r0, r3
+ bls _0803C008
+ adds r0, r3, #1
+ b _0803C474
+ .align 2, 0
+_0803BFFC: .4byte 0x086AF140
+_0803C000: .4byte gUnknown_020314E0
+_0803C004: .4byte 0x000003E2
+_0803C008:
+ movs r3, #0
+ strh r3, [r1]
+ ldrh r0, [r2]
+ adds r0, #1
+ strh r0, [r2]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x4a
+ bne _0803C03A
+ strh r3, [r2]
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r4, r0
+ movs r0, #2
+ strb r0, [r1]
+ ldr r0, [r5]
+ ldr r1, _0803C084 @ =0x000003DD
+ adds r0, r0, r1
+ movs r1, #3
+ strb r1, [r0]
+ ldr r0, [r5]
+ ldr r2, _0803C088 @ =0x000003E1
+ adds r0, r0, r2
+ movs r1, #8
+ strb r1, [r0]
+_0803C03A:
+ ldr r1, [r5]
+ adds r0, r1, r6
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ cmp r0, #0x47
+ beq _0803C048
+ b _0803C476
+_0803C048:
+ adds r0, r1, r7
+ ldrh r0, [r0]
+ cmp r0, #0
+ beq _0803C052
+ b _0803C476
+_0803C052:
+ ldr r4, _0803C08C @ =0x00000129
+ adds r1, r1, r4
+ movs r0, #0
+ strb r0, [r1]
+ ldr r0, [r5]
+ movs r1, #0x94
+ lsls r1, r1, #1
+ adds r0, r0, r1
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r5]
+ movs r2, #0x99
+ lsls r2, r2, #3
+ adds r0, r0, r2
+ movs r1, #0x3c
+ strb r1, [r0]
+ movs r0, #0xd
+ bl sub_11B0
+ ldr r0, _0803C090 @ =0x02032F20
+ ldr r1, _0803C094 @ =0x086A2454
+ bl MPlayStart
+ b _0803C476
+ .align 2, 0
+_0803C084: .4byte 0x000003DD
+_0803C088: .4byte 0x000003E1
+_0803C08C: .4byte 0x00000129
+_0803C090: .4byte 0x02032F20
+_0803C094: .4byte 0x086A2454
+_0803C098:
+ mov r3, r8
+ ldr r0, [r3]
+ movs r4, #0xa5
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ movs r5, #0
+ movs r1, #3
+ strb r1, [r0]
+ ldr r4, [r3]
+ ldr r1, _0803C118 @ =0x00000283
+ adds r0, r4, r1
+ ldrb r0, [r0]
+ movs r1, #5
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ cmp r0, #3
+ bne _0803C134
+ movs r2, #0xf7
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ movs r0, #9
+ strb r0, [r1]
+ mov r3, r8
+ ldr r0, [r3]
+ ldr r4, _0803C11C @ =0x000003E2
+ adds r0, r0, r4
+ movs r4, #0
+ strh r5, [r0]
+ ldr r3, _0803C120 @ =gMain
+ ldr r1, _0803C124 @ =0x00000A28
+ adds r0, r3, r1
+ movs r1, #1
+ strh r1, [r0]
+ movs r2, #0x97
+ lsls r2, r2, #4
+ adds r0, r3, r2
+ strh r1, [r0]
+ mov r0, r8
+ ldr r1, [r0]
+ movs r0, #0xb3
+ lsls r0, r0, #3
+ adds r2, r1, r0
+ movs r0, #0xc6
+ strh r0, [r2]
+ ldr r2, _0803C128 @ =0x0000038E
+ adds r0, r1, r2
+ strh r5, [r0]
+ movs r0, #0xb5
+ lsls r0, r0, #3
+ adds r1, r1, r0
+ strb r4, [r1]
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r2, _0803C12C @ =0x000005A6
+ adds r1, r0, r2
+ strh r5, [r1]
+ ldr r4, _0803C130 @ =0x000005A4
+ adds r0, r0, r4
+ movs r1, #2
+ strb r1, [r0]
+ b _0803C172
+ .align 2, 0
+_0803C118: .4byte 0x00000283
+_0803C11C: .4byte 0x000003E2
+_0803C120: .4byte gMain
+_0803C124: .4byte 0x00000A28
+_0803C128: .4byte 0x0000038E
+_0803C12C: .4byte 0x000005A6
+_0803C130: .4byte 0x000005A4
+_0803C134:
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r4, r0
+ movs r0, #7
+ strb r0, [r1]
+ mov r2, r8
+ ldr r1, [r2]
+ ldr r3, _0803C19C @ =0x000003E2
+ adds r2, r1, r3
+ movs r3, #0
+ movs r0, #0x20
+ strh r0, [r2]
+ ldr r4, _0803C1A0 @ =0x00000387
+ adds r1, r1, r4
+ strb r3, [r1]
+ ldr r2, _0803C1A4 @ =gMain
+ movs r0, #0x80
+ strb r0, [r2, #0xf]
+ mov r1, r8
+ ldr r0, [r1]
+ movs r3, #0xe2
+ lsls r3, r3, #2
+ adds r0, r0, r3
+ movs r1, #2
+ strb r1, [r0]
+ mov r4, r8
+ ldr r0, [r4]
+ ldr r1, _0803C1A8 @ =0x00000392
+ adds r0, r0, r1
+ strh r5, [r0]
+ adds r3, r2, #0
+_0803C172:
+ ldr r2, _0803C1AC @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r4, _0803C1B0 @ =0x000003E1
+ adds r0, r0, r4
+ movs r1, #0
+ strb r1, [r0]
+ ldr r2, [r2]
+ adds r4, #3
+ adds r0, r2, r4
+ strh r1, [r0]
+ ldr r1, _0803C1B4 @ =0x00001438
+ adds r0, r3, r1
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _0803C192
+ b _0803C476
+_0803C192:
+ ldr r3, _0803C1B8 @ =0x00000486
+ adds r1, r2, r3
+ movs r0, #1
+ b _0803C474
+ .align 2, 0
+_0803C19C: .4byte 0x000003E2
+_0803C1A0: .4byte 0x00000387
+_0803C1A4: .4byte gMain
+_0803C1A8: .4byte 0x00000392
+_0803C1AC: .4byte gUnknown_020314E0
+_0803C1B0: .4byte 0x000003E1
+_0803C1B4: .4byte 0x00001438
+_0803C1B8: .4byte 0x00000486
+_0803C1BC:
+ ldr r0, _0803C1E4 @ =0x086AF140
+ mov r4, r8
+ ldr r5, [r4]
+ ldr r1, _0803C1E8 @ =0x000003E2
+ adds r4, r5, r1
+ movs r2, #0
+ ldrsh r1, [r4, r2]
+ lsls r1, r1, #2
+ adds r0, #2
+ adds r1, r1, r0
+ movs r3, #0xf9
+ lsls r3, r3, #2
+ adds r2, r5, r3
+ ldrh r3, [r2]
+ ldrh r0, [r1]
+ cmp r0, r3
+ bls _0803C1EC
+ adds r0, r3, #1
+ strh r0, [r2]
+ b _0803C236
+ .align 2, 0
+_0803C1E4: .4byte 0x086AF140
+_0803C1E8: .4byte 0x000003E2
+_0803C1EC:
+ movs r0, #0
+ strh r0, [r2]
+ ldrh r0, [r4]
+ adds r0, #1
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x24
+ bne _0803C236
+ ldr r0, _0803C218 @ =0x000003E1
+ adds r1, r5, r0
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0x11
+ bgt _0803C21C
+ movs r0, #0x22
+ strh r0, [r4]
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ b _0803C236
+ .align 2, 0
+_0803C218: .4byte 0x000003E1
+_0803C21C:
+ movs r0, #2
+ strh r0, [r4]
+ movs r2, #0xf7
+ lsls r2, r2, #2
+ adds r1, r5, r2
+ movs r0, #8
+ strb r0, [r1]
+ mov r3, r8
+ ldr r0, [r3]
+ ldr r4, _0803C260 @ =0x000003E1
+ adds r0, r0, r4
+ movs r1, #0
+ strb r1, [r0]
+_0803C236:
+ ldr r0, _0803C264 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r2, _0803C268 @ =0x000003E2
+ adds r0, r1, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ cmp r0, #0x21
+ beq _0803C248
+ b _0803C476
+_0803C248:
+ movs r4, #0xf9
+ lsls r4, r4, #2
+ adds r0, r1, r4
+ ldrh r0, [r0]
+ cmp r0, #0
+ beq _0803C256
+ b _0803C476
+_0803C256:
+ movs r0, #0xe4
+ lsls r0, r0, #2
+ adds r1, r1, r0
+ movs r0, #0x29
+ b _0803C474
+ .align 2, 0
+_0803C260: .4byte 0x000003E1
+_0803C264: .4byte gUnknown_020314E0
+_0803C268: .4byte 0x000003E2
+_0803C26C:
+ ldr r0, _0803C294 @ =0x086AF140
+ mov r1, r8
+ ldr r5, [r1]
+ ldr r2, _0803C298 @ =0x000003E2
+ adds r4, r5, r2
+ movs r3, #0
+ ldrsh r1, [r4, r3]
+ lsls r1, r1, #2
+ adds r0, #2
+ adds r1, r1, r0
+ movs r0, #0xf9
+ lsls r0, r0, #2
+ adds r2, r5, r0
+ ldrh r3, [r2]
+ ldrh r0, [r1]
+ cmp r0, r3
+ bls _0803C29C
+_0803C28E:
+ adds r0, r3, #1
+ strh r0, [r2]
+ b _0803C476
+ .align 2, 0
+_0803C294: .4byte 0x086AF140
+_0803C298: .4byte 0x000003E2
+_0803C29C:
+ movs r3, #0
+ strh r3, [r2]
+ ldrh r0, [r4]
+ adds r0, #1
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x14
+ bne _0803C2E8
+ ldr r2, _0803C2C8 @ =0x000003E1
+ adds r1, r5, r2
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #6
+ bgt _0803C2CC
+ movs r0, #3
+ strh r0, [r4]
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ b _0803C2E8
+ .align 2, 0
+_0803C2C8: .4byte 0x000003E1
+_0803C2CC:
+ movs r0, #3
+ strh r0, [r4]
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r1, r5, r4
+ movs r0, #0xa
+ strb r0, [r1]
+ mov r0, r8
+ ldr r1, [r0]
+ movs r0, #2
+ strb r0, [r1, #0x13]
+ mov r1, r8
+ ldr r0, [r1]
+ strh r3, [r0, #0x18]
+_0803C2E8:
+ mov r2, r8
+ ldr r1, [r2]
+ ldr r3, _0803C3A8 @ =0x000003E2
+ adds r0, r1, r3
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ cmp r0, #3
+ beq _0803C2FC
+ cmp r0, #0xc
+ bne _0803C306
+_0803C2FC:
+ ldr r0, _0803C3AC @ =0x000003EA
+ adds r1, r1, r0
+ ldrh r0, [r1]
+ subs r0, #0xa
+ strh r0, [r1]
+_0803C306:
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r2, _0803C3A8 @ =0x000003E2
+ adds r0, r0, r2
+ ldrh r1, [r0]
+ subs r0, r1, #4
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #1
+ bls _0803C326
+ lsls r0, r1, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xd
+ beq _0803C326
+ cmp r0, #0xe
+ bne _0803C334
+_0803C326:
+ mov r3, r8
+ ldr r1, [r3]
+ ldr r4, _0803C3AC @ =0x000003EA
+ adds r1, r1, r4
+ ldrh r0, [r1]
+ subs r0, #0x14
+ strh r0, [r1]
+_0803C334:
+ ldr r0, _0803C3B0 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r1, _0803C3A8 @ =0x000003E2
+ adds r0, r2, r1
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ cmp r0, #5
+ bne _0803C36C
+ movs r4, #0xf9
+ lsls r4, r4, #2
+ adds r0, r2, r4
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _0803C36C
+ ldr r0, _0803C3B4 @ =0x000004CA
+ adds r1, r2, r0
+ movs r0, #0x1f
+ strh r0, [r1]
+ ldr r3, _0803C3B8 @ =0x000004C9
+ adds r1, r2, r3
+ movs r0, #6
+ strb r0, [r1]
+ ldr r0, _0803C3BC @ =0x00000119
+ bl m4aSongNumStart
+ movs r0, #8
+ bl sub_11B0
+_0803C36C:
+ ldr r0, _0803C3B0 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r4, _0803C3A8 @ =0x000003E2
+ adds r0, r2, r4
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xe
+ beq _0803C37E
+ b _0803C476
+_0803C37E:
+ movs r3, #0xf9
+ lsls r3, r3, #2
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _0803C476
+ adds r4, #0xe8
+ adds r1, r2, r4
+ movs r0, #0x1f
+ strh r0, [r1]
+ ldr r0, _0803C3B8 @ =0x000004C9
+ adds r1, r2, r0
+ movs r0, #5
+ strb r0, [r1]
+ ldr r0, _0803C3BC @ =0x00000119
+ bl m4aSongNumStart
+ movs r0, #8
+ bl sub_11B0
+ b _0803C476
+ .align 2, 0
+_0803C3A8: .4byte 0x000003E2
+_0803C3AC: .4byte 0x000003EA
+_0803C3B0: .4byte gUnknown_020314E0
+_0803C3B4: .4byte 0x000004CA
+_0803C3B8: .4byte 0x000004C9
+_0803C3BC: .4byte 0x00000119
+_0803C3C0:
+ ldr r1, _0803C3E8 @ =0x086AF140
+ mov r3, r8
+ ldr r2, [r3]
+ ldr r4, _0803C3EC @ =0x000003E2
+ adds r3, r2, r4
+ movs r4, #0
+ ldrsh r0, [r3, r4]
+ lsls r0, r0, #2
+ adds r1, #2
+ adds r0, r0, r1
+ movs r1, #0xf9
+ lsls r1, r1, #2
+ adds r2, r2, r1
+ ldrh r1, [r2]
+ ldrh r0, [r0]
+ cmp r0, r1
+ bls _0803C3F0
+ adds r0, r1, #1
+ strh r0, [r2]
+ b _0803C404
+ .align 2, 0
+_0803C3E8: .4byte 0x086AF140
+_0803C3EC: .4byte 0x000003E2
+_0803C3F0:
+ movs r1, #0
+ strh r1, [r2]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #2
+ bne _0803C404
+ strh r1, [r3]
+_0803C404:
+ mov r2, r8
+ ldr r6, [r2]
+ ldr r3, _0803C4BC @ =0x0000038E
+ adds r4, r6, r3
+ ldrh r5, [r4]
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ ldr r1, _0803C4C0 @ =0xFFFFFE0C
+ cmp r0, r1
+ ble _0803C444
+ subs r0, r1, r0
+ movs r1, #0x1e
+ bl __divsi3
+ adds r0, r5, r0
+ strh r0, [r4]
+ movs r3, #0
+ ldrsh r0, [r4, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r2, r6, #0
+ adds r2, #0xe6
+ strh r0, [r2]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #0x26
+ rsbs r1, r1, #0
+ cmp r0, r1
+ bge _0803C444
+ ldr r0, _0803C4C4 @ =0x0000FFDA
+ strh r0, [r2]
+_0803C444:
+ ldr r3, _0803C4C8 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ movs r2, #0xb5
+ lsls r2, r2, #3
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x15
+ bne _0803C460
+ ldr r4, _0803C4CC @ =0x000003E2
+ adds r1, r1, r4
+ movs r0, #0x4a
+ strh r0, [r1]
+_0803C460:
+ ldr r1, [r3]
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x16
+ bne _0803C476
+ ldr r0, _0803C4CC @ =0x000003E2
+ adds r1, r1, r0
+ movs r0, #0x4b
+_0803C474:
+ strh r0, [r1]
+_0803C476:
+ ldr r0, _0803C4C8 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r2, #0x99
+ lsls r2, r2, #3
+ adds r3, r1, r2
+ ldrb r4, [r3]
+ movs r1, #0
+ ldrsb r1, [r3, r1]
+ mov r8, r0
+ cmp r1, #0
+ bgt _0803C48E
+ b _0803C5BC
+_0803C48E:
+ subs r0, r4, #1
+ strb r0, [r3]
+ mov r3, r8
+ ldr r5, [r3]
+ adds r1, r5, r2
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0x13
+ bgt _0803C4D4
+ ldr r4, _0803C4D0 @ =0x086AEF28
+ movs r1, #0xc
+ bl __modsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x17
+ adds r0, r0, r4
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ lsls r0, r0, #1
+ movs r2, #0xab
+ lsls r2, r2, #2
+ adds r1, r5, r2
+ b _0803C4F2
+ .align 2, 0
+_0803C4BC: .4byte 0x0000038E
+_0803C4C0: .4byte 0xFFFFFE0C
+_0803C4C4: .4byte 0x0000FFDA
+_0803C4C8: .4byte gUnknown_020314E0
+_0803C4CC: .4byte 0x000003E2
+_0803C4D0: .4byte 0x086AEF28
+_0803C4D4:
+ ldr r4, _0803C600 @ =0x086AEF28
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ movs r1, #0xc
+ bl __modsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x17
+ adds r0, r0, r4
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ lsls r0, r0, #2
+ movs r4, #0xab
+ lsls r4, r4, #2
+ adds r1, r5, r4
+_0803C4F2:
+ strh r0, [r1]
+ mov r0, r8
+ ldr r2, [r0]
+ movs r5, #0x99
+ lsls r5, r5, #3
+ adds r0, r2, r5
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ cmp r1, #0
+ bne _0803C50E
+ movs r3, #0xab
+ lsls r3, r3, #2
+ adds r0, r2, r3
+ strh r1, [r0]
+_0803C50E:
+ mov r0, r8
+ ldr r4, [r0]
+ adds r0, r4, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #8
+ bne _0803C548
+ movs r3, #0
+ ldr r0, _0803C604 @ =gMain
+ movs r2, #0
+ movs r1, #0xdc
+ lsls r1, r1, #4
+ adds r0, r0, r1
+ movs r1, #1
+ strh r1, [r0]
+ ldr r1, _0803C608 @ =0x000004CF
+ adds r0, r4, r1
+ strb r2, [r0]
+ mov r4, r8
+ ldr r0, [r4]
+ adds r1, #3
+ adds r0, r0, r1
+ strb r2, [r0]
+ ldr r0, [r4]
+ movs r2, #0x9b
+ lsls r2, r2, #3
+ adds r0, r0, r2
+ strh r3, [r0]
+_0803C548:
+ mov r3, r8
+ ldr r4, [r3]
+ adds r0, r4, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x14
+ bne _0803C582
+ movs r3, #1
+ ldr r0, _0803C604 @ =gMain
+ ldr r1, _0803C60C @ =0x00000E78
+ adds r0, r0, r1
+ movs r1, #0
+ movs r2, #0
+ strh r3, [r0]
+ movs r3, #0x9a
+ lsls r3, r3, #3
+ adds r0, r4, r3
+ strb r1, [r0]
+ mov r4, r8
+ ldr r0, [r4]
+ ldr r1, _0803C610 @ =0x000004D3
+ adds r0, r0, r1
+ movs r1, #0xd
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r3, #0xa
+ adds r0, r0, r3
+ strh r2, [r0]
+_0803C582:
+ mov r0, r8
+ ldr r4, [r0]
+ adds r0, r4, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x35
+ bne _0803C5BC
+ ldr r1, _0803C604 @ =gMain
+ movs r2, #0xf3
+ lsls r2, r2, #4
+ adds r1, r1, r2
+ movs r2, #0
+ movs r3, #0
+ movs r0, #1
+ strh r0, [r1]
+ ldr r1, _0803C614 @ =0x000004D1
+ adds r0, r4, r1
+ strb r2, [r0]
+ mov r2, r8
+ ldr r0, [r2]
+ ldr r4, _0803C618 @ =0x000004D4
+ adds r0, r0, r4
+ movs r1, #0x16
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r1, _0803C61C @ =0x000004DC
+ adds r0, r0, r1
+ strh r3, [r0]
+_0803C5BC:
+ mov r2, r8
+ ldr r5, [r2]
+ ldr r3, _0803C620 @ =0x000004CA
+ adds r1, r5, r3
+ ldrh r0, [r1]
+ cmp r0, #0
+ beq _0803C662
+ subs r0, #1
+ strh r0, [r1]
+ ldr r4, _0803C624 @ =0x000004C9
+ adds r6, r5, r4
+ ldrb r0, [r6]
+ cmp r0, #5
+ bhi _0803C62C
+ ldr r4, _0803C628 @ =0x086AEF40
+ ldrh r0, [r1]
+ movs r1, #0x1f
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #0x1e
+ subs r1, r1, r0
+ ldrb r2, [r6]
+ lsls r0, r2, #5
+ subs r0, r0, r2
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r0, r0, r4
+ ldrh r1, [r0]
+ movs r2, #0xab
+ lsls r2, r2, #2
+ adds r0, r5, r2
+ b _0803C64A
+ .align 2, 0
+_0803C600: .4byte 0x086AEF28
+_0803C604: .4byte gMain
+_0803C608: .4byte 0x000004CF
+_0803C60C: .4byte 0x00000E78
+_0803C610: .4byte 0x000004D3
+_0803C614: .4byte 0x000004D1
+_0803C618: .4byte 0x000004D4
+_0803C61C: .4byte 0x000004DC
+_0803C620: .4byte 0x000004CA
+_0803C624: .4byte 0x000004C9
+_0803C628: .4byte 0x086AEF40
+_0803C62C:
+ ldr r4, _0803C6C4 @ =0x086AF0B4
+ ldrh r0, [r1]
+ movs r1, #0x46
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #0x45
+ subs r1, r1, r0
+ lsls r1, r1, #1
+ adds r1, r1, r4
+ ldrh r1, [r1]
+ movs r3, #0xab
+ lsls r3, r3, #2
+ adds r0, r5, r3
+_0803C64A:
+ strh r1, [r0]
+ mov r4, r8
+ ldr r2, [r4]
+ ldr r1, _0803C6C8 @ =0x000004CA
+ adds r0, r2, r1
+ ldrh r1, [r0]
+ cmp r1, #0
+ bne _0803C662
+ movs r3, #0xab
+ lsls r3, r3, #2
+ adds r0, r2, r3
+ strh r1, [r0]
+_0803C662:
+ mov r4, r8
+ ldr r0, [r4]
+ movs r5, #0xe4
+ lsls r5, r5, #2
+ adds r1, r0, r5
+ ldrh r0, [r1]
+ cmp r0, #0
+ beq _0803C6B6
+ subs r0, #1
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0x14
+ bne _0803C69E
+ ldr r0, _0803C6CC @ =0x086A3700
+ ldr r1, _0803C6D0 @ =0x00001290
+ adds r0, r0, r1
+ ldrh r0, [r0]
+ movs r1, #0
+ bl sub_528DC
+ ldr r1, [r4]
+ ldr r3, _0803C6C8 @ =0x000004CA
+ adds r2, r1, r3
+ movs r0, #0x46
+ strh r0, [r2]
+ ldr r4, _0803C6D4 @ =0x000004C9
+ adds r1, r1, r4
+ movs r0, #6
+ strb r0, [r1]
+_0803C69E:
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, r0, r5
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _0803C6B6
+ ldr r0, _0803C6D8 @ =0x02032EE0
+ ldr r1, _0803C6DC @ =0x0000FFFF
+ movs r2, #0x80
+ lsls r2, r2, #1
+ bl m4aMPlayVolumeControl
+_0803C6B6:
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803C6C4: .4byte 0x086AF0B4
+_0803C6C8: .4byte 0x000004CA
+_0803C6CC: .4byte 0x086A3700
+_0803C6D0: .4byte 0x00001290
+_0803C6D4: .4byte 0x000004C9
+_0803C6D8: .4byte 0x02032EE0
+_0803C6DC: .4byte 0x0000FFFF
+
+ thumb_func_start sub_3C6E0
+sub_3C6E0: @ 0x0803C6E0
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #8
+ ldr r7, _0803C820 @ =0x0200C890
+ ldrh r0, [r7]
+ ldr r1, _0803C824 @ =gUnknown_020314E0
+ mov sl, r1
+ cmp r0, #0
+ bne _0803C6FA
+ b _0803CA2E
+_0803C6FA:
+ ldr r1, _0803C828 @ =0x086AF140
+ mov r2, sl
+ ldr r4, [r2]
+ ldr r3, _0803C82C @ =0x000003E2
+ adds r0, r4, r3
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ lsls r0, r0, #2
+ adds r0, r0, r1
+ ldrh r0, [r0]
+ mov r8, r0
+ movs r6, #0xfa
+ lsls r6, r6, #2
+ adds r0, r4, r6
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x64
+ adds r4, #0x58
+ ldrh r1, [r4]
+ subs r0, r0, r1
+ strh r0, [r7, #2]
+ mov r2, sl
+ ldr r4, [r2]
+ ldr r5, _0803C830 @ =0x000003EA
+ adds r0, r4, r5
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x54
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r0, r0, r1
+ strh r0, [r7, #4]
+ mov r0, sl
+ ldr r4, [r0]
+ adds r6, r4, r6
+ movs r1, #0
+ ldrsh r0, [r6, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x76
+ movs r2, #0xa2
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ strh r0, [r1]
+ adds r5, r4, r5
+ movs r3, #0
+ ldrsh r0, [r5, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x3c
+ ldr r2, _0803C834 @ =0x0000028A
+ adds r1, r4, r2
+ strh r0, [r1]
+ movs r3, #0
+ ldrsh r0, [r6, r3]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0xb8
+ movs r6, #0xfc
+ lsls r6, r6, #2
+ adds r1, r4, r6
+ strh r0, [r1]
+ movs r1, #0
+ ldrsh r0, [r5, r1]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0x9c
+ ldr r2, _0803C838 @ =0x000003F2
+ adds r4, r4, r2
+ strh r0, [r4]
+ movs r3, #4
+ ldrsh r1, [r7, r3]
+ movs r0, #0x3c
+ rsbs r0, r0, #0
+ cmp r1, r0
+ bge _0803C7B2
+ ldr r0, _0803C83C @ =0x0000FFC4
+ strh r0, [r7, #4]
+_0803C7B2:
+ movs r4, #4
+ ldrsh r0, [r7, r4]
+ cmp r0, #0xb4
+ ble _0803C7BE
+ movs r0, #0xb4
+ strh r0, [r7, #4]
+_0803C7BE:
+ mov r6, sl
+ ldr r0, [r6]
+ ldr r1, _0803C840 @ =0x00000389
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #9
+ ble _0803C84C
+ movs r2, #0
+ ldr r4, _0803C844 @ =gOamBuffer
+ ldr r3, _0803C848 @ =0xFFFFFE00
+ mov r8, r3
+ movs r6, #0xb0
+_0803C7DA:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ adds r5, r7, r0
+ ldrh r2, [r5]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ ldrh r1, [r2, #2]
+ mov r0, r8
+ ands r0, r1
+ movs r1, #0xf0
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ adds r0, r0, r4
+ movs r1, #0xb4
+ strb r1, [r0]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r2, [r1, #5]
+ movs r0, #0xf
+ ands r0, r2
+ orrs r0, r6
+ strb r0, [r1, #5]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #0x12
+ ble _0803C7DA
+ b _0803CA2E
+ .align 2, 0
+_0803C820: .4byte 0x0200C890
+_0803C824: .4byte gUnknown_020314E0
+_0803C828: .4byte 0x086AF140
+_0803C82C: .4byte 0x000003E2
+_0803C830: .4byte 0x000003EA
+_0803C834: .4byte 0x0000028A
+_0803C838: .4byte 0x000003F2
+_0803C83C: .4byte 0x0000FFC4
+_0803C840: .4byte 0x00000389
+_0803C844: .4byte gOamBuffer
+_0803C848: .4byte 0xFFFFFE00
+_0803C84C:
+ cmp r0, #1
+ bne _0803C8FC
+ movs r2, #0
+ mov r4, r8
+ lsls r0, r4, #0x10
+ ldr r6, _0803C8EC @ =gOamBuffer
+ asrs r1, r0, #0x10
+ movs r0, #0x72
+ adds r3, r1, #0
+ muls r3, r0, r3
+ mov r8, r3
+ ldr r4, _0803C8F0 @ =0xFFFFFE00
+ mov ip, r4
+ movs r0, #0xe0
+ mov sb, r0
+_0803C86A:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ adds r5, r7, r0
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ adds r2, r0, r6
+ lsls r0, r3, #1
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ ldr r1, _0803C8F4 @ =0x086B65EA
+ adds r0, r0, r1
+ mov r4, r8
+ adds r1, r4, r0
+ ldrh r0, [r1]
+ strh r0, [r2]
+ adds r1, #2
+ adds r2, #2
+ ldrh r0, [r1]
+ strh r0, [r2]
+ ldrh r0, [r1, #2]
+ strh r0, [r2, #2]
+ ldrh r2, [r5]
+ lsls r2, r2, #3
+ adds r2, r2, r6
+ ldrh r0, [r2, #2]
+ lsls r1, r0, #0x17
+ lsrs r1, r1, #0x17
+ str r1, [sp]
+ movs r4, #2
+ ldrsh r1, [r7, r4]
+ ldr r0, [sp]
+ adds r1, r0, r1
+ ldr r4, _0803C8F8 @ =0x000001FF
+ ands r1, r4
+ mov r0, ip
+ ldrh r4, [r2, #2]
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ ldrb r0, [r7, #4]
+ ldrb r2, [r1]
+ adds r0, r0, r2
+ strb r0, [r1]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ ldrb r2, [r1, #5]
+ movs r0, #0xf
+ ands r0, r2
+ mov r4, sb
+ orrs r0, r4
+ strb r0, [r1, #5]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #0x12
+ ble _0803C86A
+ b _0803CA2E
+ .align 2, 0
+_0803C8EC: .4byte gOamBuffer
+_0803C8F0: .4byte 0xFFFFFE00
+_0803C8F4: .4byte 0x086B65EA
+_0803C8F8: .4byte 0x000001FF
+_0803C8FC:
+ cmp r0, #3
+ bne _0803C9AC
+ movs r2, #0
+ mov r6, r8
+ lsls r0, r6, #0x10
+ ldr r6, _0803C99C @ =gOamBuffer
+ asrs r1, r0, #0x10
+ movs r0, #0x72
+ adds r3, r1, #0
+ muls r3, r0, r3
+ mov r8, r3
+ ldr r4, _0803C9A0 @ =0xFFFFFE00
+ mov ip, r4
+ movs r0, #0xb0
+ mov sb, r0
+_0803C91A:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ adds r5, r7, r0
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ adds r2, r0, r6
+ lsls r0, r3, #1
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ ldr r1, _0803C9A4 @ =0x086B65EA
+ adds r0, r0, r1
+ mov r4, r8
+ adds r1, r4, r0
+ ldrh r0, [r1]
+ strh r0, [r2]
+ adds r1, #2
+ adds r2, #2
+ ldrh r0, [r1]
+ strh r0, [r2]
+ ldrh r0, [r1, #2]
+ strh r0, [r2, #2]
+ ldrh r2, [r5]
+ lsls r2, r2, #3
+ adds r2, r2, r6
+ ldrh r0, [r2, #2]
+ lsls r1, r0, #0x17
+ lsrs r1, r1, #0x17
+ str r1, [sp]
+ movs r4, #2
+ ldrsh r1, [r7, r4]
+ ldr r0, [sp]
+ adds r1, r0, r1
+ ldr r4, _0803C9A8 @ =0x000001FF
+ ands r1, r4
+ mov r0, ip
+ ldrh r4, [r2, #2]
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ ldrb r0, [r7, #4]
+ ldrb r2, [r1]
+ adds r0, r0, r2
+ strb r0, [r1]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ ldrb r2, [r1, #5]
+ movs r0, #0xf
+ ands r0, r2
+ mov r4, sb
+ orrs r0, r4
+ strb r0, [r1, #5]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #0x12
+ ble _0803C91A
+ b _0803CA2E
+ .align 2, 0
+_0803C99C: .4byte gOamBuffer
+_0803C9A0: .4byte 0xFFFFFE00
+_0803C9A4: .4byte 0x086B65EA
+_0803C9A8: .4byte 0x000001FF
+_0803C9AC:
+ movs r2, #0
+ mov r6, r8
+ lsls r0, r6, #0x10
+ ldr r1, _0803CB6C @ =gOamBuffer
+ mov sb, r1
+ asrs r1, r0, #0x10
+ movs r0, #0x72
+ adds r3, r1, #0
+ muls r3, r0, r3
+ mov r8, r3
+ ldr r4, _0803CB70 @ =0xFFFFFE00
+ mov ip, r4
+_0803C9C4:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ adds r5, r7, r0
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ mov r6, sb
+ adds r2, r0, r6
+ lsls r0, r3, #1
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ ldr r1, _0803CB74 @ =0x086B65EA
+ adds r0, r0, r1
+ mov r4, r8
+ adds r1, r4, r0
+ ldrh r0, [r1]
+ strh r0, [r2]
+ adds r1, #2
+ adds r2, #2
+ ldrh r0, [r1]
+ strh r0, [r2]
+ ldrh r0, [r1, #2]
+ strh r0, [r2, #2]
+ ldrh r2, [r5]
+ lsls r2, r2, #3
+ add r2, sb
+ ldrh r4, [r2, #2]
+ lsls r1, r4, #0x17
+ lsrs r1, r1, #0x17
+ movs r6, #2
+ ldrsh r0, [r7, r6]
+ adds r1, r1, r0
+ ldr r6, _0803CB78 @ =0x000001FF
+ adds r0, r6, #0
+ ands r1, r0
+ mov r0, ip
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ add r1, sb
+ ldrb r0, [r7, #4]
+ ldrb r2, [r1]
+ adds r0, r0, r2
+ strb r0, [r1]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #0x12
+ ble _0803C9C4
+_0803CA2E:
+ ldr r7, _0803CB7C @ =0x0200C440
+ ldrh r0, [r7]
+ cmp r0, #0
+ bne _0803CA38
+ b _0803CB98
+_0803CA38:
+ mov r3, sl
+ ldr r0, [r3]
+ ldr r4, _0803CB80 @ =0x0000047E
+ adds r1, r0, r4
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ ble _0803CA5E
+ subs r0, r2, #1
+ strb r0, [r1]
+ ldr r0, [r3]
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0803CA5E
+ strh r0, [r7]
+_0803CA5E:
+ mov r6, sl
+ ldr r4, [r6]
+ ldr r1, _0803CB84 @ =0x0000047D
+ adds r0, r4, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #1
+ adds r1, r0, #1
+ ldr r2, _0803CB80 @ =0x0000047E
+ adds r0, r4, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bge _0803CA80
+ adds r0, #3
+_0803CA80:
+ asrs r0, r0, #2
+ subs r0, r1, r0
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ mov r8, r0
+ movs r3, #0xfa
+ lsls r3, r3, #2
+ adds r0, r4, r3
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x64
+ adds r1, r4, #0
+ adds r1, #0x58
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ strh r0, [r7, #2]
+ ldr r1, _0803CB88 @ =0x000003EA
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x54
+ adds r1, r4, #0
+ adds r1, #0x5a
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ strh r0, [r7, #4]
+ movs r2, #0
+ ldr r3, _0803CB8C @ =0x086B6512
+ mov sb, r3
+ mov r4, r8
+ lsls r1, r4, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #3
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ mov r8, r0
+ ldr r6, _0803CB70 @ =0xFFFFFE00
+ mov ip, r6
+_0803CAD8:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ adds r5, r7, r0
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ ldr r1, _0803CB6C @ =gOamBuffer
+ adds r2, r0, r1
+ lsls r0, r3, #1
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ add r0, sb
+ mov r4, r8
+ adds r1, r4, r0
+ ldrh r0, [r1]
+ strh r0, [r2]
+ adds r1, #2
+ adds r2, #2
+ ldrh r0, [r1]
+ strh r0, [r2]
+ ldrh r0, [r1, #2]
+ strh r0, [r2, #2]
+ ldrh r2, [r5]
+ lsls r2, r2, #3
+ ldr r6, _0803CB6C @ =gOamBuffer
+ adds r2, r2, r6
+ ldrh r4, [r2, #2]
+ lsls r1, r4, #0x17
+ lsrs r1, r1, #0x17
+ movs r6, #2
+ ldrsh r0, [r7, r6]
+ adds r1, r1, r0
+ ldr r6, _0803CB78 @ =0x000001FF
+ adds r0, r6, #0
+ ands r1, r0
+ mov r0, ip
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ ldr r0, _0803CB6C @ =gOamBuffer
+ adds r1, r1, r0
+ ldrb r0, [r7, #4]
+ ldrb r2, [r1]
+ adds r0, r0, r2
+ strb r0, [r1]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #5
+ ble _0803CAD8
+ mov r3, sl
+ ldr r0, [r3]
+ ldr r4, _0803CB90 @ =0x000005A4
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ cmp r0, #2
+ bne _0803CBAE
+ ldr r0, _0803CB94 @ =gMain
+ movs r6, #0x9c
+ lsls r6, r6, #5
+ adds r0, r0, r6
+ movs r2, #0
+ movs r1, #0
+ strh r1, [r0]
+ ldr r0, [r3]
+ ldr r1, _0803CB80 @ =0x0000047E
+ adds r0, r0, r1
+ strb r2, [r0]
+ b _0803CBAE
+ .align 2, 0
+_0803CB6C: .4byte gOamBuffer
+_0803CB70: .4byte 0xFFFFFE00
+_0803CB74: .4byte 0x086B65EA
+_0803CB78: .4byte 0x000001FF
+_0803CB7C: .4byte 0x0200C440
+_0803CB80: .4byte 0x0000047E
+_0803CB84: .4byte 0x0000047D
+_0803CB88: .4byte 0x000003EA
+_0803CB8C: .4byte 0x086B6512
+_0803CB90: .4byte 0x000005A4
+_0803CB94: .4byte gMain
+_0803CB98:
+ mov r2, sl
+ ldr r0, [r2]
+ ldr r3, _0803CBC0 @ =0x0000047E
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #8
+ bne _0803CBAE
+ movs r0, #1
+ strh r0, [r7]
+_0803CBAE:
+ add sp, #8
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803CBC0: .4byte 0x0000047E
+
+ thumb_func_start sub_3CBC4
+sub_3CBC4: @ 0x0803CBC4
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #0x1c
+ movs r0, #0
+ mov sl, r0
+ ldr r1, _0803CBFC @ =0x0200BAE8
+ str r1, [sp, #4]
+ ldrh r0, [r1]
+ cmp r0, #0
+ bne _0803CBE0
+ b _0803CD68
+_0803CBE0:
+ ldr r2, _0803CC00 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r3, _0803CC04 @ =0x000006C4
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #3
+ bne _0803CC08
+ movs r0, #0xf0
+ strh r0, [r1, #2]
+ movs r0, #0xb4
+ strh r0, [r1, #4]
+ b _0803CC12
+ .align 2, 0
+_0803CBFC: .4byte 0x0200BAE8
+_0803CC00: .4byte gUnknown_020314E0
+_0803CC04: .4byte 0x000006C4
+_0803CC08:
+ movs r0, #0x60
+ ldr r4, [sp, #4]
+ strh r0, [r4, #2]
+ movs r0, #0x37
+ strh r0, [r4, #4]
+_0803CC12:
+ ldr r5, _0803CD94 @ =gUnknown_020314E0
+ ldr r1, [r5]
+ ldr r6, [sp, #4]
+ ldrh r2, [r6, #2]
+ ldr r7, _0803CD98 @ =0x000006E4
+ adds r0, r1, r7
+ strh r2, [r0]
+ ldrh r0, [r6, #4]
+ ldr r2, _0803CD9C @ =0x000006E6
+ adds r1, r1, r2
+ strh r0, [r1]
+ movs r3, #4
+ ldrsh r0, [r6, r3]
+ cmp r0, #0xc7
+ ble _0803CC34
+ movs r0, #0xc8
+ strh r0, [r6, #4]
+_0803CC34:
+ movs r2, #0
+ ldr r4, _0803CDA0 @ =0x0200BA30
+ mov ip, r4
+ ldr r5, _0803CDA4 @ =gOamBuffer
+ movs r6, #3
+ mov r8, r6
+ movs r7, #0xd
+ rsbs r7, r7, #0
+ mov sb, r7
+_0803CC46:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ ldr r1, [sp, #4]
+ adds r6, r1, r0
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r5
+ ldrb r1, [r2, #5]
+ movs r0, #0xf
+ ands r0, r1
+ movs r1, #0xd0
+ orrs r0, r1
+ strb r0, [r2, #5]
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ ldr r2, _0803CD94 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r7, _0803CDA8 @ =0x000006DB
+ adds r0, r0, r7
+ ldrb r1, [r0]
+ mov r0, r8
+ ands r1, r0
+ lsls r1, r1, #2
+ ldrb r2, [r3, #5]
+ mov r0, sb
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3, #5]
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ movs r2, #2
+ ldrsh r1, [r6, r2]
+ ldr r7, [sp, #4]
+ movs r2, #2
+ ldrsh r0, [r7, r2]
+ adds r1, r1, r0
+ ldr r7, _0803CDAC @ =0x000001FF
+ adds r0, r7, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ ldr r0, _0803CDB0 @ =0xFFFFFE00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldr r2, [sp, #4]
+ ldrb r0, [r2, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #5
+ ble _0803CC46
+ mov r3, ip
+ str r3, [sp, #4]
+ ldr r4, _0803CD94 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r5, _0803CD98 @ =0x000006E4
+ adds r0, r0, r5
+ ldrh r0, [r0]
+ subs r0, #8
+ strh r0, [r3, #2]
+ ldr r0, [r4]
+ ldr r6, _0803CD9C @ =0x000006E6
+ adds r0, r0, r6
+ ldrh r0, [r0]
+ subs r0, #8
+ strh r0, [r3, #4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xc7
+ ble _0803CCEC
+ movs r0, #0xc8
+ strh r0, [r3, #4]
+_0803CCEC:
+ movs r2, #0
+ ldr r5, _0803CDA4 @ =gOamBuffer
+ movs r7, #3
+ mov r8, r7
+ movs r0, #0xd
+ rsbs r0, r0, #0
+ mov sb, r0
+ ldr r1, _0803CDB0 @ =0xFFFFFE00
+ mov ip, r1
+_0803CCFE:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ ldr r2, [sp, #4]
+ adds r6, r2, r0
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ ldr r7, _0803CD94 @ =gUnknown_020314E0
+ ldr r0, [r7]
+ ldr r1, _0803CDA8 @ =0x000006DB
+ adds r0, r0, r1
+ ldrb r1, [r0]
+ mov r2, r8
+ ands r1, r2
+ lsls r1, r1, #2
+ ldrb r2, [r3, #5]
+ mov r0, sb
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3, #5]
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ movs r7, #2
+ ldrsh r1, [r6, r7]
+ ldr r2, [sp, #4]
+ movs r7, #2
+ ldrsh r0, [r2, r7]
+ adds r1, r1, r0
+ ldr r2, _0803CDAC @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldr r3, [sp, #4]
+ ldrb r0, [r3, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #5
+ ble _0803CCFE
+_0803CD68:
+ ldr r4, _0803CDB4 @ =0x0200C4F8
+ str r4, [sp, #4]
+ ldrh r0, [r4]
+ cmp r0, #0
+ bne _0803CD74
+ b _0803CFD4
+_0803CD74:
+ ldr r5, _0803CD94 @ =gUnknown_020314E0
+ ldr r7, [r5]
+ ldr r6, _0803CDB8 @ =0x00000486
+ adds r4, r7, r6
+ ldrh r5, [r4]
+ subs r0, r5, #1
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ asrs r1, r0, #0x10
+ ldr r0, _0803CDBC @ =0x00000257
+ cmp r1, r0
+ ble _0803CDC0
+ movs r7, #0
+ mov sl, r7
+ b _0803CEC2
+ .align 2, 0
+_0803CD94: .4byte gUnknown_020314E0
+_0803CD98: .4byte 0x000006E4
+_0803CD9C: .4byte 0x000006E6
+_0803CDA0: .4byte 0x0200BA30
+_0803CDA4: .4byte gOamBuffer
+_0803CDA8: .4byte 0x000006DB
+_0803CDAC: .4byte 0x000001FF
+_0803CDB0: .4byte 0xFFFFFE00
+_0803CDB4: .4byte 0x0200C4F8
+_0803CDB8: .4byte 0x00000486
+_0803CDBC: .4byte 0x00000257
+_0803CDC0:
+ cmp r1, #5
+ bgt _0803CDC6
+ b _0803CEBE
+_0803CDC6:
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ movs r1, #0xf
+ bl __modsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #5
+ bl __divsi3
+ adds r0, #1
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ mov sl, r0
+ ldr r1, _0803CE04 @ =0x0000047F
+ adds r0, r7, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _0803CE58
+ cmp r0, #7
+ bne _0803CE0C
+ ldr r2, _0803CE08 @ =0x0000132C
+ adds r0, r7, r2
+ ldr r1, [r0]
+ ldr r0, [r1, #0x34]
+ movs r3, #0x80
+ lsls r3, r3, #1
+ adds r0, r0, r3
+ b _0803CE3A
+ .align 2, 0
+_0803CE04: .4byte 0x0000047F
+_0803CE08: .4byte 0x0000132C
+_0803CE0C:
+ cmp r0, #4
+ bne _0803CE28
+ ldr r4, _0803CE20 @ =0x0000132C
+ adds r0, r7, r4
+ ldr r1, [r0]
+ ldr r0, [r1, #0x34]
+ ldr r5, _0803CE24 @ =0xFFFFFE00
+ adds r0, r0, r5
+ b _0803CE3A
+ .align 2, 0
+_0803CE20: .4byte 0x0000132C
+_0803CE24: .4byte 0xFFFFFE00
+_0803CE28:
+ cmp r0, #1
+ bne _0803CE3C
+ ldr r6, _0803CE4C @ =0x0000132C
+ adds r0, r7, r6
+ ldr r1, [r0]
+ ldr r0, [r1, #0x34]
+ movs r7, #0x80
+ lsls r7, r7, #1
+ adds r0, r0, r7
+_0803CE3A:
+ str r0, [r1, #0x34]
+_0803CE3C:
+ ldr r0, _0803CE50 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r0, _0803CE54 @ =0x0000047F
+ adds r1, r1, r0
+ ldrb r0, [r1]
+ subs r0, #1
+ strb r0, [r1]
+ b _0803CE82
+ .align 2, 0
+_0803CE4C: .4byte 0x0000132C
+_0803CE50: .4byte gUnknown_020314E0
+_0803CE54: .4byte 0x0000047F
+_0803CE58:
+ ldrh r0, [r7, #4]
+ cmp r0, #0
+ beq _0803CE82
+ adds r0, r5, #0
+ subs r0, #0x1f
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #4
+ bgt _0803CE70
+ movs r0, #5
+ strh r0, [r4]
+_0803CE70:
+ ldr r2, _0803CEA4 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ adds r0, r0, r1
+ movs r1, #7
+ strb r1, [r0]
+ movs r0, #0x8f
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_0803CE82:
+ ldr r0, _0803CEA4 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ movs r3, #0x90
+ lsls r3, r3, #3
+ adds r1, r2, r3
+ ldrh r7, [r1]
+ cmp r7, #0
+ beq _0803CEB2
+ subs r0, r7, #1
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0x32
+ bls _0803CEA8
+ movs r4, #4
+ mov sl, r4
+ b _0803CEC2
+ .align 2, 0
+_0803CEA4: .4byte gUnknown_020314E0
+_0803CEA8:
+ cmp r0, #0x28
+ bls _0803CEC2
+ movs r5, #5
+ mov sl, r5
+ b _0803CEC2
+_0803CEB2:
+ ldrh r0, [r2, #4]
+ cmp r0, #0
+ beq _0803CEC2
+ movs r0, #0x3c
+ strh r0, [r1]
+ b _0803CEC2
+_0803CEBE:
+ movs r6, #4
+ mov sl, r6
+_0803CEC2:
+ ldr r7, _0803CEF0 @ =gUnknown_020314E0
+ ldr r1, [r7]
+ ldr r2, _0803CEF4 @ =0x00000486
+ adds r0, r1, r2
+ movs r4, #0
+ ldrsh r3, [r0, r4]
+ cmp r3, #0
+ bne _0803CF04
+ ldr r0, _0803CEF8 @ =gMain
+ ldr r5, _0803CEFC @ =0x00001438
+ adds r0, r0, r5
+ movs r2, #0
+ strh r3, [r0]
+ ldr r0, [r7]
+ movs r6, #0x90
+ lsls r6, r6, #3
+ adds r1, r0, r6
+ strh r3, [r1]
+ ldr r7, _0803CF00 @ =0x00000383
+ adds r0, r0, r7
+ strb r2, [r0]
+ b _0803CF22
+ .align 2, 0
+_0803CEF0: .4byte gUnknown_020314E0
+_0803CEF4: .4byte 0x00000486
+_0803CEF8: .4byte gMain
+_0803CEFC: .4byte 0x00001438
+_0803CF00: .4byte 0x00000383
+_0803CF04:
+ ldr r0, _0803D10C @ =0x00000383
+ adds r1, r1, r0
+ movs r2, #0
+ movs r0, #1
+ strb r0, [r1]
+ ldr r1, _0803D110 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r3, _0803D114 @ =0x0000132C
+ adds r0, r0, r3
+ ldr r1, [r0]
+ strh r2, [r1, #0x30]
+ ldr r1, [r0]
+ strh r2, [r1, #0x32]
+ ldr r0, [r0]
+ strh r2, [r0, #6]
+_0803CF22:
+ ldr r4, _0803D110 @ =gUnknown_020314E0
+ ldr r2, [r4]
+ ldr r5, _0803D114 @ =0x0000132C
+ adds r3, r2, r5
+ ldr r0, [r3]
+ adds r1, r2, #0
+ adds r1, #0x58
+ ldrh r0, [r0, #0x10]
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ subs r0, #8
+ ldr r6, [sp, #4]
+ strh r0, [r6, #2]
+ ldr r0, [r3]
+ adds r2, #0x5a
+ ldrh r0, [r0, #0x12]
+ ldrh r1, [r2]
+ subs r0, r0, r1
+ subs r0, #8
+ strh r0, [r6, #4]
+ movs r2, #0
+ mov r7, sl
+ lsls r1, r7, #0x10
+ ldr r0, _0803D118 @ =0x086B63AA
+ mov sb, r0
+ ldr r5, _0803D11C @ =gOamBuffer
+ asrs r1, r1, #0x10
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ mov ip, r0
+ ldr r1, _0803D120 @ =0xFFFFFE00
+ mov r8, r1
+_0803CF64:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ ldr r2, [sp, #4]
+ adds r6, r2, r0
+ ldrh r0, [r6]
+ lsls r0, r0, #3
+ adds r2, r0, r5
+ lsls r0, r3, #1
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ add r0, sb
+ mov r4, ip
+ adds r1, r4, r0
+ ldrh r0, [r1]
+ strh r0, [r2]
+ adds r1, #2
+ adds r2, #2
+ ldrh r0, [r1]
+ strh r0, [r2]
+ ldrh r0, [r1, #2]
+ strh r0, [r2, #2]
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r5
+ ldrh r4, [r2, #2]
+ lsls r1, r4, #0x17
+ lsrs r1, r1, #0x17
+ str r1, [sp, #0x18]
+ ldr r7, [sp, #4]
+ movs r1, #2
+ ldrsh r0, [r7, r1]
+ ldr r7, [sp, #0x18]
+ adds r1, r7, r0
+ ldr r7, _0803D124 @ =0x000001FF
+ adds r0, r7, #0
+ ands r1, r0
+ mov r0, r8
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldr r2, [sp, #4]
+ ldrb r0, [r2, #4]
+ ldrb r4, [r1]
+ adds r0, r0, r4
+ strb r0, [r1]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #1
+ ble _0803CF64
+_0803CFD4:
+ ldr r5, _0803D128 @ =0x0200C388
+ str r5, [sp, #4]
+ ldrh r0, [r5]
+ cmp r0, #0
+ bne _0803CFE0
+ b _0803D2C6
+_0803CFE0:
+ ldr r6, _0803D110 @ =gUnknown_020314E0
+ ldr r5, [r6]
+ movs r7, #0x91
+ lsls r7, r7, #3
+ adds r6, r5, r7
+ movs r1, #0
+ ldrsh r0, [r6, r1]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ ldr r2, _0803D114 @ =0x0000132C
+ adds r2, r2, r5
+ mov sb, r2
+ ldr r4, [r2]
+ movs r3, #0x10
+ ldrsh r1, [r4, r3]
+ subs r1, r0, r1
+ str r1, [sp, #8]
+ ldr r0, _0803D12C @ =0x0000048A
+ adds r7, r5, r0
+ movs r1, #0
+ ldrsh r0, [r7, r1]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r2, #0x12
+ ldrsh r1, [r4, r2]
+ subs r1, r0, r1
+ str r1, [sp, #0xc]
+ ldr r3, [sp, #8]
+ adds r1, r3, #0
+ muls r1, r3, r1
+ ldr r4, [sp, #0xc]
+ adds r0, r4, #0
+ muls r0, r4, r0
+ adds r3, r1, r0
+ ldr r4, _0803D130 @ =0x00000482
+ adds r1, r5, r4
+ ldrh r0, [r1]
+ cmp r0, #0
+ bne _0803D03C
+ b _0803D1E2
+_0803D03C:
+ subs r0, #1
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #9
+ bhi _0803D04A
+ b _0803D150
+_0803D04A:
+ ldrh r1, [r1]
+ movs r0, #7
+ ands r1, r0
+ lsrs r1, r1, #2
+ ldr r6, _0803D134 @ =0x0000047D
+ adds r0, r5, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #1
+ adds r1, r1, r0
+ lsls r1, r1, #0x10
+ lsrs r1, r1, #0x10
+ mov sl, r1
+ cmp r3, #0xf0
+ bgt _0803D0B6
+ movs r7, #0xe2
+ lsls r7, r7, #2
+ adds r0, r5, r7
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0803D0B6
+ ldr r1, _0803D138 @ =0x00000486
+ adds r0, r5, r1
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ ldr r0, _0803D13C @ =0x00000257
+ cmp r1, r0
+ bgt _0803D0B6
+ ldr r0, _0803D140 @ =0x02032F20
+ ldr r1, _0803D144 @ =0x086A26A0
+ bl MPlayStart
+ ldr r3, _0803D110 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ adds r2, r1, r4
+ movs r0, #0xa
+ strh r0, [r2]
+ ldr r4, [sp, #4]
+ movs r5, #0xb8
+ lsls r5, r5, #1
+ adds r2, r4, r5
+ movs r0, #1
+ strh r0, [r2]
+ adds r6, #9
+ adds r1, r1, r6
+ movs r0, #0x99
+ lsls r0, r0, #2
+ strh r0, [r1]
+ movs r0, #9
+ bl sub_11B0
+_0803D0B6:
+ ldr r5, _0803D110 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r7, _0803D148 @ =0x00000484
+ mov r8, r7
+ add r0, r8
+ ldrh r0, [r0]
+ bl sub_C74
+ ldr r4, [r5]
+ movs r1, #0x91
+ lsls r1, r1, #3
+ adds r6, r4, r1
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #0xfa
+ lsls r1, r1, #1
+ bl __divsi3
+ ldrh r1, [r6]
+ adds r1, r1, r0
+ strh r1, [r6]
+ add r4, r8
+ ldrh r0, [r4]
+ bl sub_C24
+ adds r1, r0, #0
+ ldr r4, [r5]
+ ldr r2, _0803D12C @ =0x0000048A
+ adds r4, r4, r2
+ lsls r1, r1, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #2
+ adds r0, r0, r1
+ lsls r0, r0, #3
+ rsbs r0, r0, #0
+ ldr r1, _0803D14C @ =0x00004E20
+ bl __divsi3
+ ldrh r1, [r4]
+ adds r1, r1, r0
+ strh r1, [r4]
+ b _0803D1CC
+ .align 2, 0
+_0803D10C: .4byte 0x00000383
+_0803D110: .4byte gUnknown_020314E0
+_0803D114: .4byte 0x0000132C
+_0803D118: .4byte 0x086B63AA
+_0803D11C: .4byte gOamBuffer
+_0803D120: .4byte 0xFFFFFE00
+_0803D124: .4byte 0x000001FF
+_0803D128: .4byte 0x0200C388
+_0803D12C: .4byte 0x0000048A
+_0803D130: .4byte 0x00000482
+_0803D134: .4byte 0x0000047D
+_0803D138: .4byte 0x00000486
+_0803D13C: .4byte 0x00000257
+_0803D140: .4byte 0x02032F20
+_0803D144: .4byte 0x086A26A0
+_0803D148: .4byte 0x00000484
+_0803D14C: .4byte 0x00004E20
+_0803D150:
+ ldr r4, _0803D1A0 @ =0x0000047D
+ adds r4, r4, r5
+ mov r8, r4
+ ldrb r4, [r4]
+ lsls r4, r4, #0x18
+ asrs r4, r4, #0x18
+ lsls r4, r4, #1
+ ldrh r5, [r1]
+ adds r0, r5, #0
+ movs r1, #5
+ str r3, [sp, #0x14]
+ bl __udivsi3
+ subs r0, #7
+ subs r4, r4, r0
+ lsls r4, r4, #0x10
+ lsrs r4, r4, #0x10
+ mov sl, r4
+ ldr r3, [sp, #0x14]
+ cmp r5, #9
+ bne _0803D1CC
+ cmp r3, #0xf0
+ bgt _0803D1A4
+ mov r5, sb
+ ldr r0, [r5]
+ movs r2, #0x10
+ ldrsh r1, [r0, r2]
+ adds r1, #4
+ lsls r0, r1, #2
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ strh r0, [r6]
+ ldr r0, [r5]
+ movs r3, #0x12
+ ldrsh r1, [r0, r3]
+ adds r1, #0xe
+ lsls r0, r1, #2
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ b _0803D1C2
+ .align 2, 0
+_0803D1A0: .4byte 0x0000047D
+_0803D1A4:
+ mov r4, r8
+ movs r0, #0
+ ldrsb r0, [r4, r0]
+ cmp r0, #0
+ beq _0803D1BE
+ cmp r0, #1
+ bne _0803D1B8
+ ldrh r0, [r6]
+ subs r0, #0x78
+ b _0803D1BC
+_0803D1B8:
+ ldrh r0, [r6]
+ adds r0, #0x78
+_0803D1BC:
+ strh r0, [r6]
+_0803D1BE:
+ ldrh r0, [r7]
+ adds r0, #0xf0
+_0803D1C2:
+ strh r0, [r7]
+ movs r0, #0x90
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_0803D1CC:
+ ldr r1, _0803D308 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r5, _0803D30C @ =0x00000482
+ adds r0, r0, r5
+ ldrh r7, [r0]
+ cmp r7, #0
+ bne _0803D1E2
+ ldr r0, _0803D310 @ =gMain
+ ldr r6, _0803D314 @ =0x000012C8
+ adds r0, r0, r6
+ strh r7, [r0]
+_0803D1E2:
+ ldr r7, _0803D308 @ =gUnknown_020314E0
+ ldr r4, [r7]
+ movs r1, #0x91
+ lsls r1, r1, #3
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r1, r4, #0
+ adds r1, #0x58
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ subs r0, #0xc
+ ldr r3, [sp, #4]
+ strh r0, [r3, #2]
+ ldr r5, _0803D318 @ =0x0000048A
+ adds r0, r4, r5
+ movs r6, #0
+ ldrsh r0, [r0, r6]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r0, r0, r1
+ subs r0, #0x16
+ ldr r7, [sp, #4]
+ strh r0, [r7, #4]
+ movs r2, #0
+ mov r0, sl
+ lsls r1, r0, #0x10
+ ldr r3, _0803D31C @ =0x086B63F2
+ mov sb, r3
+ ldr r5, _0803D320 @ =gOamBuffer
+ asrs r1, r1, #0x10
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #3
+ mov sl, r0
+ ldr r4, _0803D324 @ =0xFFFFFE00
+ mov r8, r4
+_0803D238:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ ldr r7, [sp, #4]
+ adds r6, r7, r0
+ ldrh r0, [r6]
+ lsls r0, r0, #3
+ adds r2, r0, r5
+ lsls r0, r3, #1
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ add r0, sb
+ mov r4, sl
+ adds r1, r4, r0
+ ldrh r0, [r1]
+ strh r0, [r2]
+ adds r1, #2
+ adds r2, #2
+ ldrh r0, [r1]
+ strh r0, [r2]
+ ldrh r0, [r1, #2]
+ strh r0, [r2, #2]
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r5
+ ldrh r4, [r2, #2]
+ lsls r1, r4, #0x17
+ lsrs r1, r1, #0x17
+ mov ip, r1
+ movs r1, #2
+ ldrsh r0, [r7, r1]
+ mov r7, ip
+ adds r1, r7, r0
+ ldr r7, _0803D328 @ =0x000001FF
+ adds r0, r7, #0
+ ands r1, r0
+ mov r0, r8
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldr r2, [sp, #4]
+ ldrb r0, [r2, #4]
+ ldrb r4, [r1]
+ adds r0, r0, r4
+ strb r0, [r1]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #3
+ ble _0803D238
+ ldr r5, _0803D308 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r6, _0803D32C @ =0x000005A4
+ adds r0, r0, r6
+ ldrb r0, [r0]
+ cmp r0, #2
+ bne _0803D2C6
+ ldr r0, _0803D310 @ =gMain
+ ldr r7, _0803D314 @ =0x000012C8
+ adds r0, r0, r7
+ movs r1, #0
+ strh r1, [r0]
+ ldr r0, [r5]
+ ldr r2, _0803D30C @ =0x00000482
+ adds r0, r0, r2
+ strh r1, [r0]
+_0803D2C6:
+ movs r3, #0
+ str r3, [sp]
+_0803D2CA:
+ ldr r4, [sp]
+ lsls r2, r4, #0x10
+ asrs r3, r2, #0x10
+ movs r0, #0xb8
+ adds r1, r3, #0
+ muls r1, r0, r1
+ ldr r0, _0803D330 @ =0x0200BE80
+ adds r1, r1, r0
+ str r1, [sp, #4]
+ ldrh r0, [r1]
+ str r2, [sp, #0x10]
+ cmp r0, #0
+ bne _0803D2E8
+ bl _0803DABA
+_0803D2E8:
+ ldr r5, _0803D308 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r6, _0803D334 @ =0x000004CF
+ adds r0, r0, r6
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #5
+ bls _0803D2FE
+ b _0803D982
+_0803D2FE:
+ lsls r0, r0, #2
+ ldr r1, _0803D338 @ =_0803D33C
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803D308: .4byte gUnknown_020314E0
+_0803D30C: .4byte 0x00000482
+_0803D310: .4byte gMain
+_0803D314: .4byte 0x000012C8
+_0803D318: .4byte 0x0000048A
+_0803D31C: .4byte 0x086B63F2
+_0803D320: .4byte gOamBuffer
+_0803D324: .4byte 0xFFFFFE00
+_0803D328: .4byte 0x000001FF
+_0803D32C: .4byte 0x000005A4
+_0803D330: .4byte 0x0200BE80
+_0803D334: .4byte 0x000004CF
+_0803D338: .4byte _0803D33C
+_0803D33C: @ jump table
+ .4byte _0803D354 @ case 0
+ .4byte _0803D4E4 @ case 1
+ .4byte _0803D600 @ case 2
+ .4byte _0803D710 @ case 3
+ .4byte _0803D824 @ case 4
+ .4byte _0803D954 @ case 5
+_0803D354:
+ ldr r6, _0803D4B4 @ =gUnknown_020314E0
+ ldr r1, [r6]
+ ldr r7, [sp, #0x10]
+ asrs r5, r7, #0x10
+ ldr r0, _0803D4B8 @ =0x000004D2
+ adds r1, r1, r0
+ adds r1, r1, r5
+ ldr r2, _0803D4BC @ =0x086AF3AC
+ lsls r0, r5, #1
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ strb r0, [r1]
+ bl Random
+ ldr r4, [r6]
+ lsls r1, r5, #2
+ adds r4, r4, r1
+ movs r1, #0x65
+ bl __umodsi3
+ adds r1, r0, #0
+ lsls r0, r1, #3
+ adds r0, r0, r1
+ lsls r0, r0, #4
+ adds r0, r0, r1
+ movs r1, #0x64
+ bl __udivsi3
+ adds r0, #0x1e
+ lsls r1, r0, #2
+ adds r1, r1, r0
+ lsls r1, r1, #1
+ ldr r2, _0803D4C0 @ =0x000004EC
+ adds r4, r4, r2
+ strh r1, [r4]
+ bl Random
+ ldr r2, [r6]
+ ldr r3, _0803D4C4 @ =0x000004CC
+ adds r2, r2, r3
+ adds r2, r2, r5
+ movs r1, #0xf
+ ands r1, r0
+ strb r1, [r2]
+ ldr r4, [r6]
+ adds r4, r4, r3
+ adds r6, r4, r5
+ adds r5, #1
+ adds r0, r5, #0
+ movs r1, #3
+ bl __modsi3
+ adds r4, r4, r0
+ movs r1, #0
+ ldrsb r1, [r6, r1]
+ movs r0, #0
+ ldrsb r0, [r4, r0]
+ cmp r1, r0
+ bne _0803D3E0
+ adds r2, r1, #0
+ adds r1, r2, #1
+ adds r0, r1, #0
+ cmp r1, #0
+ bge _0803D3D8
+ adds r0, r2, #0
+ adds r0, #0x10
+_0803D3D8:
+ asrs r0, r0, #4
+ lsls r0, r0, #4
+ subs r0, r1, r0
+ strb r0, [r6]
+_0803D3E0:
+ ldr r5, _0803D4B4 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ ldr r3, [sp, #0x10]
+ asrs r0, r3, #0x10
+ ldr r6, _0803D4C4 @ =0x000004CC
+ adds r4, r4, r6
+ adds r7, r4, r0
+ adds r0, #2
+ movs r1, #3
+ bl __modsi3
+ adds r4, r4, r0
+ movs r1, #0
+ ldrsb r1, [r7, r1]
+ movs r0, #0
+ ldrsb r0, [r4, r0]
+ cmp r1, r0
+ bne _0803D41A
+ adds r2, r1, #0
+ adds r1, r2, #1
+ adds r0, r1, #0
+ cmp r1, #0
+ bge _0803D412
+ adds r0, r2, #0
+ adds r0, #0x10
+_0803D412:
+ asrs r0, r0, #4
+ lsls r0, r0, #4
+ subs r0, r1, r0
+ strb r0, [r7]
+_0803D41A:
+ ldr r7, _0803D4B4 @ =gUnknown_020314E0
+ ldr r3, [r7]
+ ldr r0, [sp, #0x10]
+ asrs r0, r0, #0x10
+ mov sb, r0
+ lsls r5, r0, #2
+ adds r6, r3, r5
+ ldr r4, _0803D4C8 @ =0x086AF34C
+ ldr r1, _0803D4C4 @ =0x000004CC
+ adds r2, r3, r1
+ add r2, sb
+ movs r1, #0
+ ldrsb r1, [r2, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r0, r0, r4
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ lsls r1, r0, #2
+ adds r1, r1, r0
+ lsls r1, r1, #1
+ ldr r7, _0803D4C0 @ =0x000004EC
+ adds r0, r6, r7
+ movs r7, #0
+ mov sl, r7
+ movs r7, #0
+ mov r8, r7
+ strh r1, [r0]
+ movs r1, #0
+ ldrsb r1, [r2, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r4, #2
+ adds r0, r0, r4
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ lsls r0, r1, #2
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ ldr r4, _0803D4CC @ =0x000004EE
+ adds r6, r6, r4
+ strh r0, [r6]
+ mov r6, sb
+ lsls r2, r6, #1
+ ldr r7, _0803D4D0 @ =0x000004E4
+ adds r0, r3, r7
+ adds r0, r0, r2
+ ldr r1, _0803D4D4 @ =0x0000FB50
+ strh r1, [r0]
+ ldr r1, _0803D4D8 @ =0x000004DE
+ adds r0, r3, r1
+ adds r0, r0, r2
+ mov r2, r8
+ strh r2, [r0]
+ subs r4, #0x1f
+ adds r3, r3, r4
+ add r3, sb
+ movs r0, #1
+ strb r0, [r3]
+ ldr r6, _0803D4B4 @ =gUnknown_020314E0
+ ldr r1, [r6]
+ adds r5, r1, r5
+ adds r7, #0x14
+ adds r0, r5, r7
+ strh r2, [r0]
+ ldr r0, _0803D4DC @ =0x000004FA
+ adds r5, r5, r0
+ strh r2, [r5]
+ ldr r2, _0803D4E0 @ =0x000004D5
+ adds r1, r1, r2
+ add r1, sb
+ mov r3, sl
+ strb r3, [r1]
+ b _0803D982
+ .align 2, 0
+_0803D4B4: .4byte gUnknown_020314E0
+_0803D4B8: .4byte 0x000004D2
+_0803D4BC: .4byte 0x086AF3AC
+_0803D4C0: .4byte 0x000004EC
+_0803D4C4: .4byte 0x000004CC
+_0803D4C8: .4byte 0x086AF34C
+_0803D4CC: .4byte 0x000004EE
+_0803D4D0: .4byte 0x000004E4
+_0803D4D4: .4byte 0x0000FB50
+_0803D4D8: .4byte 0x000004DE
+_0803D4DC: .4byte 0x000004FA
+_0803D4E0: .4byte 0x000004D5
+_0803D4E4:
+ ldr r4, _0803D568 @ =gUnknown_020314E0
+ ldr r1, [r4]
+ ldr r5, [sp, #0x10]
+ asrs r3, r5, #0xf
+ ldr r5, _0803D56C @ =0x000004E4
+ adds r0, r1, r5
+ adds r2, r0, r3
+ movs r6, #0
+ ldrsh r0, [r2, r6]
+ cmp r0, #0
+ bge _0803D526
+ ldr r7, _0803D570 @ =0x000004DE
+ adds r0, r1, r7
+ adds r0, r0, r3
+ ldrh r1, [r0]
+ adds r1, #3
+ movs r4, #0
+ strh r1, [r0]
+ ldrh r0, [r2]
+ adds r0, r0, r1
+ strh r0, [r2]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ ble _0803D516
+ strh r4, [r2]
+_0803D516:
+ ldr r1, _0803D568 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ adds r0, r0, r5
+ adds r0, r0, r3
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ cmp r0, #0
+ blt _0803D5D0
+_0803D526:
+ ldr r7, _0803D568 @ =gUnknown_020314E0
+ ldr r0, [r7]
+ ldr r3, [sp, #0x10]
+ asrs r5, r3, #0x10
+ lsls r4, r5, #1
+ movs r6, #0x9b
+ lsls r6, r6, #3
+ adds r0, r0, r6
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _0803D54A
+ ldr r0, _0803D574 @ =0x00000121
+ bl m4aSongNumStart
+ movs r0, #7
+ bl sub_11B0
+_0803D54A:
+ ldr r1, [r7]
+ adds r0, r1, r6
+ adds r2, r0, r4
+ ldrh r0, [r2]
+ cmp r0, #4
+ bhi _0803D580
+ ldr r6, _0803D578 @ =0x000004D2
+ adds r0, r1, r6
+ adds r0, r0, r5
+ ldr r1, _0803D57C @ =0x086AF3AC
+ adds r1, r4, r1
+ ldrb r1, [r1]
+ adds r1, #1
+ b _0803D5B8
+ .align 2, 0
+_0803D568: .4byte gUnknown_020314E0
+_0803D56C: .4byte 0x000004E4
+_0803D570: .4byte 0x000004DE
+_0803D574: .4byte 0x00000121
+_0803D578: .4byte 0x000004D2
+_0803D57C: .4byte 0x086AF3AC
+_0803D580:
+ cmp r0, #9
+ bhi _0803D59C
+ ldr r7, _0803D594 @ =0x000004D2
+ adds r0, r1, r7
+ adds r0, r0, r5
+ ldr r1, _0803D598 @ =0x086AF3AC
+ adds r1, r4, r1
+ ldrb r1, [r1]
+ adds r1, #2
+ b _0803D5B8
+ .align 2, 0
+_0803D594: .4byte 0x000004D2
+_0803D598: .4byte 0x086AF3AC
+_0803D59C:
+ movs r0, #0
+ strh r0, [r2]
+ ldr r0, _0803D5EC @ =0x000004D2
+ adds r1, r1, r0
+ adds r1, r1, r5
+ ldr r0, _0803D5F0 @ =0x086AF3AC
+ adds r0, r4, r0
+ ldrh r0, [r0]
+ strb r0, [r1]
+ ldr r0, [r7]
+ ldr r1, _0803D5F4 @ =0x000004CF
+ adds r0, r0, r1
+ adds r0, r0, r5
+ movs r1, #2
+_0803D5B8:
+ strb r1, [r0]
+ ldr r2, _0803D5F8 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldr r3, [sp, #0x10]
+ asrs r0, r3, #0xf
+ movs r4, #0x9b
+ lsls r4, r4, #3
+ adds r1, r1, r4
+ adds r1, r1, r0
+ ldrh r0, [r1]
+ adds r0, #1
+ strh r0, [r1]
+_0803D5D0:
+ ldr r5, _0803D5F8 @ =gUnknown_020314E0
+ ldr r1, [r5]
+ ldr r6, [sp, #0x10]
+ asrs r0, r6, #0xe
+ adds r1, r1, r0
+ movs r7, #0x9f
+ lsls r7, r7, #3
+ adds r0, r1, r7
+ movs r2, #0
+ strh r2, [r0]
+ ldr r0, _0803D5FC @ =0x000004FA
+ adds r1, r1, r0
+ strh r2, [r1]
+ b _0803D982
+ .align 2, 0
+_0803D5EC: .4byte 0x000004D2
+_0803D5F0: .4byte 0x086AF3AC
+_0803D5F4: .4byte 0x000004CF
+_0803D5F8: .4byte gUnknown_020314E0
+_0803D5FC: .4byte 0x000004FA
+_0803D600:
+ ldr r1, _0803D694 @ =gUnknown_020314E0
+ ldr r6, [r1]
+ ldr r2, [sp, #0x10]
+ asrs r5, r2, #0x10
+ lsls r4, r5, #2
+ adds r4, r6, r4
+ ldr r3, _0803D698 @ =0x000004EC
+ adds r0, r4, r3
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #1
+ movs r2, #0x9f
+ lsls r2, r2, #3
+ adds r1, r4, r2
+ movs r3, #0
+ mov sl, r3
+ movs r7, #0
+ mov sb, r7
+ strh r0, [r1]
+ ldr r1, _0803D69C @ =0x000004EE
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #8
+ ldr r3, _0803D6A0 @ =0x000004FA
+ adds r4, r4, r3
+ strh r0, [r4]
+ ldr r4, _0803D6A4 @ =0x000004D5
+ mov r8, r4
+ adds r0, r6, r4
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0803D65A
+ b _0803D982
+_0803D65A:
+ lsls r7, r5, #1
+ adds r4, #3
+ adds r0, r6, r4
+ adds r0, r0, r7
+ ldrh r0, [r0]
+ cmp r0, #1
+ bne _0803D674
+ ldr r0, _0803D6A8 @ =0x00000121
+ bl m4aSongNumStart
+ movs r0, #7
+ bl sub_11B0
+_0803D674:
+ ldr r6, _0803D694 @ =gUnknown_020314E0
+ ldr r1, [r6]
+ adds r0, r1, r4
+ adds r0, r0, r7
+ ldrh r2, [r0]
+ cmp r2, #4
+ bhi _0803D6B4
+ ldr r2, _0803D6AC @ =0x000004D2
+ adds r0, r1, r2
+ adds r0, r0, r5
+ ldr r1, _0803D6B0 @ =0x086AF3AC
+ adds r1, r7, r1
+ ldrb r1, [r1]
+ adds r1, #3
+ strb r1, [r0]
+ b _0803D92E
+ .align 2, 0
+_0803D694: .4byte gUnknown_020314E0
+_0803D698: .4byte 0x000004EC
+_0803D69C: .4byte 0x000004EE
+_0803D6A0: .4byte 0x000004FA
+_0803D6A4: .4byte 0x000004D5
+_0803D6A8: .4byte 0x00000121
+_0803D6AC: .4byte 0x000004D2
+_0803D6B0: .4byte 0x086AF3AC
+_0803D6B4:
+ cmp r2, #9
+ bhi _0803D6D4
+ ldr r3, _0803D6CC @ =0x000004D2
+ adds r0, r1, r3
+ adds r0, r0, r5
+ ldr r1, _0803D6D0 @ =0x086AF3AC
+ adds r1, r7, r1
+ ldrb r1, [r1]
+ adds r1, #4
+ strb r1, [r0]
+ b _0803D92E
+ .align 2, 0
+_0803D6CC: .4byte 0x000004D2
+_0803D6D0: .4byte 0x086AF3AC
+_0803D6D4:
+ mov r4, sb
+ strh r4, [r0]
+ ldr r6, _0803D700 @ =0x000004D2
+ adds r1, r1, r6
+ adds r1, r1, r5
+ ldr r0, _0803D704 @ =0x086AF3AC
+ adds r0, r7, r0
+ ldrb r0, [r0]
+ adds r0, #5
+ strb r0, [r1]
+ ldr r7, _0803D708 @ =gUnknown_020314E0
+ ldr r0, [r7]
+ ldr r1, _0803D70C @ =0x000004CF
+ adds r0, r0, r1
+ adds r0, r0, r5
+ movs r1, #3
+ strb r1, [r0]
+ ldr r0, [r7]
+ add r0, r8
+ adds r0, r0, r5
+ mov r2, sl
+ b _0803D92C
+ .align 2, 0
+_0803D700: .4byte 0x000004D2
+_0803D704: .4byte 0x086AF3AC
+_0803D708: .4byte gUnknown_020314E0
+_0803D70C: .4byte 0x000004CF
+_0803D710:
+ ldr r5, _0803D7A8 @ =gUnknown_020314E0
+ ldr r6, [r5]
+ ldr r7, [sp, #0x10]
+ asrs r5, r7, #0x10
+ lsls r4, r5, #2
+ adds r4, r6, r4
+ ldr r1, _0803D7AC @ =0x000004EC
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #1
+ movs r3, #0x9f
+ lsls r3, r3, #3
+ adds r1, r4, r3
+ movs r7, #0
+ mov sl, r7
+ movs r2, #0
+ mov sb, r2
+ strh r0, [r1]
+ subs r3, #0xa
+ adds r0, r4, r3
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #8
+ ldr r1, _0803D7B0 @ =0x000004FA
+ adds r4, r4, r1
+ strh r0, [r4]
+ ldr r2, _0803D7B4 @ =0x000004D5
+ mov r8, r2
+ adds r0, r6, r2
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0803D76A
+ b _0803D982
+_0803D76A:
+ lsls r7, r5, #1
+ movs r4, #0x9b
+ lsls r4, r4, #3
+ adds r0, r6, r4
+ adds r0, r0, r7
+ ldrh r0, [r0]
+ cmp r0, #1
+ bne _0803D786
+ ldr r0, _0803D7B8 @ =0x00000121
+ bl m4aSongNumStart
+ movs r0, #7
+ bl sub_11B0
+_0803D786:
+ ldr r3, _0803D7A8 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ adds r0, r1, r4
+ adds r0, r0, r7
+ ldrh r2, [r0]
+ cmp r2, #4
+ bhi _0803D7C4
+ ldr r4, _0803D7BC @ =0x000004D2
+ adds r0, r1, r4
+ adds r0, r0, r5
+ ldr r1, _0803D7C0 @ =0x086AF3AC
+ adds r1, r7, r1
+ ldrb r1, [r1]
+ adds r1, #6
+ strb r1, [r0]
+ b _0803D92E
+ .align 2, 0
+_0803D7A8: .4byte gUnknown_020314E0
+_0803D7AC: .4byte 0x000004EC
+_0803D7B0: .4byte 0x000004FA
+_0803D7B4: .4byte 0x000004D5
+_0803D7B8: .4byte 0x00000121
+_0803D7BC: .4byte 0x000004D2
+_0803D7C0: .4byte 0x086AF3AC
+_0803D7C4:
+ cmp r2, #9
+ bhi _0803D7E4
+ ldr r6, _0803D7DC @ =0x000004D2
+ adds r0, r1, r6
+ adds r0, r0, r5
+ ldr r1, _0803D7E0 @ =0x086AF3AC
+ adds r1, r7, r1
+ ldrb r1, [r1]
+ adds r1, #7
+ strb r1, [r0]
+ b _0803D92E
+ .align 2, 0
+_0803D7DC: .4byte 0x000004D2
+_0803D7E0: .4byte 0x086AF3AC
+_0803D7E4:
+ mov r2, sb
+ strh r2, [r0]
+ ldr r3, _0803D814 @ =0x000004D2
+ adds r1, r1, r3
+ adds r1, r1, r5
+ ldr r0, _0803D818 @ =0x086AF3AC
+ adds r0, r7, r0
+ ldrb r0, [r0]
+ adds r0, #8
+ strb r0, [r1]
+ ldr r4, _0803D81C @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r6, _0803D820 @ =0x000004CF
+ adds r0, r0, r6
+ adds r0, r0, r5
+ movs r1, #4
+ strb r1, [r0]
+ ldr r0, [r4]
+ add r0, r8
+_0803D80A:
+ adds r0, r0, r5
+ mov r7, sl
+ strb r7, [r0]
+ b _0803D92E
+ .align 2, 0
+_0803D814: .4byte 0x000004D2
+_0803D818: .4byte 0x086AF3AC
+_0803D81C: .4byte gUnknown_020314E0
+_0803D820: .4byte 0x000004CF
+_0803D824:
+ ldr r5, _0803D8B4 @ =gUnknown_020314E0
+ ldr r6, [r5]
+ ldr r7, [sp, #0x10]
+ asrs r5, r7, #0x10
+ lsls r4, r5, #2
+ adds r4, r6, r4
+ ldr r1, _0803D8B8 @ =0x000004EC
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r3, #0xa
+ mov sl, r3
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #1
+ movs r7, #0x9f
+ lsls r7, r7, #3
+ adds r1, r4, r7
+ movs r2, #0
+ mov sb, r2
+ strh r0, [r1]
+ ldr r3, _0803D8BC @ =0x000004EE
+ adds r0, r4, r3
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #8
+ ldr r1, _0803D8C0 @ =0x000004FA
+ adds r4, r4, r1
+ strh r0, [r4]
+ ldr r2, _0803D8C4 @ =0x000004D5
+ mov r8, r2
+ adds r0, r6, r2
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0803D87E
+ b _0803D982
+_0803D87E:
+ lsls r7, r5, #1
+ movs r4, #0x9b
+ lsls r4, r4, #3
+ adds r0, r6, r4
+ adds r0, r0, r7
+ ldrh r0, [r0]
+ cmp r0, #1
+ bne _0803D89A
+ ldr r0, _0803D8C8 @ =0x00000121
+ bl m4aSongNumStart
+ movs r0, #7
+ bl sub_11B0
+_0803D89A:
+ ldr r3, _0803D8B4 @ =gUnknown_020314E0
+ ldr r2, [r3]
+ adds r0, r2, r4
+ adds r0, r0, r7
+ ldrh r1, [r0]
+ cmp r1, #2
+ bhi _0803D8D0
+ ldr r4, _0803D8CC @ =0x000004D2
+ adds r0, r2, r4
+ adds r0, r0, r5
+ movs r1, #9
+ strb r1, [r0]
+ b _0803D92E
+ .align 2, 0
+_0803D8B4: .4byte gUnknown_020314E0
+_0803D8B8: .4byte 0x000004EC
+_0803D8BC: .4byte 0x000004EE
+_0803D8C0: .4byte 0x000004FA
+_0803D8C4: .4byte 0x000004D5
+_0803D8C8: .4byte 0x00000121
+_0803D8CC: .4byte 0x000004D2
+_0803D8D0:
+ cmp r1, #7
+ bhi _0803D8E0
+ ldr r6, _0803D8DC @ =0x000004D2
+ adds r0, r2, r6
+ b _0803D80A
+ .align 2, 0
+_0803D8DC: .4byte 0x000004D2
+_0803D8E0:
+ cmp r1, #0xd
+ bhi _0803D8F4
+ ldr r1, _0803D8F0 @ =0x000004D2
+ adds r0, r2, r1
+ adds r0, r0, r5
+ movs r1, #0xb
+ strb r1, [r0]
+ b _0803D92E
+ .align 2, 0
+_0803D8F0: .4byte 0x000004D2
+_0803D8F4:
+ cmp r1, #0x16
+ bhi _0803D908
+ ldr r3, _0803D904 @ =0x000004D2
+ adds r0, r2, r3
+ adds r0, r0, r5
+ movs r1, #0xc
+ strb r1, [r0]
+ b _0803D92E
+ .align 2, 0
+_0803D904: .4byte 0x000004D2
+_0803D908:
+ mov r4, sb
+ strh r4, [r0]
+ ldr r6, _0803D948 @ =0x000004D2
+ adds r0, r2, r6
+ adds r0, r0, r5
+ movs r1, #0xc
+ strb r1, [r0]
+ ldr r7, _0803D94C @ =gUnknown_020314E0
+ ldr r0, [r7]
+ ldr r1, _0803D950 @ =0x000004CF
+ adds r0, r0, r1
+ adds r0, r0, r5
+ movs r1, #5
+ strb r1, [r0]
+ ldr r0, [r7]
+ add r0, r8
+ adds r0, r0, r5
+ movs r2, #0
+_0803D92C:
+ strb r2, [r0]
+_0803D92E:
+ ldr r2, _0803D94C @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldr r3, [sp, #0x10]
+ asrs r0, r3, #0xf
+ movs r4, #0x9b
+ lsls r4, r4, #3
+ adds r1, r1, r4
+ adds r1, r1, r0
+ ldrh r0, [r1]
+ adds r0, #1
+ strh r0, [r1]
+ b _0803D982
+ .align 2, 0
+_0803D948: .4byte 0x000004D2
+_0803D94C: .4byte gUnknown_020314E0
+_0803D950: .4byte 0x000004CF
+_0803D954:
+ ldr r5, _0803DB14 @ =gUnknown_020314E0
+ ldr r1, [r5]
+ ldr r6, [sp, #0x10]
+ asrs r2, r6, #0x10
+ lsls r0, r2, #2
+ adds r1, r1, r0
+ movs r7, #0x9f
+ lsls r7, r7, #3
+ adds r0, r1, r7
+ movs r3, #0
+ strh r3, [r0]
+ ldr r0, _0803DB18 @ =0x000004FA
+ adds r1, r1, r0
+ strh r3, [r1]
+ ldr r1, _0803DB1C @ =gMain
+ adds r2, #0xf
+ movs r0, #0xb8
+ muls r0, r2, r0
+ adds r0, r0, r1
+ movs r1, #0xbe
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ strh r3, [r0]
+_0803D982:
+ ldr r2, _0803DB14 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r3, [sp, #0x10]
+ asrs r4, r3, #0x10
+ ldr r5, _0803DB20 @ =0x000004D2
+ adds r0, r0, r5
+ adds r0, r0, r4
+ ldr r2, _0803DB24 @ =0x040000D4
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #8
+ ldr r1, _0803DB28 @ =0x084A11EC
+ adds r0, r0, r1
+ str r0, [r2]
+ lsls r3, r4, #1
+ adds r0, r3, r4
+ lsls r0, r0, #8
+ ldr r6, _0803DB2C @ =0x06010FA0
+ adds r0, r0, r6
+ str r0, [r2, #4]
+ ldr r0, _0803DB30 @ =0x80000180
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r7, _0803DB14 @ =gUnknown_020314E0
+ ldr r6, [r7]
+ lsls r5, r4, #2
+ adds r5, r6, r5
+ ldr r1, _0803DB34 @ =0x000004EC
+ adds r0, r5, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ str r3, [sp, #0x14]
+ bl __divsi3
+ adds r4, r4, r0
+ adds r0, r6, #0
+ adds r0, #0x58
+ ldrh r0, [r0]
+ subs r4, r4, r0
+ ldr r7, [sp, #4]
+ strh r4, [r7, #2]
+ ldr r1, _0803DB38 @ =0x000004E4
+ adds r0, r6, r1
+ ldr r3, [sp, #0x14]
+ adds r0, r0, r3
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, r0, #0
+ ldr r3, _0803DB3C @ =0x000004EE
+ adds r5, r5, r3
+ movs r7, #0
+ ldrsh r0, [r5, r7]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, r4, r0
+ adds r6, #0x5a
+ ldrh r0, [r6]
+ subs r4, r4, r0
+ ldr r0, [sp, #4]
+ strh r4, [r0, #4]
+ movs r2, #0
+ ldr r5, _0803DB40 @ =gOamBuffer
+ ldr r1, _0803DB44 @ =0xFFFFFE00
+ mov r8, r1
+_0803DA10:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ ldr r2, [sp, #4]
+ adds r6, r2, r0
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r5
+ movs r4, #2
+ ldrsh r1, [r6, r4]
+ ldr r7, [sp, #4]
+ movs r4, #2
+ ldrsh r0, [r7, r4]
+ adds r1, r1, r0
+ ldr r7, _0803DB48 @ =0x000001FF
+ adds r0, r7, #0
+ ands r1, r0
+ ldrh r4, [r2, #2]
+ mov r0, r8
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldr r2, [sp, #4]
+ ldrb r0, [r2, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #2
+ ble _0803DA10
+ ldr r3, _0803DB14 @ =gUnknown_020314E0
+ ldr r6, [r3]
+ ldr r4, [sp, #0x10]
+ asrs r3, r4, #0x10
+ ldr r5, _0803DB4C @ =0x000004CF
+ adds r0, r6, r5
+ adds r4, r0, r3
+ ldrb r0, [r4]
+ subs r0, #2
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ cmp r0, #2
+ bhi _0803DABA
+ ldr r2, _0803DB50 @ =0x086AF34C
+ ldr r7, _0803DB54 @ =0x000004CC
+ adds r0, r6, r7
+ adds r0, r0, r3
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #4
+ adds r0, r0, r2
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ subs r5, #0x79
+ adds r0, r6, r5
+ ldrh r0, [r0]
+ cmp r1, r0
+ bne _0803DABA
+ movs r2, #0
+ movs r0, #4
+ strb r0, [r4]
+ ldr r6, _0803DB14 @ =gUnknown_020314E0
+ ldr r0, [r6]
+ adds r7, #9
+ adds r0, r0, r7
+ adds r0, r0, r3
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r6]
+ lsls r1, r3, #1
+ movs r3, #0x9b
+ lsls r3, r3, #3
+ adds r0, r0, r3
+ adds r0, r0, r1
+ strh r2, [r0]
+_0803DABA:
+ ldr r4, [sp]
+ lsls r0, r4, #0x10
+ movs r5, #0x80
+ lsls r5, r5, #9
+ adds r0, r0, r5
+ lsrs r6, r0, #0x10
+ str r6, [sp]
+ asrs r0, r0, #0x10
+ cmp r0, #2
+ bgt _0803DAD2
+ bl _0803D2CA
+_0803DAD2:
+ movs r7, #0
+ str r7, [sp]
+_0803DAD6:
+ ldr r0, [sp]
+ lsls r2, r0, #0x10
+ asrs r4, r2, #0x10
+ movs r0, #0xb8
+ adds r1, r4, #0
+ muls r1, r0, r1
+ ldr r0, _0803DB58 @ =0x0200C0A8
+ adds r1, r1, r0
+ str r1, [sp, #4]
+ ldrh r3, [r1]
+ str r2, [sp, #0x10]
+ cmp r3, #0
+ bne _0803DAF2
+ b _0803E1B0
+_0803DAF2:
+ ldr r1, _0803DB14 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _0803DB5C @ =0x0000048C
+ adds r0, r0, r2
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0xa
+ bls _0803DB08
+ b _0803DF08
+_0803DB08:
+ lsls r0, r0, #2
+ ldr r1, _0803DB60 @ =_0803DB64
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803DB14: .4byte gUnknown_020314E0
+_0803DB18: .4byte 0x000004FA
+_0803DB1C: .4byte gMain
+_0803DB20: .4byte 0x000004D2
+_0803DB24: .4byte 0x040000D4
+_0803DB28: .4byte 0x084A11EC
+_0803DB2C: .4byte 0x06010FA0
+_0803DB30: .4byte 0x80000180
+_0803DB34: .4byte 0x000004EC
+_0803DB38: .4byte 0x000004E4
+_0803DB3C: .4byte 0x000004EE
+_0803DB40: .4byte gOamBuffer
+_0803DB44: .4byte 0xFFFFFE00
+_0803DB48: .4byte 0x000001FF
+_0803DB4C: .4byte 0x000004CF
+_0803DB50: .4byte 0x086AF34C
+_0803DB54: .4byte 0x000004CC
+_0803DB58: .4byte 0x0200C0A8
+_0803DB5C: .4byte 0x0000048C
+_0803DB60: .4byte _0803DB64
+_0803DB64: @ jump table
+ .4byte _0803DB90 @ case 0
+ .4byte _0803DBD4 @ case 1
+ .4byte _0803DC2C @ case 2
+ .4byte _0803DC80 @ case 3
+ .4byte _0803DCD8 @ case 4
+ .4byte _0803DD2C @ case 5
+ .4byte _0803DD84 @ case 6
+ .4byte _0803DDD8 @ case 7
+ .4byte _0803DE34 @ case 8
+ .4byte _0803DEA8 @ case 9
+ .4byte _0803DEF0 @ case 10
+_0803DB90:
+ ldr r2, _0803DBC8 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r4, [sp, #0x10]
+ asrs r3, r4, #0x10
+ ldr r5, _0803DBCC @ =0x0000049C
+ adds r0, r0, r5
+ adds r0, r0, r3
+ movs r4, #0
+ strb r4, [r0]
+ ldr r0, [r2]
+ movs r6, #0x92
+ lsls r6, r6, #3
+ adds r0, r0, r6
+ adds r0, r0, r3
+ movs r1, #8
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r7, _0803DBD0 @ =0x00000494
+ adds r0, r0, r7
+ adds r0, r0, r3
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r2]
+ movs r1, #0x94
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ b _0803DEDE
+ .align 2, 0
+_0803DBC8: .4byte gUnknown_020314E0
+_0803DBCC: .4byte 0x0000049C
+_0803DBD0: .4byte 0x00000494
+_0803DBD4:
+ ldr r2, _0803DC1C @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldr r4, [sp, #0x10]
+ asrs r3, r4, #0x10
+ ldr r5, _0803DC20 @ =0x0000049C
+ adds r1, r1, r5
+ adds r1, r1, r3
+ movs r0, #8
+ strb r0, [r1]
+ ldr r0, [r2]
+ movs r6, #0x92
+ lsls r6, r6, #3
+ adds r0, r0, r6
+ adds r0, r0, r3
+ movs r1, #0xc
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r7, _0803DC24 @ =0x00000494
+ adds r0, r0, r7
+ adds r0, r0, r3
+ movs r1, #3
+ strb r1, [r0]
+ ldr r0, [r2]
+ movs r1, #0x94
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ adds r0, r0, r3
+ movs r1, #0xe
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r2, _0803DC28 @ =0x0000048C
+ adds r0, r0, r2
+ adds r0, r0, r3
+ movs r1, #2
+ strb r1, [r0]
+ b _0803DF08
+ .align 2, 0
+_0803DC1C: .4byte gUnknown_020314E0
+_0803DC20: .4byte 0x0000049C
+_0803DC24: .4byte 0x00000494
+_0803DC28: .4byte 0x0000048C
+_0803DC2C:
+ ldr r5, _0803DC70 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r3, [sp, #0x10]
+ asrs r4, r3, #0x10
+ ldr r6, _0803DC74 @ =0x000004A4
+ adds r0, r0, r6
+ adds r1, r0, r4
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ bgt _0803DC46
+ b _0803DF08
+_0803DC46:
+ subs r0, r2, #1
+ strb r0, [r1]
+ ldr r0, [r5]
+ adds r0, r0, r6
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #7
+ beq _0803DC5C
+ b _0803DF08
+_0803DC5C:
+ ldr r0, _0803DC78 @ =0x00000123
+ bl m4aSongNumStart
+ ldr r0, [r5]
+ ldr r7, _0803DC7C @ =0x0000048C
+ adds r0, r0, r7
+ adds r0, r0, r4
+ movs r1, #3
+ strb r1, [r0]
+ b _0803DE98
+ .align 2, 0
+_0803DC70: .4byte gUnknown_020314E0
+_0803DC74: .4byte 0x000004A4
+_0803DC78: .4byte 0x00000123
+_0803DC7C: .4byte 0x0000048C
+_0803DC80:
+ ldr r2, _0803DCC8 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldr r0, [sp, #0x10]
+ asrs r3, r0, #0x10
+ ldr r4, _0803DCCC @ =0x0000049C
+ adds r1, r1, r4
+ adds r1, r1, r3
+ movs r0, #0xc
+ strb r0, [r1]
+ ldr r0, [r2]
+ movs r5, #0x92
+ lsls r5, r5, #3
+ adds r0, r0, r5
+ adds r0, r0, r3
+ movs r1, #0x10
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r6, _0803DCD0 @ =0x00000494
+ adds r0, r0, r6
+ adds r0, r0, r3
+ movs r1, #5
+ strb r1, [r0]
+ ldr r0, [r2]
+ movs r7, #0x94
+ lsls r7, r7, #3
+ adds r0, r0, r7
+ adds r0, r0, r3
+ movs r1, #0xe
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r1, _0803DCD4 @ =0x0000048C
+ adds r0, r0, r1
+ adds r0, r0, r3
+ movs r1, #4
+ strb r1, [r0]
+ b _0803DF08
+ .align 2, 0
+_0803DCC8: .4byte gUnknown_020314E0
+_0803DCCC: .4byte 0x0000049C
+_0803DCD0: .4byte 0x00000494
+_0803DCD4: .4byte 0x0000048C
+_0803DCD8:
+ ldr r5, _0803DD1C @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r2, [sp, #0x10]
+ asrs r4, r2, #0x10
+ ldr r3, _0803DD20 @ =0x000004A4
+ adds r0, r0, r3
+ adds r1, r0, r4
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ bgt _0803DCF2
+ b _0803DF08
+_0803DCF2:
+ subs r0, r2, #1
+ strb r0, [r1]
+ ldr r0, [r5]
+ adds r0, r0, r3
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #7
+ beq _0803DD08
+ b _0803DF08
+_0803DD08:
+ ldr r0, _0803DD24 @ =0x00000123
+ bl m4aSongNumStart
+ ldr r0, [r5]
+ ldr r5, _0803DD28 @ =0x0000048C
+ adds r0, r0, r5
+ adds r0, r0, r4
+ movs r1, #5
+ strb r1, [r0]
+ b _0803DE98
+ .align 2, 0
+_0803DD1C: .4byte gUnknown_020314E0
+_0803DD20: .4byte 0x000004A4
+_0803DD24: .4byte 0x00000123
+_0803DD28: .4byte 0x0000048C
+_0803DD2C:
+ ldr r2, _0803DD74 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldr r6, [sp, #0x10]
+ asrs r3, r6, #0x10
+ ldr r7, _0803DD78 @ =0x0000049C
+ adds r1, r1, r7
+ adds r1, r1, r3
+ movs r0, #0x10
+ strb r0, [r1]
+ ldr r0, [r2]
+ movs r1, #0x92
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ adds r0, r0, r3
+ movs r1, #0x14
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r4, _0803DD7C @ =0x00000494
+ adds r0, r0, r4
+ adds r0, r0, r3
+ movs r1, #7
+ strb r1, [r0]
+ ldr r0, [r2]
+ movs r5, #0x94
+ lsls r5, r5, #3
+ adds r0, r0, r5
+ adds r0, r0, r3
+ movs r1, #0xe
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r6, _0803DD80 @ =0x0000048C
+ adds r0, r0, r6
+ adds r0, r0, r3
+ movs r1, #6
+ strb r1, [r0]
+ b _0803DF08
+ .align 2, 0
+_0803DD74: .4byte gUnknown_020314E0
+_0803DD78: .4byte 0x0000049C
+_0803DD7C: .4byte 0x00000494
+_0803DD80: .4byte 0x0000048C
+_0803DD84:
+ ldr r6, _0803DDC8 @ =gUnknown_020314E0
+ ldr r0, [r6]
+ ldr r7, [sp, #0x10]
+ asrs r5, r7, #0x10
+ ldr r1, _0803DDCC @ =0x000004A4
+ adds r0, r0, r1
+ adds r1, r0, r5
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ bgt _0803DD9E
+ b _0803DF08
+_0803DD9E:
+ subs r0, r2, #1
+ strb r0, [r1]
+ ldr r0, [r6]
+ ldr r2, _0803DDCC @ =0x000004A4
+ adds r0, r0, r2
+ adds r0, r0, r5
+ movs r4, #0
+ ldrsb r4, [r0, r4]
+ cmp r4, #7
+ beq _0803DDB4
+ b _0803DF08
+_0803DDB4:
+ ldr r0, _0803DDD0 @ =0x00000123
+ bl m4aSongNumStart
+ ldr r0, [r6]
+ ldr r3, _0803DDD4 @ =0x0000048C
+ adds r0, r0, r3
+ adds r0, r0, r5
+ strb r4, [r0]
+ b _0803DE98
+ .align 2, 0
+_0803DDC8: .4byte gUnknown_020314E0
+_0803DDCC: .4byte 0x000004A4
+_0803DDD0: .4byte 0x00000123
+_0803DDD4: .4byte 0x0000048C
+_0803DDD8:
+ ldr r2, _0803DE28 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldr r4, [sp, #0x10]
+ asrs r3, r4, #0x10
+ ldr r5, _0803DE2C @ =0x0000049C
+ adds r1, r1, r5
+ adds r1, r1, r3
+ movs r4, #0
+ movs r0, #0x14
+ strb r0, [r1]
+ ldr r0, [r2]
+ movs r6, #0x92
+ lsls r6, r6, #3
+ adds r0, r0, r6
+ adds r0, r0, r3
+ movs r1, #0x18
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r7, _0803DE30 @ =0x00000494
+ adds r0, r0, r7
+ adds r0, r0, r3
+ movs r1, #9
+ strb r1, [r0]
+ ldr r0, [r2]
+ movs r1, #0x94
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ adds r0, r0, r3
+ movs r1, #0xe
+ strb r1, [r0]
+ ldr r0, [r2]
+ subs r5, #0x10
+ adds r0, r0, r5
+ adds r0, r0, r3
+ movs r1, #8
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r6, #0x18
+ adds r0, r0, r6
+ b _0803DEDE
+ .align 2, 0
+_0803DE28: .4byte gUnknown_020314E0
+_0803DE2C: .4byte 0x0000049C
+_0803DE30: .4byte 0x00000494
+_0803DE34:
+ ldr r4, _0803DE7C @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r7, [sp, #0x10]
+ asrs r3, r7, #0x10
+ ldr r1, _0803DE80 @ =0x000004A4
+ adds r0, r0, r1
+ adds r1, r0, r3
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ ble _0803DF08
+ subs r0, r2, #1
+ movs r5, #0
+ strb r0, [r1]
+ ldr r1, [r4]
+ ldr r2, _0803DE80 @ =0x000004A4
+ adds r0, r1, r2
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #7
+ bne _0803DF08
+ movs r6, #0x95
+ lsls r6, r6, #3
+ adds r0, r1, r6
+ adds r1, r0, r3
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ bgt _0803DE84
+ adds r0, r2, #1
+ strb r0, [r1]
+ b _0803DE92
+ .align 2, 0
+_0803DE7C: .4byte gUnknown_020314E0
+_0803DE80: .4byte 0x000004A4
+_0803DE84:
+ strb r5, [r1]
+ ldr r0, [r4]
+ ldr r7, _0803DEA0 @ =0x0000048C
+ adds r0, r0, r7
+ adds r0, r0, r3
+ movs r1, #9
+ strb r1, [r0]
+_0803DE92:
+ ldr r0, _0803DEA4 @ =0x00000123
+ bl m4aSongNumStart
+_0803DE98:
+ movs r0, #7
+ bl sub_11B0
+ b _0803DF08
+ .align 2, 0
+_0803DEA0: .4byte 0x0000048C
+_0803DEA4: .4byte 0x00000123
+_0803DEA8:
+ ldr r2, _0803DEE4 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldr r0, [sp, #0x10]
+ asrs r3, r0, #0x10
+ ldr r4, _0803DEE8 @ =0x0000049C
+ adds r1, r1, r4
+ adds r1, r1, r3
+ movs r4, #0
+ movs r0, #0x18
+ strb r0, [r1]
+ ldr r0, [r2]
+ movs r5, #0x92
+ lsls r5, r5, #3
+ adds r0, r0, r5
+ adds r0, r0, r3
+ movs r1, #0x1b
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r6, _0803DEEC @ =0x00000494
+ adds r0, r0, r6
+ adds r0, r0, r3
+ movs r1, #0xa
+ strb r1, [r0]
+ ldr r0, [r2]
+ movs r7, #0x94
+ lsls r7, r7, #3
+ adds r0, r0, r7
+_0803DEDE:
+ adds r0, r0, r3
+ strb r4, [r0]
+ b _0803DF08
+ .align 2, 0
+_0803DEE4: .4byte gUnknown_020314E0
+_0803DEE8: .4byte 0x0000049C
+_0803DEEC: .4byte 0x00000494
+_0803DEF0:
+ ldr r2, _0803DF3C @ =gMain
+ ldr r1, [sp, #0x10]
+ asrs r0, r1, #0x10
+ adds r0, #0x12
+ movs r1, #0xb8
+ muls r0, r1, r0
+ adds r0, r0, r2
+ movs r2, #0xbe
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ movs r1, #0
+ strh r1, [r0]
+_0803DF08:
+ ldr r4, _0803DF40 @ =0x086AF2DC
+ ldr r3, _0803DF44 @ =gUnknown_020314E0
+ ldr r2, [r3]
+ ldr r6, [sp, #0x10]
+ asrs r5, r6, #0x10
+ movs r7, #0x93
+ lsls r7, r7, #3
+ adds r0, r2, r7
+ adds r7, r0, r5
+ movs r1, #0
+ ldrsb r1, [r7, r1]
+ lsls r1, r1, #2
+ adds r0, r4, #2
+ adds r1, r1, r0
+ lsls r0, r5, #1
+ ldr r6, _0803DF48 @ =0x000004AC
+ adds r2, r2, r6
+ adds r2, r2, r0
+ ldrh r6, [r2]
+ ldrh r0, [r1]
+ cmp r0, r6
+ bls _0803DF4C
+ adds r0, r6, #1
+ strh r0, [r2]
+ b _0803DFC8
+ .align 2, 0
+_0803DF3C: .4byte gMain
+_0803DF40: .4byte 0x086AF2DC
+_0803DF44: .4byte gUnknown_020314E0
+_0803DF48: .4byte 0x000004AC
+_0803DF4C:
+ movs r0, #0
+ strh r0, [r2]
+ ldrb r0, [r7]
+ adds r0, #1
+ strb r0, [r7]
+ ldr r7, _0803DFA8 @ =gUnknown_020314E0
+ ldr r2, [r7]
+ movs r1, #0x93
+ lsls r1, r1, #3
+ adds r0, r2, r1
+ adds r3, r0, r5
+ movs r6, #0x92
+ lsls r6, r6, #3
+ adds r0, r2, r6
+ adds r0, r0, r5
+ movs r1, #0
+ ldrsb r1, [r3, r1]
+ ldrb r6, [r0]
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r1, r0
+ bne _0803DFC8
+ movs r7, #0x94
+ lsls r7, r7, #3
+ adds r0, r2, r7
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _0803DFB0
+ ldr r1, _0803DFAC @ =0x0000049C
+ adds r0, r2, r1
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ strb r0, [r3]
+ ldr r2, _0803DFA8 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ adds r3, r7, #0
+ adds r1, r1, r3
+ adds r1, r1, r5
+ ldrb r0, [r1]
+ subs r0, #1
+ b _0803DFC6
+ .align 2, 0
+_0803DFA8: .4byte gUnknown_020314E0
+_0803DFAC: .4byte 0x0000049C
+_0803DFB0:
+ subs r0, r6, #1
+ strb r0, [r3]
+ ldr r6, _0803E0EC @ =gUnknown_020314E0
+ ldr r0, [r6]
+ ldr r7, _0803E0F0 @ =0x0000048C
+ adds r1, r0, r7
+ adds r1, r1, r5
+ ldr r2, _0803E0F4 @ =0x00000494
+ adds r0, r0, r2
+ adds r0, r0, r5
+ ldrb r0, [r0]
+_0803DFC6:
+ strb r0, [r1]
+_0803DFC8:
+ ldr r3, _0803E0EC @ =gUnknown_020314E0
+ ldr r2, [r3]
+ ldr r6, [sp, #0x10]
+ asrs r5, r6, #0x10
+ movs r7, #0x93
+ lsls r7, r7, #3
+ adds r0, r2, r7
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #2
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ mov sl, r0
+ ldr r0, _0803E0F8 @ =0x086AF2CC
+ lsls r4, r5, #2
+ adds r3, r4, r0
+ ldrh r1, [r3]
+ adds r1, #0x41
+ adds r0, r2, #0
+ adds r0, #0x58
+ ldrh r0, [r0]
+ subs r1, r1, r0
+ ldr r0, [sp, #4]
+ strh r1, [r0, #2]
+ ldrh r1, [r3, #2]
+ adds r1, #0x3c
+ adds r0, r2, #0
+ adds r0, #0x5a
+ ldrh r0, [r0]
+ subs r1, r1, r0
+ ldr r6, [sp, #4]
+ strh r1, [r6, #4]
+ subs r7, #0xc
+ adds r0, r2, r7
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #8
+ bgt _0803E03A
+ adds r2, r2, r4
+ movs r1, #0
+ ldrsh r0, [r3, r1]
+ adds r0, #0x3d
+ lsls r0, r0, #1
+ ldr r4, _0803E0FC @ =0x000004B4
+ adds r1, r2, r4
+ strh r0, [r1]
+ movs r6, #2
+ ldrsh r0, [r3, r6]
+ adds r0, #0x60
+ lsls r0, r0, #1
+ adds r7, #0x2a
+ adds r2, r2, r7
+ strh r0, [r2]
+_0803E03A:
+ ldr r1, _0803E0EC @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _0803E100 @ =0x000004A4
+ adds r0, r0, r2
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _0803E114
+ movs r2, #0
+ mov r3, sl
+ lsls r1, r3, #0x10
+ ldr r4, _0803E104 @ =0x086B8AE0
+ mov sb, r4
+ ldr r5, _0803E108 @ =gOamBuffer
+ asrs r1, r1, #0x10
+ lsls r0, r1, #4
+ subs r0, r0, r1
+ lsls r0, r0, #2
+ mov sl, r0
+ ldr r6, _0803E10C @ =0xFFFFFE00
+ mov r8, r6
+_0803E068:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ ldr r7, [sp, #4]
+ adds r6, r7, r0
+ ldrh r0, [r6]
+ lsls r0, r0, #3
+ adds r2, r0, r5
+ lsls r0, r3, #1
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ add r0, sb
+ mov r4, sl
+ adds r1, r4, r0
+ ldrh r0, [r1]
+ strh r0, [r2]
+ adds r1, #2
+ adds r2, #2
+ ldrh r0, [r1]
+ strh r0, [r2]
+ ldrh r0, [r1, #2]
+ strh r0, [r2, #2]
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r5
+ ldrh r4, [r2, #2]
+ lsls r1, r4, #0x17
+ lsrs r1, r1, #0x17
+ mov ip, r1
+ movs r1, #2
+ ldrsh r0, [r7, r1]
+ mov r7, ip
+ adds r1, r7, r0
+ ldr r7, _0803E110 @ =0x000001FF
+ adds r0, r7, #0
+ ands r1, r0
+ mov r0, r8
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldr r2, [sp, #4]
+ ldrb r0, [r2, #4]
+ ldrb r4, [r1]
+ adds r0, r0, r4
+ strb r0, [r1]
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r5
+ ldrb r1, [r2, #5]
+ movs r0, #0xf
+ ands r0, r1
+ movs r1, #0x20
+ orrs r0, r1
+ strb r0, [r2, #5]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #9
+ ble _0803E068
+ b _0803E1C4
+ .align 2, 0
+_0803E0EC: .4byte gUnknown_020314E0
+_0803E0F0: .4byte 0x0000048C
+_0803E0F4: .4byte 0x00000494
+_0803E0F8: .4byte 0x086AF2CC
+_0803E0FC: .4byte 0x000004B4
+_0803E100: .4byte 0x000004A4
+_0803E104: .4byte 0x086B8AE0
+_0803E108: .4byte gOamBuffer
+_0803E10C: .4byte 0xFFFFFE00
+_0803E110: .4byte 0x000001FF
+_0803E114:
+ movs r2, #0
+ mov r5, sl
+ lsls r1, r5, #0x10
+ ldr r6, _0803E1A0 @ =0x086B8AE0
+ mov sb, r6
+ ldr r5, _0803E1A4 @ =gOamBuffer
+ asrs r1, r1, #0x10
+ lsls r0, r1, #4
+ subs r0, r0, r1
+ lsls r0, r0, #2
+ mov sl, r0
+ ldr r7, _0803E1A8 @ =0xFFFFFE00
+ mov r8, r7
+_0803E12E:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ ldr r1, [sp, #4]
+ adds r6, r1, r0
+ ldrh r0, [r6]
+ lsls r0, r0, #3
+ adds r2, r0, r5
+ lsls r0, r3, #1
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ add r0, sb
+ mov r4, sl
+ adds r1, r4, r0
+ ldrh r0, [r1]
+ strh r0, [r2]
+ adds r1, #2
+ adds r2, #2
+ ldrh r0, [r1]
+ strh r0, [r2]
+ ldrh r0, [r1, #2]
+ strh r0, [r2, #2]
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r5
+ ldrh r4, [r2, #2]
+ lsls r1, r4, #0x17
+ lsrs r1, r1, #0x17
+ mov ip, r1
+ ldr r7, [sp, #4]
+ movs r1, #2
+ ldrsh r0, [r7, r1]
+ mov r7, ip
+ adds r1, r7, r0
+ ldr r7, _0803E1AC @ =0x000001FF
+ adds r0, r7, #0
+ ands r1, r0
+ mov r0, r8
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldr r2, [sp, #4]
+ ldrb r0, [r2, #4]
+ ldrb r4, [r1]
+ adds r0, r0, r4
+ strb r0, [r1]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #9
+ ble _0803E12E
+ b _0803E1C4
+ .align 2, 0
+_0803E1A0: .4byte 0x086B8AE0
+_0803E1A4: .4byte gOamBuffer
+_0803E1A8: .4byte 0xFFFFFE00
+_0803E1AC: .4byte 0x000001FF
+_0803E1B0:
+ ldr r5, _0803E2BC @ =gUnknown_020314E0
+ ldr r0, [r5]
+ lsls r1, r4, #2
+ adds r0, r0, r1
+ ldr r6, _0803E2C0 @ =0x000004B4
+ adds r1, r0, r6
+ strh r3, [r1]
+ ldr r7, _0803E2C4 @ =0x000004B6
+ adds r0, r0, r7
+ strh r3, [r0]
+_0803E1C4:
+ ldr r1, [sp, #0x10]
+ movs r2, #0x80
+ lsls r2, r2, #9
+ adds r0, r1, r2
+ lsrs r3, r0, #0x10
+ str r3, [sp]
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ bgt _0803E1D8
+ b _0803DAD6
+_0803E1D8:
+ ldr r4, _0803E2BC @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r4, _0803E2C8 @ =0x000004C4
+ adds r1, r0, r4
+ ldrh r0, [r1]
+ cmp r0, #0
+ beq _0803E236
+ subs r0, #1
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0x24
+ bne _0803E1FA
+ movs r0, #0x91
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_0803E1FA:
+ ldr r5, _0803E2BC @ =gUnknown_020314E0
+ ldr r0, [r5]
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ cmp r0, #0x18
+ bne _0803E20E
+ movs r0, #0x91
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_0803E20E:
+ ldr r6, _0803E2BC @ =gUnknown_020314E0
+ ldr r0, [r6]
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ cmp r0, #0xc
+ bne _0803E222
+ movs r0, #0x91
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_0803E222:
+ ldr r7, _0803E2BC @ =gUnknown_020314E0
+ ldr r0, [r7]
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _0803E236
+ movs r0, #0x91
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_0803E236:
+ ldr r0, _0803E2CC @ =0x0200C948
+ str r0, [sp, #4]
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _0803E242
+ b _0803E574
+_0803E242:
+ ldr r0, _0803E2BC @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r6, _0803E2D0 @ =0x00000456
+ adds r7, r1, r6
+ ldrh r1, [r7]
+ cmp r1, #0x23
+ bhi _0803E300
+ adds r0, r1, #0
+ lsls r0, r0, #9
+ movs r1, #0x23
+ bl __divsi3
+ adds r0, #0x10
+ lsls r0, r0, #0x10
+ lsrs r7, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #0x80
+ lsls r1, r1, #2
+ cmp r0, r1
+ ble _0803E26C
+ adds r7, r1, #0
+_0803E26C:
+ lsls r5, r7, #0x10
+ asrs r5, r5, #0x10
+ adds r0, r5, #0
+ adds r1, r5, #0
+ movs r2, #1
+ bl SetMatrixScale
+ rsbs r4, r5, #0
+ lsls r4, r4, #0x10
+ asrs r4, r4, #0x10
+ adds r0, r4, #0
+ adds r1, r5, #0
+ movs r2, #2
+ bl SetMatrixScale
+ adds r0, r5, #0
+ adds r1, r4, #0
+ movs r2, #3
+ bl SetMatrixScale
+ adds r0, r4, #0
+ adds r1, r4, #0
+ movs r2, #4
+ bl SetMatrixScale
+ ldr r1, _0803E2BC @ =gUnknown_020314E0
+ ldr r0, [r1]
+ adds r1, r0, r6
+ ldrh r0, [r1]
+ cmp r0, #0x1e
+ bls _0803E2D4
+ subs r0, #0x1e
+ movs r1, #0xb
+ muls r0, r1, r0
+ movs r1, #5
+ bl __divsi3
+ movs r1, #0xc
+ b _0803E2E0
+ .align 2, 0
+_0803E2BC: .4byte gUnknown_020314E0
+_0803E2C0: .4byte 0x000004B4
+_0803E2C4: .4byte 0x000004B6
+_0803E2C8: .4byte 0x000004C4
+_0803E2CC: .4byte 0x0200C948
+_0803E2D0: .4byte 0x00000456
+_0803E2D4:
+ ldrh r0, [r1]
+ lsls r0, r0, #2
+ movs r1, #0x1e
+ bl __divsi3
+ movs r1, #0x10
+_0803E2E0:
+ subs r1, r1, r0
+ lsls r1, r1, #0x10
+ lsrs r6, r1, #0x10
+ ldr r2, _0803E2F8 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldr r3, _0803E2FC @ =0x00000456
+ adds r1, r1, r3
+ ldrh r0, [r1]
+ adds r0, #1
+ strh r0, [r1]
+ b _0803E30A
+ .align 2, 0
+_0803E2F8: .4byte gUnknown_020314E0
+_0803E2FC: .4byte 0x00000456
+_0803E300:
+ movs r7, #0x80
+ lsls r7, r7, #1
+ movs r6, #0
+ ldr r4, [sp, #4]
+ strh r6, [r4]
+_0803E30A:
+ ldr r5, _0803E584 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r1, _0803E588 @ =0x00000456
+ adds r0, r0, r1
+ ldrh r0, [r0]
+ ldr r2, _0803E58C @ =gMain
+ mov r8, r2
+ lsls r7, r7, #0x10
+ mov sl, r7
+ cmp r0, #0x22
+ bne _0803E382
+ movs r3, #0
+ str r3, [sp]
+ mov sb, r8
+ movs r4, #0
+ movs r7, #0
+ adds r3, r5, #0
+_0803E32C:
+ ldr r5, [sp]
+ lsls r2, r5, #0x10
+ asrs r2, r2, #0x10
+ adds r1, r2, #0
+ adds r1, #0x12
+ movs r0, #0xb8
+ muls r0, r1, r0
+ add r0, sb
+ movs r1, #0xbe
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r1, #1
+ strh r1, [r0]
+ ldr r0, [r3]
+ ldr r5, _0803E590 @ =0x0000048C
+ adds r0, r0, r5
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r3]
+ movs r1, #0x93
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r3]
+ lsls r1, r2, #1
+ adds r5, #0x20
+ adds r0, r0, r5
+ adds r0, r0, r1
+ strh r7, [r0]
+ adds r2, #1
+ lsls r2, r2, #0x10
+ lsrs r0, r2, #0x10
+ str r0, [sp]
+ asrs r2, r2, #0x10
+ cmp r2, #3
+ ble _0803E32C
+ ldr r1, _0803E584 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _0803E594 @ =0x000004C4
+ adds r0, r0, r2
+ movs r1, #0x25
+ strh r1, [r0]
+_0803E382:
+ ldr r3, _0803E584 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ mov r4, sl
+ asrs r5, r4, #0x10
+ adds r0, r5, #0
+ cmp r5, #0
+ bge _0803E392
+ adds r0, r5, #7
+_0803E392:
+ asrs r3, r0, #3
+ movs r0, #0x20
+ subs r2, r0, r3
+ ldr r7, _0803E598 @ =0x0000046C
+ adds r0, r1, r7
+ strh r2, [r0]
+ adds r3, #0x20
+ movs r4, #0x8e
+ lsls r4, r4, #3
+ adds r0, r1, r4
+ strh r3, [r0]
+ ldr r7, _0803E59C @ =0x00000474
+ adds r0, r1, r7
+ strh r2, [r0]
+ movs r4, #0x8f
+ lsls r4, r4, #3
+ adds r0, r1, r4
+ strh r3, [r0]
+ ldr r7, _0803E5A0 @ =0x0000046E
+ adds r0, r1, r7
+ strh r2, [r0]
+ ldr r4, _0803E5A4 @ =0x00000472
+ adds r0, r1, r4
+ strh r2, [r0]
+ ldr r7, _0803E5A8 @ =0x00000476
+ adds r0, r1, r7
+ strh r3, [r0]
+ ldr r2, _0803E5AC @ =0x0000047A
+ adds r0, r1, r2
+ strh r3, [r0]
+ mov r3, r8
+ ldrb r1, [r3, #0xf]
+ movs r0, #0xc0
+ ands r0, r1
+ cmp r0, #0
+ bne _0803E3F0
+ ldrh r0, [r3, #0x38]
+ ldr r0, _0803E5B0 @ =0x00001E10
+ strh r0, [r3, #0x38]
+ movs r0, #0x10
+ lsls r1, r6, #0x10
+ asrs r1, r1, #0x10
+ subs r0, r0, r1
+ lsls r0, r0, #8
+ orrs r0, r1
+ ldrh r1, [r3, #0x3a]
+ strh r0, [r3, #0x3a]
+_0803E3F0:
+ ldr r4, [sp, #4]
+ ldrh r0, [r4]
+ cmp r0, #0
+ beq _0803E4AA
+ ldr r5, _0803E584 @ =gUnknown_020314E0
+ ldr r1, [r5]
+ adds r0, r1, #0
+ adds r0, #0x58
+ ldrh r2, [r0]
+ movs r0, #0x17
+ subs r0, r0, r2
+ strh r0, [r4, #2]
+ adds r1, #0x5a
+ ldrh r1, [r1]
+ movs r0, #0x32
+ subs r0, r0, r1
+ strh r0, [r4, #4]
+ movs r2, #0
+ ldr r7, _0803E5B4 @ =gOamBuffer
+ ldr r6, _0803E5B8 @ =0xFFFFFE00
+ mov sb, r6
+ movs r0, #0xf
+ rsbs r0, r0, #0
+ mov r8, r0
+_0803E420:
+ lsls r5, r2, #0x10
+ asrs r5, r5, #0x10
+ lsls r0, r5, #3
+ adds r0, #8
+ ldr r1, [sp, #4]
+ adds r6, r1, r0
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r2, #2
+ ldrsh r1, [r6, r2]
+ ldr r4, [sp, #4]
+ movs r2, #2
+ ldrsh r0, [r4, r2]
+ adds r1, r1, r0
+ ldr r0, _0803E584 @ =gUnknown_020314E0
+ ldr r4, [r0]
+ lsls r0, r5, #2
+ adds r4, r4, r0
+ ldr r2, _0803E598 @ =0x0000046C
+ adds r0, r4, r2
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ adds r1, r1, r0
+ ldr r2, _0803E5BC @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, sb
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r7
+ ldr r3, [sp, #4]
+ ldrb r1, [r3, #4]
+ ldrb r0, [r6, #4]
+ adds r1, r1, r0
+ ldr r3, _0803E5A0 @ =0x0000046E
+ adds r4, r4, r3
+ ldrb r0, [r4]
+ adds r0, r0, r1
+ strb r0, [r2]
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r7
+ ldrb r0, [r2, #1]
+ movs r1, #3
+ orrs r0, r1
+ strb r0, [r2, #1]
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ adds r5, #1
+ movs r0, #7
+ adds r1, r5, #0
+ ands r1, r0
+ lsls r1, r1, #1
+ ldrb r2, [r3, #3]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3, #3]
+ lsls r5, r5, #0x10
+ lsrs r2, r5, #0x10
+ asrs r5, r5, #0x10
+ cmp r5, #3
+ ble _0803E420
+_0803E4AA:
+ ldr r4, _0803E584 @ =gUnknown_020314E0
+ ldr r2, [r4]
+ ldr r5, _0803E588 @ =0x00000456
+ adds r4, r2, r5
+ ldrh r0, [r4]
+ cmp r0, #0x1d
+ bhi _0803E560
+ ldr r7, _0803E5C0 @ =0x0000132C
+ adds r0, r2, r7
+ ldr r1, [r0]
+ movs r6, #0x10
+ ldrsh r0, [r1, r6]
+ subs r0, #0x77
+ str r0, [sp, #8]
+ movs r3, #0x12
+ ldrsh r0, [r1, r3]
+ subs r0, #0x93
+ str r0, [sp, #0xc]
+ ldr r5, [sp, #8]
+ adds r1, r5, #0
+ muls r1, r5, r1
+ adds r6, r0, #0
+ adds r0, r6, #0
+ muls r0, r6, r0
+ adds r3, r1, r0
+ movs r1, #0xe2
+ lsls r1, r1, #2
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0803E560
+ ldr r0, _0803E5C4 @ =0x086AEE20
+ ldrh r1, [r4]
+ lsls r1, r1, #1
+ adds r1, r1, r0
+ movs r2, #0
+ ldrsh r0, [r1, r2]
+ cmp r3, r0
+ bge _0803E560
+ rsbs r0, r5, #0
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ adds r3, r6, #0
+ lsls r1, r3, #0x10
+ asrs r1, r1, #0x10
+ bl ArcTan2
+ ldr r4, _0803E584 @ =gUnknown_020314E0
+ ldr r1, [r4]
+ movs r6, #0xb6
+ lsls r6, r6, #3
+ adds r1, r1, r6
+ strh r0, [r1]
+ ldrh r0, [r1]
+ bl sub_C74
+ adds r1, r0, #0
+ ldr r4, [r4]
+ adds r0, r4, r7
+ ldr r5, [r0]
+ lsls r1, r1, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #3
+ adds r0, r0, r1
+ lsls r0, r0, #4
+ rsbs r0, r0, #0
+ ldr r1, _0803E5C8 @ =0x00004E20
+ bl __divsi3
+ strh r0, [r5, #0x30]
+ adds r4, r4, r6
+ ldrh r0, [r4]
+ bl sub_C24
+ ldr r5, _0803E584 @ =gUnknown_020314E0
+ ldr r1, [r5]
+ adds r1, r1, r7
+ ldr r4, [r1]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #0x32
+ bl __divsi3
+ strh r0, [r4, #0x32]
+ movs r0, #9
+ bl sub_11B0
+_0803E560:
+ ldr r2, _0803E58C @ =gMain
+ ldrb r1, [r2, #0xf]
+ movs r0, #0xc0
+ ands r0, r1
+ cmp r0, #0
+ beq _0803E574
+ ldr r6, _0803E5CC @ =0x00001888
+ adds r1, r2, r6
+ movs r0, #0
+ strh r0, [r1]
+_0803E574:
+ add sp, #0x1c
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803E584: .4byte gUnknown_020314E0
+_0803E588: .4byte 0x00000456
+_0803E58C: .4byte gMain
+_0803E590: .4byte 0x0000048C
+_0803E594: .4byte 0x000004C4
+_0803E598: .4byte 0x0000046C
+_0803E59C: .4byte 0x00000474
+_0803E5A0: .4byte 0x0000046E
+_0803E5A4: .4byte 0x00000472
+_0803E5A8: .4byte 0x00000476
+_0803E5AC: .4byte 0x0000047A
+_0803E5B0: .4byte 0x00001E10
+_0803E5B4: .4byte gOamBuffer
+_0803E5B8: .4byte 0xFFFFFE00
+_0803E5BC: .4byte 0x000001FF
+_0803E5C0: .4byte 0x0000132C
+_0803E5C4: .4byte 0x086AEE20
+_0803E5C8: .4byte 0x00004E20
+_0803E5CC: .4byte 0x00001888
+
+ thumb_func_start sub_3E5D0
+sub_3E5D0: @ 0x0803E5D0
+ push {r4, r5, r6, r7, lr}
+ ldr r6, _0803E634 @ =0x0200C948
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _0803E62E
+ movs r0, #0xf0
+ strh r0, [r6, #2]
+ movs r0, #0xa0
+ strh r0, [r6, #4]
+ movs r0, #0
+ ldr r7, _0803E638 @ =gOamBuffer
+ ldr r1, _0803E63C @ =0xFFFFFE00
+ mov ip, r1
+_0803E5EA:
+ lsls r5, r0, #0x10
+ asrs r5, r5, #0x10
+ lsls r3, r5, #3
+ adds r3, #8
+ adds r3, r6, r3
+ ldrh r4, [r3]
+ lsls r4, r4, #3
+ adds r4, r4, r7
+ movs r2, #2
+ ldrsh r1, [r3, r2]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _0803E640 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r4, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r4, #2]
+ ldrh r1, [r3]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r3, [r3, #4]
+ adds r0, r0, r3
+ strb r0, [r1]
+ adds r5, #1
+ lsls r5, r5, #0x10
+ lsrs r0, r5, #0x10
+ asrs r5, r5, #0x10
+ cmp r5, #3
+ ble _0803E5EA
+_0803E62E:
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803E634: .4byte 0x0200C948
+_0803E638: .4byte gOamBuffer
+_0803E63C: .4byte 0xFFFFFE00
+_0803E640: .4byte 0x000001FF
+
+ thumb_func_start sub_3E644
+sub_3E644: @ 0x0803E644
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ ldr r4, _0803E760 @ =0x086AF3B2
+ ldr r6, _0803E764 @ =gMain
+ ldr r5, [r6, #0x4c]
+ adds r0, r5, #0
+ movs r1, #0x90
+ bl __umodsi3
+ movs r1, #0x18
+ bl __udivsi3
+ lsls r0, r0, #1
+ adds r0, r0, r4
+ ldr r2, _0803E768 @ =0x040000D4
+ movs r3, #0
+ ldrsh r1, [r0, r3]
+ lsls r0, r1, #5
+ ldr r4, _0803E76C @ =0x08352BD8
+ adds r0, r0, r4
+ str r0, [r2]
+ movs r0, #0xa0
+ lsls r0, r0, #0x13
+ str r0, [r2, #4]
+ ldr r3, _0803E770 @ =0x80000010
+ str r3, [r2, #8]
+ ldr r0, [r2, #8]
+ adds r1, #4
+ lsls r1, r1, #5
+ adds r1, r1, r4
+ str r1, [r2]
+ ldr r0, _0803E774 @ =0x05000080
+ str r0, [r2, #4]
+ str r3, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r4, _0803E778 @ =0x086AF3BE
+ adds r0, r5, #0
+ movs r1, #0x60
+ bl __umodsi3
+ movs r1, #0x18
+ bl __udivsi3
+ lsls r0, r0, #1
+ adds r0, r0, r4
+ movs r3, #0
+ ldr r7, _0803E77C @ =gOamBuffer
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ lsls r0, r0, #3
+ mov r8, r0
+ ldr r2, _0803E780 @ =0x086AF3C6
+ mov sb, r2
+ ldr r0, _0803E784 @ =0xFFFFFC00
+ mov sl, r0
+_0803E6B8:
+ lsls r3, r3, #0x10
+ asrs r1, r3, #0x10
+ movs r0, #0xb8
+ muls r0, r1, r0
+ ldr r1, _0803E788 @ =0x0200BBA0
+ adds r6, r0, r1
+ ldr r2, _0803E78C @ =gUnknown_020314E0
+ ldr r1, [r2]
+ adds r0, r1, #0
+ adds r0, #0x58
+ ldrh r2, [r0]
+ movs r0, #0x78
+ subs r0, r0, r2
+ strh r0, [r6, #2]
+ adds r1, #0x5a
+ ldrh r1, [r1]
+ movs r0, #0x80
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r0, #0
+ mov ip, r3
+_0803E6E2:
+ lsls r5, r0, #0x10
+ asrs r5, r5, #0x10
+ lsls r4, r5, #3
+ adds r4, #8
+ adds r4, r6, r4
+ ldrh r2, [r4]
+ lsls r2, r2, #3
+ adds r2, r2, r7
+ movs r3, #2
+ ldrsh r1, [r4, r3]
+ movs r3, #2
+ ldrsh r0, [r6, r3]
+ adds r1, r1, r0
+ ldr r3, _0803E790 @ =0x000001FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ ldr r0, _0803E794 @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r4]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r2, [r4, #4]
+ adds r0, r0, r2
+ strb r0, [r1]
+ ldrh r2, [r4]
+ lsls r2, r2, #3
+ adds r2, r2, r7
+ lsls r0, r5, #1
+ add r0, sb
+ ldrh r1, [r0]
+ add r1, r8
+ ldr r3, _0803E798 @ =0x000003FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #4]
+ mov r0, sl
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #4]
+ adds r5, #1
+ lsls r5, r5, #0x10
+ lsrs r0, r5, #0x10
+ asrs r5, r5, #0x10
+ cmp r5, #2
+ ble _0803E6E2
+ movs r0, #0x80
+ lsls r0, r0, #9
+ add r0, ip
+ lsrs r3, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0803E6B8
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803E760: .4byte 0x086AF3B2
+_0803E764: .4byte gMain
+_0803E768: .4byte 0x040000D4
+_0803E76C: .4byte 0x08352BD8
+_0803E770: .4byte 0x80000010
+_0803E774: .4byte 0x05000080
+_0803E778: .4byte 0x086AF3BE
+_0803E77C: .4byte gOamBuffer
+_0803E780: .4byte 0x086AF3C6
+_0803E784: .4byte 0xFFFFFC00
+_0803E788: .4byte 0x0200BBA0
+_0803E78C: .4byte gUnknown_020314E0
+_0803E790: .4byte 0x000001FF
+_0803E794: .4byte 0xFFFFFE00
+_0803E798: .4byte 0x000003FF
+
+ thumb_func_start sub_3E79C
+sub_3E79C: @ 0x0803E79C
+ push {r4, r5, r6, r7, lr}
+ ldr r0, _0803E7FC @ =gMain
+ ldr r0, [r0, #0x4c]
+ movs r1, #0xa
+ bl __umodsi3
+ movs r4, #0
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r4, r0
+ bge _0803E7C8
+ adds r5, r0, #0
+_0803E7B4:
+ bl Random
+ lsls r0, r4, #0x10
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r0, r1
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, r5
+ blt _0803E7B4
+_0803E7C8:
+ ldr r4, _0803E800 @ =gUnknown_020314E0
+ ldr r1, [r4]
+ movs r2, #0
+ movs r0, #0
+ strh r0, [r1, #0x18]
+ strb r2, [r1, #0x17]
+ ldr r0, [r4]
+ strb r2, [r0, #0x13]
+ ldr r5, [r4]
+ ldr r2, _0803E804 @ =0x00000283
+ adds r0, r5, r2
+ ldrb r0, [r0]
+ movs r1, #0xa
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ adds r6, r4, #0
+ cmp r0, #9
+ bne _0803E808
+ movs r3, #0xe1
+ lsls r3, r3, #2
+ adds r1, r5, r3
+ movs r0, #0x12
+ b _0803E810
+ .align 2, 0
+_0803E7FC: .4byte gMain
+_0803E800: .4byte gUnknown_020314E0
+_0803E804: .4byte 0x00000283
+_0803E808:
+ movs r4, #0xe1
+ lsls r4, r4, #2
+ adds r1, r5, r4
+ movs r0, #0xf
+_0803E810:
+ strb r0, [r1]
+ ldr r0, [r6]
+ movs r5, #0xa5
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ movs r3, #0
+ strb r3, [r0]
+ ldr r1, [r6]
+ adds r4, r1, #0
+ adds r4, #0x6c
+ ldr r7, _0803EAB4 @ =0x00002A30
+ adds r0, r7, #0
+ ldrh r2, [r4]
+ adds r0, r0, r2
+ adds r5, #2
+ adds r2, r1, r5
+ movs r5, #0
+ strh r0, [r2]
+ strh r3, [r4]
+ movs r7, #0xe2
+ lsls r7, r7, #2
+ adds r1, r1, r7
+ movs r4, #3
+ strb r4, [r1]
+ ldr r0, [r6]
+ ldr r2, _0803EAB8 @ =0x00000392
+ adds r1, r0, r2
+ strh r3, [r1]
+ ldr r7, _0803EABC @ =0x0000132C
+ adds r0, r0, r7
+ ldr r0, [r0]
+ movs r2, #1
+ strb r2, [r0]
+ ldr r0, [r6]
+ movs r1, #0xe6
+ adds r1, r1, r0
+ mov ip, r1
+ ldr r1, _0803EAC0 @ =0x0000FFA8
+ mov r7, ip
+ strh r1, [r7]
+ ldr r1, _0803EAC4 @ =0x00000387
+ adds r0, r0, r1
+ strb r2, [r0]
+ ldr r0, [r6]
+ ldr r2, _0803EAC8 @ =0x000006C4
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r6]
+ ldr r4, _0803EACC @ =0x00000382
+ adds r0, r0, r4
+ strb r5, [r0]
+ ldr r0, [r6]
+ ldr r7, _0803EAD0 @ =0x00000383
+ adds r0, r0, r7
+ strb r5, [r0]
+ ldr r0, [r6]
+ subs r1, #2
+ adds r0, r0, r1
+ strb r5, [r0]
+ ldr r0, [r6]
+ ldr r2, _0803EAD4 @ =0x00000386
+ adds r0, r0, r2
+ strb r5, [r0]
+ ldr r0, [r6]
+ adds r4, #7
+ adds r0, r0, r4
+ strb r5, [r0]
+ ldr r0, [r6]
+ ldr r5, _0803EAD8 @ =0x0000038A
+ adds r1, r0, r5
+ strh r3, [r1]
+ adds r7, #9
+ adds r1, r0, r7
+ strh r3, [r1]
+ adds r2, #8
+ adds r1, r0, r2
+ strh r3, [r1]
+ adds r4, #7
+ adds r1, r0, r4
+ strh r3, [r1]
+ adds r5, #0xa
+ adds r0, r0, r5
+ strh r3, [r0]
+ movs r4, #0
+ mov ip, r6
+ adds r7, #0x38
+ adds r5, #0x32
+_0803E8BE:
+ mov r0, ip
+ ldr r2, [r0]
+ lsls r0, r4, #0x10
+ asrs r0, r0, #0x10
+ lsls r1, r0, #2
+ adds r2, r2, r1
+ adds r1, r2, r7
+ strh r3, [r1]
+ adds r2, r2, r5
+ strh r3, [r2]
+ adds r0, #1
+ lsls r0, r0, #0x10
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #2
+ ble _0803E8BE
+ ldr r0, [r6]
+ movs r1, #0xf7
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r2, #0
+ strb r2, [r0]
+ ldr r0, [r6]
+ ldr r3, _0803EADC @ =0x000003DD
+ adds r0, r0, r3
+ strb r2, [r0]
+ ldr r0, [r6]
+ ldr r4, _0803EAE0 @ =0x000003DE
+ adds r0, r0, r4
+ strb r2, [r0]
+ ldr r0, [r6]
+ ldr r5, _0803EAE4 @ =0x000003DF
+ adds r0, r0, r5
+ strb r2, [r0]
+ ldr r0, [r6]
+ movs r7, #0xf8
+ lsls r7, r7, #2
+ adds r0, r0, r7
+ strb r2, [r0]
+ ldr r0, [r6]
+ adds r3, #5
+ adds r1, r0, r3
+ movs r3, #0
+ strh r2, [r1]
+ adds r4, #3
+ adds r0, r0, r4
+ strb r3, [r0]
+ ldr r0, [r6]
+ adds r5, #5
+ adds r1, r0, r5
+ strh r2, [r1]
+ adds r7, #6
+ adds r1, r0, r7
+ strh r2, [r1]
+ movs r3, #0xfa
+ lsls r3, r3, #2
+ adds r1, r0, r3
+ strh r2, [r1]
+ adds r4, #9
+ adds r1, r0, r4
+ strh r2, [r1]
+ adds r5, #8
+ adds r1, r0, r5
+ strh r2, [r1]
+ adds r7, #8
+ adds r1, r0, r7
+ strh r2, [r1]
+ adds r3, #8
+ adds r1, r0, r3
+ strh r2, [r1]
+ adds r4, #8
+ adds r1, r0, r4
+ strh r2, [r1]
+ adds r5, #0x28
+ adds r1, r0, r5
+ strh r2, [r1]
+ adds r7, #0x28
+ adds r1, r0, r7
+ strh r2, [r1]
+ adds r3, #0x28
+ adds r1, r0, r3
+ strh r2, [r1]
+ adds r4, #0x28
+ adds r1, r0, r4
+ strh r2, [r1]
+ adds r5, #0x3e
+ adds r0, r0, r5
+ strh r2, [r0]
+ movs r4, #0
+ adds r7, r6, #0
+ movs r5, #0
+_0803E974:
+ ldr r0, [r7]
+ lsls r2, r4, #0x10
+ asrs r2, r2, #0x10
+ ldr r1, _0803EAE8 @ =0x00000441
+ adds r0, r0, r1
+ adds r0, r0, r2
+ strb r5, [r0]
+ ldr r0, [r7]
+ ldr r3, _0803EAEC @ =0x00000443
+ adds r0, r0, r3
+ adds r0, r0, r2
+ strb r5, [r0]
+ ldr r1, [r7]
+ lsls r3, r2, #1
+ movs r4, #0x8b
+ lsls r4, r4, #3
+ adds r0, r1, r4
+ adds r0, r0, r3
+ strh r5, [r0]
+ lsls r0, r2, #2
+ adds r1, r1, r0
+ ldr r3, _0803EAF0 @ =0x0000045C
+ adds r0, r1, r3
+ strh r5, [r0]
+ adds r4, #6
+ adds r0, r1, r4
+ strh r5, [r0]
+ adds r3, #8
+ adds r0, r1, r3
+ strh r5, [r0]
+ adds r4, #8
+ adds r1, r1, r4
+ strh r5, [r1]
+ adds r2, #1
+ lsls r2, r2, #0x10
+ lsrs r4, r2, #0x10
+ asrs r2, r2, #0x10
+ cmp r2, #1
+ ble _0803E974
+ ldr r0, [r6]
+ movs r5, #0x99
+ lsls r5, r5, #3
+ adds r0, r0, r5
+ movs r2, #0
+ strb r2, [r0]
+ ldr r0, [r6]
+ ldr r7, _0803EAF4 @ =0x0000047F
+ adds r0, r0, r7
+ strb r2, [r0]
+ ldr r1, [r6]
+ adds r3, #0x1c
+ adds r0, r1, r3
+ movs r3, #0
+ strh r2, [r0]
+ ldr r4, _0803EAF8 @ =0x00000486
+ adds r0, r1, r4
+ strh r2, [r0]
+ adds r5, #0x3c
+ adds r1, r1, r5
+ strb r3, [r1]
+ ldr r0, [r6]
+ adds r7, #0x86
+ adds r0, r0, r7
+ strb r3, [r0]
+ ldr r0, [r6]
+ ldr r1, _0803EAFC @ =0x00000506
+ adds r0, r0, r1
+ strb r3, [r0]
+ ldr r0, [r6]
+ adds r4, #0x81
+ adds r0, r0, r4
+ strb r3, [r0]
+ ldr r0, [r6]
+ adds r5, #4
+ adds r1, r0, r5
+ strh r2, [r1]
+ adds r7, #5
+ adds r1, r0, r7
+ strh r2, [r1]
+ ldr r3, _0803EB00 @ =0x0000050C
+ adds r1, r0, r3
+ strh r2, [r1]
+ adds r4, #7
+ adds r1, r0, r4
+ strh r2, [r1]
+ adds r5, #8
+ adds r1, r0, r5
+ strh r2, [r1]
+ adds r7, #8
+ adds r1, r0, r7
+ strh r2, [r1]
+ adds r3, #8
+ adds r1, r0, r3
+ strh r2, [r1]
+ adds r4, #8
+ adds r1, r0, r4
+ strh r2, [r1]
+ adds r5, #8
+ adds r1, r0, r5
+ strh r2, [r1]
+ adds r7, #8
+ adds r1, r0, r7
+ strh r2, [r1]
+ adds r3, #8
+ adds r1, r0, r3
+ strh r2, [r1]
+ adds r4, #8
+ adds r1, r0, r4
+ strh r2, [r1]
+ adds r5, #8
+ adds r1, r0, r5
+ strh r2, [r1]
+ adds r7, #8
+ adds r1, r0, r7
+ strh r2, [r1]
+ adds r3, #8
+ adds r1, r0, r3
+ strh r2, [r1]
+ adds r4, #8
+ adds r1, r0, r4
+ strh r2, [r1]
+ adds r5, #8
+ adds r1, r0, r5
+ strh r2, [r1]
+ adds r7, #8
+ adds r1, r0, r7
+ strh r2, [r1]
+ movs r1, #1
+ strb r1, [r0, #0x1a]
+ bl sub_423D8
+ ldr r4, _0803EB04 @ =0x040000D4
+ ldr r0, _0803EB08 @ =0x083C5A2C
+ str r0, [r4]
+ ldr r0, _0803EB0C @ =0x06015800
+ str r0, [r4, #4]
+ ldr r0, _0803EB10 @ =0x80001400
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _0803EB14 @ =0x084AA18C
+ str r0, [r4]
+ ldr r0, _0803EB18 @ =0x06011620
+ str r0, [r4, #4]
+ ldr r0, _0803EB1C @ =0x80000430
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ bl sub_3EDF0
+ bl sub_3FAE0
+ ldr r0, _0803EB20 @ =0x081B36A4
+ str r0, [r4]
+ ldr r0, _0803EB24 @ =0x05000320
+ str r0, [r4, #4]
+ ldr r0, _0803EB28 @ =0x80000010
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803EAB4: .4byte 0x00002A30
+_0803EAB8: .4byte 0x00000392
+_0803EABC: .4byte 0x0000132C
+_0803EAC0: .4byte 0x0000FFA8
+_0803EAC4: .4byte 0x00000387
+_0803EAC8: .4byte 0x000006C4
+_0803EACC: .4byte 0x00000382
+_0803EAD0: .4byte 0x00000383
+_0803EAD4: .4byte 0x00000386
+_0803EAD8: .4byte 0x0000038A
+_0803EADC: .4byte 0x000003DD
+_0803EAE0: .4byte 0x000003DE
+_0803EAE4: .4byte 0x000003DF
+_0803EAE8: .4byte 0x00000441
+_0803EAEC: .4byte 0x00000443
+_0803EAF0: .4byte 0x0000045C
+_0803EAF4: .4byte 0x0000047F
+_0803EAF8: .4byte 0x00000486
+_0803EAFC: .4byte 0x00000506
+_0803EB00: .4byte 0x0000050C
+_0803EB04: .4byte 0x040000D4
+_0803EB08: .4byte 0x083C5A2C
+_0803EB0C: .4byte 0x06015800
+_0803EB10: .4byte 0x80001400
+_0803EB14: .4byte 0x084AA18C
+_0803EB18: .4byte 0x06011620
+_0803EB1C: .4byte 0x80000430
+_0803EB20: .4byte 0x081B36A4
+_0803EB24: .4byte 0x05000320
+_0803EB28: .4byte 0x80000010
+
+ thumb_func_start sub_3EB2C
+sub_3EB2C: @ 0x0803EB2C
+ push {r4, r5, lr}
+ ldr r0, _0803EB48 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldrb r0, [r0, #0x13]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #6
+ bls _0803EB3E
+ b _0803ED6C
+_0803EB3E:
+ lsls r0, r0, #2
+ ldr r1, _0803EB4C @ =_0803EB50
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803EB48: .4byte gUnknown_020314E0
+_0803EB4C: .4byte _0803EB50
+_0803EB50: @ jump table
+ .4byte _0803EB6C @ case 0
+ .4byte _0803ED6C @ case 1
+ .4byte _0803EBA4 @ case 2
+ .4byte _0803EC0C @ case 3
+ .4byte _0803EC8C @ case 4
+ .4byte _0803ECE8 @ case 5
+ .4byte _0803ED54 @ case 6
+_0803EB6C:
+ ldr r3, _0803EB98 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldr r1, _0803EB9C @ =0x000005F7
+ adds r0, r0, r1
+ movs r4, #0
+ movs r1, #1
+ strb r1, [r0]
+ ldr r1, [r3]
+ ldr r2, _0803EBA0 @ =0x00000506
+ adds r0, r1, r2
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ cmp r2, #1
+ beq _0803EB8A
+ b _0803ED6C
+_0803EB8A:
+ adds r0, r1, #0
+ adds r0, #0xe6
+ strh r4, [r0]
+ strb r2, [r1, #0x13]
+ ldr r0, [r3]
+ strh r4, [r0, #0x18]
+ b _0803ED6C
+ .align 2, 0
+_0803EB98: .4byte gUnknown_020314E0
+_0803EB9C: .4byte 0x000005F7
+_0803EBA0: .4byte 0x00000506
+_0803EBA4:
+ ldr r2, _0803EBF0 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ movs r3, #0
+ movs r0, #3
+ strb r0, [r1, #0x13]
+ ldr r2, [r2]
+ strh r3, [r2, #0x18]
+ ldr r3, _0803EBF4 @ =gMain
+ movs r4, #0xe9
+ lsls r4, r4, #3
+ adds r0, r3, r4
+ movs r4, #1
+ movs r1, #1
+ strh r1, [r0]
+ movs r5, #0xd2
+ lsls r5, r5, #3
+ adds r0, r3, r5
+ strh r1, [r0]
+ ldr r1, _0803EBF8 @ =0x040000D4
+ ldr r0, _0803EBFC @ =0x081408B4
+ str r0, [r1]
+ ldr r0, _0803EC00 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0803EC04 @ =0x80001000
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ movs r0, #0xe5
+ lsls r0, r0, #2
+ adds r1, r2, r0
+ movs r0, #0x88
+ strh r0, [r1]
+ movs r0, #0x80
+ strb r0, [r3, #0xf]
+ ldr r1, _0803EC08 @ =0x000005FA
+ adds r2, r2, r1
+ strb r4, [r2]
+ b _0803ED6C
+ .align 2, 0
+_0803EBF0: .4byte gUnknown_020314E0
+_0803EBF4: .4byte gMain
+_0803EBF8: .4byte 0x040000D4
+_0803EBFC: .4byte 0x081408B4
+_0803EC00: .4byte 0x06015800
+_0803EC04: .4byte 0x80001000
+_0803EC08: .4byte 0x000005FA
+_0803EC0C:
+ bl sub_351A8
+ ldr r4, _0803EC54 @ =gUnknown_020314E0
+ ldr r1, [r4]
+ ldrb r0, [r1, #0x1c]
+ cmp r0, #0
+ beq _0803EC1E
+ movs r0, #0xb5
+ strh r0, [r1, #0x18]
+_0803EC1E:
+ ldr r1, [r4]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xb4
+ bne _0803EC34
+ movs r0, #1
+ strb r0, [r1, #0x1c]
+ ldr r1, [r4]
+ ldr r0, _0803EC58 @ =0x00061A80
+ str r0, [r1, #0x38]
+ ldr r0, _0803EC5C @ =0x05F5E0FF
+ str r0, [r1, #0x3c]
+_0803EC34:
+ ldr r1, [r4]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xef
+ bhi _0803EC60
+ cmp r0, #0x14
+ bne _0803EC4A
+ bl m4aMPlayAllStop
+ movs r0, #0x2b
+ bl m4aSongNumStart
+_0803EC4A:
+ ldr r1, [r4]
+ ldrh r0, [r1, #0x18]
+ adds r0, #1
+ strh r0, [r1, #0x18]
+ b _0803EC74
+ .align 2, 0
+_0803EC54: .4byte gUnknown_020314E0
+_0803EC58: .4byte 0x00061A80
+_0803EC5C: .4byte 0x05F5E0FF
+_0803EC60:
+ movs r0, #0
+ strh r0, [r1, #0x18]
+ movs r0, #6
+ strb r0, [r1, #0x13]
+ ldr r1, [r4]
+ ldr r2, _0803EC80 @ =0x00000283
+ adds r1, r1, r2
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+_0803EC74:
+ ldr r0, _0803EC84 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r4, _0803EC88 @ =0x000005FA
+ adds r0, r0, r4
+ movs r1, #1
+ b _0803ED6A
+ .align 2, 0
+_0803EC80: .4byte 0x00000283
+_0803EC84: .4byte gUnknown_020314E0
+_0803EC88: .4byte 0x000005FA
+_0803EC8C:
+ ldr r2, _0803ECD0 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ movs r0, #5
+ strb r0, [r1, #0x13]
+ ldr r2, [r2]
+ movs r0, #0x8c
+ strh r0, [r2, #0x18]
+ ldr r3, _0803ECD4 @ =gMain
+ movs r5, #0xe9
+ lsls r5, r5, #3
+ adds r0, r3, r5
+ movs r1, #1
+ strh r1, [r0]
+ movs r4, #0xd2
+ lsls r4, r4, #3
+ adds r0, r3, r4
+ strh r1, [r0]
+ ldr r1, _0803ECD8 @ =0x040000D4
+ ldr r0, _0803ECDC @ =0x081408B4
+ str r0, [r1]
+ ldr r0, _0803ECE0 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0803ECE4 @ =0x80001000
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ movs r5, #0xe5
+ lsls r5, r5, #2
+ adds r2, r2, r5
+ movs r0, #0x88
+ strh r0, [r2]
+ movs r0, #0x80
+ strb r0, [r3, #0xf]
+ b _0803ED6C
+ .align 2, 0
+_0803ECD0: .4byte gUnknown_020314E0
+_0803ECD4: .4byte gMain
+_0803ECD8: .4byte 0x040000D4
+_0803ECDC: .4byte 0x081408B4
+_0803ECE0: .4byte 0x06015800
+_0803ECE4: .4byte 0x80001000
+_0803ECE8:
+ bl sub_351A8
+ ldr r3, _0803ED20 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ ldrb r0, [r1, #0x1c]
+ cmp r0, #0
+ beq _0803ECFA
+ movs r0, #0xb5
+ strh r0, [r1, #0x18]
+_0803ECFA:
+ ldr r1, [r3]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xb4
+ bne _0803ED10
+ movs r0, #1
+ strb r0, [r1, #0x1c]
+ ldr r1, [r3]
+ ldr r0, _0803ED24 @ =0x00061A80
+ str r0, [r1, #0x38]
+ ldr r0, _0803ED28 @ =0x05F5E0FF
+ str r0, [r1, #0x3c]
+_0803ED10:
+ ldr r1, [r3]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0xef
+ bhi _0803ED2C
+ adds r0, #1
+ strh r0, [r1, #0x18]
+ b _0803ED6C
+ .align 2, 0
+_0803ED20: .4byte gUnknown_020314E0
+_0803ED24: .4byte 0x00061A80
+_0803ED28: .4byte 0x05F5E0FF
+_0803ED2C:
+ movs r2, #0
+ movs r0, #0
+ strh r0, [r1, #0x18]
+ movs r0, #6
+ strb r0, [r1, #0x13]
+ ldr r1, [r3]
+ ldr r0, _0803ED4C @ =0x00000283
+ adds r1, r1, r0
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ ldr r0, [r3]
+ ldr r1, _0803ED50 @ =0x000001AF
+ adds r0, r0, r1
+ strb r2, [r0]
+ b _0803ED6C
+ .align 2, 0
+_0803ED4C: .4byte 0x00000283
+_0803ED50: .4byte 0x000001AF
+_0803ED54:
+ bl sub_351A8
+ ldr r2, _0803EDDC @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r4, _0803EDE0 @ =0x00000386
+ adds r0, r0, r4
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r5, _0803EDE4 @ =0x000005FA
+ adds r0, r0, r5
+_0803ED6A:
+ strb r1, [r0]
+_0803ED6C:
+ bl sub_423D8
+ bl sub_40288
+ bl sub_3EDF0
+ bl sub_3FAE0
+ ldr r0, _0803EDDC @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r2, #0xa5
+ lsls r2, r2, #2
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _0803EDB4
+ ldr r4, _0803EDE8 @ =0x00000296
+ adds r0, r1, r4
+ ldrh r0, [r0]
+ cmp r0, #1
+ bhi _0803EDB4
+ ldr r4, _0803EDEC @ =gMain
+ ldrb r0, [r4, #0xf]
+ cmp r0, #0
+ bne _0803EDB4
+ bl m4aMPlayAllStop
+ movs r0, #0x2c
+ bl m4aSongNumStart
+ ldrb r1, [r4, #0xf]
+ movs r0, #0x40
+ orrs r0, r1
+ strb r0, [r4, #0xf]
+_0803EDB4:
+ ldr r0, _0803EDDC @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r5, _0803EDE0 @ =0x00000386
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _0803EDD2
+ ldr r0, _0803EDE4 @ =0x000005FA
+ adds r1, r1, r0
+ movs r0, #1
+ strb r0, [r1]
+ bl sub_350F0
+_0803EDD2:
+ bl sub_472E4
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803EDDC: .4byte gUnknown_020314E0
+_0803EDE0: .4byte 0x00000386
+_0803EDE4: .4byte 0x000005FA
+_0803EDE8: .4byte 0x00000296
+_0803EDEC: .4byte gMain
+
+ thumb_func_start sub_3EDF0
+sub_3EDF0: @ 0x0803EDF0
+ push {r4, r5, r6, r7, lr}
+ ldr r0, _0803EE9C @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r2, _0803EEA0 @ =0x00000452
+ adds r5, r1, r2
+ ldrh r4, [r5]
+ adds r6, r0, #0
+ cmp r4, #0
+ beq _0803EE80
+ subs r0, r4, #1
+ strh r0, [r5]
+ ldr r3, _0803EEA4 @ =0x00000389
+ adds r1, r1, r3
+ movs r0, #1
+ strb r0, [r1]
+ ldr r0, [r6]
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ cmp r0, #5
+ bne _0803EE60
+ movs r0, #0x93
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+ ldr r1, [r6]
+ ldr r0, _0803EEA8 @ =0x000F4240
+ str r0, [r1, #0x3c]
+ ldr r4, _0803EEAC @ =0x00000385
+ adds r1, r1, r4
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ movs r0, #7
+ bl sub_11B0
+ ldr r2, [r6]
+ adds r4, r2, r4
+ movs r5, #0xe1
+ lsls r5, r5, #2
+ adds r0, r2, r5
+ movs r1, #0
+ ldrsb r1, [r4, r1]
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r1, r0
+ blt _0803EE60
+ movs r7, #0xf7
+ lsls r7, r7, #2
+ adds r1, r2, r7
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #6
+ beq _0803EE60
+ movs r0, #9
+ strb r0, [r1]
+_0803EE60:
+ ldr r2, _0803EE9C @ =gUnknown_020314E0
+ ldr r5, [r2]
+ ldr r0, _0803EEB0 @ =0x0000050C
+ adds r1, r5, r0
+ movs r0, #0x14
+ strh r0, [r1]
+ ldr r1, _0803EEA0 @ =0x00000452
+ adds r0, r5, r1
+ ldrh r0, [r0]
+ adds r6, r2, #0
+ cmp r0, #0
+ bne _0803EE80
+ ldr r2, _0803EEA4 @ =0x00000389
+ adds r1, r5, r2
+ movs r0, #0
+ strb r0, [r1]
+_0803EE80:
+ ldr r2, [r6]
+ ldr r4, _0803EEB0 @ =0x0000050C
+ adds r3, r2, r4
+ ldrh r0, [r3]
+ cmp r0, #0
+ beq _0803EEB8
+ subs r0, #1
+ movs r1, #0
+ strh r0, [r3]
+ ldr r5, _0803EEB4 @ =0x00000387
+ adds r0, r2, r5
+ strb r1, [r0]
+ b _0803EEC0
+ .align 2, 0
+_0803EE9C: .4byte gUnknown_020314E0
+_0803EEA0: .4byte 0x00000452
+_0803EEA4: .4byte 0x00000389
+_0803EEA8: .4byte 0x000F4240
+_0803EEAC: .4byte 0x00000385
+_0803EEB0: .4byte 0x0000050C
+_0803EEB4: .4byte 0x00000387
+_0803EEB8:
+ ldr r7, _0803EEE0 @ =0x00000387
+ adds r1, r2, r7
+ movs r0, #1
+ strb r0, [r1]
+_0803EEC0:
+ ldr r0, [r6]
+ movs r1, #0xf7
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0xf
+ bls _0803EED6
+ bl _0803FA78
+_0803EED6:
+ lsls r0, r0, #2
+ ldr r1, _0803EEE4 @ =_0803EEE8
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803EEE0: .4byte 0x00000387
+_0803EEE4: .4byte _0803EEE8
+_0803EEE8: @ jump table
+ .4byte _0803EF28 @ case 0
+ .4byte _0803EF84 @ case 1
+ .4byte _0803F00C @ case 2
+ .4byte _0803F0A4 @ case 3
+ .4byte _0803F154 @ case 4
+ .4byte _0803F210 @ case 5
+ .4byte _0803F334 @ case 6
+ .4byte _0803F460 @ case 7
+ .4byte _0803F550 @ case 8
+ .4byte _0803F68C @ case 9
+ .4byte _0803F788 @ case 10
+ .4byte _0803F814 @ case 11
+ .4byte _0803F8DC @ case 12
+ .4byte _0803F9D0 @ case 13
+ .4byte _0803FA2E @ case 14
+ .4byte _0803FA78 @ case 15
+_0803EF28:
+ ldr r3, _0803EF74 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ movs r4, #0xfa
+ lsls r4, r4, #2
+ adds r2, r1, r4
+ movs r5, #0
+ movs r4, #0
+ ldr r0, _0803EF78 @ =0x00000474
+ strh r0, [r2]
+ ldr r7, _0803EF7C @ =0x000003EA
+ adds r2, r1, r7
+ movs r0, #0x96
+ lsls r0, r0, #4
+ strh r0, [r2]
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r1, r0
+ movs r0, #1
+ strb r0, [r1]
+ ldr r1, [r3]
+ subs r7, #8
+ adds r2, r1, r7
+ movs r0, #0xd
+ strh r0, [r2]
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r0, r1, r2
+ strh r4, [r0]
+ subs r7, #1
+ adds r1, r1, r7
+ strb r5, [r1]
+ ldr r0, [r3]
+ ldr r1, _0803EF80 @ =0x0000051A
+ adds r0, r0, r1
+ strh r4, [r0]
+ bl _0803FA78
+ .align 2, 0
+_0803EF74: .4byte gUnknown_020314E0
+_0803EF78: .4byte 0x00000474
+_0803EF7C: .4byte 0x000003EA
+_0803EF80: .4byte 0x0000051A
+_0803EF84:
+ ldr r2, [r6]
+ ldr r7, _0803EFF4 @ =0x00000516
+ adds r0, r2, r7
+ ldrh r1, [r0]
+ ldr r0, _0803EFF8 @ =0x00000212
+ cmp r1, r0
+ bls _0803EFD2
+ ldr r3, _0803EFFC @ =0x000003EA
+ adds r2, r2, r3
+ ldrh r5, [r2]
+ movs r4, #0
+ ldrsh r1, [r2, r4]
+ ldr r0, _0803F000 @ =0xFFFFFB50
+ cmp r1, r0
+ ble _0803EFA8
+ adds r0, r5, #0
+ subs r0, #0x46
+ strh r0, [r2]
+_0803EFA8:
+ ldr r2, [r6]
+ adds r0, r2, r7
+ ldrh r1, [r0]
+ movs r0, #0xa8
+ lsls r0, r0, #2
+ cmp r1, r0
+ bne _0803EFD2
+ movs r5, #0xf7
+ lsls r5, r5, #2
+ adds r1, r2, r5
+ movs r2, #0
+ movs r0, #2
+ strb r0, [r1]
+ ldr r0, [r6]
+ movs r7, #0xfa
+ lsls r7, r7, #2
+ adds r1, r0, r7
+ strh r2, [r1]
+ adds r0, r0, r3
+ ldr r1, _0803F004 @ =0x0000FD80
+ strh r1, [r0]
+_0803EFD2:
+ ldr r0, _0803F008 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r1, _0803EFF4 @ =0x00000516
+ adds r0, r2, r1
+ ldrh r1, [r0]
+ ldr r0, _0803EFF8 @ =0x00000212
+ cmp r1, r0
+ beq _0803EFE6
+ bl _0803FA78
+_0803EFE6:
+ movs r3, #0xe4
+ lsls r3, r3, #2
+ adds r1, r2, r3
+ movs r0, #0x19
+ strh r0, [r1]
+ bl _0803FA78
+ .align 2, 0
+_0803EFF4: .4byte 0x00000516
+_0803EFF8: .4byte 0x00000212
+_0803EFFC: .4byte 0x000003EA
+_0803F000: .4byte 0xFFFFFB50
+_0803F004: .4byte 0x0000FD80
+_0803F008: .4byte gUnknown_020314E0
+_0803F00C:
+ ldr r2, _0803F038 @ =0x086AF3CC
+ ldr r3, [r6]
+ ldr r4, _0803F03C @ =0x000003E2
+ adds r5, r3, r4
+ movs r7, #0
+ ldrsh r1, [r5, r7]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r1, r3, r2
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r0, r2
+ bls _0803F040
+ adds r0, r2, #1
+ strh r0, [r1]
+ b _0803F056
+ .align 2, 0
+_0803F038: .4byte 0x086AF3CC
+_0803F03C: .4byte 0x000003E2
+_0803F040:
+ movs r0, #0
+ strh r0, [r1]
+ ldrh r0, [r5]
+ adds r0, #1
+ strh r0, [r5]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x3f
+ bne _0803F056
+ movs r0, #0xd
+ strh r0, [r5]
+_0803F056:
+ ldr r0, _0803F09C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r3, _0803F0A0 @ =0x000003EA
+ adds r1, r0, r3
+ ldrh r2, [r1]
+ movs r4, #0
+ ldrsh r0, [r1, r4]
+ cmp r0, #0
+ bge _0803F07E
+ adds r0, r2, #0
+ adds r0, #0x12
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ ble _0803F07E
+ movs r0, #0
+ strh r0, [r1]
+ movs r0, #0x2a
+ bl m4aSongNumStart
+_0803F07E:
+ ldr r3, _0803F09C @ =gUnknown_020314E0
+ ldr r1, [r3]
+ ldr r5, _0803F0A0 @ =0x000003EA
+ adds r0, r1, r5
+ movs r7, #0
+ ldrsh r2, [r0, r7]
+ cmp r2, #0
+ beq _0803F092
+ bl _0803FA78
+_0803F092:
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r1, r0
+ b _0803F128
+ .align 2, 0
+_0803F09C: .4byte gUnknown_020314E0
+_0803F0A0: .4byte 0x000003EA
+_0803F0A4:
+ ldr r2, _0803F0D0 @ =0x086AF3CC
+ ldr r3, [r6]
+ ldr r5, _0803F0D4 @ =0x000003E2
+ adds r4, r3, r5
+ movs r7, #0
+ ldrsh r1, [r4, r7]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r1, #0xf9
+ lsls r1, r1, #2
+ adds r3, r3, r1
+ ldrh r1, [r3]
+ ldrh r0, [r0]
+ cmp r0, r1
+ bls _0803F0D8
+ adds r0, r1, #1
+ strh r0, [r3]
+ b _0803F0EE
+ .align 2, 0
+_0803F0D0: .4byte 0x086AF3CC
+_0803F0D4: .4byte 0x000003E2
+_0803F0D8:
+ movs r0, #0
+ strh r0, [r3]
+ ldrh r0, [r4]
+ adds r0, #1
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x3f
+ bne _0803F0EE
+ movs r0, #0xd
+ strh r0, [r4]
+_0803F0EE:
+ ldr r0, [r6]
+ ldr r2, _0803F144 @ =0x000003EA
+ adds r1, r0, r2
+ ldrh r2, [r1]
+ movs r3, #0
+ ldrsh r0, [r1, r3]
+ cmp r0, #0
+ bge _0803F10E
+ adds r0, r2, #0
+ adds r0, #0x12
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ ble _0803F10E
+ movs r0, #0
+ strh r0, [r1]
+_0803F10E:
+ ldr r3, _0803F148 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ ldr r4, _0803F144 @ =0x000003EA
+ adds r0, r1, r4
+ movs r5, #0
+ ldrsh r2, [r0, r5]
+ cmp r2, #0
+ beq _0803F122
+ bl _0803FA78
+_0803F122:
+ movs r7, #0xf7
+ lsls r7, r7, #2
+ adds r1, r1, r7
+_0803F128:
+ movs r0, #5
+ strb r0, [r1]
+ ldr r0, [r3]
+ ldr r1, _0803F14C @ =0x000003E1
+ adds r0, r0, r1
+ strb r2, [r0]
+ ldr r0, [r3]
+ ldr r2, _0803F150 @ =0x000003DD
+ adds r0, r0, r2
+ movs r1, #6
+ strb r1, [r0]
+ bl _0803FA78
+ .align 2, 0
+_0803F144: .4byte 0x000003EA
+_0803F148: .4byte gUnknown_020314E0
+_0803F14C: .4byte 0x000003E1
+_0803F150: .4byte 0x000003DD
+_0803F154:
+ ldr r2, _0803F180 @ =0x086AF3CC
+ ldr r3, [r6]
+ ldr r5, _0803F184 @ =0x000003E2
+ adds r4, r3, r5
+ movs r7, #0
+ ldrsh r1, [r4, r7]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r1, #0xf9
+ lsls r1, r1, #2
+ adds r3, r3, r1
+ ldrh r1, [r3]
+ ldrh r0, [r0]
+ cmp r0, r1
+ bls _0803F188
+ adds r0, r1, #1
+ strh r0, [r3]
+ b _0803F19E
+ .align 2, 0
+_0803F180: .4byte 0x086AF3CC
+_0803F184: .4byte 0x000003E2
+_0803F188:
+ movs r0, #0
+ strh r0, [r3]
+ ldrh r0, [r4]
+ adds r0, #1
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x22
+ bne _0803F19E
+ movs r0, #0x21
+ strh r0, [r4]
+_0803F19E:
+ ldr r1, [r6]
+ ldr r2, _0803F200 @ =0x000003E2
+ adds r0, r1, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ cmp r0, #0x21
+ bne _0803F1D0
+ ldr r4, _0803F204 @ =0x000003EA
+ adds r1, r1, r4
+ ldrh r2, [r1]
+ movs r5, #0
+ ldrsh r0, [r1, r5]
+ ldr r3, _0803F208 @ =0xFFFFFD00
+ cmp r0, r3
+ ble _0803F1D0
+ adds r0, r2, #0
+ subs r0, #0x18
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, r3
+ bge _0803F1D0
+ movs r0, #0xfd
+ lsls r0, r0, #8
+ strh r0, [r1]
+_0803F1D0:
+ ldr r4, _0803F20C @ =gUnknown_020314E0
+ ldr r3, [r4]
+ ldr r7, _0803F204 @ =0x000003EA
+ adds r0, r3, r7
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ ldr r0, _0803F208 @ =0xFFFFFD00
+ cmp r1, r0
+ beq _0803F1E6
+ bl _0803FA78
+_0803F1E6:
+ ldr r5, _0803F200 @ =0x000003E2
+ adds r0, r3, r5
+ movs r2, #0
+ movs r1, #0
+ strh r1, [r0]
+ subs r7, #6
+ adds r0, r3, r7
+ strh r1, [r0]
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r3, r0
+ movs r0, #7
+ b _0803F8BC
+ .align 2, 0
+_0803F200: .4byte 0x000003E2
+_0803F204: .4byte 0x000003EA
+_0803F208: .4byte 0xFFFFFD00
+_0803F20C: .4byte gUnknown_020314E0
+_0803F210:
+ ldr r2, _0803F23C @ =0x086AF3CC
+ ldr r5, [r6]
+ ldr r4, _0803F240 @ =0x000003E2
+ adds r3, r5, r4
+ movs r7, #0
+ ldrsh r1, [r3, r7]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r1, r5, r2
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r0, r2
+ bls _0803F244
+ adds r0, r2, #1
+ strh r0, [r1]
+ b _0803F2DC
+ .align 2, 0
+_0803F23C: .4byte 0x086AF3CC
+_0803F240: .4byte 0x000003E2
+_0803F244:
+ movs r4, #0
+ mov ip, r4
+ movs r0, #0
+ strh r0, [r1]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x3f
+ bne _0803F2DC
+ ldr r4, _0803F274 @ =0x000003E1
+ adds r1, r5, r4
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #5
+ bgt _0803F278
+ movs r0, #0xd
+ strh r0, [r3]
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ b _0803F2DC
+ .align 2, 0
+_0803F274: .4byte 0x000003E1
+_0803F278:
+ ldr r7, _0803F2A8 @ =0x000003DD
+ adds r0, r5, r7
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ cmp r2, #6
+ bne _0803F2C6
+ ldr r1, _0803F2AC @ =0x00000385
+ adds r0, r5, r1
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ subs r7, #0x59
+ adds r0, r5, r7
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ subs r0, #1
+ cmp r1, r0
+ blt _0803F2B0
+ movs r0, #0xd
+ strh r0, [r3]
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r5, r0
+ b _0803F2D0
+ .align 2, 0
+_0803F2A8: .4byte 0x000003DD
+_0803F2AC: .4byte 0x00000385
+_0803F2B0:
+ movs r0, #0x62
+ strh r0, [r3]
+ movs r3, #0xf7
+ lsls r3, r3, #2
+ adds r0, r5, r3
+ strb r2, [r0]
+ ldr r0, [r6]
+ adds r0, r0, r4
+ mov r4, ip
+ strb r4, [r0]
+ b _0803F2DC
+_0803F2C6:
+ movs r0, #0xd
+ strh r0, [r3]
+ movs r7, #0xf7
+ lsls r7, r7, #2
+ adds r1, r5, r7
+_0803F2D0:
+ movs r0, #4
+ strb r0, [r1]
+ ldr r0, [r6]
+ adds r0, r0, r4
+ mov r1, ip
+ strb r1, [r0]
+_0803F2DC:
+ ldr r4, _0803F324 @ =gUnknown_020314E0
+ ldr r1, [r4]
+ ldr r2, _0803F328 @ =0x000003E1
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #1
+ bgt _0803F2F0
+ b _0803FA78
+_0803F2F0:
+ ldr r3, _0803F32C @ =0x00000512
+ adds r1, r1, r3
+ ldrh r0, [r1]
+ adds r0, #0x80
+ strh r0, [r1]
+ ldrh r0, [r1]
+ bl sub_C24
+ adds r1, r0, #0
+ ldr r4, [r4]
+ lsls r1, r1, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #5
+ subs r0, r0, r1
+ lsls r0, r0, #1
+ ldr r1, _0803F330 @ =0x00004E20
+ bl __divsi3
+ lsls r1, r0, #2
+ adds r1, r1, r0
+ lsls r1, r1, #1
+ movs r5, #0xfa
+ lsls r5, r5, #2
+ adds r4, r4, r5
+ strh r1, [r4]
+ b _0803FA78
+ .align 2, 0
+_0803F324: .4byte gUnknown_020314E0
+_0803F328: .4byte 0x000003E1
+_0803F32C: .4byte 0x00000512
+_0803F330: .4byte 0x00004E20
+_0803F334:
+ ldr r0, [r6]
+ ldr r7, _0803F438 @ =0x00000389
+ adds r0, r0, r7
+ movs r1, #2
+ strb r1, [r0]
+ ldr r2, _0803F43C @ =0x086AF3CC
+ ldr r4, [r6]
+ ldr r5, _0803F440 @ =0x000003E2
+ adds r3, r4, r5
+ movs r0, #0
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r0, r2
+ bls _0803F364
+ b _0803F7AE
+_0803F364:
+ movs r0, #0
+ strh r0, [r1]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x74
+ bne _0803F390
+ ldr r3, _0803F444 @ =0x000003E1
+ adds r1, r4, r3
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xe
+ bgt _0803F390
+ adds r0, r2, #1
+ strb r0, [r1]
+ ldr r0, [r6]
+ adds r0, r0, r5
+ movs r1, #0x72
+ strh r1, [r0]
+_0803F390:
+ ldr r3, [r6]
+ ldr r5, _0803F440 @ =0x000003E2
+ adds r1, r3, r5
+ movs r4, #0
+ ldrsh r0, [r1, r4]
+ cmp r0, #0x83
+ bne _0803F3C8
+ movs r2, #0
+ movs r0, #0x1d
+ strh r0, [r1]
+ ldr r7, _0803F444 @ =0x000003E1
+ adds r0, r3, r7
+ strb r2, [r0]
+ ldr r0, [r6]
+ movs r1, #0xf7
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r1, #5
+ strb r1, [r0]
+ ldr r0, [r6]
+ ldr r3, _0803F448 @ =0x000003DD
+ adds r0, r0, r3
+ movs r1, #4
+ strb r1, [r0]
+ ldr r0, [r6]
+ ldr r4, _0803F438 @ =0x00000389
+ adds r0, r0, r4
+ strb r2, [r0]
+_0803F3C8:
+ ldr r4, [r6]
+ adds r0, r4, r5
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ cmp r0, #0x72
+ bne _0803F404
+ ldr r7, _0803F444 @ =0x000003E1
+ adds r0, r4, r7
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0803F404
+ ldr r2, _0803F44C @ =gMain
+ movs r1, #0xf3
+ lsls r1, r1, #4
+ adds r0, r2, r1
+ movs r3, #1
+ movs r1, #1
+ strh r1, [r0]
+ ldr r5, _0803F450 @ =0x00000FE8
+ adds r0, r2, r5
+ strh r1, [r0]
+ movs r7, #0x85
+ lsls r7, r7, #5
+ adds r2, r2, r7
+ strh r1, [r2]
+ ldr r1, _0803F454 @ =0x00000507
+ adds r0, r4, r1
+ strb r3, [r0]
+_0803F404:
+ ldr r3, _0803F458 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ ldr r2, _0803F440 @ =0x000003E2
+ adds r0, r1, r2
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ cmp r0, #0x78
+ bne _0803F41E
+ movs r5, #0xe4
+ lsls r5, r5, #2
+ adds r1, r1, r5
+ movs r0, #0x15
+ strh r0, [r1]
+_0803F41E:
+ ldr r1, [r3]
+ adds r0, r1, r2
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ cmp r0, #0x7c
+ beq _0803F42C
+ b _0803FA78
+_0803F42C:
+ ldr r0, _0803F45C @ =0x0000050A
+ adds r1, r1, r0
+ movs r0, #0x10
+ strh r0, [r1]
+ b _0803FA78
+ .align 2, 0
+_0803F438: .4byte 0x00000389
+_0803F43C: .4byte 0x086AF3CC
+_0803F440: .4byte 0x000003E2
+_0803F444: .4byte 0x000003E1
+_0803F448: .4byte 0x000003DD
+_0803F44C: .4byte gMain
+_0803F450: .4byte 0x00000FE8
+_0803F454: .4byte 0x00000507
+_0803F458: .4byte gUnknown_020314E0
+_0803F45C: .4byte 0x0000050A
+_0803F460:
+ ldr r2, [r6]
+ movs r3, #0xf9
+ lsls r3, r3, #2
+ adds r1, r2, r3
+ ldrh r0, [r1]
+ cmp r0, #0x77
+ bhi _0803F470
+ b _0803F9EA
+_0803F470:
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r1, r2, r4
+ movs r0, #8
+ strb r0, [r1]
+ ldr r1, _0803F4B0 @ =0x040000D4
+ ldr r0, _0803F4B4 @ =0x084A856C
+ str r0, [r1]
+ ldr r0, _0803F4B8 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0803F4BC @ =0x80000E00
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r0, [r6]
+ ldr r5, _0803F4C0 @ =0x00000504
+ adds r0, r0, r5
+ ldrb r1, [r0]
+ movs r2, #1
+ adds r0, r2, #0
+ ands r0, r1
+ cmp r0, #0
+ beq _0803F4D4
+ ldr r0, _0803F4C4 @ =gMain
+ ldr r7, _0803F4C8 @ =0x000012C8
+ adds r1, r0, r7
+ strh r2, [r1]
+ ldr r3, _0803F4CC @ =0x00001438
+ adds r1, r0, r3
+ strh r2, [r1]
+ ldr r4, _0803F4D0 @ =0x000014F0
+ adds r0, r0, r4
+ b _0803F4EA
+ .align 2, 0
+_0803F4B0: .4byte 0x040000D4
+_0803F4B4: .4byte 0x084A856C
+_0803F4B8: .4byte 0x06015800
+_0803F4BC: .4byte 0x80000E00
+_0803F4C0: .4byte 0x00000504
+_0803F4C4: .4byte gMain
+_0803F4C8: .4byte 0x000012C8
+_0803F4CC: .4byte 0x00001438
+_0803F4D0: .4byte 0x000014F0
+_0803F4D4:
+ ldr r0, _0803F530 @ =gMain
+ movs r5, #0x9c
+ lsls r5, r5, #5
+ adds r1, r0, r5
+ strh r2, [r1]
+ ldr r7, _0803F534 @ =0x00001888
+ adds r1, r0, r7
+ strh r2, [r1]
+ movs r1, #0xca
+ lsls r1, r1, #5
+ adds r0, r0, r1
+_0803F4EA:
+ strh r2, [r0]
+ ldr r3, _0803F538 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ ldr r2, _0803F53C @ =0x00000504
+ adds r1, r1, r2
+ ldrb r0, [r1]
+ adds r0, #1
+ movs r2, #0
+ strb r0, [r1]
+ ldr r0, [r3]
+ ldr r3, _0803F540 @ =0x00000524
+ adds r1, r0, r3
+ strh r2, [r1]
+ ldr r4, _0803F544 @ =0x00000526
+ adds r1, r0, r4
+ strh r2, [r1]
+ movs r5, #0xa5
+ lsls r5, r5, #3
+ adds r1, r0, r5
+ strh r2, [r1]
+ ldr r7, _0803F548 @ =0x0000052A
+ adds r1, r0, r7
+ strh r2, [r1]
+ subs r3, #0x10
+ adds r1, r0, r3
+ strh r2, [r1]
+ movs r4, #0xf9
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ strh r2, [r0]
+ ldr r0, _0803F54C @ =0x00000127
+ bl m4aSongNumStart
+ b _0803FA78
+ .align 2, 0
+_0803F530: .4byte gMain
+_0803F534: .4byte 0x00001888
+_0803F538: .4byte gUnknown_020314E0
+_0803F53C: .4byte 0x00000504
+_0803F540: .4byte 0x00000524
+_0803F544: .4byte 0x00000526
+_0803F548: .4byte 0x0000052A
+_0803F54C: .4byte 0x00000127
+_0803F550:
+ ldr r7, _0803F578 @ =gMain
+ ldr r0, _0803F57C @ =0x000012C8
+ adds r5, r7, r0
+ ldrh r4, [r5]
+ cmp r4, #0
+ beq _0803F5CC
+ ldr r0, [r6]
+ ldr r1, _0803F580 @ =0x00000524
+ adds r2, r0, r1
+ ldrh r3, [r2]
+ movs r4, #0
+ ldrsh r1, [r2, r4]
+ ldr r0, _0803F584 @ =0x000012BF
+ cmp r1, r0
+ bgt _0803F588
+ adds r0, r3, #0
+ adds r0, #0x8c
+ strh r0, [r2]
+ b _0803F58C
+ .align 2, 0
+_0803F578: .4byte gMain
+_0803F57C: .4byte 0x000012C8
+_0803F580: .4byte 0x00000524
+_0803F584: .4byte 0x000012BF
+_0803F588:
+ movs r0, #0
+ strh r0, [r5]
+_0803F58C:
+ ldr r2, [r6]
+ ldr r5, _0803F5C0 @ =0x00000524
+ adds r0, r2, r5
+ movs r7, #0
+ ldrsh r1, [r0, r7]
+ movs r0, #0x96
+ lsls r0, r0, #4
+ cmp r1, r0
+ ble _0803F62C
+ movs r0, #0xa5
+ lsls r0, r0, #3
+ adds r2, r2, r0
+ ldrh r3, [r2]
+ movs r4, #0
+ ldrsh r1, [r2, r4]
+ ldr r0, _0803F5C4 @ =0x0000135F
+ cmp r1, r0
+ bgt _0803F5B6
+ adds r0, r3, #0
+ adds r0, #0xc8
+ strh r0, [r2]
+_0803F5B6:
+ ldr r1, [r6]
+ ldr r5, _0803F5C8 @ =0x00000514
+ adds r1, r1, r5
+ b _0803F626
+ .align 2, 0
+_0803F5C0: .4byte 0x00000524
+_0803F5C4: .4byte 0x0000135F
+_0803F5C8: .4byte 0x00000514
+_0803F5CC:
+ ldr r0, [r6]
+ ldr r1, _0803F5E8 @ =0x00000524
+ adds r2, r0, r1
+ ldrh r3, [r2]
+ movs r5, #0
+ ldrsh r1, [r2, r5]
+ ldr r0, _0803F5EC @ =0xFFFFED40
+ cmp r1, r0
+ ble _0803F5F0
+ adds r0, r3, #0
+ subs r0, #0x8c
+ strh r0, [r2]
+ b _0803F5F8
+ .align 2, 0
+_0803F5E8: .4byte 0x00000524
+_0803F5EC: .4byte 0xFFFFED40
+_0803F5F0:
+ movs r1, #0x9c
+ lsls r1, r1, #5
+ adds r0, r7, r1
+ strh r4, [r0]
+_0803F5F8:
+ ldr r2, [r6]
+ ldr r3, _0803F674 @ =0x00000524
+ adds r0, r2, r3
+ movs r4, #0
+ ldrsh r1, [r0, r4]
+ ldr r0, _0803F678 @ =0xFFFFF6A0
+ cmp r1, r0
+ bge _0803F62C
+ movs r5, #0xa5
+ lsls r5, r5, #3
+ adds r2, r2, r5
+ ldrh r3, [r2]
+ movs r7, #0
+ ldrsh r1, [r2, r7]
+ ldr r0, _0803F67C @ =0xFFFFECA0
+ cmp r1, r0
+ ble _0803F620
+ adds r0, r3, #0
+ subs r0, #0xc8
+ strh r0, [r2]
+_0803F620:
+ ldr r1, [r6]
+ ldr r0, _0803F680 @ =0x00000514
+ adds r1, r1, r0
+_0803F626:
+ ldrh r0, [r1]
+ adds r0, #1
+ strh r0, [r1]
+_0803F62C:
+ ldr r2, _0803F684 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ movs r3, #0xf9
+ lsls r3, r3, #2
+ adds r0, r1, r3
+ ldrh r0, [r0]
+ cmp r0, #0x14
+ bne _0803F646
+ movs r4, #0x99
+ lsls r4, r4, #3
+ adds r1, r1, r4
+ movs r0, #0x3c
+ strb r0, [r1]
+_0803F646:
+ ldr r2, [r2]
+ adds r1, r2, r3
+ ldrh r0, [r1]
+ adds r0, #1
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0xc7
+ bhi _0803F65A
+ b _0803FA78
+_0803F65A:
+ movs r0, #0
+ strh r0, [r1]
+ ldr r5, _0803F688 @ =0x000003E2
+ adds r1, r2, r5
+ movs r0, #0xd
+ strh r0, [r1]
+ movs r7, #0xf7
+ lsls r7, r7, #2
+ adds r1, r2, r7
+ movs r0, #3
+ strb r0, [r1]
+ b _0803FA78
+ .align 2, 0
+_0803F674: .4byte 0x00000524
+_0803F678: .4byte 0xFFFFF6A0
+_0803F67C: .4byte 0xFFFFECA0
+_0803F680: .4byte 0x00000514
+_0803F684: .4byte gUnknown_020314E0
+_0803F688: .4byte 0x000003E2
+_0803F68C:
+ ldr r0, [r6]
+ movs r1, #0xa5
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r5, #0
+ movs r1, #3
+ strb r1, [r0]
+ ldr r4, [r6]
+ ldr r2, _0803F704 @ =0x00000283
+ adds r0, r4, r2
+ ldrb r0, [r0]
+ movs r1, #0xa
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ cmp r0, #9
+ bne _0803F720
+ movs r3, #0xf7
+ lsls r3, r3, #2
+ adds r1, r4, r3
+ movs r0, #0xe
+ strb r0, [r1]
+ ldr r0, [r6]
+ ldr r4, _0803F708 @ =0x000003E2
+ adds r0, r0, r4
+ movs r4, #0
+ strh r5, [r0]
+ ldr r3, _0803F70C @ =gMain
+ ldr r7, _0803F710 @ =0x00000A28
+ adds r0, r3, r7
+ movs r1, #1
+ strh r1, [r0]
+ movs r2, #0x97
+ lsls r2, r2, #4
+ adds r0, r3, r2
+ strh r1, [r0]
+ ldr r1, [r6]
+ movs r7, #0xb3
+ lsls r7, r7, #3
+ adds r2, r1, r7
+ movs r0, #0xc7
+ strh r0, [r2]
+ ldr r2, _0803F714 @ =0x0000038E
+ adds r0, r1, r2
+ strh r5, [r0]
+ adds r7, #0x10
+ adds r1, r1, r7
+ strb r4, [r1]
+ ldr r0, [r6]
+ ldr r2, _0803F718 @ =0x000005A6
+ adds r1, r0, r2
+ strh r5, [r1]
+ ldr r4, _0803F71C @ =0x000005A4
+ adds r0, r0, r4
+ movs r1, #2
+ strb r1, [r0]
+ adds r2, r3, #0
+ b _0803F74C
+ .align 2, 0
+_0803F704: .4byte 0x00000283
+_0803F708: .4byte 0x000003E2
+_0803F70C: .4byte gMain
+_0803F710: .4byte 0x00000A28
+_0803F714: .4byte 0x0000038E
+_0803F718: .4byte 0x000005A6
+_0803F71C: .4byte 0x000005A4
+_0803F720:
+ movs r7, #0xf7
+ lsls r7, r7, #2
+ adds r1, r4, r7
+ movs r0, #0xa
+ strb r0, [r1]
+ ldr r1, [r6]
+ ldr r0, _0803F770 @ =0x000003E2
+ adds r2, r1, r0
+ movs r0, #0x62
+ strh r0, [r2]
+ ldr r2, _0803F774 @ =gMain
+ movs r0, #0x80
+ strb r0, [r2, #0xf]
+ movs r3, #0xe2
+ lsls r3, r3, #2
+ adds r1, r1, r3
+ movs r0, #2
+ strb r0, [r1]
+ ldr r0, [r6]
+ ldr r4, _0803F778 @ =0x00000392
+ adds r0, r0, r4
+ strh r5, [r0]
+_0803F74C:
+ ldr r0, _0803F77C @ =gUnknown_020314E0
+ ldr r4, [r0]
+ movs r5, #0xf9
+ lsls r5, r5, #2
+ adds r1, r4, r5
+ movs r0, #0
+ strh r0, [r1]
+ ldr r7, _0803F780 @ =0x00001CD8
+ adds r0, r2, r7
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _0803F766
+ b _0803FA78
+_0803F766:
+ ldr r0, _0803F784 @ =0x00000486
+ adds r1, r4, r0
+ movs r0, #1
+ strh r0, [r1]
+ b _0803FA78
+ .align 2, 0
+_0803F770: .4byte 0x000003E2
+_0803F774: .4byte gMain
+_0803F778: .4byte 0x00000392
+_0803F77C: .4byte gUnknown_020314E0
+_0803F780: .4byte 0x00001CD8
+_0803F784: .4byte 0x00000486
+_0803F788:
+ ldr r2, _0803F7B4 @ =0x086AF3CC
+ ldr r5, _0803F7B8 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ ldr r6, _0803F7BC @ =0x000003E2
+ adds r3, r4, r6
+ movs r7, #0
+ ldrsh r1, [r3, r7]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r2, #0xf9
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r0, r2
+ bls _0803F7C0
+_0803F7AE:
+ adds r0, r2, #1
+ strh r0, [r1]
+ b _0803FA78
+ .align 2, 0
+_0803F7B4: .4byte 0x086AF3CC
+_0803F7B8: .4byte gUnknown_020314E0
+_0803F7BC: .4byte 0x000003E2
+_0803F7C0:
+ movs r2, #0
+ movs r0, #0
+ strh r0, [r1]
+ ldrh r0, [r3]
+ adds r0, #1
+ strh r0, [r3]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x83
+ bne _0803F7F2
+ movs r0, #0xd
+ strh r0, [r3]
+ ldr r3, _0803F80C @ =0x000003E1
+ adds r0, r4, r3
+ strb r2, [r0]
+ ldr r0, [r5]
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ movs r1, #0xb
+ strb r1, [r0]
+ ldr r0, [r5]
+ ldr r7, _0803F810 @ =0x00000389
+ adds r0, r0, r7
+ strb r2, [r0]
+_0803F7F2:
+ ldr r1, [r5]
+ adds r0, r1, r6
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ cmp r0, #0x78
+ beq _0803F800
+ b _0803FA78
+_0803F800:
+ movs r3, #0xe4
+ lsls r3, r3, #2
+ adds r1, r1, r3
+ movs r0, #0x15
+ strh r0, [r1]
+ b _0803FA78
+ .align 2, 0
+_0803F80C: .4byte 0x000003E1
+_0803F810: .4byte 0x00000389
+_0803F814:
+ ldr r2, _0803F840 @ =0x086AF3CC
+ ldr r3, [r6]
+ ldr r5, _0803F844 @ =0x000003E2
+ adds r4, r3, r5
+ movs r7, #0
+ ldrsh r1, [r4, r7]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r2, #2
+ adds r0, r0, r2
+ movs r1, #0xf9
+ lsls r1, r1, #2
+ adds r3, r3, r1
+ ldrh r1, [r3]
+ ldrh r0, [r0]
+ cmp r0, r1
+ bls _0803F848
+ adds r0, r1, #1
+ strh r0, [r3]
+ b _0803F85E
+ .align 2, 0
+_0803F840: .4byte 0x086AF3CC
+_0803F844: .4byte 0x000003E2
+_0803F848:
+ movs r0, #0
+ strh r0, [r3]
+ ldrh r0, [r4]
+ adds r0, #1
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x22
+ bne _0803F85E
+ movs r0, #0x21
+ strh r0, [r4]
+_0803F85E:
+ ldr r1, [r6]
+ ldr r2, _0803F8C8 @ =0x000003E2
+ adds r0, r1, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ cmp r0, #0x21
+ bne _0803F890
+ ldr r4, _0803F8CC @ =0x000003EA
+ adds r1, r1, r4
+ ldrh r2, [r1]
+ movs r5, #0
+ ldrsh r0, [r1, r5]
+ ldr r3, _0803F8D0 @ =0xFFFFFD00
+ cmp r0, r3
+ ble _0803F890
+ adds r0, r2, #0
+ subs r0, #0x18
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, r3
+ bge _0803F890
+ movs r0, #0xfd
+ lsls r0, r0, #8
+ strh r0, [r1]
+_0803F890:
+ ldr r4, _0803F8D4 @ =gUnknown_020314E0
+ ldr r3, [r4]
+ ldr r7, _0803F8CC @ =0x000003EA
+ adds r0, r3, r7
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ ldr r0, _0803F8D0 @ =0xFFFFFD00
+ cmp r1, r0
+ beq _0803F8A4
+ b _0803FA78
+_0803F8A4:
+ ldr r5, _0803F8C8 @ =0x000003E2
+ adds r0, r3, r5
+ movs r2, #0
+ movs r1, #0
+ strh r1, [r0]
+ subs r7, #6
+ adds r0, r3, r7
+ strh r1, [r0]
+ movs r0, #0xf7
+ lsls r0, r0, #2
+ adds r1, r3, r0
+ movs r0, #0xc
+_0803F8BC:
+ strb r0, [r1]
+ ldr r0, [r4]
+ ldr r1, _0803F8D8 @ =0x000003E1
+ adds r0, r0, r1
+ strb r2, [r0]
+ b _0803FA78
+ .align 2, 0
+_0803F8C8: .4byte 0x000003E2
+_0803F8CC: .4byte 0x000003EA
+_0803F8D0: .4byte 0xFFFFFD00
+_0803F8D4: .4byte gUnknown_020314E0
+_0803F8D8: .4byte 0x000003E1
+_0803F8DC:
+ ldr r1, _0803F980 @ =0x040000D4
+ ldr r0, _0803F984 @ =0x084AA18C
+ str r0, [r1]
+ ldr r0, _0803F988 @ =0x06011620
+ str r0, [r1, #4]
+ ldr r0, _0803F98C @ =0x80000430
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r3, _0803F990 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ movs r2, #0xf7
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ movs r4, #0
+ movs r1, #0xd
+ strb r1, [r0]
+ ldr r1, [r3]
+ movs r5, #0xfa
+ lsls r5, r5, #2
+ adds r2, r1, r5
+ ldr r0, _0803F994 @ =0x00000474
+ strh r0, [r2]
+ ldr r7, _0803F998 @ =0x000003EA
+ adds r2, r1, r7
+ ldr r0, _0803F99C @ =0x0000FB50
+ strh r0, [r2]
+ ldr r0, _0803F9A0 @ =0x00000506
+ adds r1, r1, r0
+ movs r0, #2
+ strb r0, [r1]
+ ldr r0, [r3]
+ ldr r2, _0803F9A4 @ =0x00000516
+ adds r1, r0, r2
+ strh r4, [r1]
+ ldr r5, _0803F9A8 @ =0x000005FA
+ adds r0, r0, r5
+ movs r2, #1
+ strb r2, [r0]
+ ldr r0, _0803F9AC @ =gMain
+ movs r1, #0x80
+ strb r1, [r0, #0xf]
+ ldr r7, _0803F9B0 @ =0x00000D08
+ adds r0, r0, r7
+ strh r2, [r0]
+ ldr r1, [r3]
+ movs r2, #0xf1
+ lsls r2, r2, #2
+ adds r0, r1, r2
+ strh r4, [r0]
+ ldr r3, _0803F9B4 @ =0x000003C6
+ adds r2, r1, r3
+ ldr r0, _0803F9B8 @ =0x0000EC78
+ strh r0, [r2]
+ movs r4, #0xf2
+ lsls r4, r4, #2
+ adds r2, r1, r4
+ movs r0, #0xaf
+ lsls r0, r0, #3
+ strh r0, [r2]
+ ldr r5, _0803F9BC @ =0x000003CA
+ adds r2, r1, r5
+ ldr r0, _0803F9C0 @ =0x0000F830
+ strh r0, [r2]
+ movs r7, #0x83
+ lsls r7, r7, #3
+ adds r2, r1, r7
+ ldr r0, _0803F9C4 @ =0x0000FF38
+ strh r0, [r2]
+ ldr r0, _0803F9C8 @ =0x0000041A
+ adds r2, r1, r0
+ subs r0, #0xfa
+ strh r0, [r2]
+ adds r3, #0x4e
+ adds r2, r1, r3
+ movs r0, #0x18
+ strh r0, [r2]
+ adds r4, #0x4e
+ adds r1, r1, r4
+ ldr r0, _0803F9CC @ =0x0000FFF0
+ strh r0, [r1]
+ b _0803FA78
+ .align 2, 0
+_0803F980: .4byte 0x040000D4
+_0803F984: .4byte 0x084AA18C
+_0803F988: .4byte 0x06011620
+_0803F98C: .4byte 0x80000430
+_0803F990: .4byte gUnknown_020314E0
+_0803F994: .4byte 0x00000474
+_0803F998: .4byte 0x000003EA
+_0803F99C: .4byte 0x0000FB50
+_0803F9A0: .4byte 0x00000506
+_0803F9A4: .4byte 0x00000516
+_0803F9A8: .4byte 0x000005FA
+_0803F9AC: .4byte gMain
+_0803F9B0: .4byte 0x00000D08
+_0803F9B4: .4byte 0x000003C6
+_0803F9B8: .4byte 0x0000EC78
+_0803F9BC: .4byte 0x000003CA
+_0803F9C0: .4byte 0x0000F830
+_0803F9C4: .4byte 0x0000FF38
+_0803F9C8: .4byte 0x0000041A
+_0803F9CC: .4byte 0x0000FFF0
+_0803F9D0:
+ ldr r3, _0803F9F0 @ =gUnknown_020314E0
+ ldr r2, [r3]
+ ldr r5, _0803F9F4 @ =0x00000516
+ adds r0, r2, r5
+ ldrh r0, [r0]
+ cmp r0, #0xff
+ bhi _0803FA18
+ movs r7, #0xf9
+ lsls r7, r7, #2
+ adds r1, r2, r7
+ ldrh r0, [r1]
+ cmp r0, #0x4f
+ bhi _0803F9F8
+_0803F9EA:
+ adds r0, #1
+ strh r0, [r1]
+ b _0803FA78
+ .align 2, 0
+_0803F9F0: .4byte gUnknown_020314E0
+_0803F9F4: .4byte 0x00000516
+_0803F9F8:
+ ldr r0, _0803FA10 @ =0x000003EA
+ adds r2, r2, r0
+ ldrh r3, [r2]
+ movs r4, #0
+ ldrsh r1, [r2, r4]
+ ldr r0, _0803FA14 @ =0x0000095F
+ cmp r1, r0
+ bgt _0803FA78
+ adds r0, r3, #0
+ adds r0, #0x50
+ b _0803FA76
+ .align 2, 0
+_0803FA10: .4byte 0x000003EA
+_0803FA14: .4byte 0x0000095F
+_0803FA18:
+ movs r1, #0
+ movs r0, #2
+ strb r0, [r2, #0x13]
+ ldr r0, [r3]
+ strh r1, [r0, #0x18]
+ movs r5, #0xf7
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ movs r1, #0xf
+ strb r1, [r0]
+ b _0803FA78
+_0803FA2E:
+ ldr r0, _0803FAC0 @ =gUnknown_020314E0
+ ldr r5, [r0]
+ movs r7, #0xe3
+ lsls r7, r7, #2
+ adds r1, r5, r7
+ movs r0, #1
+ strh r0, [r1]
+ ldr r0, _0803FAC4 @ =0x0000038E
+ adds r4, r5, r0
+ ldrh r6, [r4]
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ ldr r1, _0803FAC8 @ =0xFFFFFE0C
+ cmp r0, r1
+ ble _0803FA78
+ subs r0, r1, r0
+ movs r1, #0x1e
+ bl __divsi3
+ adds r0, r6, r0
+ strh r0, [r4]
+ movs r3, #0
+ ldrsh r0, [r4, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r2, r5, #0
+ adds r2, #0xe6
+ strh r0, [r2]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #0x26
+ rsbs r1, r1, #0
+ cmp r0, r1
+ bge _0803FA78
+ ldr r0, _0803FACC @ =0x0000FFDA
+_0803FA76:
+ strh r0, [r2]
+_0803FA78:
+ ldr r5, _0803FAC0 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ movs r4, #0xe4
+ lsls r4, r4, #2
+ adds r1, r0, r4
+ ldrh r0, [r1]
+ cmp r0, #0
+ beq _0803FAB8
+ subs r0, #1
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0x14
+ bne _0803FAA2
+ ldr r0, _0803FAD0 @ =0x086A3700
+ ldr r7, _0803FAD4 @ =0x000012A8
+ adds r0, r0, r7
+ ldrh r0, [r0]
+ movs r1, #0
+ bl sub_528DC
+_0803FAA2:
+ ldr r0, [r5]
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _0803FAB8
+ ldr r0, _0803FAD8 @ =0x02032EE0
+ ldr r1, _0803FADC @ =0x0000FFFF
+ movs r2, #0x80
+ lsls r2, r2, #1
+ bl m4aMPlayVolumeControl
+_0803FAB8:
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803FAC0: .4byte gUnknown_020314E0
+_0803FAC4: .4byte 0x0000038E
+_0803FAC8: .4byte 0xFFFFFE0C
+_0803FACC: .4byte 0x0000FFDA
+_0803FAD0: .4byte 0x086A3700
+_0803FAD4: .4byte 0x000012A8
+_0803FAD8: .4byte 0x02032EE0
+_0803FADC: .4byte 0x0000FFFF
+
+ thumb_func_start sub_3FAE0
+sub_3FAE0: @ 0x0803FAE0
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #4
+ movs r0, #0
+ mov sl, r0
+ movs r1, #0
+ str r1, [sp]
+ ldr r7, _0803FB74 @ =0x0200D2A0
+ ldrh r0, [r7]
+ movs r2, #0xb8
+ rsbs r2, r2, #0
+ adds r2, r2, r7
+ mov sb, r2
+ cmp r0, #0
+ beq _0803FBC4
+ ldr r4, _0803FB78 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ movs r3, #0xfa
+ lsls r3, r3, #2
+ adds r0, r0, r3
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r7, #2]
+ ldr r0, [r4]
+ ldr r2, _0803FB7C @ =0x000003EA
+ adds r0, r0, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r7, #4]
+ movs r2, #0
+ ldr r4, _0803FB80 @ =gOamBuffer
+ ldr r0, _0803FB84 @ =0xFFFFFE00
+ mov r8, r0
+_0803FB34:
+ lsls r1, r2, #0x10
+ asrs r0, r1, #0xd
+ adds r0, #8
+ adds r6, r7, r0
+ movs r0, #4
+ ldrsb r0, [r6, r0]
+ ldrh r2, [r7, #4]
+ adds r0, r0, r2
+ lsls r0, r0, #0x10
+ movs r3, #0xf0
+ lsls r3, r3, #0xe
+ adds r0, r0, r3
+ lsrs r0, r0, #0x10
+ adds r5, r1, #0
+ cmp r0, #0xf0
+ bls _0803FB88
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ ldrh r1, [r2, #2]
+ mov r0, r8
+ ands r0, r1
+ movs r1, #0xf0
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r0, [r6]
+ lsls r0, r0, #3
+ adds r0, r0, r4
+ movs r1, #0xb4
+ strb r1, [r0]
+ b _0803FBB6
+ .align 2, 0
+_0803FB74: .4byte 0x0200D2A0
+_0803FB78: .4byte gUnknown_020314E0
+_0803FB7C: .4byte 0x000003EA
+_0803FB80: .4byte gOamBuffer
+_0803FB84: .4byte 0xFFFFFE00
+_0803FB88:
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r4
+ movs r0, #2
+ ldrsh r1, [r6, r0]
+ movs r2, #2
+ ldrsh r0, [r7, r2]
+ adds r1, r1, r0
+ ldr r2, _0803FC40 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r7, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+_0803FBB6:
+ movs r3, #0x80
+ lsls r3, r3, #9
+ adds r0, r5, r3
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xd
+ ble _0803FB34
+_0803FBC4:
+ mov r7, sb
+ ldrh r4, [r7]
+ mov sb, r4
+ cmp r4, #0
+ bne _0803FBD0
+ b _0803FCD4
+_0803FBD0:
+ ldr r4, _0803FC44 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ movs r1, #0xfa
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r7, #2]
+ ldr r0, [r4]
+ ldr r3, _0803FC48 @ =0x000003EA
+ adds r0, r0, r3
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r7, #4]
+ movs r2, #0
+ ldr r4, _0803FC4C @ =gOamBuffer
+ ldr r3, _0803FC50 @ =0xFFFFFE00
+ mov r8, r3
+_0803FC00:
+ lsls r1, r2, #0x10
+ asrs r0, r1, #0xd
+ adds r0, #8
+ adds r6, r7, r0
+ movs r0, #4
+ ldrsb r0, [r6, r0]
+ ldrh r2, [r7, #4]
+ adds r0, r0, r2
+ lsls r0, r0, #0x10
+ movs r3, #0xf0
+ lsls r3, r3, #0xe
+ adds r0, r0, r3
+ lsrs r0, r0, #0x10
+ adds r5, r1, #0
+ cmp r0, #0xf0
+ bls _0803FC54
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ ldrh r1, [r2, #2]
+ mov r0, r8
+ ands r0, r1
+ movs r1, #0xf0
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r0, [r6]
+ lsls r0, r0, #3
+ adds r0, r0, r4
+ movs r1, #0xb4
+ strb r1, [r0]
+ b _0803FC82
+ .align 2, 0
+_0803FC40: .4byte 0x000001FF
+_0803FC44: .4byte gUnknown_020314E0
+_0803FC48: .4byte 0x000003EA
+_0803FC4C: .4byte gOamBuffer
+_0803FC50: .4byte 0xFFFFFE00
+_0803FC54:
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r4
+ movs r0, #2
+ ldrsh r1, [r6, r0]
+ movs r2, #2
+ ldrsh r0, [r7, r2]
+ adds r1, r1, r0
+ ldr r2, _0803FCB8 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r7, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+_0803FC82:
+ movs r3, #0x80
+ lsls r3, r3, #9
+ adds r0, r5, r3
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xd
+ ble _0803FC00
+ ldr r4, _0803FCBC @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r1, _0803FCC0 @ =0x00000516
+ adds r0, r0, r1
+ ldrh r1, [r0]
+ ldr r0, _0803FCC4 @ =0x0000029F
+ cmp r1, r0
+ beq _0803FCA2
+ b _0804024A
+_0803FCA2:
+ movs r0, #0
+ strh r0, [r7]
+ ldr r0, _0803FCC8 @ =gMain
+ ldr r2, _0803FCCC @ =0x00002070
+ adds r1, r0, r2
+ movs r2, #1
+ strh r2, [r1]
+ ldr r3, _0803FCD0 @ =0x00002350
+ adds r0, r0, r3
+ strh r2, [r0]
+ b _0804024A
+ .align 2, 0
+_0803FCB8: .4byte 0x000001FF
+_0803FCBC: .4byte gUnknown_020314E0
+_0803FCC0: .4byte 0x00000516
+_0803FCC4: .4byte 0x0000029F
+_0803FCC8: .4byte gMain
+_0803FCCC: .4byte 0x00002070
+_0803FCD0: .4byte 0x00002350
+_0803FCD4:
+ subs r7, #0xb8
+ ldrh r0, [r7]
+ cmp r0, #0
+ bne _0803FCDE
+ b _0803FF98
+_0803FCDE:
+ ldr r5, _0803FD84 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ movs r0, #0xfa
+ lsls r0, r0, #2
+ mov r8, r0
+ adds r0, r4, r0
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldrh r1, [r4]
+ subs r1, #0x58
+ subs r0, r0, r1
+ strh r0, [r7, #2]
+ ldr r4, [r5]
+ ldr r6, _0803FD88 @ =0x000003EA
+ adds r0, r4, r6
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x4e
+ subs r0, r0, r1
+ strh r0, [r7, #4]
+ ldr r4, [r5]
+ add r8, r4
+ mov r3, r8
+ movs r1, #0
+ ldrsh r0, [r3, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x74
+ movs r2, #0xa2
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ strh r0, [r1]
+ adds r6, r4, r6
+ movs r3, #0
+ ldrsh r0, [r6, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x3c
+ ldr r2, _0803FD8C @ =0x0000028A
+ adds r1, r4, r2
+ strh r0, [r1]
+ ldr r3, _0803FD90 @ =0x0000051A
+ adds r0, r4, r3
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x5b
+ ble _0803FD98
+ mov r2, r8
+ movs r3, #0
+ ldrsh r0, [r2, r3]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0xac
+ movs r2, #0xfc
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ strh r0, [r1]
+ movs r3, #0
+ ldrsh r0, [r6, r3]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, #0xb8
+ ldr r2, _0803FD94 @ =0x000003F2
+ adds r1, r4, r2
+ b _0803FDA8
+ .align 2, 0
+_0803FD84: .4byte gUnknown_020314E0
+_0803FD88: .4byte 0x000003EA
+_0803FD8C: .4byte 0x0000028A
+_0803FD90: .4byte 0x0000051A
+_0803FD94: .4byte 0x000003F2
+_0803FD98:
+ movs r3, #0xfc
+ lsls r3, r3, #2
+ adds r0, r4, r3
+ mov r1, sb
+ strh r1, [r0]
+ ldr r2, _0803FE1C @ =0x000003F2
+ adds r1, r4, r2
+ ldr r0, _0803FE20 @ =0x0000FF60
+_0803FDA8:
+ strh r0, [r1]
+ movs r3, #4
+ ldrsh r1, [r7, r3]
+ movs r0, #0x46
+ rsbs r0, r0, #0
+ cmp r1, r0
+ bge _0803FDBA
+ ldr r0, _0803FE24 @ =0x0000FFBA
+ strh r0, [r7, #4]
+_0803FDBA:
+ movs r4, #4
+ ldrsh r0, [r7, r4]
+ cmp r0, #0xb4
+ ble _0803FDC6
+ movs r0, #0xb4
+ strh r0, [r7, #4]
+_0803FDC6:
+ ldr r2, _0803FE28 @ =0x086AF3CC
+ ldr r0, _0803FE2C @ =gUnknown_020314E0
+ ldr r3, [r0]
+ ldr r1, _0803FE30 @ =0x000003E2
+ adds r0, r3, r1
+ movs r4, #0
+ ldrsh r1, [r0, r4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r0, r0, r2
+ ldrh r1, [r0]
+ ldr r4, _0803FE34 @ =0x00000389
+ adds r0, r3, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ mov r8, r2
+ cmp r0, #9
+ ble _0803FE40
+ movs r0, #0xb
+ str r0, [sp]
+ ldr r3, _0803FE38 @ =gOamBuffer
+ ldrh r2, [r7, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r3
+ ldrh r1, [r2, #2]
+ ldr r0, _0803FE3C @ =0xFFFFFE00
+ ands r0, r1
+ movs r1, #0xf0
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r0, [r7, #8]
+ lsls r0, r0, #3
+ adds r0, r0, r3
+ movs r1, #0xb4
+ strb r1, [r0]
+ ldrh r1, [r7, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r3
+ movs r3, #0xb0
+ b _0803FF24
+ .align 2, 0
+_0803FE1C: .4byte 0x000003F2
+_0803FE20: .4byte 0x0000FF60
+_0803FE24: .4byte 0x0000FFBA
+_0803FE28: .4byte 0x086AF3CC
+_0803FE2C: .4byte gUnknown_020314E0
+_0803FE30: .4byte 0x000003E2
+_0803FE34: .4byte 0x00000389
+_0803FE38: .4byte gOamBuffer
+_0803FE3C: .4byte 0xFFFFFE00
+_0803FE40:
+ cmp r0, #1
+ bne _0803FE4C
+ movs r2, #2
+ mov sl, r2
+ movs r3, #0xe
+ b _0803FE6C
+_0803FE4C:
+ cmp r0, #3
+ bne _0803FE5A
+ movs r4, #2
+ mov sl, r4
+ movs r0, #0xb
+ str r0, [sp]
+ b _0803FE6E
+_0803FE5A:
+ ldr r2, _0803FF30 @ =0x000003DF
+ adds r0, r3, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ mov sl, r0
+ movs r3, #0xf
+_0803FE6C:
+ str r3, [sp]
+_0803FE6E:
+ ldr r4, _0803FF34 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ movs r2, #0xb5
+ lsls r2, r2, #3
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x15
+ bne _0803FE86
+ movs r3, #8
+ mov sl, r3
+_0803FE86:
+ cmp r0, #0x16
+ bne _0803FE8E
+ movs r4, #9
+ mov sl, r4
+_0803FE8E:
+ ldrh r2, [r7, #8]
+ lsls r2, r2, #3
+ ldr r6, _0803FF38 @ =gOamBuffer
+ adds r2, r2, r6
+ lsls r0, r1, #0x10
+ asrs r0, r0, #0x10
+ lsls r1, r0, #1
+ adds r1, r1, r0
+ lsls r1, r1, #1
+ ldr r0, _0803FF3C @ =0x086B612E
+ adds r1, r1, r0
+ ldrh r0, [r1]
+ strh r0, [r2]
+ adds r1, #2
+ adds r2, #2
+ ldrh r0, [r1]
+ strh r0, [r2]
+ ldrh r0, [r1, #2]
+ strh r0, [r2, #2]
+ ldrh r0, [r7, #8]
+ lsls r0, r0, #3
+ adds r0, r0, r6
+ ldr r1, _0803FF34 @ =gUnknown_020314E0
+ ldr r5, [r1]
+ movs r4, #0
+ ldrsb r4, [r0, r4]
+ adds r4, #0x4e
+ ldr r2, _0803FF40 @ =0x000003EA
+ adds r0, r5, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, r4, r0
+ ldr r0, _0803FF44 @ =0x0000051A
+ adds r5, r5, r0
+ strh r4, [r5]
+ ldrh r2, [r7, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r6
+ ldrh r3, [r2, #2]
+ lsls r1, r3, #0x17
+ lsrs r1, r1, #0x17
+ movs r4, #2
+ ldrsh r0, [r7, r4]
+ adds r1, r1, r0
+ ldr r4, _0803FF48 @ =0x000001FF
+ adds r0, r4, #0
+ ands r1, r0
+ ldr r0, _0803FF4C @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r7, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ ldrb r0, [r7, #4]
+ ldrb r2, [r1]
+ adds r0, r0, r2
+ strb r0, [r1]
+ ldr r3, _0803FF34 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldr r4, _0803FF50 @ =0x00000389
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #1
+ bgt _0803FF54
+ ldrh r1, [r7, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ ldr r0, [sp]
+ lsls r3, r0, #4
+_0803FF24:
+ ldrb r2, [r1, #5]
+ movs r0, #0xf
+ ands r0, r2
+ orrs r0, r3
+ strb r0, [r1, #5]
+ b _0803FF60
+ .align 2, 0
+_0803FF30: .4byte 0x000003DF
+_0803FF34: .4byte gUnknown_020314E0
+_0803FF38: .4byte gOamBuffer
+_0803FF3C: .4byte 0x086B612E
+_0803FF40: .4byte 0x000003EA
+_0803FF44: .4byte 0x0000051A
+_0803FF48: .4byte 0x000001FF
+_0803FF4C: .4byte 0xFFFFFE00
+_0803FF50: .4byte 0x00000389
+_0803FF54:
+ ldrh r0, [r7, #8]
+ lsls r0, r0, #3
+ adds r0, r0, r6
+ ldrb r0, [r0, #5]
+ lsrs r0, r0, #4
+ str r0, [sp]
+_0803FF60:
+ ldr r1, _0803FFB8 @ =gUnknown_020314E0
+ ldr r2, [r1]
+ ldr r3, _0803FFBC @ =0x000003E2
+ adds r0, r2, r3
+ movs r4, #0
+ ldrsh r1, [r0, r4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ mov r1, r8
+ adds r1, #4
+ adds r0, r0, r1
+ ldrh r0, [r0]
+ ldr r1, _0803FFC0 @ =0x000003DF
+ adds r2, r2, r1
+ strb r0, [r2]
+ ldr r2, _0803FFC4 @ =0x040000D4
+ mov r3, sl
+ lsls r0, r3, #0x10
+ asrs r0, r0, #5
+ ldr r1, _0803FFC8 @ =0x084AA9EC
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _0803FFCC @ =0x06011620
+ str r0, [r2, #4]
+ ldr r0, _0803FFD0 @ =0x80000400
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+_0803FF98:
+ ldr r7, _0803FFD4 @ =0x0200C2D0
+ ldrh r0, [r7]
+ cmp r0, #0
+ bne _0803FFA2
+ b _080400C0
+_0803FFA2:
+ mov r4, sl
+ lsls r0, r4, #0x10
+ asrs r5, r0, #0x10
+ cmp r5, #7
+ ble _0803FFD8
+ movs r0, #0
+ strh r0, [r7, #2]
+ strh r0, [r7, #4]
+ mov sl, r0
+ b _0804002E
+ .align 2, 0
+_0803FFB8: .4byte gUnknown_020314E0
+_0803FFBC: .4byte 0x000003E2
+_0803FFC0: .4byte 0x000003DF
+_0803FFC4: .4byte 0x040000D4
+_0803FFC8: .4byte 0x084AA9EC
+_0803FFCC: .4byte 0x06011620
+_0803FFD0: .4byte 0x80000400
+_0803FFD4: .4byte 0x0200C2D0
+_0803FFD8:
+ cmp r5, #5
+ ble _08040028
+ ldr r0, _08040020 @ =gUnknown_020314E0
+ ldr r4, [r0]
+ movs r1, #0xfa
+ lsls r1, r1, #2
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r1, r4, #0
+ adds r1, #0x58
+ ldrh r1, [r1]
+ subs r1, #0x58
+ subs r0, r0, r1
+ strh r0, [r7, #2]
+ ldr r3, _08040024 @ =0x000003EA
+ adds r0, r4, r3
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r0, r0, r1
+ adds r0, #0x60
+ strh r0, [r7, #4]
+ subs r0, r5, #6
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ mov sl, r0
+ b _0804002E
+ .align 2, 0
+_08040020: .4byte gUnknown_020314E0
+_08040024: .4byte 0x000003EA
+_08040028:
+ movs r0, #0
+ strh r0, [r7, #2]
+ strh r0, [r7, #4]
+_0804002E:
+ movs r2, #0
+ ldr r3, [sp]
+ lsls r3, r3, #4
+ mov sb, r3
+ mov r4, sl
+ lsls r1, r4, #0x10
+ ldr r0, _080400F0 @ =gOamBuffer
+ mov r8, r0
+ asrs r1, r1, #0x10
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ mov ip, r0
+ ldr r1, _080400F4 @ =0xFFFFFC00
+ mov sl, r1
+_0804004C:
+ lsls r5, r2, #0x10
+ asrs r5, r5, #0x10
+ lsls r4, r5, #3
+ adds r0, r4, #0
+ adds r0, #8
+ adds r6, r7, r0
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ add r3, r8
+ movs r2, #2
+ ldrsh r1, [r6, r2]
+ movs r2, #2
+ ldrsh r0, [r7, r2]
+ adds r1, r1, r0
+ ldr r2, _080400F8 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ ldr r0, _080400FC @ =0xFFFFFE00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ add r1, r8
+ ldrb r0, [r7, #4]
+ ldrb r3, [r6, #4]
+ adds r0, r0, r3
+ strb r0, [r1]
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ add r2, r8
+ add r4, ip
+ ldr r0, _08040100 @ =0x00000109
+ adds r4, r4, r0
+ ldr r1, _08040104 @ =0x000003FF
+ adds r0, r1, #0
+ ands r4, r0
+ ldrh r1, [r2, #4]
+ mov r0, sl
+ ands r0, r1
+ orrs r0, r4
+ strh r0, [r2, #4]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ add r1, r8
+ ldrb r2, [r1, #5]
+ movs r0, #0xf
+ ands r0, r2
+ mov r2, sb
+ orrs r0, r2
+ strb r0, [r1, #5]
+ adds r5, #1
+ lsls r5, r5, #0x10
+ lsrs r2, r5, #0x10
+ asrs r5, r5, #0x10
+ cmp r5, #1
+ ble _0804004C
+_080400C0:
+ ldr r7, _08040108 @ =0x0200D410
+ ldrh r0, [r7]
+ cmp r0, #0
+ bne _080400CA
+ b _0804024A
+_080400CA:
+ ldr r4, _0804010C @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r3, _08040110 @ =0x0000051A
+ adds r0, r0, r3
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ subs r0, #0x46
+ movs r1, #3
+ bl __divsi3
+ adds r0, #1
+ lsls r0, r0, #0x10
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0
+ bge _08040114
+ movs r1, #0
+ b _0804011A
+ .align 2, 0
+_080400F0: .4byte gOamBuffer
+_080400F4: .4byte 0xFFFFFC00
+_080400F8: .4byte 0x000001FF
+_080400FC: .4byte 0xFFFFFE00
+_08040100: .4byte 0x00000109
+_08040104: .4byte 0x000003FF
+_08040108: .4byte 0x0200D410
+_0804010C: .4byte gUnknown_020314E0
+_08040110: .4byte 0x0000051A
+_08040114:
+ cmp r0, #9
+ ble _0804011A
+ movs r1, #9
+_0804011A:
+ ldr r3, _08040154 @ =gUnknown_020314E0
+ ldr r2, [r3]
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r0, r2, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r6, r1, #0x10
+ cmp r0, #0xe
+ beq _08040180
+ ldr r0, _08040158 @ =0x0000050A
+ adds r3, r2, r0
+ movs r1, #0
+ ldrsh r0, [r3, r1]
+ cmp r0, #0
+ ble _08040160
+ ldr r1, _0804015C @ =gMain
+ ldrh r0, [r1, #0x38]
+ movs r0, #0x9e
+ strh r0, [r1, #0x38]
+ ldrh r0, [r3]
+ ldrh r2, [r1, #0x3c]
+ strh r0, [r1, #0x3c]
+ ldrh r0, [r3]
+ subs r0, #1
+ strh r0, [r3]
+ b _08040180
+ .align 2, 0
+_08040154: .4byte gUnknown_020314E0
+_08040158: .4byte 0x0000050A
+_0804015C: .4byte gMain
+_08040160:
+ ldr r2, _0804025C @ =gMain
+ ldrb r1, [r2, #0xf]
+ movs r0, #0xc0
+ ands r0, r1
+ cmp r0, #0
+ bne _08040180
+ ldrh r0, [r2, #0x38]
+ ldr r0, _08040260 @ =0x00001E10
+ strh r0, [r2, #0x38]
+ movs r0, #0x10
+ asrs r1, r6, #0x10
+ subs r0, r0, r1
+ lsls r0, r0, #8
+ orrs r0, r1
+ ldrh r1, [r2, #0x3a]
+ strh r0, [r2, #0x3a]
+_08040180:
+ ldr r5, _08040264 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ movs r2, #0xfa
+ lsls r2, r2, #2
+ adds r0, r4, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r1, r4, #0
+ adds r1, #0x58
+ ldrh r1, [r1]
+ subs r1, #0x58
+ subs r0, r0, r1
+ movs r1, #0
+ mov r8, r1
+ strh r0, [r7, #2]
+ ldr r2, _08040268 @ =0x000003EA
+ adds r0, r4, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x4e
+ subs r0, r0, r1
+ asrs r1, r6, #0x10
+ adds r1, #0x24
+ adds r0, r0, r1
+ strh r0, [r7, #4]
+ adds r6, r7, #0
+ adds r6, #8
+ ldr r4, _0804026C @ =gOamBuffer
+ ldrh r2, [r7, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ movs r0, #2
+ ldrsh r1, [r6, r0]
+ movs r3, #2
+ ldrsh r0, [r7, r3]
+ adds r1, r1, r0
+ ldr r3, _08040270 @ =0x000001FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ ldr r0, _08040274 @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r7, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r7, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+ ldr r0, [r5]
+ movs r4, #0xf7
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0xc
+ bne _08040226
+ ldr r1, _0804025C @ =gMain
+ ldr r0, _08040278 @ =0x000021E0
+ adds r2, r1, r0
+ movs r0, #1
+ strh r0, [r2]
+ ldr r2, _0804027C @ =0x00002070
+ adds r0, r1, r2
+ mov r3, r8
+ strh r3, [r0]
+ ldr r4, _08040280 @ =0x00002350
+ adds r0, r1, r4
+ strh r3, [r0]
+ ldr r0, _08040284 @ =0x00001210
+ adds r1, r1, r0
+ strh r3, [r1]
+_08040226:
+ ldr r1, _08040264 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ movs r2, #0xb5
+ lsls r2, r2, #3
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x15
+ bne _0804024A
+ ldr r0, _0804025C @ =gMain
+ ldr r3, _08040280 @ =0x00002350
+ adds r1, r0, r3
+ mov r4, r8
+ strh r4, [r1]
+ ldr r1, _08040284 @ =0x00001210
+ adds r0, r0, r1
+ strh r4, [r0]
+_0804024A:
+ add sp, #4
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804025C: .4byte gMain
+_08040260: .4byte 0x00001E10
+_08040264: .4byte gUnknown_020314E0
+_08040268: .4byte 0x000003EA
+_0804026C: .4byte gOamBuffer
+_08040270: .4byte 0x000001FF
+_08040274: .4byte 0xFFFFFE00
+_08040278: .4byte 0x000021E0
+_0804027C: .4byte 0x00002070
+_08040280: .4byte 0x00002350
+_08040284: .4byte 0x00001210
+
+ thumb_func_start sub_40288
+sub_40288: @ 0x08040288
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #0x44
+ movs r0, #0
+ str r0, [sp, #8]
+ movs r1, #0
+ str r1, [sp, #4]
+ movs r7, #0
+ movs r2, #0
+ str r2, [sp]
+ ldr r3, _080402CC @ =0x0200BAE8
+ str r3, [sp, #0x10]
+ ldrh r0, [r3]
+ cmp r0, #0
+ bne _080402AE
+ b _08040444
+_080402AE:
+ ldr r0, _080402D0 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r4, _080402D4 @ =0x000006C4
+ adds r1, r1, r4
+ ldrb r1, [r1]
+ lsls r1, r1, #0x18
+ asrs r1, r1, #0x18
+ cmp r1, #3
+ bne _080402D8
+ movs r0, #0xf0
+ strh r0, [r3, #2]
+ movs r0, #0xb4
+ strh r0, [r3, #4]
+ b _080402E2
+ .align 2, 0
+_080402CC: .4byte 0x0200BAE8
+_080402D0: .4byte gUnknown_020314E0
+_080402D4: .4byte 0x000006C4
+_080402D8:
+ movs r0, #0x60
+ ldr r5, [sp, #0x10]
+ strh r0, [r5, #2]
+ movs r0, #0x37
+ strh r0, [r5, #4]
+_080402E2:
+ ldr r0, _08040468 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r3, [sp, #0x10]
+ ldrh r2, [r3, #2]
+ ldr r4, _0804046C @ =0x000006E4
+ adds r0, r1, r4
+ strh r2, [r0]
+ ldrh r0, [r3, #4]
+ ldr r5, _08040470 @ =0x000006E6
+ adds r1, r1, r5
+ strh r0, [r1]
+ movs r1, #4
+ ldrsh r0, [r3, r1]
+ cmp r0, #0xc7
+ ble _08040304
+ movs r0, #0xc8
+ strh r0, [r3, #4]
+_08040304:
+ movs r2, #0
+ ldr r3, _08040474 @ =0x0200BA30
+ mov ip, r3
+ ldr r5, _08040478 @ =gOamBuffer
+ movs r4, #3
+ mov sb, r4
+ movs r0, #0xd
+ rsbs r0, r0, #0
+ mov sl, r0
+ ldr r1, _0804047C @ =0xFFFFFE00
+ mov r8, r1
+_0804031A:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ ldr r2, [sp, #0x10]
+ adds r6, r2, r0
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r5
+ ldrb r1, [r2, #5]
+ movs r0, #0xf
+ ands r0, r1
+ movs r1, #0xd0
+ orrs r0, r1
+ strb r0, [r2, #5]
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ ldr r1, _08040468 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08040480 @ =0x000006DB
+ adds r0, r0, r2
+ ldrb r1, [r0]
+ mov r0, sb
+ ands r1, r0
+ lsls r1, r1, #2
+ ldrb r2, [r3, #5]
+ mov r0, sl
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3, #5]
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ movs r2, #2
+ ldrsh r1, [r6, r2]
+ str r1, [sp, #0x3c]
+ ldr r1, [sp, #0x10]
+ movs r2, #2
+ ldrsh r0, [r1, r2]
+ ldr r2, [sp, #0x3c]
+ adds r1, r2, r0
+ ldr r2, _08040484 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldr r3, [sp, #0x10]
+ ldrb r0, [r3, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #5
+ ble _0804031A
+ mov r4, ip
+ str r4, [sp, #0x10]
+ ldr r5, _08040468 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r1, _0804046C @ =0x000006E4
+ adds r0, r0, r1
+ ldrh r0, [r0]
+ subs r0, #8
+ strh r0, [r4, #2]
+ ldr r0, [r5]
+ ldr r2, _08040470 @ =0x000006E6
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ subs r0, #8
+ strh r0, [r4, #4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xc7
+ ble _080403C4
+ movs r0, #0xc8
+ strh r0, [r4, #4]
+_080403C4:
+ movs r2, #0
+ ldr r5, _08040478 @ =gOamBuffer
+ movs r3, #3
+ mov sb, r3
+ movs r4, #0xd
+ rsbs r4, r4, #0
+ mov sl, r4
+ ldr r0, _0804047C @ =0xFFFFFE00
+ mov r8, r0
+_080403D6:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ ldr r1, [sp, #0x10]
+ adds r6, r1, r0
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ ldr r2, _08040468 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r1, _08040480 @ =0x000006DB
+ adds r0, r0, r1
+ ldrb r1, [r0]
+ mov r2, sb
+ ands r1, r2
+ lsls r1, r1, #2
+ ldrb r2, [r3, #5]
+ mov r0, sl
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3, #5]
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ movs r1, #2
+ ldrsh r0, [r6, r1]
+ mov ip, r0
+ ldr r2, [sp, #0x10]
+ movs r1, #2
+ ldrsh r0, [r2, r1]
+ mov r2, ip
+ adds r1, r2, r0
+ ldr r2, _08040484 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldr r3, [sp, #0x10]
+ ldrb r0, [r3, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #5
+ ble _080403D6
+_08040444:
+ bl sub_41580
+ ldr r0, _08040468 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r4, _08040488 @ =0x00000507
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #4
+ bls _0804045C
+ b _08040802
+_0804045C:
+ lsls r0, r0, #2
+ ldr r1, _0804048C @ =_08040490
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08040468: .4byte gUnknown_020314E0
+_0804046C: .4byte 0x000006E4
+_08040470: .4byte 0x000006E6
+_08040474: .4byte 0x0200BA30
+_08040478: .4byte gOamBuffer
+_0804047C: .4byte 0xFFFFFE00
+_08040480: .4byte 0x000006DB
+_08040484: .4byte 0x000001FF
+_08040488: .4byte 0x00000507
+_0804048C: .4byte _08040490
+_08040490: @ jump table
+ .4byte _080404A4 @ case 0
+ .4byte _080404C4 @ case 1
+ .4byte _080405E8 @ case 2
+ .4byte _080406C0 @ case 3
+ .4byte _080407EC @ case 4
+_080404A4:
+ ldr r0, _080404C0 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r5, #0xa2
+ lsls r5, r5, #3
+ adds r0, r0, r5
+ movs r1, #0
+ strh r1, [r0]
+ movs r7, #7
+ movs r0, #0xc
+ str r0, [sp, #4]
+ movs r1, #5
+ str r1, [sp, #8]
+ b _08040802
+ .align 2, 0
+_080404C0: .4byte gUnknown_020314E0
+_080404C4:
+ ldr r5, _08040548 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ movs r4, #0xa2
+ lsls r4, r4, #3
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _080404DC
+ movs r0, #0x94
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_080404DC:
+ ldr r0, [r5]
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ cmp r0, #8
+ bne _080404EE
+ movs r0, #0x94
+ lsls r0, r0, #1
+ bl m4aSongNumStop
+_080404EE:
+ ldr r0, [r5]
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ cmp r0, #0x18
+ bne _08040500
+ movs r0, #0x94
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_08040500:
+ ldr r0, [r5]
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ cmp r0, #0x24
+ bne _08040512
+ movs r0, #0x94
+ lsls r0, r0, #1
+ bl m4aSongNumStop
+_08040512:
+ ldr r0, [r5]
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ cmp r0, #0x32
+ bne _08040524
+ movs r0, #0x94
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_08040524:
+ ldr r0, [r5]
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ cmp r0, #0x38
+ bne _08040536
+ movs r0, #0x94
+ lsls r0, r0, #1
+ bl m4aSongNumStop
+_08040536:
+ ldr r0, [r5]
+ adds r0, r0, r4
+ ldrh r1, [r0]
+ cmp r1, #0xd
+ bhi _0804054C
+ adds r0, r1, #0
+ lsrs r7, r0, #1
+ b _0804056E
+ .align 2, 0
+_08040548: .4byte gUnknown_020314E0
+_0804054C:
+ cmp r1, #0x29
+ bls _0804055E
+ cmp r1, #0x37
+ bhi _0804055A
+ ldrh r0, [r0]
+ subs r0, #0x2a
+ b _08040566
+_0804055A:
+ cmp r1, #0x3c
+ bhi _08040562
+_0804055E:
+ movs r7, #7
+ b _0804056E
+_08040562:
+ ldrh r0, [r0]
+ subs r0, #0x3d
+_08040566:
+ lsrs r1, r0, #0x1f
+ adds r0, r0, r1
+ lsls r0, r0, #0xf
+ lsrs r7, r0, #0x10
+_0804056E:
+ ldr r0, _08040588 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r2, #0xa2
+ lsls r2, r2, #3
+ adds r0, r0, r2
+ ldrh r1, [r0]
+ cmp r1, #7
+ bhi _0804058C
+ adds r0, r1, #0
+ lsrs r0, r0, #1
+ str r0, [sp, #4]
+ b _080405B2
+ .align 2, 0
+_08040588: .4byte gUnknown_020314E0
+_0804058C:
+ cmp r1, #0x2f
+ bhi _08040596
+ movs r3, #0xc
+ str r3, [sp, #4]
+ b _080405B2
+_08040596:
+ cmp r1, #0x3f
+ bhi _080405AE
+ ldrh r0, [r0]
+ subs r0, #0x30
+ lsrs r1, r0, #0x1f
+ adds r0, r0, r1
+ asrs r0, r0, #1
+ adds r0, #4
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ str r0, [sp, #4]
+ b _080405B2
+_080405AE:
+ movs r4, #0xc
+ str r4, [sp, #4]
+_080405B2:
+ movs r5, #5
+ str r5, [sp, #8]
+ ldr r0, _080405E0 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r0, #0xa2
+ lsls r0, r0, #3
+ adds r2, r1, r0
+ ldrh r0, [r2]
+ adds r0, #1
+ strh r0, [r2]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0x4b
+ beq _080405D0
+ b _08040802
+_080405D0:
+ movs r0, #0
+ strh r0, [r2]
+ ldr r2, _080405E4 @ =0x00000507
+ adds r1, r1, r2
+ movs r0, #2
+ strb r0, [r1]
+ b _08040802
+ .align 2, 0
+_080405E0: .4byte gUnknown_020314E0
+_080405E4: .4byte 0x00000507
+_080405E8:
+ movs r7, #7
+ movs r3, #0xc
+ str r3, [sp, #4]
+ movs r4, #5
+ str r4, [sp, #8]
+ ldr r5, _0804065C @ =gUnknown_020314E0
+ ldr r3, [r5]
+ movs r0, #0xa2
+ lsls r0, r0, #3
+ adds r1, r3, r0
+ ldrh r0, [r1]
+ cmp r0, #0x21
+ bhi _080406A4
+ adds r0, #1
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0x1c
+ beq _08040610
+ b _08040802
+_08040610:
+ movs r1, #0xe2
+ lsls r1, r1, #2
+ adds r0, r3, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08040670
+ bl Random
+ ldr r4, [r5]
+ movs r1, #0xa0
+ bl __umodsi3
+ movs r1, #0xc8
+ subs r1, r1, r0
+ ldr r2, _08040660 @ =0x0000051C
+ adds r4, r4, r2
+ strh r1, [r4]
+ bl Random
+ ldr r5, [r5]
+ ldr r3, _08040664 @ =0x0000132C
+ adds r1, r5, r3
+ ldr r1, [r1]
+ ldr r2, _08040668 @ =0xFFFFFEA5
+ adds r4, r2, #0
+ ldrh r1, [r1, #0x12]
+ adds r4, r4, r1
+ movs r1, #0x50
+ bl __umodsi3
+ subs r4, r4, r0
+ ldr r3, _0804066C @ =0x0000051E
+ adds r5, r5, r3
+ strh r4, [r5]
+ b _08040802
+ .align 2, 0
+_0804065C: .4byte gUnknown_020314E0
+_08040660: .4byte 0x0000051C
+_08040664: .4byte 0x0000132C
+_08040668: .4byte 0xFFFFFEA5
+_0804066C: .4byte 0x0000051E
+_08040670:
+ ldr r4, _08040694 @ =0x0000132C
+ adds r2, r3, r4
+ ldr r0, [r2]
+ ldrh r0, [r0, #0x10]
+ subs r0, #0xd
+ ldr r5, _08040698 @ =0x0000051C
+ adds r1, r3, r5
+ strh r0, [r1]
+ ldr r1, [r2]
+ ldr r2, _0804069C @ =0xFFFFFEA5
+ adds r0, r2, #0
+ ldrh r1, [r1, #0x12]
+ adds r0, r0, r1
+ ldr r4, _080406A0 @ =0x0000051E
+ adds r1, r3, r4
+ strh r0, [r1]
+ b _08040802
+ .align 2, 0
+_08040694: .4byte 0x0000132C
+_08040698: .4byte 0x0000051C
+_0804069C: .4byte 0xFFFFFEA5
+_080406A0: .4byte 0x0000051E
+_080406A4:
+ movs r0, #0
+ strh r0, [r1]
+ ldr r5, _080406B8 @ =0x00000507
+ adds r1, r3, r5
+ movs r0, #3
+ strb r0, [r1]
+ ldr r0, _080406BC @ =0x00000129
+ bl m4aSongNumStart
+ b _08040802
+ .align 2, 0
+_080406B8: .4byte 0x00000507
+_080406BC: .4byte 0x00000129
+_080406C0:
+ movs r7, #7
+ movs r0, #0xc
+ str r0, [sp, #4]
+ ldr r4, _080406DC @ =gUnknown_020314E0
+ ldr r3, [r4]
+ movs r1, #0xa2
+ lsls r1, r1, #3
+ adds r0, r3, r1
+ ldrh r1, [r0]
+ cmp r1, #1
+ bhi _080406E0
+ adds r0, r1, #0
+ str r0, [sp, #8]
+ b _080407D0
+ .align 2, 0
+_080406DC: .4byte gUnknown_020314E0
+_080406E0:
+ cmp r1, #9
+ bhi _080407C4
+ ldrh r0, [r0]
+ subs r0, #2
+ lsrs r1, r0, #0x1f
+ adds r0, r0, r1
+ asrs r0, r0, #1
+ adds r0, #2
+ lsls r0, r0, #0x10
+ movs r2, #0xa1
+ lsls r2, r2, #3
+ adds r1, r3, r2
+ mov r5, sp
+ ldrh r5, [r5, #4]
+ strh r5, [r1]
+ lsrs r1, r0, #0x10
+ str r1, [sp, #8]
+ asrs r0, r0, #0x10
+ cmp r0, #2
+ bne _080407D0
+ ldr r2, _080407A0 @ =0x0000132C
+ adds r0, r3, r2
+ ldr r2, [r0]
+ movs r5, #0x10
+ ldrsh r0, [r2, r5]
+ subs r0, #0xd
+ ldr r5, _080407A4 @ =0x0000051C
+ adds r1, r3, r5
+ movs r5, #0
+ ldrsh r1, [r1, r5]
+ subs r1, r0, r1
+ str r1, [sp, #0x1c]
+ movs r1, #0x12
+ ldrsh r0, [r2, r1]
+ ldr r2, _080407A8 @ =0xFFFFFEA5
+ adds r0, r0, r2
+ ldr r5, _080407AC @ =0x0000051E
+ adds r1, r3, r5
+ movs r2, #0
+ ldrsh r1, [r1, r2]
+ subs r1, r0, r1
+ str r1, [sp, #0x20]
+ ldr r3, [sp, #0x1c]
+ adds r1, r3, #0
+ muls r1, r3, r1
+ ldr r5, [sp, #0x20]
+ adds r0, r5, #0
+ muls r0, r5, r0
+ adds r5, r1, r0
+ movs r0, #8
+ bl sub_11B0
+ ldr r2, [r4]
+ ldr r1, _080407B0 @ =0x00000441
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ bgt _080407D0
+ ldr r3, _080407B4 @ =0x00000442
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ bgt _080407D0
+ movs r4, #0xe2
+ lsls r4, r4, #2
+ adds r0, r2, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _080407D0
+ cmp r5, #0xc7
+ bgt _080407D0
+ ldr r0, _080407B8 @ =gMain
+ ldr r5, _080407BC @ =0x00001CD8
+ adds r0, r0, r5
+ movs r1, #1
+ strh r1, [r0]
+ ldr r0, _080407C0 @ =0x00000486
+ adds r1, r2, r0
+ movs r0, #0x96
+ lsls r0, r0, #2
+ strh r0, [r1]
+ movs r0, #0x95
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+ movs r0, #9
+ bl sub_11B0
+ b _080407D0
+ .align 2, 0
+_080407A0: .4byte 0x0000132C
+_080407A4: .4byte 0x0000051C
+_080407A8: .4byte 0xFFFFFEA5
+_080407AC: .4byte 0x0000051E
+_080407B0: .4byte 0x00000441
+_080407B4: .4byte 0x00000442
+_080407B8: .4byte gMain
+_080407BC: .4byte 0x00001CD8
+_080407C0: .4byte 0x00000486
+_080407C4:
+ movs r1, #5
+ str r1, [sp, #8]
+ ldr r2, _080407E4 @ =0x00000507
+ adds r1, r3, r2
+ movs r0, #4
+ strb r0, [r1]
+_080407D0:
+ ldr r0, _080407E8 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r3, #0xa2
+ lsls r3, r3, #3
+ adds r1, r1, r3
+ ldrh r0, [r1]
+ adds r0, #1
+ strh r0, [r1]
+ b _08040802
+ .align 2, 0
+_080407E4: .4byte 0x00000507
+_080407E8: .4byte gUnknown_020314E0
+_080407EC:
+ ldr r0, _08040A88 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r4, #0xa2
+ lsls r4, r4, #3
+ adds r2, r1, r4
+ movs r3, #0
+ movs r0, #0
+ strh r0, [r2]
+ ldr r5, _08040A8C @ =0x00000507
+ adds r1, r1, r5
+ strb r3, [r1]
+_08040802:
+ ldr r0, _08040A90 @ =0x0200BFF0
+ str r0, [sp, #0x10]
+ ldrh r0, [r0]
+ cmp r0, #0
+ beq _080408F0
+ ldr r1, _08040A88 @ =gUnknown_020314E0
+ ldr r4, [r1]
+ movs r2, #0xfa
+ lsls r2, r2, #2
+ adds r0, r4, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldrh r1, [r4]
+ subs r1, #0x58
+ subs r0, r0, r1
+ ldr r4, [sp, #0x10]
+ strh r0, [r4, #2]
+ ldr r5, _08040A88 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ ldr r1, _08040A94 @ =0x000003EA
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r0, r0, r1
+ adds r0, #0x60
+ ldr r3, [sp, #0x10]
+ strh r0, [r3, #4]
+ movs r2, #0
+ lsls r1, r7, #0x10
+ ldr r4, _08040A98 @ =0x086B609E
+ mov sl, r4
+ ldr r5, _08040A9C @ =gOamBuffer
+ mov ip, r5
+ asrs r1, r1, #0x10
+ lsls r0, r1, #3
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ mov r8, r0
+ ldr r7, _08040AA0 @ =0xFFFFFE00
+ mov sb, r7
+_08040864:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ ldr r1, [sp, #0x10]
+ adds r6, r1, r0
+ ldrh r0, [r6]
+ lsls r0, r0, #3
+ mov r2, ip
+ adds r5, r0, r2
+ lsls r0, r3, #1
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ add r0, sl
+ mov r4, r8
+ adds r1, r4, r0
+ ldrh r0, [r1]
+ strh r0, [r5]
+ adds r1, #2
+ adds r5, #2
+ ldrh r0, [r1]
+ strh r0, [r5]
+ ldrh r0, [r1, #2]
+ strh r0, [r5, #2]
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ add r2, ip
+ ldrh r4, [r2, #2]
+ lsls r1, r4, #0x17
+ lsrs r1, r1, #0x17
+ ldr r5, [sp, #0x10]
+ movs r7, #2
+ ldrsh r0, [r5, r7]
+ adds r1, r1, r0
+ ldr r5, _08040AA4 @ =0x000001FF
+ adds r0, r5, #0
+ ands r1, r0
+ mov r0, sb
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ add r1, ip
+ ldr r7, [sp, #0x10]
+ ldrb r0, [r7, #4]
+ ldrb r2, [r1]
+ adds r0, r0, r2
+ strb r0, [r1]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #2
+ ble _08040864
+ ldr r3, _08040A88 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldr r4, _08040A8C @ =0x00000507
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #4
+ bne _080408F0
+ ldr r0, _08040AA8 @ =gMain
+ movs r5, #0xf3
+ lsls r5, r5, #4
+ adds r0, r0, r5
+ movs r1, #0
+ strh r1, [r0]
+_080408F0:
+ ldr r7, _08040AAC @ =0x0200C0A8
+ str r7, [sp, #0x10]
+ adds r1, r7, #0
+ ldrh r0, [r1]
+ cmp r0, #0
+ beq _080409DC
+ ldr r2, _08040A88 @ =gUnknown_020314E0
+ ldr r4, [r2]
+ movs r3, #0xfa
+ lsls r3, r3, #2
+ adds r0, r4, r3
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldrh r1, [r4]
+ subs r1, #0x58
+ subs r0, r0, r1
+ strh r0, [r7, #2]
+ ldr r0, _08040A88 @ =gUnknown_020314E0
+ ldr r4, [r0]
+ ldr r1, _08040A94 @ =0x000003EA
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r0, r0, r1
+ adds r0, #0x60
+ strh r0, [r7, #4]
+ movs r2, #0
+ ldr r3, [sp, #4]
+ lsls r1, r3, #0x10
+ ldr r4, _08040AB0 @ =0x086B5ECA
+ mov sl, r4
+ ldr r5, _08040A9C @ =gOamBuffer
+ mov ip, r5
+ asrs r1, r1, #0x10
+ lsls r0, r1, #3
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ mov r8, r0
+ ldr r7, _08040AA0 @ =0xFFFFFE00
+ mov sb, r7
+_08040952:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ ldr r1, [sp, #0x10]
+ adds r6, r1, r0
+ ldrh r0, [r6]
+ lsls r0, r0, #3
+ mov r2, ip
+ adds r5, r0, r2
+ lsls r0, r3, #1
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ add r0, sl
+ mov r4, r8
+ adds r1, r4, r0
+ ldrh r0, [r1]
+ strh r0, [r5]
+ adds r1, #2
+ adds r5, #2
+ ldrh r0, [r1]
+ strh r0, [r5]
+ ldrh r0, [r1, #2]
+ strh r0, [r5, #2]
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ add r2, ip
+ ldrh r4, [r2, #2]
+ lsls r1, r4, #0x17
+ lsrs r1, r1, #0x17
+ ldr r5, [sp, #0x10]
+ movs r7, #2
+ ldrsh r0, [r5, r7]
+ adds r1, r1, r0
+ ldr r5, _08040AA4 @ =0x000001FF
+ adds r0, r5, #0
+ ands r1, r0
+ mov r0, sb
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ add r1, ip
+ ldr r7, [sp, #0x10]
+ ldrb r0, [r7, #4]
+ ldrb r2, [r1]
+ adds r0, r0, r2
+ strb r0, [r1]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #5
+ ble _08040952
+ ldr r3, _08040A88 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldr r4, _08040A8C @ =0x00000507
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #4
+ bne _080409DC
+ ldr r0, _08040AA8 @ =gMain
+ ldr r5, _08040AB4 @ =0x00000FE8
+ adds r0, r0, r5
+ movs r1, #0
+ strh r1, [r0]
+_080409DC:
+ ldr r7, _08040AB8 @ =0x0200C160
+ str r7, [sp, #0x10]
+ adds r1, r7, #0
+ ldrh r0, [r1]
+ cmp r0, #0
+ bne _080409EA
+ b _08040B26
+_080409EA:
+ ldr r2, _08040A88 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldr r3, _08040ABC @ =0x0000051C
+ adds r0, r1, r3
+ adds r1, #0x58
+ ldrh r0, [r0]
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ adds r4, r7, #0
+ strh r0, [r4, #2]
+ ldr r1, [r2]
+ ldr r5, _08040AC0 @ =0x0000051E
+ adds r0, r1, r5
+ adds r1, #0x5a
+ ldrh r0, [r0]
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ strh r0, [r4, #4]
+ movs r2, #0
+ ldr r7, _08040A9C @ =gOamBuffer
+ mov r8, r7
+ ldr r0, [sp, #8]
+ lsls r1, r0, #0x10
+ ldr r3, _08040AC4 @ =0x086B5DCE
+ mov sl, r3
+ mov ip, r8
+ asrs r1, r1, #0x10
+ movs r0, #0x2a
+ adds r4, r1, #0
+ muls r4, r0, r4
+ mov sb, r4
+ ldr r4, _08040AA0 @ =0xFFFFFE00
+_08040A2A:
+ lsls r2, r2, #0x10
+ asrs r1, r2, #0x10
+ lsls r0, r1, #3
+ adds r0, #8
+ ldr r5, [sp, #0x10]
+ adds r6, r5, r0
+ ldrh r0, [r6]
+ lsls r0, r0, #3
+ mov r7, ip
+ adds r5, r0, r7
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ add r0, sl
+ mov r3, sb
+ adds r1, r3, r0
+ ldrh r0, [r1]
+ strh r0, [r5]
+ adds r1, #2
+ adds r5, #2
+ ldrh r0, [r1]
+ strh r0, [r5]
+ ldrh r0, [r1, #2]
+ strh r0, [r5, #2]
+ ldrh r0, [r6]
+ lsls r0, r0, #3
+ adds r5, r0, r7
+ movs r1, #0
+ ldrsb r1, [r5, r1]
+ ldr r7, [sp, #0x10]
+ movs r3, #4
+ ldrsh r0, [r7, r3]
+ adds r1, r1, r0
+ ldr r0, _08040AC8 @ =0xFFFFFED4
+ str r2, [sp, #0x40]
+ cmp r1, r0
+ bge _08040ACC
+ ldrh r1, [r5, #2]
+ adds r0, r4, #0
+ ands r0, r1
+ strh r0, [r5, #2]
+ ldrh r0, [r6]
+ lsls r0, r0, #3
+ add r0, r8
+ movs r1, #0xb4
+ strb r1, [r0]
+ b _08040AF8
+ .align 2, 0
+_08040A88: .4byte gUnknown_020314E0
+_08040A8C: .4byte 0x00000507
+_08040A90: .4byte 0x0200BFF0
+_08040A94: .4byte 0x000003EA
+_08040A98: .4byte 0x086B609E
+_08040A9C: .4byte gOamBuffer
+_08040AA0: .4byte 0xFFFFFE00
+_08040AA4: .4byte 0x000001FF
+_08040AA8: .4byte gMain
+_08040AAC: .4byte 0x0200C0A8
+_08040AB0: .4byte 0x086B5ECA
+_08040AB4: .4byte 0x00000FE8
+_08040AB8: .4byte 0x0200C160
+_08040ABC: .4byte 0x0000051C
+_08040AC0: .4byte 0x0000051E
+_08040AC4: .4byte 0x086B5DCE
+_08040AC8: .4byte 0xFFFFFED4
+_08040ACC:
+ ldrh r2, [r5, #2]
+ lsls r1, r2, #0x17
+ lsrs r1, r1, #0x17
+ ldr r7, [sp, #0x10]
+ movs r3, #2
+ ldrsh r0, [r7, r3]
+ adds r1, r1, r0
+ ldr r7, _08040C70 @ =0x000001FF
+ adds r0, r7, #0
+ ands r1, r0
+ adds r0, r4, #0
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r5, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ add r1, r8
+ ldr r2, [sp, #0x10]
+ ldrb r0, [r2, #4]
+ ldrb r3, [r1]
+ adds r0, r0, r3
+ strb r0, [r1]
+_08040AF8:
+ ldr r5, [sp, #0x40]
+ movs r7, #0x80
+ lsls r7, r7, #9
+ adds r0, r5, r7
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #6
+ ble _08040A2A
+ ldr r1, _08040C74 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08040C78 @ =0x00000507
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #4
+ bne _08040B26
+ ldr r0, _08040C7C @ =gMain
+ movs r3, #0x85
+ lsls r3, r3, #5
+ adds r0, r0, r3
+ movs r1, #0
+ strh r1, [r0]
+_08040B26:
+ ldr r4, _08040C80 @ =0x0200C388
+ str r4, [sp, #0x10]
+ ldrh r0, [r4]
+ cmp r0, #0
+ beq _08040BBC
+ ldr r5, _08040C74 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ ldr r7, _08040C84 @ =0x00000524
+ adds r0, r4, r7
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldrh r1, [r4]
+ adds r1, #0x78
+ subs r0, r0, r1
+ ldr r2, [sp, #0x10]
+ strh r0, [r2, #2]
+ ldr r4, [r5]
+ ldr r3, _08040C88 @ =0x00000526
+ adds r0, r4, r3
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x80
+ subs r0, r0, r1
+ ldr r7, [sp, #0x10]
+ strh r0, [r7, #4]
+ movs r2, #0
+ ldr r5, _08040C8C @ =gOamBuffer
+ ldr r0, _08040C90 @ =0xFFFFFE00
+ mov r8, r0
+_08040B72:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ ldr r1, [sp, #0x10]
+ adds r6, r1, r0
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ movs r2, #2
+ ldrsh r1, [r6, r2]
+ ldr r7, [sp, #0x10]
+ movs r2, #2
+ ldrsh r0, [r7, r2]
+ adds r1, r1, r0
+ ldr r7, _08040C70 @ =0x000001FF
+ adds r0, r7, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldr r2, [sp, #0x10]
+ ldrb r0, [r2, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0x11
+ ble _08040B72
+_08040BBC:
+ ldr r3, _08040C94 @ =0x0200C440
+ str r3, [sp, #0x10]
+ ldrh r0, [r3]
+ cmp r0, #0
+ beq _08040C54
+ ldr r5, _08040C74 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ ldr r7, _08040C84 @ =0x00000524
+ adds r0, r4, r7
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldr r2, _08040C98 @ =0xFFFFFE98
+ adds r1, r2, #0
+ ldrh r4, [r4]
+ adds r1, r1, r4
+ subs r0, r0, r1
+ ldr r3, [sp, #0x10]
+ strh r0, [r3, #2]
+ ldr r4, [r5]
+ ldr r5, _08040C88 @ =0x00000526
+ adds r0, r4, r5
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x80
+ subs r0, r0, r1
+ ldr r1, [sp, #0x10]
+ strh r0, [r1, #4]
+ movs r2, #0
+ ldr r5, _08040C8C @ =gOamBuffer
+ ldr r3, _08040C90 @ =0xFFFFFE00
+ mov r8, r3
+_08040C0C:
+ lsls r4, r2, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ ldr r7, [sp, #0x10]
+ adds r6, r7, r0
+ ldrh r3, [r6]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ movs r0, #2
+ ldrsh r1, [r6, r0]
+ movs r2, #2
+ ldrsh r0, [r7, r2]
+ adds r1, r1, r0
+ ldr r7, _08040C70 @ =0x000001FF
+ adds r0, r7, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldr r2, [sp, #0x10]
+ ldrb r0, [r2, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r2, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0x11
+ ble _08040C0C
+_08040C54:
+ ldr r0, _08040C74 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r3, #0xe3
+ lsls r3, r3, #2
+ adds r0, r1, r3
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ cmp r0, #0
+ ble _08040CA0
+ ldr r5, _08040C9C @ =0x0000132C
+ adds r0, r1, r5
+ ldr r1, [r0]
+ movs r0, #1
+ b _08040CA8
+ .align 2, 0
+_08040C70: .4byte 0x000001FF
+_08040C74: .4byte gUnknown_020314E0
+_08040C78: .4byte 0x00000507
+_08040C7C: .4byte gMain
+_08040C80: .4byte 0x0200C388
+_08040C84: .4byte 0x00000524
+_08040C88: .4byte 0x00000526
+_08040C8C: .4byte gOamBuffer
+_08040C90: .4byte 0xFFFFFE00
+_08040C94: .4byte 0x0200C440
+_08040C98: .4byte 0xFFFFFE98
+_08040C9C: .4byte 0x0000132C
+_08040CA0:
+ ldr r7, _08040CE4 @ =0x0000132C
+ adds r0, r1, r7
+ ldr r1, [r0]
+ movs r0, #2
+_08040CA8:
+ strb r0, [r1, #1]
+ movs r0, #0
+ str r0, [sp, #0xc]
+_08040CAE:
+ ldr r1, [sp, #0xc]
+ lsls r3, r1, #0x10
+ asrs r2, r3, #0x10
+ movs r0, #0xb8
+ adds r1, r2, #0
+ muls r1, r0, r1
+ ldr r0, _08040CE8 @ =0x0200BE80
+ adds r1, r1, r0
+ str r1, [sp, #0x10]
+ ldr r1, _08040CEC @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r4, _08040CF0 @ =0x00000441
+ adds r0, r0, r4
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ str r3, [sp, #0x34]
+ cmp r0, #5
+ bls _08040CD8
+ b _0804131A
+_08040CD8:
+ lsls r0, r0, #2
+ ldr r1, _08040CF4 @ =_08040CF8
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08040CE4: .4byte 0x0000132C
+_08040CE8: .4byte 0x0200BE80
+_08040CEC: .4byte gUnknown_020314E0
+_08040CF0: .4byte 0x00000441
+_08040CF4: .4byte _08040CF8
+_08040CF8: @ jump table
+ .4byte _08040D10 @ case 0
+ .4byte _08040D3C @ case 1
+ .4byte _08040D7C @ case 2
+ .4byte _0804103C @ case 3
+ .4byte _0804120C @ case 4
+ .4byte _080412D8 @ case 5
+_08040D10:
+ movs r5, #0
+ str r5, [sp]
+ ldr r0, _08040D30 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r7, [sp, #0x34]
+ asrs r0, r7, #0xe
+ adds r1, r1, r0
+ ldr r2, _08040D34 @ =0x0000045C
+ adds r0, r1, r2
+ strh r5, [r0]
+ ldr r4, _08040D38 @ =0x0000045E
+ adds r1, r1, r4
+ mov r5, sp
+ ldrh r5, [r5]
+ strh r5, [r1]
+ b _0804131A
+ .align 2, 0
+_08040D30: .4byte gUnknown_020314E0
+_08040D34: .4byte 0x0000045C
+_08040D38: .4byte 0x0000045E
+_08040D3C:
+ ldr r0, _08040D74 @ =gUnknown_020314E0
+ ldr r6, [r0]
+ ldr r0, [sp, #0x34]
+ asrs r7, r0, #0x10
+ lsls r1, r7, #1
+ movs r2, #0x8b
+ lsls r2, r2, #3
+ adds r0, r6, r2
+ adds r5, r0, r1
+ ldrh r4, [r5]
+ adds r0, r4, #0
+ movs r1, #5
+ bl __udivsi3
+ adds r0, #1
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ str r0, [sp]
+ cmp r4, #0xd
+ bhi _08040D66
+ b _08041300
+_08040D66:
+ movs r0, #0
+ strh r0, [r5]
+ ldr r3, _08040D78 @ =0x00000441
+ adds r0, r6, r3
+ adds r0, r0, r7
+ movs r1, #2
+ b _08041318
+ .align 2, 0
+_08040D74: .4byte gUnknown_020314E0
+_08040D78: .4byte 0x00000441
+_08040D7C:
+ ldr r4, _08040FE0 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r5, [sp, #0x34]
+ asrs r1, r5, #0xf
+ movs r7, #0x8b
+ lsls r7, r7, #3
+ adds r0, r0, r7
+ adds r0, r0, r1
+ ldrh r1, [r0]
+ movs r0, #0xf
+ ands r1, r0
+ movs r0, #4
+ str r0, [sp]
+ cmp r1, #3
+ ble _08040DA6
+ movs r2, #6
+ str r2, [sp]
+ cmp r1, #9
+ bgt _08040DA6
+ movs r3, #5
+ str r3, [sp]
+_08040DA6:
+ ldr r4, _08040FE0 @ =gUnknown_020314E0
+ mov sl, r4
+ ldr r0, [r4]
+ ldr r5, [sp, #0x34]
+ asrs r5, r5, #0x10
+ mov sb, r5
+ ldr r7, _08040FE4 @ =0x00000441
+ adds r0, r0, r7
+ add r0, sb
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ ble _08040DC4
+ b _08040FC0
+_08040DC4:
+ ldr r0, _08040FE8 @ =gMain
+ lsls r1, r5, #4
+ subs r1, r1, r5
+ lsls r1, r1, #3
+ ldr r0, [r0, #0x4c]
+ adds r0, r0, r1
+ movs r1, #0xf0
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ movs r1, #0xf0
+ bl __udivsi3
+ adds r5, r0, #0
+ lsls r5, r5, #0x10
+ lsrs r5, r5, #0x10
+ adds r0, r5, #0
+ bl sub_C74
+ ldr r4, [r4]
+ mov r1, sb
+ lsls r1, r1, #2
+ str r1, [sp, #0x24]
+ adds r4, r4, r1
+ ldr r2, _08040FEC @ =0x00000464
+ adds r6, r4, r2
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r3, #0xfa
+ lsls r3, r3, #1
+ mov r8, r3
+ mov r1, r8
+ bl __divsi3
+ ldrh r1, [r6]
+ adds r1, r1, r0
+ adds r7, #0x1b
+ adds r4, r4, r7
+ strh r1, [r4]
+ adds r0, r5, #0
+ bl sub_C24
+ mov r1, sl
+ ldr r7, [r1]
+ ldr r2, [sp, #0x24]
+ adds r5, r7, r2
+ ldr r3, _08040FF0 @ =0x00000466
+ adds r4, r5, r3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ mov r1, r8
+ bl __divsi3
+ ldrh r1, [r4]
+ adds r1, r1, r0
+ ldr r4, _08040FF4 @ =0x0000045E
+ mov r8, r4
+ adds r2, r5, r4
+ strh r1, [r2]
+ ldr r1, _08040FF8 @ =0x0000132C
+ adds r0, r7, r1
+ ldr r6, [r0]
+ movs r3, #0x10
+ ldrsh r4, [r6, r3]
+ ldr r0, _08040FFC @ =0x0000045C
+ adds r5, r5, r0
+ movs r1, #0
+ ldrsh r0, [r5, r1]
+ movs r1, #0xa
+ str r2, [sp, #0x38]
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ subs r4, r4, r0
+ subs r4, #0x10
+ str r4, [sp, #0x1c]
+ movs r3, #0x12
+ ldrsh r4, [r6, r3]
+ ldr r2, [sp, #0x38]
+ movs r5, #0
+ ldrsh r0, [r2, r5]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ subs r4, r4, r0
+ subs r4, #0x20
+ str r4, [sp, #0x20]
+ ldr r0, [sp, #0x1c]
+ adds r1, r0, #0
+ muls r1, r0, r1
+ adds r0, r4, #0
+ muls r0, r4, r0
+ adds r5, r1, r0
+ ldr r1, _08041000 @ =0x00000383
+ adds r0, r7, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08040E94
+ b _08040FC0
+_08040E94:
+ movs r2, #0xe2
+ lsls r2, r2, #2
+ adds r0, r7, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08040EA6
+ b _08040FC0
+_08040EA6:
+ ldr r3, _08041004 @ =0x00000385
+ adds r0, r7, r3
+ movs r4, #0xe1
+ lsls r4, r4, #2
+ adds r1, r7, r4
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r2, r0
+ blt _08040EBE
+ b _08040FC0
+_08040EBE:
+ ldr r1, _08041008 @ =0x00000452
+ adds r0, r7, r1
+ ldrh r4, [r0]
+ cmp r4, #0
+ bne _08040FC0
+ ldr r6, _0804100C @ =0x0000012B
+ cmp r5, r6
+ bgt _08040FC0
+ ldr r2, _08041010 @ =0x00000486
+ adds r1, r7, r2
+ movs r0, #6
+ strh r0, [r1]
+ movs r3, #1
+ strb r3, [r7, #0x1f]
+ mov r5, sl
+ ldr r1, [r5]
+ mov r7, sb
+ lsls r2, r7, #1
+ movs r5, #0x8b
+ lsls r5, r5, #3
+ adds r0, r1, r5
+ adds r0, r0, r2
+ strh r4, [r0]
+ ldr r7, _08040FE4 @ =0x00000441
+ adds r1, r1, r7
+ add r1, sb
+ movs r0, #3
+ strb r0, [r1]
+ mov r1, sl
+ ldr r0, [r1]
+ ldr r2, _08041014 @ =0x000005FA
+ adds r0, r0, r2
+ strb r3, [r0]
+ ldr r5, [r1]
+ ldr r3, [sp, #0x24]
+ adds r4, r5, r3
+ adds r7, #0x1b
+ adds r0, r4, r7
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ adds r0, #0x10
+ str r0, [sp, #0x14]
+ add r4, r8
+ movs r2, #0
+ ldrsh r0, [r4, r2]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ adds r0, #0x20
+ str r0, [sp, #0x18]
+ ldr r3, [sp, #0x14]
+ lsls r1, r3, #8
+ ldr r4, _08040FF8 @ =0x0000132C
+ adds r0, r5, r4
+ ldr r2, [r0]
+ ldr r0, [r2, #0x34]
+ subs r0, r1, r0
+ str r0, [sp, #0x1c]
+ ldr r7, [sp, #0x18]
+ lsls r1, r7, #8
+ ldr r0, [r2, #0x38]
+ subs r0, r1, r0
+ str r0, [sp, #0x20]
+ ldr r4, _08041018 @ =0x000005AC
+ adds r5, r5, r4
+ ldr r1, [sp, #0x1c]
+ adds r0, r1, #0
+ muls r0, r1, r0
+ ldr r2, [sp, #0x20]
+ adds r1, r2, #0
+ muls r1, r2, r1
+ adds r0, r0, r1
+ str r0, [r5]
+ lsls r0, r0, #2
+ bl Sqrt
+ mov r3, sl
+ ldr r1, [r3]
+ adds r1, r1, r4
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x11
+ str r0, [r1]
+ ldr r4, [sp, #0x1c]
+ rsbs r0, r4, #0
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ ldr r5, [sp, #0x20]
+ lsls r1, r5, #0x10
+ asrs r1, r1, #0x10
+ bl ArcTan2
+ mov r7, sl
+ ldr r2, [r7]
+ movs r3, #0xb6
+ lsls r3, r3, #3
+ adds r1, r2, r3
+ strh r0, [r1]
+ ldr r0, [sp, #0xc]
+ adds r0, #1
+ ldr r4, _0804101C @ =0x00000505
+ adds r2, r2, r4
+ strb r0, [r2]
+ ldr r2, [r7]
+ ldr r5, [sp, #0x24]
+ adds r1, r2, r5
+ ldr r7, _08040FFC @ =0x0000045C
+ adds r0, r1, r7
+ ldrh r3, [r0]
+ adds r4, #0x1b
+ adds r0, r2, r4
+ strh r3, [r0]
+ add r1, r8
+ ldrh r0, [r1]
+ ldr r5, _08041020 @ =0x00000522
+ adds r2, r2, r5
+ strh r0, [r2]
+ adds r0, r6, #0
+ bl m4aSongNumStart
+ movs r0, #0xd
+ bl sub_11B0
+_08040FC0:
+ ldr r0, _08040FE0 @ =gUnknown_020314E0
+ ldr r3, [r0]
+ ldr r7, [sp, #0x34]
+ asrs r4, r7, #0x10
+ lsls r1, r4, #1
+ movs r2, #0x8b
+ lsls r2, r2, #3
+ adds r0, r3, r2
+ adds r1, r0, r1
+ ldrh r2, [r1]
+ ldr r0, _08041024 @ =0x00000347
+ cmp r2, r0
+ bhi _08041028
+ adds r0, r2, #1
+ strh r0, [r1]
+ b _0804131A
+ .align 2, 0
+_08040FE0: .4byte gUnknown_020314E0
+_08040FE4: .4byte 0x00000441
+_08040FE8: .4byte gMain
+_08040FEC: .4byte 0x00000464
+_08040FF0: .4byte 0x00000466
+_08040FF4: .4byte 0x0000045E
+_08040FF8: .4byte 0x0000132C
+_08040FFC: .4byte 0x0000045C
+_08041000: .4byte 0x00000383
+_08041004: .4byte 0x00000385
+_08041008: .4byte 0x00000452
+_0804100C: .4byte 0x0000012B
+_08041010: .4byte 0x00000486
+_08041014: .4byte 0x000005FA
+_08041018: .4byte 0x000005AC
+_0804101C: .4byte 0x00000505
+_08041020: .4byte 0x00000522
+_08041024: .4byte 0x00000347
+_08041028:
+ movs r0, #0
+ strh r0, [r1]
+ ldr r5, _08041038 @ =0x00000441
+ adds r0, r3, r5
+ adds r0, r0, r4
+ movs r1, #5
+ b _08041318
+ .align 2, 0
+_08041038: .4byte 0x00000441
+_0804103C:
+ ldr r7, _080411E4 @ =gUnknown_020314E0
+ ldr r0, [r7]
+ ldr r2, [sp, #0x34]
+ asrs r1, r2, #0xf
+ movs r3, #0x8b
+ lsls r3, r3, #3
+ adds r0, r0, r3
+ adds r0, r0, r1
+ ldrh r1, [r0]
+ movs r0, #0xf
+ ands r1, r0
+ movs r4, #4
+ str r4, [sp]
+ cmp r1, #3
+ ble _08041066
+ movs r5, #6
+ str r5, [sp]
+ cmp r1, #9
+ bgt _08041066
+ movs r7, #5
+ str r7, [sp]
+_08041066:
+ ldr r0, _080411E4 @ =gUnknown_020314E0
+ ldr r6, [r0]
+ ldr r1, [sp, #0x34]
+ asrs r1, r1, #0x10
+ str r1, [sp, #0x28]
+ lsls r2, r1, #1
+ str r2, [sp, #0x2c]
+ movs r3, #0x8b
+ lsls r3, r3, #3
+ adds r0, r6, r3
+ adds r0, r0, r2
+ ldrh r1, [r0]
+ movs r0, #0x1d
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #9
+ bgt _0804108E
+ movs r4, #0xa
+_0804108E:
+ movs r5, #0xb6
+ lsls r5, r5, #3
+ mov sl, r5
+ adds r5, r6, r5
+ lsls r4, r4, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #0xd
+ movs r1, #0x1e
+ bl __divsi3
+ adds r1, r0, #0
+ movs r0, #0x80
+ lsls r0, r0, #6
+ subs r0, r0, r1
+ lsls r0, r0, #1
+ movs r1, #5
+ bl __divsi3
+ ldrh r1, [r5]
+ subs r1, r1, r0
+ strh r1, [r5]
+ ldr r7, _080411E8 @ =0x0000132C
+ adds r0, r6, r7
+ ldr r1, [r0]
+ ldr r2, _080411EC @ =0xFFFFE000
+ adds r0, r2, #0
+ ldrh r3, [r1, #0xa]
+ adds r0, r0, r3
+ strh r0, [r1, #0xa]
+ ldr r7, _080411F0 @ =0x000005AC
+ adds r0, r6, r7
+ ldr r0, [r0]
+ muls r0, r4, r0
+ movs r1, #0x1e
+ bl __divsi3
+ mov sb, r0
+ ldr r0, [sp, #0x28]
+ lsls r4, r0, #2
+ adds r4, r6, r4
+ ldr r1, _080411F4 @ =0x0000045C
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ adds r0, #0x10
+ str r0, [sp, #0x14]
+ ldr r3, _080411F8 @ =0x0000045E
+ adds r4, r4, r3
+ movs r7, #0
+ ldrsh r0, [r4, r7]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ adds r0, #0x20
+ str r0, [sp, #0x18]
+ ldrh r0, [r5]
+ bl sub_C74
+ ldr r1, _080411E4 @ =gUnknown_020314E0
+ ldr r5, [r1]
+ ldr r2, _080411E8 @ =0x0000132C
+ adds r1, r5, r2
+ ldr r6, [r1]
+ ldr r3, [sp, #0x14]
+ lsls r4, r3, #8
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ mov r7, sb
+ muls r7, r0, r7
+ adds r0, r7, #0
+ ldr r1, _080411FC @ =0x00004E20
+ mov r8, r1
+ bl __divsi3
+ adds r4, r4, r0
+ str r4, [r6, #0x34]
+ add r5, sl
+ ldrh r0, [r5]
+ bl sub_C24
+ ldr r2, _080411E4 @ =gUnknown_020314E0
+ ldr r7, [r2]
+ ldr r3, _080411E8 @ =0x0000132C
+ adds r5, r7, r3
+ ldr r6, [r5]
+ ldr r1, [sp, #0x18]
+ lsls r4, r1, #8
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ mov r2, sb
+ muls r2, r0, r2
+ adds r0, r2, #0
+ mov r1, r8
+ bl __divsi3
+ subs r4, r4, r0
+ str r4, [r6, #0x38]
+ ldr r4, [r5]
+ movs r3, #0x30
+ ldrsh r0, [r4, r3]
+ lsls r0, r0, #2
+ movs r1, #5
+ bl __divsi3
+ strh r0, [r4, #0x30]
+ ldr r4, [r5]
+ movs r5, #0x32
+ ldrsh r0, [r4, r5]
+ lsls r0, r0, #2
+ movs r1, #5
+ bl __divsi3
+ strh r0, [r4, #0x32]
+ movs r0, #0xe3
+ lsls r0, r0, #2
+ adds r2, r7, r0
+ movs r3, #0
+ ldrsh r1, [r2, r3]
+ ldr r0, _08041200 @ =0x00000707
+ cmp r1, r0
+ bgt _0804119C
+ ldr r4, _08041204 @ =0x0000038A
+ adds r0, r7, r4
+ movs r5, #0
+ strh r5, [r0]
+ ldrh r0, [r2]
+ adds r0, #0x20
+ strh r0, [r2]
+_0804119C:
+ ldr r7, _080411E4 @ =gUnknown_020314E0
+ ldr r2, [r7]
+ movs r1, #0x8b
+ lsls r1, r1, #3
+ adds r0, r2, r1
+ ldr r3, [sp, #0x2c]
+ adds r1, r0, r3
+ ldrh r0, [r1]
+ cmp r0, #0xb3
+ bhi _080411B2
+ b _080412BE
+_080411B2:
+ movs r4, #0
+ strh r4, [r1]
+ ldr r5, _08041208 @ =0x00000441
+ adds r0, r2, r5
+ ldr r7, [sp, #0x28]
+ adds r0, r0, r7
+ movs r1, #4
+ strb r1, [r0]
+ ldr r0, _080411E4 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r1, _080411F0 @ =0x000005AC
+ adds r3, r2, r1
+ ldr r0, [r3]
+ lsrs r1, r0, #0x1f
+ adds r0, r0, r1
+ asrs r0, r0, #1
+ str r0, [r3]
+ ldr r3, _080411E8 @ =0x0000132C
+ adds r2, r2, r3
+ ldr r1, [r2]
+ movs r0, #0xa5
+ lsls r0, r0, #8
+ str r0, [r1, #0x38]
+ b _0804131A
+ .align 2, 0
+_080411E4: .4byte gUnknown_020314E0
+_080411E8: .4byte 0x0000132C
+_080411EC: .4byte 0xFFFFE000
+_080411F0: .4byte 0x000005AC
+_080411F4: .4byte 0x0000045C
+_080411F8: .4byte 0x0000045E
+_080411FC: .4byte 0x00004E20
+_08041200: .4byte 0x00000707
+_08041204: .4byte 0x0000038A
+_08041208: .4byte 0x00000441
+_0804120C:
+ ldr r4, _080412C4 @ =gUnknown_020314E0
+ mov sl, r4
+ ldr r0, [r4]
+ ldr r5, [sp, #0x34]
+ asrs r5, r5, #0x10
+ str r5, [sp, #0x30]
+ lsls r7, r5, #1
+ movs r1, #0x8b
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ adds r0, r0, r7
+ ldrh r0, [r0]
+ cmp r0, #0x81
+ bhi _0804131A
+ cmp r0, #0xa
+ bne _08041234
+ movs r0, #0x96
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_08041234:
+ mov r2, sl
+ ldr r6, [r2]
+ ldr r4, _080412C8 @ =0x0000038A
+ adds r3, r6, r4
+ ldrh r1, [r3]
+ subs r1, #1
+ movs r5, #0
+ mov sb, r5
+ movs r0, #0
+ mov r8, r0
+ strh r1, [r3]
+ adds r4, #2
+ adds r2, r6, r4
+ ldrh r0, [r2]
+ adds r0, r0, r1
+ strh r0, [r2]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ bgt _080412B0
+ mov r5, r8
+ strh r5, [r2]
+ ldr r4, _080412CC @ =0x0000132C
+ adds r0, r6, r4
+ ldr r5, [r0]
+ movs r1, #0
+ ldrsh r0, [r3, r1]
+ lsls r0, r0, #7
+ movs r1, #0xa
+ bl __divsi3
+ rsbs r0, r0, #0
+ lsrs r1, r0, #0x1f
+ adds r0, r0, r1
+ asrs r0, r0, #1
+ strh r0, [r5, #0x32]
+ mov r2, sb
+ strb r2, [r6, #0x1f]
+ mov r3, sl
+ ldr r1, [r3]
+ movs r5, #0x8b
+ lsls r5, r5, #3
+ adds r0, r1, r5
+ adds r0, r0, r7
+ mov r2, r8
+ strh r2, [r0]
+ adds r4, r1, r4
+ ldr r0, [r4]
+ strh r2, [r0, #0x30]
+ ldr r3, _080412D0 @ =0x00000441
+ adds r1, r1, r3
+ ldr r4, [sp, #0x30]
+ adds r1, r1, r4
+ mov r5, sb
+ strb r5, [r1]
+ mov r1, sl
+ ldr r0, [r1]
+ ldr r2, _080412D4 @ =0x000005FA
+ adds r0, r0, r2
+ strb r5, [r0]
+ movs r0, #8
+ bl sub_11B0
+_080412B0:
+ mov r3, sl
+ ldr r1, [r3]
+ movs r4, #0x8b
+ lsls r4, r4, #3
+ adds r1, r1, r4
+ adds r1, r1, r7
+ ldrh r0, [r1]
+_080412BE:
+ adds r0, #1
+ strh r0, [r1]
+ b _0804131A
+ .align 2, 0
+_080412C4: .4byte gUnknown_020314E0
+_080412C8: .4byte 0x0000038A
+_080412CC: .4byte 0x0000132C
+_080412D0: .4byte 0x00000441
+_080412D4: .4byte 0x000005FA
+_080412D8:
+ ldr r0, _08041308 @ =gUnknown_020314E0
+ ldr r6, [r0]
+ ldr r5, [sp, #0x34]
+ asrs r7, r5, #0x10
+ lsls r1, r7, #1
+ movs r2, #0x8b
+ lsls r2, r2, #3
+ adds r0, r6, r2
+ adds r5, r0, r1
+ ldrh r4, [r5]
+ adds r0, r4, #0
+ movs r1, #6
+ bl __udivsi3
+ adds r0, #7
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ str r0, [sp]
+ cmp r4, #0xa
+ bhi _0804130C
+_08041300:
+ adds r0, r4, #1
+ strh r0, [r5]
+ b _0804131A
+ .align 2, 0
+_08041308: .4byte gUnknown_020314E0
+_0804130C:
+ movs r1, #0
+ movs r0, #0
+ strh r0, [r5]
+ ldr r3, _08041540 @ =0x00000441
+ adds r0, r6, r3
+ adds r0, r0, r7
+_08041318:
+ strb r1, [r0]
+_0804131A:
+ ldr r4, [sp, #0x10]
+ ldrh r0, [r4]
+ cmp r0, #0
+ beq _08041400
+ ldr r2, _08041544 @ =0x040000D4
+ ldr r5, [sp]
+ lsls r1, r5, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #2
+ adds r0, r0, r1
+ lsls r0, r0, #7
+ ldr r1, _08041548 @ =0x084A6EEC
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _0804154C @ =0x06011EA0
+ str r0, [r2, #4]
+ ldr r0, _08041550 @ =0x80000140
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, _08041554 @ =gUnknown_020314E0
+ ldr r5, [r0]
+ ldr r7, [sp, #0x34]
+ asrs r4, r7, #0xe
+ adds r4, r5, r4
+ ldr r1, _08041558 @ =0x0000045C
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r1, r5, #0
+ adds r1, #0x58
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ ldr r3, [sp, #0x10]
+ strh r0, [r3, #2]
+ ldr r7, _0804155C @ =0x0000045E
+ adds r4, r4, r7
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r5, #0x5a
+ ldrh r1, [r5]
+ subs r0, r0, r1
+ ldr r2, [sp, #0x10]
+ strh r0, [r2, #4]
+ movs r2, #0
+ ldr r5, _08041560 @ =gOamBuffer
+ ldr r3, _08041564 @ =0xFFFFFE00
+ mov r8, r3
+_08041384:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ ldr r4, [sp, #0x10]
+ adds r6, r4, r0
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ adds r2, r2, r5
+ movs r7, #2
+ ldrsh r1, [r6, r7]
+ movs r7, #2
+ ldrsh r0, [r4, r7]
+ adds r1, r1, r0
+ ldr r4, _08041568 @ =0x000001FF
+ adds r0, r4, #0
+ ands r1, r0
+ ldrh r4, [r2, #2]
+ mov r0, r8
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldr r7, [sp, #0x10]
+ ldrb r0, [r7, #4]
+ ldrb r6, [r6, #4]
+ adds r0, r0, r6
+ strb r0, [r1]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #1
+ ble _08041384
+ ldr r1, _08041554 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r3, [sp, #0x34]
+ asrs r2, r3, #0x10
+ ldr r4, _08041540 @ =0x00000441
+ adds r0, r0, r4
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _080413E6
+ strh r0, [r7]
+_080413E6:
+ ldr r0, [r1]
+ ldr r5, _0804156C @ =0x00000505
+ adds r1, r0, r5
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ beq _08041400
+ subs r0, #1
+ cmp r2, r0
+ bne _08041400
+ movs r0, #0
+ ldr r7, [sp, #0x10]
+ strh r0, [r7]
+_08041400:
+ ldr r1, [sp, #0x34]
+ movs r2, #0x80
+ lsls r2, r2, #9
+ adds r0, r1, r2
+ lsrs r3, r0, #0x10
+ str r3, [sp, #0xc]
+ asrs r0, r0, #0x10
+ cmp r0, #1
+ bgt _08041414
+ b _08040CAE
+_08041414:
+ bl sub_417F8
+ ldr r4, _08041570 @ =0x0200C218
+ str r4, [sp, #0x10]
+ ldrh r0, [r4]
+ cmp r0, #0
+ beq _0804150E
+ ldr r5, _08041554 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ movs r7, #0xa4
+ lsls r7, r7, #3
+ adds r0, r4, r7
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldrh r1, [r4]
+ subs r0, r0, r1
+ ldr r2, [sp, #0x10]
+ strh r0, [r2, #2]
+ ldr r4, [r5]
+ ldr r3, _08041574 @ =0x00000522
+ adds r0, r4, r3
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r0, r0, r1
+ ldr r1, [sp, #0x10]
+ strh r0, [r1, #4]
+ ldr r0, [r5]
+ ldr r2, _08041578 @ =0x0000050E
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ movs r1, #5
+ bl __udivsi3
+ movs r2, #0
+ ldr r3, _0804157C @ =0x086B5CC0
+ mov sl, r3
+ ldr r4, _08041560 @ =gOamBuffer
+ mov ip, r4
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ lsls r1, r0, #4
+ subs r1, r1, r0
+ lsls r1, r1, #1
+ mov r8, r1
+ ldr r5, _08041564 @ =0xFFFFFE00
+ mov sb, r5
+_08041482:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ ldr r7, [sp, #0x10]
+ adds r6, r7, r0
+ ldrh r0, [r6]
+ lsls r0, r0, #3
+ mov r1, ip
+ adds r5, r0, r1
+ lsls r0, r3, #1
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ add r0, sl
+ mov r2, r8
+ adds r1, r2, r0
+ ldrh r0, [r1]
+ strh r0, [r5]
+ adds r1, #2
+ adds r5, #2
+ ldrh r0, [r1]
+ strh r0, [r5]
+ ldrh r0, [r1, #2]
+ strh r0, [r5, #2]
+ ldrh r2, [r6]
+ lsls r2, r2, #3
+ add r2, ip
+ ldrh r4, [r2, #2]
+ lsls r1, r4, #0x17
+ lsrs r1, r1, #0x17
+ movs r5, #2
+ ldrsh r0, [r7, r5]
+ adds r1, r1, r0
+ ldr r7, _08041568 @ =0x000001FF
+ adds r0, r7, #0
+ ands r1, r0
+ mov r0, sb
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6]
+ lsls r1, r1, #3
+ add r1, ip
+ ldr r2, [sp, #0x10]
+ ldrb r0, [r2, #4]
+ ldrb r4, [r1]
+ adds r0, r0, r4
+ strb r0, [r1]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #4
+ ble _08041482
+ ldr r0, _08041554 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r5, _08041578 @ =0x0000050E
+ adds r1, r0, r5
+ ldrh r0, [r1]
+ cmp r0, #0x18
+ bhi _0804150E
+ adds r0, #1
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0x19
+ bne _0804150E
+ movs r0, #0
+ ldr r7, [sp, #0x10]
+ strh r0, [r7]
+_0804150E:
+ ldr r1, _08041554 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r3, _0804156C @ =0x00000505
+ adds r2, r0, r3
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ cmp r0, #0
+ beq _08041530
+ movs r0, #0
+ strb r0, [r2]
+ ldr r1, [r1]
+ ldr r4, _08041578 @ =0x0000050E
+ adds r1, r1, r4
+ strh r0, [r1]
+ movs r0, #1
+ ldr r5, [sp, #0x10]
+ strh r0, [r5]
+_08041530:
+ add sp, #0x44
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08041540: .4byte 0x00000441
+_08041544: .4byte 0x040000D4
+_08041548: .4byte 0x084A6EEC
+_0804154C: .4byte 0x06011EA0
+_08041550: .4byte 0x80000140
+_08041554: .4byte gUnknown_020314E0
+_08041558: .4byte 0x0000045C
+_0804155C: .4byte 0x0000045E
+_08041560: .4byte gOamBuffer
+_08041564: .4byte 0xFFFFFE00
+_08041568: .4byte 0x000001FF
+_0804156C: .4byte 0x00000505
+_08041570: .4byte 0x0200C218
+_08041574: .4byte 0x00000522
+_08041578: .4byte 0x0000050E
+_0804157C: .4byte 0x086B5CC0
+
+ thumb_func_start sub_41580
+sub_41580: @ 0x08041580
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ ldr r0, _080415F4 @ =0x0200CD98
+ mov sb, r0
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _08041596
+ b _080417D0
+_08041596:
+ ldr r1, _080415F8 @ =gUnknown_020314E0
+ ldr r5, [r1]
+ ldr r2, _080415FC @ =0x00000486
+ adds r6, r5, r2
+ ldrh r7, [r6]
+ subs r0, r7, #1
+ strh r0, [r6]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ mov sl, r1
+ cmp r0, #5
+ bgt _080415B0
+ b _080416C2
+_080415B0:
+ ldr r4, _08041600 @ =0x08137D48
+ movs r1, #0
+ ldrsh r0, [r6, r1]
+ movs r1, #0x21
+ bl __modsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #3
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xf
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ mov r8, r0
+ ldr r1, _08041604 @ =0x0000047F
+ adds r0, r5, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _08041658
+ cmp r0, #7
+ bne _0804160C
+ ldr r2, _08041608 @ =0x0000132C
+ adds r0, r5, r2
+ ldr r1, [r0]
+ ldr r0, [r1, #0x34]
+ movs r4, #0x80
+ lsls r4, r4, #1
+ adds r0, r0, r4
+ b _0804163A
+ .align 2, 0
+_080415F4: .4byte 0x0200CD98
+_080415F8: .4byte gUnknown_020314E0
+_080415FC: .4byte 0x00000486
+_08041600: .4byte 0x08137D48
+_08041604: .4byte 0x0000047F
+_08041608: .4byte 0x0000132C
+_0804160C:
+ cmp r0, #4
+ bne _08041628
+ ldr r7, _08041620 @ =0x0000132C
+ adds r0, r5, r7
+ ldr r1, [r0]
+ ldr r0, [r1, #0x34]
+ ldr r2, _08041624 @ =0xFFFFFE00
+ adds r0, r0, r2
+ b _0804163A
+ .align 2, 0
+_08041620: .4byte 0x0000132C
+_08041624: .4byte 0xFFFFFE00
+_08041628:
+ cmp r0, #1
+ bne _0804163C
+ ldr r4, _0804164C @ =0x0000132C
+ adds r0, r5, r4
+ ldr r1, [r0]
+ ldr r0, [r1, #0x34]
+ movs r5, #0x80
+ lsls r5, r5, #1
+ adds r0, r0, r5
+_0804163A:
+ str r0, [r1, #0x34]
+_0804163C:
+ ldr r0, _08041650 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r7, _08041654 @ =0x0000047F
+ adds r1, r1, r7
+ ldrb r0, [r1]
+ subs r0, #1
+ strb r0, [r1]
+ b _08041682
+ .align 2, 0
+_0804164C: .4byte 0x0000132C
+_08041650: .4byte gUnknown_020314E0
+_08041654: .4byte 0x0000047F
+_08041658:
+ ldrh r0, [r5, #4]
+ cmp r0, #0
+ beq _08041682
+ adds r0, r7, #0
+ subs r0, #0x1f
+ strh r0, [r6]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #4
+ bgt _08041670
+ movs r0, #5
+ strh r0, [r6]
+_08041670:
+ mov r2, sl
+ ldr r0, [r2]
+ adds r0, r0, r1
+ movs r1, #7
+ strb r1, [r0]
+ movs r0, #0x95
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_08041682:
+ ldr r0, _080416A8 @ =gUnknown_020314E0
+ ldr r5, [r0]
+ movs r7, #0x90
+ lsls r7, r7, #3
+ adds r4, r5, r7
+ ldrh r3, [r4]
+ mov sl, r0
+ cmp r3, #0
+ beq _080416B6
+ subs r0, r3, #1
+ strh r0, [r4]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0x34
+ bls _080416AC
+ movs r0, #8
+ mov r8, r0
+ b _080416C6
+ .align 2, 0
+_080416A8: .4byte gUnknown_020314E0
+_080416AC:
+ cmp r0, #0x2a
+ bls _080416C6
+ movs r1, #9
+ mov r8, r1
+ b _080416C6
+_080416B6:
+ ldrh r0, [r5, #4]
+ cmp r0, #0
+ beq _080416C6
+ movs r0, #0x3c
+ strh r0, [r4]
+ b _080416C6
+_080416C2:
+ movs r2, #8
+ mov r8, r2
+_080416C6:
+ mov r4, sl
+ ldr r1, [r4]
+ ldr r5, _080416F4 @ =0x00000486
+ adds r0, r1, r5
+ movs r7, #0
+ ldrsh r3, [r0, r7]
+ cmp r3, #0
+ bne _08041704
+ ldr r0, _080416F8 @ =gMain
+ ldr r1, _080416FC @ =0x00001CD8
+ adds r0, r0, r1
+ movs r2, #0
+ strh r3, [r0]
+ ldr r0, [r4]
+ movs r4, #0x90
+ lsls r4, r4, #3
+ adds r1, r0, r4
+ strh r3, [r1]
+ ldr r5, _08041700 @ =0x00000383
+ adds r0, r0, r5
+ strb r2, [r0]
+ b _08041722
+ .align 2, 0
+_080416F4: .4byte 0x00000486
+_080416F8: .4byte gMain
+_080416FC: .4byte 0x00001CD8
+_08041700: .4byte 0x00000383
+_08041704:
+ ldr r7, _080417E0 @ =0x00000383
+ adds r1, r1, r7
+ movs r2, #0
+ movs r0, #1
+ strb r0, [r1]
+ mov r1, sl
+ ldr r0, [r1]
+ ldr r4, _080417E4 @ =0x0000132C
+ adds r0, r0, r4
+ ldr r1, [r0]
+ strh r2, [r1, #0x30]
+ ldr r1, [r0]
+ strh r2, [r1, #0x32]
+ ldr r0, [r0]
+ strh r2, [r0, #6]
+_08041722:
+ mov r5, sl
+ ldr r2, [r5]
+ ldr r7, _080417E4 @ =0x0000132C
+ adds r3, r2, r7
+ ldr r0, [r3]
+ adds r1, r2, #0
+ adds r1, #0x58
+ ldrh r0, [r0, #0x10]
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ subs r0, #8
+ mov r1, sb
+ strh r0, [r1, #2]
+ ldr r0, [r3]
+ adds r2, #0x5a
+ ldrh r0, [r0, #0x12]
+ ldrh r1, [r2]
+ subs r0, r0, r1
+ subs r0, #8
+ mov r2, sb
+ strh r0, [r2, #4]
+ movs r2, #0
+ mov r4, r8
+ lsls r1, r4, #0x10
+ ldr r5, _080417E8 @ =0x086B5D56
+ mov sl, r5
+ ldr r6, _080417EC @ =gOamBuffer
+ asrs r1, r1, #0x10
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ mov ip, r0
+ ldr r7, _080417F0 @ =0xFFFFFE00
+ mov r8, r7
+_08041766:
+ lsls r3, r2, #0x10
+ asrs r3, r3, #0x10
+ lsls r4, r3, #3
+ adds r4, #8
+ add r4, sb
+ ldrh r2, [r4]
+ lsls r2, r2, #3
+ adds r2, r2, r6
+ lsls r0, r3, #1
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ add r0, sl
+ add r0, ip
+ ldrh r1, [r0]
+ strh r1, [r2]
+ adds r0, #2
+ adds r2, #2
+ ldrh r1, [r0]
+ strh r1, [r2]
+ ldrh r0, [r0, #2]
+ strh r0, [r2, #2]
+ ldrh r2, [r4]
+ lsls r2, r2, #3
+ adds r2, r2, r6
+ ldrh r0, [r2, #2]
+ lsls r1, r0, #0x17
+ lsrs r1, r1, #0x17
+ mov r5, sb
+ movs r7, #2
+ ldrsh r0, [r5, r7]
+ adds r1, r1, r0
+ ldr r5, _080417F4 @ =0x000001FF
+ adds r0, r5, #0
+ ands r1, r0
+ mov r0, r8
+ ldrh r7, [r2, #2]
+ ands r0, r7
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r4]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ mov r2, sb
+ ldrb r0, [r2, #4]
+ ldrb r4, [r1]
+ adds r0, r0, r4
+ strb r0, [r1]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r2, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #1
+ ble _08041766
+_080417D0:
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080417E0: .4byte 0x00000383
+_080417E4: .4byte 0x0000132C
+_080417E8: .4byte 0x086B5D56
+_080417EC: .4byte gOamBuffer
+_080417F0: .4byte 0xFFFFFE00
+_080417F4: .4byte 0x000001FF
+
+ thumb_func_start sub_417F8
+sub_417F8: @ 0x080417F8
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ ldr r6, _08041BD0 @ =0x0200C4F8
+ ldrh r0, [r6]
+ ldr r1, _08041BD4 @ =gUnknown_020314E0
+ mov sl, r1
+ cmp r0, #0
+ bne _08041810
+ b _08041922
+_08041810:
+ ldr r4, [r1]
+ movs r2, #0xa5
+ lsls r2, r2, #3
+ adds r0, r4, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldrh r1, [r4]
+ adds r1, #0x80
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ mov r5, sl
+ ldr r4, [r5]
+ ldr r1, _08041BD8 @ =0x0000052A
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x5a
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r0, #0
+ movs r3, #0xb8
+ adds r3, r3, r6
+ mov sb, r3
+ ldr r7, _08041BDC @ =gOamBuffer
+ ldr r4, _08041BE0 @ =0xFFFFFE00
+ mov r8, r4
+_08041856:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08041BE4 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0xe
+ ble _08041856
+ mov r6, sb
+ mov r3, sl
+ ldr r4, [r3]
+ movs r5, #0xa5
+ lsls r5, r5, #3
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldrh r1, [r4]
+ adds r1, #0x80
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ mov r2, sl
+ ldr r4, [r2]
+ ldr r3, _08041BD8 @ =0x0000052A
+ adds r0, r4, r3
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x5a
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r0, #0
+ ldr r7, _08041BDC @ =gOamBuffer
+ ldr r1, _08041BE0 @ =0xFFFFFE00
+ mov r8, r1
+_080418DE:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r2, #2
+ ldrsh r1, [r5, r2]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08041BE4 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0xd
+ ble _080418DE
+_08041922:
+ ldr r6, _08041BE8 @ =0x0200C668
+ ldrh r0, [r6]
+ cmp r0, #0
+ bne _0804192C
+ b _08041A40
+_0804192C:
+ mov r3, sl
+ ldr r4, [r3]
+ movs r5, #0xa5
+ lsls r5, r5, #3
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldrh r1, [r4]
+ adds r1, #0x80
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ mov r2, sl
+ ldr r4, [r2]
+ ldr r3, _08041BD8 @ =0x0000052A
+ adds r0, r4, r3
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x5a
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r0, #0
+ movs r1, #0xb8
+ adds r1, r1, r6
+ mov sb, r1
+ ldr r7, _08041BDC @ =gOamBuffer
+ ldr r2, _08041BE0 @ =0xFFFFFE00
+ mov r8, r2
+_08041974:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08041BE4 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0xe
+ ble _08041974
+ mov r6, sb
+ mov r3, sl
+ ldr r4, [r3]
+ movs r5, #0xa5
+ lsls r5, r5, #3
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldrh r1, [r4]
+ adds r1, #0x80
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ mov r2, sl
+ ldr r4, [r2]
+ ldr r3, _08041BD8 @ =0x0000052A
+ adds r0, r4, r3
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x5a
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r0, #0
+ ldr r7, _08041BDC @ =gOamBuffer
+ ldr r1, _08041BE0 @ =0xFFFFFE00
+ mov r8, r1
+_080419FC:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r2, #2
+ ldrsh r1, [r5, r2]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08041BE4 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #8
+ ble _080419FC
+_08041A40:
+ ldr r6, _08041BEC @ =0x0200C7D8
+ ldrh r0, [r6]
+ cmp r0, #0
+ bne _08041A4A
+ b _08041B5E
+_08041A4A:
+ mov r3, sl
+ ldr r4, [r3]
+ movs r5, #0xa5
+ lsls r5, r5, #3
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldrh r1, [r4]
+ adds r1, #0x80
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ mov r2, sl
+ ldr r4, [r2]
+ ldr r3, _08041BD8 @ =0x0000052A
+ adds r0, r4, r3
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x5a
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r0, #0
+ movs r1, #0xb8
+ adds r1, r1, r6
+ mov sb, r1
+ ldr r7, _08041BDC @ =gOamBuffer
+ ldr r2, _08041BE0 @ =0xFFFFFE00
+ mov r8, r2
+_08041A92:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08041BE4 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0xe
+ ble _08041A92
+ mov r6, sb
+ mov r3, sl
+ ldr r4, [r3]
+ movs r5, #0xa5
+ lsls r5, r5, #3
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldrh r1, [r4]
+ adds r1, #0x80
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ mov r2, sl
+ ldr r4, [r2]
+ ldr r3, _08041BD8 @ =0x0000052A
+ adds r0, r4, r3
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x5a
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r0, #0
+ ldr r7, _08041BDC @ =gOamBuffer
+ ldr r1, _08041BE0 @ =0xFFFFFE00
+ mov r8, r1
+_08041B1A:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r2, #2
+ ldrsh r1, [r5, r2]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08041BE4 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0xb
+ ble _08041B1A
+_08041B5E:
+ ldr r6, _08041BF0 @ =0x0200C948
+ ldrh r0, [r6]
+ cmp r0, #0
+ bne _08041B68
+ b _08041CB0
+_08041B68:
+ mov r3, sl
+ ldr r4, [r3]
+ movs r5, #0xa5
+ lsls r5, r5, #3
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldr r2, _08041BF4 @ =0xFFFFFE90
+ adds r1, r2, #0
+ ldrh r4, [r4]
+ adds r1, r1, r4
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ mov r3, sl
+ ldr r4, [r3]
+ adds r5, #2
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x5a
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r0, #0
+ movs r2, #0xb8
+ adds r2, r2, r6
+ mov sb, r2
+ ldr r7, _08041BDC @ =gOamBuffer
+ ldr r3, _08041BE0 @ =0xFFFFFE00
+ mov r8, r3
+_08041BB4:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ b _08041BF8
+ .align 2, 0
+_08041BD0: .4byte 0x0200C4F8
+_08041BD4: .4byte gUnknown_020314E0
+_08041BD8: .4byte 0x0000052A
+_08041BDC: .4byte gOamBuffer
+_08041BE0: .4byte 0xFFFFFE00
+_08041BE4: .4byte 0x000001FF
+_08041BE8: .4byte 0x0200C668
+_08041BEC: .4byte 0x0200C7D8
+_08041BF0: .4byte 0x0200C948
+_08041BF4: .4byte 0xFFFFFE90
+_08041BF8:
+ adds r1, r1, r0
+ ldr r2, _08041FB0 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0xe
+ ble _08041BB4
+ mov r6, sb
+ mov r3, sl
+ ldr r4, [r3]
+ movs r5, #0xa5
+ lsls r5, r5, #3
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldr r2, _08041FB4 @ =0xFFFFFE90
+ adds r1, r2, #0
+ ldrh r4, [r4]
+ adds r1, r1, r4
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ mov r3, sl
+ ldr r4, [r3]
+ adds r5, #2
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x5a
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r0, #0
+ ldr r7, _08041FB8 @ =gOamBuffer
+ ldr r2, _08041FBC @ =0xFFFFFE00
+ mov r8, r2
+_08041C6C:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08041FB0 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0xd
+ ble _08041C6C
+_08041CB0:
+ ldr r6, _08041FC0 @ =0x0200CAB8
+ ldrh r0, [r6]
+ cmp r0, #0
+ bne _08041CBA
+ b _08041DD6
+_08041CBA:
+ mov r3, sl
+ ldr r4, [r3]
+ movs r5, #0xa5
+ lsls r5, r5, #3
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldr r2, _08041FB4 @ =0xFFFFFE90
+ adds r1, r2, #0
+ ldrh r4, [r4]
+ adds r1, r1, r4
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ mov r3, sl
+ ldr r4, [r3]
+ adds r5, #2
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x5a
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r0, #0
+ movs r2, #0xb8
+ adds r2, r2, r6
+ mov sb, r2
+ ldr r7, _08041FB8 @ =gOamBuffer
+ ldr r3, _08041FBC @ =0xFFFFFE00
+ mov r8, r3
+_08041D06:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08041FB0 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0xe
+ ble _08041D06
+ mov r6, sb
+ mov r3, sl
+ ldr r4, [r3]
+ movs r5, #0xa5
+ lsls r5, r5, #3
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldr r2, _08041FB4 @ =0xFFFFFE90
+ adds r1, r2, #0
+ ldrh r4, [r4]
+ adds r1, r1, r4
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ mov r3, sl
+ ldr r4, [r3]
+ adds r5, #2
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x5a
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r0, #0
+ ldr r7, _08041FB8 @ =gOamBuffer
+ ldr r2, _08041FBC @ =0xFFFFFE00
+ mov r8, r2
+_08041D92:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08041FB0 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #8
+ ble _08041D92
+_08041DD6:
+ ldr r6, _08041FC4 @ =0x0200CC28
+ ldrh r0, [r6]
+ cmp r0, #0
+ bne _08041DE0
+ b _08041EFC
+_08041DE0:
+ mov r3, sl
+ ldr r4, [r3]
+ movs r5, #0xa5
+ lsls r5, r5, #3
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldr r2, _08041FB4 @ =0xFFFFFE90
+ adds r1, r2, #0
+ ldrh r4, [r4]
+ adds r1, r1, r4
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ mov r3, sl
+ ldr r4, [r3]
+ adds r5, #2
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x5a
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r0, #0
+ movs r2, #0xb8
+ adds r2, r2, r6
+ mov sb, r2
+ ldr r7, _08041FB8 @ =gOamBuffer
+ ldr r3, _08041FBC @ =0xFFFFFE00
+ mov r8, r3
+_08041E2C:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08041FB0 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0xe
+ ble _08041E2C
+ mov r6, sb
+ mov r3, sl
+ ldr r4, [r3]
+ movs r5, #0xa5
+ lsls r5, r5, #3
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldr r2, _08041FB4 @ =0xFFFFFE90
+ adds r1, r2, #0
+ ldrh r4, [r4]
+ adds r1, r1, r4
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ mov r3, sl
+ ldr r4, [r3]
+ adds r5, #2
+ adds r0, r4, r5
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x5a
+ ldrh r1, [r4]
+ subs r1, #0x5a
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r0, #0
+ ldr r7, _08041FB8 @ =gOamBuffer
+ ldr r2, _08041FBC @ =0xFFFFFE00
+ mov r8, r2
+_08041EB8:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08041FB0 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0xb
+ ble _08041EB8
+_08041EFC:
+ ldr r3, _08041FC8 @ =gMain
+ ldr r4, _08041FCC @ =0x000012C8
+ adds r0, r3, r4
+ ldrh r1, [r0]
+ cmp r1, #0
+ bne _08041F0A
+ b _08042014
+_08041F0A:
+ ldr r0, _08041FD0 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r5, _08041FD4 @ =0x00000514
+ adds r0, r2, r5
+ ldrh r0, [r0]
+ cmp r0, #6
+ bne _08041F7A
+ ldr r1, _08041FD8 @ =0x00001438
+ adds r0, r3, r1
+ movs r1, #0
+ strh r1, [r0]
+ ldr r4, _08041FDC @ =0x000014F0
+ adds r0, r3, r4
+ strh r1, [r0]
+ ldr r5, _08041FE0 @ =0x000015A8
+ adds r0, r3, r5
+ movs r1, #1
+ strh r1, [r0]
+ movs r4, #0xb3
+ lsls r4, r4, #5
+ adds r0, r3, r4
+ strh r1, [r0]
+ ldr r5, _08041FE4 @ =0x00000441
+ adds r0, r2, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ bgt _08041F7A
+ ldr r1, _08041FE8 @ =0x00000442
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ bgt _08041F7A
+ movs r3, #0xe2
+ lsls r3, r3, #2
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _08041F7A
+ ldr r4, _08041FEC @ =0x0000132C
+ adds r0, r2, r4
+ ldr r1, [r0]
+ movs r5, #0xfa
+ lsls r5, r5, #1
+ adds r0, r5, #0
+ ldrh r2, [r1, #0x30]
+ adds r0, r0, r2
+ strh r0, [r1, #0x30]
+ movs r0, #0xd
+ bl sub_11B0
+_08041F7A:
+ ldr r4, _08041FD0 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r3, _08041FD4 @ =0x00000514
+ adds r0, r0, r3
+ ldrh r0, [r0]
+ cmp r0, #0xb
+ bne _08041FA6
+ ldr r1, _08041FC8 @ =gMain
+ ldr r5, _08041FE0 @ =0x000015A8
+ adds r0, r1, r5
+ movs r2, #0
+ strh r2, [r0]
+ adds r5, #0xb8
+ adds r0, r1, r5
+ strh r2, [r0]
+ ldr r2, _08041FF0 @ =0x00001718
+ adds r0, r1, r2
+ movs r2, #1
+ strh r2, [r0]
+ ldr r5, _08041FF4 @ =0x000017D0
+ adds r1, r1, r5
+ strh r2, [r1]
+_08041FA6:
+ ldr r0, [r4]
+ adds r0, r0, r3
+ ldrh r0, [r0]
+ cmp r0, #0xe
+ b _08041FF8
+ .align 2, 0
+_08041FB0: .4byte 0x000001FF
+_08041FB4: .4byte 0xFFFFFE90
+_08041FB8: .4byte gOamBuffer
+_08041FBC: .4byte 0xFFFFFE00
+_08041FC0: .4byte 0x0200CAB8
+_08041FC4: .4byte 0x0200CC28
+_08041FC8: .4byte gMain
+_08041FCC: .4byte 0x000012C8
+_08041FD0: .4byte gUnknown_020314E0
+_08041FD4: .4byte 0x00000514
+_08041FD8: .4byte 0x00001438
+_08041FDC: .4byte 0x000014F0
+_08041FE0: .4byte 0x000015A8
+_08041FE4: .4byte 0x00000441
+_08041FE8: .4byte 0x00000442
+_08041FEC: .4byte 0x0000132C
+_08041FF0: .4byte 0x00001718
+_08041FF4: .4byte 0x000017D0
+_08041FF8:
+ bne _080420CC
+ ldr r0, _08042008 @ =gMain
+ ldr r2, _0804200C @ =0x00001718
+ adds r1, r0, r2
+ movs r2, #0
+ strh r2, [r1]
+ ldr r3, _08042010 @ =0x000017D0
+ b _080420C8
+ .align 2, 0
+_08042008: .4byte gMain
+_0804200C: .4byte 0x00001718
+_08042010: .4byte 0x000017D0
+_08042014:
+ ldr r0, _08042274 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r4, _08042278 @ =0x00000514
+ adds r0, r2, r4
+ ldrh r0, [r0]
+ cmp r0, #6
+ bne _08042082
+ ldr r5, _0804227C @ =gMain
+ ldr r3, _08042280 @ =0x00001888
+ adds r0, r5, r3
+ strh r1, [r0]
+ movs r4, #0xca
+ lsls r4, r4, #5
+ adds r0, r5, r4
+ strh r1, [r0]
+ ldr r1, _08042284 @ =0x000019F8
+ adds r0, r5, r1
+ movs r1, #1
+ strh r1, [r0]
+ ldr r3, _08042288 @ =0x00001AB0
+ adds r0, r5, r3
+ strh r1, [r0]
+ ldr r4, _0804228C @ =0x00000441
+ adds r0, r2, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ bgt _08042082
+ ldr r5, _08042290 @ =0x00000442
+ adds r0, r2, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ bgt _08042082
+ movs r1, #0xe2
+ lsls r1, r1, #2
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _08042082
+ ldr r3, _08042294 @ =0x0000132C
+ adds r0, r2, r3
+ ldr r1, [r0]
+ ldr r4, _08042298 @ =0xFFFFFE0C
+ adds r0, r4, #0
+ ldrh r5, [r1, #0x30]
+ adds r0, r0, r5
+ strh r0, [r1, #0x30]
+ movs r0, #0xd
+ bl sub_11B0
+_08042082:
+ ldr r4, _08042274 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r3, _08042278 @ =0x00000514
+ adds r0, r0, r3
+ ldrh r0, [r0]
+ cmp r0, #0xb
+ bne _080420B0
+ ldr r1, _0804227C @ =gMain
+ ldr r2, _08042284 @ =0x000019F8
+ adds r0, r1, r2
+ movs r2, #0
+ strh r2, [r0]
+ ldr r5, _08042288 @ =0x00001AB0
+ adds r0, r1, r5
+ strh r2, [r0]
+ ldr r2, _0804229C @ =0x00001B68
+ adds r0, r1, r2
+ movs r2, #1
+ strh r2, [r0]
+ movs r5, #0xe1
+ lsls r5, r5, #5
+ adds r1, r1, r5
+ strh r2, [r1]
+_080420B0:
+ ldr r0, [r4]
+ adds r0, r0, r3
+ ldrh r0, [r0]
+ cmp r0, #0xe
+ bne _080420CC
+ ldr r0, _0804227C @ =gMain
+ ldr r2, _0804229C @ =0x00001B68
+ adds r1, r0, r2
+ movs r2, #0
+ strh r2, [r1]
+ movs r3, #0xe1
+ lsls r3, r3, #5
+_080420C8:
+ adds r0, r0, r3
+ strh r2, [r0]
+_080420CC:
+ ldr r4, _08042274 @ =gUnknown_020314E0
+ mov sb, r4
+ ldr r1, [r4]
+ ldr r5, _08042278 @ =0x00000514
+ adds r0, r1, r5
+ ldrh r0, [r0]
+ cmp r0, #0xa
+ bne _08042184
+ ldr r0, _0804228C @ =0x00000441
+ adds r2, r1, r0
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ cmp r0, #2
+ bgt _08042184
+ movs r3, #0x8b
+ lsls r3, r3, #3
+ adds r1, r1, r3
+ movs r0, #0
+ strh r0, [r1]
+ movs r1, #1
+ strb r1, [r2]
+ ldr r4, _0804227C @ =gMain
+ movs r5, #0xdc
+ lsls r5, r5, #4
+ adds r0, r4, r5
+ strh r1, [r0]
+ bl Random
+ adds r5, r0, #0
+ movs r0, #7
+ ands r5, r0
+ ldr r0, [r4, #0x4c]
+ movs r1, #0xf0
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ movs r1, #0xf0
+ bl __udivsi3
+ lsls r0, r0, #0x10
+ lsrs r7, r0, #0x10
+ mov r0, sb
+ ldr r2, [r0]
+ ldr r0, _080422A0 @ =0x086AF744
+ lsls r1, r5, #2
+ adds r1, r1, r0
+ ldrh r3, [r1]
+ ldr r5, _080422A4 @ =0x00000464
+ adds r0, r2, r5
+ strh r3, [r0]
+ ldrh r0, [r1, #2]
+ ldr r6, _080422A8 @ =0x00000466
+ adds r2, r2, r6
+ strh r0, [r2]
+ adds r0, r7, #0
+ bl sub_C74
+ mov r1, sb
+ ldr r4, [r1]
+ adds r5, r4, r5
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r2, #0xfa
+ lsls r2, r2, #1
+ mov r8, r2
+ mov r1, r8
+ bl __divsi3
+ ldrh r1, [r5]
+ adds r1, r1, r0
+ ldr r3, _080422AC @ =0x0000045C
+ adds r4, r4, r3
+ strh r1, [r4]
+ adds r0, r7, #0
+ bl sub_C24
+ mov r5, sb
+ ldr r4, [r5]
+ adds r6, r4, r6
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ mov r1, r8
+ bl __divsi3
+ ldrh r1, [r6]
+ adds r1, r1, r0
+ ldr r0, _080422B0 @ =0x0000045E
+ adds r4, r4, r0
+ strh r1, [r4]
+ ldr r0, _080422B4 @ =0x0000012D
+ bl m4aSongNumStart
+_08042184:
+ ldr r1, _08042274 @ =gUnknown_020314E0
+ mov sb, r1
+ ldr r1, [r1]
+ ldr r2, _08042278 @ =0x00000514
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ cmp r0, #0x10
+ bne _08042240
+ ldr r3, _08042290 @ =0x00000442
+ adds r2, r1, r3
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ cmp r0, #2
+ bgt _08042240
+ ldr r4, _080422B8 @ =0x0000045A
+ adds r1, r1, r4
+ movs r0, #0
+ strh r0, [r1]
+ movs r1, #1
+ strb r1, [r2]
+ ldr r4, _0804227C @ =gMain
+ ldr r5, _080422BC @ =0x00000E78
+ adds r0, r4, r5
+ strh r1, [r0]
+ bl Random
+ movs r1, #7
+ ands r1, r0
+ adds r1, #8
+ adds r5, r1, #0
+ ldr r0, [r4, #0x4c]
+ adds r0, #0x78
+ movs r1, #0xf0
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ movs r1, #0xf0
+ bl __udivsi3
+ lsls r0, r0, #0x10
+ lsrs r7, r0, #0x10
+ mov r0, sb
+ ldr r2, [r0]
+ ldr r0, _080422A0 @ =0x086AF744
+ lsls r1, r5, #2
+ adds r1, r1, r0
+ ldrh r3, [r1]
+ movs r5, #0x8d
+ lsls r5, r5, #3
+ adds r0, r2, r5
+ strh r3, [r0]
+ ldrh r0, [r1, #2]
+ ldr r6, _080422C0 @ =0x0000046A
+ adds r2, r2, r6
+ strh r0, [r2]
+ adds r0, r7, #0
+ bl sub_C74
+ mov r1, sb
+ ldr r4, [r1]
+ adds r5, r4, r5
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r2, #0xfa
+ lsls r2, r2, #1
+ mov r8, r2
+ mov r1, r8
+ bl __divsi3
+ ldrh r1, [r5]
+ adds r1, r1, r0
+ movs r3, #0x8c
+ lsls r3, r3, #3
+ adds r4, r4, r3
+ strh r1, [r4]
+ adds r0, r7, #0
+ bl sub_C24
+ mov r5, sb
+ ldr r4, [r5]
+ adds r6, r4, r6
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ mov r1, r8
+ bl __divsi3
+ ldrh r1, [r6]
+ adds r1, r1, r0
+ ldr r0, _080422C4 @ =0x00000462
+ adds r4, r4, r0
+ strh r1, [r4]
+ ldr r0, _080422B4 @ =0x0000012D
+ bl m4aSongNumStart
+_08042240:
+ ldr r0, _08042274 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r3, #0x99
+ lsls r3, r3, #3
+ adds r2, r1, r3
+ ldrb r3, [r2]
+ movs r1, #0
+ ldrsb r1, [r2, r1]
+ mov sl, r0
+ cmp r1, #0
+ bgt _08042258
+ b _0804235E
+_08042258:
+ subs r0, r3, #1
+ strb r0, [r2]
+ mov r4, sl
+ ldr r5, [r4]
+ movs r0, #0x99
+ lsls r0, r0, #3
+ adds r1, r5, r0
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xb
+ bgt _080422CC
+ ldr r4, _080422C8 @ =0x086AEF28
+ b _0804232E
+ .align 2, 0
+_08042274: .4byte gUnknown_020314E0
+_08042278: .4byte 0x00000514
+_0804227C: .4byte gMain
+_08042280: .4byte 0x00001888
+_08042284: .4byte 0x000019F8
+_08042288: .4byte 0x00001AB0
+_0804228C: .4byte 0x00000441
+_08042290: .4byte 0x00000442
+_08042294: .4byte 0x0000132C
+_08042298: .4byte 0xFFFFFE0C
+_0804229C: .4byte 0x00001B68
+_080422A0: .4byte 0x086AF744
+_080422A4: .4byte 0x00000464
+_080422A8: .4byte 0x00000466
+_080422AC: .4byte 0x0000045C
+_080422B0: .4byte 0x0000045E
+_080422B4: .4byte 0x0000012D
+_080422B8: .4byte 0x0000045A
+_080422BC: .4byte 0x00000E78
+_080422C0: .4byte 0x0000046A
+_080422C4: .4byte 0x00000462
+_080422C8: .4byte 0x086AEF28
+_080422CC:
+ cmp r0, #0x17
+ ble _08042300
+ cmp r0, #0x23
+ bgt _080422FC
+ ldr r4, _080422F8 @ =0x086AEF28
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ movs r1, #0xc
+ bl __modsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x17
+ adds r0, r0, r4
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ lsls r0, r0, #2
+ movs r2, #0xab
+ lsls r2, r2, #2
+ adds r1, r5, r2
+ strh r0, [r1]
+ b _08042344
+ .align 2, 0
+_080422F8: .4byte 0x086AEF28
+_080422FC:
+ cmp r0, #0x2f
+ bgt _08042328
+_08042300:
+ ldr r4, _08042324 @ =0x086AEF28
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ movs r1, #0xc
+ bl __modsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x17
+ adds r0, r0, r4
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ lsls r0, r0, #1
+ movs r4, #0xab
+ lsls r4, r4, #2
+ adds r1, r5, r4
+ strh r0, [r1]
+ b _08042344
+ .align 2, 0
+_08042324: .4byte 0x086AEF28
+_08042328:
+ ldr r4, _08042394 @ =0x086AEF28
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+_0804232E:
+ movs r1, #0xc
+ bl __modsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x17
+ adds r0, r0, r4
+ ldrh r1, [r0]
+ movs r2, #0xab
+ lsls r2, r2, #2
+ adds r0, r5, r2
+ strh r1, [r0]
+_08042344:
+ mov r3, sl
+ ldr r2, [r3]
+ movs r4, #0x99
+ lsls r4, r4, #3
+ adds r0, r2, r4
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ cmp r1, #0
+ bne _0804235E
+ movs r5, #0xab
+ lsls r5, r5, #2
+ adds r0, r2, r5
+ strh r1, [r0]
+_0804235E:
+ mov r0, sl
+ ldr r2, [r0]
+ movs r3, #0xa1
+ lsls r3, r3, #3
+ adds r1, r2, r3
+ movs r4, #0
+ ldrsh r0, [r1, r4]
+ cmp r0, #0
+ ble _080423C2
+ adds r1, r0, #0
+ cmp r1, #0
+ bge _08042378
+ adds r0, r1, #3
+_08042378:
+ asrs r0, r0, #2
+ lsls r0, r0, #2
+ subs r0, r1, r0
+ lsls r0, r0, #0x10
+ asrs r1, r0, #0x10
+ lsrs r0, r0, #0x1f
+ adds r1, r1, r0
+ asrs r1, r1, #1
+ cmp r1, #0
+ beq _0804239C
+ ldr r0, _08042398 @ =0x000002AA
+ adds r1, r2, r0
+ movs r0, #2
+ b _080423A2
+ .align 2, 0
+_08042394: .4byte 0x086AEF28
+_08042398: .4byte 0x000002AA
+_0804239C:
+ ldr r3, _080423D0 @ =0x000002AA
+ adds r1, r2, r3
+ ldr r0, _080423D4 @ =0x0000FFFE
+_080423A2:
+ strh r0, [r1]
+ mov r5, sl
+ ldr r4, [r5]
+ movs r0, #0xa1
+ lsls r0, r0, #3
+ adds r1, r4, r0
+ ldrh r0, [r1]
+ subs r0, #1
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ asrs r1, r0, #0x10
+ cmp r1, #0
+ bne _080423C2
+ ldr r2, _080423D0 @ =0x000002AA
+ adds r0, r4, r2
+ strh r1, [r0]
+_080423C2:
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080423D0: .4byte 0x000002AA
+_080423D4: .4byte 0x0000FFFE
+
+ thumb_func_start sub_423D8
+sub_423D8: @ 0x080423D8
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ ldr r0, _0804267C @ =gUnknown_020314E0
+ ldr r3, [r0]
+ ldr r2, _08042680 @ =0x00000506
+ adds r1, r3, r2
+ ldrb r1, [r1]
+ lsls r1, r1, #0x18
+ asrs r1, r1, #0x18
+ mov r8, r0
+ cmp r1, #0
+ beq _080423F8
+ b _08042AB2
+_080423F8:
+ ldr r4, _08042684 @ =0x00000516
+ adds r1, r3, r4
+ ldrh r2, [r1]
+ movs r0, #0xac
+ lsls r0, r0, #2
+ cmp r2, r0
+ bls _08042408
+ b _08042AB2
+_08042408:
+ subs r0, #0x78
+ cmp r2, r0
+ bhi _08042484
+ adds r0, r2, #0
+ movs r1, #0xa0
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0x14
+ bne _08042428
+ ldr r0, _08042688 @ =0x02032F20
+ ldr r1, _0804268C @ =0x0000FFFF
+ movs r2, #0x80
+ bl m4aMPlayVolumeControl
+_08042428:
+ mov r3, r8
+ ldr r0, [r3]
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ movs r1, #0xa0
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0x5a
+ bne _08042446
+ ldr r0, _08042688 @ =0x02032F20
+ movs r1, #5
+ bl m4aMPlayFadeOutTemporarily
+_08042446:
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ movs r1, #0xa0
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #1
+ bne _08042464
+ movs r0, #0x97
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_08042464:
+ mov r2, r8
+ ldr r0, [r2]
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ movs r1, #0xa0
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #2
+ bne _08042484
+ ldr r0, _08042688 @ =0x02032F20
+ ldr r1, _0804268C @ =0x0000FFFF
+ movs r2, #0x33
+ bl m4aMPlayVolumeControl
+_08042484:
+ ldr r2, _0804267C @ =gUnknown_020314E0
+ ldr r5, [r2]
+ ldr r4, _08042684 @ =0x00000516
+ adds r3, r5, r4
+ ldrh r1, [r3]
+ ldr r0, _08042690 @ =0x000001FF
+ mov r8, r2
+ cmp r1, r0
+ bls _080424AA
+ adds r0, r1, #0
+ ldr r3, _08042694 @ =0xFFFFFE00
+ adds r0, r0, r3
+ lsrs r1, r0, #0x1f
+ adds r0, r0, r1
+ asrs r0, r0, #1
+ subs r0, #0x58
+ adds r1, r5, #0
+ adds r1, #0xe6
+ strh r0, [r1]
+_080424AA:
+ mov r0, r8
+ ldr r2, [r0]
+ adds r0, r2, r4
+ ldrh r1, [r0]
+ movs r0, #0x9c
+ lsls r0, r0, #2
+ cmp r1, r0
+ bne _080424C4
+ movs r3, #0xa5
+ lsls r3, r3, #2
+ adds r1, r2, r3
+ movs r0, #1
+ strb r0, [r1]
+_080424C4:
+ mov r0, r8
+ ldr r3, [r0]
+ adds r2, r3, r4
+ ldrh r1, [r2]
+ movs r0, #0x80
+ lsls r0, r0, #2
+ cmp r1, r0
+ bhi _080424E0
+ adds r0, r1, #0
+ lsrs r0, r0, #1
+ movs r2, #0xa3
+ lsls r2, r2, #3
+ adds r1, r3, r2
+ strh r0, [r1]
+_080424E0:
+ mov r3, r8
+ ldr r2, [r3]
+ adds r0, r2, r4
+ ldrh r1, [r0]
+ movs r0, #0xac
+ lsls r0, r0, #2
+ cmp r1, r0
+ bne _080424F8
+ ldr r0, _08042680 @ =0x00000506
+ adds r1, r2, r0
+ movs r0, #1
+ strb r0, [r1]
+_080424F8:
+ mov r1, r8
+ ldr r2, [r1]
+ adds r0, r2, r4
+ ldrh r1, [r0]
+ adds r1, #1
+ strh r1, [r0]
+ lsls r1, r1, #0x10
+ movs r0, #0x8e
+ lsls r0, r0, #0x12
+ cmp r1, r0
+ bhi _0804251C
+ ldr r3, _08042698 @ =0x00000392
+ adds r1, r2, r3
+ ldrh r0, [r1]
+ cmp r0, #5
+ bls _0804251C
+ subs r0, #1
+ strh r0, [r1]
+_0804251C:
+ mov r4, r8
+ ldr r2, [r4]
+ ldr r3, _08042684 @ =0x00000516
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ cmp r0, #1
+ bne _08042562
+ movs r0, #0xf1
+ lsls r0, r0, #2
+ adds r1, r2, r0
+ movs r0, #0x96
+ lsls r0, r0, #1
+ strh r0, [r1]
+ ldr r1, _0804269C @ =0x000003C6
+ adds r0, r2, r1
+ adds r1, #0xea
+ strh r1, [r0]
+ movs r4, #0xf2
+ lsls r4, r4, #2
+ adds r0, r2, r4
+ strh r1, [r0]
+ ldr r0, _080426A0 @ =0x000003CA
+ adds r1, r2, r0
+ movs r0, #0xc8
+ lsls r0, r0, #1
+ strh r0, [r1]
+ adds r4, #4
+ adds r1, r2, r4
+ movs r0, #0xfa
+ lsls r0, r0, #2
+ strh r0, [r1]
+ subs r0, #0x1a
+ adds r1, r2, r0
+ ldr r0, _080426A4 @ =0x000009C4
+ strh r0, [r1]
+_08042562:
+ mov r1, r8
+ ldr r2, [r1]
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ cmp r0, #0x58
+ bne _08042584
+ movs r4, #0xf1
+ lsls r4, r4, #2
+ adds r1, r2, r4
+ movs r0, #0xc8
+ lsls r0, r0, #3
+ strh r0, [r1]
+ ldr r0, _0804269C @ =0x000003C6
+ adds r1, r2, r0
+ movs r0, #0xe1
+ lsls r0, r0, #3
+ strh r0, [r1]
+_08042584:
+ mov r1, r8
+ ldr r2, [r1]
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ cmp r0, #0x78
+ bne _080425A6
+ movs r4, #0xf2
+ lsls r4, r4, #2
+ adds r1, r2, r4
+ movs r0, #0x96
+ lsls r0, r0, #2
+ strh r0, [r1]
+ ldr r0, _080426A0 @ =0x000003CA
+ adds r1, r2, r0
+ movs r0, #0xe1
+ lsls r0, r0, #3
+ strh r0, [r1]
+_080425A6:
+ mov r1, r8
+ ldr r2, [r1]
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ cmp r0, #0xaa
+ bne _080425C8
+ movs r4, #0xf3
+ lsls r4, r4, #2
+ adds r1, r2, r4
+ movs r0, #0xe1
+ lsls r0, r0, #3
+ strh r0, [r1]
+ ldr r0, _080426A8 @ =0x000003CE
+ adds r1, r2, r0
+ movs r0, #0xfa
+ lsls r0, r0, #3
+ strh r0, [r1]
+_080425C8:
+ mov r1, r8
+ ldr r2, [r1]
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ cmp r0, #0xd7
+ bne _080425E8
+ movs r4, #0xf1
+ lsls r4, r4, #2
+ adds r1, r2, r4
+ movs r0, #0
+ strh r0, [r1]
+ ldr r0, _0804269C @ =0x000003C6
+ adds r1, r2, r0
+ movs r0, #0xfa
+ lsls r0, r0, #3
+ strh r0, [r1]
+_080425E8:
+ mov r1, r8
+ ldr r2, [r1]
+ adds r0, r2, r3
+ ldrh r1, [r0]
+ ldr r0, _080426AC @ =0x00000131
+ cmp r1, r0
+ bne _08042608
+ movs r4, #0xf2
+ lsls r4, r4, #2
+ adds r0, r2, r4
+ movs r1, #0xe1
+ lsls r1, r1, #3
+ strh r1, [r0]
+ adds r4, #2
+ adds r0, r2, r4
+ strh r1, [r0]
+_08042608:
+ mov r0, r8
+ ldr r2, [r0]
+ adds r0, r2, r3
+ ldrh r1, [r0]
+ ldr r0, _080426B0 @ =0x0000013B
+ cmp r1, r0
+ bne _0804262A
+ movs r3, #0xf3
+ lsls r3, r3, #2
+ adds r1, r2, r3
+ subs r0, #0xf
+ strh r0, [r1]
+ ldr r4, _080426A8 @ =0x000003CE
+ adds r1, r2, r4
+ movs r0, #0xe1
+ lsls r0, r0, #3
+ strh r0, [r1]
+_0804262A:
+ ldr r6, _080426B4 @ =0x0200BBA0
+ ldrh r0, [r6]
+ movs r1, #0xb8
+ adds r1, r1, r6
+ mov sb, r1
+ movs r2, #0xb8
+ lsls r2, r2, #1
+ adds r2, r2, r6
+ mov sl, r2
+ cmp r0, #0
+ beq _08042728
+ mov r3, r8
+ ldr r0, [r3]
+ movs r4, #0xf1
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r6, #2]
+ mov r2, r8
+ ldr r0, [r2]
+ ldr r3, _0804269C @ =0x000003C6
+ adds r0, r0, r3
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r6, #4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #0x3c
+ rsbs r1, r1, #0
+ cmp r0, r1
+ bgt _080426B8
+ strh r1, [r6, #4]
+ b _080426C6
+ .align 2, 0
+_0804267C: .4byte gUnknown_020314E0
+_08042680: .4byte 0x00000506
+_08042684: .4byte 0x00000516
+_08042688: .4byte 0x02032F20
+_0804268C: .4byte 0x0000FFFF
+_08042690: .4byte 0x000001FF
+_08042694: .4byte 0xFFFFFE00
+_08042698: .4byte 0x00000392
+_0804269C: .4byte 0x000003C6
+_080426A0: .4byte 0x000003CA
+_080426A4: .4byte 0x000009C4
+_080426A8: .4byte 0x000003CE
+_080426AC: .4byte 0x00000131
+_080426B0: .4byte 0x0000013B
+_080426B4: .4byte 0x0200BBA0
+_080426B8:
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r2, _0804276C @ =0x000003C6
+ adds r1, r1, r2
+ ldrh r0, [r1]
+ subs r0, #0x14
+ strh r0, [r1]
+_080426C6:
+ movs r3, #4
+ ldrsh r0, [r6, r3]
+ cmp r0, #0xc8
+ ble _080426D2
+ movs r0, #0xb4
+ strh r0, [r6, #4]
+_080426D2:
+ movs r0, #0
+ ldr r4, _08042770 @ =0x0200BC58
+ mov sb, r4
+ movs r1, #0xb8
+ add r1, sb
+ mov sl, r1
+ ldr r7, _08042774 @ =gOamBuffer
+ ldr r2, _08042778 @ =0xFFFFFE00
+ mov ip, r2
+_080426E4:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _0804277C @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #3
+ ble _080426E4
+_08042728:
+ mov r6, sb
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _080427EE
+ mov r3, r8
+ ldr r0, [r3]
+ movs r4, #0xf2
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r6, #2]
+ mov r2, r8
+ ldr r0, [r2]
+ ldr r3, _08042780 @ =0x000003CA
+ adds r0, r0, r3
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r6, #4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #0x3c
+ rsbs r1, r1, #0
+ cmp r0, r1
+ bgt _08042788
+ ldr r0, _08042784 @ =0x0000FFC4
+ strh r0, [r6, #4]
+ b _08042796
+ .align 2, 0
+_0804276C: .4byte 0x000003C6
+_08042770: .4byte 0x0200BC58
+_08042774: .4byte gOamBuffer
+_08042778: .4byte 0xFFFFFE00
+_0804277C: .4byte 0x000001FF
+_08042780: .4byte 0x000003CA
+_08042784: .4byte 0x0000FFC4
+_08042788:
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r2, _08042834 @ =0x000003CA
+ adds r1, r1, r2
+ ldrh r0, [r1]
+ subs r0, #0xc
+ strh r0, [r1]
+_08042796:
+ movs r3, #4
+ ldrsh r0, [r6, r3]
+ cmp r0, #0xc8
+ ble _080427A2
+ movs r0, #0xb4
+ strh r0, [r6, #4]
+_080427A2:
+ movs r0, #0
+ ldr r7, _08042838 @ =gOamBuffer
+ ldr r4, _0804283C @ =0xFFFFFE00
+ mov ip, r4
+_080427AA:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08042840 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #5
+ ble _080427AA
+_080427EE:
+ mov r6, sl
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _080428B2
+ mov r3, r8
+ ldr r0, [r3]
+ movs r4, #0xf3
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r6, #2]
+ mov r2, r8
+ ldr r0, [r2]
+ ldr r3, _08042844 @ =0x000003CE
+ adds r0, r0, r3
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r6, #4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #0x3c
+ rsbs r1, r1, #0
+ cmp r0, r1
+ bgt _0804284C
+ ldr r0, _08042848 @ =0x0000FFC4
+ strh r0, [r6, #4]
+ b _0804285A
+ .align 2, 0
+_08042834: .4byte 0x000003CA
+_08042838: .4byte gOamBuffer
+_0804283C: .4byte 0xFFFFFE00
+_08042840: .4byte 0x000001FF
+_08042844: .4byte 0x000003CE
+_08042848: .4byte 0x0000FFC4
+_0804284C:
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r2, _0804290C @ =0x000003CE
+ adds r1, r1, r2
+ ldrh r0, [r1]
+ subs r0, #0x12
+ strh r0, [r1]
+_0804285A:
+ movs r3, #4
+ ldrsh r0, [r6, r3]
+ cmp r0, #0xc8
+ ble _08042866
+ movs r0, #0xb4
+ strh r0, [r6, #4]
+_08042866:
+ movs r0, #0
+ ldr r7, _08042910 @ =gOamBuffer
+ ldr r4, _08042914 @ =0xFFFFFE00
+ mov ip, r4
+_0804286E:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08042918 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #4
+ ble _0804286E
+_080428B2:
+ mov r3, r8
+ ldr r0, [r3]
+ ldr r2, _0804291C @ =0x00000516
+ adds r0, r0, r2
+ ldrh r1, [r0]
+ movs r0, #0xa5
+ lsls r0, r0, #2
+ cmp r1, r0
+ bne _080428DC
+ ldr r4, _08042920 @ =gMain
+ movs r1, #0xae
+ lsls r1, r1, #4
+ adds r0, r4, r1
+ movs r1, #0
+ strh r1, [r0]
+ ldr r3, _08042924 @ =0x00000B98
+ adds r0, r4, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r4, r3
+ strh r1, [r0]
+_080428DC:
+ ldr r6, _08042928 @ =0x0200BDC8
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _080429CA
+ mov r4, r8
+ ldr r0, [r4]
+ adds r1, r0, r2
+ ldrh r0, [r1]
+ subs r0, #0xc3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #9
+ bhi _08042930
+ ldr r0, _0804292C @ =0x086AF784
+ ldrh r1, [r1]
+ subs r1, #0xc3
+ lsrs r2, r1, #0x1f
+ adds r1, r1, r2
+ asrs r1, r1, #1
+ lsls r1, r1, #1
+ adds r1, r1, r0
+ ldrh r7, [r1]
+ b _08042938
+ .align 2, 0
+_0804290C: .4byte 0x000003CE
+_08042910: .4byte gOamBuffer
+_08042914: .4byte 0xFFFFFE00
+_08042918: .4byte 0x000001FF
+_0804291C: .4byte 0x00000516
+_08042920: .4byte gMain
+_08042924: .4byte 0x00000B98
+_08042928: .4byte 0x0200BDC8
+_0804292C: .4byte 0x086AF784
+_08042930:
+ ldrh r0, [r1]
+ movs r1, #3
+ ands r0, r1
+ lsrs r7, r0, #1
+_08042938:
+ mov r0, r8
+ ldr r4, [r0]
+ movs r1, #0x83
+ lsls r1, r1, #3
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r6, #2]
+ ldr r3, _08042A40 @ =0x0000041A
+ adds r4, r4, r3
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r6, #4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #0x3c
+ rsbs r1, r1, #0
+ cmp r0, r1
+ bge _0804296E
+ ldr r0, _08042A44 @ =0x0000FFC4
+ strh r0, [r6, #4]
+_0804296E:
+ movs r2, #4
+ ldrsh r0, [r6, r2]
+ cmp r0, #0xb4
+ ble _0804297A
+ movs r0, #0xb4
+ strh r0, [r6, #4]
+_0804297A:
+ adds r5, r6, #0
+ adds r5, #8
+ ldr r4, _08042A48 @ =gOamBuffer
+ ldrh r2, [r6, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ movs r3, #2
+ ldrsh r1, [r5, r3]
+ movs r3, #2
+ ldrsh r0, [r6, r3]
+ adds r1, r1, r0
+ ldr r3, _08042A4C @ =0x000001FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ ldr r0, _08042A50 @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ ldrh r2, [r6, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ lsls r1, r7, #0x10
+ asrs r1, r1, #0xe
+ adds r1, #0x7d
+ ldr r4, _08042A54 @ =0x000003FF
+ adds r0, r4, #0
+ ands r1, r0
+ ldrh r3, [r2, #4]
+ ldr r0, _08042A58 @ =0xFFFFFC00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #4]
+_080429CA:
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r4, _08042A5C @ =0x00000516
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ cmp r0, #0x96
+ bne _08042A0A
+ ldr r2, _08042A60 @ =gMain
+ ldr r3, _08042A64 @ =0x00000D08
+ adds r1, r2, r3
+ movs r0, #1
+ strh r0, [r1]
+ mov r0, r8
+ ldr r1, [r0]
+ movs r3, #0x83
+ lsls r3, r3, #3
+ adds r2, r1, r3
+ movs r0, #0xc8
+ lsls r0, r0, #3
+ strh r0, [r2]
+ ldr r0, _08042A40 @ =0x0000041A
+ adds r2, r1, r0
+ ldr r0, _08042A68 @ =0x0000FF9C
+ strh r0, [r2]
+ subs r3, #4
+ adds r2, r1, r3
+ adds r0, #0x4f
+ strh r0, [r2]
+ ldr r0, _08042A6C @ =0x00000416
+ adds r1, r1, r0
+ movs r0, #0xe
+ strh r0, [r1]
+_08042A0A:
+ mov r1, r8
+ ldr r3, [r1]
+ adds r0, r3, r4
+ ldrh r0, [r0]
+ cmp r0, #0xcd
+ bls _08042A70
+ ldr r4, _08042A6C @ =0x00000416
+ adds r2, r3, r4
+ ldrh r0, [r2]
+ adds r0, #1
+ strh r0, [r2]
+ movs r0, #0x83
+ lsls r0, r0, #3
+ adds r1, r3, r0
+ subs r4, #2
+ adds r0, r3, r4
+ ldrh r0, [r0]
+ ldrh r4, [r1]
+ adds r0, r0, r4
+ strh r0, [r1]
+ ldr r0, _08042A40 @ =0x0000041A
+ adds r1, r3, r0
+ ldrh r0, [r2]
+ ldrh r2, [r1]
+ adds r0, r0, r2
+ b _08042A94
+ .align 2, 0
+_08042A40: .4byte 0x0000041A
+_08042A44: .4byte 0x0000FFC4
+_08042A48: .4byte gOamBuffer
+_08042A4C: .4byte 0x000001FF
+_08042A50: .4byte 0xFFFFFE00
+_08042A54: .4byte 0x000003FF
+_08042A58: .4byte 0xFFFFFC00
+_08042A5C: .4byte 0x00000516
+_08042A60: .4byte gMain
+_08042A64: .4byte 0x00000D08
+_08042A68: .4byte 0x0000FF9C
+_08042A6C: .4byte 0x00000416
+_08042A70:
+ cmp r0, #0x96
+ bls _08042A96
+ movs r4, #0x83
+ lsls r4, r4, #3
+ adds r1, r3, r4
+ ldr r2, _08042B2C @ =0x00000414
+ adds r0, r3, r2
+ ldrh r0, [r0]
+ ldrh r4, [r1]
+ adds r0, r0, r4
+ strh r0, [r1]
+ ldr r0, _08042B30 @ =0x0000041A
+ adds r1, r3, r0
+ adds r2, #2
+ adds r0, r3, r2
+ ldrh r0, [r0]
+ ldrh r3, [r1]
+ adds r0, r0, r3
+_08042A94:
+ strh r0, [r1]
+_08042A96:
+ mov r4, r8
+ ldr r0, [r4]
+ ldr r1, _08042B34 @ =0x00000516
+ adds r0, r0, r1
+ ldrh r1, [r0]
+ movs r0, #0xaf
+ lsls r0, r0, #1
+ cmp r1, r0
+ bne _08042AB2
+ ldr r0, _08042B38 @ =gMain
+ ldr r2, _08042B3C @ =0x00000D08
+ adds r0, r0, r2
+ movs r1, #0
+ strh r1, [r0]
+_08042AB2:
+ mov r3, r8
+ ldr r1, [r3]
+ ldr r4, _08042B40 @ =0x00000506
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ beq _08042AC6
+ b _08042DA0
+_08042AC6:
+ ldr r5, _08042B34 @ =0x00000516
+ adds r2, r1, r5
+ ldrh r0, [r2]
+ cmp r0, #0xff
+ bhi _08042ADE
+ asrs r0, r0, #1
+ rsbs r0, r0, #0
+ adds r1, #0xe6
+ strh r0, [r1]
+ ldrh r0, [r2]
+ adds r0, #1
+ strh r0, [r2]
+_08042ADE:
+ ldr r0, _08042B38 @ =gMain
+ movs r1, #0xae
+ lsls r1, r1, #4
+ adds r6, r0, r1
+ ldrh r0, [r6]
+ ldr r2, _08042B38 @ =gMain
+ ldr r3, _08042B44 @ =0x00000B98
+ adds r2, r2, r3
+ mov sb, r2
+ cmp r0, #0
+ beq _08042BC0
+ mov r4, r8
+ ldr r0, [r4]
+ movs r1, #0xf1
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r6, #2]
+ ldr r0, [r4]
+ ldr r4, _08042B48 @ =0x000003C6
+ adds r0, r0, r4
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r6, #4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xb4
+ ble _08042B4C
+ movs r0, #0xb4
+ strh r0, [r6, #4]
+ b _08042B60
+ .align 2, 0
+_08042B2C: .4byte 0x00000414
+_08042B30: .4byte 0x0000041A
+_08042B34: .4byte 0x00000516
+_08042B38: .4byte gMain
+_08042B3C: .4byte 0x00000D08
+_08042B40: .4byte 0x00000506
+_08042B44: .4byte 0x00000B98
+_08042B48: .4byte 0x000003C6
+_08042B4C:
+ mov r0, r8
+ ldr r1, [r0]
+ adds r0, r1, r5
+ ldrh r0, [r0]
+ cmp r0, #0xff
+ bhi _08042B60
+ adds r1, r1, r4
+ ldrh r0, [r1]
+ adds r0, #0x14
+ strh r0, [r1]
+_08042B60:
+ movs r2, #4
+ ldrsh r1, [r6, r2]
+ movs r0, #0x3c
+ rsbs r0, r0, #0
+ cmp r1, r0
+ bge _08042B70
+ ldr r0, _08042C00 @ =0x0000FFC4
+ strh r0, [r6, #4]
+_08042B70:
+ movs r0, #0
+ ldr r3, _08042C04 @ =0x0200BC58
+ mov sb, r3
+ ldr r7, _08042C08 @ =gOamBuffer
+ ldr r4, _08042C0C @ =0xFFFFFE00
+ mov ip, r4
+_08042B7C:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08042C10 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #3
+ ble _08042B7C
+_08042BC0:
+ mov r6, sb
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _08042C86
+ mov r3, r8
+ ldr r0, [r3]
+ movs r4, #0xf2
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r6, #2]
+ mov r2, r8
+ ldr r0, [r2]
+ adds r4, #2
+ adds r0, r0, r4
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r6, #4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xb4
+ ble _08042C14
+ movs r0, #0xb4
+ strh r0, [r6, #4]
+ b _08042C2A
+ .align 2, 0
+_08042C00: .4byte 0x0000FFC4
+_08042C04: .4byte 0x0200BC58
+_08042C08: .4byte gOamBuffer
+_08042C0C: .4byte 0xFFFFFE00
+_08042C10: .4byte 0x000001FF
+_08042C14:
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r2, _08042CB8 @ =0x00000516
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ cmp r0, #0xff
+ bhi _08042C2A
+ adds r1, r1, r4
+ ldrh r0, [r1]
+ adds r0, #0xa
+ strh r0, [r1]
+_08042C2A:
+ movs r3, #4
+ ldrsh r1, [r6, r3]
+ movs r0, #0x3c
+ rsbs r0, r0, #0
+ cmp r1, r0
+ bge _08042C3A
+ ldr r0, _08042CBC @ =0x0000FFC4
+ strh r0, [r6, #4]
+_08042C3A:
+ movs r0, #0
+ ldr r7, _08042CC0 @ =gOamBuffer
+ ldr r4, _08042CC4 @ =0xFFFFFE00
+ mov ip, r4
+_08042C42:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08042CC8 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #5
+ ble _08042C42
+_08042C86:
+ ldr r6, _08042CCC @ =0x0200BDC8
+ ldrh r0, [r6]
+ cmp r0, #0
+ bne _08042C90
+ b _08042DA0
+_08042C90:
+ mov r3, r8
+ ldr r0, [r3]
+ ldr r4, _08042CB8 @ =0x00000516
+ adds r1, r0, r4
+ ldrh r0, [r1]
+ subs r0, #0xbe
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #9
+ bhi _08042CD4
+ ldr r0, _08042CD0 @ =0x086AF784
+ ldrh r1, [r1]
+ subs r1, #0xbe
+ lsrs r2, r1, #0x1f
+ adds r1, r1, r2
+ asrs r1, r1, #1
+ lsls r1, r1, #1
+ adds r1, r1, r0
+ ldrh r7, [r1]
+ b _08042CDC
+ .align 2, 0
+_08042CB8: .4byte 0x00000516
+_08042CBC: .4byte 0x0000FFC4
+_08042CC0: .4byte gOamBuffer
+_08042CC4: .4byte 0xFFFFFE00
+_08042CC8: .4byte 0x000001FF
+_08042CCC: .4byte 0x0200BDC8
+_08042CD0: .4byte 0x086AF784
+_08042CD4:
+ ldrh r0, [r1]
+ movs r1, #3
+ ands r0, r1
+ lsrs r7, r0, #1
+_08042CDC:
+ mov r0, r8
+ ldr r4, [r0]
+ movs r1, #0x83
+ lsls r1, r1, #3
+ mov sl, r1
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r6, #2]
+ ldr r3, _08042DB8 @ =0x0000041A
+ mov sb, r3
+ add r4, sb
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r6, #4]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #0x3c
+ rsbs r1, r1, #0
+ cmp r0, r1
+ bge _08042D16
+ ldr r0, _08042DBC @ =0x0000FFC4
+ strh r0, [r6, #4]
+_08042D16:
+ movs r2, #4
+ ldrsh r0, [r6, r2]
+ cmp r0, #0xb4
+ ble _08042D22
+ movs r0, #0xb4
+ strh r0, [r6, #4]
+_08042D22:
+ adds r5, r6, #0
+ adds r5, #8
+ ldr r4, _08042DC0 @ =gOamBuffer
+ ldrh r2, [r6, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ movs r3, #2
+ ldrsh r1, [r5, r3]
+ movs r3, #2
+ ldrsh r0, [r6, r3]
+ adds r1, r1, r0
+ ldr r3, _08042DC4 @ =0x000001FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ ldr r0, _08042DC8 @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ ldrh r2, [r6, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ lsls r1, r7, #0x10
+ asrs r1, r1, #0xe
+ adds r1, #0x7d
+ ldr r4, _08042DCC @ =0x000003FF
+ adds r0, r4, #0
+ ands r1, r0
+ ldrh r3, [r2, #4]
+ ldr r0, _08042DD0 @ =0xFFFFFC00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #4]
+ mov r0, r8
+ ldr r2, [r0]
+ ldr r1, _08042DD4 @ =0x00000516
+ adds r0, r2, r1
+ ldrh r0, [r0]
+ cmp r0, #0xa0
+ bls _08042DA0
+ mov r3, sl
+ adds r1, r2, r3
+ adds r4, #0x15
+ adds r0, r2, r4
+ ldrh r0, [r0]
+ ldrh r3, [r1]
+ adds r0, r0, r3
+ strh r0, [r1]
+ mov r4, sb
+ adds r1, r2, r4
+ ldr r3, _08042DD8 @ =0x00000416
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ ldrh r4, [r1]
+ adds r0, r0, r4
+ strh r0, [r1]
+_08042DA0:
+ mov r0, r8
+ ldr r2, [r0]
+ adds r0, r2, #0
+ adds r0, #0xe6
+ movs r3, #0
+ ldrsh r1, [r0, r3]
+ movs r0, #0x20
+ rsbs r0, r0, #0
+ cmp r1, r0
+ blt _08042DDC
+ movs r0, #0
+ b _08042DDE
+ .align 2, 0
+_08042DB8: .4byte 0x0000041A
+_08042DBC: .4byte 0x0000FFC4
+_08042DC0: .4byte gOamBuffer
+_08042DC4: .4byte 0x000001FF
+_08042DC8: .4byte 0xFFFFFE00
+_08042DCC: .4byte 0x000003FF
+_08042DD0: .4byte 0xFFFFFC00
+_08042DD4: .4byte 0x00000516
+_08042DD8: .4byte 0x00000416
+_08042DDC:
+ movs r0, #1
+_08042DDE:
+ strb r0, [r2, #0x1a]
+ ldr r4, _08042E38 @ =gMain
+ ldr r0, _08042E3C @ =0x000002F2
+ adds r2, r4, r0
+ mov r1, r8
+ ldr r0, [r1]
+ movs r1, #0xa3
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ ldrh r0, [r0]
+ ldrh r3, [r2]
+ adds r0, r0, r3
+ strh r0, [r2]
+ ldr r0, _08042E40 @ =0x000002EE
+ adds r2, r4, r0
+ mov r3, r8
+ ldr r0, [r3]
+ adds r0, r0, r1
+ ldrh r0, [r0]
+ ldrh r4, [r2]
+ adds r0, r0, r4
+ strh r0, [r2]
+ ldr r0, _08042E38 @ =gMain
+ ldr r3, _08042E44 @ =0x000002F6
+ adds r2, r0, r3
+ mov r4, r8
+ ldr r0, [r4]
+ adds r0, r0, r1
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0
+ bge _08042E20
+ adds r0, #3
+_08042E20:
+ asrs r0, r0, #2
+ adds r0, #0xe0
+ ldrh r3, [r2]
+ adds r0, r0, r3
+ strh r0, [r2]
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08042E38: .4byte gMain
+_08042E3C: .4byte 0x000002F2
+_08042E40: .4byte 0x000002EE
+_08042E44: .4byte 0x000002F6
+
+ thumb_func_start sub_42E48
+sub_42E48: @ 0x08042E48
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ ldr r0, _08043198 @ =gMain
+ ldr r1, [r0, #0x4c]
+ movs r0, #0xf
+ movs r5, #0
+ ands r1, r0
+ cmp r5, r1
+ bge _08042E72
+ adds r4, r1, #0
+_08042E5E:
+ bl Random
+ lsls r0, r5, #0x10
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r0, r1
+ lsrs r5, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, r4
+ blt _08042E5E
+_08042E72:
+ ldr r1, _08043198 @ =gMain
+ ldr r0, [r1, #0x4c]
+ str r0, [r1, #0x48]
+ ldr r4, _0804319C @ =gUnknown_020314E0
+ ldr r0, [r4]
+ movs r6, #0
+ movs r3, #0
+ strh r3, [r0, #0x18]
+ strb r6, [r0, #0x17]
+ ldr r0, [r4]
+ strb r6, [r0, #0x13]
+ ldr r0, [r4]
+ movs r2, #0xa5
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ movs r5, #1
+ mov r8, r5
+ mov r7, r8
+ strb r7, [r0]
+ ldr r2, [r4]
+ adds r5, r2, #0
+ adds r5, #0x6c
+ movs r1, #0xe1
+ lsls r1, r1, #5
+ adds r0, r1, #0
+ ldrh r7, [r5]
+ adds r0, r0, r7
+ ldr r7, _080431A0 @ =0x00000296
+ adds r1, r2, r7
+ strh r0, [r1]
+ strh r3, [r5]
+ ldr r1, _080431A4 @ =0x00000392
+ adds r0, r2, r1
+ strh r3, [r0]
+ ldr r5, _080431A8 @ =0x00000383
+ adds r2, r2, r5
+ strb r6, [r2]
+ ldr r0, [r4]
+ adds r7, #0xf2
+ adds r0, r0, r7
+ strb r6, [r0]
+ ldr r0, [r4]
+ ldr r1, _080431AC @ =0x0000132C
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov r2, r8
+ strb r2, [r0]
+ ldr r0, [r4]
+ strb r2, [r0, #0x1f]
+ ldr r2, [r4]
+ adds r1, r2, r1
+ ldr r0, [r1]
+ strh r3, [r0, #0x30]
+ ldr r0, [r1]
+ strh r3, [r0, #0x32]
+ ldr r0, [r1]
+ strh r3, [r0, #6]
+ adds r5, #3
+ adds r2, r2, r5
+ strb r6, [r2]
+ ldr r1, [r4]
+ ldr r7, _080431B0 @ =0x0000053A
+ adds r0, r1, r7
+ strh r3, [r0]
+ ldr r2, _080431B4 @ =0x00000542
+ adds r0, r1, r2
+ strh r3, [r0]
+ ldr r5, _080431B8 @ =0x00000544
+ adds r0, r1, r5
+ str r3, [r0]
+ adds r7, #0x10
+ adds r1, r1, r7
+ strb r6, [r1]
+ ldr r0, [r4]
+ movs r2, #0xe5
+ lsls r2, r2, #2
+ adds r1, r0, r2
+ strh r3, [r1]
+ adds r5, #0x4c
+ adds r0, r0, r5
+ strb r6, [r0]
+ ldr r0, [r4]
+ adds r7, #0x47
+ adds r0, r0, r7
+ strb r6, [r0]
+ ldr r1, [r4]
+ ldr r2, _080431BC @ =0x00000592
+ adds r0, r1, r2
+ strh r3, [r0]
+ adds r5, #4
+ adds r0, r1, r5
+ strh r3, [r0]
+ adds r7, #5
+ adds r0, r1, r7
+ strh r3, [r0]
+ adds r1, #0x7e
+ mov r0, r8
+ strh r0, [r1]
+ movs r5, #0
+ movs r6, #0xe8
+ lsls r6, r6, #2
+_08042F3C:
+ ldr r0, [r4]
+ lsls r1, r5, #0x10
+ asrs r1, r1, #0x10
+ adds r0, r0, r6
+ adds r0, r0, r1
+ strb r3, [r0]
+ ldr r0, [r4]
+ ldr r2, _080431C0 @ =0x000003A3
+ adds r0, r0, r2
+ adds r0, r0, r1
+ strb r3, [r0]
+ ldr r0, [r4]
+ lsls r2, r1, #1
+ movs r5, #0xec
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ adds r0, r0, r2
+ strh r3, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r5, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #2
+ ble _08042F3C
+ movs r5, #0
+ ldr r4, _0804319C @ =gUnknown_020314E0
+ movs r3, #0
+_08042F72:
+ ldr r0, [r4]
+ lsls r1, r5, #0x10
+ asrs r1, r1, #0x10
+ movs r7, #0xa6
+ lsls r7, r7, #3
+ adds r0, r0, r7
+ adds r0, r0, r1
+ strb r3, [r0]
+ ldr r0, [r4]
+ ldr r2, _080431C4 @ =0x00000533
+ adds r0, r0, r2
+ adds r0, r0, r1
+ strb r3, [r0]
+ ldr r0, [r4]
+ ldr r5, _080431C8 @ =0x00000536
+ adds r0, r0, r5
+ adds r0, r0, r1
+ strb r3, [r0]
+ ldr r0, [r4]
+ lsls r2, r1, #1
+ adds r7, #0xc
+ adds r0, r0, r7
+ adds r0, r0, r2
+ strh r3, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r5, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #2
+ ble _08042F72
+ movs r5, #0
+ ldr r6, _0804319C @ =gUnknown_020314E0
+ movs r4, #0
+_08042FB4:
+ ldr r0, [r6]
+ lsls r3, r5, #0x10
+ asrs r3, r3, #0x10
+ ldr r1, _080431CC @ =0x0000052C
+ adds r0, r0, r1
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldr r0, [r6]
+ ldr r2, _080431D0 @ =0x0000052E
+ adds r0, r0, r2
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldr r0, [r6]
+ movs r5, #0xa9
+ lsls r5, r5, #3
+ adds r0, r0, r5
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldr r0, [r6]
+ ldr r7, _080431D4 @ =0x0000054B
+ adds r0, r0, r7
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldr r0, [r6]
+ adds r1, #0x21
+ adds r0, r0, r1
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldr r0, [r6]
+ adds r2, #0x21
+ adds r0, r0, r2
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldr r0, [r6]
+ adds r5, #9
+ adds r0, r0, r5
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldr r0, [r6]
+ adds r7, #8
+ adds r0, r0, r7
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldr r0, [r6]
+ adds r1, #8
+ adds r0, r0, r1
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldr r0, [r6]
+ adds r2, #8
+ adds r0, r0, r2
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldr r0, [r6]
+ adds r5, #8
+ adds r0, r0, r5
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldr r0, [r6]
+ adds r7, #8
+ adds r0, r0, r7
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldr r0, [r6]
+ adds r1, #8
+ adds r0, r0, r1
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldr r0, [r6]
+ adds r2, #8
+ adds r0, r0, r2
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldr r2, [r6]
+ lsls r1, r3, #1
+ adds r5, #9
+ adds r0, r2, r5
+ adds r0, r0, r1
+ strh r4, [r0]
+ adds r7, #0xb
+ adds r0, r2, r7
+ adds r0, r0, r1
+ strh r4, [r0]
+ adds r5, #8
+ adds r0, r2, r5
+ adds r0, r0, r1
+ strh r4, [r0]
+ lsls r0, r3, #2
+ adds r0, r2, r0
+ adds r7, #0xa
+ adds r1, r0, r7
+ strh r4, [r1]
+ adds r5, #8
+ adds r1, r0, r5
+ strh r4, [r1]
+ adds r7, #8
+ adds r1, r0, r7
+ strh r4, [r1]
+ ldr r1, _080431D8 @ =0x0000057A
+ adds r0, r0, r1
+ strh r4, [r0]
+ lsls r1, r3, #3
+ adds r5, #0xe
+ adds r0, r2, r5
+ adds r0, r0, r1
+ str r4, [r0]
+ adds r7, #0xc
+ adds r2, r2, r7
+ adds r2, r2, r1
+ str r4, [r2]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r5, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #1
+ ble _08042FB4
+ ldr r0, _0804319C @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r0, #0
+ strb r0, [r1, #0x1a]
+ bl sub_4387C
+ bl sub_43500
+ bl sub_44D58
+ bl sub_45E08
+ movs r5, #0
+ ldr r6, _080431DC @ =0x03005C00
+ movs r4, #0x80
+ lsls r4, r4, #3
+ movs r3, #0x80
+ lsls r3, r3, #2
+ ldr r2, _080431E0 @ =0x000007FF
+_080430C2:
+ lsls r1, r5, #0x10
+ asrs r1, r1, #0x10
+ adds r0, r1, r4
+ lsls r0, r0, #1
+ adds r0, r0, r6
+ strh r3, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r5, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, r2
+ ble _080430C2
+ ldr r1, _080431E4 @ =0x040000D4
+ ldr r2, _080431E8 @ =0x03006400
+ str r2, [r1]
+ ldr r0, _080431EC @ =0x06001000
+ str r0, [r1, #4]
+ ldr r0, _080431F0 @ =0x80000800
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r1, _08043198 @ =gMain
+ ldrh r0, [r1, #0x38]
+ ldr r0, _080431F4 @ =0x00001C42
+ strh r0, [r1, #0x38]
+ ldrh r0, [r1, #0x3a]
+ ldr r0, _080431F8 @ =0x00000C04
+ strh r0, [r1, #0x3a]
+ movs r5, #0
+ adds r6, r1, #0
+ ldr r0, _0804319C @ =gUnknown_020314E0
+ mov r8, r0
+ movs r1, #0x80
+ lsls r1, r1, #4
+ adds r7, r2, r1
+ ldr r0, _080431FC @ =0x08137E14
+ mov ip, r0
+ ldr r1, _08043200 @ =0xFFFFF800
+ adds r2, r2, r1
+ ldr r4, _08043204 @ =0x0000013F
+_08043110:
+ lsls r0, r5, #0x10
+ asrs r3, r0, #0x10
+ adds r0, r3, #0
+ cmp r3, #0
+ bge _0804311C
+ adds r0, #0x1f
+_0804311C:
+ asrs r0, r0, #5
+ lsls r0, r0, #5
+ subs r0, r3, r0
+ subs r0, #2
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0x1b
+ bhi _0804313C
+ movs r5, #0x80
+ lsls r5, r5, #4
+ adds r0, r3, r5
+ lsls r0, r0, #1
+ adds r0, r0, r2
+ movs r1, #0x90
+ lsls r1, r1, #8
+ strh r1, [r0]
+_0804313C:
+ adds r0, r3, #1
+ lsls r0, r0, #0x10
+ lsrs r5, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, r4
+ ble _08043110
+ ldr r0, _08043208 @ =0x000002EE
+ adds r1, r6, r0
+ movs r0, #0x7e
+ strh r0, [r1]
+ ldr r4, _080431E4 @ =0x040000D4
+ str r7, [r4]
+ ldr r0, _0804320C @ =0x06001140
+ str r0, [r4, #4]
+ ldr r0, _08043210 @ =0x80000140
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r2, _08043214 @ =0x000005F6
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #5
+ add r0, ip
+ str r0, [r4]
+ ldr r0, _08043218 @ =0x05000220
+ str r0, [r4, #4]
+ ldr r5, _0804321C @ =0x80000010
+ str r5, [r4, #8]
+ ldr r0, [r4, #8]
+ movs r0, #0x27
+ bl m4aSongNumStart
+ ldr r0, _08043220 @ =0x081B36A4
+ str r0, [r4]
+ ldr r0, _08043224 @ =0x05000320
+ str r0, [r4, #4]
+ str r5, [r4, #8]
+ ldr r0, [r4, #8]
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08043198: .4byte gMain
+_0804319C: .4byte gUnknown_020314E0
+_080431A0: .4byte 0x00000296
+_080431A4: .4byte 0x00000392
+_080431A8: .4byte 0x00000383
+_080431AC: .4byte 0x0000132C
+_080431B0: .4byte 0x0000053A
+_080431B4: .4byte 0x00000542
+_080431B8: .4byte 0x00000544
+_080431BC: .4byte 0x00000592
+_080431C0: .4byte 0x000003A3
+_080431C4: .4byte 0x00000533
+_080431C8: .4byte 0x00000536
+_080431CC: .4byte 0x0000052C
+_080431D0: .4byte 0x0000052E
+_080431D4: .4byte 0x0000054B
+_080431D8: .4byte 0x0000057A
+_080431DC: .4byte 0x03005C00
+_080431E0: .4byte 0x000007FF
+_080431E4: .4byte 0x040000D4
+_080431E8: .4byte 0x03006400
+_080431EC: .4byte 0x06001000
+_080431F0: .4byte 0x80000800
+_080431F4: .4byte 0x00001C42
+_080431F8: .4byte 0x00000C04
+_080431FC: .4byte 0x08137E14
+_08043200: .4byte 0xFFFFF800
+_08043204: .4byte 0x0000013F
+_08043208: .4byte 0x000002EE
+_0804320C: .4byte 0x06001140
+_08043210: .4byte 0x80000140
+_08043214: .4byte 0x000005F6
+_08043218: .4byte 0x05000220
+_0804321C: .4byte 0x80000010
+_08043220: .4byte 0x081B36A4
+_08043224: .4byte 0x05000320
+
+ thumb_func_start sub_43228
+sub_43228: @ 0x08043228
+ push {r4, r5, lr}
+ ldr r1, _08043248 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldrb r0, [r0, #0x13]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r5, r1, #0
+ cmp r0, #5
+ bls _0804323C
+ b _080434BA
+_0804323C:
+ lsls r0, r0, #2
+ ldr r1, _0804324C @ =_08043250
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08043248: .4byte gUnknown_020314E0
+_0804324C: .4byte _08043250
+_08043250: @ jump table
+ .4byte _08043268 @ case 0
+ .4byte _080432CE @ case 1
+ .4byte _08043342 @ case 2
+ .4byte _080433D4 @ case 3
+ .4byte _08043470 @ case 4
+ .4byte _080434A2 @ case 5
+_08043268:
+ ldr r0, [r5]
+ ldr r1, _080432B0 @ =0x000005F7
+ adds r0, r0, r1
+ movs r3, #0
+ movs r2, #1
+ strb r2, [r0]
+ ldr r4, [r5]
+ ldrh r1, [r4, #0x18]
+ ldr r0, _080432B4 @ =0x00000153
+ cmp r1, r0
+ bhi _080432C0
+ subs r0, #0x13
+ cmp r1, r0
+ bhi _08043296
+ adds r0, r1, #0
+ movs r1, #5
+ bl __udivsi3
+ ldr r2, _080432B8 @ =0x0000FFC0
+ adds r0, r0, r2
+ adds r1, r4, #0
+ adds r1, #0xe6
+ strh r0, [r1]
+_08043296:
+ ldr r2, [r5]
+ ldrh r1, [r2, #0x18]
+ ldr r0, _080432BC @ =0x00000145
+ cmp r1, r0
+ bne _080432AA
+ movs r3, #0xa5
+ lsls r3, r3, #2
+ adds r1, r2, r3
+ movs r0, #2
+ strb r0, [r1]
+_080432AA:
+ ldr r1, [r5]
+ ldrh r0, [r1, #0x18]
+ b _0804331C
+ .align 2, 0
+_080432B0: .4byte 0x000005F7
+_080432B4: .4byte 0x00000153
+_080432B8: .4byte 0x0000FFC0
+_080432BC: .4byte 0x00000145
+_080432C0:
+ adds r0, r4, #0
+ adds r0, #0xe6
+ strh r3, [r0]
+ strb r2, [r4, #0x13]
+ ldr r0, [r5]
+ strh r3, [r0, #0x18]
+ b _080434BA
+_080432CE:
+ ldr r1, [r5]
+ ldr r4, _08043324 @ =0x00000296
+ adds r0, r1, r4
+ ldrh r4, [r0]
+ cmp r4, #0
+ beq _080432DC
+ b _080434BA
+_080432DC:
+ movs r0, #0xa5
+ lsls r0, r0, #2
+ adds r1, r1, r0
+ movs r0, #3
+ strb r0, [r1]
+ ldr r0, [r5]
+ ldrh r0, [r0, #0x18]
+ cmp r0, #0
+ bne _08043314
+ bl m4aMPlayAllStop
+ ldr r0, _08043328 @ =0x02032F20
+ ldr r1, _0804332C @ =0x086A2E90
+ bl MPlayStart
+ ldr r1, _08043330 @ =gMain
+ movs r0, #0x80
+ strb r0, [r1, #0xf]
+ ldr r0, [r5]
+ movs r1, #0xe2
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r1, #2
+ strb r1, [r0]
+ ldr r0, [r5]
+ ldr r2, _08043334 @ =0x00000392
+ adds r0, r0, r2
+ strh r4, [r0]
+_08043314:
+ ldr r1, [r5]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0x3b
+ bhi _08043338
+_0804331C:
+ adds r0, #1
+ strh r0, [r1, #0x18]
+ b _080434BA
+ .align 2, 0
+_08043324: .4byte 0x00000296
+_08043328: .4byte 0x02032F20
+_0804332C: .4byte 0x086A2E90
+_08043330: .4byte gMain
+_08043334: .4byte 0x00000392
+_08043338:
+ movs r0, #2
+ strb r0, [r1, #0x13]
+ ldr r0, [r5]
+ strh r4, [r0, #0x18]
+ b _080434BA
+_08043342:
+ ldr r0, [r5]
+ ldrh r0, [r0, #0x18]
+ cmp r0, #0
+ bne _08043354
+ bl m4aMPlayAllStop
+ movs r0, #0x2b
+ bl m4aSongNumStart
+_08043354:
+ ldr r2, [r5]
+ ldrh r0, [r2, #0x18]
+ cmp r0, #0x13
+ bhi _08043362
+ adds r0, #1
+ strh r0, [r2, #0x18]
+ b _080434BA
+_08043362:
+ movs r1, #0
+ movs r0, #3
+ strb r0, [r2, #0x13]
+ ldr r0, [r5]
+ strh r1, [r0, #0x18]
+ ldr r2, _080433B0 @ =gMain
+ movs r3, #0x80
+ lsls r3, r3, #4
+ adds r0, r2, r3
+ movs r3, #1
+ movs r1, #1
+ strh r1, [r0]
+ ldr r4, _080433B4 @ =0x000008B8
+ adds r0, r2, r4
+ strh r1, [r0]
+ adds r4, #0xb8
+ adds r0, r2, r4
+ strh r1, [r0]
+ ldr r0, _080433B8 @ =0x00000A28
+ adds r2, r2, r0
+ strh r1, [r2]
+ ldr r1, _080433BC @ =0x040000D4
+ ldr r0, _080433C0 @ =0x084B77EC
+ str r0, [r1]
+ ldr r0, _080433C4 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _080433C8 @ =0x80000400
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r0, [r5]
+ movs r1, #0xe5
+ lsls r1, r1, #2
+ adds r2, r0, r1
+ ldr r1, _080433CC @ =0x0000FF82
+ strh r1, [r2]
+ ldr r2, _080433D0 @ =0x000005FA
+ adds r0, r0, r2
+ strb r3, [r0]
+ b _080434BA
+ .align 2, 0
+_080433B0: .4byte gMain
+_080433B4: .4byte 0x000008B8
+_080433B8: .4byte 0x00000A28
+_080433BC: .4byte 0x040000D4
+_080433C0: .4byte 0x084B77EC
+_080433C4: .4byte 0x06015800
+_080433C8: .4byte 0x80000400
+_080433CC: .4byte 0x0000FF82
+_080433D0: .4byte 0x000005FA
+_080433D4:
+ bl sub_45E90
+ ldr r1, _08043444 @ =gUnknown_020314E0
+ ldr r2, [r1]
+ ldrb r0, [r2, #0x1c]
+ cmp r0, #0
+ beq _080433E6
+ movs r0, #0xb5
+ strh r0, [r2, #0x18]
+_080433E6:
+ ldr r2, [r1]
+ ldrh r0, [r2, #0x18]
+ cmp r0, #0xb4
+ bne _08043408
+ ldr r3, _08043448 @ =0x00000544
+ adds r0, r2, r3
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _08043408
+ movs r0, #1
+ strb r0, [r2, #0x1c]
+ ldr r1, [r1]
+ ldr r0, _0804344C @ =0x00061A80
+ str r0, [r1, #0x38]
+ adds r0, r1, r3
+ ldr r0, [r0]
+ str r0, [r1, #0x3c]
+_08043408:
+ ldr r0, _08043444 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldrh r1, [r2, #0x18]
+ adds r5, r0, #0
+ cmp r1, #0xbd
+ bls _08043426
+ ldr r0, _08043450 @ =gMain
+ ldrh r1, [r0, #0x18]
+ movs r0, #1
+ ands r0, r1
+ cmp r0, #0
+ beq _08043426
+ movs r0, #0x87
+ lsls r0, r0, #2
+ strh r0, [r2, #0x18]
+_08043426:
+ ldr r1, [r5]
+ ldrh r2, [r1, #0x18]
+ ldr r0, _08043454 @ =0x0000021B
+ cmp r2, r0
+ bhi _08043458
+ cmp r2, #4
+ bne _0804343A
+ movs r0, #0xa4
+ bl m4aSongNumStart
+_0804343A:
+ ldr r1, [r5]
+ ldrh r0, [r1, #0x18]
+ adds r0, #1
+ strh r0, [r1, #0x18]
+ b _08043460
+ .align 2, 0
+_08043444: .4byte gUnknown_020314E0
+_08043448: .4byte 0x00000544
+_0804344C: .4byte 0x00061A80
+_08043450: .4byte gMain
+_08043454: .4byte 0x0000021B
+_08043458:
+ movs r0, #0
+ strh r0, [r1, #0x18]
+ movs r0, #4
+ strb r0, [r1, #0x13]
+_08043460:
+ ldr r0, [r5]
+ ldr r4, _0804346C @ =0x000005FA
+ adds r0, r0, r4
+ movs r1, #1
+ b _080434B8
+ .align 2, 0
+_0804346C: .4byte 0x000005FA
+_08043470:
+ bl sub_45E90
+ ldr r0, _08043494 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0x1d
+ bhi _08043498
+ adds r0, #1
+ strh r0, [r1, #0x18]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #2
+ bne _080434BA
+ movs r0, #0xa4
+ bl m4aSongNumStart
+ b _080434BA
+ .align 2, 0
+_08043494: .4byte gUnknown_020314E0
+_08043498:
+ movs r0, #0
+ strh r0, [r1, #0x18]
+ movs r0, #5
+ strb r0, [r1, #0x13]
+ b _080434BA
+_080434A2:
+ bl sub_45E90
+ ldr r2, _080434F4 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r1, _080434F8 @ =0x00000386
+ adds r0, r0, r1
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r2, _080434FC @ =0x000005FA
+ adds r0, r0, r2
+_080434B8:
+ strb r1, [r0]
+_080434BA:
+ bl sub_4387C
+ bl sub_43500
+ bl sub_44D58
+ bl sub_45E08
+ ldr r0, _080434F4 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r3, _080434F8 @ =0x00000386
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _080434E8
+ ldr r4, _080434FC @ =0x000005FA
+ adds r1, r1, r4
+ movs r0, #1
+ strb r0, [r1]
+ bl sub_350F0
+_080434E8:
+ bl sub_472E4
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080434F4: .4byte gUnknown_020314E0
+_080434F8: .4byte 0x00000386
+_080434FC: .4byte 0x000005FA
+
+ thumb_func_start sub_43500
+sub_43500: @ 0x08043500
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ ldr r0, _08043594 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldrb r0, [r0, #0x13]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #1
+ bgt _08043524
+ ldr r0, _08043598 @ =gMain
+ ldrb r0, [r0, #0xf]
+ cmp r0, #0
+ bne _08043524
+ bl sub_455D0
+_08043524:
+ ldr r2, _08043594 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldrb r0, [r0, #0x13]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #1
+ ble _08043534
+ b _080436E8
+_08043534:
+ ldr r0, _08043598 @ =gMain
+ ldrb r0, [r0, #0xf]
+ cmp r0, #0
+ beq _0804353E
+ b _080436E8
+_0804353E:
+ movs r1, #0
+ adds r7, r2, #0
+ movs r0, #0xa9
+ lsls r0, r0, #3
+ mov r8, r0
+ ldr r2, _0804359C @ =0x086AFAE2
+ mov sl, r2
+_0804354C:
+ ldr r0, [r7]
+ lsls r1, r1, #0x10
+ asrs r4, r1, #0x10
+ add r0, r8
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ mov sb, r1
+ cmp r0, #0x17
+ bne _08043576
+ ldr r0, _080435A0 @ =0x02032F20
+ ldr r1, _080435A4 @ =0x086A2EAC
+ bl MPlayStart
+ ldr r1, [r7]
+ ldr r0, _080435A8 @ =0x00001388
+ str r0, [r1, #0x3c]
+ movs r0, #8
+ bl sub_11B0
+_08043576:
+ ldr r3, [r7]
+ movs r6, #0xe8
+ lsls r6, r6, #2
+ adds r0, r3, r6
+ adds r0, r0, r4
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ cmp r2, #1
+ beq _080435D4
+ cmp r2, #1
+ bgt _080435AC
+ cmp r2, #0
+ beq _080435B6
+ b _080436D8
+ .align 2, 0
+_08043594: .4byte gUnknown_020314E0
+_08043598: .4byte gMain
+_0804359C: .4byte 0x086AFAE2
+_080435A0: .4byte 0x02032F20
+_080435A4: .4byte 0x086A2EAC
+_080435A8: .4byte 0x00001388
+_080435AC:
+ cmp r2, #2
+ beq _08043628
+ cmp r2, #3
+ beq _0804366C
+ b _080436D8
+_080435B6:
+ lsls r1, r4, #1
+ movs r5, #0xec
+ lsls r5, r5, #2
+ adds r0, r3, r5
+ adds r0, r0, r1
+ strh r2, [r0]
+ ldr r1, _080435D0 @ =0x000003A3
+ adds r0, r3, r1
+ adds r0, r0, r4
+ movs r1, #4
+ strb r1, [r0]
+ b _080436CE
+ .align 2, 0
+_080435D0: .4byte 0x000003A3
+_080435D4:
+ mov r2, r8
+ adds r0, r3, r2
+ adds r1, r0, r4
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ bgt _0804367C
+ ldr r5, _08043624 @ =0x000003A3
+ adds r0, r3, r5
+ adds r5, r0, r4
+ movs r1, #0
+ ldrsb r1, [r5, r1]
+ lsls r1, r1, #2
+ add r1, sl
+ lsls r2, r4, #1
+ movs r6, #0xec
+ lsls r6, r6, #2
+ adds r0, r3, r6
+ adds r2, r0, r2
+ ldrh r3, [r2]
+ ldrh r0, [r1]
+ cmp r0, r3
+ bhi _080436A6
+ movs r0, #0
+ strh r0, [r2]
+ ldrb r0, [r5]
+ adds r0, #1
+ strb r0, [r5]
+ ldr r0, [r7]
+ ldr r1, _08043624 @ =0x000003A3
+ adds r0, r0, r1
+ adds r1, r0, r4
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #6
+ bne _080436D8
+ movs r0, #4
+ strb r0, [r1]
+ b _080436D8
+ .align 2, 0
+_08043624: .4byte 0x000003A3
+_08043628:
+ mov r2, r8
+ adds r0, r3, r2
+ adds r1, r0, r4
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ bgt _0804367C
+ lsls r1, r4, #1
+ movs r5, #0xec
+ lsls r5, r5, #2
+ adds r0, r3, r5
+ adds r1, r0, r1
+ ldrh r0, [r1]
+ cmp r0, #0
+ beq _0804365C
+ subs r0, #1
+ strh r0, [r1]
+ ldr r6, _08043658 @ =0x000003A3
+ adds r0, r3, r6
+ adds r0, r0, r4
+ movs r1, #8
+ b _080436D6
+ .align 2, 0
+_08043658: .4byte 0x000003A3
+_0804365C:
+ ldr r1, _08043668 @ =0x000003A3
+ adds r0, r3, r1
+ adds r0, r0, r4
+ movs r1, #7
+ b _080436D6
+ .align 2, 0
+_08043668: .4byte 0x000003A3
+_0804366C:
+ mov r2, r8
+ adds r0, r3, r2
+ adds r1, r0, r4
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ ble _08043682
+_0804367C:
+ subs r0, r2, #1
+ strb r0, [r1]
+ b _080436D8
+_08043682:
+ ldr r5, _080436AC @ =0x000003A3
+ adds r0, r3, r5
+ adds r5, r0, r4
+ movs r1, #0
+ ldrsb r1, [r5, r1]
+ lsls r1, r1, #2
+ add r1, sl
+ lsls r0, r4, #1
+ mov ip, r0
+ movs r2, #0xec
+ lsls r2, r2, #2
+ adds r0, r3, r2
+ mov r3, ip
+ adds r2, r0, r3
+ ldrh r3, [r2]
+ ldrh r0, [r1]
+ cmp r0, r3
+ bls _080436B0
+_080436A6:
+ adds r0, r3, #1
+ strh r0, [r2]
+ b _080436D8
+ .align 2, 0
+_080436AC: .4byte 0x000003A3
+_080436B0:
+ movs r0, #0
+ strh r0, [r2]
+ ldrb r0, [r5]
+ adds r0, #1
+ strb r0, [r5]
+ ldr r0, [r7]
+ ldr r5, _08043720 @ =0x000003A3
+ adds r0, r0, r5
+ adds r1, r0, r4
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0xe
+ ble _080436D8
+ movs r0, #4
+ strb r0, [r1]
+_080436CE:
+ ldr r0, [r7]
+ adds r0, r0, r6
+ adds r0, r0, r4
+ movs r1, #1
+_080436D6:
+ strb r1, [r0]
+_080436D8:
+ movs r0, #0x80
+ lsls r0, r0, #9
+ add r0, sb
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #1
+ bgt _080436E8
+ b _0804354C
+_080436E8:
+ ldr r6, _08043724 @ =0x0200C388
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _08043788
+ ldr r2, _08043728 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ adds r0, #0x58
+ ldrh r1, [r0]
+ movs r0, #0x64
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ ldr r0, [r2]
+ adds r0, #0x5a
+ ldrh r1, [r0]
+ movs r0, #0x5e
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ ldr r2, [r2]
+ movs r1, #0xa9
+ lsls r1, r1, #3
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _0804372C
+ movs r0, #0
+ b _0804373E
+ .align 2, 0
+_08043720: .4byte 0x000003A3
+_08043724: .4byte 0x0200C388
+_08043728: .4byte gUnknown_020314E0
+_0804372C:
+ ldr r1, _080437C0 @ =0x086AFAE0
+ ldr r3, _080437C4 @ =0x000003A3
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #2
+ adds r0, r0, r1
+ ldrh r0, [r0]
+_0804373E:
+ ldr r2, _080437C8 @ =0x040000D4
+ lsls r0, r0, #0x10
+ asrs r0, r0, #5
+ ldr r1, _080437CC @ =0x084B47EC
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _080437D0 @ =0x060114A0
+ str r0, [r2, #4]
+ ldr r0, _080437D4 @ =0x80000300
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ adds r5, r6, #0
+ adds r5, #8
+ ldr r4, _080437D8 @ =gOamBuffer
+ ldrh r2, [r6, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r3, #2
+ ldrsh r0, [r6, r3]
+ adds r1, r1, r0
+ ldr r3, _080437DC @ =0x000001FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ ldr r0, _080437E0 @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+_08043788:
+ ldr r6, _080437E4 @ =0x0200C2D0
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _0804384E
+ ldr r2, _080437E8 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ adds r0, #0x58
+ ldrh r1, [r0]
+ movs r0, #0x8c
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ ldr r0, [r2]
+ adds r0, #0x5a
+ ldrh r1, [r0]
+ movs r0, #0x5e
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ ldr r2, [r2]
+ ldr r5, _080437EC @ =0x00000549
+ adds r0, r2, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _080437F0
+ movs r0, #0
+ b _08043804
+ .align 2, 0
+_080437C0: .4byte 0x086AFAE0
+_080437C4: .4byte 0x000003A3
+_080437C8: .4byte 0x040000D4
+_080437CC: .4byte 0x084B47EC
+_080437D0: .4byte 0x060114A0
+_080437D4: .4byte 0x80000300
+_080437D8: .4byte gOamBuffer
+_080437DC: .4byte 0x000001FF
+_080437E0: .4byte 0xFFFFFE00
+_080437E4: .4byte 0x0200C2D0
+_080437E8: .4byte gUnknown_020314E0
+_080437EC: .4byte 0x00000549
+_080437F0:
+ ldr r1, _0804385C @ =0x086AFAE0
+ movs r3, #0xe9
+ lsls r3, r3, #2
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #2
+ adds r0, r0, r1
+ ldrh r0, [r0]
+_08043804:
+ ldr r2, _08043860 @ =0x040000D4
+ lsls r0, r0, #0x10
+ asrs r0, r0, #5
+ ldr r1, _08043864 @ =0x084B47EC
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _08043868 @ =0x06010CA0
+ str r0, [r2, #4]
+ ldr r0, _0804386C @ =0x80000300
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ adds r5, r6, #0
+ adds r5, #8
+ ldr r4, _08043870 @ =gOamBuffer
+ ldrh r2, [r6, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r3, #2
+ ldrsh r0, [r6, r3]
+ adds r1, r1, r0
+ ldr r3, _08043874 @ =0x000001FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ ldr r0, _08043878 @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+_0804384E:
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804385C: .4byte 0x086AFAE0
+_08043860: .4byte 0x040000D4
+_08043864: .4byte 0x084B47EC
+_08043868: .4byte 0x06010CA0
+_0804386C: .4byte 0x80000300
+_08043870: .4byte gOamBuffer
+_08043874: .4byte 0x000001FF
+_08043878: .4byte 0xFFFFFE00
+
+ thumb_func_start sub_4387C
+sub_4387C: @ 0x0804387C
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #0x10
+ ldr r0, _080438D4 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldrb r0, [r0, #0x13]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #1
+ beq _0804389A
+ bl _080448FC
+_0804389A:
+ ldr r0, _080438D8 @ =gMain
+ ldrb r0, [r0, #0xf]
+ cmp r0, #0
+ beq _080438A6
+ bl _080448FC
+_080438A6:
+ movs r0, #0
+ str r0, [sp]
+_080438AA:
+ ldr r3, _080438D4 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldr r1, [sp]
+ lsls r2, r1, #0x10
+ asrs r1, r2, #0x10
+ ldr r4, _080438DC @ =0x00000553
+ adds r0, r0, r4
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ mov sb, r2
+ cmp r0, #0xe
+ bls _080438CA
+ bl _080448E4
+_080438CA:
+ lsls r0, r0, #2
+ ldr r1, _080438E0 @ =_080438E4
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080438D4: .4byte gUnknown_020314E0
+_080438D8: .4byte gMain
+_080438DC: .4byte 0x00000553
+_080438E0: .4byte _080438E4
+_080438E4: @ jump table
+ .4byte _08043920 @ case 0
+ .4byte _08043980 @ case 1
+ .4byte _08043BF8 @ case 2
+ .4byte _08043CB0 @ case 3
+ .4byte _08043DC0 @ case 4
+ .4byte _08043EB8 @ case 5
+ .4byte _08043F04 @ case 6
+ .4byte _08043FB0 @ case 7
+ .4byte _0804409C @ case 8
+ .4byte _080442A6 @ case 9
+ .4byte _08044344 @ case 10
+ .4byte _08044450 @ case 11
+ .4byte _080445BC @ case 12
+ .4byte _08044624 @ case 13
+ .4byte _080446AC @ case 14
+_08043920:
+ ldr r5, _08043968 @ =gUnknown_020314E0
+ ldr r1, [r5]
+ mov r6, sb
+ asrs r3, r6, #0x10
+ ldr r7, _0804396C @ =0x00000553
+ adds r1, r1, r7
+ adds r1, r1, r3
+ movs r4, #0
+ movs r0, #1
+ strb r0, [r1]
+ ldr r0, [r5]
+ ldr r1, _08043970 @ =0x0000055B
+ adds r0, r0, r1
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldr r1, [r5]
+ lsls r2, r3, #1
+ ldr r5, _08043974 @ =0x00000562
+ adds r0, r1, r5
+ adds r0, r0, r2
+ movs r2, #0
+ strh r4, [r0]
+ ldr r6, _08043978 @ =0x0000054F
+ adds r1, r1, r6
+ adds r1, r1, r3
+ strb r2, [r1]
+ ldr r7, _08043968 @ =gUnknown_020314E0
+ ldr r0, [r7]
+ ldr r1, _0804397C @ =0x00000557
+ adds r0, r0, r1
+ adds r0, r0, r3
+ movs r1, #0xff
+ strb r1, [r0]
+ bl _080448E4
+ .align 2, 0
+_08043968: .4byte gUnknown_020314E0
+_0804396C: .4byte 0x00000553
+_08043970: .4byte 0x0000055B
+_08043974: .4byte 0x00000562
+_08043978: .4byte 0x0000054F
+_0804397C: .4byte 0x00000557
+_08043980:
+ ldr r2, _080439A4 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ mov r3, sb
+ asrs r5, r3, #0x10
+ lsls r1, r5, #1
+ ldr r4, _080439A8 @ =0x00000562
+ adds r0, r0, r4
+ adds r2, r0, r1
+ ldrh r1, [r2]
+ lsls r0, r5, #4
+ subs r0, r0, r5
+ lsls r0, r0, #1
+ adds r0, #0x78
+ cmp r1, r0
+ bge _080439AC
+ adds r0, r1, #1
+ strh r0, [r2]
+ b _08043BCA
+ .align 2, 0
+_080439A4: .4byte gUnknown_020314E0
+_080439A8: .4byte 0x00000562
+_080439AC:
+ bl Random
+ adds r1, r0, #0
+ ldr r6, _08043A34 @ =gMain
+ ldr r0, [r6, #0x4c]
+ adds r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ ldr r7, _08043A38 @ =gUnknown_020314E0
+ ldr r4, [r7]
+ ldr r7, _08043A3C @ =0x00000557
+ adds r4, r4, r7
+ adds r4, r4, r5
+ movs r1, #6
+ bl __umodsi3
+ strb r0, [r4]
+ ldr r1, _08043A38 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ adds r4, r0, r7
+ movs r2, #0xab
+ lsls r2, r2, #3
+ adds r0, r0, r2
+ movs r1, #0
+ ldrsb r1, [r4, r1]
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r1, r0
+ bne _080439F8
+ adds r4, r4, r5
+ movs r0, #0
+ ldrsb r0, [r4, r0]
+ adds r0, #2
+ movs r1, #6
+ bl __modsi3
+ strb r0, [r4]
+_080439F8:
+ ldr r4, _08043A38 @ =gUnknown_020314E0
+ ldr r3, [r4]
+ adds r0, r3, r7
+ adds r0, r0, r5
+ movs r4, #0
+ ldrsb r4, [r0, r4]
+ cmp r4, #1
+ bgt _08043AA0
+ cmp r4, #0
+ bne _08043A48
+ lsls r2, r5, #3
+ movs r6, #0xb0
+ lsls r6, r6, #3
+ adds r0, r3, r6
+ adds r0, r0, r2
+ movs r1, #0x92
+ lsls r1, r1, #7
+ str r1, [r0]
+ ldr r7, _08043A40 @ =0x00000584
+ adds r0, r3, r7
+ adds r0, r0, r2
+ movs r1, #0xab
+ lsls r1, r1, #8
+ str r1, [r0]
+ ldr r1, _08043A44 @ =0x00000551
+ adds r0, r3, r1
+ adds r0, r0, r5
+ strb r4, [r0]
+ b _08043A6E
+ .align 2, 0
+_08043A34: .4byte gMain
+_08043A38: .4byte gUnknown_020314E0
+_08043A3C: .4byte 0x00000557
+_08043A40: .4byte 0x00000584
+_08043A44: .4byte 0x00000551
+_08043A48:
+ lsls r2, r5, #3
+ movs r4, #0xb0
+ lsls r4, r4, #3
+ adds r0, r3, r4
+ adds r0, r0, r2
+ movs r1, #0xa7
+ lsls r1, r1, #8
+ str r1, [r0]
+ ldr r6, _08043A8C @ =0x00000584
+ adds r0, r3, r6
+ adds r0, r0, r2
+ movs r1, #0xac
+ lsls r1, r1, #8
+ str r1, [r0]
+ ldr r7, _08043A90 @ =0x00000551
+ adds r0, r3, r7
+ adds r0, r0, r5
+ movs r1, #1
+ strb r1, [r0]
+_08043A6E:
+ ldr r2, _08043A94 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ mov r0, sb
+ asrs r3, r0, #0x10
+ ldr r4, _08043A98 @ =0x0000055B
+ adds r1, r1, r4
+ adds r1, r1, r3
+ movs r0, #9
+ strb r0, [r1]
+ ldr r0, [r2]
+ ldr r5, _08043A9C @ =0x00000553
+ adds r0, r0, r5
+ adds r0, r0, r3
+ movs r1, #7
+ b _08043BB6
+ .align 2, 0
+_08043A8C: .4byte 0x00000584
+_08043A90: .4byte 0x00000551
+_08043A94: .4byte gUnknown_020314E0
+_08043A98: .4byte 0x0000055B
+_08043A9C: .4byte 0x00000553
+_08043AA0:
+ bl Random
+ ldr r1, _08043AF8 @ =gUnknown_020314E0
+ ldr r2, [r1]
+ ldr r3, _08043AFC @ =0x00000551
+ adds r2, r2, r3
+ adds r2, r2, r5
+ ldr r1, [r6, #0x4c]
+ adds r1, r1, r0
+ movs r0, #1
+ ands r1, r0
+ strb r1, [r2]
+ ldr r2, _08043AF8 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ adds r3, r1, r3
+ adds r3, r3, r5
+ movs r0, #0
+ ldrsb r0, [r3, r0]
+ cmp r0, #0
+ beq _08043B24
+ adds r0, r1, r7
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #5
+ bne _08043B00
+ bl Random
+ ldr r3, _08043AF8 @ =gUnknown_020314E0
+ ldr r4, [r3]
+ lsls r1, r5, #3
+ movs r5, #0xb0
+ lsls r5, r5, #3
+ adds r4, r4, r5
+ adds r4, r4, r1
+ movs r1, #0x65
+ bl __umodsi3
+ movs r1, #5
+ bl __udivsi3
+ adds r0, #0x50
+ b _08043B74
+ .align 2, 0
+_08043AF8: .4byte gUnknown_020314E0
+_08043AFC: .4byte 0x00000551
+_08043B00:
+ bl Random
+ ldr r6, _08043B20 @ =gUnknown_020314E0
+ ldr r4, [r6]
+ lsls r1, r5, #3
+ movs r7, #0xb0
+ lsls r7, r7, #3
+ adds r4, r4, r7
+ adds r4, r4, r1
+ movs r1, #0x65
+ bl __umodsi3
+ lsrs r0, r0, #1
+ adds r0, #0x32
+ b _08043B74
+ .align 2, 0
+_08043B20: .4byte gUnknown_020314E0
+_08043B24:
+ adds r0, r1, r7
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #5
+ bne _08043B58
+ bl Random
+ ldr r1, _08043B54 @ =gUnknown_020314E0
+ ldr r4, [r1]
+ lsls r1, r5, #3
+ movs r2, #0xb0
+ lsls r2, r2, #3
+ adds r4, r4, r2
+ adds r4, r4, r1
+ movs r1, #0x65
+ bl __umodsi3
+ movs r1, #5
+ bl __udivsi3
+ b _08043B72
+ .align 2, 0
+_08043B54: .4byte gUnknown_020314E0
+_08043B58:
+ bl Random
+ ldr r3, _08043BE0 @ =gUnknown_020314E0
+ ldr r4, [r3]
+ lsls r1, r5, #3
+ movs r5, #0xb0
+ lsls r5, r5, #3
+ adds r4, r4, r5
+ adds r4, r4, r1
+ movs r1, #0x65
+ bl __umodsi3
+ lsrs r0, r0, #1
+_08043B72:
+ adds r0, #0x8c
+_08043B74:
+ lsls r0, r0, #8
+ str r0, [r4]
+ ldr r5, _08043BE0 @ =gUnknown_020314E0
+ ldr r2, [r5]
+ mov r6, sb
+ asrs r4, r6, #0x10
+ lsls r0, r4, #3
+ ldr r7, _08043BE4 @ =0x00000584
+ adds r3, r2, r7
+ adds r3, r3, r0
+ ldr r1, _08043BE8 @ =0x00000557
+ adds r0, r2, r1
+ adds r0, r0, r4
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ subs r1, #2
+ lsls r0, r1, #2
+ adds r0, r0, r1
+ lsls r0, r0, #9
+ movs r6, #0xaf
+ lsls r6, r6, #8
+ adds r0, r0, r6
+ str r0, [r3]
+ subs r7, #0x29
+ adds r2, r2, r7
+ adds r2, r2, r4
+ movs r0, #0
+ strb r0, [r2]
+ ldr r0, [r5]
+ ldr r1, _08043BEC @ =0x00000553
+ adds r0, r0, r1
+ adds r0, r0, r4
+ movs r1, #2
+_08043BB6:
+ strb r1, [r0]
+ ldr r2, _08043BE0 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ mov r3, sb
+ asrs r1, r3, #0xf
+ ldr r4, _08043BF0 @ =0x00000562
+ adds r0, r0, r4
+ adds r0, r0, r1
+ movs r1, #0
+ strh r1, [r0]
+_08043BCA:
+ ldr r5, _08043BE0 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ mov r6, sb
+ asrs r1, r6, #0x10
+ ldr r7, _08043BF4 @ =0x0000054F
+ adds r0, r0, r7
+ adds r0, r0, r1
+ movs r1, #0
+ strb r1, [r0]
+ bl _080448E4
+ .align 2, 0
+_08043BE0: .4byte gUnknown_020314E0
+_08043BE4: .4byte 0x00000584
+_08043BE8: .4byte 0x00000557
+_08043BEC: .4byte 0x00000553
+_08043BF0: .4byte 0x00000562
+_08043BF4: .4byte 0x0000054F
+_08043BF8:
+ ldr r3, _08043C2C @ =0x086AFB2C
+ ldr r7, _08043C30 @ =gUnknown_020314E0
+ ldr r2, [r7]
+ mov r0, sb
+ asrs r5, r0, #0x10
+ ldr r6, _08043C34 @ =0x0000055B
+ adds r0, r2, r6
+ adds r4, r0, r5
+ movs r1, #0
+ ldrsb r1, [r4, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r3, #2
+ adds r0, r0, r3
+ lsls r1, r5, #1
+ ldr r3, _08043C38 @ =0x00000562
+ adds r2, r2, r3
+ adds r2, r2, r1
+ ldrh r1, [r2]
+ ldrh r0, [r0]
+ cmp r0, r1
+ bls _08043C3C
+ adds r0, r1, #1
+ strh r0, [r2]
+ b _08043C7A
+ .align 2, 0
+_08043C2C: .4byte 0x086AFB2C
+_08043C30: .4byte gUnknown_020314E0
+_08043C34: .4byte 0x0000055B
+_08043C38: .4byte 0x00000562
+_08043C3C:
+ movs r0, #0
+ strh r0, [r2]
+ ldrb r0, [r4]
+ adds r0, #1
+ strb r0, [r4]
+ ldr r0, [r7]
+ ldr r4, _08043C9C @ =0x0000055B
+ adds r0, r0, r4
+ adds r0, r0, r5
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ cmp r1, #3
+ bne _08043C62
+ strb r1, [r0]
+ ldr r0, [r7]
+ ldr r2, _08043CA0 @ =0x00000553
+ adds r0, r0, r2
+ adds r0, r0, r5
+ strb r1, [r0]
+_08043C62:
+ ldr r0, [r7]
+ adds r0, r0, r6
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #1
+ bne _08043C7A
+ movs r0, #0x9a
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_08043C7A:
+ ldr r0, _08043CA4 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ mov r4, sb
+ asrs r3, r4, #0x10
+ lsls r1, r3, #1
+ ldr r5, _08043CA8 @ =0x0000056A
+ adds r0, r2, r5
+ adds r0, r0, r1
+ movs r1, #0
+ strh r1, [r0]
+ ldr r6, _08043CAC @ =0x0000054F
+ adds r2, r2, r6
+ adds r2, r2, r3
+ movs r0, #1
+ strb r0, [r2]
+ bl _080448E4
+ .align 2, 0
+_08043C9C: .4byte 0x0000055B
+_08043CA0: .4byte 0x00000553
+_08043CA4: .4byte gUnknown_020314E0
+_08043CA8: .4byte 0x0000056A
+_08043CAC: .4byte 0x0000054F
+_08043CB0:
+ ldr r3, _08043CE4 @ =0x086AFB2C
+ ldr r7, _08043CE8 @ =gUnknown_020314E0
+ ldr r2, [r7]
+ mov r0, sb
+ asrs r5, r0, #0x10
+ ldr r1, _08043CEC @ =0x0000055B
+ adds r0, r2, r1
+ adds r4, r0, r5
+ movs r1, #0
+ ldrsb r1, [r4, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r3, #2
+ adds r0, r0, r3
+ lsls r1, r5, #1
+ ldr r3, _08043CF0 @ =0x00000562
+ adds r2, r2, r3
+ adds r2, r2, r1
+ ldrh r1, [r2]
+ ldrh r0, [r0]
+ cmp r0, r1
+ bls _08043CF4
+ adds r0, r1, #1
+ strh r0, [r2]
+ b _08043D14
+ .align 2, 0
+_08043CE4: .4byte 0x086AFB2C
+_08043CE8: .4byte gUnknown_020314E0
+_08043CEC: .4byte 0x0000055B
+_08043CF0: .4byte 0x00000562
+_08043CF4:
+ movs r0, #0
+ strh r0, [r2]
+ ldrb r0, [r4]
+ adds r0, #1
+ strb r0, [r4]
+ ldr r4, _08043D58 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r6, _08043D5C @ =0x0000055B
+ adds r0, r0, r6
+ adds r1, r0, r5
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #5
+ bne _08043D14
+ movs r0, #3
+ strb r0, [r1]
+_08043D14:
+ ldr r7, _08043D58 @ =gUnknown_020314E0
+ ldr r3, [r7]
+ mov r0, sb
+ asrs r4, r0, #0x10
+ lsls r7, r4, #1
+ ldr r1, _08043D60 @ =0x0000056A
+ adds r0, r3, r1
+ adds r2, r0, r7
+ ldrh r5, [r2]
+ movs r6, #0
+ ldrsh r1, [r2, r6]
+ ldr r0, _08043D64 @ =0x0000018F
+ cmp r1, r0
+ bgt _08043D7E
+ adds r0, r5, #1
+ strh r0, [r2]
+ ldr r7, _08043D68 @ =0x00000551
+ adds r0, r3, r7
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08043D6C
+ lsls r0, r4, #3
+ movs r2, #0xb0
+ lsls r2, r2, #3
+ adds r1, r3, r2
+ adds r1, r1, r0
+ ldr r0, [r1]
+ adds r0, #0x23
+ str r0, [r1]
+ b _08043D9E
+ .align 2, 0
+_08043D58: .4byte gUnknown_020314E0
+_08043D5C: .4byte 0x0000055B
+_08043D60: .4byte 0x0000056A
+_08043D64: .4byte 0x0000018F
+_08043D68: .4byte 0x00000551
+_08043D6C:
+ lsls r0, r4, #3
+ movs r4, #0xb0
+ lsls r4, r4, #3
+ adds r1, r3, r4
+ adds r1, r1, r0
+ ldr r0, [r1]
+ subs r0, #0x23
+ str r0, [r1]
+ b _08043D9E
+_08043D7E:
+ ldr r5, _08043DB0 @ =0x0000055B
+ adds r0, r3, r5
+ adds r0, r0, r4
+ movs r3, #0
+ movs r2, #6
+ strb r2, [r0]
+ ldr r6, _08043DB4 @ =gUnknown_020314E0
+ ldr r1, [r6]
+ adds r5, #7
+ adds r0, r1, r5
+ adds r0, r0, r7
+ strh r3, [r0]
+ ldr r6, _08043DB8 @ =0x00000553
+ adds r1, r1, r6
+ adds r1, r1, r4
+ strb r2, [r1]
+_08043D9E:
+ ldr r7, _08043DB4 @ =gUnknown_020314E0
+ ldr r0, [r7]
+ mov r2, sb
+ asrs r1, r2, #0x10
+ ldr r3, _08043DBC @ =0x0000054F
+ adds r0, r0, r3
+ adds r0, r0, r1
+ bl _080446E8
+ .align 2, 0
+_08043DB0: .4byte 0x0000055B
+_08043DB4: .4byte gUnknown_020314E0
+_08043DB8: .4byte 0x00000553
+_08043DBC: .4byte 0x0000054F
+_08043DC0:
+ ldr r0, _08043E00 @ =0x02032F20
+ ldr r1, _08043E04 @ =0x086A2D28
+ bl MPlayStart
+ ldr r2, _08043E08 @ =gUnknown_020314E0
+ ldr r5, [r2]
+ mov r4, sb
+ asrs r6, r4, #0x10
+ ldr r7, _08043E0C @ =0x0000054F
+ adds r0, r5, r7
+ adds r0, r0, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #1
+ bne _08043E1C
+ lsls r1, r6, #1
+ ldr r3, _08043E10 @ =0x00000562
+ adds r0, r5, r3
+ adds r0, r0, r1
+ movs r1, #0
+ strh r1, [r0]
+ ldr r4, _08043E14 @ =0x0000055B
+ adds r0, r5, r4
+ adds r0, r0, r6
+ movs r1, #5
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r5, _08043E18 @ =0x00000553
+ adds r0, r0, r5
+ adds r0, r0, r6
+ b _08043E80
+ .align 2, 0
+_08043E00: .4byte 0x02032F20
+_08043E04: .4byte 0x086A2D28
+_08043E08: .4byte gUnknown_020314E0
+_08043E0C: .4byte 0x0000054F
+_08043E10: .4byte 0x00000562
+_08043E14: .4byte 0x0000055B
+_08043E18: .4byte 0x00000553
+_08043E1C:
+ lsls r0, r6, #3
+ ldr r7, _08043E4C @ =0x00000584
+ adds r1, r5, r7
+ adds r1, r1, r0
+ ldr r2, _08043E50 @ =0x0000055F
+ adds r0, r5, r2
+ adds r0, r0, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #8
+ ldr r1, [r1]
+ adds r1, r1, r0
+ ldr r3, _08043E54 @ =0x0000132C
+ adds r0, r5, r3
+ ldr r0, [r0]
+ ldr r0, [r0, #0x38]
+ cmp r1, r0
+ bge _08043E5C
+ ldr r4, _08043E58 @ =0x00000553
+ adds r0, r5, r4
+ adds r0, r0, r6
+ movs r1, #0xa
+ b _08043E80
+ .align 2, 0
+_08043E4C: .4byte 0x00000584
+_08043E50: .4byte 0x0000055F
+_08043E54: .4byte 0x0000132C
+_08043E58: .4byte 0x00000553
+_08043E5C:
+ lsls r0, r6, #1
+ ldr r7, _08043EA4 @ =0x00000562
+ adds r4, r5, r7
+ adds r4, r4, r0
+ ldrh r1, [r4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ movs r1, #0xa0
+ bl __divsi3
+ movs r1, #0xac
+ subs r1, r1, r0
+ strh r1, [r4]
+ ldr r1, _08043EA8 @ =0x00000553
+ adds r0, r5, r1
+ adds r0, r0, r6
+ movs r1, #8
+_08043E80:
+ strb r1, [r0]
+ movs r0, #7
+ bl sub_11B0
+ ldr r2, _08043EAC @ =gUnknown_020314E0
+ ldr r1, [r2]
+ mov r3, sb
+ asrs r0, r3, #0x10
+ ldr r4, _08043EB0 @ =0x0000054F
+ adds r1, r1, r4
+ adds r1, r1, r0
+ movs r0, #0
+ strb r0, [r1]
+ ldr r1, [r2]
+ ldr r0, _08043EB4 @ =0x00000BB8
+ str r0, [r1, #0x3c]
+ bl _080448E4
+ .align 2, 0
+_08043EA4: .4byte 0x00000562
+_08043EA8: .4byte 0x00000553
+_08043EAC: .4byte gUnknown_020314E0
+_08043EB0: .4byte 0x0000054F
+_08043EB4: .4byte 0x00000BB8
+_08043EB8:
+ ldr r5, _08043EE0 @ =gUnknown_020314E0
+ ldr r2, [r5]
+ mov r6, sb
+ asrs r3, r6, #0x10
+ lsls r1, r3, #1
+ ldr r7, _08043EE4 @ =0x00000562
+ adds r0, r2, r7
+ adds r1, r0, r1
+ ldrh r0, [r1]
+ cmp r0, #9
+ bhi _08043EEC
+ adds r0, #1
+ strh r0, [r1]
+ ldr r1, _08043EE8 @ =0x0000055B
+ adds r0, r2, r1
+ adds r0, r0, r3
+ movs r1, #5
+ strb r1, [r0]
+ bl _080448E4
+ .align 2, 0
+_08043EE0: .4byte gUnknown_020314E0
+_08043EE4: .4byte 0x00000562
+_08043EE8: .4byte 0x0000055B
+_08043EEC:
+ movs r0, #0
+ strh r0, [r1]
+ ldr r4, _08043F00 @ =0x00000553
+ adds r0, r2, r4
+ adds r0, r0, r3
+ movs r1, #6
+ strb r1, [r0]
+ bl _080448E4
+ .align 2, 0
+_08043F00: .4byte 0x00000553
+_08043F04:
+ ldr r3, _08043F38 @ =0x086AFB2C
+ ldr r7, _08043F3C @ =gUnknown_020314E0
+ ldr r2, [r7]
+ mov r6, sb
+ asrs r5, r6, #0x10
+ ldr r6, _08043F40 @ =0x0000055B
+ adds r0, r2, r6
+ adds r4, r0, r5
+ movs r1, #0
+ ldrsb r1, [r4, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r3, #2
+ adds r0, r0, r3
+ lsls r1, r5, #1
+ ldr r3, _08043F44 @ =0x00000562
+ adds r2, r2, r3
+ adds r2, r2, r1
+ ldrh r1, [r2]
+ ldrh r0, [r0]
+ cmp r0, r1
+ bls _08043F48
+ adds r0, r1, #1
+ strh r0, [r2]
+ b _08043F86
+ .align 2, 0
+_08043F38: .4byte 0x086AFB2C
+_08043F3C: .4byte gUnknown_020314E0
+_08043F40: .4byte 0x0000055B
+_08043F44: .4byte 0x00000562
+_08043F48:
+ movs r3, #0
+ movs r0, #0
+ strh r0, [r2]
+ ldrb r0, [r4]
+ adds r0, #1
+ strb r0, [r4]
+ ldr r0, [r7]
+ ldr r4, _08043F9C @ =0x0000055B
+ adds r0, r0, r4
+ adds r1, r0, r5
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #9
+ bne _08043F70
+ strb r3, [r1]
+ ldr r0, [r7]
+ ldr r1, _08043FA0 @ =0x00000553
+ adds r0, r0, r1
+ adds r0, r0, r5
+ strb r3, [r0]
+_08043F70:
+ ldr r0, [r7]
+ adds r0, r0, r6
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #7
+ bne _08043F86
+ ldr r0, _08043FA4 @ =0x00000135
+ bl m4aSongNumStart
+_08043F86:
+ ldr r0, _08043FA8 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ mov r2, sb
+ asrs r0, r2, #0x10
+ ldr r3, _08043FAC @ =0x0000054F
+ adds r1, r1, r3
+ adds r1, r1, r0
+ movs r0, #0
+ strb r0, [r1]
+ bl _080448E4
+ .align 2, 0
+_08043F9C: .4byte 0x0000055B
+_08043FA0: .4byte 0x00000553
+_08043FA4: .4byte 0x00000135
+_08043FA8: .4byte gUnknown_020314E0
+_08043FAC: .4byte 0x0000054F
+_08043FB0:
+ ldr r3, _08043FE4 @ =0x086AFB2C
+ ldr r6, _08043FE8 @ =gUnknown_020314E0
+ ldr r2, [r6]
+ mov r4, sb
+ asrs r5, r4, #0x10
+ ldr r7, _08043FEC @ =0x0000055B
+ adds r0, r2, r7
+ adds r4, r0, r5
+ movs r1, #0
+ ldrsb r1, [r4, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r3, #2
+ adds r0, r0, r3
+ lsls r1, r5, #1
+ ldr r3, _08043FF0 @ =0x00000562
+ adds r2, r2, r3
+ adds r2, r2, r1
+ ldrh r1, [r2]
+ ldrh r0, [r0]
+ cmp r0, r1
+ bls _08043FF4
+ adds r0, r1, #1
+ strh r0, [r2]
+ b _08044068
+ .align 2, 0
+_08043FE4: .4byte 0x086AFB2C
+_08043FE8: .4byte gUnknown_020314E0
+_08043FEC: .4byte 0x0000055B
+_08043FF0: .4byte 0x00000562
+_08043FF4:
+ movs r0, #0
+ strh r0, [r2]
+ ldrb r0, [r4]
+ adds r0, #1
+ strb r0, [r4]
+ ldr r1, [r6]
+ ldr r4, _08044080 @ =0x0000055B
+ adds r0, r1, r4
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0xe
+ bne _08044050
+ ldr r2, _08044084 @ =0x00000553
+ adds r0, r1, r2
+ adds r0, r0, r5
+ movs r1, #8
+ strb r1, [r0]
+ ldr r2, [r6]
+ lsls r4, r5, #3
+ movs r0, #0xb0
+ lsls r0, r0, #3
+ adds r3, r2, r0
+ adds r3, r3, r4
+ ldr r1, _08044088 @ =0x0000055D
+ adds r0, r2, r1
+ adds r0, r0, r5
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r1, r1, #8
+ ldr r0, [r3]
+ adds r0, r0, r1
+ str r0, [r3]
+ ldr r0, _0804408C @ =0x00000584
+ adds r3, r2, r0
+ adds r3, r3, r4
+ ldr r1, _08044090 @ =0x0000055F
+ adds r2, r2, r1
+ adds r2, r2, r5
+ movs r1, #0
+ ldrsb r1, [r2, r1]
+ lsls r1, r1, #8
+ ldr r0, [r3]
+ adds r0, r0, r1
+ str r0, [r3]
+_08044050:
+ ldr r0, [r6]
+ adds r0, r0, r7
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0xa
+ bne _08044068
+ movs r0, #0xa0
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_08044068:
+ ldr r0, _08044094 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ mov r2, sb
+ asrs r0, r2, #0x10
+ ldr r3, _08044098 @ =0x0000054F
+ adds r1, r1, r3
+ adds r1, r1, r0
+ movs r0, #2
+ strb r0, [r1]
+ bl _080448E4
+ .align 2, 0
+_08044080: .4byte 0x0000055B
+_08044084: .4byte 0x00000553
+_08044088: .4byte 0x0000055D
+_0804408C: .4byte 0x00000584
+_08044090: .4byte 0x0000055F
+_08044094: .4byte gUnknown_020314E0
+_08044098: .4byte 0x0000054F
+_0804409C:
+ ldr r4, _080440D8 @ =gUnknown_020314E0
+ ldr r1, [r4]
+ mov r5, sb
+ asrs r3, r5, #0x10
+ lsls r4, r3, #1
+ ldr r6, _080440DC @ =0x00000562
+ adds r0, r1, r6
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ cmp r0, #0xb7
+ bls _080440B4
+ b _0804423C
+_080440B4:
+ cmp r0, #0x9f
+ bhi _0804417C
+ ldr r7, _080440E0 @ =0x00000551
+ adds r0, r1, r7
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _080440E4
+ lsls r0, r3, #3
+ movs r2, #0xb0
+ lsls r2, r2, #3
+ adds r1, r1, r2
+ adds r1, r1, r0
+ ldr r0, [r1]
+ subs r0, #0x10
+ b _080440F2
+ .align 2, 0
+_080440D8: .4byte gUnknown_020314E0
+_080440DC: .4byte 0x00000562
+_080440E0: .4byte 0x00000551
+_080440E4:
+ lsls r0, r3, #3
+ movs r3, #0xb0
+ lsls r3, r3, #3
+ adds r1, r1, r3
+ adds r1, r1, r0
+ ldr r0, [r1]
+ adds r0, #0x10
+_080440F2:
+ str r0, [r1]
+ ldr r4, _0804411C @ =gUnknown_020314E0
+ ldr r3, [r4]
+ mov r5, sb
+ asrs r2, r5, #0x10
+ lsls r1, r2, #1
+ ldr r6, _08044120 @ =0x00000562
+ adds r0, r3, r6
+ adds r0, r0, r1
+ ldrh r1, [r0]
+ movs r0, #1
+ ands r0, r1
+ cmp r0, #0
+ beq _08044128
+ lsls r0, r2, #3
+ ldr r7, _08044124 @ =0x00000584
+ adds r1, r3, r7
+ adds r1, r1, r0
+ ldr r0, [r1]
+ subs r0, #0x10
+ b _08044134
+ .align 2, 0
+_0804411C: .4byte gUnknown_020314E0
+_08044120: .4byte 0x00000562
+_08044124: .4byte 0x00000584
+_08044128:
+ lsls r0, r2, #3
+ ldr r2, _08044160 @ =0x00000584
+ adds r1, r3, r2
+ adds r1, r1, r0
+ ldr r0, [r1]
+ subs r0, #0x20
+_08044134:
+ str r0, [r1]
+ ldr r3, _08044164 @ =gUnknown_020314E0
+ ldr r4, [r3]
+ mov r6, sb
+ asrs r5, r6, #0x10
+ lsls r1, r5, #1
+ ldr r7, _08044168 @ =0x00000562
+ adds r0, r4, r7
+ adds r0, r0, r1
+ ldrh r0, [r0]
+ movs r1, #0x13
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #9
+ bhi _08044170
+ ldr r1, _0804416C @ =0x0000055B
+ adds r0, r4, r1
+ adds r0, r0, r5
+ movs r1, #0xe
+ b _08044216
+ .align 2, 0
+_08044160: .4byte 0x00000584
+_08044164: .4byte gUnknown_020314E0
+_08044168: .4byte 0x00000562
+_0804416C: .4byte 0x0000055B
+_08044170:
+ ldr r2, _08044178 @ =0x0000055B
+ adds r0, r4, r2
+ adds r0, r0, r5
+ b _08044214
+ .align 2, 0
+_08044178: .4byte 0x0000055B
+_0804417C:
+ ldr r4, _080441A0 @ =0x00000551
+ adds r0, r1, r4
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _080441A4
+ lsls r0, r3, #3
+ movs r5, #0xb0
+ lsls r5, r5, #3
+ adds r1, r1, r5
+ adds r1, r1, r0
+ ldr r0, [r1]
+ movs r6, #0xa0
+ lsls r6, r6, #1
+ adds r0, r0, r6
+ b _080441B4
+ .align 2, 0
+_080441A0: .4byte 0x00000551
+_080441A4:
+ lsls r0, r3, #3
+ movs r7, #0xb0
+ lsls r7, r7, #3
+ adds r1, r1, r7
+ adds r1, r1, r0
+ ldr r0, [r1]
+ ldr r2, _080441E4 @ =0xFFFFFEC0
+ adds r0, r0, r2
+_080441B4:
+ str r0, [r1]
+ ldr r4, _080441E8 @ =gUnknown_020314E0
+ ldr r3, [r4]
+ mov r5, sb
+ asrs r2, r5, #0x10
+ lsls r1, r2, #1
+ ldr r6, _080441EC @ =0x00000562
+ adds r0, r3, r6
+ adds r0, r0, r1
+ ldrh r1, [r0]
+ movs r0, #1
+ ands r0, r1
+ cmp r0, #0
+ beq _080441F4
+ lsls r0, r2, #3
+ ldr r7, _080441F0 @ =0x00000584
+ adds r1, r3, r7
+ adds r1, r1, r0
+ ldr r0, [r1]
+ movs r2, #0xa0
+ lsls r2, r2, #1
+ adds r0, r0, r2
+ b _08044204
+ .align 2, 0
+_080441E4: .4byte 0xFFFFFEC0
+_080441E8: .4byte gUnknown_020314E0
+_080441EC: .4byte 0x00000562
+_080441F0: .4byte 0x00000584
+_080441F4:
+ lsls r0, r2, #3
+ ldr r4, _0804422C @ =0x00000584
+ adds r1, r3, r4
+ adds r1, r1, r0
+ ldr r0, [r1]
+ movs r5, #0xf0
+ lsls r5, r5, #1
+ adds r0, r0, r5
+_08044204:
+ str r0, [r1]
+ ldr r6, _08044230 @ =gUnknown_020314E0
+ ldr r0, [r6]
+ mov r7, sb
+ asrs r1, r7, #0x10
+ ldr r2, _08044234 @ =0x0000055B
+ adds r0, r0, r2
+ adds r0, r0, r1
+_08044214:
+ movs r1, #0xf
+_08044216:
+ strb r1, [r0]
+ ldr r3, _08044230 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ mov r4, sb
+ asrs r1, r4, #0xf
+ ldr r5, _08044238 @ =0x00000562
+ adds r0, r0, r5
+ adds r0, r0, r1
+ ldrh r1, [r0]
+ adds r1, #1
+ b _080448E2
+ .align 2, 0
+_0804422C: .4byte 0x00000584
+_08044230: .4byte gUnknown_020314E0
+_08044234: .4byte 0x0000055B
+_08044238: .4byte 0x00000562
+_0804423C:
+ ldr r6, _08044284 @ =0x00000553
+ adds r1, r1, r6
+ adds r1, r1, r3
+ movs r2, #0
+ movs r0, #9
+ strb r0, [r1]
+ ldr r7, _08044288 @ =gUnknown_020314E0
+ ldr r0, [r7]
+ ldr r1, _0804428C @ =0x0000055B
+ adds r0, r0, r1
+ adds r0, r0, r3
+ movs r1, #0x10
+ strb r1, [r0]
+ ldr r1, [r7]
+ ldr r5, _08044290 @ =0x00000562
+ adds r0, r1, r5
+ adds r0, r0, r4
+ strh r2, [r0]
+ subs r6, #2
+ adds r0, r1, r6
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _08044294
+ lsls r0, r3, #3
+ movs r7, #0xb0
+ lsls r7, r7, #3
+ adds r1, r1, r7
+ adds r1, r1, r0
+ ldr r0, [r1]
+ adds r0, #0xf0
+ str r0, [r1]
+ b _080448E4
+ .align 2, 0
+_08044284: .4byte 0x00000553
+_08044288: .4byte gUnknown_020314E0
+_0804428C: .4byte 0x0000055B
+_08044290: .4byte 0x00000562
+_08044294:
+ lsls r0, r3, #3
+ movs r2, #0xb0
+ lsls r2, r2, #3
+ adds r1, r1, r2
+ adds r1, r1, r0
+ ldr r0, [r1]
+ subs r0, #0xf0
+ str r0, [r1]
+ b _080448E4
+_080442A6:
+ ldr r3, _080442DC @ =0x086AFB2C
+ ldr r4, _080442E0 @ =gUnknown_020314E0
+ ldr r2, [r4]
+ mov r6, sb
+ asrs r5, r6, #0x10
+ ldr r6, _080442E4 @ =0x0000055B
+ adds r0, r2, r6
+ adds r4, r0, r5
+ movs r1, #0
+ ldrsb r1, [r4, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ adds r3, #2
+ adds r0, r0, r3
+ lsls r1, r5, #1
+ ldr r7, _080442E8 @ =0x00000562
+ adds r2, r2, r7
+ adds r2, r2, r1
+ ldrh r1, [r2]
+ ldrh r0, [r0]
+ cmp r0, r1
+ bls _080442EC
+ adds r0, r1, #1
+ strh r0, [r2]
+ b _080448E4
+ .align 2, 0
+_080442DC: .4byte 0x086AFB2C
+_080442E0: .4byte gUnknown_020314E0
+_080442E4: .4byte 0x0000055B
+_080442E8: .4byte 0x00000562
+_080442EC:
+ movs r3, #0
+ movs r0, #0
+ strh r0, [r2]
+ ldrb r0, [r4]
+ adds r0, #1
+ strb r0, [r4]
+ ldr r1, _08044334 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08044338 @ =0x0000055B
+ adds r0, r0, r2
+ adds r1, r0, r5
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0x14
+ bne _08044318
+ strb r3, [r1]
+ ldr r4, _08044334 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r7, _0804433C @ =0x00000553
+ adds r0, r0, r7
+ adds r0, r0, r5
+ strb r3, [r0]
+_08044318:
+ ldr r1, _08044334 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ adds r0, r0, r6
+ adds r0, r0, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x11
+ beq _0804432C
+ b _080448E4
+_0804432C:
+ ldr r0, _08044340 @ =0x00000135
+ bl m4aSongNumStart
+ b _080448E4
+ .align 2, 0
+_08044334: .4byte gUnknown_020314E0
+_08044338: .4byte 0x0000055B
+_0804433C: .4byte 0x00000553
+_08044340: .4byte 0x00000135
+_08044344:
+ ldr r2, _0804442C @ =gUnknown_020314E0
+ ldr r6, [r2]
+ mov r3, sb
+ asrs r4, r3, #0x10
+ ldr r5, _08044430 @ =0x00000551
+ adds r0, r6, r5
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ movs r2, #0
+ cmp r0, #0
+ bne _08044360
+ movs r2, #3
+_08044360:
+ ldr r1, _08044434 @ =0x086AFAC0
+ lsls r2, r2, #0x10
+ lsrs r0, r2, #0xd
+ adds r3, r0, r1
+ ldrh r0, [r3, #4]
+ lsls r5, r0, #0x10
+ movs r7, #0
+ mov ip, r1
+ mov sl, r2
+ cmp r5, #0
+ ble _0804439E
+ ldr r3, [r3]
+ lsls r1, r4, #1
+ ldr r2, _08044438 @ =0x00000566
+ adds r0, r6, r2
+ adds r0, r0, r1
+ movs r4, #0
+ ldrsh r1, [r0, r4]
+_08044384:
+ lsls r0, r7, #0x10
+ asrs r2, r0, #0x10
+ lsls r0, r2, #2
+ adds r0, r0, r3
+ movs r6, #2
+ ldrsh r0, [r0, r6]
+ cmp r0, r1
+ ble _0804439E
+ adds r0, r2, #1
+ lsls r0, r0, #0x10
+ lsrs r7, r0, #0x10
+ cmp r0, r5
+ blt _08044384
+_0804439E:
+ ldr r1, _0804442C @ =gUnknown_020314E0
+ ldr r0, [r1]
+ mov r2, sb
+ asrs r5, r2, #0x10
+ ldr r4, _0804443C @ =0x00000559
+ adds r0, r0, r4
+ adds r0, r0, r5
+ movs r3, #0
+ strb r7, [r0]
+ ldr r0, [r1]
+ ldr r6, _08044440 @ =0x00000553
+ adds r0, r0, r6
+ adds r0, r0, r5
+ movs r1, #0xb
+ strb r1, [r0]
+ ldr r7, _0804442C @ =gUnknown_020314E0
+ ldr r0, [r7]
+ ldr r1, _08044444 @ =0x0000055B
+ adds r0, r0, r1
+ adds r0, r0, r5
+ movs r1, #0x1d
+ strb r1, [r0]
+ ldr r2, [r7]
+ lsls r1, r5, #1
+ adds r6, #0xf
+ adds r0, r2, r6
+ adds r0, r0, r1
+ movs r7, #0
+ mov r8, r7
+ strh r3, [r0]
+ lsls r6, r5, #3
+ movs r0, #0xb0
+ lsls r0, r0, #3
+ adds r3, r2, r0
+ adds r3, r3, r6
+ mov r7, sl
+ lsrs r1, r7, #0xd
+ add r1, ip
+ adds r4, r2, r4
+ adds r4, r4, r5
+ movs r0, #0
+ ldrsb r0, [r4, r0]
+ ldr r1, [r1]
+ lsls r0, r0, #2
+ adds r0, r0, r1
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ lsls r0, r0, #8
+ str r0, [r3]
+ ldr r0, _08044448 @ =0x00000584
+ adds r2, r2, r0
+ adds r2, r2, r6
+ movs r0, #0
+ ldrsb r0, [r4, r0]
+ lsls r0, r0, #2
+ adds r0, r0, r1
+ movs r1, #2
+ ldrsh r0, [r0, r1]
+ lsls r0, r0, #8
+ str r0, [r2]
+ ldrb r0, [r4]
+ adds r0, #1
+ strb r0, [r4]
+ ldr r2, _0804442C @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r3, _0804444C @ =0x0000054F
+ adds r0, r0, r3
+ adds r0, r0, r5
+ mov r4, r8
+ strb r4, [r0]
+ b _080448E4
+ .align 2, 0
+_0804442C: .4byte gUnknown_020314E0
+_08044430: .4byte 0x00000551
+_08044434: .4byte 0x086AFAC0
+_08044438: .4byte 0x00000566
+_0804443C: .4byte 0x00000559
+_08044440: .4byte 0x00000553
+_08044444: .4byte 0x0000055B
+_08044448: .4byte 0x00000584
+_0804444C: .4byte 0x0000054F
+_08044450:
+ ldr r5, _08044528 @ =gUnknown_020314E0
+ ldr r6, [r5]
+ mov r7, sb
+ asrs r4, r7, #0x10
+ ldr r0, _0804452C @ =0x00000551
+ mov sl, r0
+ adds r0, r6, r0
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ movs r2, #0
+ cmp r0, #0
+ bne _0804446E
+ movs r2, #3
+_0804446E:
+ ldr r1, _08044530 @ =0x00000559
+ adds r0, r6, r1
+ adds r5, r0, r4
+ movs r3, #0
+ ldrsb r3, [r5, r3]
+ mov r8, r3
+ ldr r1, _08044534 @ =0x086AFAC0
+ lsls r0, r2, #3
+ adds r0, r0, r1
+ mov ip, r0
+ movs r7, #4
+ ldrsh r0, [r0, r7]
+ cmp r8, r0
+ bge _08044566
+ lsls r2, r4, #3
+ movs r0, #0xb0
+ lsls r0, r0, #3
+ adds r1, r6, r0
+ adds r1, r1, r2
+ mov r7, ip
+ ldr r3, [r7]
+ mov r7, r8
+ lsls r0, r7, #2
+ adds r0, r0, r3
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ lsls r0, r0, #8
+ str r0, [r1]
+ ldr r0, _08044538 @ =0x00000584
+ adds r1, r6, r0
+ adds r1, r1, r2
+ movs r0, #0
+ ldrsb r0, [r5, r0]
+ lsls r0, r0, #2
+ adds r0, r0, r3
+ movs r2, #2
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #8
+ str r0, [r1]
+ ldrb r0, [r5]
+ adds r0, #1
+ strb r0, [r5]
+ ldr r3, _08044528 @ =gUnknown_020314E0
+ ldr r2, [r3]
+ ldr r5, _08044530 @ =0x00000559
+ adds r0, r2, r5
+ adds r0, r0, r4
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ mov r6, ip
+ movs r7, #4
+ ldrsh r0, [r6, r7]
+ cmp r1, r0
+ bne _08044566
+ ldr r1, _0804453C @ =0x00000553
+ adds r0, r2, r1
+ adds r0, r0, r4
+ movs r1, #0xc
+ strb r1, [r0]
+ ldr r0, [r3]
+ movs r2, #0xa6
+ lsls r2, r2, #3
+ adds r1, r0, r2
+ adds r1, r1, r4
+ add r0, sl
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ strb r0, [r1]
+ ldr r0, [r3]
+ ldr r3, _08044540 @ =0x00000536
+ adds r0, r0, r3
+ adds r0, r0, r4
+ movs r1, #2
+ strb r1, [r0]
+ ldr r5, _08044528 @ =gUnknown_020314E0
+ ldr r1, [r5]
+ mov r6, sl
+ adds r0, r1, r6
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _08044544
+ lsls r0, r4, #2
+ adds r0, r1, r0
+ movs r7, #0xaf
+ lsls r7, r7, #3
+ adds r0, r0, r7
+ movs r1, #0xa0
+ lsls r1, r1, #1
+ b _08044550
+ .align 2, 0
+_08044528: .4byte gUnknown_020314E0
+_0804452C: .4byte 0x00000551
+_08044530: .4byte 0x00000559
+_08044534: .4byte 0x086AFAC0
+_08044538: .4byte 0x00000584
+_0804453C: .4byte 0x00000553
+_08044540: .4byte 0x00000536
+_08044544:
+ lsls r0, r4, #2
+ adds r0, r1, r0
+ movs r1, #0xaf
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ ldr r1, _080445A4 @ =0x0000FEC0
+_08044550:
+ strh r1, [r0]
+ ldr r2, _080445A8 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ mov r3, sb
+ asrs r1, r3, #0xe
+ adds r0, r0, r1
+ ldr r4, _080445AC @ =0x0000057A
+ adds r0, r0, r4
+ movs r1, #0xe8
+ lsls r1, r1, #1
+ strh r1, [r0]
+_08044566:
+ ldr r5, _080445A8 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ mov r6, sb
+ asrs r4, r6, #0x10
+ ldr r7, _080445B0 @ =0x0000055B
+ adds r3, r0, r7
+ adds r3, r3, r4
+ lsls r5, r4, #1
+ ldr r2, _080445B4 @ =0x00000562
+ adds r0, r0, r2
+ adds r0, r0, r5
+ ldrh r0, [r0]
+ movs r1, #0x1f
+ ands r0, r1
+ lsrs r0, r0, #2
+ adds r0, #0x1e
+ strb r0, [r3]
+ ldr r0, _080445A8 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ adds r2, r1, r2
+ adds r2, r2, r5
+ ldrh r0, [r2]
+ adds r0, #1
+ movs r3, #0
+ strh r0, [r2]
+ ldr r2, _080445B8 @ =0x0000054F
+ adds r1, r1, r2
+ adds r1, r1, r4
+ strb r3, [r1]
+ b _080448E4
+ .align 2, 0
+_080445A4: .4byte 0x0000FEC0
+_080445A8: .4byte gUnknown_020314E0
+_080445AC: .4byte 0x0000057A
+_080445B0: .4byte 0x0000055B
+_080445B4: .4byte 0x00000562
+_080445B8: .4byte 0x0000054F
+_080445BC:
+ ldr r3, _08044610 @ =gUnknown_020314E0
+ ldr r4, [r3]
+ mov r5, sb
+ asrs r6, r5, #0x10
+ lsls r5, r6, #3
+ movs r7, #0xb0
+ lsls r7, r7, #3
+ adds r3, r4, r7
+ adds r3, r3, r5
+ lsls r2, r6, #2
+ adds r2, r4, r2
+ movs r1, #0xaf
+ lsls r1, r1, #3
+ adds r0, r2, r1
+ movs r7, #0
+ ldrsh r1, [r0, r7]
+ ldr r0, [r3]
+ adds r0, r0, r1
+ str r0, [r3]
+ ldr r0, _08044614 @ =0x00000584
+ adds r1, r4, r0
+ adds r1, r1, r5
+ ldr r3, _08044618 @ =0x0000057A
+ adds r2, r2, r3
+ movs r5, #0
+ ldrsh r2, [r2, r5]
+ ldr r0, [r1]
+ adds r0, r0, r2
+ str r0, [r1]
+ ldr r7, _0804461C @ =0x0000055B
+ adds r3, r4, r7
+ adds r3, r3, r6
+ lsls r5, r6, #1
+ ldr r2, _08044620 @ =0x00000562
+ adds r4, r4, r2
+ adds r4, r4, r5
+ ldrh r0, [r4]
+ movs r1, #0x1f
+ ands r0, r1
+ lsrs r0, r0, #2
+ adds r0, #0x1e
+ b _08044676
+ .align 2, 0
+_08044610: .4byte gUnknown_020314E0
+_08044614: .4byte 0x00000584
+_08044618: .4byte 0x0000057A
+_0804461C: .4byte 0x0000055B
+_08044620: .4byte 0x00000562
+_08044624:
+ ldr r3, _08044694 @ =gUnknown_020314E0
+ ldr r4, [r3]
+ mov r5, sb
+ asrs r6, r5, #0x10
+ lsls r5, r6, #3
+ movs r7, #0xb0
+ lsls r7, r7, #3
+ adds r3, r4, r7
+ adds r3, r3, r5
+ lsls r2, r6, #2
+ adds r2, r4, r2
+ movs r1, #0xaf
+ lsls r1, r1, #3
+ adds r0, r2, r1
+ movs r7, #0
+ ldrsh r1, [r0, r7]
+ ldr r0, [r3]
+ adds r0, r0, r1
+ str r0, [r3]
+ ldr r0, _08044698 @ =0x00000584
+ adds r1, r4, r0
+ adds r1, r1, r5
+ ldr r3, _0804469C @ =0x0000057A
+ adds r2, r2, r3
+ movs r5, #0
+ ldrsh r2, [r2, r5]
+ ldr r0, [r1]
+ adds r0, r0, r2
+ str r0, [r1]
+ ldr r7, _080446A0 @ =0x0000055B
+ adds r3, r4, r7
+ adds r3, r3, r6
+ lsls r5, r6, #1
+ ldr r2, _080446A4 @ =0x00000562
+ adds r4, r4, r2
+ adds r4, r4, r5
+ ldrh r0, [r4]
+ movs r1, #0x1f
+ ands r0, r1
+ lsrs r0, r0, #3
+ adds r0, #0x1a
+_08044676:
+ strb r0, [r3]
+ ldr r0, _08044694 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ adds r2, r1, r2
+ adds r2, r2, r5
+ ldrh r0, [r2]
+ adds r0, #1
+ movs r3, #0
+ strh r0, [r2]
+ ldr r2, _080446A8 @ =0x0000054F
+ adds r1, r1, r2
+ adds r1, r1, r6
+ strb r3, [r1]
+ b _080448E4
+ .align 2, 0
+_08044694: .4byte gUnknown_020314E0
+_08044698: .4byte 0x00000584
+_0804469C: .4byte 0x0000057A
+_080446A0: .4byte 0x0000055B
+_080446A4: .4byte 0x00000562
+_080446A8: .4byte 0x0000054F
+_080446AC:
+ ldr r3, _080446F0 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ mov r5, sb
+ asrs r4, r5, #0x10
+ ldr r6, _080446F4 @ =0x00000557
+ adds r1, r1, r6
+ adds r1, r1, r4
+ movs r0, #0xff
+ strb r0, [r1]
+ ldr r5, [r3]
+ ldr r7, _080446F8 @ =0x0000054D
+ adds r0, r5, r7
+ adds r1, r0, r4
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ ble _08044704
+ subs r0, r2, #1
+ strb r0, [r1]
+ ldr r0, [r3]
+ ldr r1, _080446FC @ =0x0000055B
+ adds r0, r0, r1
+ adds r0, r0, r4
+ movs r1, #0x26
+ strb r1, [r0]
+ ldr r0, [r3]
+ ldr r2, _08044700 @ =0x0000054B
+ adds r0, r0, r2
+ adds r0, r0, r4
+_080446E8:
+ movs r1, #1
+ strb r1, [r0]
+ b _080448E4
+ .align 2, 0
+_080446F0: .4byte gUnknown_020314E0
+_080446F4: .4byte 0x00000557
+_080446F8: .4byte 0x0000054D
+_080446FC: .4byte 0x0000055B
+_08044700: .4byte 0x0000054B
+_08044704:
+ lsls r2, r4, #1
+ ldr r6, _08044748 @ =0x00000562
+ adds r0, r5, r6
+ adds r3, r0, r2
+ ldrh r1, [r3]
+ ldr r0, _0804474C @ =0x0000014D
+ cmp r1, r0
+ bls _08044716
+ b _080448C4
+_08044716:
+ cmp r1, #0xf
+ bhi _0804475C
+ ldr r3, _08044750 @ =0x0000055B
+ adds r0, r5, r3
+ adds r0, r0, r4
+ movs r1, #0x15
+ strb r1, [r0]
+ ldr r5, _08044754 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ adds r0, r0, r6
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ cmp r0, #1
+ bne _0804473A
+ movs r0, #0x9f
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_0804473A:
+ ldr r6, _08044754 @ =gUnknown_020314E0
+ ldr r0, [r6]
+ ldr r7, _08044758 @ =0x0000054F
+ adds r0, r0, r7
+ adds r0, r0, r4
+ b _08044824
+ .align 2, 0
+_08044748: .4byte 0x00000562
+_0804474C: .4byte 0x0000014D
+_08044750: .4byte 0x0000055B
+_08044754: .4byte gUnknown_020314E0
+_08044758: .4byte 0x0000054F
+_0804475C:
+ ldr r0, _0804479C @ =0x0000013B
+ cmp r1, r0
+ bhi _08044840
+ ldr r1, _080447A0 @ =0x0000054B
+ adds r0, r5, r1
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _080447B8
+ lsls r0, r4, #3
+ ldr r2, _080447A4 @ =0x00000584
+ adds r1, r5, r2
+ adds r1, r1, r0
+ ldr r0, [r1]
+ adds r0, #0x40
+ str r0, [r1]
+ ldrh r0, [r3]
+ movs r1, #0x13
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #9
+ bhi _080447AC
+ ldr r3, _080447A8 @ =0x0000055B
+ adds r0, r5, r3
+ adds r0, r0, r4
+ movs r1, #0x16
+ b _080447F0
+ .align 2, 0
+_0804479C: .4byte 0x0000013B
+_080447A0: .4byte 0x0000054B
+_080447A4: .4byte 0x00000584
+_080447A8: .4byte 0x0000055B
+_080447AC:
+ ldr r6, _080447B4 @ =0x0000055B
+ adds r0, r5, r6
+ b _080447EC
+ .align 2, 0
+_080447B4: .4byte 0x0000055B
+_080447B8:
+ lsls r0, r4, #3
+ ldr r7, _080447E0 @ =0x00000584
+ adds r1, r5, r7
+ adds r1, r1, r0
+ ldr r0, [r1]
+ adds r0, #0x80
+ str r0, [r1]
+ ldrh r0, [r3]
+ movs r1, #0xa
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #4
+ bhi _080447E8
+ ldr r1, _080447E4 @ =0x0000055B
+ adds r0, r5, r1
+ adds r0, r0, r4
+ movs r1, #0x16
+ b _080447F0
+ .align 2, 0
+_080447E0: .4byte 0x00000584
+_080447E4: .4byte 0x0000055B
+_080447E8:
+ ldr r2, _0804482C @ =0x0000055B
+ adds r0, r5, r2
+_080447EC:
+ adds r0, r0, r4
+ movs r1, #0x17
+_080447F0:
+ strb r1, [r0]
+ ldr r4, _08044830 @ =gUnknown_020314E0
+ ldr r3, [r4]
+ mov r5, sb
+ asrs r2, r5, #0x10
+ lsls r1, r2, #3
+ ldr r6, _08044834 @ =0x00000584
+ adds r0, r3, r6
+ adds r0, r0, r1
+ ldr r1, [r0]
+ movs r0, #0xac
+ lsls r0, r0, #8
+ cmp r1, r0
+ ble _0804481A
+ lsls r0, r2, #1
+ ldr r7, _08044838 @ =0x00000562
+ adds r1, r3, r7
+ adds r1, r1, r0
+ movs r0, #0x9e
+ lsls r0, r0, #1
+ strh r0, [r1]
+_0804481A:
+ ldr r1, _08044830 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r3, _0804483C @ =0x0000054F
+ adds r0, r0, r3
+ adds r0, r0, r2
+_08044824:
+ movs r1, #3
+ strb r1, [r0]
+ b _080448A0
+ .align 2, 0
+_0804482C: .4byte 0x0000055B
+_08044830: .4byte gUnknown_020314E0
+_08044834: .4byte 0x00000584
+_08044838: .4byte 0x00000562
+_0804483C: .4byte 0x0000054F
+_08044840:
+ lsls r0, r4, #3
+ ldr r6, _0804486C @ =0x00000584
+ adds r1, r5, r6
+ adds r1, r1, r0
+ ldr r0, [r1]
+ adds r0, #0x30
+ str r0, [r1]
+ ldr r7, _08044870 @ =0xFFFFFEC4
+ adds r0, r7, #0
+ ldrh r3, [r3]
+ adds r0, r0, r3
+ lsls r0, r0, #0x10
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #9
+ bgt _08044878
+ ldr r1, _08044874 @ =0x0000055B
+ adds r0, r5, r1
+ adds r0, r0, r4
+ movs r1, #0x18
+ b _08044880
+ .align 2, 0
+_0804486C: .4byte 0x00000584
+_08044870: .4byte 0xFFFFFEC4
+_08044874: .4byte 0x0000055B
+_08044878:
+ ldr r3, _080448B4 @ =0x0000055B
+ adds r0, r5, r3
+ adds r0, r0, r4
+ movs r1, #0x19
+_08044880:
+ strb r1, [r0]
+ cmp r2, #1
+ bne _0804488E
+ movs r0, #0x9b
+ lsls r0, r0, #1
+ bl m4aSongNumStart
+_0804488E:
+ ldr r2, _080448B8 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ mov r4, sb
+ asrs r0, r4, #0x10
+ ldr r5, _080448BC @ =0x0000054F
+ adds r1, r1, r5
+ adds r1, r1, r0
+ movs r0, #0
+ strb r0, [r1]
+_080448A0:
+ ldr r6, _080448B8 @ =gUnknown_020314E0
+ ldr r0, [r6]
+ mov r7, sb
+ asrs r1, r7, #0xf
+ ldr r2, _080448C0 @ =0x00000562
+ adds r0, r0, r2
+ adds r0, r0, r1
+ ldrh r1, [r0]
+ adds r1, #1
+ b _080448E2
+ .align 2, 0
+_080448B4: .4byte 0x0000055B
+_080448B8: .4byte gUnknown_020314E0
+_080448BC: .4byte 0x0000054F
+_080448C0: .4byte 0x00000562
+_080448C4:
+ ldr r3, _08044A9C @ =0x00000553
+ adds r0, r5, r3
+ adds r0, r0, r4
+ movs r1, #0
+ strb r1, [r0]
+ ldr r5, _08044AA0 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r6, _08044AA4 @ =0x0000055B
+ adds r0, r0, r6
+ adds r0, r0, r4
+ strb r1, [r0]
+ ldr r0, [r5]
+ ldr r7, _08044AA8 @ =0x00000562
+ adds r0, r0, r7
+ adds r0, r0, r2
+_080448E2:
+ strh r1, [r0]
+_080448E4:
+ ldr r1, [sp]
+ lsls r0, r1, #0x10
+ movs r2, #0x80
+ lsls r2, r2, #9
+ adds r0, r0, r2
+ lsrs r3, r0, #0x10
+ str r3, [sp]
+ asrs r0, r0, #0x10
+ cmp r0, #1
+ bgt _080448FC
+ bl _080438AA
+_080448FC:
+ movs r4, #0
+ str r4, [sp]
+_08044900:
+ ldr r5, [sp]
+ lsls r1, r5, #0x10
+ asrs r4, r1, #0x10
+ movs r0, #0xb8
+ muls r0, r4, r0
+ ldr r6, _08044AAC @ =0x0200BDC8
+ adds r0, r0, r6
+ mov r8, r0
+ ldrh r0, [r0]
+ mov sb, r1
+ cmp r0, #0
+ bne _0804491A
+ b _08044D12
+_0804491A:
+ ldr r7, _08044AA0 @ =gUnknown_020314E0
+ ldr r1, [r7]
+ ldr r0, _08044AB0 @ =0x00000555
+ adds r3, r1, r0
+ adds r3, r3, r4
+ movs r0, #0
+ ldrsb r0, [r3, r0]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ str r0, [sp, #4]
+ ldr r2, _08044AA4 @ =0x0000055B
+ adds r0, r1, r2
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r2, r0, #1
+ adds r2, r2, r0
+ lsls r2, r2, #1
+ ldr r0, _08044AB4 @ =0x086AFB2C
+ adds r0, #4
+ adds r2, r2, r0
+ ldr r5, _08044AB8 @ =0x00000551
+ adds r1, r1, r5
+ adds r1, r1, r4
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ movs r1, #1
+ subs r1, r1, r0
+ lsls r0, r1, #4
+ subs r0, r0, r1
+ lsls r0, r0, #1
+ ldrb r2, [r2]
+ adds r0, r0, r2
+ strb r0, [r3]
+ ldr r2, [r7]
+ ldr r6, _08044AA4 @ =0x0000055B
+ adds r0, r2, r6
+ adds r0, r0, r4
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ ldr r7, _08044AB4 @ =0x086AFB2C
+ adds r0, r0, r7
+ ldrh r5, [r0]
+ lsls r3, r4, #3
+ movs r1, #0xb0
+ lsls r1, r1, #3
+ adds r0, r2, r1
+ adds r0, r0, r3
+ ldr r0, [r0]
+ cmp r0, #0
+ bge _0804498A
+ adds r0, #0xff
+_0804498A:
+ asrs r1, r0, #8
+ adds r0, r2, #0
+ adds r0, #0x58
+ ldrh r0, [r0]
+ adds r0, #0xc
+ subs r1, r1, r0
+ mov r6, r8
+ strh r1, [r6, #2]
+ ldr r7, _08044ABC @ =0x00000584
+ adds r0, r2, r7
+ adds r0, r0, r3
+ ldr r0, [r0]
+ cmp r0, #0
+ bge _080449A8
+ adds r0, #0xff
+_080449A8:
+ asrs r1, r0, #8
+ adds r0, r2, #0
+ adds r0, #0x5a
+ ldrh r0, [r0]
+ adds r0, #0xe
+ subs r1, r1, r0
+ mov r0, r8
+ strh r1, [r0, #4]
+ ldr r2, [sp, #4]
+ lsls r1, r2, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #3
+ adds r0, r0, r1
+ lsls r0, r0, #5
+ ldr r1, _08044AC0 @ =0x084B046C
+ adds r0, r0, r1
+ ldr r6, _08044AC4 @ =0x040000D4
+ str r0, [r6]
+ adds r0, r3, r4
+ lsls r0, r0, #5
+ ldr r7, _08044AC8 @ =0x06011CA0
+ adds r0, r0, r7
+ str r0, [r6, #4]
+ ldr r0, _08044ACC @ =0x80000090
+ str r0, [r6, #8]
+ ldr r0, [r6, #8]
+ movs r7, #0
+ lsls r0, r5, #0x10
+ ldr r1, _08044AD0 @ =gOamBuffer
+ mov ip, r1
+ adds r6, r4, #0
+ asrs r0, r0, #0x10
+ mov sl, r0
+_080449EA:
+ lsls r0, r7, #0x10
+ asrs r3, r0, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ mov r2, r8
+ adds r5, r2, r0
+ ldrh r2, [r5]
+ lsls r2, r2, #3
+ add r2, ip
+ mov r4, sl
+ lsls r1, r4, #1
+ add r1, sl
+ lsls r1, r1, #3
+ lsls r0, r3, #1
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ ldr r4, _08044AD4 @ =0x086B56D8
+ adds r0, r0, r4
+ adds r1, r1, r0
+ ldrh r0, [r1]
+ strh r0, [r2]
+ adds r1, #2
+ adds r2, #2
+ ldrh r0, [r1]
+ strh r0, [r2]
+ ldrh r0, [r1, #2]
+ strh r0, [r2, #2]
+ ldr r0, _08044AA0 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r2, _08044AB8 @ =0x00000551
+ adds r0, r1, r2
+ adds r0, r0, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _08044AE8
+ cmp r3, #0
+ bne _08044A5E
+ ldr r3, _08044AD8 @ =0x0000055D
+ adds r1, r1, r3
+ adds r1, r1, r6
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ add r0, ip
+ ldrb r0, [r0, #2]
+ rsbs r0, r0, #0
+ strb r0, [r1]
+ ldr r4, _08044AA0 @ =gUnknown_020314E0
+ ldr r1, [r4]
+ ldr r0, _08044ADC @ =0x0000055F
+ adds r1, r1, r0
+ adds r1, r1, r6
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ add r0, ip
+ ldrb r0, [r0]
+ strb r0, [r1]
+_08044A5E:
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ add r3, ip
+ ldrh r4, [r3, #2]
+ lsls r1, r4, #0x17
+ lsrs r1, r1, #0x17
+ mov r2, r8
+ movs r0, #2
+ ldrsh r2, [r2, r0]
+ str r2, [sp, #8]
+ ldr r2, _08044AA0 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r2, _08044AD8 @ =0x0000055D
+ adds r0, r0, r2
+ adds r0, r0, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #1
+ ldr r2, [sp, #8]
+ adds r0, r2, r0
+ adds r1, r1, r0
+ ldr r2, _08044AE0 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldr r0, _08044AE4 @ =0xFFFFFE00
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r3, #2]
+ b _08044B36
+ .align 2, 0
+_08044A9C: .4byte 0x00000553
+_08044AA0: .4byte gUnknown_020314E0
+_08044AA4: .4byte 0x0000055B
+_08044AA8: .4byte 0x00000562
+_08044AAC: .4byte 0x0200BDC8
+_08044AB0: .4byte 0x00000555
+_08044AB4: .4byte 0x086AFB2C
+_08044AB8: .4byte 0x00000551
+_08044ABC: .4byte 0x00000584
+_08044AC0: .4byte 0x084B046C
+_08044AC4: .4byte 0x040000D4
+_08044AC8: .4byte 0x06011CA0
+_08044ACC: .4byte 0x80000090
+_08044AD0: .4byte gOamBuffer
+_08044AD4: .4byte 0x086B56D8
+_08044AD8: .4byte 0x0000055D
+_08044ADC: .4byte 0x0000055F
+_08044AE0: .4byte 0x000001FF
+_08044AE4: .4byte 0xFFFFFE00
+_08044AE8:
+ cmp r3, #0
+ bne _08044B10
+ ldr r3, _08044C24 @ =0x0000055D
+ adds r1, r1, r3
+ adds r1, r1, r6
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ add r0, ip
+ ldrh r0, [r0, #2]
+ strb r0, [r1]
+ ldr r4, _08044C28 @ =gUnknown_020314E0
+ ldr r1, [r4]
+ ldr r0, _08044C2C @ =0x0000055F
+ adds r1, r1, r0
+ adds r1, r1, r6
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ add r0, ip
+ ldrb r0, [r0]
+ strb r0, [r1]
+_08044B10:
+ ldrh r2, [r5]
+ lsls r2, r2, #3
+ add r2, ip
+ ldrh r3, [r2, #2]
+ lsls r1, r3, #0x17
+ lsrs r1, r1, #0x17
+ str r1, [sp, #0xc]
+ mov r1, r8
+ movs r4, #2
+ ldrsh r0, [r1, r4]
+ ldr r4, [sp, #0xc]
+ adds r1, r4, r0
+ ldr r4, _08044C30 @ =0x000001FF
+ adds r0, r4, #0
+ ands r1, r0
+ ldr r0, _08044C34 @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+_08044B36:
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ add r1, ip
+ mov r2, r8
+ ldrb r0, [r2, #4]
+ ldrb r3, [r1]
+ adds r0, r0, r3
+ strb r0, [r1]
+ ldrh r2, [r5]
+ lsls r2, r2, #3
+ add r2, ip
+ ldrh r3, [r2, #4]
+ lsls r1, r3, #0x16
+ lsrs r1, r1, #0x16
+ lsls r0, r6, #3
+ adds r0, r0, r6
+ adds r1, r1, r0
+ ldr r4, _08044C38 @ =0x000003FF
+ adds r0, r4, #0
+ ands r1, r0
+ ldr r0, _08044C3C @ =0xFFFFFC00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #4]
+ lsls r0, r7, #0x10
+ movs r5, #0x80
+ lsls r5, r5, #9
+ adds r0, r0, r5
+ lsrs r7, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ bgt _08044B78
+ b _080449EA
+_08044B78:
+ ldr r6, _08044C28 @ =gUnknown_020314E0
+ ldr r2, [r6]
+ mov r7, sb
+ asrs r3, r7, #0x10
+ lsls r0, r3, #2
+ adds r6, r2, r0
+ lsls r4, r3, #3
+ movs r1, #0xb0
+ lsls r1, r1, #3
+ adds r0, r2, r1
+ adds r0, r0, r4
+ ldr r0, [r0]
+ cmp r0, #0
+ bge _08044B96
+ adds r0, #0xff
+_08044B96:
+ asrs r1, r0, #8
+ ldr r5, _08044C24 @ =0x0000055D
+ adds r0, r2, r5
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ subs r0, #0x10
+ adds r1, r1, r0
+ lsls r1, r1, #1
+ movs r7, #0xae
+ lsls r7, r7, #3
+ adds r0, r6, r7
+ strh r1, [r0]
+ ldr r1, _08044C40 @ =0x00000584
+ adds r0, r2, r1
+ adds r7, r0, r4
+ ldr r1, [r7]
+ cmp r1, #0
+ bge _08044BC0
+ adds r1, #0xff
+_08044BC0:
+ asrs r1, r1, #8
+ ldr r4, _08044C2C @ =0x0000055F
+ adds r0, r2, r4
+ adds r5, r0, r3
+ movs r0, #0
+ ldrsb r0, [r5, r0]
+ subs r0, #0x12
+ adds r1, r1, r0
+ lsls r1, r1, #1
+ adds r4, #0x13
+ adds r0, r6, r4
+ strh r1, [r0]
+ lsls r1, r3, #1
+ ldr r6, _08044C44 @ =0x00000566
+ adds r0, r2, r6
+ adds r4, r0, r1
+ ldr r0, [r7]
+ cmp r0, #0
+ bge _08044BE8
+ adds r0, #0xff
+_08044BE8:
+ asrs r1, r0, #8
+ movs r0, #0
+ ldrsb r0, [r5, r0]
+ adds r0, r0, r1
+ strh r0, [r4]
+ movs r0, #0xb8
+ muls r0, r3, r0
+ ldr r7, _08044C48 @ =0x0200BF38
+ adds r0, r0, r7
+ mov r8, r0
+ ldr r1, [sp, #4]
+ lsls r0, r1, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xc
+ beq _08044C0A
+ cmp r0, #0x2a
+ bne _08044C50
+_08044C0A:
+ ldr r4, _08044C4C @ =0x0000055B
+ adds r0, r2, r4
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ movs r5, #9
+ str r5, [sp, #4]
+ cmp r0, #0xb
+ bne _08044C54
+ movs r6, #8
+ str r6, [sp, #4]
+ b _08044C54
+ .align 2, 0
+_08044C24: .4byte 0x0000055D
+_08044C28: .4byte gUnknown_020314E0
+_08044C2C: .4byte 0x0000055F
+_08044C30: .4byte 0x000001FF
+_08044C34: .4byte 0xFFFFFE00
+_08044C38: .4byte 0x000003FF
+_08044C3C: .4byte 0xFFFFFC00
+_08044C40: .4byte 0x00000584
+_08044C44: .4byte 0x00000566
+_08044C48: .4byte 0x0200BF38
+_08044C4C: .4byte 0x0000055B
+_08044C50:
+ movs r7, #0
+ str r7, [sp, #4]
+_08044C54:
+ ldr r0, _08044D34 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ mov r1, sb
+ asrs r4, r1, #0x10
+ lsls r3, r4, #3
+ movs r5, #0xb0
+ lsls r5, r5, #3
+ adds r0, r2, r5
+ adds r0, r0, r3
+ ldr r0, [r0]
+ cmp r0, #0
+ bge _08044C6E
+ adds r0, #0xff
+_08044C6E:
+ asrs r1, r0, #8
+ adds r0, r2, #0
+ adds r0, #0x58
+ ldrh r0, [r0]
+ adds r0, #0xc
+ subs r1, r1, r0
+ mov r6, r8
+ strh r1, [r6, #2]
+ ldr r7, _08044D38 @ =0x00000584
+ adds r0, r2, r7
+ adds r0, r0, r3
+ ldr r0, [r0]
+ cmp r0, #0
+ bge _08044C8C
+ adds r0, #0xff
+_08044C8C:
+ asrs r1, r0, #8
+ adds r0, r2, #0
+ adds r0, #0x5a
+ ldrh r0, [r0]
+ adds r0, #0xe
+ subs r1, r1, r0
+ mov r0, r8
+ strh r1, [r0, #4]
+ ldr r2, [sp, #4]
+ lsls r1, r2, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #3
+ adds r0, r0, r1
+ lsls r0, r0, #5
+ ldr r5, _08044D3C @ =0x084B046C
+ adds r0, r0, r5
+ ldr r6, _08044D40 @ =0x040000D4
+ str r0, [r6]
+ adds r0, r3, r4
+ lsls r0, r0, #5
+ ldr r7, _08044D44 @ =0x06011EE0
+ adds r0, r0, r7
+ str r0, [r6, #4]
+ ldr r0, _08044D48 @ =0x80000090
+ str r0, [r6, #8]
+ ldr r0, [r6, #8]
+ movs r7, #0
+ ldr r6, _08044D4C @ =gOamBuffer
+ ldr r0, _08044D50 @ =0xFFFFFE00
+ mov sl, r0
+_08044CC8:
+ lsls r3, r7, #0x10
+ asrs r3, r3, #0x10
+ lsls r0, r3, #3
+ adds r0, #8
+ mov r1, r8
+ adds r5, r1, r0
+ ldrh r2, [r5]
+ lsls r2, r2, #3
+ adds r2, r2, r6
+ movs r4, #2
+ ldrsh r1, [r5, r4]
+ mov r7, r8
+ movs r4, #2
+ ldrsh r0, [r7, r4]
+ adds r1, r1, r0
+ ldr r7, _08044D54 @ =0x000001FF
+ adds r0, r7, #0
+ ands r1, r0
+ ldrh r4, [r2, #2]
+ mov r0, sl
+ ands r0, r4
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ mov r2, r8
+ ldrb r0, [r2, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r7, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #3
+ ble _08044CC8
+_08044D12:
+ movs r0, #0x80
+ lsls r0, r0, #9
+ add r0, sb
+ lsrs r3, r0, #0x10
+ str r3, [sp]
+ asrs r0, r0, #0x10
+ cmp r0, #1
+ bgt _08044D24
+ b _08044900
+_08044D24:
+ add sp, #0x10
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08044D34: .4byte gUnknown_020314E0
+_08044D38: .4byte 0x00000584
+_08044D3C: .4byte 0x084B046C
+_08044D40: .4byte 0x040000D4
+_08044D44: .4byte 0x06011EE0
+_08044D48: .4byte 0x80000090
+_08044D4C: .4byte gOamBuffer
+_08044D50: .4byte 0xFFFFFE00
+_08044D54: .4byte 0x000001FF
+
+ thumb_func_start sub_44D58
+sub_44D58: @ 0x08044D58
+ push {r4, r5, r6, r7, lr}
+ movs r0, #0
+ mov ip, r0
+ ldr r6, _08044EE4 @ =0x0200C0A8
+ ldrh r0, [r6]
+ ldr r7, _08044EE8 @ =gUnknown_020314E0
+ cmp r0, #0
+ beq _08044DE8
+ ldr r0, [r7]
+ adds r0, #0x58
+ ldrh r1, [r0]
+ movs r0, #0x68
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ ldr r0, [r7]
+ adds r0, #0x5a
+ ldrh r1, [r0]
+ movs r0, #0x56
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ ldr r0, [r7]
+ ldr r2, _08044EEC @ =0x00000542
+ adds r1, r0, r2
+ ldrh r0, [r1]
+ cmp r0, #0x15
+ bhi _08044D9C
+ ldr r0, _08044EF0 @ =0x08137D60
+ ldrh r1, [r1]
+ adds r1, r1, r0
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ mov ip, r0
+_08044D9C:
+ ldr r2, _08044EF4 @ =0x040000D4
+ mov r3, ip
+ lsls r0, r3, #0x10
+ asrs r0, r0, #7
+ ldr r1, _08044EF8 @ =0x084AF9EC
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _08044EFC @ =0x06010920
+ str r0, [r2, #4]
+ ldr r0, _08044F00 @ =0x80000100
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ adds r5, r6, #0
+ adds r5, #8
+ ldr r4, _08044F04 @ =gOamBuffer
+ ldrh r2, [r6, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r3, #2
+ ldrsh r0, [r6, r3]
+ adds r1, r1, r0
+ ldr r3, _08044F08 @ =0x000001FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ ldr r0, _08044F0C @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+_08044DE8:
+ ldr r6, _08044F10 @ =0x0200BBA0
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _08044E72
+ ldr r0, [r7]
+ adds r0, #0x58
+ ldrh r1, [r0]
+ movs r0, #0x68
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ ldr r0, [r7]
+ adds r0, #0x5a
+ ldrh r1, [r0]
+ movs r0, #0x5e
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ ldr r2, _08044EF4 @ =0x040000D4
+ mov r0, ip
+ lsls r1, r0, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #7
+ ldr r1, _08044F14 @ =0x084AFFEC
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _08044F18 @ =0x06010B20
+ str r0, [r2, #4]
+ ldr r0, _08044F1C @ =0x800000C0
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ movs r0, #0
+ ldr r7, _08044F04 @ =gOamBuffer
+ ldr r1, _08044F0C @ =0xFFFFFE00
+ mov ip, r1
+_08044E2E:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r2, #2
+ ldrsh r1, [r5, r2]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08044F08 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #1
+ ble _08044E2E
+_08044E72:
+ ldr r4, _08044EE8 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ movs r1, #0x13
+ ldrsb r1, [r0, r1]
+ cmp r1, #1
+ bne _08044E88
+ ldr r0, _08044F20 @ =gMain
+ movs r3, #0xae
+ lsls r3, r3, #4
+ adds r0, r0, r3
+ strh r1, [r0]
+_08044E88:
+ ldr r1, [r4]
+ movs r0, #0x13
+ ldrsb r0, [r1, r0]
+ cmp r0, #1
+ bgt _08044EC8
+ ldr r0, _08044F20 @ =gMain
+ ldrb r0, [r0, #0xf]
+ cmp r0, #0
+ bne _08044EC8
+ ldr r5, _08044EEC @ =0x00000542
+ adds r0, r1, r5
+ ldrh r0, [r0]
+ cmp r0, #0
+ beq _08044EC8
+ cmp r0, #0x15
+ bne _08044EB0
+ ldr r0, _08044F24 @ =0x02032F20
+ ldr r1, _08044F28 @ =0x086A2D94
+ bl MPlayStart
+_08044EB0:
+ ldr r1, [r4]
+ adds r1, r1, r5
+ ldrh r0, [r1]
+ subs r0, #1
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ bne _08044EC8
+ ldr r0, _08044F24 @ =0x02032F20
+ ldr r1, _08044F2C @ =0x086A2E70
+ bl MPlayStart
+_08044EC8:
+ ldr r0, _08044EE8 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ adds r0, #0x7e
+ ldrh r0, [r0]
+ cmp r0, #0
+ beq _08044F34
+ ldr r0, _08044F20 @ =gMain
+ ldrb r0, [r0, #5]
+ cmp r0, #0
+ bne _08044F30
+ bl sub_44F3C
+ b _08044F34
+ .align 2, 0
+_08044EE4: .4byte 0x0200C0A8
+_08044EE8: .4byte gUnknown_020314E0
+_08044EEC: .4byte 0x00000542
+_08044EF0: .4byte 0x08137D60
+_08044EF4: .4byte 0x040000D4
+_08044EF8: .4byte 0x084AF9EC
+_08044EFC: .4byte 0x06010920
+_08044F00: .4byte 0x80000100
+_08044F04: .4byte gOamBuffer
+_08044F08: .4byte 0x000001FF
+_08044F0C: .4byte 0xFFFFFE00
+_08044F10: .4byte 0x0200BBA0
+_08044F14: .4byte 0x084AFFEC
+_08044F18: .4byte 0x06010B20
+_08044F1C: .4byte 0x800000C0
+_08044F20: .4byte gMain
+_08044F24: .4byte 0x02032F20
+_08044F28: .4byte 0x086A2D94
+_08044F2C: .4byte 0x086A2E70
+_08044F30:
+ bl sub_45164
+_08044F34:
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+
+ thumb_func_start sub_44F3C
+sub_44F3C: @ 0x08044F3C
+ push {r4, r5, r6, r7, lr}
+ mov r7, sb
+ mov r6, r8
+ push {r6, r7}
+ ldr r6, _08045010 @ =0x0200C160
+ ldrh r0, [r6]
+ ldr r1, _08045014 @ =gUnknown_020314E0
+ mov sb, r1
+ ldr r2, _08045018 @ =0x086AFC16
+ mov r8, r2
+ cmp r0, #0
+ beq _08044FE6
+ ldr r1, [r1]
+ ldr r3, _0804501C @ =0x00000591
+ adds r0, r1, r3
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ lsls r2, r2, #3
+ add r2, r8
+ ldrh r0, [r2, #4]
+ adds r0, #0x86
+ adds r1, #0x58
+ ldrh r1, [r1]
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ ldrh r1, [r2, #6]
+ adds r1, #0x9a
+ mov r3, sb
+ ldr r0, [r3]
+ adds r0, #0x5a
+ ldrh r0, [r0]
+ subs r1, r1, r0
+ strh r1, [r6, #4]
+ ldr r3, _08045020 @ =0x040000D4
+ movs r0, #0
+ ldrsh r1, [r2, r0]
+ lsls r0, r1, #3
+ adds r0, r0, r1
+ lsls r0, r0, #7
+ ldr r1, _08045024 @ =0x084B7FEC
+ adds r0, r0, r1
+ str r0, [r3]
+ ldr r0, _08045028 @ =0x06012120
+ str r0, [r3, #4]
+ ldr r0, _0804502C @ =0x80000230
+ str r0, [r3, #8]
+ ldr r0, [r3, #8]
+ movs r0, #0
+ ldr r7, _08045030 @ =gOamBuffer
+ ldr r1, _08045034 @ =0xFFFFFE00
+ mov ip, r1
+_08044FA2:
+ lsls r5, r0, #0x10
+ asrs r5, r5, #0x10
+ lsls r3, r5, #3
+ adds r3, #8
+ adds r3, r6, r3
+ ldrh r4, [r3]
+ lsls r4, r4, #3
+ adds r4, r4, r7
+ movs r2, #2
+ ldrsh r1, [r3, r2]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08045038 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r4, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r4, #2]
+ ldrh r1, [r3]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r3, [r3, #4]
+ adds r0, r0, r3
+ strb r0, [r1]
+ adds r5, #1
+ lsls r5, r5, #0x10
+ lsrs r0, r5, #0x10
+ asrs r5, r5, #0x10
+ cmp r5, #3
+ ble _08044FA2
+_08044FE6:
+ mov r5, sb
+ ldr r2, [r5]
+ ldr r6, _0804501C @ =0x00000591
+ adds r4, r2, r6
+ movs r0, #0
+ ldrsb r0, [r4, r0]
+ lsls r0, r0, #3
+ mov r1, r8
+ adds r1, #2
+ adds r0, r0, r1
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ ldr r1, _0804503C @ =0x00000592
+ adds r2, r2, r1
+ ldrh r3, [r2]
+ cmp r0, r3
+ ble _08045040
+ adds r0, r3, #1
+ strh r0, [r2]
+ b _08045148
+ .align 2, 0
+_08045010: .4byte 0x0200C160
+_08045014: .4byte gUnknown_020314E0
+_08045018: .4byte 0x086AFC16
+_0804501C: .4byte 0x00000591
+_08045020: .4byte 0x040000D4
+_08045024: .4byte 0x084B7FEC
+_08045028: .4byte 0x06012120
+_0804502C: .4byte 0x80000230
+_08045030: .4byte gOamBuffer
+_08045034: .4byte 0xFFFFFE00
+_08045038: .4byte 0x000001FF
+_0804503C: .4byte 0x00000592
+_08045040:
+ movs r3, #0
+ mov r8, r3
+ movs r7, #0
+ strh r7, [r2]
+ ldrb r0, [r4]
+ adds r0, #1
+ strb r0, [r4]
+ ldr r0, [r5]
+ ldr r1, _08045154 @ =0x00000591
+ adds r0, r0, r1
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ cmp r1, #1
+ bne _08045066
+ ldr r0, _08045158 @ =gMain
+ movs r2, #0x85
+ lsls r2, r2, #5
+ adds r0, r0, r2
+ strh r1, [r0]
+_08045066:
+ ldr r0, [r5]
+ adds r1, r0, r6
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0x13
+ bne _08045086
+ movs r0, #0x12
+ strb r0, [r1]
+ ldr r0, _08045158 @ =gMain
+ movs r3, #0x85
+ lsls r3, r3, #5
+ adds r0, r0, r3
+ strh r7, [r0]
+ ldr r0, [r5]
+ adds r0, #0x7e
+ strh r7, [r0]
+_08045086:
+ ldr r2, [r5]
+ adds r0, r2, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #9
+ bne _080450C8
+ ldr r0, _0804515C @ =0x0000132C
+ adds r2, r2, r0
+ ldr r1, [r2]
+ ldrh r0, [r1, #0xa]
+ subs r0, #0x40
+ strh r0, [r1, #0xa]
+ ldr r1, [r2]
+ movs r0, #0x8d
+ lsls r0, r0, #8
+ str r0, [r1, #0x34]
+ ldr r1, [r2]
+ movs r0, #0xc8
+ lsls r0, r0, #8
+ str r0, [r1, #0x38]
+ ldr r1, [r2]
+ ldr r0, _08045160 @ =0x0000FFA0
+ strh r0, [r1, #0x30]
+ ldr r1, [r2]
+ movs r0, #0x54
+ strh r0, [r1, #0x32]
+ ldr r1, [r2]
+ movs r0, #3
+ strb r0, [r1, #1]
+ movs r0, #7
+ bl sub_11B0
+_080450C8:
+ ldr r0, [r5]
+ adds r0, r0, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ bne _080450DC
+ movs r0, #0xd3
+ bl m4aSongNumStart
+_080450DC:
+ ldr r0, [r5]
+ adds r0, r0, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0xf
+ bne _080450F0
+ movs r0, #0xd4
+ bl m4aSongNumStart
+_080450F0:
+ ldr r0, [r5]
+ adds r0, r0, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #8
+ bne _08045134
+ movs r0, #0xd6
+ bl m4aSongNumStart
+ ldr r0, [r5]
+ ldr r2, _0804515C @ =0x0000132C
+ adds r0, r0, r2
+ ldr r0, [r0]
+ mov r1, r8
+ strb r1, [r0]
+ ldr r1, [r5]
+ adds r1, r1, r2
+ ldr r2, [r1]
+ ldrh r0, [r2, #0xa]
+ subs r0, #0x40
+ strh r0, [r2, #0xa]
+ ldr r2, [r1]
+ movs r0, #0x8f
+ lsls r0, r0, #8
+ str r0, [r2, #0x34]
+ ldr r2, [r1]
+ movs r0, #0xc3
+ lsls r0, r0, #8
+ str r0, [r2, #0x38]
+ ldr r0, [r1]
+ strh r7, [r0, #0x30]
+ ldr r0, [r1]
+ strh r7, [r0, #0x32]
+_08045134:
+ mov r2, sb
+ ldr r1, [r2]
+ adds r0, r1, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0xa
+ bne _08045148
+ mov r3, r8
+ strb r3, [r1, #0x1f]
+_08045148:
+ pop {r3, r4}
+ mov r8, r3
+ mov sb, r4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08045154: .4byte 0x00000591
+_08045158: .4byte gMain
+_0804515C: .4byte 0x0000132C
+_08045160: .4byte 0x0000FFA0
+
+ thumb_func_start sub_45164
+sub_45164: @ 0x08045164
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ ldr r6, _080452A0 @ =0x0200C218
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _08045234
+ ldr r0, _080452A4 @ =gUnknown_020314E0
+ ldr r4, [r0]
+ movs r1, #0xc8
+ lsls r1, r1, #2
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, #0x58
+ ldrh r1, [r4]
+ subs r1, #0x92
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ ldr r3, _080452A4 @ =gUnknown_020314E0
+ ldr r4, [r3]
+ ldr r1, _080452A8 @ =0x00000322
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r5, r0, #0
+ adds r0, r4, #0
+ adds r0, #0x5a
+ ldrh r0, [r0]
+ subs r0, #0x6e
+ subs r5, r5, r0
+ ldr r3, _080452AC @ =0x0000030E
+ adds r4, r4, r3
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ movs r1, #0xa
+ bl __divsi3
+ adds r5, r5, r0
+ strh r5, [r6, #4]
+ ldr r2, _080452A4 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r3, _080452B0 @ =0x00000591
+ adds r0, r0, r3
+ ldr r2, _080452B4 @ =0x040000D4
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #3
+ adds r0, r0, r1
+ lsls r0, r0, #7
+ ldr r1, _080452B8 @ =0x084BB16C
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _080452BC @ =0x060125A0
+ str r0, [r2, #4]
+ ldr r0, _080452C0 @ =0x80000240
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ movs r0, #0
+ ldr r7, _080452C4 @ =gOamBuffer
+ ldr r1, _080452C8 @ =0xFFFFFE00
+ mov r8, r1
+_080451F0:
+ lsls r5, r0, #0x10
+ asrs r5, r5, #0x10
+ lsls r3, r5, #3
+ adds r3, #8
+ adds r3, r6, r3
+ ldrh r4, [r3]
+ lsls r4, r4, #3
+ adds r4, r4, r7
+ movs r2, #2
+ ldrsh r1, [r3, r2]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _080452CC @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r4, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r4, #2]
+ ldrh r1, [r3]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r3, [r3, #4]
+ adds r0, r0, r3
+ strb r0, [r1]
+ adds r5, #1
+ lsls r5, r5, #0x10
+ lsrs r0, r5, #0x10
+ asrs r5, r5, #0x10
+ cmp r5, #3
+ ble _080451F0
+_08045234:
+ ldr r3, _080452A4 @ =gUnknown_020314E0
+ ldr r4, [r3]
+ ldr r1, _080452D0 @ =0x00000592
+ adds r0, r4, r1
+ ldrh r0, [r0]
+ cmp r0, #0xfa
+ bhi _080452F0
+ cmp r0, #0xfa
+ beq _08045248
+ b _08045594
+_08045248:
+ movs r2, #0xc8
+ lsls r2, r2, #2
+ adds r1, r4, r2
+ movs r2, #0
+ movs r0, #0xe6
+ lsls r0, r0, #2
+ strh r0, [r1]
+ ldr r3, _080452A8 @ =0x00000322
+ adds r1, r4, r3
+ ldr r0, _080452D4 @ =0x0000FF9C
+ strh r0, [r1]
+ movs r0, #0xc7
+ lsls r0, r0, #2
+ adds r1, r4, r0
+ ldr r0, _080452D8 @ =0x0000FFAE
+ strh r0, [r1]
+ ldr r1, _080452DC @ =0x0000031E
+ adds r0, r4, r1
+ strh r2, [r0]
+ subs r3, #0x16
+ adds r0, r4, r3
+ strh r2, [r0]
+ ldr r0, _080452E0 @ =0x00000306
+ adds r1, r4, r0
+ movs r0, #8
+ strb r0, [r1]
+ ldr r1, _080452A4 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _080452B0 @ =0x00000591
+ adds r0, r0, r2
+ movs r1, #0xd
+ strb r1, [r0]
+ ldr r0, _080452E4 @ =gMain
+ ldr r3, _080452E8 @ =0x00001158
+ adds r0, r0, r3
+ movs r2, #1
+ movs r1, #1
+ strh r1, [r0]
+ ldr r1, _080452A4 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r3, _080452EC @ =0x000005FA
+ adds r0, r0, r3
+ strb r2, [r0]
+ b _08045594
+ .align 2, 0
+_080452A0: .4byte 0x0200C218
+_080452A4: .4byte gUnknown_020314E0
+_080452A8: .4byte 0x00000322
+_080452AC: .4byte 0x0000030E
+_080452B0: .4byte 0x00000591
+_080452B4: .4byte 0x040000D4
+_080452B8: .4byte 0x084BB16C
+_080452BC: .4byte 0x060125A0
+_080452C0: .4byte 0x80000240
+_080452C4: .4byte gOamBuffer
+_080452C8: .4byte 0xFFFFFE00
+_080452CC: .4byte 0x000001FF
+_080452D0: .4byte 0x00000592
+_080452D4: .4byte 0x0000FF9C
+_080452D8: .4byte 0x0000FFAE
+_080452DC: .4byte 0x0000031E
+_080452E0: .4byte 0x00000306
+_080452E4: .4byte gMain
+_080452E8: .4byte 0x00001158
+_080452EC: .4byte 0x000005FA
+_080452F0:
+ movs r5, #0xc3
+ lsls r5, r5, #2
+ adds r0, r4, r5
+ ldrh r0, [r0]
+ movs r1, #0x18
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #6
+ bl __udivsi3
+ adds r0, #0xd
+ ldr r2, _0804537C @ =0x00000591
+ adds r1, r4, r2
+ strb r0, [r1]
+ ldr r3, _08045380 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ adds r0, r0, r5
+ ldrh r0, [r0]
+ lsls r0, r0, #0x1a
+ lsrs r0, r0, #0x10
+ bl sub_C24
+ adds r1, r0, #0
+ ldr r0, _08045380 @ =gUnknown_020314E0
+ ldr r4, [r0]
+ lsls r1, r1, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #4
+ subs r0, r0, r1
+ lsls r0, r0, #4
+ ldr r1, _08045384 @ =0x00004E20
+ bl __divsi3
+ ldr r2, _08045388 @ =0x0000030E
+ adds r1, r4, r2
+ strh r0, [r1]
+ adds r4, r4, r5
+ ldrh r0, [r4]
+ cmp r0, #0
+ bne _0804534A
+ movs r0, #0xe4
+ bl m4aSongNumStart
+_0804534A:
+ ldr r3, _08045380 @ =gUnknown_020314E0
+ ldr r4, [r3]
+ adds r0, r4, r5
+ ldrh r0, [r0]
+ cmp r0, #0x27
+ bhi _08045390
+ movs r0, #0xc8
+ lsls r0, r0, #2
+ adds r1, r4, r0
+ movs r2, #0xc7
+ lsls r2, r2, #2
+ adds r0, r4, r2
+ ldrh r0, [r0]
+ ldrh r3, [r1]
+ adds r0, r0, r3
+ strh r0, [r1]
+ ldr r0, _0804538C @ =0x00000322
+ adds r1, r4, r0
+ adds r2, #2
+ adds r0, r4, r2
+ ldrh r0, [r0]
+ ldrh r3, [r1]
+ adds r0, r0, r3
+ strh r0, [r1]
+ b _0804539A
+ .align 2, 0
+_0804537C: .4byte 0x00000591
+_08045380: .4byte gUnknown_020314E0
+_08045384: .4byte 0x00004E20
+_08045388: .4byte 0x0000030E
+_0804538C: .4byte 0x00000322
+_08045390:
+ ldr r0, _0804547C @ =gMain
+ ldr r1, _08045480 @ =0x00001158
+ adds r0, r0, r1
+ movs r1, #0
+ strh r1, [r0]
+_0804539A:
+ ldr r0, _08045484 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ movs r6, #0xc3
+ lsls r6, r6, #2
+ adds r1, r2, r6
+ ldrh r1, [r1]
+ cmp r1, #0xd
+ bne _08045416
+ ldr r5, _08045488 @ =0x0000132C
+ adds r0, r2, r5
+ ldr r1, [r0]
+ movs r0, #0
+ strb r0, [r1]
+ ldr r2, _08045484 @ =gUnknown_020314E0
+ ldr r4, [r2]
+ movs r3, #0xc5
+ lsls r3, r3, #2
+ adds r1, r4, r3
+ ldr r0, _0804548C @ =0x0000FFF6
+ strh r0, [r1]
+ ldr r0, _08045490 @ =0x00000316
+ adds r1, r4, r0
+ ldr r0, _08045494 @ =0x0000FFE7
+ strh r0, [r1]
+ movs r1, #0xc8
+ lsls r1, r1, #2
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ adds r0, #0x9d
+ lsls r1, r0, #2
+ adds r1, r1, r0
+ lsls r1, r1, #1
+ movs r3, #0xc6
+ lsls r3, r3, #2
+ adds r0, r4, r3
+ strh r1, [r0]
+ ldr r1, _08045498 @ =0x00000322
+ adds r0, r4, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ adds r0, #0x86
+ lsls r1, r0, #2
+ adds r1, r1, r0
+ lsls r1, r1, #1
+ ldr r3, _0804549C @ =0x0000031A
+ adds r0, r4, r3
+ strh r1, [r0]
+ adds r4, r4, r5
+ ldr r1, [r4]
+ movs r0, #1
+ strb r0, [r1, #1]
+_08045416:
+ ldr r0, _08045484 @ =gUnknown_020314E0
+ ldr r7, [r0]
+ ldrb r0, [r7, #0x1f]
+ cmp r0, #0
+ bne _08045422
+ b _08045584
+_08045422:
+ adds r0, r7, r6
+ ldrh r0, [r0]
+ cmp r0, #0xc
+ bhi _080454A0
+ ldr r1, _08045488 @ =0x0000132C
+ adds r4, r7, r1
+ ldr r5, [r4]
+ movs r2, #0xc8
+ lsls r2, r2, #2
+ adds r0, r7, r2
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x9d
+ strh r0, [r5, #0x10]
+ ldr r5, [r4]
+ ldr r1, _08045498 @ =0x00000322
+ adds r0, r7, r1
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0x86
+ strh r0, [r5, #0x12]
+ ldr r1, [r4]
+ movs r3, #0x10
+ ldrsh r0, [r1, r3]
+ lsls r0, r0, #1
+ strh r0, [r1, #0x28]
+ ldr r1, [r4]
+ movs r2, #0x12
+ ldrsh r0, [r1, r2]
+ lsls r0, r0, #1
+ strh r0, [r1, #0x2a]
+ ldr r1, [r4]
+ movs r3, #0x10
+ ldrsh r0, [r1, r3]
+ lsls r0, r0, #8
+ str r0, [r1, #0x34]
+ ldr r1, [r4]
+ b _0804557C
+ .align 2, 0
+_0804547C: .4byte gMain
+_08045480: .4byte 0x00001158
+_08045484: .4byte gUnknown_020314E0
+_08045488: .4byte 0x0000132C
+_0804548C: .4byte 0x0000FFF6
+_08045490: .4byte 0x00000316
+_08045494: .4byte 0x0000FFE7
+_08045498: .4byte 0x00000322
+_0804549C: .4byte 0x0000031A
+_080454A0:
+ ldr r3, _080455B0 @ =0x00000316
+ adds r1, r7, r3
+ ldrh r0, [r1]
+ adds r0, #2
+ movs r2, #0
+ mov r8, r2
+ movs r3, #0
+ mov sl, r3
+ strh r0, [r1]
+ movs r0, #0xc6
+ lsls r0, r0, #2
+ adds r2, r7, r0
+ movs r3, #0xc5
+ lsls r3, r3, #2
+ adds r0, r7, r3
+ ldrh r0, [r0]
+ ldrh r3, [r2]
+ adds r0, r0, r3
+ strh r0, [r2]
+ ldr r0, _080455B4 @ =0x0000031A
+ adds r4, r7, r0
+ ldrh r0, [r1]
+ ldrh r1, [r4]
+ adds r0, r0, r1
+ strh r0, [r4]
+ ldr r3, _080455B8 @ =0x0000132C
+ mov sb, r3
+ adds r5, r7, r3
+ ldr r6, [r5]
+ movs r1, #0
+ ldrsh r0, [r2, r1]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r6, #0x10]
+ ldr r6, [r5]
+ movs r2, #0
+ ldrsh r0, [r4, r2]
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r6, #0x12]
+ ldr r5, [r5]
+ movs r3, #0x12
+ ldrsh r0, [r5, r3]
+ cmp r0, #0xb4
+ ble _08045556
+ movs r0, #0xb5
+ strh r0, [r5, #0x12]
+ ldr r1, _080455BC @ =0x000005F7
+ adds r0, r7, r1
+ mov r2, r8
+ strb r2, [r0]
+ ldr r3, _080455C0 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ strb r2, [r0, #0x1f]
+ ldr r1, [r3]
+ ldr r0, _080455B8 @ =0x0000132C
+ adds r3, r1, r0
+ ldr r2, [r3]
+ ldr r0, _080455C4 @ =0x0000FFF6
+ strh r0, [r2, #0x30]
+ ldr r0, [r3]
+ mov r2, sl
+ strh r2, [r0, #0x32]
+ ldr r3, _080455C8 @ =0x000005FA
+ adds r1, r1, r3
+ mov r0, r8
+ strb r0, [r1]
+ ldr r1, _080455C0 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _080455B8 @ =0x0000132C
+ adds r0, r0, r2
+ ldr r1, [r0]
+ movs r0, #3
+ strb r0, [r1, #1]
+ ldr r3, _080455C0 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ adds r0, #0x24
+ mov r1, r8
+ strb r1, [r0]
+ ldr r0, [r3]
+ adds r0, #0x7e
+ mov r2, sl
+ strh r2, [r0]
+ movs r0, #0xe5
+ bl m4aSongNumStart
+ movs r0, #7
+ bl sub_11B0
+_08045556:
+ ldr r3, _080455C0 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ add r1, sb
+ ldr r2, [r1]
+ movs r3, #0x10
+ ldrsh r0, [r2, r3]
+ lsls r0, r0, #1
+ strh r0, [r2, #0x28]
+ ldr r2, [r1]
+ movs r3, #0x12
+ ldrsh r0, [r2, r3]
+ lsls r0, r0, #1
+ strh r0, [r2, #0x2a]
+ ldr r2, [r1]
+ movs r3, #0x10
+ ldrsh r0, [r2, r3]
+ lsls r0, r0, #8
+ str r0, [r2, #0x34]
+ ldr r1, [r1]
+_0804557C:
+ movs r2, #0x12
+ ldrsh r0, [r1, r2]
+ lsls r0, r0, #8
+ str r0, [r1, #0x38]
+_08045584:
+ ldr r3, _080455C0 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ movs r0, #0xc3
+ lsls r0, r0, #2
+ adds r1, r1, r0
+ ldrh r0, [r1]
+ adds r0, #1
+ strh r0, [r1]
+_08045594:
+ ldr r2, _080455C0 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldr r3, _080455CC @ =0x00000592
+ adds r1, r1, r3
+ ldrh r0, [r1]
+ adds r0, #1
+ strh r0, [r1]
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080455B0: .4byte 0x00000316
+_080455B4: .4byte 0x0000031A
+_080455B8: .4byte 0x0000132C
+_080455BC: .4byte 0x000005F7
+_080455C0: .4byte gUnknown_020314E0
+_080455C4: .4byte 0x0000FFF6
+_080455C8: .4byte 0x000005FA
+_080455CC: .4byte 0x00000592
+
+ thumb_func_start sub_455D0
+sub_455D0: @ 0x080455D0
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #8
+ movs r2, #0
+_080455DE:
+ ldr r3, _08045608 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ lsls r2, r2, #0x10
+ asrs r1, r2, #0x10
+ ldr r4, _0804560C @ =0x00000536
+ adds r0, r0, r4
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ mov r8, r3
+ str r2, [sp]
+ cmp r0, #5
+ bls _080455FE
+ bl _08045DE0
+_080455FE:
+ lsls r0, r0, #2
+ ldr r1, _08045610 @ =_08045614
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08045608: .4byte gUnknown_020314E0
+_0804560C: .4byte 0x00000536
+_08045610: .4byte _08045614
+_08045614: @ jump table
+ .4byte _0804562C @ case 0
+ .4byte _08045642 @ case 1
+ .4byte _080456E0 @ case 2
+ .4byte _08045778 @ case 3
+ .4byte _08045B00 @ case 4
+ .4byte _08045C4C @ case 5
+_0804562C:
+ mov r5, r8
+ ldr r0, [r5]
+ ldr r2, [sp]
+ asrs r1, r2, #0x10
+ movs r3, #0xa6
+ lsls r3, r3, #3
+ adds r0, r0, r3
+ adds r0, r0, r1
+ movs r1, #0
+ strb r1, [r0]
+ b _08045DE0
+_08045642:
+ mov r4, r8
+ ldr r1, [r4]
+ ldr r5, [sp]
+ asrs r6, r5, #0x10
+ movs r2, #0xa6
+ lsls r2, r2, #3
+ adds r0, r1, r2
+ adds r0, r0, r6
+ movs r3, #0
+ ldrsb r3, [r0, r3]
+ movs r4, #0xe8
+ lsls r4, r4, #2
+ mov sl, r4
+ add r1, sl
+ adds r1, r1, r3
+ movs r2, #0
+ movs r0, #2
+ strb r0, [r1]
+ mov r5, r8
+ ldr r1, [r5]
+ lsls r7, r3, #1
+ movs r0, #0xec
+ lsls r0, r0, #2
+ mov sb, r0
+ adds r0, r1, r0
+ adds r0, r0, r7
+ movs r4, #0
+ mov ip, r4
+ strh r2, [r0]
+ ldr r2, _080456D4 @ =0x000003A3
+ adds r1, r1, r2
+ adds r1, r1, r3
+ movs r0, #7
+ strb r0, [r1]
+ ldr r5, [r5]
+ lsls r1, r6, #1
+ ldr r4, _080456D8 @ =0x0000053C
+ adds r0, r5, r4
+ adds r1, r0, r1
+ ldrh r0, [r1]
+ cmp r0, #0
+ bne _08045698
+ b _08045DE0
+_08045698:
+ subs r0, #1
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ lsrs r4, r0, #0x10
+ cmp r4, #0
+ beq _080456A6
+ b _08045DE0
+_080456A6:
+ ldr r1, _080456DC @ =0x00000536
+ adds r0, r5, r1
+ adds r0, r0, r6
+ mov r5, ip
+ strb r5, [r0]
+ mov r1, r8
+ ldr r0, [r1]
+ add r0, sl
+ adds r0, r0, r3
+ movs r1, #1
+ strb r1, [r0]
+ mov r5, r8
+ ldr r1, [r5]
+ mov r5, sb
+ adds r0, r1, r5
+ adds r0, r0, r7
+ strh r4, [r0]
+ adds r1, r1, r2
+ adds r1, r1, r3
+ movs r0, #4
+ strb r0, [r1]
+ b _08045DE0
+ .align 2, 0
+_080456D4: .4byte 0x000003A3
+_080456D8: .4byte 0x0000053C
+_080456DC: .4byte 0x00000536
+_080456E0:
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r2, [sp]
+ asrs r6, r2, #0x10
+ movs r3, #0xa6
+ lsls r3, r3, #3
+ adds r0, r1, r3
+ adds r0, r0, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #0x10
+ lsrs r5, r0, #0x10
+ cmp r6, #2
+ bne _0804571E
+ movs r0, #1
+ strb r0, [r1, #0x1f]
+ mov r4, r8
+ ldr r0, [r4]
+ ldr r1, _08045768 @ =0x0000132C
+ adds r0, r0, r1
+ ldr r3, [r0]
+ ldrh r2, [r3, #0x30]
+ adds r2, #5
+ lsls r1, r5, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #2
+ adds r0, r0, r1
+ lsls r0, r0, #1
+ subs r2, r2, r0
+ strh r2, [r3, #0x30]
+_0804571E:
+ mov r2, r8
+ ldr r1, [r2]
+ ldr r3, _0804576C @ =0x00000536
+ adds r1, r1, r3
+ adds r1, r1, r6
+ movs r4, #0
+ movs r0, #3
+ strb r0, [r1]
+ ldr r0, [r2]
+ ldr r1, _08045770 @ =0x00000533
+ adds r0, r0, r1
+ adds r0, r0, r6
+ strb r4, [r0]
+ ldr r1, [r2]
+ lsls r3, r5, #0x10
+ asrs r3, r3, #0x10
+ movs r2, #0xe8
+ lsls r2, r2, #2
+ adds r1, r1, r2
+ adds r1, r1, r3
+ movs r0, #2
+ strb r0, [r1]
+ mov r5, r8
+ ldr r1, [r5]
+ lsls r2, r3, #1
+ movs r5, #0xec
+ lsls r5, r5, #2
+ adds r0, r1, r5
+ adds r0, r0, r2
+ strh r4, [r0]
+ ldr r0, _08045774 @ =0x000003A3
+ adds r1, r1, r0
+ adds r1, r1, r3
+ movs r0, #7
+ strb r0, [r1]
+ b _08045DE0
+ .align 2, 0
+_08045768: .4byte 0x0000132C
+_0804576C: .4byte 0x00000536
+_08045770: .4byte 0x00000533
+_08045774: .4byte 0x000003A3
+_08045778:
+ mov r1, r8
+ ldr r2, [r1]
+ ldr r4, [sp]
+ asrs r3, r4, #0x10
+ movs r5, #0xa6
+ lsls r5, r5, #3
+ adds r0, r2, r5
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #0x10
+ lsrs r5, r0, #0x10
+ cmp r3, #1
+ ble _08045798
+ b _0804599C
+_08045798:
+ lsls r0, r5, #0x10
+ asrs r4, r0, #0x10
+ mov sb, r0
+ cmp r4, #0
+ bne _080457C8
+ lsls r1, r3, #3
+ movs r5, #0xb0
+ lsls r5, r5, #3
+ adds r0, r2, r5
+ adds r0, r0, r1
+ ldr r1, [r0]
+ ldr r0, _080457C4 @ =0x000055FF
+ cmp r1, r0
+ ble _080457EA
+ lsls r0, r3, #2
+ adds r0, r2, r0
+ movs r1, #0xaf
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ strh r4, [r0]
+ b _080457EA
+ .align 2, 0
+_080457C4: .4byte 0x000055FF
+_080457C8:
+ lsls r1, r3, #3
+ movs r4, #0xb0
+ lsls r4, r4, #3
+ adds r0, r2, r4
+ adds r0, r0, r1
+ ldr r1, [r0]
+ movs r0, #0x9c
+ lsls r0, r0, #8
+ cmp r1, r0
+ bgt _080457EA
+ lsls r0, r3, #2
+ adds r0, r2, r0
+ movs r5, #0xaf
+ lsls r5, r5, #3
+ adds r0, r0, r5
+ movs r1, #0
+ strh r1, [r0]
+_080457EA:
+ mov r0, r8
+ ldr r2, [r0]
+ ldr r1, [sp]
+ asrs r5, r1, #0x10
+ lsls r7, r5, #2
+ adds r1, r2, r7
+ ldr r3, _08045870 @ =0x0000057A
+ mov sl, r3
+ add r1, sl
+ ldrh r0, [r1]
+ adds r0, #0xc
+ strh r0, [r1]
+ mov r4, sb
+ asrs r6, r4, #0x10
+ movs r1, #0xa9
+ lsls r1, r1, #3
+ adds r0, r2, r1
+ adds r0, r0, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _08045880
+ lsls r1, r5, #3
+ adds r3, #0xa
+ adds r0, r2, r3
+ adds r0, r0, r1
+ ldr r1, [r0]
+ ldr r0, _08045874 @ =0x000065FF
+ cmp r1, r0
+ bgt _0804582A
+ b _08045DE0
+_0804582A:
+ ldr r4, _08045878 @ =0x00000533
+ adds r0, r2, r4
+ adds r0, r0, r5
+ movs r1, #0
+ strb r1, [r0]
+ mov r2, r8
+ ldr r0, [r2]
+ subs r3, #0x4e
+ adds r0, r0, r3
+ adds r0, r0, r5
+ movs r1, #5
+ strb r1, [r0]
+ ldr r0, [r2]
+ movs r4, #0xe8
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ adds r0, r0, r6
+ movs r1, #3
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r5, _0804587C @ =0x000003A3
+ adds r0, r0, r5
+ adds r0, r0, r6
+ movs r1, #0xf
+ strb r1, [r0]
+ ldr r0, [r2]
+ lsls r1, r6, #1
+ movs r2, #0xec
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ adds r0, r0, r1
+ movs r3, #0
+ strh r3, [r0]
+ b _08045DE0
+ .align 2, 0
+_08045870: .4byte 0x0000057A
+_08045874: .4byte 0x000065FF
+_08045878: .4byte 0x00000533
+_0804587C: .4byte 0x000003A3
+_08045880:
+ lsls r3, r5, #3
+ ldr r4, _08045904 @ =0x00000584
+ mov sb, r4
+ adds r0, r2, r4
+ adds r0, r0, r3
+ ldr r1, [r0]
+ ldr r0, _08045908 @ =0x000065FF
+ cmp r1, r0
+ bgt _08045894
+ b _08045DE0
+_08045894:
+ subs r4, #0x51
+ adds r1, r2, r4
+ adds r1, r1, r5
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ ldr r0, _0804590C @ =0x02032F20
+ ldr r1, _08045910 @ =0x086A2EE4
+ str r3, [sp, #4]
+ bl MPlayStart
+ mov r0, r8
+ ldr r2, [r0]
+ adds r4, r2, r4
+ adds r4, r4, r5
+ movs r0, #0
+ ldrsb r0, [r4, r0]
+ ldr r3, [sp, #4]
+ cmp r0, #2
+ bgt _08045920
+ mov r1, sb
+ adds r0, r2, r1
+ adds r0, r0, r3
+ movs r1, #0xcc
+ lsls r1, r1, #7
+ str r1, [r0]
+ adds r0, r2, r7
+ add r0, sl
+ ldr r1, _08045914 @ =0x0000FED4
+ strh r1, [r0]
+ ldr r3, _08045918 @ =0x00000553
+ adds r0, r2, r3
+ adds r0, r0, r5
+ movs r1, #0xd
+ strb r1, [r0]
+ mov r4, r8
+ ldr r0, [r4]
+ movs r5, #0xe8
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ adds r0, r0, r6
+ movs r1, #2
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldr r1, _0804591C @ =0x000003A3
+ adds r0, r0, r1
+ adds r0, r0, r6
+ movs r1, #8
+ strb r1, [r0]
+ ldr r1, [r4]
+ lsls r0, r6, #1
+ movs r2, #0xec
+ lsls r2, r2, #2
+ adds r1, r1, r2
+ adds r1, r1, r0
+ b _08045A5C
+ .align 2, 0
+_08045904: .4byte 0x00000584
+_08045908: .4byte 0x000065FF
+_0804590C: .4byte 0x02032F20
+_08045910: .4byte 0x086A2EE4
+_08045914: .4byte 0x0000FED4
+_08045918: .4byte 0x00000553
+_0804591C: .4byte 0x000003A3
+_08045920:
+ adds r2, r2, r7
+ lsls r0, r6, #4
+ subs r0, r0, r6
+ lsls r0, r0, #2
+ movs r1, #0x1e
+ subs r1, r1, r0
+ lsls r1, r1, #2
+ movs r3, #0xaf
+ lsls r3, r3, #3
+ adds r0, r2, r3
+ strh r1, [r0]
+ add r2, sl
+ ldr r0, _08045988 @ =0x0000FE70
+ strh r0, [r2]
+ movs r0, #0
+ strb r0, [r4]
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r2, _0804598C @ =0x00000536
+ adds r0, r0, r2
+ adds r0, r0, r5
+ movs r1, #4
+ strb r1, [r0]
+ mov r3, r8
+ ldr r0, [r3]
+ movs r4, #0xe8
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ adds r0, r0, r6
+ movs r1, #3
+ strb r1, [r0]
+ ldr r0, [r3]
+ ldr r5, _08045990 @ =0x000003A3
+ adds r0, r0, r5
+ adds r0, r0, r6
+ movs r1, #0xb
+ strb r1, [r0]
+ ldr r2, [r3]
+ lsls r1, r6, #1
+ movs r3, #0xec
+ lsls r3, r3, #2
+ adds r0, r2, r3
+ adds r0, r0, r1
+ movs r4, #0
+ strh r4, [r0]
+ ldr r5, _08045994 @ =0x00000542
+ adds r1, r2, r5
+ movs r0, #0x64
+ strh r0, [r1]
+ ldr r0, _08045998 @ =0x0000052C
+ adds r2, r2, r0
+ b _08045AE2
+ .align 2, 0
+_08045988: .4byte 0x0000FE70
+_0804598C: .4byte 0x00000536
+_08045990: .4byte 0x000003A3
+_08045994: .4byte 0x00000542
+_08045998: .4byte 0x0000052C
+_0804599C:
+ lsls r0, r5, #0x10
+ asrs r3, r0, #0x10
+ mov sb, r0
+ cmp r3, #0
+ bne _080459C0
+ ldr r1, _080459B8 @ =0x0000132C
+ adds r0, r2, r1
+ ldr r2, [r0]
+ ldr r1, [r2, #0x34]
+ ldr r0, _080459BC @ =0x000055FF
+ cmp r1, r0
+ ble _080459D4
+ strh r3, [r2, #0x30]
+ b _080459D4
+ .align 2, 0
+_080459B8: .4byte 0x0000132C
+_080459BC: .4byte 0x000055FF
+_080459C0:
+ ldr r3, _08045A64 @ =0x0000132C
+ adds r0, r2, r3
+ ldr r2, [r0]
+ ldr r1, [r2, #0x34]
+ movs r0, #0x9c
+ lsls r0, r0, #8
+ cmp r1, r0
+ bgt _080459D4
+ movs r0, #0
+ strh r0, [r2, #0x30]
+_080459D4:
+ mov r4, r8
+ ldr r3, [r4]
+ ldr r7, _08045A64 @ =0x0000132C
+ adds r2, r3, r7
+ ldr r1, [r2]
+ ldrh r0, [r1, #0x32]
+ adds r0, #3
+ movs r5, #0
+ mov sl, r5
+ strh r0, [r1, #0x32]
+ ldr r0, [r2]
+ ldr r1, [r0, #0x38]
+ ldr r0, _08045A68 @ =0x000064FF
+ cmp r1, r0
+ bgt _080459F4
+ b _08045DE0
+_080459F4:
+ ldr r0, [sp]
+ asrs r5, r0, #0x10
+ ldr r4, _08045A6C @ =0x00000533
+ adds r1, r3, r4
+ adds r1, r1, r5
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ ldr r0, _08045A70 @ =0x02032F20
+ ldr r1, _08045A74 @ =0x086A2EE4
+ bl MPlayStart
+ movs r0, #7
+ bl sub_11B0
+ mov r1, r8
+ ldr r3, [r1]
+ adds r4, r3, r4
+ adds r6, r4, r5
+ movs r0, #0
+ ldrsb r0, [r6, r0]
+ cmp r0, #2
+ bgt _08045A80
+ adds r2, r3, r7
+ ldr r1, [r2]
+ movs r0, #0xca
+ lsls r0, r0, #7
+ str r0, [r1, #0x38]
+ ldr r1, [r2]
+ ldr r0, _08045A78 @ =0x0000FFA6
+ strh r0, [r1, #0x32]
+ mov r4, sb
+ asrs r2, r4, #0x10
+ movs r5, #0xe8
+ lsls r5, r5, #2
+ adds r0, r3, r5
+ adds r0, r0, r2
+ movs r1, #2
+ strb r1, [r0]
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r3, _08045A7C @ =0x000003A3
+ adds r0, r0, r3
+ adds r0, r0, r2
+ movs r1, #8
+ strb r1, [r0]
+ mov r4, r8
+ ldr r1, [r4]
+ lsls r2, r2, #1
+ adds r5, #0x10
+ adds r1, r1, r5
+ adds r1, r1, r2
+_08045A5C:
+ movs r0, #0xc
+ strh r0, [r1]
+ b _08045DE0
+ .align 2, 0
+_08045A64: .4byte 0x0000132C
+_08045A68: .4byte 0x000064FF
+_08045A6C: .4byte 0x00000533
+_08045A70: .4byte 0x02032F20
+_08045A74: .4byte 0x086A2EE4
+_08045A78: .4byte 0x0000FFA6
+_08045A7C: .4byte 0x000003A3
+_08045A80:
+ adds r2, r3, r7
+ ldr r4, [r2]
+ mov r0, sb
+ asrs r3, r0, #0x10
+ lsls r1, r3, #3
+ subs r1, r1, r3
+ lsls r1, r1, #3
+ movs r0, #0x1c
+ subs r0, r0, r1
+ strh r0, [r4, #0x30]
+ ldr r1, [r2]
+ ldr r0, _08045AEC @ =0x0000FF88
+ strh r0, [r1, #0x32]
+ mov r1, sl
+ strb r1, [r6]
+ mov r2, r8
+ ldr r0, [r2]
+ ldr r4, _08045AF0 @ =0x00000536
+ adds r0, r0, r4
+ adds r0, r0, r5
+ movs r1, #4
+ strb r1, [r0]
+ ldr r0, [r2]
+ movs r5, #0xe8
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ adds r0, r0, r3
+ movs r1, #3
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r1, _08045AF4 @ =0x000003A3
+ adds r0, r0, r1
+ adds r0, r0, r3
+ movs r1, #0xb
+ strb r1, [r0]
+ ldr r2, [r2]
+ lsls r3, r3, #1
+ movs r4, #0xec
+ lsls r4, r4, #2
+ adds r0, r2, r4
+ adds r0, r0, r3
+ movs r5, #0
+ strh r5, [r0]
+ ldr r0, _08045AF8 @ =0x00000542
+ adds r1, r2, r0
+ movs r0, #0x6a
+ strh r0, [r1]
+ ldr r1, _08045AFC @ =0x0000052D
+ adds r2, r2, r1
+_08045AE2:
+ ldrb r0, [r2]
+ adds r0, #1
+ strb r0, [r2]
+ b _08045DE0
+ .align 2, 0
+_08045AEC: .4byte 0x0000FF88
+_08045AF0: .4byte 0x00000536
+_08045AF4: .4byte 0x000003A3
+_08045AF8: .4byte 0x00000542
+_08045AFC: .4byte 0x0000052D
+_08045B00:
+ mov r2, r8
+ ldr r3, [r2]
+ ldr r4, [sp]
+ asrs r2, r4, #0x10
+ movs r5, #0xa6
+ lsls r5, r5, #3
+ adds r0, r3, r5
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #0x10
+ lsrs r5, r0, #0x10
+ cmp r2, #1
+ bgt _08045B90
+ lsls r0, r2, #2
+ adds r4, r3, r0
+ ldr r0, _08045B4C @ =0x0000057A
+ adds r1, r4, r0
+ ldrh r0, [r1]
+ adds r0, #0xc
+ movs r6, #0
+ strh r0, [r1]
+ cmp r5, #0
+ bne _08045B54
+ lsls r1, r2, #3
+ movs r2, #0xb0
+ lsls r2, r2, #3
+ adds r0, r3, r2
+ adds r0, r0, r1
+ ldr r1, [r0]
+ ldr r0, _08045B50 @ =0x000077FF
+ cmp r1, r0
+ ble _08045B70
+ movs r3, #0xaf
+ lsls r3, r3, #3
+ adds r0, r4, r3
+ b _08045B6E
+ .align 2, 0
+_08045B4C: .4byte 0x0000057A
+_08045B50: .4byte 0x000077FF
+_08045B54:
+ lsls r1, r2, #3
+ movs r5, #0xb0
+ lsls r5, r5, #3
+ adds r0, r3, r5
+ adds r0, r0, r1
+ ldr r1, [r0]
+ movs r0, #0xf0
+ lsls r0, r0, #7
+ cmp r1, r0
+ bgt _08045B70
+ movs r1, #0xaf
+ lsls r1, r1, #3
+ adds r0, r4, r1
+_08045B6E:
+ strh r6, [r0]
+_08045B70:
+ mov r3, r8
+ ldr r2, [r3]
+ ldr r5, [sp]
+ asrs r4, r5, #0x10
+ lsls r1, r4, #3
+ ldr r3, _08045B88 @ =0x00000584
+ adds r0, r2, r3
+ adds r0, r0, r1
+ ldr r1, [r0]
+ ldr r0, _08045B8C @ =0x000083FF
+ b _08045CD0
+ .align 2, 0
+_08045B88: .4byte 0x00000584
+_08045B8C: .4byte 0x000083FF
+_08045B90:
+ ldr r1, _08045BB4 @ =0x0000132C
+ adds r2, r3, r1
+ ldr r0, [r2]
+ ldrh r1, [r0, #0x32]
+ adds r1, #3
+ movs r3, #0
+ strh r1, [r0, #0x32]
+ lsls r0, r5, #0x10
+ mov sb, r0
+ cmp r0, #0
+ bne _08045BBC
+ ldr r2, [r2]
+ ldr r1, [r2, #0x34]
+ ldr r0, _08045BB8 @ =0x000077FF
+ cmp r1, r0
+ ble _08045BCA
+ b _08045BC8
+ .align 2, 0
+_08045BB4: .4byte 0x0000132C
+_08045BB8: .4byte 0x000077FF
+_08045BBC:
+ ldr r2, [r2]
+ ldr r1, [r2, #0x34]
+ movs r0, #0xf0
+ lsls r0, r0, #7
+ cmp r1, r0
+ bgt _08045BCA
+_08045BC8:
+ strh r3, [r2, #0x30]
+_08045BCA:
+ mov r2, r8
+ ldr r3, [r2]
+ ldr r7, _08045C34 @ =0x0000132C
+ adds r0, r3, r7
+ ldr r0, [r0]
+ ldr r1, [r0, #0x38]
+ ldr r0, _08045C38 @ =0x000083FF
+ cmp r1, r0
+ bgt _08045BDE
+ b _08045DE0
+_08045BDE:
+ ldr r4, [sp]
+ asrs r5, r4, #0x10
+ ldr r2, _08045C3C @ =0x00000533
+ adds r1, r3, r2
+ adds r1, r1, r5
+ ldrb r0, [r1]
+ adds r0, #1
+ movs r3, #0
+ mov sl, r3
+ strb r0, [r1]
+ mov r0, r8
+ ldr r4, [r0]
+ adds r2, r4, r2
+ adds r6, r2, r5
+ movs r0, #0
+ ldrsb r0, [r6, r0]
+ cmp r0, #1
+ bgt _08045C40
+ adds r4, r4, r7
+ ldr r1, [r4]
+ movs r0, #0x84
+ lsls r0, r0, #8
+ str r0, [r1, #0x38]
+ ldr r5, [r4]
+ movs r1, #0x32
+ ldrsh r0, [r5, r1]
+ rsbs r0, r0, #0
+ movs r1, #3
+ bl __divsi3
+ strh r0, [r5, #0x32]
+ ldr r0, [r4]
+ mov r2, sl
+ strh r2, [r0, #0x30]
+ movs r0, #0
+ ldrsb r0, [r6, r0]
+ cmp r0, #1
+ beq _08045C2C
+ b _08045DE0
+_08045C2C:
+ movs r0, #7
+ bl sub_11B0
+ b _08045DE0
+ .align 2, 0
+_08045C34: .4byte 0x0000132C
+_08045C38: .4byte 0x000083FF
+_08045C3C: .4byte 0x00000533
+_08045C40:
+ adds r1, r4, r7
+ ldr r0, [r1]
+ movs r3, #0
+ mov r2, sl
+ strh r2, [r0, #0x32]
+ b _08045DC0
+_08045C4C:
+ mov r5, r8
+ ldr r3, [r5]
+ ldr r0, [sp]
+ asrs r2, r0, #0x10
+ movs r1, #0xa6
+ lsls r1, r1, #3
+ adds r0, r3, r1
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #0x10
+ lsrs r5, r0, #0x10
+ cmp r2, #1
+ bgt _08045D20
+ lsls r0, r2, #2
+ adds r4, r3, r0
+ ldr r0, _08045C98 @ =0x0000057A
+ adds r1, r4, r0
+ ldrh r0, [r1]
+ adds r0, #0xc
+ movs r6, #0
+ strh r0, [r1]
+ cmp r5, #0
+ bne _08045CA0
+ lsls r1, r2, #3
+ movs r2, #0xb0
+ lsls r2, r2, #3
+ adds r0, r3, r2
+ adds r0, r0, r1
+ ldr r1, [r0]
+ ldr r0, _08045C9C @ =0x000077FF
+ cmp r1, r0
+ ble _08045CBC
+ movs r3, #0xaf
+ lsls r3, r3, #3
+ adds r0, r4, r3
+ b _08045CBA
+ .align 2, 0
+_08045C98: .4byte 0x0000057A
+_08045C9C: .4byte 0x000077FF
+_08045CA0:
+ lsls r1, r2, #3
+ movs r5, #0xb0
+ lsls r5, r5, #3
+ adds r0, r3, r5
+ adds r0, r0, r1
+ ldr r1, [r0]
+ movs r0, #0xf0
+ lsls r0, r0, #7
+ cmp r1, r0
+ bgt _08045CBC
+ movs r1, #0xaf
+ lsls r1, r1, #3
+ adds r0, r4, r1
+_08045CBA:
+ strh r6, [r0]
+_08045CBC:
+ mov r3, r8
+ ldr r2, [r3]
+ ldr r5, [sp]
+ asrs r4, r5, #0x10
+ lsls r1, r4, #3
+ ldr r3, _08045D08 @ =0x00000584
+ adds r0, r2, r3
+ adds r0, r0, r1
+ ldr r1, [r0]
+ ldr r0, _08045D0C @ =0x00008DFF
+_08045CD0:
+ cmp r1, r0
+ bgt _08045CD6
+ b _08045DE0
+_08045CD6:
+ ldr r5, _08045D10 @ =0x00000536
+ adds r0, r2, r5
+ adds r0, r0, r4
+ movs r3, #0
+ strb r3, [r0]
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r2, _08045D14 @ =0x00000553
+ adds r0, r0, r2
+ adds r0, r0, r4
+ movs r1, #0xe
+ strb r1, [r0]
+ mov r5, r8
+ ldr r1, [r5]
+ lsls r2, r4, #1
+ ldr r5, _08045D18 @ =0x00000562
+ adds r0, r1, r5
+ adds r0, r0, r2
+ movs r2, #0
+ strh r3, [r0]
+ ldr r0, _08045D1C @ =0x0000054B
+ adds r1, r1, r0
+ adds r1, r1, r4
+ strb r2, [r1]
+ b _08045DE0
+ .align 2, 0
+_08045D08: .4byte 0x00000584
+_08045D0C: .4byte 0x00008DFF
+_08045D10: .4byte 0x00000536
+_08045D14: .4byte 0x00000553
+_08045D18: .4byte 0x00000562
+_08045D1C: .4byte 0x0000054B
+_08045D20:
+ ldr r1, _08045D44 @ =0x0000132C
+ adds r2, r3, r1
+ ldr r0, [r2]
+ ldrh r1, [r0, #0x32]
+ adds r1, #3
+ movs r3, #0
+ strh r1, [r0, #0x32]
+ lsls r0, r5, #0x10
+ mov sb, r0
+ cmp r0, #0
+ bne _08045D4C
+ ldr r2, [r2]
+ ldr r1, [r2, #0x34]
+ ldr r0, _08045D48 @ =0x000077FF
+ cmp r1, r0
+ ble _08045D5A
+ b _08045D58
+ .align 2, 0
+_08045D44: .4byte 0x0000132C
+_08045D48: .4byte 0x000077FF
+_08045D4C:
+ ldr r2, [r2]
+ ldr r1, [r2, #0x34]
+ movs r0, #0xf0
+ lsls r0, r0, #7
+ cmp r1, r0
+ bgt _08045D5A
+_08045D58:
+ strh r3, [r2, #0x30]
+_08045D5A:
+ mov r4, r8
+ ldr r3, [r4]
+ ldr r6, _08045DAC @ =0x0000132C
+ adds r0, r3, r6
+ ldr r0, [r0]
+ ldr r1, [r0, #0x38]
+ ldr r0, _08045DB0 @ =0x00008DFF
+ cmp r1, r0
+ ble _08045DE0
+ ldr r2, [sp]
+ asrs r5, r2, #0x10
+ ldr r2, _08045DB4 @ =0x00000533
+ adds r1, r3, r2
+ adds r1, r1, r5
+ ldrb r0, [r1]
+ adds r0, #1
+ movs r7, #0
+ strb r0, [r1]
+ ldr r4, [r4]
+ adds r2, r4, r2
+ adds r2, r2, r5
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ cmp r0, #1
+ bgt _08045DB8
+ adds r4, r4, r6
+ ldr r1, [r4]
+ movs r0, #0x8e
+ lsls r0, r0, #8
+ str r0, [r1, #0x38]
+ ldr r5, [r4]
+ movs r3, #0x32
+ ldrsh r0, [r5, r3]
+ rsbs r0, r0, #0
+ movs r1, #3
+ bl __divsi3
+ strh r0, [r5, #0x32]
+ ldr r0, [r4]
+ strh r7, [r0, #0x30]
+ b _08045DE0
+ .align 2, 0
+_08045DAC: .4byte 0x0000132C
+_08045DB0: .4byte 0x00008DFF
+_08045DB4: .4byte 0x00000533
+_08045DB8:
+ adds r1, r4, r6
+ ldr r0, [r1]
+ movs r3, #0
+ strh r7, [r0, #0x32]
+_08045DC0:
+ ldr r2, [r1]
+ mov r1, sb
+ asrs r0, r1, #0x10
+ lsls r1, r0, #2
+ adds r1, r1, r0
+ lsls r1, r1, #1
+ movs r0, #5
+ subs r0, r0, r1
+ strh r0, [r2, #0x30]
+ strb r3, [r4, #0x1f]
+ mov r2, r8
+ ldr r0, [r2]
+ ldr r4, _08045E04 @ =0x00000536
+ adds r0, r0, r4
+ adds r0, r0, r5
+ strb r3, [r0]
+_08045DE0:
+ ldr r5, [sp]
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r5, r1
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #2
+ bgt _08045DF4
+ bl _080455DE
+_08045DF4:
+ add sp, #8
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08045E04: .4byte 0x00000536
+
+ thumb_func_start sub_45E08
+sub_45E08: @ 0x08045E08
+ push {r4, r5, r6, r7, lr}
+ ldr r4, _08045E70 @ =0x086AEED6
+ ldr r0, _08045E74 @ =gMain
+ ldr r0, [r0, #0x4c]
+ movs r1, #0x60
+ bl __umodsi3
+ movs r1, #0x18
+ bl __udivsi3
+ lsls r0, r0, #1
+ adds r0, r0, r4
+ movs r2, #0x80
+ lsls r2, r2, #0x11
+ ldr r1, _08045E78 @ =0x03006C00
+ mov ip, r1
+ ldr r7, _08045E7C @ =0xFFFFF000
+ add r7, ip
+ ldr r6, _08045E80 @ =0x0837A4E8
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ lsls r3, r0, #2
+ ldr r5, _08045E84 @ =0x000003FF
+ movs r4, #0x80
+ lsls r4, r4, #4
+_08045E3A:
+ asrs r2, r2, #0x10
+ adds r1, r2, r4
+ lsls r1, r1, #1
+ adds r1, r1, r7
+ lsls r0, r2, #1
+ adds r0, r0, r6
+ ldrh r0, [r0]
+ adds r0, r0, r3
+ strh r0, [r1]
+ adds r2, #1
+ lsls r2, r2, #0x10
+ asrs r0, r2, #0x10
+ cmp r0, r5
+ ble _08045E3A
+ ldr r1, _08045E88 @ =0x040000D4
+ mov r0, ip
+ str r0, [r1]
+ movs r0, #0xc0
+ lsls r0, r0, #0x13
+ str r0, [r1, #4]
+ ldr r0, _08045E8C @ =0x80000400
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08045E70: .4byte 0x086AEED6
+_08045E74: .4byte gMain
+_08045E78: .4byte 0x03006C00
+_08045E7C: .4byte 0xFFFFF000
+_08045E80: .4byte 0x0837A4E8
+_08045E84: .4byte 0x000003FF
+_08045E88: .4byte 0x040000D4
+_08045E8C: .4byte 0x80000400
+
+ thumb_func_start sub_45E90
+sub_45E90: @ 0x08045E90
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #0x30
+ ldr r0, _08045ED0 @ =gUnknown_020314E0
+ ldr r4, [r0]
+ movs r1, #0x13
+ ldrsb r1, [r4, r1]
+ cmp r1, #3
+ ble _08045EDC
+ movs r0, #0xe5
+ lsls r0, r0, #2
+ adds r2, r4, r0
+ ldrh r3, [r2]
+ movs r0, #0
+ ldrsh r1, [r2, r0]
+ movs r0, #0x7e
+ rsbs r0, r0, #0
+ cmp r1, r0
+ ble _08045F12
+ subs r0, r3, #6
+ strh r0, [r2]
+ ldr r1, _08045ED4 @ =gMain
+ rsbs r0, r0, #0
+ adds r0, #4
+ ldr r2, _08045ED8 @ =0x000002EE
+ adds r1, r1, r2
+ strh r0, [r1]
+ b _08045F12
+ .align 2, 0
+_08045ED0: .4byte gUnknown_020314E0
+_08045ED4: .4byte gMain
+_08045ED8: .4byte 0x000002EE
+_08045EDC:
+ movs r3, #0xe5
+ lsls r3, r3, #2
+ adds r1, r4, r3
+ ldrh r2, [r1]
+ movs r3, #0
+ ldrsh r0, [r1, r3]
+ cmp r0, #0
+ bge _08045EFA
+ adds r0, r2, #6
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ ble _08045EFA
+ movs r0, #0
+ strh r0, [r1]
+_08045EFA:
+ ldr r0, _08045F84 @ =gMain
+ ldr r2, _08045F88 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ movs r3, #0xe5
+ lsls r3, r3, #2
+ adds r1, r1, r3
+ ldrh r1, [r1]
+ rsbs r1, r1, #0
+ adds r1, #4
+ ldr r2, _08045F8C @ =0x000002EE
+ adds r0, r0, r2
+ strh r1, [r0]
+_08045F12:
+ ldr r3, _08045F88 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldrb r0, [r0, #0x13]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #4
+ bgt _08045F2E
+ ldr r1, _08045F84 @ =gMain
+ ldrh r0, [r1, #0x38]
+ ldr r0, _08045F90 @ =0x00001C42
+ strh r0, [r1, #0x38]
+ ldrh r0, [r1, #0x3a]
+ ldr r0, _08045F94 @ =0x00000C04
+ strh r0, [r1, #0x3a]
+_08045F2E:
+ ldr r0, _08045F88 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r0, #0x13
+ ldrsb r0, [r1, r0]
+ cmp r0, #3
+ bne _08045F3C
+ ldrh r0, [r1, #0x18]
+_08045F3C:
+ ldr r0, _08045F88 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r1, _08045F98 @ =0x0000053A
+ adds r3, r2, r1
+ ldrh r0, [r3]
+ subs r0, #0x65
+ lsls r0, r0, #0x10
+ movs r1, #0xae
+ lsls r1, r1, #0x11
+ cmp r0, r1
+ bhi _08045FAA
+ ldr r0, _08045F9C @ =0x0000052E
+ adds r4, r2, r0
+ ldr r1, _08045FA0 @ =0x0000052C
+ adds r0, r2, r1
+ ldrb r5, [r4]
+ movs r1, #0
+ ldrsb r1, [r4, r1]
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r1, r0
+ beq _08045FA4
+ ldrh r0, [r3]
+ movs r1, #3
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ bne _08045FAA
+ adds r0, r5, #1
+ strb r0, [r4]
+ movs r0, #0x91
+ bl m4aSongNumStart
+ b _08045FAA
+ .align 2, 0
+_08045F84: .4byte gMain
+_08045F88: .4byte gUnknown_020314E0
+_08045F8C: .4byte 0x000002EE
+_08045F90: .4byte 0x00001C42
+_08045F94: .4byte 0x00000C04
+_08045F98: .4byte 0x0000053A
+_08045F9C: .4byte 0x0000052E
+_08045FA0: .4byte 0x0000052C
+_08045FA4:
+ movs r0, #0xf5
+ lsls r0, r0, #1
+ strh r0, [r3]
+_08045FAA:
+ ldr r0, _08045FF8 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r0, _08045FFC @ =0x0000053A
+ adds r3, r2, r0
+ ldr r1, _08046000 @ =0xFFFFFE0B
+ adds r0, r1, #0
+ ldrh r1, [r3]
+ adds r0, r0, r1
+ lsls r0, r0, #0x10
+ movs r1, #0x95
+ lsls r1, r1, #0x11
+ cmp r0, r1
+ bhi _08046012
+ ldr r0, _08046004 @ =0x0000052F
+ adds r4, r2, r0
+ ldr r1, _08046008 @ =0x0000052D
+ adds r0, r2, r1
+ ldrb r5, [r4]
+ movs r1, #0
+ ldrsb r1, [r4, r1]
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r1, r0
+ beq _0804600C
+ ldrh r0, [r3]
+ movs r1, #3
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ bne _08046012
+ adds r0, r5, #1
+ strb r0, [r4]
+ movs r0, #0x91
+ bl m4aSongNumStart
+ b _08046012
+ .align 2, 0
+_08045FF8: .4byte gUnknown_020314E0
+_08045FFC: .4byte 0x0000053A
+_08046000: .4byte 0xFFFFFE0B
+_08046004: .4byte 0x0000052F
+_08046008: .4byte 0x0000052D
+_0804600C:
+ movs r0, #0xc8
+ lsls r0, r0, #2
+ strh r0, [r3]
+_08046012:
+ ldr r2, _080463D0 @ =gUnknown_020314E0
+ ldr r4, [r2]
+ ldr r3, _080463D4 @ =0x0000053A
+ adds r0, r4, r3
+ ldrh r1, [r0]
+ ldr r0, _080463D8 @ =0x0000031F
+ cmp r1, r0
+ bhi _0804602C
+ ldrh r0, [r4, #0x18]
+ cmp r0, #0xa0
+ bls _0804602C
+ movs r0, #0xa0
+ strh r0, [r4, #0x18]
+_0804602C:
+ ldr r1, _080463D0 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _080463D4 @ =0x0000053A
+ adds r0, r0, r2
+ ldrh r1, [r0]
+ adds r1, #1
+ strh r1, [r0]
+ ldr r6, _080463DC @ =0x0200B8C0
+ ldrh r0, [r6]
+ cmp r0, #0
+ bne _08046044
+ b _0804679A
+_08046044:
+ movs r0, #0x78
+ strh r0, [r6, #2]
+ ldr r3, _080463D0 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ movs r1, #0xe5
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ ldrh r0, [r0]
+ adds r0, #0x3c
+ strh r0, [r6, #4]
+ movs r1, #0
+ add r2, sp, #0x18
+ mov r8, r2
+ movs r3, #0xb8
+ adds r3, r3, r6
+ mov sb, r3
+ ldr r7, _080463E0 @ =gOamBuffer
+ ldr r0, _080463E4 @ =0xFFFFFE00
+ mov ip, r0
+_0804606A:
+ lsls r4, r1, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r2, #2
+ ldrsh r1, [r5, r2]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _080463E8 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r1, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0x15
+ ble _0804606A
+ ldr r3, _080463D0 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldr r1, _080463EC @ =0x0000052E
+ adds r0, r0, r1
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ ldr r0, _080463F0 @ =0x004C4B40
+ adds r7, r1, #0
+ muls r7, r0, r7
+ mov r5, sp
+ ldr r4, _080463F4 @ =0x00989680
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _080463F8 @ =0x000F4240
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #2]
+ mov r0, sp
+ movs r6, #0xa
+ strh r6, [r0, #4]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _080463FC @ =0x000186A0
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #6]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08046400 @ =0x00002710
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #8]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r4, #0xfa
+ lsls r4, r4, #2
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #0xa]
+ mov r0, sp
+ strh r6, [r0, #0xc]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r1, #0x64
+ bl __divsi3
+ strh r0, [r5, #0xe]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0x64
+ bl __modsi3
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r4, #0x10]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __modsi3
+ strh r0, [r4, #0x12]
+ movs r1, #0
+_0804615C:
+ lsls r0, r1, #0x10
+ asrs r4, r0, #0x10
+ lsls r0, r4, #1
+ mov r2, sp
+ adds r5, r2, r0
+ movs r3, #0
+ ldrsh r0, [r5, r3]
+ movs r1, #0xa
+ bl __modsi3
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ bne _08046186
+ movs r0, #0x14
+ strh r0, [r5]
+ adds r0, r4, #1
+ lsls r0, r0, #0x10
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #8
+ ble _0804615C
+_08046186:
+ mov r0, sp
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ lsls r0, r0, #1
+ movs r2, #0xb4
+ lsls r2, r2, #2
+ adds r5, r2, #0
+ adds r0, r0, r5
+ mov r3, r8
+ strh r0, [r3]
+ mov r0, sp
+ movs r1, #2
+ ldrsh r0, [r0, r1]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ strh r0, [r3, #2]
+ mov r0, sp
+ movs r2, #4
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ strh r0, [r3, #4]
+ mov r0, sp
+ movs r3, #6
+ ldrsh r0, [r0, r3]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ mov r1, r8
+ strh r0, [r1, #6]
+ mov r0, sp
+ movs r2, #8
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ strh r0, [r1, #8]
+ mov r0, sp
+ movs r3, #0xa
+ ldrsh r0, [r0, r3]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ strh r0, [r1, #0xa]
+ mov r0, sp
+ movs r1, #0xc
+ ldrsh r0, [r0, r1]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ mov r2, r8
+ strh r0, [r2, #0xc]
+ mov r0, sp
+ movs r3, #0xe
+ ldrsh r0, [r0, r3]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ strh r0, [r2, #0xe]
+ mov r0, sp
+ movs r1, #0x10
+ ldrsh r0, [r0, r1]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ strh r0, [r2, #0x10]
+ mov r0, sp
+ movs r2, #0x12
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ mov r3, r8
+ strh r0, [r3, #0x12]
+ ldr r1, _080463D0 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _080463EC @ =0x0000052E
+ adds r0, r0, r2
+ movs r7, #0
+ ldrsb r7, [r0, r7]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r4]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __modsi3
+ strh r0, [r4, #2]
+ mov r0, sp
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ cmp r0, #0
+ bne _08046240
+ mov r1, sp
+ movs r0, #0x14
+ strh r0, [r1]
+_08046240:
+ mov r0, sp
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ mov r2, r8
+ strh r0, [r2, #0x14]
+ mov r0, sp
+ movs r3, #2
+ ldrsh r0, [r0, r3]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ strh r0, [r2, #0x16]
+ mov r6, sb
+ movs r0, #0x78
+ strh r0, [r6, #2]
+ ldr r1, _080463D0 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ movs r2, #0xe5
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ adds r0, #0x3c
+ strh r0, [r6, #4]
+ movs r1, #0
+ ldr r7, _080463E0 @ =gOamBuffer
+ ldr r3, _08046404 @ =0x000003FF
+ mov sl, r3
+ mov ip, r8
+ ldr r0, _08046408 @ =0xFFFFFC00
+ mov sb, r0
+_0804627E:
+ lsls r4, r1, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r2, #2
+ ldrsh r1, [r5, r2]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _080463E8 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ ldr r0, _080463E4 @ =0xFFFFFE00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r3, [r5, #4]
+ adds r0, r0, r3
+ strb r0, [r1]
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ lsls r0, r4, #1
+ add r0, ip
+ ldrh r0, [r0]
+ mov r1, sl
+ ands r1, r0
+ ldrh r2, [r3, #4]
+ mov r0, sb
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #4]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r1, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0xb
+ ble _0804627E
+ ldr r1, _080463D0 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _0804640C @ =0x0000052F
+ adds r0, r0, r2
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ lsls r1, r2, #5
+ subs r1, r1, r2
+ lsls r0, r1, #6
+ subs r0, r0, r1
+ lsls r0, r0, #3
+ adds r0, r0, r2
+ lsls r7, r0, #6
+ mov r5, sp
+ ldr r4, _080463F4 @ =0x00989680
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _080463F8 @ =0x000F4240
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #2]
+ mov r0, sp
+ movs r6, #0xa
+ strh r6, [r0, #4]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _080463FC @ =0x000186A0
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #6]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08046400 @ =0x00002710
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #8]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r4, #0xfa
+ lsls r4, r4, #2
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #0xa]
+ mov r0, sp
+ strh r6, [r0, #0xc]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r1, #0x64
+ bl __divsi3
+ strh r0, [r5, #0xe]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0x64
+ bl __modsi3
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r4, #0x10]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __modsi3
+ strh r0, [r4, #0x12]
+ movs r1, #0
+_08046392:
+ lsls r0, r1, #0x10
+ asrs r4, r0, #0x10
+ lsls r0, r4, #1
+ mov r3, sp
+ adds r5, r3, r0
+ movs r1, #0
+ ldrsh r0, [r5, r1]
+ movs r1, #0xa
+ bl __modsi3
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ bne _080463BC
+ movs r0, #0x14
+ strh r0, [r5]
+ adds r0, r4, #1
+ lsls r0, r0, #0x10
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #8
+ ble _08046392
+_080463BC:
+ mov r0, sp
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #1
+ movs r3, #0xb4
+ lsls r3, r3, #2
+ adds r5, r3, #0
+ adds r0, r0, r5
+ b _08046410
+ .align 2, 0
+_080463D0: .4byte gUnknown_020314E0
+_080463D4: .4byte 0x0000053A
+_080463D8: .4byte 0x0000031F
+_080463DC: .4byte 0x0200B8C0
+_080463E0: .4byte gOamBuffer
+_080463E4: .4byte 0xFFFFFE00
+_080463E8: .4byte 0x000001FF
+_080463EC: .4byte 0x0000052E
+_080463F0: .4byte 0x004C4B40
+_080463F4: .4byte 0x00989680
+_080463F8: .4byte 0x000F4240
+_080463FC: .4byte 0x000186A0
+_08046400: .4byte 0x00002710
+_08046404: .4byte 0x000003FF
+_08046408: .4byte 0xFFFFFC00
+_0804640C: .4byte 0x0000052F
+_08046410:
+ mov r1, r8
+ strh r0, [r1]
+ mov r0, sp
+ movs r2, #2
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ strh r0, [r1, #2]
+ mov r0, sp
+ movs r3, #4
+ ldrsh r0, [r0, r3]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ strh r0, [r1, #4]
+ mov r0, sp
+ movs r1, #6
+ ldrsh r0, [r0, r1]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ mov r2, r8
+ strh r0, [r2, #6]
+ mov r0, sp
+ movs r3, #8
+ ldrsh r0, [r0, r3]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ strh r0, [r2, #8]
+ mov r0, sp
+ movs r1, #0xa
+ ldrsh r0, [r0, r1]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ strh r0, [r2, #0xa]
+ mov r0, sp
+ movs r2, #0xc
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ mov r3, r8
+ strh r0, [r3, #0xc]
+ mov r0, sp
+ movs r1, #0xe
+ ldrsh r0, [r0, r1]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ strh r0, [r3, #0xe]
+ mov r0, sp
+ movs r2, #0x10
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ strh r0, [r3, #0x10]
+ mov r0, sp
+ movs r3, #0x12
+ ldrsh r0, [r0, r3]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ mov r1, r8
+ strh r0, [r1, #0x12]
+ ldr r2, _080467AC @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r3, _080467B0 @ =0x0000052F
+ adds r0, r0, r3
+ movs r7, #0
+ ldrsb r7, [r0, r7]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r4]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __modsi3
+ strh r0, [r4, #2]
+ mov r0, sp
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0
+ bne _080464BA
+ mov r1, sp
+ movs r0, #0x14
+ strh r0, [r1]
+_080464BA:
+ mov r0, sp
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ mov r3, r8
+ strh r0, [r3, #0x14]
+ mov r0, sp
+ movs r1, #2
+ ldrsh r0, [r0, r1]
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ strh r0, [r3, #0x16]
+ ldr r6, _080467B4 @ =0x0200BA30
+ movs r0, #0x78
+ strh r0, [r6, #2]
+ ldr r2, _080467AC @ =gUnknown_020314E0
+ ldr r0, [r2]
+ movs r3, #0xe5
+ lsls r3, r3, #2
+ adds r0, r0, r3
+ ldrh r0, [r0]
+ adds r0, #0x3c
+ strh r0, [r6, #4]
+ movs r1, #0
+ ldr r7, _080467B8 @ =gOamBuffer
+ ldr r0, _080467BC @ =0x000003FF
+ mov sl, r0
+ mov ip, r8
+ ldr r2, _080467C0 @ =0xFFFFFC00
+ mov sb, r2
+_080464F8:
+ lsls r4, r1, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _080467C4 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ ldr r0, _080467C8 @ =0xFFFFFE00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r3, [r5, #4]
+ adds r0, r0, r3
+ strb r0, [r1]
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ lsls r0, r4, #1
+ add r0, ip
+ ldrh r0, [r0]
+ mov r1, sl
+ ands r1, r0
+ ldrh r2, [r3, #4]
+ mov r0, sb
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #4]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r1, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0xb
+ ble _080464F8
+ ldr r0, _080467AC @ =gUnknown_020314E0
+ ldr r3, [r0]
+ ldr r1, _080467CC @ =0x0000052E
+ adds r0, r3, r1
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ ldr r0, _080467D0 @ =0x004C4B40
+ adds r4, r1, #0
+ muls r4, r0, r4
+ ldr r2, _080467B0 @ =0x0000052F
+ adds r0, r3, r2
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ lsls r1, r2, #5
+ subs r1, r1, r2
+ lsls r0, r1, #6
+ subs r0, r0, r1
+ lsls r0, r0, #3
+ adds r0, r0, r2
+ lsls r0, r0, #6
+ adds r7, r4, r0
+ ldr r0, _080467D4 @ =0x00000544
+ adds r3, r3, r0
+ str r7, [r3]
+ mov r5, sp
+ ldr r4, _080467D8 @ =0x05F5E100
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _080467DC @ =0x00989680
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #2]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _080467E0 @ =0x000F4240
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #4]
+ mov r0, sp
+ movs r6, #0xa
+ strh r6, [r0, #6]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _080467E4 @ =0x000186A0
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #8]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _080467E8 @ =0x00002710
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #0xa]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r4, #0xfa
+ lsls r4, r4, #2
+ adds r1, r4, #0
+ bl __divsi3
+ strh r0, [r5, #0xc]
+ mov r0, sp
+ strh r6, [r0, #0xe]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r1, #0x64
+ bl __divsi3
+ strh r0, [r5, #0x10]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0x64
+ bl __modsi3
+ movs r1, #0xa
+ bl __divsi3
+ strh r0, [r4, #0x12]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __modsi3
+ strh r0, [r4, #0x14]
+ movs r1, #0
+_08046636:
+ lsls r0, r1, #0x10
+ asrs r4, r0, #0x10
+ lsls r0, r4, #1
+ mov r1, sp
+ adds r5, r1, r0
+ movs r2, #0
+ ldrsh r0, [r5, r2]
+ movs r1, #0xa
+ bl __modsi3
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ bne _08046660
+ movs r0, #0x14
+ strh r0, [r5]
+ adds r0, r4, #1
+ lsls r0, r0, #0x10
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #9
+ ble _08046636
+_08046660:
+ mov r0, sp
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ lsls r0, r0, #1
+ movs r2, #0xb4
+ lsls r2, r2, #2
+ adds r1, r2, #0
+ adds r0, r0, r1
+ mov r3, r8
+ strh r0, [r3]
+ mov r0, sp
+ movs r2, #2
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #1
+ adds r0, r0, r1
+ strh r0, [r3, #2]
+ mov r0, sp
+ movs r3, #4
+ ldrsh r0, [r0, r3]
+ lsls r0, r0, #1
+ adds r0, r0, r1
+ mov r2, r8
+ strh r0, [r2, #4]
+ mov r0, sp
+ movs r3, #6
+ ldrsh r0, [r0, r3]
+ lsls r0, r0, #1
+ adds r0, r0, r1
+ strh r0, [r2, #6]
+ mov r0, sp
+ movs r2, #8
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #1
+ adds r0, r0, r1
+ mov r3, r8
+ strh r0, [r3, #8]
+ mov r0, sp
+ movs r2, #0xa
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #1
+ adds r0, r0, r1
+ strh r0, [r3, #0xa]
+ mov r0, sp
+ movs r3, #0xc
+ ldrsh r0, [r0, r3]
+ lsls r0, r0, #1
+ adds r0, r0, r1
+ mov r2, r8
+ strh r0, [r2, #0xc]
+ mov r0, sp
+ movs r3, #0xe
+ ldrsh r0, [r0, r3]
+ lsls r0, r0, #1
+ adds r0, r0, r1
+ strh r0, [r2, #0xe]
+ mov r0, sp
+ movs r2, #0x10
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #1
+ adds r0, r0, r1
+ mov r3, r8
+ strh r0, [r3, #0x10]
+ mov r0, sp
+ movs r2, #0x12
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #1
+ adds r0, r0, r1
+ strh r0, [r3, #0x12]
+ mov r0, sp
+ movs r3, #0x14
+ ldrsh r0, [r0, r3]
+ lsls r0, r0, #1
+ adds r0, r0, r1
+ mov r2, r8
+ strh r0, [r2, #0x14]
+ ldr r3, _080467AC @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldr r2, _080467EC @ =0x000005F6
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r7, r0, #1
+ mov r0, sp
+ strh r7, [r0]
+ movs r3, #0
+ ldrsh r0, [r0, r3]
+ lsls r0, r0, #1
+ adds r0, r0, r1
+ mov r1, r8
+ strh r0, [r1, #0x16]
+ ldr r6, _080467F0 @ =0x0200BAE8
+ movs r0, #0x78
+ strh r0, [r6, #2]
+ ldr r2, _080467AC @ =gUnknown_020314E0
+ ldr r0, [r2]
+ movs r3, #0xe5
+ lsls r3, r3, #2
+ adds r0, r0, r3
+ ldrh r0, [r0]
+ adds r0, #0x3c
+ strh r0, [r6, #4]
+ movs r1, #0
+ ldr r7, _080467B8 @ =gOamBuffer
+ ldr r0, _080467C8 @ =0xFFFFFE00
+ mov ip, r0
+ ldr r2, _080467BC @ =0x000003FF
+ mov sl, r2
+ ldr r3, _080467C0 @ =0xFFFFFC00
+ mov sb, r3
+_0804673C:
+ lsls r4, r1, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _080467C4 @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r3, [r5, #4]
+ adds r0, r0, r3
+ strb r0, [r1]
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ lsls r0, r4, #1
+ add r0, r8
+ ldrh r0, [r0]
+ mov r1, sl
+ ands r1, r0
+ ldrh r2, [r3, #4]
+ mov r0, sb
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #4]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r1, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0xb
+ ble _0804673C
+_0804679A:
+ add sp, #0x30
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080467AC: .4byte gUnknown_020314E0
+_080467B0: .4byte 0x0000052F
+_080467B4: .4byte 0x0200BA30
+_080467B8: .4byte gOamBuffer
+_080467BC: .4byte 0x000003FF
+_080467C0: .4byte 0xFFFFFC00
+_080467C4: .4byte 0x000001FF
+_080467C8: .4byte 0xFFFFFE00
+_080467CC: .4byte 0x0000052E
+_080467D0: .4byte 0x004C4B40
+_080467D4: .4byte 0x00000544
+_080467D8: .4byte 0x05F5E100
+_080467DC: .4byte 0x00989680
+_080467E0: .4byte 0x000F4240
+_080467E4: .4byte 0x000186A0
+_080467E8: .4byte 0x00002710
+_080467EC: .4byte 0x000005F6
+_080467F0: .4byte 0x0200BAE8
+
+ thumb_func_start sub_467F4
+sub_467F4: @ 0x080467F4
+ push {r4, r5, r6, lr}
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6}
+ ldr r0, _08046824 @ =gUnknown_02031520
+ ldr r3, _08046828 @ =0x086AFD70
+ ldr r4, _0804682C @ =gMain
+ ldrb r2, [r4, #4]
+ movs r1, #0x54
+ muls r1, r2, r1
+ adds r1, r1, r3
+ adds r0, #0x14
+ movs r2, #0x54
+ bl memcpy
+ ldrb r0, [r4, #4]
+ cmp r0, #7
+ bls _0804681A
+ b _08046F66
+_0804681A:
+ lsls r0, r0, #2
+ ldr r1, _08046830 @ =_08046834
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08046824: .4byte gUnknown_02031520
+_08046828: .4byte 0x086AFD70
+_0804682C: .4byte gMain
+_08046830: .4byte _08046834
+_08046834: @ jump table
+ .4byte _08046854 @ case 0
+ .4byte _0804698C @ case 1
+ .4byte _08046AC0 @ case 2
+ .4byte _08046B9C @ case 3
+ .4byte _08046C78 @ case 4
+ .4byte _08046D40 @ case 5
+ .4byte _08046E08 @ case 6
+ .4byte _08046EE8 @ case 7
+_08046854:
+ ldr r4, _08046914 @ =0x040000D4
+ ldr r0, _08046918 @ =0x081BFEE4
+ str r0, [r4]
+ movs r0, #0xa0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ ldr r0, _0804691C @ =0x80000100
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046920 @ =0x08265C10
+ str r0, [r4]
+ ldr r0, _08046924 @ =0x06008000
+ mov r8, r0
+ str r0, [r4, #4]
+ ldr r1, _08046928 @ =0x80004000
+ mov sb, r1
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _0804692C @ =0x0826DC10
+ str r0, [r4]
+ ldr r0, _08046930 @ =0x06003000
+ str r0, [r4, #4]
+ ldr r6, _08046934 @ =0x80000800
+ str r6, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046938 @ =0x0824C1E4
+ ldr r5, _0804693C @ =0x0200FBB0
+ adds r1, r5, #0
+ bl LZ77UnCompWram
+ str r5, [r4]
+ ldr r0, _08046940 @ =0x06004000
+ str r0, [r4, #4]
+ ldr r0, _08046944 @ =0x80002000
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046948 @ =0x0824DD60
+ adds r1, r5, #0
+ bl LZ77UnCompWram
+ ldr r0, _0804694C @ =0x08250934
+ ldr r1, _08046950 @ =0x020030A0
+ bl LZ77UnCompWram
+ movs r1, #0xc0
+ lsls r1, r1, #4
+ adds r0, r5, r1
+ str r0, [r4]
+ ldr r0, _08046954 @ =0x0600B400
+ str r0, [r4, #4]
+ ldr r0, _08046958 @ =0x80001200
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ movs r0, #0xc0
+ lsls r0, r0, #6
+ adds r5, r5, r0
+ str r5, [r4]
+ mov r1, r8
+ str r1, [r4, #4]
+ ldr r0, _0804695C @ =0x80001A00
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046960 @ =0x081C08E4
+ str r0, [r4]
+ movs r0, #0xc0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ str r6, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046964 @ =0x0822E424
+ str r0, [r4]
+ ldr r0, _08046968 @ =0x06001000
+ str r0, [r4, #4]
+ str r6, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _0804696C @ =0x083A8ACC
+ str r0, [r4]
+ ldr r0, _08046970 @ =0x06006800
+ str r0, [r4, #4]
+ ldr r0, _08046974 @ =0x80000200
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046978 @ =0x083A826C
+ str r0, [r4]
+ ldr r0, _0804697C @ =0x06006C00
+ str r0, [r4, #4]
+ ldr r0, _08046980 @ =0x80000400
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046984 @ =0x0845A48C
+ str r0, [r4]
+ ldr r0, _08046988 @ =0x06010000
+ str r0, [r4, #4]
+ mov r0, sb
+ str r0, [r4, #8]
+ b _08046F64
+ .align 2, 0
+_08046914: .4byte 0x040000D4
+_08046918: .4byte 0x081BFEE4
+_0804691C: .4byte 0x80000100
+_08046920: .4byte 0x08265C10
+_08046924: .4byte 0x06008000
+_08046928: .4byte 0x80004000
+_0804692C: .4byte 0x0826DC10
+_08046930: .4byte 0x06003000
+_08046934: .4byte 0x80000800
+_08046938: .4byte 0x0824C1E4
+_0804693C: .4byte 0x0200FBB0
+_08046940: .4byte 0x06004000
+_08046944: .4byte 0x80002000
+_08046948: .4byte 0x0824DD60
+_0804694C: .4byte 0x08250934
+_08046950: .4byte 0x020030A0
+_08046954: .4byte 0x0600B400
+_08046958: .4byte 0x80001200
+_0804695C: .4byte 0x80001A00
+_08046960: .4byte 0x081C08E4
+_08046964: .4byte 0x0822E424
+_08046968: .4byte 0x06001000
+_0804696C: .4byte 0x083A8ACC
+_08046970: .4byte 0x06006800
+_08046974: .4byte 0x80000200
+_08046978: .4byte 0x083A826C
+_0804697C: .4byte 0x06006C00
+_08046980: .4byte 0x80000400
+_08046984: .4byte 0x0845A48C
+_08046988: .4byte 0x06010000
+_0804698C:
+ ldr r4, _08046A48 @ =0x040000D4
+ ldr r0, _08046A4C @ =0x0826EC10
+ str r0, [r4]
+ movs r0, #0xa0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ ldr r0, _08046A50 @ =0x80000100
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046A54 @ =0x082E4EE0
+ str r0, [r4]
+ ldr r1, _08046A58 @ =0x06008000
+ mov r8, r1
+ str r1, [r4, #4]
+ ldr r0, _08046A5C @ =0x80004000
+ mov sb, r0
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046A60 @ =0x082ECEE0
+ str r0, [r4]
+ ldr r0, _08046A64 @ =0x06003000
+ str r0, [r4, #4]
+ ldr r6, _08046A68 @ =0x80000800
+ str r6, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046A6C @ =0x082D34D0
+ ldr r5, _08046A70 @ =0x0200FBB0
+ adds r1, r5, #0
+ bl LZ77UnCompWram
+ str r5, [r4]
+ ldr r0, _08046A74 @ =0x06004000
+ str r0, [r4, #4]
+ ldr r0, _08046A78 @ =0x80002000
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046A7C @ =0x082D523C
+ adds r1, r5, #0
+ bl LZ77UnCompWram
+ ldr r0, _08046A80 @ =0x082D8998
+ ldr r1, _08046A84 @ =0x020030A0
+ bl LZ77UnCompWram
+ str r5, [r4]
+ ldr r0, _08046A88 @ =0x0600A800
+ str r0, [r4, #4]
+ ldr r0, _08046A8C @ =0x80001800
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ movs r1, #0xc0
+ lsls r1, r1, #6
+ adds r5, r5, r1
+ str r5, [r4]
+ mov r0, r8
+ str r0, [r4, #4]
+ ldr r0, _08046A90 @ =0x80001400
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046A94 @ =0x0826EE10
+ str r0, [r4]
+ movs r0, #0xc0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ str r6, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046A98 @ =0x082AE6D0
+ str r0, [r4]
+ ldr r0, _08046A9C @ =0x06001000
+ str r0, [r4, #4]
+ str r6, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046AA0 @ =0x083A8ACC
+ str r0, [r4]
+ ldr r0, _08046AA4 @ =0x06006800
+ str r0, [r4, #4]
+ ldr r0, _08046AA8 @ =0x80000200
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046AAC @ =0x083A826C
+ str r0, [r4]
+ ldr r0, _08046AB0 @ =0x06006C00
+ str r0, [r4, #4]
+ ldr r0, _08046AB4 @ =0x80000400
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046AB8 @ =0x0845F9EC
+ str r0, [r4]
+ ldr r0, _08046ABC @ =0x06010000
+ str r0, [r4, #4]
+ mov r1, sb
+ str r1, [r4, #8]
+ b _08046F64
+ .align 2, 0
+_08046A48: .4byte 0x040000D4
+_08046A4C: .4byte 0x0826EC10
+_08046A50: .4byte 0x80000100
+_08046A54: .4byte 0x082E4EE0
+_08046A58: .4byte 0x06008000
+_08046A5C: .4byte 0x80004000
+_08046A60: .4byte 0x082ECEE0
+_08046A64: .4byte 0x06003000
+_08046A68: .4byte 0x80000800
+_08046A6C: .4byte 0x082D34D0
+_08046A70: .4byte 0x0200FBB0
+_08046A74: .4byte 0x06004000
+_08046A78: .4byte 0x80002000
+_08046A7C: .4byte 0x082D523C
+_08046A80: .4byte 0x082D8998
+_08046A84: .4byte 0x020030A0
+_08046A88: .4byte 0x0600A800
+_08046A8C: .4byte 0x80001800
+_08046A90: .4byte 0x80001400
+_08046A94: .4byte 0x0826EE10
+_08046A98: .4byte 0x082AE6D0
+_08046A9C: .4byte 0x06001000
+_08046AA0: .4byte 0x083A8ACC
+_08046AA4: .4byte 0x06006800
+_08046AA8: .4byte 0x80000200
+_08046AAC: .4byte 0x083A826C
+_08046AB0: .4byte 0x06006C00
+_08046AB4: .4byte 0x80000400
+_08046AB8: .4byte 0x0845F9EC
+_08046ABC: .4byte 0x06010000
+_08046AC0:
+ ldr r4, _08046B44 @ =0x040000D4
+ ldr r0, _08046B48 @ =0x082EDEE0
+ str r0, [r4]
+ movs r0, #0xa0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ ldr r0, _08046B4C @ =0x80000100
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046B50 @ =0x08302700
+ ldr r5, _08046B54 @ =0x0200FBB0
+ adds r1, r5, #0
+ bl LZ77UnCompWram
+ str r5, [r4]
+ ldr r0, _08046B58 @ =0x06004000
+ str r0, [r4, #4]
+ ldr r0, _08046B5C @ =0x80002000
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046B60 @ =0x08303928
+ adds r1, r5, #0
+ bl LZ77UnCompWram
+ str r5, [r4]
+ ldr r0, _08046B64 @ =0x06008000
+ str r0, [r4, #4]
+ ldr r2, _08046B68 @ =0x80004000
+ str r2, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046B6C @ =0x082EE4C0
+ str r0, [r4]
+ movs r0, #0xc0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ ldr r1, _08046B70 @ =0x80000400
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046B74 @ =0x08301700
+ str r0, [r4]
+ ldr r0, _08046B78 @ =0x06000800
+ str r0, [r4, #4]
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046B7C @ =0x08301F00
+ str r0, [r4]
+ ldr r0, _08046B80 @ =0x06001000
+ str r0, [r4, #4]
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046B84 @ =0x083A8ACC
+ str r0, [r4]
+ ldr r0, _08046B88 @ =0x06006800
+ str r0, [r4, #4]
+ ldr r0, _08046B8C @ =0x80000200
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046B90 @ =0x083A826C
+ str r0, [r4]
+ ldr r0, _08046B94 @ =0x06006C00
+ str r0, [r4, #4]
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046B98 @ =0x08464F4C
+ b _08046F5C
+ .align 2, 0
+_08046B44: .4byte 0x040000D4
+_08046B48: .4byte 0x082EDEE0
+_08046B4C: .4byte 0x80000100
+_08046B50: .4byte 0x08302700
+_08046B54: .4byte 0x0200FBB0
+_08046B58: .4byte 0x06004000
+_08046B5C: .4byte 0x80002000
+_08046B60: .4byte 0x08303928
+_08046B64: .4byte 0x06008000
+_08046B68: .4byte 0x80004000
+_08046B6C: .4byte 0x082EE4C0
+_08046B70: .4byte 0x80000400
+_08046B74: .4byte 0x08301700
+_08046B78: .4byte 0x06000800
+_08046B7C: .4byte 0x08301F00
+_08046B80: .4byte 0x06001000
+_08046B84: .4byte 0x083A8ACC
+_08046B88: .4byte 0x06006800
+_08046B8C: .4byte 0x80000200
+_08046B90: .4byte 0x083A826C
+_08046B94: .4byte 0x06006C00
+_08046B98: .4byte 0x08464F4C
+_08046B9C:
+ ldr r4, _08046C20 @ =0x040000D4
+ ldr r0, _08046C24 @ =0x0830CBD4
+ str r0, [r4]
+ movs r0, #0xa0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ ldr r0, _08046C28 @ =0x80000100
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046C2C @ =0x08302700
+ ldr r5, _08046C30 @ =0x0200FBB0
+ adds r1, r5, #0
+ bl LZ77UnCompWram
+ str r5, [r4]
+ ldr r0, _08046C34 @ =0x06004000
+ str r0, [r4, #4]
+ ldr r0, _08046C38 @ =0x80002000
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046C3C @ =0x0832A194
+ adds r1, r5, #0
+ bl LZ77UnCompWram
+ str r5, [r4]
+ ldr r0, _08046C40 @ =0x06008000
+ str r0, [r4, #4]
+ ldr r2, _08046C44 @ =0x80004000
+ str r2, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046C48 @ =0x08329994
+ str r0, [r4]
+ movs r0, #0xc0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ ldr r1, _08046C4C @ =0x80000400
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046C50 @ =0x0830CDD4
+ str r0, [r4]
+ ldr r0, _08046C54 @ =0x06000800
+ str r0, [r4, #4]
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046C58 @ =0x08327994
+ str r0, [r4]
+ ldr r0, _08046C5C @ =0x06001000
+ str r0, [r4, #4]
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046C60 @ =0x083A8ACC
+ str r0, [r4]
+ ldr r0, _08046C64 @ =0x06006800
+ str r0, [r4, #4]
+ ldr r0, _08046C68 @ =0x80000200
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046C6C @ =0x083A826C
+ str r0, [r4]
+ ldr r0, _08046C70 @ =0x06006C00
+ str r0, [r4, #4]
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046C74 @ =0x084675EC
+ b _08046F5C
+ .align 2, 0
+_08046C20: .4byte 0x040000D4
+_08046C24: .4byte 0x0830CBD4
+_08046C28: .4byte 0x80000100
+_08046C2C: .4byte 0x08302700
+_08046C30: .4byte 0x0200FBB0
+_08046C34: .4byte 0x06004000
+_08046C38: .4byte 0x80002000
+_08046C3C: .4byte 0x0832A194
+_08046C40: .4byte 0x06008000
+_08046C44: .4byte 0x80004000
+_08046C48: .4byte 0x08329994
+_08046C4C: .4byte 0x80000400
+_08046C50: .4byte 0x0830CDD4
+_08046C54: .4byte 0x06000800
+_08046C58: .4byte 0x08327994
+_08046C5C: .4byte 0x06001000
+_08046C60: .4byte 0x083A8ACC
+_08046C64: .4byte 0x06006800
+_08046C68: .4byte 0x80000200
+_08046C6C: .4byte 0x083A826C
+_08046C70: .4byte 0x06006C00
+_08046C74: .4byte 0x084675EC
+_08046C78:
+ ldr r4, _08046CF0 @ =0x040000D4
+ ldr r0, _08046CF4 @ =0x08332E04
+ str r0, [r4]
+ movs r0, #0xa0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ ldr r0, _08046CF8 @ =0x80000100
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046CFC @ =0x08302700
+ ldr r5, _08046D00 @ =0x0200FBB0
+ adds r1, r5, #0
+ bl LZ77UnCompWram
+ str r5, [r4]
+ ldr r0, _08046D04 @ =0x06004000
+ str r0, [r4, #4]
+ ldr r0, _08046D08 @ =0x80002000
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046D0C @ =0x0833E044
+ adds r1, r5, #0
+ bl LZ77UnCompWram
+ str r5, [r4]
+ ldr r0, _08046D10 @ =0x06008000
+ str r0, [r4, #4]
+ ldr r2, _08046D14 @ =0x80004000
+ str r2, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046D18 @ =0x08333004
+ str r0, [r4]
+ movs r0, #0xc0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ ldr r1, _08046D1C @ =0x80000400
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046D20 @ =0x0833D844
+ str r0, [r4]
+ ldr r0, _08046D24 @ =0x06000800
+ str r0, [r4, #4]
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046D28 @ =0x083A8ACC
+ str r0, [r4]
+ ldr r0, _08046D2C @ =0x06006800
+ str r0, [r4, #4]
+ ldr r0, _08046D30 @ =0x80000200
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046D34 @ =0x083A826C
+ str r0, [r4]
+ ldr r0, _08046D38 @ =0x06006C00
+ str r0, [r4, #4]
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046D3C @ =0x0846A40C
+ b _08046F5C
+ .align 2, 0
+_08046CF0: .4byte 0x040000D4
+_08046CF4: .4byte 0x08332E04
+_08046CF8: .4byte 0x80000100
+_08046CFC: .4byte 0x08302700
+_08046D00: .4byte 0x0200FBB0
+_08046D04: .4byte 0x06004000
+_08046D08: .4byte 0x80002000
+_08046D0C: .4byte 0x0833E044
+_08046D10: .4byte 0x06008000
+_08046D14: .4byte 0x80004000
+_08046D18: .4byte 0x08333004
+_08046D1C: .4byte 0x80000400
+_08046D20: .4byte 0x0833D844
+_08046D24: .4byte 0x06000800
+_08046D28: .4byte 0x083A8ACC
+_08046D2C: .4byte 0x06006800
+_08046D30: .4byte 0x80000200
+_08046D34: .4byte 0x083A826C
+_08046D38: .4byte 0x06006C00
+_08046D3C: .4byte 0x0846A40C
+_08046D40:
+ ldr r4, _08046DB8 @ =0x040000D4
+ ldr r0, _08046DBC @ =0x08352BD8
+ str r0, [r4]
+ movs r0, #0xa0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ ldr r0, _08046DC0 @ =0x80000100
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046DC4 @ =0x08302700
+ ldr r5, _08046DC8 @ =0x0200FBB0
+ adds r1, r5, #0
+ bl LZ77UnCompWram
+ str r5, [r4]
+ ldr r0, _08046DCC @ =0x06004000
+ str r0, [r4, #4]
+ ldr r0, _08046DD0 @ =0x80002000
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046DD4 @ =0x08353DD8
+ adds r1, r5, #0
+ bl LZ77UnCompWram
+ str r5, [r4]
+ ldr r0, _08046DD8 @ =0x06008000
+ str r0, [r4, #4]
+ ldr r2, _08046DDC @ =0x80004000
+ str r2, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046DE0 @ =0x08352DD8
+ str r0, [r4]
+ movs r0, #0xc0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ ldr r1, _08046DE4 @ =0x80000400
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046DE8 @ =0x083535D8
+ str r0, [r4]
+ ldr r0, _08046DEC @ =0x06000800
+ str r0, [r4, #4]
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046DF0 @ =0x083A8ACC
+ str r0, [r4]
+ ldr r0, _08046DF4 @ =0x06006800
+ str r0, [r4, #4]
+ ldr r0, _08046DF8 @ =0x80000200
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046DFC @ =0x083A826C
+ str r0, [r4]
+ ldr r0, _08046E00 @ =0x06006C00
+ str r0, [r4, #4]
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046E04 @ =0x0846D2AC
+ b _08046F5C
+ .align 2, 0
+_08046DB8: .4byte 0x040000D4
+_08046DBC: .4byte 0x08352BD8
+_08046DC0: .4byte 0x80000100
+_08046DC4: .4byte 0x08302700
+_08046DC8: .4byte 0x0200FBB0
+_08046DCC: .4byte 0x06004000
+_08046DD0: .4byte 0x80002000
+_08046DD4: .4byte 0x08353DD8
+_08046DD8: .4byte 0x06008000
+_08046DDC: .4byte 0x80004000
+_08046DE0: .4byte 0x08352DD8
+_08046DE4: .4byte 0x80000400
+_08046DE8: .4byte 0x083535D8
+_08046DEC: .4byte 0x06000800
+_08046DF0: .4byte 0x083A8ACC
+_08046DF4: .4byte 0x06006800
+_08046DF8: .4byte 0x80000200
+_08046DFC: .4byte 0x083A826C
+_08046E00: .4byte 0x06006C00
+_08046E04: .4byte 0x0846D2AC
+_08046E08:
+ ldr r4, _08046E8C @ =0x040000D4
+ ldr r0, _08046E90 @ =0x08363EC8
+ str r0, [r4]
+ movs r0, #0xa0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ ldr r0, _08046E94 @ =0x80000100
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046E98 @ =0x08302700
+ ldr r5, _08046E9C @ =0x0200FBB0
+ adds r1, r5, #0
+ bl LZ77UnCompWram
+ str r5, [r4]
+ ldr r0, _08046EA0 @ =0x06004000
+ str r0, [r4, #4]
+ ldr r0, _08046EA4 @ =0x80002000
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046EA8 @ =0x08370808
+ adds r1, r5, #0
+ bl LZ77UnCompWram
+ str r5, [r4]
+ ldr r0, _08046EAC @ =0x06008000
+ str r0, [r4, #4]
+ ldr r2, _08046EB0 @ =0x80004000
+ str r2, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046EB4 @ =0x083640C8
+ str r0, [r4]
+ movs r0, #0xc0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ ldr r1, _08046EB8 @ =0x80000800
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046EBC @ =0x0836F808
+ str r0, [r4]
+ ldr r0, _08046EC0 @ =0x06001000
+ str r0, [r4, #4]
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046EC4 @ =0x0836E808
+ str r0, [r4]
+ ldr r0, _08046EC8 @ =0x06003000
+ str r0, [r4, #4]
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046ECC @ =0x083A8ACC
+ str r0, [r4]
+ ldr r0, _08046ED0 @ =0x06006800
+ str r0, [r4, #4]
+ ldr r0, _08046ED4 @ =0x80000200
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046ED8 @ =0x083A826C
+ str r0, [r4]
+ ldr r0, _08046EDC @ =0x06006C00
+ str r0, [r4, #4]
+ ldr r0, _08046EE0 @ =0x80000400
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046EE4 @ =0x08472A6C
+ b _08046F5C
+ .align 2, 0
+_08046E8C: .4byte 0x040000D4
+_08046E90: .4byte 0x08363EC8
+_08046E94: .4byte 0x80000100
+_08046E98: .4byte 0x08302700
+_08046E9C: .4byte 0x0200FBB0
+_08046EA0: .4byte 0x06004000
+_08046EA4: .4byte 0x80002000
+_08046EA8: .4byte 0x08370808
+_08046EAC: .4byte 0x06008000
+_08046EB0: .4byte 0x80004000
+_08046EB4: .4byte 0x083640C8
+_08046EB8: .4byte 0x80000800
+_08046EBC: .4byte 0x0836F808
+_08046EC0: .4byte 0x06001000
+_08046EC4: .4byte 0x0836E808
+_08046EC8: .4byte 0x06003000
+_08046ECC: .4byte 0x083A8ACC
+_08046ED0: .4byte 0x06006800
+_08046ED4: .4byte 0x80000200
+_08046ED8: .4byte 0x083A826C
+_08046EDC: .4byte 0x06006C00
+_08046EE0: .4byte 0x80000400
+_08046EE4: .4byte 0x08472A6C
+_08046EE8:
+ ldr r4, _08046F78 @ =0x040000D4
+ ldr r0, _08046F7C @ =0x0837A2E8
+ str r0, [r4]
+ movs r0, #0xa0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ ldr r0, _08046F80 @ =0x80000100
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046F84 @ =0x08302700
+ ldr r5, _08046F88 @ =0x0200FBB0
+ adds r1, r5, #0
+ bl LZ77UnCompWram
+ str r5, [r4]
+ ldr r0, _08046F8C @ =0x06004000
+ str r0, [r4, #4]
+ ldr r0, _08046F90 @ =0x80002000
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046F94 @ =0x0838E828
+ adds r1, r5, #0
+ bl LZ77UnCompWram
+ str r5, [r4]
+ ldr r0, _08046F98 @ =0x06008000
+ str r0, [r4, #4]
+ ldr r2, _08046F9C @ =0x80004000
+ str r2, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046FA0 @ =0x0837A4E8
+ str r0, [r4]
+ movs r0, #0xc0
+ lsls r0, r0, #0x13
+ str r0, [r4, #4]
+ ldr r1, _08046FA4 @ =0x80000400
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046FA8 @ =0x0838E028
+ str r0, [r4]
+ ldr r0, _08046FAC @ =0x06000800
+ str r0, [r4, #4]
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046FB0 @ =0x083A8ACC
+ str r0, [r4]
+ ldr r0, _08046FB4 @ =0x06006800
+ str r0, [r4, #4]
+ ldr r0, _08046FB8 @ =0x80000200
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046FBC @ =0x083A826C
+ str r0, [r4]
+ ldr r0, _08046FC0 @ =0x06006C00
+ str r0, [r4, #4]
+ str r1, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _08046FC4 @ =0x084779EC
+_08046F5C:
+ str r0, [r4]
+ ldr r0, _08046FC8 @ =0x06010000
+ str r0, [r4, #4]
+ str r2, [r4, #8]
+_08046F64:
+ ldr r0, [r4, #8]
+_08046F66:
+ ldr r1, _08046FCC @ =gUnknown_02031520
+ ldr r0, _08046FD0 @ =0x0816C3E4
+ str r0, [r1, #0x68]
+ pop {r3, r4}
+ mov r8, r3
+ mov sb, r4
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08046F78: .4byte 0x040000D4
+_08046F7C: .4byte 0x0837A2E8
+_08046F80: .4byte 0x80000100
+_08046F84: .4byte 0x08302700
+_08046F88: .4byte 0x0200FBB0
+_08046F8C: .4byte 0x06004000
+_08046F90: .4byte 0x80002000
+_08046F94: .4byte 0x0838E828
+_08046F98: .4byte 0x06008000
+_08046F9C: .4byte 0x80004000
+_08046FA0: .4byte 0x0837A4E8
+_08046FA4: .4byte 0x80000400
+_08046FA8: .4byte 0x0838E028
+_08046FAC: .4byte 0x06000800
+_08046FB0: .4byte 0x083A8ACC
+_08046FB4: .4byte 0x06006800
+_08046FB8: .4byte 0x80000200
+_08046FBC: .4byte 0x083A826C
+_08046FC0: .4byte 0x06006C00
+_08046FC4: .4byte 0x084779EC
+_08046FC8: .4byte 0x06010000
+_08046FCC: .4byte gUnknown_02031520
+_08046FD0: .4byte 0x0816C3E4
+
+ thumb_func_start sub_46FD4
+sub_46FD4: @ 0x08046FD4
+ push {r4, r5, lr}
+ ldr r5, _08047024 @ =gUnknown_02031520
+ ldr r4, _08047028 @ =0x086AFCB0
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ lsls r2, r0, #1
+ adds r2, r2, r0
+ lsls r2, r2, #4
+ ldr r3, _0804702C @ =gMain
+ ldrb r1, [r3, #4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #5
+ adds r0, r2, r0
+ adds r0, r0, r4
+ ldr r0, [r0]
+ str r0, [r5, #0x38]
+ ldrb r1, [r3, #4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #5
+ adds r0, r2, r0
+ adds r1, r4, #0
+ adds r1, #0x10
+ adds r0, r0, r1
+ ldr r0, [r0]
+ str r0, [r5, #0x48]
+ ldrb r1, [r3, #4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #5
+ adds r2, r2, r0
+ adds r4, #0x20
+ adds r2, r2, r4
+ ldr r0, [r2]
+ str r0, [r5, #0x58]
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08047024: .4byte gUnknown_02031520
+_08047028: .4byte 0x086AFCB0
+_0804702C: .4byte gMain
+
+ thumb_func_start sub_47030
+sub_47030: @ 0x08047030
+ push {r4, r5, lr}
+ ldr r0, _08047074 @ =gMain
+ ldr r1, _08047078 @ =0x000002F6
+ adds r0, r0, r1
+ ldrh r0, [r0]
+ lsrs r4, r0, #3
+ adds r2, r4, #0
+ lsls r1, r2, #3
+ ldr r0, _0804707C @ =0x086B0010
+ adds r3, r1, r0
+ ldr r1, _08047080 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ adds r0, #0x64
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ adds r5, r1, #0
+ cmp r2, r0
+ beq _080470EA
+ cmp r2, r0
+ ble _080470A8
+ movs r1, #0
+ ldrsh r0, [r3, r1]
+ cmp r0, #0x1f
+ ble _0804708C
+ ldr r2, _08047084 @ =0x040000D4
+ subs r0, #0x20
+ lsls r0, r0, #0xa
+ ldr r1, _08047088 @ =0x020030A0
+ adds r0, r0, r1
+ str r0, [r2]
+ movs r1, #2
+ ldrsh r0, [r3, r1]
+ b _080470D6
+ .align 2, 0
+_08047074: .4byte gMain
+_08047078: .4byte 0x000002F6
+_0804707C: .4byte 0x086B0010
+_08047080: .4byte gUnknown_020314E0
+_08047084: .4byte 0x040000D4
+_08047088: .4byte 0x020030A0
+_0804708C:
+ ldr r2, _080470A0 @ =0x040000D4
+ movs r1, #0
+ ldrsh r0, [r3, r1]
+ lsls r0, r0, #0xa
+ ldr r1, _080470A4 @ =0x0200FBB0
+ adds r0, r0, r1
+ str r0, [r2]
+ movs r1, #2
+ ldrsh r0, [r3, r1]
+ b _080470D6
+ .align 2, 0
+_080470A0: .4byte 0x040000D4
+_080470A4: .4byte 0x0200FBB0
+_080470A8:
+ movs r1, #4
+ ldrsh r0, [r3, r1]
+ cmp r0, #0x1f
+ ble _080470C4
+ ldr r2, _080470BC @ =0x040000D4
+ subs r0, #0x20
+ lsls r0, r0, #0xa
+ ldr r1, _080470C0 @ =0x020030A0
+ b _080470CE
+ .align 2, 0
+_080470BC: .4byte 0x040000D4
+_080470C0: .4byte 0x020030A0
+_080470C4:
+ ldr r2, _080470F0 @ =0x040000D4
+ movs r1, #4
+ ldrsh r0, [r3, r1]
+ lsls r0, r0, #0xa
+ ldr r1, _080470F4 @ =0x0200FBB0
+_080470CE:
+ adds r0, r0, r1
+ str r0, [r2]
+ movs r1, #6
+ ldrsh r0, [r3, r1]
+_080470D6:
+ lsls r0, r0, #0xa
+ ldr r1, _080470F8 @ =0x06008000
+ adds r0, r0, r1
+ str r0, [r2, #4]
+ ldr r0, _080470FC @ =0x80000200
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r5]
+ adds r0, #0x64
+ strh r4, [r0]
+_080470EA:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080470F0: .4byte 0x040000D4
+_080470F4: .4byte 0x0200FBB0
+_080470F8: .4byte 0x06008000
+_080470FC: .4byte 0x80000200
+
+ thumb_func_start sub_47100
+sub_47100: @ 0x08047100
+ ldr r0, _0804710C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ adds r0, #0xfc
+ movs r1, #0x80
+ strh r1, [r0]
+ bx lr
+ .align 2, 0
+_0804710C: .4byte gUnknown_020314E0
+
+ thumb_func_start sub_47110
+sub_47110: @ 0x08047110
+ push {r4, r5, lr}
+ movs r0, #0
+ ldr r5, _08047148 @ =0x03005C00
+ adds r4, r5, #0
+ ldr r3, _0804714C @ =0x000001FF
+ ldr r2, _08047150 @ =0x000007FF
+_0804711C:
+ lsls r1, r0, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #1
+ adds r0, r0, r4
+ strh r3, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r0, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, r2
+ ble _0804711C
+ ldr r1, _08047154 @ =0x040000D4
+ str r5, [r1]
+ ldr r0, _08047158 @ =0x06002000
+ str r0, [r1, #4]
+ ldr r0, _0804715C @ =0x80000800
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08047148: .4byte 0x03005C00
+_0804714C: .4byte 0x000001FF
+_08047150: .4byte 0x000007FF
+_08047154: .4byte 0x040000D4
+_08047158: .4byte 0x06002000
+_0804715C: .4byte 0x80000800
+
+ thumb_func_start sub_47160
+sub_47160: @ 0x08047160
+ push {r4, r5, lr}
+ ldr r2, _0804719C @ =gMain
+ ldrh r1, [r2, #0x18]
+ movs r0, #8
+ ands r0, r1
+ cmp r0, #0
+ beq _080471B6
+ ldrb r0, [r2, #2]
+ cmp r0, #3
+ beq _080471B6
+ ldr r0, _080471A0 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r1, #0x88
+ lsls r1, r1, #5
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ cmp r0, #0
+ bne _080471B6
+ ldrb r1, [r2, #0xf]
+ movs r0, #2
+ ands r0, r1
+ cmp r0, #0
+ beq _080471A4
+ movs r0, #0xfd
+ ands r0, r1
+ strb r0, [r2, #0xf]
+ bl sub_497BC
+ b _080471B6
+ .align 2, 0
+_0804719C: .4byte gMain
+_080471A0: .4byte gUnknown_020314E0
+_080471A4:
+ movs r0, #0x20
+ ands r0, r1
+ cmp r0, #0
+ bne _080471B6
+ movs r0, #2
+ orrs r0, r1
+ strb r0, [r2, #0xf]
+ bl sub_495A0
+_080471B6:
+ ldr r4, _080472B0 @ =gMain
+ ldrb r1, [r4, #0xf]
+ movs r5, #2
+ adds r0, r5, #0
+ ands r0, r1
+ cmp r0, #0
+ beq _08047274
+ ldrh r1, [r4, #0x18]
+ movs r0, #0x40
+ ands r0, r1
+ cmp r0, #0
+ beq _080471E4
+ ldr r0, _080472B4 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r0, _080472B8 @ =0x00001104
+ adds r1, r1, r0
+ ldrb r0, [r1]
+ movs r2, #1
+ eors r0, r2
+ strb r0, [r1]
+ movs r0, #0xa3
+ bl m4aSongNumStart
+_080471E4:
+ ldrh r1, [r4, #0x18]
+ movs r0, #0x80
+ ands r0, r1
+ cmp r0, #0
+ beq _08047204
+ ldr r0, _080472B4 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r0, _080472B8 @ =0x00001104
+ adds r1, r1, r0
+ ldrb r0, [r1]
+ movs r2, #1
+ eors r0, r2
+ strb r0, [r1]
+ movs r0, #0xa3
+ bl m4aSongNumStart
+_08047204:
+ ldrh r1, [r4, #0x18]
+ movs r0, #1
+ ands r0, r1
+ cmp r0, #0
+ beq _08047244
+ ldrh r1, [r4, #0x1c]
+ movs r0, #0xe
+ ands r0, r1
+ cmp r0, #0
+ bne _08047244
+ ldr r0, _080472B4 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r1, _080472B8 @ =0x00001104
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _08047230
+ strb r5, [r4, #0xe]
+ bl sub_49850
+_08047230:
+ ldrb r1, [r4, #0xf]
+ movs r0, #0xfd
+ ands r0, r1
+ strb r0, [r4, #0xf]
+ bl sub_497BC
+ ldrh r1, [r4, #0x18]
+ ldr r0, _080472BC @ =0x0000FFFE
+ ands r0, r1
+ strh r0, [r4, #0x18]
+_08047244:
+ ldr r4, _080472B0 @ =gMain
+ ldrh r1, [r4, #0x18]
+ movs r5, #2
+ adds r0, r5, #0
+ ands r0, r1
+ cmp r0, #0
+ beq _08047266
+ ldrb r1, [r4, #0xf]
+ movs r0, #0xfd
+ ands r0, r1
+ strb r0, [r4, #0xf]
+ bl sub_497BC
+ ldrh r1, [r4, #0x18]
+ ldr r0, _080472C0 @ =0x0000FFFD
+ ands r0, r1
+ strh r0, [r4, #0x18]
+_08047266:
+ ldrb r1, [r4, #0xf]
+ adds r0, r5, #0
+ ands r0, r1
+ cmp r0, #0
+ beq _08047274
+ bl sub_49A34
+_08047274:
+ ldr r0, _080472B0 @ =gMain
+ ldrb r1, [r0, #0xf]
+ adds r2, r0, #0
+ cmp r1, #0
+ bne _080472DC
+ ldr r3, _080472B4 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ movs r4, #0xe8
+ lsls r4, r4, #3
+ adds r0, r0, r4
+ strb r1, [r0]
+ ldrh r0, [r2, #0x14]
+ cmp r0, #0
+ beq _080472DC
+ subs r0, #1
+ strh r0, [r2, #0x14]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #1
+ bne _080472D2
+ ldr r0, [r3]
+ adds r1, r0, #0
+ adds r1, #0xe4
+ ldrb r0, [r1]
+ cmp r0, #0
+ beq _080472C4
+ movs r0, #0xa
+ strh r0, [r2, #0x14]
+ b _080472D2
+ .align 2, 0
+_080472B0: .4byte gMain
+_080472B4: .4byte gUnknown_020314E0
+_080472B8: .4byte 0x00001104
+_080472BC: .4byte 0x0000FFFE
+_080472C0: .4byte 0x0000FFFD
+_080472C4:
+ ldrb r0, [r2, #0x11]
+ cmp r0, #8
+ bne _080472CE
+ movs r0, #0x13
+ b _080472D0
+_080472CE:
+ movs r0, #0x14
+_080472D0:
+ strb r0, [r1]
+_080472D2:
+ ldrh r0, [r2, #0x14]
+ cmp r0, #0
+ bne _080472DC
+ ldrb r0, [r2, #0x11]
+ strb r0, [r2, #0xf]
+_080472DC:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+
+ thumb_func_start sub_472E4
+sub_472E4: @ 0x080472E4
+ push {r4, lr}
+ ldr r4, _080472FC @ =gMain
+ ldrb r1, [r4, #0xf]
+ cmp r1, #0
+ beq _08047338
+ movs r0, #8
+ ands r0, r1
+ cmp r0, #0
+ beq _08047300
+ bl sub_478D8
+ b _08047338
+ .align 2, 0
+_080472FC: .4byte gMain
+_08047300:
+ movs r0, #0x10
+ ands r0, r1
+ cmp r0, #0
+ beq _0804730E
+ bl sub_47670
+ b _08047338
+_0804730E:
+ movs r0, #0x20
+ ands r0, r1
+ cmp r0, #0
+ beq _0804731C
+ bl sub_474F4
+ b _08047338
+_0804731C:
+ movs r0, #4
+ ands r0, r1
+ cmp r0, #0
+ beq _08047338
+ bl sub_47344
+ ldr r0, _08047340 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldrb r0, [r4, #0x10]
+ adds r0, #1
+ movs r2, #0xe8
+ lsls r2, r2, #3
+ adds r1, r1, r2
+ strb r0, [r1]
+_08047338:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08047340: .4byte gUnknown_020314E0
+
+ thumb_func_start sub_47344
+sub_47344: @ 0x08047344
+ push {r4, r5, r6, r7, lr}
+ mov r7, sb
+ mov r6, r8
+ push {r6, r7}
+ sub sp, #0x44
+ ldr r1, _08047448 @ =0x08137DBE
+ mov r0, sp
+ movs r2, #0x2a
+ bl memcpy
+ add r4, sp, #0x2c
+ ldr r1, _0804744C @ =0x08137DE8
+ adds r0, r4, #0
+ movs r2, #0x18
+ bl memcpy
+ mov sb, r4
+ mov r1, sp
+ adds r1, #0x2d
+ mov r6, sp
+ adds r6, #0x31
+ mov r7, sp
+ adds r7, #0x39
+ add r0, sp, #0x38
+ mov r8, r0
+ ldr r0, _08047450 @ =0x03005C00
+ movs r3, #0
+ movs r2, #0xd0
+ lsls r2, r2, #3
+ adds r0, r0, r2
+ movs r2, #0x40
+_08047382:
+ strh r3, [r0]
+ adds r0, #2
+ subs r2, #1
+ cmp r2, #0
+ bne _08047382
+ ldr r5, _08047454 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ ldr r4, _08047458 @ =0x0000132C
+ adds r0, r0, r4
+ ldr r0, [r0]
+ movs r2, #0x10
+ ldrsh r0, [r0, r2]
+ movs r2, #3
+ movs r3, #1
+ bl sub_6CC
+ ldr r0, [r5]
+ adds r0, r0, r4
+ ldr r0, [r0]
+ movs r1, #0x12
+ ldrsh r0, [r0, r1]
+ adds r1, r6, #0
+ movs r2, #3
+ movs r3, #1
+ bl sub_6CC
+ mov r0, sb
+ movs r1, #0x1a
+ movs r2, #9
+ bl sub_678
+ ldr r0, [r5]
+ adds r0, #0x68
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ adds r1, r7, #0
+ movs r2, #3
+ movs r3, #1
+ bl sub_6CC
+ mov r0, r8
+ movs r1, #0x1a
+ movs r2, #0x12
+ bl sub_678
+ mov r0, sp
+ movs r1, #0x1a
+ movs r2, #0
+ bl sub_678
+ ldr r4, _0804745C @ =gMain
+ ldrh r1, [r4, #0x1c]
+ movs r0, #2
+ ands r0, r1
+ cmp r0, #0
+ beq _08047464
+ ldr r0, [r4, #0x4c]
+ movs r1, #8
+ ands r0, r1
+ cmp r0, #0
+ beq _08047408
+ ldr r0, _08047460 @ =0x08137E00
+ ldrb r1, [r4, #0x10]
+ adds r1, #0x1a
+ movs r2, #0
+ bl sub_678
+_08047408:
+ ldrh r1, [r4, #0x18]
+ movs r0, #0x40
+ ands r0, r1
+ cmp r0, #0
+ beq _0804741C
+ ldrb r0, [r4, #0x10]
+ cmp r0, #0
+ beq _0804741C
+ subs r0, #1
+ strb r0, [r4, #0x10]
+_0804741C:
+ ldr r2, _0804745C @ =gMain
+ ldrh r1, [r2, #0x18]
+ movs r0, #0x80
+ ands r0, r1
+ cmp r0, #0
+ beq _08047432
+ ldrb r0, [r2, #0x10]
+ cmp r0, #0
+ bne _08047432
+ adds r0, #1
+ strb r0, [r2, #0x10]
+_08047432:
+ ldr r0, _08047454 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r6, #0xe8
+ lsls r6, r6, #3
+ adds r0, r0, r6
+ ldrb r0, [r0]
+ cmp r0, #2
+ bne _08047490
+ bl sub_48124
+ b _08047490
+ .align 2, 0
+_08047448: .4byte 0x08137DBE
+_0804744C: .4byte 0x08137DE8
+_08047450: .4byte 0x03005C00
+_08047454: .4byte gUnknown_020314E0
+_08047458: .4byte 0x0000132C
+_0804745C: .4byte gMain
+_08047460: .4byte 0x08137E00
+_08047464:
+ ldr r0, [r5]
+ movs r1, #0xe8
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ cmp r0, #1
+ beq _08047478
+ cmp r0, #2
+ beq _0804747E
+ b _08047482
+_08047478:
+ bl sub_47FF8
+ b _08047482
+_0804747E:
+ bl sub_48124
+_08047482:
+ ldr r0, _080474DC @ =0x08137E00
+ ldr r1, _080474E0 @ =gMain
+ ldrb r1, [r1, #0x10]
+ adds r1, #0x1a
+ movs r2, #0
+ bl sub_678
+_08047490:
+ ldr r4, _080474E4 @ =0x03005C00
+ ldr r5, _080474E0 @ =gMain
+ movs r2, #0xc1
+ lsls r2, r2, #8
+ adds r3, r2, #0
+ movs r6, #0xd0
+ lsls r6, r6, #3
+ adds r1, r4, r6
+ movs r2, #0x40
+_080474A2:
+ ldrh r6, [r1]
+ adds r0, r3, r6
+ strh r0, [r1]
+ adds r1, #2
+ subs r2, #1
+ cmp r2, #0
+ bne _080474A2
+ ldr r1, _080474E8 @ =0x040000D4
+ str r4, [r1]
+ ldr r0, _080474EC @ =0x06002000
+ str r0, [r1, #4]
+ ldr r0, _080474F0 @ =0x80000400
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldrh r1, [r5, #0x1c]
+ movs r0, #1
+ ands r0, r1
+ cmp r0, #0
+ beq _080474CC
+ bl sub_47FBC
+_080474CC:
+ add sp, #0x44
+ pop {r3, r4}
+ mov r8, r3
+ mov sb, r4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080474DC: .4byte 0x08137E00
+_080474E0: .4byte gMain
+_080474E4: .4byte 0x03005C00
+_080474E8: .4byte 0x040000D4
+_080474EC: .4byte 0x06002000
+_080474F0: .4byte 0x80000400
+
+ thumb_func_start sub_474F4
+sub_474F4: @ 0x080474F4
+ push {r4, r5, r6, r7, lr}
+ mov r7, sb
+ mov r6, r8
+ push {r6, r7}
+ ldr r0, _08047638 @ =gMain
+ ldr r1, [r0, #0x44]
+ adds r1, #0xa8
+ ldr r5, [r1]
+ ldrh r1, [r5]
+ mov sb, r0
+ cmp r1, #0
+ beq _08047558
+ movs r0, #0x3f
+ strh r0, [r5, #2]
+ movs r0, #0x34
+ strh r0, [r5, #4]
+ ldr r7, _0804763C @ =gOamBuffer
+ ldr r0, _08047640 @ =0xFFFFFE00
+ mov ip, r0
+ adds r4, r5, #0
+ adds r4, #8
+ ldr r1, _08047644 @ =0x000001FF
+ mov r8, r1
+ movs r6, #7
+_08047524:
+ ldrh r3, [r4]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r2, #2
+ ldrsh r1, [r4, r2]
+ movs r2, #2
+ ldrsh r0, [r5, r2]
+ adds r1, r1, r0
+ mov r0, r8
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, ip
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r4]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r5, #4]
+ ldrb r2, [r4, #4]
+ adds r0, r0, r2
+ strb r0, [r1]
+ adds r4, #8
+ subs r6, #1
+ cmp r6, #0
+ bge _08047524
+_08047558:
+ mov r1, sb
+ ldr r0, [r1, #0x4c]
+ lsls r0, r0, #0x1c
+ lsrs r7, r0, #0x10
+ movs r6, #0
+_08047562:
+ adds r0, r7, #0
+ bl sub_C74
+ ldr r4, _08047648 @ =0x02031500
+ lsls r2, r6, #1
+ adds r4, r2, r4
+ ldr r1, _0804764C @ =0x02030750
+ adds r5, r2, r1
+ movs r2, #0
+ ldrsh r1, [r5, r2]
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ muls r0, r1, r0
+ movs r1, #0xc8
+ bl __divsi3
+ strh r0, [r4]
+ ldr r0, _08047638 @ =gMain
+ ldr r1, [r0, #0x4c]
+ movs r0, #1
+ ands r1, r0
+ cmp r1, #0
+ bne _0804759E
+ ldrh r0, [r5]
+ adds r0, #1
+ strh r0, [r5]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ blt _0804759E
+ strh r1, [r5]
+_0804759E:
+ adds r6, #1
+ cmp r6, #7
+ ble _08047562
+ ldr r2, _08047638 @ =gMain
+ ldrh r1, [r2, #0x12]
+ movs r0, #0xe1
+ lsls r0, r0, #4
+ cmp r1, r0
+ bne _080475FA
+ ldr r1, _08047650 @ =0x040000D4
+ ldr r0, _08047654 @ =0x08509F4C
+ str r0, [r1]
+ ldr r0, _08047658 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804765C @ =0x80000200
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r0, [r2, #0x44]
+ adds r0, #0xa8
+ ldr r1, [r0]
+ movs r0, #1
+ strh r0, [r1]
+ movs r6, #0
+ mov r8, r6
+ ldr r5, _08047648 @ =0x02031500
+ ldr r7, _08047660 @ =0x0000E0C0
+_080475D2:
+ lsls r4, r6, #1
+ strh r7, [r5]
+ ldr r0, _08047664 @ =0x020306C0
+ adds r0, r4, r0
+ mov r1, r8
+ strh r1, [r0]
+ bl Random
+ ldr r1, _0804764C @ =0x02030750
+ adds r4, r4, r1
+ movs r1, #0x1e
+ bl __umodsi3
+ ldr r2, _08047668 @ =0x0000FFCE
+ adds r0, r0, r2
+ strh r0, [r4]
+ adds r5, #2
+ adds r6, #1
+ cmp r6, #7
+ ble _080475D2
+_080475FA:
+ ldr r0, _08047638 @ =gMain
+ ldrh r1, [r0, #0x12]
+ mov sb, r0
+ cmp r1, #0
+ beq _08047618
+ subs r0, r1, #1
+ mov r1, sb
+ strh r0, [r1, #0x12]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ bne _08047618
+ ldr r0, _0804766C @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r0, #2
+ strb r0, [r1, #0x1d]
+_08047618:
+ mov r2, sb
+ ldrh r1, [r2, #0x18]
+ movs r0, #1
+ ands r0, r1
+ cmp r0, #0
+ beq _0804762C
+ ldr r0, _0804766C @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r0, #2
+ strb r0, [r1, #0x1d]
+_0804762C:
+ pop {r3, r4}
+ mov r8, r3
+ mov sb, r4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08047638: .4byte gMain
+_0804763C: .4byte gOamBuffer
+_08047640: .4byte 0xFFFFFE00
+_08047644: .4byte 0x000001FF
+_08047648: .4byte 0x02031500
+_0804764C: .4byte 0x02030750
+_08047650: .4byte 0x040000D4
+_08047654: .4byte 0x08509F4C
+_08047658: .4byte 0x06015800
+_0804765C: .4byte 0x80000200
+_08047660: .4byte 0x0000E0C0
+_08047664: .4byte 0x020306C0
+_08047668: .4byte 0x0000FFCE
+_0804766C: .4byte gUnknown_020314E0
+
+ thumb_func_start sub_47670
+sub_47670: @ 0x08047670
+ push {r4, r5, r6, r7, lr}
+ ldr r4, _080476A4 @ =gMain
+ ldrh r0, [r4, #0x12]
+ cmp r0, #0
+ bne _0804767C
+ b _080477C4
+_0804767C:
+ cmp r0, #0x14
+ bhi _080476AC
+ cmp r0, #0x14
+ bne _0804768A
+ movs r0, #0xa4
+ bl m4aSongNumStart
+_0804768A:
+ ldr r0, _080476A8 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ adds r1, r0, #0
+ adds r1, #0xfc
+ ldrh r2, [r1]
+ movs r3, #0
+ ldrsh r0, [r1, r3]
+ cmp r0, #0x7f
+ bgt _080476C4
+ adds r0, r2, #0
+ adds r0, #8
+ b _080476C2
+ .align 2, 0
+_080476A4: .4byte gMain
+_080476A8: .4byte gUnknown_020314E0
+_080476AC:
+ ldr r0, _0804771C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ adds r1, r0, #0
+ adds r1, #0xfc
+ ldrh r2, [r1]
+ movs r3, #0
+ ldrsh r0, [r1, r3]
+ cmp r0, #0
+ ble _080476C4
+ adds r0, r2, #0
+ subs r0, #8
+_080476C2:
+ strh r0, [r1]
+_080476C4:
+ bl sub_48190
+ ldr r2, _08047720 @ =gMain
+ ldrh r0, [r2, #0x12]
+ subs r0, #1
+ movs r1, #0
+ strh r0, [r2, #0x12]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0xc7
+ bne _080477A0
+ ldr r0, _0804771C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ adds r0, #0xfc
+ movs r1, #0x80
+ strh r1, [r0]
+ movs r1, #0x97
+ lsls r1, r1, #4
+ adds r0, r2, r1
+ movs r1, #1
+ strh r1, [r0]
+ movs r3, #0xe9
+ lsls r3, r3, #3
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ ldr r1, _08047724 @ =0x040000D4
+ ldr r0, _08047728 @ =0x0850398C
+ str r0, [r1]
+ ldr r0, _0804772C @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _08047730 @ =0x80001400
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldrb r0, [r2, #4]
+ cmp r0, #0
+ bne _08047738
+ ldr r0, _08047734 @ =0x08521FAC
+ b _0804773A
+ .align 2, 0
+_0804771C: .4byte gUnknown_020314E0
+_08047720: .4byte gMain
+_08047724: .4byte 0x040000D4
+_08047728: .4byte 0x0850398C
+_0804772C: .4byte 0x06015800
+_08047730: .4byte 0x80001400
+_08047734: .4byte 0x08521FAC
+_08047738:
+ ldr r0, _0804778C @ =0x08521FCC
+_0804773A:
+ str r0, [r1]
+ ldr r0, _08047790 @ =0x050003C0
+ str r0, [r1, #4]
+ ldr r0, _08047794 @ =0x80000010
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ movs r0, #0xa4
+ bl m4aSongNumStart
+ movs r1, #0
+ ldr r7, _08047798 @ =gUnknown_020314E0
+ ldr r6, _0804779C @ =0x0000063C
+ movs r5, #0
+_08047754:
+ movs r2, #0
+ lsls r4, r1, #0x10
+ asrs r1, r4, #0x10
+ lsls r0, r1, #2
+ adds r0, r0, r1
+ lsls r3, r0, #2
+_08047760:
+ ldr r0, [r7]
+ lsls r1, r2, #0x10
+ asrs r1, r1, #0x10
+ adds r2, r1, r3
+ adds r0, r0, r6
+ adds r0, r0, r2
+ strb r5, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r2, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #0x13
+ ble _08047760
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r4, r1
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #2
+ ble _08047754
+ b _080478D0
+ .align 2, 0
+_0804778C: .4byte 0x08521FCC
+_08047790: .4byte 0x050003C0
+_08047794: .4byte 0x80000010
+_08047798: .4byte gUnknown_020314E0
+_0804779C: .4byte 0x0000063C
+_080477A0:
+ cmp r0, #1
+ beq _080477A6
+ b _080478D0
+_080477A6:
+ movs r3, #0x97
+ lsls r3, r3, #4
+ adds r0, r2, r3
+ strh r1, [r0]
+ movs r3, #0xe9
+ lsls r3, r3, #3
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ b _080478D0
+_080477C4:
+ ldrb r0, [r4, #0xf]
+ movs r1, #0xef
+ ands r1, r0
+ strb r1, [r4, #0xf]
+ bl sub_47FBC
+ ldr r5, _08047860 @ =gUnknown_020314E0
+ ldr r1, [r5]
+ adds r2, r1, #0
+ adds r2, #0x30
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ cmp r0, #0
+ ble _080478BC
+ ldr r0, _08047864 @ =0x00000724
+ adds r1, r1, r0
+ movs r4, #0
+ subs r0, #0x1c
+ strh r0, [r1]
+ ldrb r0, [r2]
+ subs r0, #1
+ strb r0, [r2]
+ ldr r0, [r5]
+ movs r1, #0x3c
+ strh r1, [r0, #0x26]
+ ldr r1, _08047868 @ =0x0000062A
+ adds r0, r0, r1
+ strb r4, [r0]
+ ldr r0, [r5]
+ ldr r2, _0804786C @ =0x0000062B
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r5]
+ ldr r3, _08047870 @ =0x0000062C
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldr r0, [r5]
+ adds r1, #3
+ adds r0, r0, r1
+ strb r4, [r0]
+ ldr r0, [r5]
+ adds r2, #3
+ adds r0, r0, r2
+ strb r4, [r0]
+ ldr r0, [r5]
+ adds r3, #3
+ adds r0, r0, r3
+ strb r4, [r0]
+ movs r0, #0
+ bl sub_11C14
+ movs r0, #0
+ bl sub_46FD4
+ ldr r0, [r5]
+ ldr r1, _08047874 @ =0x0000029E
+ adds r0, r0, r1
+ strb r4, [r0]
+ ldr r1, [r5]
+ movs r0, #0x13
+ ldrsb r0, [r1, r0]
+ cmp r0, #3
+ bne _080478A4
+ ldr r2, _08047878 @ =0x00000283
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ movs r1, #5
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ cmp r0, #4
+ bhi _080478AA
+ lsls r0, r0, #2
+ ldr r1, _0804787C @ =_08047880
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08047860: .4byte gUnknown_020314E0
+_08047864: .4byte 0x00000724
+_08047868: .4byte 0x0000062A
+_0804786C: .4byte 0x0000062B
+_08047870: .4byte 0x0000062C
+_08047874: .4byte 0x0000029E
+_08047878: .4byte 0x00000283
+_0804787C: .4byte _08047880
+_08047880: @ jump table
+ .4byte _08047894 @ case 0
+ .4byte _0804789C @ case 1
+ .4byte _08047894 @ case 2
+ .4byte _0804789C @ case 3
+ .4byte _0804789C @ case 4
+_08047894:
+ movs r0, #0xe
+ bl m4aSongNumStart
+ b _080478AA
+_0804789C:
+ movs r0, #0xf
+ bl m4aSongNumStart
+ b _080478AA
+_080478A4:
+ movs r0, #1
+ bl sub_19B64
+_080478AA:
+ ldr r0, _080478B8 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ adds r0, #0xe4
+ movs r1, #0
+ strb r1, [r0]
+ b _080478D0
+ .align 2, 0
+_080478B8: .4byte gUnknown_020314E0
+_080478BC:
+ ldrb r0, [r4, #0xf]
+ movs r1, #0x20
+ orrs r0, r1
+ strb r0, [r4, #0xf]
+ movs r0, #0xe1
+ lsls r0, r0, #4
+ strh r0, [r4, #0x12]
+ movs r0, #0xc
+ bl m4aSongNumStart
+_080478D0:
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+
+ thumb_func_start sub_478D8
+sub_478D8: @ 0x080478D8
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #4
+ ldr r7, _08047AEC @ =gMain
+ ldrh r0, [r7, #0x12]
+ cmp r0, #0
+ bne _080478EE
+ b _08047F2E
+_080478EE:
+ movs r0, #0xd2
+ lsls r0, r0, #3
+ adds r6, r7, r0
+ ldrh r0, [r6]
+ movs r1, #0xbb
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ mov r8, r1
+ cmp r0, #0
+ beq _08047984
+ movs r0, #0x58
+ strh r0, [r6, #2]
+ ldr r0, _08047AF0 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ adds r0, #0xfe
+ ldrh r0, [r0]
+ adds r0, #0x14
+ strh r0, [r6, #4]
+ movs r0, #0
+ ldr r7, _08047AF4 @ =gOamBuffer
+ ldr r2, _08047AF8 @ =0xFFFFFE00
+ mov sl, r2
+ movs r3, #0xf
+ rsbs r3, r3, #0
+ mov sb, r3
+_08047920:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08047AFC @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, sl
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r3, [r5, #4]
+ adds r0, r0, r3
+ strb r0, [r1]
+ ldrh r2, [r5]
+ lsls r2, r2, #3
+ adds r2, r2, r7
+ ldrb r0, [r2, #1]
+ movs r1, #3
+ orrs r0, r1
+ strb r0, [r2, #1]
+ ldrh r2, [r5]
+ lsls r2, r2, #3
+ adds r2, r2, r7
+ ldrb r1, [r2, #3]
+ mov r0, sb
+ ands r0, r1
+ movs r1, #6
+ orrs r0, r1
+ strb r0, [r2, #3]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #1
+ ble _08047920
+_08047984:
+ mov r6, r8
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _08047A14
+ ldr r4, _08047AF0 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ movs r5, #0x80
+ lsls r5, r5, #1
+ adds r0, r0, r5
+ ldr r0, [r0]
+ movs r1, #0x64
+ bl __divsi3
+ adds r0, #0x18
+ strh r0, [r6, #2]
+ ldr r0, [r4]
+ adds r4, r0, #0
+ adds r4, #0xfe
+ movs r1, #0x82
+ lsls r1, r1, #1
+ adds r0, r0, r1
+ ldr r0, [r0]
+ movs r1, #0x64
+ bl __divsi3
+ adds r0, #0x14
+ ldrh r4, [r4]
+ adds r0, r0, r4
+ strh r0, [r6, #4]
+ adds r5, r6, #0
+ adds r5, #8
+ ldr r4, _08047AF4 @ =gOamBuffer
+ ldrh r2, [r6, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ movs r3, #2
+ ldrsh r1, [r5, r3]
+ movs r3, #2
+ ldrsh r0, [r6, r3]
+ adds r1, r1, r0
+ ldr r3, _08047AFC @ =0x000001FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ ldr r0, _08047AF8 @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r6, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ ldrh r1, [r6, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r1, #1]
+ movs r2, #3
+ orrs r0, r2
+ strb r0, [r1, #1]
+ ldrh r2, [r6, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ ldrb r1, [r2, #3]
+ movs r0, #0xf
+ rsbs r0, r0, #0
+ ands r0, r1
+ movs r1, #8
+ orrs r0, r1
+ strb r0, [r2, #3]
+_08047A14:
+ subs r6, #0xb8
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _08047A9A
+ ldr r4, _08047AF0 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ movs r5, #0x80
+ lsls r5, r5, #1
+ adds r0, r0, r5
+ ldr r0, [r0]
+ movs r1, #0x64
+ bl __divsi3
+ adds r0, #0x38
+ strh r0, [r6, #2]
+ ldr r0, [r4]
+ adds r4, r0, #0
+ adds r4, #0xfe
+ movs r1, #0x82
+ lsls r1, r1, #1
+ adds r0, r0, r1
+ ldr r0, [r0]
+ movs r1, #0x64
+ bl __divsi3
+ adds r0, #0x34
+ ldrh r4, [r4]
+ adds r0, r0, r4
+ strh r0, [r6, #4]
+ movs r0, #0
+ ldr r7, _08047AF4 @ =gOamBuffer
+ ldr r2, _08047AF8 @ =0xFFFFFE00
+ mov r8, r2
+_08047A56:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r5, r6, r0
+ ldrh r3, [r5]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r0, #2
+ ldrsh r1, [r5, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08047AFC @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r5, [r5, #4]
+ adds r0, r0, r5
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #1
+ ble _08047A56
+_08047A9A:
+ ldr r1, _08047AEC @ =gMain
+ ldrh r0, [r1, #0x12]
+ subs r0, #1
+ strh r0, [r1, #0x12]
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0x46
+ bls _08047B00
+ ldrh r1, [r1, #0x12]
+ adds r2, r1, #0
+ adds r2, #0x14
+ adds r0, r2, #0
+ asrs r0, r0, #6
+ lsls r0, r0, #6
+ subs r0, r2, r0
+ lsls r0, r0, #0x1a
+ lsrs r0, r0, #0x10
+ bl sub_C24
+ ldr r1, _08047AF0 @ =gUnknown_020314E0
+ ldr r5, [r1]
+ movs r3, #0x82
+ lsls r3, r3, #1
+ adds r4, r5, r3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #0x28
+ bl __divsi3
+ str r0, [r4]
+ movs r4, #0x84
+ lsls r4, r4, #1
+ adds r1, r5, r4
+ movs r0, #0xa
+ strh r0, [r1]
+ movs r0, #0x85
+ lsls r0, r0, #1
+ adds r1, r5, r0
+ adds r0, #0x86
+ strh r0, [r1]
+ b _08047B3C
+ .align 2, 0
+_08047AEC: .4byte gMain
+_08047AF0: .4byte gUnknown_020314E0
+_08047AF4: .4byte gOamBuffer
+_08047AF8: .4byte 0xFFFFFE00
+_08047AFC: .4byte 0x000001FF
+_08047B00:
+ ldr r0, _08047B6C @ =gUnknown_020314E0
+ ldr r4, [r0]
+ movs r2, #0x84
+ lsls r2, r2, #1
+ adds r1, r4, r2
+ movs r0, #0xc8
+ lsls r0, r0, #1
+ strh r0, [r1]
+ movs r5, #0x85
+ lsls r5, r5, #1
+ adds r3, r4, r5
+ ldrh r0, [r3]
+ subs r0, #0x23
+ strh r0, [r3]
+ movs r0, #0x80
+ lsls r0, r0, #1
+ adds r2, r4, r0
+ movs r5, #0
+ ldrsh r1, [r1, r5]
+ ldr r0, [r2]
+ adds r0, r0, r1
+ str r0, [r2]
+ movs r0, #0x82
+ lsls r0, r0, #1
+ adds r2, r4, r0
+ movs r4, #0
+ ldrsh r1, [r3, r4]
+ ldr r0, [r2]
+ adds r0, r0, r1
+ str r0, [r2]
+_08047B3C:
+ ldr r1, _08047B70 @ =gMain
+ ldrh r2, [r1, #0x12]
+ adds r0, r2, #0
+ subs r0, #0x1e
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ adds r6, r1, #0
+ cmp r0, #0x1d
+ bhi _08047B74
+ ldrh r1, [r6, #0x12]
+ movs r0, #0x3c
+ subs r0, r0, r1
+ lsls r0, r0, #8
+ movs r1, #0x1e
+ bl __divsi3
+ movs r5, #0x80
+ lsls r5, r5, #1
+ adds r0, r0, r5
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ str r0, [sp]
+ b _08047B8C
+ .align 2, 0
+_08047B6C: .4byte gUnknown_020314E0
+_08047B70: .4byte gMain
+_08047B74:
+ movs r0, #0x80
+ lsls r0, r0, #1
+ str r0, [sp]
+ lsls r0, r2, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0x1d
+ bhi _08047B8C
+ movs r2, #0xbb
+ lsls r2, r2, #3
+ adds r1, r6, r2
+ movs r0, #0
+ strh r0, [r1]
+_08047B8C:
+ ldrh r0, [r6, #0x12]
+ cmp r0, #0x1e
+ bhi _08047BBE
+ cmp r0, #0xa
+ bls _08047BAE
+ adds r1, r0, #0
+ subs r1, #0xa
+ lsls r0, r1, #5
+ subs r0, r0, r1
+ lsls r0, r0, #3
+ movs r1, #0x14
+ bl __divsi3
+ adds r0, #8
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ b _08047BE4
+_08047BAE:
+ movs r3, #8
+ mov sl, r3
+ movs r4, #0xd2
+ lsls r4, r4, #3
+ adds r1, r6, r4
+ movs r0, #0
+ strh r0, [r1]
+ b _08047BE6
+_08047BBE:
+ ldr r0, _08047C48 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ adds r1, r0, #0
+ adds r1, #0xfe
+ ldrh r2, [r1]
+ movs r5, #0
+ ldrsh r0, [r1, r5]
+ cmp r0, #0
+ ble _08047BE0
+ adds r0, r2, #0
+ subs r0, #8
+ strh r0, [r1]
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ bge _08047BE0
+ movs r0, #0
+ strh r0, [r1]
+_08047BE0:
+ movs r0, #0x80
+ lsls r0, r0, #1
+_08047BE4:
+ mov sl, r0
+_08047BE6:
+ adds r3, r6, #0
+ ldrh r0, [r3, #0x12]
+ cmp r0, #0xca
+ bls _08047BF0
+ b _08047DBA
+_08047BF0:
+ cmp r0, #0x37
+ bls _08047C50
+ ldr r7, _08047C48 @ =gUnknown_020314E0
+ ldr r2, [r7]
+ movs r1, #0x84
+ lsls r1, r1, #1
+ adds r0, r2, r1
+ ldrh r1, [r0]
+ movs r4, #0x86
+ lsls r4, r4, #1
+ adds r0, r2, r4
+ strh r1, [r0]
+ movs r5, #0x85
+ lsls r5, r5, #1
+ adds r0, r2, r5
+ ldrh r0, [r0]
+ subs r0, #0x5a
+ adds r4, #2
+ adds r1, r2, r4
+ strh r0, [r1]
+ adds r5, #6
+ mov r8, r5
+ adds r1, r2, r5
+ subs r4, #0xe
+ adds r0, r2, r4
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r5, #4
+ mov sb, r5
+ adds r1, r2, r5
+ adds r4, #4
+ adds r0, r2, r4
+ ldr r0, [r0]
+ str r0, [r1]
+ ldrh r0, [r3, #0x12]
+ cmp r0, #0x38
+ bne _08047C40
+ movs r0, #0x95
+ bl m4aSongNumStart
+_08047C40:
+ ldr r5, [r7]
+ ldr r0, _08047C4C @ =0x0000132C
+ adds r4, r5, r0
+ b _08047CBC
+ .align 2, 0
+_08047C48: .4byte gUnknown_020314E0
+_08047C4C: .4byte 0x0000132C
+_08047C50:
+ cmp r0, #0x1f
+ bls _08047D00
+ ldr r7, _08047CF4 @ =gUnknown_020314E0
+ ldr r5, [r7]
+ movs r0, #0x87
+ lsls r0, r0, #1
+ adds r4, r5, r0
+ ldrh r0, [r4]
+ adds r0, #6
+ movs r1, #0
+ mov ip, r1
+ strh r0, [r4]
+ movs r2, #0x88
+ lsls r2, r2, #1
+ mov r8, r2
+ adds r2, r5, r2
+ movs r3, #0x86
+ lsls r3, r3, #1
+ adds r0, r5, r3
+ movs r3, #0
+ ldrsh r1, [r0, r3]
+ ldr r0, [r2]
+ adds r0, r0, r1
+ str r0, [r2]
+ movs r0, #0x8a
+ lsls r0, r0, #1
+ mov sb, r0
+ adds r2, r5, r0
+ movs r3, #0
+ ldrsh r1, [r4, r3]
+ ldr r0, [r2]
+ adds r0, r0, r1
+ str r0, [r2]
+ movs r4, #0xa4
+ lsls r4, r4, #3
+ adds r0, r6, r4
+ mov r1, ip
+ strh r1, [r0]
+ ldrh r0, [r6, #0x12]
+ cmp r0, #0x20
+ bne _08047CB6
+ ldr r2, _08047CF8 @ =0x000005FA
+ adds r1, r5, r2
+ movs r0, #0
+ strb r0, [r1]
+ movs r0, #0x96
+ bl m4aSongNumStart
+ movs r0, #6
+ bl sub_11B0
+_08047CB6:
+ ldr r5, [r7]
+ ldr r3, _08047CFC @ =0x0000132C
+ adds r4, r5, r3
+_08047CBC:
+ ldr r6, [r4]
+ mov r1, r8
+ adds r0, r5, r1
+ ldr r0, [r0]
+ movs r1, #0x64
+ bl __divsi3
+ adds r0, #0x56
+ lsls r0, r0, #8
+ str r0, [r6, #0x34]
+ ldr r6, [r4]
+ adds r0, r5, #0
+ adds r0, #0xfe
+ movs r2, #0
+ ldrsh r4, [r0, r2]
+ add r5, sb
+ ldr r0, [r5]
+ movs r1, #0x64
+ bl __divsi3
+ movs r3, #0xba
+ lsls r3, r3, #1
+ adds r0, r0, r3
+ adds r4, r4, r0
+ lsls r4, r4, #8
+ str r4, [r6, #0x38]
+ adds r2, r7, #0
+ b _08047D80
+ .align 2, 0
+_08047CF4: .4byte gUnknown_020314E0
+_08047CF8: .4byte 0x000005FA
+_08047CFC: .4byte 0x0000132C
+_08047D00:
+ ldr r4, _08047E68 @ =gUnknown_020314E0
+ mov sb, r4
+ ldr r7, [r4]
+ movs r5, #0x86
+ lsls r5, r5, #1
+ adds r1, r7, r5
+ movs r0, #0
+ strh r0, [r1]
+ movs r0, #0x87
+ lsls r0, r0, #1
+ adds r3, r7, r0
+ ldrh r0, [r3]
+ adds r0, #0x14
+ strh r0, [r3]
+ movs r4, #0x88
+ lsls r4, r4, #1
+ adds r2, r7, r4
+ movs r5, #0
+ ldrsh r1, [r1, r5]
+ ldr r0, [r2]
+ adds r0, r0, r1
+ str r0, [r2]
+ movs r0, #0x8a
+ lsls r0, r0, #1
+ adds r5, r7, r0
+ movs r4, #0
+ ldrsh r1, [r3, r4]
+ ldr r0, [r5]
+ adds r0, r0, r1
+ str r0, [r5]
+ ldr r0, _08047E6C @ =0x0000132C
+ adds r6, r7, r0
+ ldr r4, [r6]
+ ldr r0, [r2]
+ movs r1, #0x64
+ bl __divsi3
+ adds r0, #0x56
+ lsls r0, r0, #8
+ str r0, [r4, #0x34]
+ ldr r1, [r6]
+ mov r8, r1
+ adds r0, r7, #0
+ adds r0, #0xfe
+ movs r2, #0
+ ldrsh r4, [r0, r2]
+ ldr r0, [r5]
+ movs r1, #0x64
+ bl __divsi3
+ movs r3, #0xba
+ lsls r3, r3, #1
+ adds r0, r0, r3
+ adds r4, r4, r0
+ lsls r4, r4, #8
+ mov r5, r8
+ str r4, [r5, #0x38]
+ ldr r6, [r6]
+ ldr r0, [r6, #0x38]
+ ldr r1, _08047E70 @ =0x00017100
+ mov r2, sb
+ cmp r0, r1
+ ble _08047D80
+ str r1, [r6, #0x38]
+_08047D80:
+ ldr r0, [r2]
+ ldr r1, _08047E6C @ =0x0000132C
+ adds r0, r0, r1
+ ldr r0, [r0]
+ movs r3, #0
+ strb r3, [r0, #1]
+ ldr r0, [r2]
+ adds r2, r0, r1
+ ldr r1, [r2]
+ ldr r0, [r1, #0x28]
+ str r0, [r1, #0x2c]
+ ldr r1, [r2]
+ ldr r0, [r1, #0x34]
+ cmp r0, #0
+ bge _08047DA0
+ adds r0, #0x7f
+_08047DA0:
+ asrs r0, r0, #7
+ strh r0, [r1, #0x28]
+ ldr r1, [r2]
+ ldr r0, [r1, #0x38]
+ cmp r0, #0
+ bge _08047DAE
+ adds r0, #0x7f
+_08047DAE:
+ asrs r0, r0, #7
+ strh r0, [r1, #0x2a]
+ ldr r0, [r2]
+ strh r3, [r0, #0x30]
+ ldr r0, [r2]
+ strh r3, [r0, #0x32]
+_08047DBA:
+ movs r0, #0x80
+ lsls r0, r0, #1
+ mov r2, sl
+ lsls r1, r2, #0x10
+ asrs r1, r1, #0x10
+ movs r2, #3
+ bl SetMatrixScale
+ ldr r3, [sp]
+ lsls r1, r3, #0x10
+ asrs r1, r1, #0x10
+ adds r0, r1, #0
+ movs r2, #4
+ bl SetMatrixScale
+ ldr r4, _08047E74 @ =gMain
+ ldrh r1, [r4, #0x12]
+ cmp r1, #0xcb
+ beq _08047DE2
+ b _08047F18
+_08047DE2:
+ ldr r2, _08047E68 @ =gUnknown_020314E0
+ ldr r3, [r2]
+ movs r5, #0x80
+ lsls r5, r5, #1
+ adds r0, r3, r5
+ movs r1, #0
+ str r1, [r0]
+ adds r5, #4
+ adds r0, r3, r5
+ str r1, [r0]
+ adds r5, #4
+ adds r0, r3, r5
+ strh r1, [r0]
+ adds r5, #2
+ adds r0, r3, r5
+ strh r1, [r0]
+ adds r1, r3, #0
+ adds r1, #0xfe
+ movs r0, #0x64
+ strh r0, [r1]
+ movs r1, #0xd2
+ lsls r1, r1, #3
+ adds r0, r4, r1
+ movs r1, #1
+ strh r1, [r0]
+ movs r3, #0xbb
+ lsls r3, r3, #3
+ adds r0, r4, r3
+ strh r1, [r0]
+ movs r5, #0xa4
+ lsls r5, r5, #3
+ adds r0, r4, r5
+ strh r1, [r0]
+ ldrb r0, [r4, #4]
+ cmp r0, #0
+ bne _08047EAC
+ ldr r0, _08047E78 @ =0x040000D4
+ ldr r1, _08047E7C @ =0x0850100C
+ str r1, [r0]
+ ldr r1, _08047E80 @ =0x06015800
+ str r1, [r0, #4]
+ ldr r1, _08047E84 @ =0x80001200
+ str r1, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, _08047E88 @ =0x085028CC
+ str r1, [r0]
+ ldr r1, _08047E8C @ =0x06016800
+ str r1, [r0, #4]
+ ldr r1, _08047E90 @ =0x80000400
+ str r1, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, _08047E94 @ =0x085038CC
+ str r1, [r0]
+ ldr r1, _08047E98 @ =0x06017000
+ str r1, [r0, #4]
+ ldr r1, _08047E9C @ =0x80000060
+ str r1, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, _08047EA0 @ =0x08514F4C
+ str r1, [r0]
+ ldr r1, _08047EA4 @ =0x050003C0
+ str r1, [r0, #4]
+ ldr r1, _08047EA8 @ =0x80000010
+ str r1, [r0, #8]
+ ldr r0, [r0, #8]
+ b _08047ECA
+ .align 2, 0
+_08047E68: .4byte gUnknown_020314E0
+_08047E6C: .4byte 0x0000132C
+_08047E70: .4byte 0x00017100
+_08047E74: .4byte gMain
+_08047E78: .4byte 0x040000D4
+_08047E7C: .4byte 0x0850100C
+_08047E80: .4byte 0x06015800
+_08047E84: .4byte 0x80001200
+_08047E88: .4byte 0x085028CC
+_08047E8C: .4byte 0x06016800
+_08047E90: .4byte 0x80000400
+_08047E94: .4byte 0x085038CC
+_08047E98: .4byte 0x06017000
+_08047E9C: .4byte 0x80000060
+_08047EA0: .4byte 0x08514F4C
+_08047EA4: .4byte 0x050003C0
+_08047EA8: .4byte 0x80000010
+_08047EAC:
+ ldr r1, _08047EF4 @ =0x040000D4
+ ldr r0, _08047EF8 @ =0x0850100C
+ str r0, [r1]
+ ldr r0, _08047EFC @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _08047F00 @ =0x80001200
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r0, _08047F04 @ =0x08514F6C
+ str r0, [r1]
+ ldr r0, _08047F08 @ =0x050003C0
+ str r0, [r1, #4]
+ ldr r0, _08047F0C @ =0x80000010
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_08047ECA:
+ ldr r1, [r2]
+ movs r0, #2
+ strb r0, [r1, #0x1f]
+ ldr r0, [r2]
+ ldr r1, _08047F10 @ =0x000005FA
+ adds r0, r0, r1
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r3, _08047F14 @ =0x000005F7
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r2]
+ movs r4, #0x88
+ lsls r4, r4, #5
+ adds r0, r0, r4
+ strb r1, [r0]
+ movs r0, #0x94
+ bl m4aSongNumStart
+ b _08047FA0
+ .align 2, 0
+_08047EF4: .4byte 0x040000D4
+_08047EF8: .4byte 0x0850100C
+_08047EFC: .4byte 0x06015800
+_08047F00: .4byte 0x80001200
+_08047F04: .4byte 0x08514F6C
+_08047F08: .4byte 0x050003C0
+_08047F0C: .4byte 0x80000010
+_08047F10: .4byte 0x000005FA
+_08047F14: .4byte 0x000005F7
+_08047F18:
+ cmp r1, #0
+ bne _08047FA0
+ movs r5, #0xd2
+ lsls r5, r5, #3
+ adds r0, r4, r5
+ strh r1, [r0]
+ movs r2, #0xbb
+ lsls r2, r2, #3
+ adds r0, r4, r2
+ strh r1, [r0]
+ b _08047FA0
+_08047F2E:
+ ldrb r1, [r7, #0xf]
+ movs r0, #0xf7
+ ands r0, r1
+ strb r0, [r7, #0xf]
+ ldr r5, _08047F6C @ =gUnknown_020314E0
+ ldr r1, [r5]
+ movs r4, #0
+ movs r0, #0x3c
+ strh r0, [r1, #0x26]
+ movs r0, #0
+ bl sub_11C14
+ ldr r0, [r5]
+ strb r4, [r0, #0x1f]
+ movs r0, #0
+ bl sub_46FD4
+ ldr r0, [r5]
+ ldr r3, _08047F70 @ =0x0000029E
+ adds r0, r0, r3
+ strb r4, [r0]
+ ldrb r0, [r7, #4]
+ cmp r0, #0
+ bne _08047F78
+ ldr r0, [r5]
+ ldr r4, _08047F74 @ =0x0000132C
+ adds r0, r0, r4
+ ldr r1, [r0]
+ movs r0, #3
+ b _08047F82
+ .align 2, 0
+_08047F6C: .4byte gUnknown_020314E0
+_08047F70: .4byte 0x0000029E
+_08047F74: .4byte 0x0000132C
+_08047F78:
+ ldr r0, [r5]
+ ldr r5, _08047FB0 @ =0x0000132C
+ adds r0, r0, r5
+ ldr r1, [r0]
+ movs r0, #1
+_08047F82:
+ strb r0, [r1, #1]
+ ldr r2, _08047FB4 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r1, _08047FB8 @ =0x000005F7
+ adds r0, r0, r1
+ movs r1, #0
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r0, #0xe4
+ strb r1, [r0]
+ ldr r0, [r2]
+ movs r2, #0x88
+ lsls r2, r2, #5
+ adds r0, r0, r2
+ strb r1, [r0]
+_08047FA0:
+ add sp, #4
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08047FB0: .4byte 0x0000132C
+_08047FB4: .4byte gUnknown_020314E0
+_08047FB8: .4byte 0x000005F7
+
+ thumb_func_start sub_47FBC
+sub_47FBC: @ 0x08047FBC
+ ldr r3, _08047FE4 @ =0x03005C00
+ ldr r2, _08047FE8 @ =0x000001FF
+ movs r0, #0xd0
+ lsls r0, r0, #3
+ adds r1, r3, r0
+ movs r0, #0x40
+_08047FC8:
+ strh r2, [r1]
+ adds r1, #2
+ subs r0, #1
+ cmp r0, #0
+ bne _08047FC8
+ ldr r1, _08047FEC @ =0x040000D4
+ str r3, [r1]
+ ldr r0, _08047FF0 @ =0x06002000
+ str r0, [r1, #4]
+ ldr r0, _08047FF4 @ =0x80000400
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ bx lr
+ .align 2, 0
+_08047FE4: .4byte 0x03005C00
+_08047FE8: .4byte 0x000001FF
+_08047FEC: .4byte 0x040000D4
+_08047FF0: .4byte 0x06002000
+_08047FF4: .4byte 0x80000400
+
+ thumb_func_start sub_47FF8
+sub_47FF8: @ 0x08047FF8
+ push {r4, lr}
+ ldr r2, _08048068 @ =gMain
+ ldrh r1, [r2, #0x1c]
+ movs r0, #1
+ ands r0, r1
+ cmp r0, #0
+ beq _08048074
+ movs r0, #0x40
+ ands r0, r1
+ ldr r3, _0804806C @ =gUnknown_020314E0
+ cmp r0, #0
+ beq _0804801E
+ ldr r0, [r3]
+ ldr r1, _08048070 @ =0x0000132C
+ adds r0, r0, r1
+ ldr r1, [r0]
+ ldr r0, [r1, #0x38]
+ subs r0, #0x80
+ str r0, [r1, #0x38]
+_0804801E:
+ ldrh r1, [r2, #0x1c]
+ movs r0, #0x80
+ ands r0, r1
+ cmp r0, #0
+ beq _08048036
+ ldr r0, [r3]
+ ldr r4, _08048070 @ =0x0000132C
+ adds r0, r0, r4
+ ldr r1, [r0]
+ ldr r0, [r1, #0x38]
+ adds r0, #0x80
+ str r0, [r1, #0x38]
+_08048036:
+ ldrh r1, [r2, #0x1c]
+ movs r0, #0x20
+ ands r0, r1
+ cmp r0, #0
+ beq _0804804E
+ ldr r0, [r3]
+ ldr r1, _08048070 @ =0x0000132C
+ adds r0, r0, r1
+ ldr r1, [r0]
+ ldr r0, [r1, #0x34]
+ subs r0, #0x80
+ str r0, [r1, #0x34]
+_0804804E:
+ ldrh r1, [r2, #0x1c]
+ movs r0, #0x10
+ ands r0, r1
+ cmp r0, #0
+ beq _080480E0
+ ldr r0, [r3]
+ ldr r2, _08048070 @ =0x0000132C
+ adds r0, r0, r2
+ ldr r1, [r0]
+ ldr r0, [r1, #0x34]
+ adds r0, #0x80
+ b _080480DE
+ .align 2, 0
+_08048068: .4byte gMain
+_0804806C: .4byte gUnknown_020314E0
+_08048070: .4byte 0x0000132C
+_08048074:
+ movs r0, #0x40
+ ands r0, r1
+ ldr r3, _08048118 @ =gUnknown_020314E0
+ cmp r0, #0
+ beq _0804808E
+ ldr r0, [r3]
+ ldr r4, _0804811C @ =0x0000132C
+ adds r0, r0, r4
+ ldr r1, [r0]
+ ldr r0, [r1, #0x38]
+ ldr r4, _08048120 @ =0xFFFFFE00
+ adds r0, r0, r4
+ str r0, [r1, #0x38]
+_0804808E:
+ ldrh r1, [r2, #0x1c]
+ movs r0, #0x80
+ ands r0, r1
+ cmp r0, #0
+ beq _080480AA
+ ldr r0, [r3]
+ ldr r1, _0804811C @ =0x0000132C
+ adds r0, r0, r1
+ ldr r1, [r0]
+ ldr r0, [r1, #0x38]
+ movs r4, #0x80
+ lsls r4, r4, #2
+ adds r0, r0, r4
+ str r0, [r1, #0x38]
+_080480AA:
+ ldrh r1, [r2, #0x1c]
+ movs r0, #0x20
+ ands r0, r1
+ cmp r0, #0
+ beq _080480C4
+ ldr r0, [r3]
+ ldr r1, _0804811C @ =0x0000132C
+ adds r0, r0, r1
+ ldr r1, [r0]
+ ldr r0, [r1, #0x34]
+ ldr r4, _08048120 @ =0xFFFFFE00
+ adds r0, r0, r4
+ str r0, [r1, #0x34]
+_080480C4:
+ ldrh r1, [r2, #0x1c]
+ movs r0, #0x10
+ ands r0, r1
+ cmp r0, #0
+ beq _080480E0
+ ldr r0, [r3]
+ ldr r1, _0804811C @ =0x0000132C
+ adds r0, r0, r1
+ ldr r1, [r0]
+ ldr r0, [r1, #0x34]
+ movs r2, #0x80
+ lsls r2, r2, #2
+ adds r0, r0, r2
+_080480DE:
+ str r0, [r1, #0x34]
+_080480E0:
+ ldr r0, [r3]
+ ldr r4, _0804811C @ =0x0000132C
+ adds r2, r0, r4
+ ldr r1, [r2]
+ ldr r0, [r1, #0x28]
+ str r0, [r1, #0x2c]
+ ldr r1, [r2]
+ ldr r0, [r1, #0x34]
+ cmp r0, #0
+ bge _080480F6
+ adds r0, #0x7f
+_080480F6:
+ asrs r0, r0, #7
+ movs r3, #0
+ strh r0, [r1, #0x28]
+ ldr r1, [r2]
+ ldr r0, [r1, #0x38]
+ cmp r0, #0
+ bge _08048106
+ adds r0, #0x7f
+_08048106:
+ asrs r0, r0, #7
+ strh r0, [r1, #0x2a]
+ ldr r0, [r2]
+ strh r3, [r0, #0x30]
+ ldr r0, [r2]
+ strh r3, [r0, #0x32]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08048118: .4byte gUnknown_020314E0
+_0804811C: .4byte 0x0000132C
+_08048120: .4byte 0xFFFFFE00
+
+ thumb_func_start sub_48124
+sub_48124: @ 0x08048124
+ ldr r3, _08048188 @ =gMain
+ ldrh r1, [r3, #0x18]
+ movs r0, #0x40
+ ands r0, r1
+ cmp r0, #0
+ beq _0804813E
+ ldr r0, _0804818C @ =gUnknown_020314E0
+ ldr r1, [r0]
+ adds r1, #0x31
+ ldrb r0, [r1]
+ movs r2, #1
+ eors r0, r2
+ strb r0, [r1]
+_0804813E:
+ ldrh r1, [r3, #0x18]
+ movs r0, #0x80
+ ands r0, r1
+ cmp r0, #0
+ beq _08048156
+ ldr r0, _0804818C @ =gUnknown_020314E0
+ ldr r1, [r0]
+ adds r1, #0x31
+ ldrb r0, [r1]
+ movs r2, #1
+ eors r0, r2
+ strb r0, [r1]
+_08048156:
+ ldrh r1, [r3, #0x18]
+ movs r0, #0x10
+ ands r0, r1
+ cmp r0, #0
+ beq _0804816E
+ ldr r0, _0804818C @ =gUnknown_020314E0
+ ldr r1, [r0]
+ adds r1, #0x31
+ ldrb r0, [r1]
+ movs r2, #1
+ eors r0, r2
+ strb r0, [r1]
+_0804816E:
+ ldrh r1, [r3, #0x18]
+ movs r0, #0x20
+ ands r0, r1
+ cmp r0, #0
+ beq _08048186
+ ldr r0, _0804818C @ =gUnknown_020314E0
+ ldr r1, [r0]
+ adds r1, #0x31
+ ldrb r0, [r1]
+ movs r2, #1
+ eors r0, r2
+ strb r0, [r1]
+_08048186:
+ bx lr
+ .align 2, 0
+_08048188: .4byte gMain
+_0804818C: .4byte gUnknown_020314E0
+
+ thumb_func_start sub_48190
+sub_48190: @ 0x08048190
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #0x28
+ ldr r2, _080481F8 @ =gUnknown_020314E0
+ ldr r3, [r2]
+ ldr r1, _080481FC @ =0x0000063A
+ adds r0, r3, r1
+ ldrh r1, [r0]
+ movs r0, #0xd4
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ mov sl, r0
+ movs r4, #0
+ str r4, [sp, #0x10]
+ movs r7, #0
+ str r7, [sp, #0x14]
+ movs r0, #0
+ str r0, [sp, #0x18]
+ adds r1, r2, #0
+ mov r8, r1
+ ldr r6, _08048200 @ =0x040000D4
+ movs r2, #0xcf
+ lsls r2, r2, #3
+ adds r3, r3, r2
+ ldr r7, _08048204 @ =0x80000010
+ mov sb, r7
+_080481CC:
+ lsls r0, r4, #2
+ adds r1, r4, #1
+ mov ip, r1
+ adds r0, r0, r4
+ movs r1, #0x16
+ muls r1, r4, r1
+ lsls r4, r0, #2
+ movs r5, #0x13
+ lsls r1, r1, #5
+ ldr r7, _08048208 @ =0x06017400
+ adds r2, r1, r7
+_080481E2:
+ adds r0, r3, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #0x10
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x5f
+ bne _0804820C
+ movs r1, #0x30
+ b _0804821E
+ .align 2, 0
+_080481F8: .4byte gUnknown_020314E0
+_080481FC: .4byte 0x0000063A
+_08048200: .4byte 0x040000D4
+_08048204: .4byte 0x80000010
+_08048208: .4byte 0x06017400
+_0804820C:
+ cmp r0, #0x5e
+ bne _08048214
+ movs r1, #0x2f
+ b _0804821E
+_08048214:
+ cmp r0, #0x2e
+ ble _0804821E
+ subs r0, #0x41
+ lsls r0, r0, #0x10
+ lsrs r1, r0, #0x10
+_0804821E:
+ mov r7, r8
+ ldr r0, [r7]
+ ldr r7, _08048244 @ =0x0000063C
+ adds r0, r0, r7
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _0804824C
+ lsls r0, r1, #0x10
+ asrs r0, r0, #0xb
+ ldr r1, _08048248 @ =0x0850558C
+ adds r0, r0, r1
+ str r0, [r6]
+ str r2, [r6, #4]
+ mov r0, sb
+ str r0, [r6, #8]
+ b _08048256
+ .align 2, 0
+_08048244: .4byte 0x0000063C
+_08048248: .4byte 0x0850558C
+_0804824C:
+ ldr r0, _080483A0 @ =0x08505B8C
+ str r0, [r6]
+ str r2, [r6, #4]
+ mov r1, sb
+ str r1, [r6, #8]
+_08048256:
+ ldr r0, [r6, #8]
+ adds r2, #0x20
+ adds r4, #1
+ subs r5, #1
+ cmp r5, #0
+ bge _080481E2
+ mov r4, ip
+ cmp r4, #2
+ ble _080481CC
+ ldr r2, _080483A4 @ =gMain
+ ldrh r0, [r2, #0x12]
+ cmp r0, #0xb3
+ bls _08048272
+ b _08048412
+_08048272:
+ cmp r0, #0x32
+ bhi _08048278
+ b _08048412
+_08048278:
+ ldrh r1, [r2, #0x18]
+ movs r2, #1
+ adds r0, r2, #0
+ ands r0, r1
+ cmp r0, #0
+ bne _08048286
+ b _08048412
+_08048286:
+ ldr r4, _080483A8 @ =gUnknown_020314E0
+ ldr r3, [r4]
+ ldr r7, _080483AC @ =0x00000639
+ adds r0, r3, r7
+ movs r6, #0
+ ldrsb r6, [r0, r6]
+ cmp r6, #0
+ beq _08048298
+ b _080483CC
+_08048298:
+ ldr r0, _080483B0 @ =0x0000063A
+ adds r1, r3, r0
+ movs r0, #0x64
+ strh r0, [r1]
+ mov sl, r0
+ movs r2, #0xc7
+ lsls r2, r2, #3
+ adds r1, r3, r2
+ movs r0, #6
+ strb r0, [r1]
+ ldr r4, [r4]
+ movs r3, #0xc6
+ lsls r3, r3, #3
+ adds r5, r4, r3
+ subs r7, #0xf
+ adds r0, r4, r7
+ ldrb r1, [r0]
+ lsls r0, r1, #5
+ subs r0, r0, r1
+ lsls r2, r0, #6
+ subs r2, r2, r0
+ lsls r2, r2, #3
+ adds r2, r2, r1
+ lsls r2, r2, #5
+ ldr r1, _080483B4 @ =0x0000062B
+ adds r0, r4, r1
+ ldrb r1, [r0]
+ ldr r0, _080483B8 @ =0x000B71B0
+ muls r0, r1, r0
+ adds r2, r2, r0
+ subs r3, #4
+ adds r0, r4, r3
+ ldrb r3, [r0]
+ lsls r1, r3, #5
+ subs r1, r1, r3
+ lsls r0, r1, #6
+ subs r0, r0, r1
+ lsls r0, r0, #3
+ adds r0, r0, r3
+ lsls r0, r0, #5
+ adds r2, r2, r0
+ adds r7, #3
+ adds r0, r4, r7
+ ldrb r0, [r0]
+ ldr r1, _080483BC @ =0x000186A0
+ muls r0, r1, r0
+ adds r2, r2, r0
+ ldr r3, _080483C0 @ =0x0000062E
+ adds r0, r4, r3
+ ldrb r0, [r0]
+ muls r0, r1, r0
+ adds r2, r2, r0
+ str r2, [r5]
+ adds r7, #7
+ adds r4, r4, r7
+ str r6, [r4]
+ movs r0, #0x96
+ ldr r1, _080483A4 @ =gMain
+ strh r0, [r1, #0x12]
+ movs r5, #0
+ ldr r2, _080483A8 @ =gUnknown_020314E0
+ adds r7, #8
+ movs r3, #1
+_08048316:
+ ldr r0, [r2]
+ adds r0, r0, r7
+ adds r0, r0, r5
+ strb r3, [r0]
+ adds r5, #1
+ cmp r5, #0x13
+ ble _08048316
+ movs r5, #0
+ ldr r3, _080483A8 @ =gUnknown_020314E0
+ movs r2, #0xca
+ lsls r2, r2, #3
+ movs r1, #1
+_0804832E:
+ ldr r0, [r3]
+ adds r0, r0, r2
+ adds r0, r0, r5
+ strb r1, [r0]
+ adds r5, #1
+ cmp r5, #0x13
+ ble _0804832E
+ movs r5, #0
+ ldr r3, _080483A8 @ =gUnknown_020314E0
+ ldr r2, _080483C4 @ =0x00000664
+ movs r1, #1
+_08048344:
+ ldr r0, [r3]
+ adds r0, r0, r2
+ adds r0, r0, r5
+ strb r1, [r0]
+ adds r5, #1
+ cmp r5, #0x13
+ ble _08048344
+ movs r4, #0
+ ldr r2, _080483A8 @ =gUnknown_020314E0
+ mov sb, r2
+ ldr r3, _080483C8 @ =0x086B0128
+ mov r8, r3
+ movs r7, #0xcf
+ lsls r7, r7, #3
+ movs r6, #0xc7
+ lsls r6, r6, #3
+_08048364:
+ movs r5, #0
+ lsls r0, r4, #2
+ adds r1, r4, #1
+ mov ip, r1
+ adds r0, r0, r4
+ lsls r4, r0, #2
+_08048370:
+ mov r2, sb
+ ldr r0, [r2]
+ adds r2, r5, r4
+ adds r3, r0, r7
+ adds r3, r3, r2
+ adds r0, r0, r6
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #4
+ subs r0, r0, r1
+ lsls r0, r0, #2
+ adds r2, r2, r0
+ add r2, r8
+ ldrb r0, [r2]
+ strb r0, [r3]
+ adds r5, #1
+ cmp r5, #0x13
+ ble _08048370
+ mov r4, ip
+ cmp r4, #2
+ ble _08048364
+ movs r3, #1
+ str r3, [sp, #0x14]
+ b _08048412
+ .align 2, 0
+_080483A0: .4byte 0x08505B8C
+_080483A4: .4byte gMain
+_080483A8: .4byte gUnknown_020314E0
+_080483AC: .4byte 0x00000639
+_080483B0: .4byte 0x0000063A
+_080483B4: .4byte 0x0000062B
+_080483B8: .4byte 0x000B71B0
+_080483BC: .4byte 0x000186A0
+_080483C0: .4byte 0x0000062E
+_080483C4: .4byte 0x00000664
+_080483C8: .4byte 0x086B0128
+_080483CC:
+ ldr r4, _08048560 @ =0x0000063A
+ adds r0, r3, r4
+ movs r5, #0
+ strh r2, [r0]
+ movs r0, #0x33
+ ldr r7, _08048564 @ =gMain
+ strh r0, [r7, #0x12]
+ movs r0, #0x64
+ mov sl, r0
+ ldr r1, _08048568 @ =0x000006B4
+ adds r4, r3, r1
+ ldr r1, [r4]
+ cmp r1, #0
+ bne _080483F4
+ movs r2, #0xd7
+ lsls r2, r2, #3
+ adds r0, r3, r2
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _08048412
+_080483F4:
+ ldr r0, [r3, #0x44]
+ adds r0, r0, r1
+ str r0, [r3, #0x44]
+ movs r7, #0xd7
+ lsls r7, r7, #3
+ adds r2, r3, r7
+ ldr r0, [r3, #0x48]
+ ldr r1, [r2]
+ adds r0, r0, r1
+ str r0, [r3, #0x48]
+ str r5, [r4]
+ str r5, [r2]
+ movs r0, #0x91
+ bl m4aSongNumStart
+_08048412:
+ ldr r0, _08048564 @ =gMain
+ ldrh r1, [r0, #0x12]
+ mov r0, sl
+ lsls r0, r0, #0x10
+ str r0, [sp, #0x1c]
+ cmp r1, #0xb9
+ bne _08048496
+ ldr r1, _0804856C @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08048570 @ =0x00000639
+ adds r0, r0, r2
+ movs r3, #0
+ strb r3, [r0]
+ ldr r1, [r1]
+ ldr r4, _08048560 @ =0x0000063A
+ adds r2, r1, r4
+ movs r4, #0
+ movs r0, #0xd4
+ strh r0, [r2]
+ movs r2, #0xc7
+ lsls r2, r2, #3
+ adds r1, r1, r2
+ strb r4, [r1]
+ ldr r7, _0804856C @ =gUnknown_020314E0
+ ldr r0, [r7]
+ movs r4, #0xc6
+ lsls r4, r4, #3
+ adds r1, r0, r4
+ str r3, [r1]
+ ldr r7, _08048574 @ =0x00000634
+ adds r0, r0, r7
+ str r3, [r0]
+ movs r4, #0
+ ldr r0, _0804856C @ =gUnknown_020314E0
+ mov sb, r0
+ ldr r1, _08048578 @ =0x086B0128
+ mov r8, r1
+ adds r7, #0x44
+ adds r6, r2, #0
+_08048460:
+ movs r5, #0
+ lsls r0, r4, #2
+ adds r2, r4, #1
+ mov ip, r2
+ adds r0, r0, r4
+ lsls r4, r0, #2
+_0804846C:
+ mov r3, sb
+ ldr r0, [r3]
+ adds r2, r5, r4
+ adds r3, r0, r7
+ adds r3, r3, r2
+ adds r0, r0, r6
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #4
+ subs r0, r0, r1
+ lsls r0, r0, #2
+ adds r2, r2, r0
+ add r2, r8
+ ldrb r0, [r2]
+ strb r0, [r3]
+ adds r5, #1
+ cmp r5, #0x13
+ ble _0804846C
+ mov r4, ip
+ cmp r4, #2
+ ble _08048460
+_08048496:
+ ldr r4, _0804856C @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r4, _08048560 @ =0x0000063A
+ adds r0, r0, r4
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _080484A6
+ b _080487B2
+_080484A6:
+ ldr r7, _08048564 @ =gMain
+ ldrh r0, [r7, #0x12]
+ cmp r0, #0x95
+ bhi _080484B2
+ adds r0, #1
+ strh r0, [r7, #0x12]
+_080484B2:
+ ldr r0, _0804856C @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r2, #0xc7
+ lsls r2, r2, #3
+ adds r3, r1, r2
+ movs r0, #0
+ ldrsb r0, [r3, r0]
+ cmp r0, #4
+ ble _080484C6
+ b _08048650
+_080484C6:
+ ldr r3, [sp, #0x1c]
+ asrs r0, r3, #0x10
+ cmp r0, #0x58
+ bgt _08048580
+ movs r1, #0x18
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r7, r0, #0x10
+ cmp r7, #2
+ ble _080484DE
+ movs r7, #2
+_080484DE:
+ movs r4, #0
+ cmp r4, r7
+ bgt _080485D4
+ movs r6, #0
+ movs r3, #0
+_080484E8:
+ ldr r1, [sp, #0x1c]
+ asrs r0, r1, #0x10
+ subs r0, r0, r3
+ movs r1, #0x28
+ str r3, [sp, #0x24]
+ bl __modsi3
+ lsrs r1, r0, #0x1f
+ adds r0, r0, r1
+ asrs r5, r0, #1
+ ldr r2, _0804856C @ =gUnknown_020314E0
+ ldr r1, [r2]
+ movs r2, #0xc7
+ lsls r2, r2, #3
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ ldr r3, [sp, #0x24]
+ cmp r0, #0
+ beq _08048516
+ cmp r4, #2
+ beq _08048542
+_08048516:
+ adds r2, r5, r6
+ ldr r0, _0804857C @ =0x0000063C
+ adds r0, r0, r1
+ mov r8, r0
+ add r8, r2
+ mov r0, r8
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _08048542
+ movs r0, #0xcf
+ lsls r0, r0, #3
+ adds r1, r1, r0
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x5f
+ beq _08048542
+ movs r1, #1
+ str r1, [sp, #0x18]
+_08048542:
+ ldr r2, _0804856C @ =gUnknown_020314E0
+ ldr r0, [r2]
+ adds r1, r5, r6
+ ldr r2, _0804857C @ =0x0000063C
+ adds r0, r0, r2
+ adds r0, r0, r1
+ movs r1, #1
+ strb r1, [r0]
+ adds r6, #0x14
+ adds r3, #0x18
+ adds r4, #1
+ cmp r4, r7
+ ble _080484E8
+ b _080485D4
+ .align 2, 0
+_08048560: .4byte 0x0000063A
+_08048564: .4byte gMain
+_08048568: .4byte 0x000006B4
+_0804856C: .4byte gUnknown_020314E0
+_08048570: .4byte 0x00000639
+_08048574: .4byte 0x00000634
+_08048578: .4byte 0x086B0128
+_0804857C: .4byte 0x0000063C
+_08048580:
+ cmp r0, #0x93
+ ble _080485D4
+ subs r0, #0x94
+ lsls r4, r0, #0x10
+ asrs r5, r4, #0x10
+ adds r0, r5, #0
+ movs r1, #0x18
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r7, r0, #0x10
+ cmp r7, #1
+ ble _0804859C
+ movs r7, #1
+_0804859C:
+ str r4, [sp, #0x1c]
+ cmp r7, #0
+ blt _080485D4
+ movs r2, #0
+ adds r6, r5, #0
+ adds r4, r7, #1
+_080485A8:
+ adds r0, r6, #0
+ movs r1, #0x28
+ str r2, [sp, #0x20]
+ bl __modsi3
+ lsrs r1, r0, #0x1f
+ adds r0, r0, r1
+ asrs r5, r0, #1
+ ldr r3, _08048640 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ ldr r2, [sp, #0x20]
+ adds r0, r5, r2
+ ldr r7, _08048644 @ =0x0000063C
+ adds r1, r1, r7
+ adds r1, r1, r0
+ movs r0, #0
+ strb r0, [r1]
+ adds r2, #0x14
+ subs r6, #0x18
+ subs r4, #1
+ cmp r4, #0
+ bne _080485A8
+_080485D4:
+ ldr r0, _08048640 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r3, _08048648 @ =0x0000063A
+ adds r2, r1, r3
+ ldrh r0, [r2]
+ cmp r0, #1
+ beq _080485E4
+ b _080487A6
+_080485E4:
+ movs r0, #0xd4
+ strh r0, [r2]
+ movs r2, #0xc7
+ lsls r2, r2, #3
+ adds r1, r1, r2
+ ldrb r0, [r1]
+ adds r0, #1
+ strb r0, [r1]
+ movs r4, #0
+ ldr r7, _08048640 @ =gUnknown_020314E0
+ mov sl, r7
+ ldr r0, _0804864C @ =0x086B0128
+ mov sb, r0
+ movs r1, #0xcf
+ lsls r1, r1, #3
+ mov r8, r1
+ adds r6, r2, #0
+_08048606:
+ movs r5, #0
+ lsls r0, r4, #2
+ adds r2, r4, #1
+ mov ip, r2
+ adds r0, r0, r4
+ lsls r7, r0, #2
+_08048612:
+ mov r3, sl
+ ldr r0, [r3]
+ adds r2, r5, r7
+ mov r4, r8
+ adds r3, r0, r4
+ adds r3, r3, r2
+ adds r0, r0, r6
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #4
+ subs r0, r0, r1
+ lsls r0, r0, #2
+ adds r2, r2, r0
+ add r2, sb
+ ldrb r0, [r2]
+ strb r0, [r3]
+ adds r5, #1
+ cmp r5, #0x13
+ ble _08048612
+ mov r4, ip
+ cmp r4, #2
+ ble _08048606
+ b _080487A6
+ .align 2, 0
+_08048640: .4byte gUnknown_020314E0
+_08048644: .4byte 0x0000063C
+_08048648: .4byte 0x0000063A
+_0804864C: .4byte 0x086B0128
+_08048650:
+ cmp r0, #5
+ bne _08048720
+ ldr r7, [sp, #0x1c]
+ asrs r2, r7, #0x10
+ cmp r2, #0x10
+ bgt _08048672
+ rsbs r0, r2, #0
+ lsls r0, r0, #0x11
+ lsrs r0, r0, #0x10
+ str r0, [sp, #0x10]
+ cmp r2, #2
+ beq _0804866A
+ b _080487A6
+_0804866A:
+ movs r0, #0xa2
+ bl m4aSongNumStart
+ b _080487A6
+_08048672:
+ movs r0, #0
+ str r0, [sp, #0x10]
+ adds r1, r1, r4
+ movs r0, #0xd4
+ strh r0, [r1]
+ ldrb r0, [r3]
+ adds r0, #1
+ strb r0, [r3]
+ movs r5, #0
+ ldr r2, _08048710 @ =gUnknown_020314E0
+ ldr r7, _08048714 @ =0x0000063C
+ movs r3, #1
+_0804868A:
+ ldr r0, [r2]
+ adds r0, r0, r7
+ adds r0, r0, r5
+ strb r3, [r0]
+ adds r5, #1
+ cmp r5, #0x13
+ ble _0804868A
+ movs r5, #0
+ ldr r3, _08048710 @ =gUnknown_020314E0
+ movs r2, #0xca
+ lsls r2, r2, #3
+ movs r1, #0
+_080486A2:
+ ldr r0, [r3]
+ adds r0, r0, r2
+ adds r0, r0, r5
+ strb r1, [r0]
+ adds r5, #1
+ cmp r5, #0x13
+ ble _080486A2
+ movs r5, #0
+ ldr r3, _08048710 @ =gUnknown_020314E0
+ ldr r2, _08048718 @ =0x00000664
+ movs r1, #0
+_080486B8:
+ ldr r0, [r3]
+ adds r0, r0, r2
+ adds r0, r0, r5
+ strb r1, [r0]
+ adds r5, #1
+ cmp r5, #0x13
+ ble _080486B8
+ movs r4, #0
+ ldr r1, _08048710 @ =gUnknown_020314E0
+ mov sb, r1
+ ldr r2, _0804871C @ =0x086B0128
+ mov r8, r2
+ movs r7, #0xcf
+ lsls r7, r7, #3
+ movs r6, #0xc7
+ lsls r6, r6, #3
+_080486D8:
+ movs r5, #0
+ lsls r0, r4, #2
+ adds r3, r4, #1
+ mov ip, r3
+ adds r0, r0, r4
+ lsls r4, r0, #2
+_080486E4:
+ mov r1, sb
+ ldr r0, [r1]
+ adds r2, r5, r4
+ adds r3, r0, r7
+ adds r3, r3, r2
+ adds r0, r0, r6
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #4
+ subs r0, r0, r1
+ lsls r0, r0, #2
+ adds r2, r2, r0
+ add r2, r8
+ ldrb r0, [r2]
+ strb r0, [r3]
+ adds r5, #1
+ cmp r5, #0x13
+ ble _080486E4
+ mov r4, ip
+ cmp r4, #2
+ ble _080486D8
+ b _080487A6
+ .align 2, 0
+_08048710: .4byte gUnknown_020314E0
+_08048714: .4byte 0x0000063C
+_08048718: .4byte 0x00000664
+_0804871C: .4byte 0x086B0128
+_08048720:
+ ldr r2, [sp, #0x1c]
+ asrs r0, r2, #0x10
+ cmp r0, #0x58
+ bgt _080487A6
+ movs r1, #0x18
+ bl __divsi3
+ lsls r0, r0, #0x10
+ asrs r7, r0, #0x10
+ cmp r7, #2
+ ble _08048738
+ movs r7, #2
+_08048738:
+ movs r4, #0
+ cmp r4, r7
+ bgt _080487A6
+ movs r6, #0
+ movs r3, #0
+_08048742:
+ ldr r1, [sp, #0x1c]
+ asrs r0, r1, #0x10
+ subs r0, r0, r3
+ movs r1, #0x28
+ str r3, [sp, #0x24]
+ bl __modsi3
+ lsrs r1, r0, #0x1f
+ adds r0, r0, r1
+ asrs r5, r0, #1
+ ldr r3, [sp, #0x24]
+ cmp r4, #0
+ beq _0804878C
+ ldr r2, _080487E8 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ adds r2, r5, r6
+ ldr r0, _080487EC @ =0x0000063C
+ adds r0, r0, r1
+ mov r8, r0
+ add r8, r2
+ mov r0, r8
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0804878C
+ movs r0, #0xcf
+ lsls r0, r0, #3
+ adds r1, r1, r0
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x5f
+ beq _0804878C
+ movs r1, #1
+ str r1, [sp, #0x18]
+_0804878C:
+ ldr r2, _080487E8 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ adds r1, r5, r6
+ ldr r2, _080487EC @ =0x0000063C
+ adds r0, r0, r2
+ adds r0, r0, r1
+ movs r1, #1
+ strb r1, [r0]
+ adds r6, #0x14
+ adds r3, #0x18
+ adds r4, #1
+ cmp r4, r7
+ ble _08048742
+_080487A6:
+ ldr r3, [sp, #0x18]
+ cmp r3, #0
+ beq _080487B2
+ movs r0, #0xa1
+ bl m4aSongNumStart
+_080487B2:
+ movs r7, #0
+ movs r3, #0
+ ldr r0, _080487E8 @ =gUnknown_020314E0
+ ldr r5, [r0]
+ ldr r4, _080487F0 @ =0x0000063A
+ adds r1, r5, r4
+ ldrh r1, [r1]
+ cmp r1, #0xd4
+ beq _080487CE
+ ldr r0, [sp, #0x14]
+ cmp r0, #0
+ bne _080487CE
+ bl _0804908E
+_080487CE:
+ movs r1, #0xc7
+ lsls r1, r1, #3
+ adds r0, r5, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #6
+ bhi _08048894
+ lsls r0, r0, #2
+ ldr r1, _080487F4 @ =_080487F8
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080487E8: .4byte gUnknown_020314E0
+_080487EC: .4byte 0x0000063C
+_080487F0: .4byte 0x0000063A
+_080487F4: .4byte _080487F8
+_080487F8: @ jump table
+ .4byte _08048814 @ case 0
+ .4byte _08048828 @ case 1
+ .4byte _08048844 @ case 2
+ .4byte _08048860 @ case 3
+ .4byte _08048874 @ case 4
+ .4byte _08048890 @ case 5
+ .4byte _08048894 @ case 6
+_08048814:
+ ldr r2, _08048820 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r3, _08048824 @ =0x0000062A
+ adds r0, r0, r3
+ b _0804884C
+ .align 2, 0
+_08048820: .4byte gUnknown_020314E0
+_08048824: .4byte 0x0000062A
+_08048828:
+ ldr r4, _08048838 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r7, _0804883C @ =0x0000062B
+ adds r0, r0, r7
+ ldrb r7, [r0]
+ ldr r3, _08048840 @ =0x000B71B0
+ b _08048894
+ .align 2, 0
+_08048838: .4byte gUnknown_020314E0
+_0804883C: .4byte 0x0000062B
+_08048840: .4byte 0x000B71B0
+_08048844:
+ ldr r1, _08048854 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08048858 @ =0x0000062C
+ adds r0, r0, r2
+_0804884C:
+ ldrb r7, [r0]
+ ldr r3, _0804885C @ =0x0007A120
+ b _08048894
+ .align 2, 0
+_08048854: .4byte gUnknown_020314E0
+_08048858: .4byte 0x0000062C
+_0804885C: .4byte 0x0007A120
+_08048860:
+ ldr r3, _0804886C @ =gUnknown_020314E0
+ ldr r0, [r3]
+ ldr r4, _08048870 @ =0x0000062D
+ adds r0, r0, r4
+ b _0804887C
+ .align 2, 0
+_0804886C: .4byte gUnknown_020314E0
+_08048870: .4byte 0x0000062D
+_08048874:
+ ldr r7, _08048884 @ =gUnknown_020314E0
+ ldr r0, [r7]
+ ldr r1, _08048888 @ =0x0000062E
+ adds r0, r0, r1
+_0804887C:
+ ldrb r7, [r0]
+ ldr r3, _0804888C @ =0x000186A0
+ b _08048894
+ .align 2, 0
+_08048884: .4byte gUnknown_020314E0
+_08048888: .4byte 0x0000062E
+_0804888C: .4byte 0x000186A0
+_08048890:
+ movs r7, #0
+ movs r3, #0
+_08048894:
+ ldr r2, _08048900 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ movs r4, #0xc7
+ lsls r4, r4, #3
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #4
+ ble _080488AA
+ b _08048B80
+_080488AA:
+ mov r5, sp
+ adds r5, #2
+ adds r0, r7, #0
+ muls r0, r3, r0
+ mov r8, r0
+ movs r1, #7
+ add r1, sp
+ mov sl, r1
+ add r2, sp, #8
+ mov sb, r2
+ movs r1, #0
+ mov r0, sp
+ adds r0, #9
+_080488C4:
+ strb r1, [r0]
+ subs r0, #1
+ cmp r0, sp
+ bge _080488C4
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0x64
+ bl __divsi3
+ strb r0, [r4, #2]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0x64
+ bl __modsi3
+ movs r1, #0xa
+ bl __divsi3
+ strb r0, [r4, #1]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __modsi3
+ strb r0, [r4]
+ movs r4, #2
+ movs r0, #0
+ ldrsb r0, [r5, r0]
+ b _08048914
+ .align 2, 0
+_08048900: .4byte gUnknown_020314E0
+_08048904:
+ subs r4, #1
+ cmp r4, #0
+ ble _0804891C
+ mov r3, sp
+ adds r0, r3, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+_08048914:
+ cmp r0, #0
+ ble _08048904
+ cmp r0, #0xa
+ beq _08048904
+_0804891C:
+ movs r5, #0
+ cmp r5, r4
+ bgt _08048942
+ ldr r6, _080489FC @ =gUnknown_020314E0
+ movs r3, #0x13
+ movs r2, #0xcf
+ lsls r2, r2, #3
+_0804892A:
+ ldr r1, [r6]
+ subs r0, r3, r5
+ adds r1, r1, r2
+ adds r1, r1, r0
+ mov r7, sp
+ adds r0, r7, r5
+ ldrb r0, [r0]
+ adds r0, #0x1b
+ strb r0, [r1]
+ adds r5, #1
+ cmp r5, r4
+ ble _0804892A
+_08048942:
+ movs r1, #0
+ mov r0, sp
+ adds r0, #9
+_08048948:
+ strb r1, [r0]
+ subs r0, #1
+ cmp r0, sp
+ bge _08048948
+ mov r7, r8
+ ldr r1, _080489FC @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08048A00 @ =0x00000634
+ adds r0, r0, r2
+ str r7, [r0]
+ mov r5, sp
+ ldr r4, _08048A04 @ =0x00989680
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #7]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08048A08 @ =0x000F4240
+ adds r1, r4, #0
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r5, #6]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08048A0C @ =0x000186A0
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #5]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08048A10 @ =0x00002710
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #4]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r4, #0xfa
+ lsls r4, r4, #2
+ adds r1, r4, #0
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r5, #3]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r1, #0x64
+ bl __divsi3
+ strb r0, [r5, #2]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0x64
+ bl __modsi3
+ movs r1, #0xa
+ bl __divsi3
+ strb r0, [r4, #1]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __modsi3
+ strb r0, [r4]
+ movs r4, #7
+ mov r3, sl
+ movs r0, #0
+ ldrsb r0, [r3, r0]
+ b _08048A24
+ .align 2, 0
+_080489FC: .4byte gUnknown_020314E0
+_08048A00: .4byte 0x00000634
+_08048A04: .4byte 0x00989680
+_08048A08: .4byte 0x000F4240
+_08048A0C: .4byte 0x000186A0
+_08048A10: .4byte 0x00002710
+_08048A14:
+ subs r4, #1
+ cmp r4, #0
+ ble _08048A2C
+ mov r7, sp
+ adds r0, r7, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+_08048A24:
+ cmp r0, #0
+ ble _08048A14
+ cmp r0, #0xa
+ beq _08048A14
+_08048A2C:
+ movs r5, #0
+ cmp r5, r4
+ bgt _08048A50
+ ldr r6, _08048B1C @ =gUnknown_020314E0
+ movs r3, #0x13
+ ldr r2, _08048B20 @ =0x0000068C
+_08048A38:
+ ldr r1, [r6]
+ subs r0, r3, r5
+ adds r1, r1, r2
+ adds r1, r1, r0
+ mov r7, sp
+ adds r0, r7, r5
+ ldrb r0, [r0]
+ adds r0, #0x1b
+ strb r0, [r1]
+ adds r5, #1
+ cmp r5, r4
+ ble _08048A38
+_08048A50:
+ movs r1, #0
+ mov r0, sp
+ adds r0, #9
+_08048A56:
+ strb r1, [r0]
+ subs r0, #1
+ cmp r0, sp
+ bge _08048A56
+ ldr r1, _08048B1C @ =gUnknown_020314E0
+ ldr r0, [r1]
+ movs r2, #0xc6
+ lsls r2, r2, #3
+ adds r0, r0, r2
+ ldr r7, [r0]
+ mov r5, sp
+ ldr r4, _08048B24 @ =0x05F5E100
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #8]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08048B28 @ =0x00989680
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #7]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08048B2C @ =0x000F4240
+ adds r1, r4, #0
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r5, #6]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08048B30 @ =0x000186A0
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #5]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08048B34 @ =0x00002710
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #4]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r4, #0xfa
+ lsls r4, r4, #2
+ adds r1, r4, #0
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r5, #3]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r1, #0x64
+ bl __divsi3
+ strb r0, [r5, #2]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0x64
+ bl __modsi3
+ movs r1, #0xa
+ bl __divsi3
+ strb r0, [r4, #1]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __modsi3
+ strb r0, [r4]
+ movs r4, #8
+ mov r3, sb
+ movs r0, #0
+ ldrsb r0, [r3, r0]
+ b _08048B48
+ .align 2, 0
+_08048B1C: .4byte gUnknown_020314E0
+_08048B20: .4byte 0x0000068C
+_08048B24: .4byte 0x05F5E100
+_08048B28: .4byte 0x00989680
+_08048B2C: .4byte 0x000F4240
+_08048B30: .4byte 0x000186A0
+_08048B34: .4byte 0x00002710
+_08048B38:
+ subs r4, #1
+ cmp r4, #0
+ ble _08048B50
+ mov r7, sp
+ adds r0, r7, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+_08048B48:
+ cmp r0, #0
+ ble _08048B38
+ cmp r0, #0xa
+ beq _08048B38
+_08048B50:
+ movs r5, #0
+ cmp r5, r4
+ ble _08048B58
+ b _0804908E
+_08048B58:
+ ldr r6, _08048B7C @ =gUnknown_020314E0
+ movs r3, #0x13
+ movs r2, #0xd4
+ lsls r2, r2, #3
+_08048B60:
+ ldr r1, [r6]
+ subs r0, r3, r5
+ adds r1, r1, r2
+ adds r1, r1, r0
+ mov r7, sp
+ adds r0, r7, r5
+ ldrb r0, [r0]
+ adds r0, #0x1b
+ strb r0, [r1]
+ adds r5, #1
+ cmp r5, r4
+ ble _08048B60
+ b _0804908E
+ .align 2, 0
+_08048B7C: .4byte gUnknown_020314E0
+_08048B80:
+ cmp r0, #5
+ beq _08048B86
+ b _08048CB8
+_08048B86:
+ add r0, sp, #8
+ mov sb, r0
+ movs r1, #0
+ mov r0, sp
+ adds r0, #9
+_08048B90:
+ strb r1, [r0]
+ subs r0, #1
+ cmp r0, sp
+ bge _08048B90
+ ldr r1, _08048C58 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ movs r2, #0xc6
+ lsls r2, r2, #3
+ adds r0, r0, r2
+ ldr r7, [r0]
+ mov r5, sp
+ ldr r4, _08048C5C @ =0x05F5E100
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #8]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08048C60 @ =0x00989680
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #7]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08048C64 @ =0x000F4240
+ adds r1, r4, #0
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r5, #6]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08048C68 @ =0x000186A0
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #5]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08048C6C @ =0x00002710
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #4]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r4, #0xfa
+ lsls r4, r4, #2
+ adds r1, r4, #0
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r5, #3]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r1, #0x64
+ bl __divsi3
+ strb r0, [r5, #2]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0x64
+ bl __modsi3
+ movs r1, #0xa
+ bl __divsi3
+ strb r0, [r4, #1]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __modsi3
+ strb r0, [r4]
+ movs r4, #8
+ mov r3, sb
+ movs r0, #0
+ ldrsb r0, [r3, r0]
+ b _08048C80
+ .align 2, 0
+_08048C58: .4byte gUnknown_020314E0
+_08048C5C: .4byte 0x05F5E100
+_08048C60: .4byte 0x00989680
+_08048C64: .4byte 0x000F4240
+_08048C68: .4byte 0x000186A0
+_08048C6C: .4byte 0x00002710
+_08048C70:
+ subs r4, #1
+ cmp r4, #0
+ ble _08048C88
+ mov r7, sp
+ adds r0, r7, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+_08048C80:
+ cmp r0, #0
+ ble _08048C70
+ cmp r0, #0xa
+ beq _08048C70
+_08048C88:
+ movs r5, #0
+ cmp r5, r4
+ ble _08048C90
+ b _0804908E
+_08048C90:
+ ldr r6, _08048CB4 @ =gUnknown_020314E0
+ movs r3, #0x13
+ movs r2, #0xd4
+ lsls r2, r2, #3
+_08048C98:
+ ldr r1, [r6]
+ subs r0, r3, r5
+ adds r1, r1, r2
+ adds r1, r1, r0
+ mov r7, sp
+ adds r0, r7, r5
+ ldrb r0, [r0]
+ adds r0, #0x1b
+ strb r0, [r1]
+ adds r5, #1
+ cmp r5, r4
+ ble _08048C98
+ b _0804908E
+ .align 2, 0
+_08048CB4: .4byte gUnknown_020314E0
+_08048CB8:
+ add r0, sp, #8
+ mov sb, r0
+ movs r1, #5
+ add r1, sp
+ mov r8, r1
+ movs r2, #0xa
+ add r2, sp
+ mov sl, r2
+ movs r1, #0
+ mov r0, sp
+ adds r0, #9
+_08048CCE:
+ strb r1, [r0]
+ subs r0, #1
+ cmp r0, sp
+ bge _08048CCE
+ ldr r3, _08048D94 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ movs r4, #0xc6
+ lsls r4, r4, #3
+ adds r0, r0, r4
+ ldr r7, [r0]
+ mov r5, sp
+ ldr r4, _08048D98 @ =0x05F5E100
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #8]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08048D9C @ =0x00989680
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #7]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08048DA0 @ =0x000F4240
+ adds r1, r4, #0
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r5, #6]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08048DA4 @ =0x000186A0
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #5]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08048DA8 @ =0x00002710
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #4]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r4, #0xfa
+ lsls r4, r4, #2
+ adds r1, r4, #0
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r5, #3]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r1, #0x64
+ bl __divsi3
+ strb r0, [r5, #2]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0x64
+ bl __modsi3
+ movs r1, #0xa
+ bl __divsi3
+ strb r0, [r4, #1]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __modsi3
+ strb r0, [r4]
+ movs r4, #8
+ mov r7, sb
+ movs r0, #0
+ ldrsb r0, [r7, r0]
+ b _08048DBC
+ .align 2, 0
+_08048D94: .4byte gUnknown_020314E0
+_08048D98: .4byte 0x05F5E100
+_08048D9C: .4byte 0x00989680
+_08048DA0: .4byte 0x000F4240
+_08048DA4: .4byte 0x000186A0
+_08048DA8: .4byte 0x00002710
+_08048DAC:
+ subs r4, #1
+ cmp r4, #0
+ ble _08048DC4
+ mov r1, sp
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+_08048DBC:
+ cmp r0, #0
+ ble _08048DAC
+ cmp r0, #0xa
+ beq _08048DAC
+_08048DC4:
+ movs r5, #0
+ cmp r5, r4
+ bgt _08048DEA
+ ldr r6, _08048E7C @ =gUnknown_020314E0
+ movs r3, #0x13
+ movs r2, #0xcf
+ lsls r2, r2, #3
+_08048DD2:
+ ldr r1, [r6]
+ subs r0, r3, r5
+ adds r1, r1, r2
+ adds r1, r1, r0
+ mov r7, sp
+ adds r0, r7, r5
+ ldrb r0, [r0]
+ adds r0, #0x1b
+ strb r0, [r1]
+ adds r5, #1
+ cmp r5, r4
+ ble _08048DD2
+_08048DEA:
+ movs r1, #0
+ mov r0, sp
+ adds r0, #9
+_08048DF0:
+ strb r1, [r0]
+ subs r0, #1
+ cmp r0, sp
+ bge _08048DF0
+ ldr r1, _08048E7C @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08048E80 @ =0x0000062F
+ adds r0, r0, r2
+ ldrb r7, [r0]
+ mov r5, sp
+ ldr r1, _08048E84 @ =0x000F4240
+ adds r0, r7, #0
+ bl __modsi3
+ ldr r4, _08048E88 @ =0x000186A0
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #5]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08048E8C @ =0x00002710
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #4]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r4, #0xfa
+ lsls r4, r4, #2
+ adds r1, r4, #0
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r5, #3]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r1, #0x64
+ bl __divsi3
+ strb r0, [r5, #2]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0x64
+ bl __modsi3
+ movs r1, #0xa
+ bl __divsi3
+ strb r0, [r4, #1]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __modsi3
+ strb r0, [r4]
+ movs r4, #5
+ mov r3, r8
+ movs r0, #0
+ ldrsb r0, [r3, r0]
+ b _08048EA0
+ .align 2, 0
+_08048E7C: .4byte gUnknown_020314E0
+_08048E80: .4byte 0x0000062F
+_08048E84: .4byte 0x000F4240
+_08048E88: .4byte 0x000186A0
+_08048E8C: .4byte 0x00002710
+_08048E90:
+ subs r4, #1
+ cmp r4, #0
+ ble _08048EA8
+ mov r7, sp
+ adds r0, r7, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+_08048EA0:
+ cmp r0, #0
+ ble _08048E90
+ cmp r0, #0xa
+ beq _08048E90
+_08048EA8:
+ movs r5, #0
+ cmp r5, r4
+ bgt _08048ECC
+ ldr r6, _08049020 @ =gUnknown_020314E0
+ movs r3, #0x13
+ ldr r2, _08049024 @ =0x0000068C
+_08048EB4:
+ ldr r1, [r6]
+ subs r0, r3, r5
+ adds r1, r1, r2
+ adds r1, r1, r0
+ mov r7, sp
+ adds r0, r7, r5
+ ldrb r0, [r0]
+ adds r0, #0x1b
+ strb r0, [r1]
+ adds r5, #1
+ cmp r5, r4
+ ble _08048EB4
+_08048ECC:
+ movs r1, #0
+ mov r0, sp
+ adds r0, #0xa
+_08048ED2:
+ strb r1, [r0]
+ subs r0, #1
+ cmp r0, sp
+ bge _08048ED2
+ movs r7, #0
+ movs r5, #0
+ ldr r1, _08049020 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r1, _08049028 @ =0x0000062F
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _08048F24
+ ldr r2, _08049020 @ =gUnknown_020314E0
+ adds r6, r1, #0
+_08048EF0:
+ ldr r4, [r2]
+ movs r3, #0xc6
+ lsls r3, r3, #3
+ adds r0, r4, r3
+ ldr r0, [r0]
+ adds r7, r7, r0
+ adds r0, r7, #0
+ ldr r1, _0804902C @ =0x0BEBC200
+ str r2, [sp, #0x20]
+ bl __divsi3
+ ldr r2, [sp, #0x20]
+ cmp r0, #0
+ ble _08048F12
+ ldr r0, _08049030 @ =0xF4143E00
+ adds r7, r7, r0
+ adds r5, #2
+_08048F12:
+ adds r1, r4, r6
+ ldrb r0, [r1]
+ subs r0, #1
+ strb r0, [r1]
+ ldr r0, [r2]
+ adds r0, r0, r6
+ ldrb r0, [r0]
+ cmp r0, #0
+ bne _08048EF0
+_08048F24:
+ ldr r1, _08049034 @ =0x05F5E100
+ mov r8, r1
+ adds r0, r7, #0
+ bl __divsi3
+ cmp r0, #0
+ ble _08048F38
+ ldr r2, _08049038 @ =0xFA0A1F00
+ adds r7, r7, r2
+ adds r5, #1
+_08048F38:
+ ldr r3, _08049020 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ movs r4, #0xd7
+ lsls r4, r4, #3
+ adds r1, r0, r4
+ str r5, [r1]
+ ldr r1, _0804903C @ =0x000006B4
+ adds r0, r0, r1
+ str r7, [r0]
+ mov r4, sp
+ movs r6, #0xfa
+ lsls r6, r6, #2
+ adds r0, r5, #0
+ adds r1, r6, #0
+ bl __modsi3
+ movs r1, #0x64
+ bl __divsi3
+ strb r0, [r4, #0xa]
+ mov r4, sp
+ adds r0, r5, #0
+ movs r1, #0x64
+ bl __modsi3
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r4, #9]
+ mov r4, sp
+ adds r0, r5, #0
+ movs r1, #0xa
+ bl __modsi3
+ strb r0, [r4, #8]
+ mov r5, sp
+ adds r0, r7, #0
+ mov r1, r8
+ bl __modsi3
+ ldr r4, _08049040 @ =0x00989680
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #7]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08049044 @ =0x000F4240
+ adds r1, r4, #0
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r5, #6]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08049048 @ =0x000186A0
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #5]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _0804904C @ =0x00002710
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #4]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ adds r1, r6, #0
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r5, #3]
+ mov r4, sp
+ adds r0, r7, #0
+ adds r1, r6, #0
+ bl __modsi3
+ movs r1, #0x64
+ bl __divsi3
+ strb r0, [r4, #2]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0x64
+ bl __modsi3
+ movs r1, #0xa
+ bl __divsi3
+ strb r0, [r4, #1]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __modsi3
+ strb r0, [r4]
+ movs r4, #0xa
+ mov r2, sl
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ b _08049060
+ .align 2, 0
+_08049020: .4byte gUnknown_020314E0
+_08049024: .4byte 0x0000068C
+_08049028: .4byte 0x0000062F
+_0804902C: .4byte 0x0BEBC200
+_08049030: .4byte 0xF4143E00
+_08049034: .4byte 0x05F5E100
+_08049038: .4byte 0xFA0A1F00
+_0804903C: .4byte 0x000006B4
+_08049040: .4byte 0x00989680
+_08049044: .4byte 0x000F4240
+_08049048: .4byte 0x000186A0
+_0804904C: .4byte 0x00002710
+_08049050:
+ subs r4, #1
+ cmp r4, #0
+ ble _08049068
+ mov r3, sp
+ adds r0, r3, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+_08049060:
+ cmp r0, #0
+ ble _08049050
+ cmp r0, #0xa
+ beq _08049050
+_08049068:
+ movs r5, #0
+ cmp r5, r4
+ bgt _0804908E
+ ldr r6, _080490FC @ =gUnknown_020314E0
+ movs r3, #0x13
+ movs r2, #0xd4
+ lsls r2, r2, #3
+_08049076:
+ ldr r1, [r6]
+ subs r0, r3, r5
+ adds r1, r1, r2
+ adds r1, r1, r0
+ mov r7, sp
+ adds r0, r7, r5
+ ldrb r0, [r0]
+ adds r0, #0x1b
+ strb r0, [r1]
+ adds r5, #1
+ cmp r5, r4
+ ble _08049076
+_0804908E:
+ ldr r1, [sp, #0x1c]
+ ldr r2, _08049100 @ =0xFFA60000
+ adds r0, r1, r2
+ lsrs r0, r0, #0x10
+ cmp r0, #0x32
+ bls _0804909C
+ b _0804948A
+_0804909C:
+ ldr r3, _080490FC @ =gUnknown_020314E0
+ ldr r1, [r3]
+ movs r4, #0xc7
+ lsls r4, r4, #3
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #4
+ ble _080490B2
+ b _08049250
+_080490B2:
+ ldr r3, _08049104 @ =0x00000634
+ adds r0, r1, r3
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _080490C4
+ ldr r7, _08049108 @ =0x0000063A
+ adds r1, r1, r7
+ movs r0, #0x64
+ strh r0, [r1]
+_080490C4:
+ ldr r0, _0804910C @ =gMain
+ ldr r2, [r0, #0x4c]
+ movs r0, #1
+ ands r2, r0
+ cmp r2, #0
+ bne _08049134
+ ldr r0, _080490FC @ =gUnknown_020314E0
+ ldr r1, [r0]
+ adds r4, r1, r3
+ ldr r3, [r4]
+ ldr r0, _08049110 @ =0x00030D3F
+ cmp r3, r0
+ bls _0804911C
+ ldr r2, _08049114 @ =0xFFFCF2C0
+ adds r0, r3, r2
+ str r0, [r4]
+ movs r3, #0xc6
+ lsls r3, r3, #3
+ adds r1, r1, r3
+ ldr r0, [r1]
+ ldr r4, _08049118 @ =0x00030D40
+ adds r0, r0, r4
+ str r0, [r1]
+ movs r0, #0x91
+ bl m4aSongNumStart
+ b _08049134
+ .align 2, 0
+_080490FC: .4byte gUnknown_020314E0
+_08049100: .4byte 0xFFA60000
+_08049104: .4byte 0x00000634
+_08049108: .4byte 0x0000063A
+_0804910C: .4byte gMain
+_08049110: .4byte 0x00030D3F
+_08049114: .4byte 0xFFFCF2C0
+_08049118: .4byte 0x00030D40
+_0804911C:
+ cmp r3, #0
+ beq _08049134
+ movs r7, #0xc6
+ lsls r7, r7, #3
+ adds r1, r1, r7
+ ldr r0, [r1]
+ adds r0, r0, r3
+ str r0, [r1]
+ str r2, [r4]
+ movs r0, #0x91
+ bl m4aSongNumStart
+_08049134:
+ ldr r6, _080491F0 @ =gUnknown_020314E0
+ ldr r0, [r6]
+ movs r1, #0xc6
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ ldr r7, [r0]
+ mov r5, sp
+ ldr r4, _080491F4 @ =0x05F5E100
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #8]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _080491F8 @ =0x00989680
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #7]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _080491FC @ =0x000F4240
+ adds r1, r4, #0
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r5, #6]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08049200 @ =0x000186A0
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #5]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08049204 @ =0x00002710
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #4]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r4, #0xfa
+ lsls r4, r4, #2
+ adds r1, r4, #0
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r5, #3]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ movs r1, #0x64
+ bl __divsi3
+ strb r0, [r5, #2]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0x64
+ bl __modsi3
+ movs r1, #0xa
+ bl __divsi3
+ strb r0, [r4, #1]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __modsi3
+ strb r0, [r4]
+ movs r4, #8
+ add r0, sp, #8
+ b _08049212
+ .align 2, 0
+_080491F0: .4byte gUnknown_020314E0
+_080491F4: .4byte 0x05F5E100
+_080491F8: .4byte 0x00989680
+_080491FC: .4byte 0x000F4240
+_08049200: .4byte 0x000186A0
+_08049204: .4byte 0x00002710
+_08049208:
+ subs r4, #1
+ cmp r4, #0
+ ble _08049220
+ mov r2, sp
+ adds r0, r2, r4
+_08049212:
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _08049208
+ cmp r0, #0xa
+ beq _08049208
+_08049220:
+ movs r5, #0
+ cmp r5, r4
+ ble _08049228
+ b _0804948A
+_08049228:
+ ldr r6, _0804924C @ =gUnknown_020314E0
+ movs r3, #0x13
+ movs r2, #0xd4
+ lsls r2, r2, #3
+_08049230:
+ ldr r1, [r6]
+ subs r0, r3, r5
+ adds r1, r1, r2
+ adds r1, r1, r0
+ mov r7, sp
+ adds r0, r7, r5
+ ldrb r0, [r0]
+ adds r0, #0x1b
+ strb r0, [r1]
+ adds r5, #1
+ cmp r5, r4
+ ble _08049230
+ b _0804948A
+ .align 2, 0
+_0804924C: .4byte gUnknown_020314E0
+_08049250:
+ cmp r0, #6
+ beq _08049256
+ b _0804948A
+_08049256:
+ ldr r0, _080492A4 @ =0x00000639
+ adds r1, r1, r0
+ movs r0, #1
+ strb r0, [r1]
+ ldr r2, _080492A8 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldr r3, _080492AC @ =0x000006B4
+ adds r0, r1, r3
+ ldr r0, [r0]
+ cmp r0, #0
+ bne _08049278
+ movs r4, #0xd7
+ lsls r4, r4, #3
+ adds r0, r1, r4
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _08049280
+_08049278:
+ ldr r7, _080492B0 @ =0x0000063A
+ adds r1, r1, r7
+ movs r0, #0x64
+ strh r0, [r1]
+_08049280:
+ ldr r0, _080492B4 @ =gMain
+ ldr r0, [r0, #0x4c]
+ movs r1, #1
+ ands r0, r1
+ cmp r0, #0
+ bne _08049302
+ ldr r0, _080492A8 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r0, _080492AC @ =0x000006B4
+ adds r5, r2, r0
+ ldr r3, [r5]
+ ldr r0, _080492B8 @ =0x00030D3F
+ cmp r3, r0
+ bls _080492C0
+ ldr r1, _080492BC @ =0xFFFCF2C0
+ adds r0, r3, r1
+ b _080492D6
+ .align 2, 0
+_080492A4: .4byte 0x00000639
+_080492A8: .4byte gUnknown_020314E0
+_080492AC: .4byte 0x000006B4
+_080492B0: .4byte 0x0000063A
+_080492B4: .4byte gMain
+_080492B8: .4byte 0x00030D3F
+_080492BC: .4byte 0xFFFCF2C0
+_080492C0:
+ movs r7, #0xd7
+ lsls r7, r7, #3
+ adds r4, r2, r7
+ ldr r1, [r4]
+ cmp r1, #0
+ beq _080492F0
+ subs r0, r1, #1
+ str r0, [r4]
+ ldr r0, [r5]
+ ldr r1, _080492E8 @ =0x05F2D3C0
+ adds r0, r0, r1
+_080492D6:
+ str r0, [r5]
+ ldr r0, [r2, #0x44]
+ ldr r3, _080492EC @ =0x00030D40
+ adds r0, r0, r3
+ str r0, [r2, #0x44]
+ movs r0, #0x91
+ bl m4aSongNumStart
+ b _08049302
+ .align 2, 0
+_080492E8: .4byte 0x05F2D3C0
+_080492EC: .4byte 0x00030D40
+_080492F0:
+ cmp r3, #0
+ beq _08049302
+ ldr r0, [r2, #0x44]
+ adds r0, r0, r3
+ str r0, [r2, #0x44]
+ str r1, [r5]
+ movs r0, #0x91
+ bl m4aSongNumStart
+_08049302:
+ movs r4, #0xa
+ add r4, sp
+ mov sl, r4
+ movs r1, #0
+ mov r0, sl
+_0804930C:
+ strb r1, [r0]
+ subs r0, #1
+ cmp r0, sp
+ bge _0804930C
+ movs r5, #0
+ ldr r7, _0804942C @ =gUnknown_020314E0
+ movs r6, #0xd4
+ lsls r6, r6, #3
+ ldr r4, _08049430 @ =0x086B0150
+ movs r3, #0xc7
+ lsls r3, r3, #3
+_08049322:
+ ldr r0, [r7]
+ adds r2, r0, r6
+ adds r2, r2, r5
+ adds r0, r0, r3
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #4
+ subs r0, r0, r1
+ lsls r0, r0, #2
+ adds r0, r5, r0
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ strb r0, [r2]
+ adds r5, #1
+ cmp r5, #0x13
+ ble _08049322
+ ldr r7, _0804942C @ =gUnknown_020314E0
+ ldr r0, [r7]
+ movs r2, #0xd7
+ lsls r2, r2, #3
+ adds r1, r0, r2
+ ldr r5, [r1]
+ ldr r3, _08049434 @ =0x000006B4
+ adds r0, r0, r3
+ ldr r7, [r0]
+ mov r4, sp
+ movs r6, #0xfa
+ lsls r6, r6, #2
+ adds r0, r5, #0
+ adds r1, r6, #0
+ bl __modsi3
+ movs r1, #0x64
+ bl __divsi3
+ strb r0, [r4, #0xa]
+ mov r4, sp
+ adds r0, r5, #0
+ movs r1, #0x64
+ bl __modsi3
+ movs r1, #0xa
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r4, #9]
+ mov r4, sp
+ adds r0, r5, #0
+ movs r1, #0xa
+ bl __modsi3
+ strb r0, [r4, #8]
+ mov r5, sp
+ ldr r1, _08049438 @ =0x05F5E100
+ adds r0, r7, #0
+ bl __modsi3
+ ldr r4, _0804943C @ =0x00989680
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #7]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08049440 @ =0x000F4240
+ adds r1, r4, #0
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r5, #6]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08049444 @ =0x000186A0
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #5]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ ldr r4, _08049448 @ =0x00002710
+ adds r1, r4, #0
+ bl __divsi3
+ strb r0, [r5, #4]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __modsi3
+ adds r1, r6, #0
+ bl __divsi3
+ adds r0, #0xa
+ strb r0, [r5, #3]
+ mov r4, sp
+ adds r0, r7, #0
+ adds r1, r6, #0
+ bl __modsi3
+ movs r1, #0x64
+ bl __divsi3
+ strb r0, [r4, #2]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0x64
+ bl __modsi3
+ movs r1, #0xa
+ bl __divsi3
+ strb r0, [r4, #1]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __modsi3
+ strb r0, [r4]
+ movs r4, #0xa
+ mov r7, sl
+ movs r0, #0
+ ldrsb r0, [r7, r0]
+ b _0804945C
+ .align 2, 0
+_0804942C: .4byte gUnknown_020314E0
+_08049430: .4byte 0x086B0150
+_08049434: .4byte 0x000006B4
+_08049438: .4byte 0x05F5E100
+_0804943C: .4byte 0x00989680
+_08049440: .4byte 0x000F4240
+_08049444: .4byte 0x000186A0
+_08049448: .4byte 0x00002710
+_0804944C:
+ subs r4, #1
+ cmp r4, #0
+ ble _08049464
+ mov r1, sp
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+_0804945C:
+ cmp r0, #0
+ ble _0804944C
+ cmp r0, #0xa
+ beq _0804944C
+_08049464:
+ movs r5, #0
+ cmp r5, r4
+ bgt _0804948A
+ ldr r6, _08049584 @ =gUnknown_020314E0
+ movs r3, #0x13
+ movs r2, #0xd4
+ lsls r2, r2, #3
+_08049472:
+ ldr r1, [r6]
+ subs r0, r3, r5
+ adds r1, r1, r2
+ adds r1, r1, r0
+ mov r7, sp
+ adds r0, r7, r5
+ ldrb r0, [r0]
+ adds r0, #0x1b
+ strb r0, [r1]
+ adds r5, #1
+ cmp r5, r4
+ ble _08049472
+_0804948A:
+ ldr r1, _08049584 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _08049588 @ =0x0000063A
+ adds r1, r0, r2
+ ldrh r0, [r1]
+ cmp r0, #0
+ beq _0804949C
+ subs r0, #1
+ strh r0, [r1]
+_0804949C:
+ ldr r6, _0804958C @ =0x0200BA30
+ ldrh r0, [r6]
+ cmp r0, #0
+ beq _08049572
+ movs r0, #0x78
+ strh r0, [r6, #2]
+ ldr r3, _08049584 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ adds r0, #0xfc
+ ldrh r0, [r0]
+ adds r0, #0x26
+ strh r0, [r6, #4]
+ ldr r4, [sp, #0x10]
+ lsls r4, r4, #0x10
+ mov r8, r4
+ ldr r7, _08049590 @ =gOamBuffer
+ ldr r0, _08049594 @ =0xFFFFFE00
+ mov sl, r0
+ adds r4, r6, #0
+ adds r4, #8
+ ldr r1, _08049598 @ =0x000001FF
+ mov sb, r1
+ movs r5, #0xd
+_080494CA:
+ ldrh r3, [r4]
+ lsls r3, r3, #3
+ adds r3, r3, r7
+ movs r2, #2
+ ldrsh r1, [r4, r2]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ mov r0, sb
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, sl
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r4]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r2, [r4, #4]
+ adds r0, r0, r2
+ strb r0, [r1]
+ adds r4, #8
+ subs r5, #1
+ cmp r5, #0
+ bge _080494CA
+ movs r4, #0
+ mov r3, r8
+ asrs r3, r3, #0x10
+ mov sl, r3
+ ldr r7, _08049590 @ =gOamBuffer
+ ldr r0, _08049594 @ =0xFFFFFE00
+ mov sb, r0
+ ldr r1, _08049598 @ =0x000001FF
+ mov r8, r1
+_08049510:
+ movs r0, #0xb8
+ muls r0, r4, r0
+ ldr r2, _0804959C @ =0x0200B808
+ adds r6, r0, r2
+ movs r0, #0x68
+ strh r0, [r6, #2]
+ lsls r1, r4, #4
+ ldr r3, _08049584 @ =gUnknown_020314E0
+ ldr r0, [r3]
+ adds r0, #0xfc
+ ldrh r0, [r0]
+ adds r0, #0x40
+ adds r1, r1, r0
+ add r1, sl
+ strh r1, [r6, #4]
+ adds r4, #1
+ mov ip, r4
+ adds r4, r6, #0
+ adds r4, #8
+ movs r5, #4
+_08049538:
+ ldrh r2, [r4]
+ lsls r2, r2, #3
+ adds r2, r2, r7
+ movs r0, #2
+ ldrsh r1, [r4, r0]
+ movs r3, #2
+ ldrsh r0, [r6, r3]
+ adds r1, r1, r0
+ mov r0, r8
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ mov r0, sb
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r1, [r4]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r0, [r6, #4]
+ ldrb r2, [r4, #4]
+ adds r0, r0, r2
+ strb r0, [r1]
+ adds r4, #8
+ subs r5, #1
+ cmp r5, #0
+ bge _08049538
+ mov r4, ip
+ cmp r4, #2
+ ble _08049510
+_08049572:
+ add sp, #0x28
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08049584: .4byte gUnknown_020314E0
+_08049588: .4byte 0x0000063A
+_0804958C: .4byte 0x0200BA30
+_08049590: .4byte gOamBuffer
+_08049594: .4byte 0xFFFFFE00
+_08049598: .4byte 0x000001FF
+_0804959C: .4byte 0x0200B808
+
+ thumb_func_start sub_495A0
+sub_495A0: @ 0x080495A0
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ ldr r4, _080495DC @ =0xFFFFFDFC
+ add sp, r4
+ ldr r2, _080495E0 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r1, _080495E4 @ =0x00001104
+ adds r0, r0, r1
+ movs r3, #0
+ movs r1, #1
+ strb r1, [r0]
+ ldr r1, [r2]
+ ldr r2, _080495E8 @ =0x0000131C
+ adds r0, r1, r2
+ str r3, [r0]
+ ldr r2, _080495EC @ =0x02032EE0
+ ldr r0, [r2, #4]
+ cmp r0, #0
+ blt _080495F4
+ ldr r5, _080495F0 @ =0x00000F4C
+ adds r1, r1, r5
+ ldr r0, [r2]
+ str r0, [r1]
+ adds r0, r2, #0
+ bl m4aMPlayStop
+ b _080495FA
+ .align 2, 0
+_080495DC: .4byte 0xFFFFFDFC
+_080495E0: .4byte gUnknown_020314E0
+_080495E4: .4byte 0x00001104
+_080495E8: .4byte 0x0000131C
+_080495EC: .4byte 0x02032EE0
+_080495F0: .4byte 0x00000F4C
+_080495F4:
+ ldr r2, _08049628 @ =0x00000F4C
+ adds r0, r1, r2
+ str r3, [r0]
+_080495FA:
+ bl m4aMPlayAllStop
+ movs r0, #0xa5
+ bl m4aSongNumStart
+ ldr r2, _0804962C @ =gMain
+ ldrb r0, [r2, #4]
+ cmp r0, #1
+ bhi _0804963C
+ ldr r0, _08049630 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ adds r1, r0, #0
+ adds r1, #0x68
+ ldrh r1, [r1]
+ adds r0, #0x6a
+ strh r1, [r0]
+ ldrb r0, [r2, #4]
+ cmp r0, #0
+ bne _08049634
+ bl sub_4E814
+ b _0804963C
+ .align 2, 0
+_08049628: .4byte 0x00000F4C
+_0804962C: .4byte gMain
+_08049630: .4byte gUnknown_020314E0
+_08049634:
+ cmp r0, #1
+ bne _0804963C
+ bl sub_4F814
+_0804963C:
+ ldr r4, _08049708 @ =gUnknown_020314E0
+ ldr r2, [r4]
+ ldr r3, _0804970C @ =gMain
+ ldrh r1, [r3, #0x38]
+ ldr r5, _08049710 @ =0x00001106
+ adds r0, r2, r5
+ ldrh r5, [r0]
+ strh r1, [r0]
+ ldrh r1, [r3, #0x3a]
+ ldr r5, _08049714 @ =0x00001108
+ adds r0, r2, r5
+ ldrh r5, [r0]
+ strh r1, [r0]
+ ldrh r1, [r3, #0x3c]
+ ldr r5, _08049718 @ =0x0000110A
+ adds r0, r2, r5
+ ldrh r5, [r0]
+ strh r1, [r0]
+ ldrh r1, [r3, #0x2c]
+ ldr r5, _0804971C @ =0x0000110C
+ adds r0, r2, r5
+ strh r1, [r0]
+ ldrh r1, [r3, #0x26]
+ adds r5, #2
+ adds r0, r2, r5
+ strh r1, [r0]
+ ldr r1, _08049720 @ =0x040000D4
+ ldr r0, _08049724 @ =0x05000200
+ str r0, [r1]
+ ldr r0, _08049728 @ =0x0000111A
+ adds r2, r2, r0
+ str r2, [r1, #4]
+ ldr r0, _0804972C @ =0x80000100
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ movs r1, #0
+ add r6, sp, #0x200
+ movs r2, #0x9c
+ lsls r2, r2, #1
+ add r2, sp
+ mov sl, r2
+_0804968E:
+ movs r5, #0
+ lsls r1, r1, #0x10
+ mov sb, r1
+ mov r0, sb
+ asrs r0, r0, #0x10
+ mov r8, r0
+_0804969A:
+ lsls r7, r5, #0x10
+ mov r1, r8
+ cmp r1, #9
+ bne _080496A8
+ asrs r0, r7, #0x10
+ cmp r0, #0xc
+ beq _08049730
+_080496A8:
+ ldr r2, _08049708 @ =gUnknown_020314E0
+ ldr r4, [r2]
+ asrs r5, r7, #0xf
+ mov r1, r8
+ lsls r0, r1, #5
+ adds r5, r5, r0
+ ldr r2, _08049728 @ =0x0000111A
+ adds r4, r4, r2
+ adds r4, r4, r5
+ ldrh r1, [r4]
+ movs r0, #0x1f
+ ands r0, r1
+ lsls r0, r0, #1
+ movs r1, #5
+ bl __divsi3
+ strb r0, [r6]
+ ldrh r0, [r4]
+ movs r2, #0xf8
+ lsls r2, r2, #2
+ adds r1, r2, #0
+ ands r0, r1
+ lsrs r0, r0, #4
+ movs r1, #5
+ bl __divsi3
+ strb r0, [r6, #1]
+ ldrh r0, [r4]
+ movs r2, #0xf8
+ lsls r2, r2, #7
+ adds r1, r2, #0
+ ands r0, r1
+ lsrs r0, r0, #9
+ movs r1, #5
+ bl __divsi3
+ strb r0, [r6, #2]
+ mov r0, sp
+ adds r2, r0, r5
+ ldrb r1, [r6]
+ ldrb r0, [r6, #1]
+ lsls r0, r0, #5
+ orrs r1, r0
+ ldrb r0, [r6, #2]
+ lsls r0, r0, #0xa
+ orrs r1, r0
+ strh r1, [r2]
+ b _08049736
+ .align 2, 0
+_08049708: .4byte gUnknown_020314E0
+_0804970C: .4byte gMain
+_08049710: .4byte 0x00001106
+_08049714: .4byte 0x00001108
+_08049718: .4byte 0x0000110A
+_0804971C: .4byte 0x0000110C
+_08049720: .4byte 0x040000D4
+_08049724: .4byte 0x05000200
+_08049728: .4byte 0x0000111A
+_0804972C: .4byte 0x80000100
+_08049730:
+ ldr r0, _08049770 @ =0x00007FFF
+ mov r1, sl
+ strh r0, [r1]
+_08049736:
+ movs r2, #0x80
+ lsls r2, r2, #9
+ adds r0, r7, r2
+ lsrs r5, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xf
+ ble _0804969A
+ adds r0, r2, #0
+ add r0, sb
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xf
+ ble _0804968E
+ ldr r1, _08049774 @ =0x040000D4
+ mov r5, sp
+ str r5, [r1]
+ ldr r0, _08049778 @ =0x05000200
+ str r0, [r1, #4]
+ ldr r0, _0804977C @ =0x80000100
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r0, _08049780 @ =gMain
+ ldrb r3, [r0, #4]
+ cmp r3, #1
+ bhi _08049784
+ bl sub_1D4D0
+ b _080497A0
+ .align 2, 0
+_08049770: .4byte 0x00007FFF
+_08049774: .4byte 0x040000D4
+_08049778: .4byte 0x05000200
+_0804977C: .4byte 0x80000100
+_08049780: .4byte gMain
+_08049784:
+ cmp r3, #2
+ bne _0804978E
+ bl sub_356A0
+ b _080497A0
+_0804978E:
+ cmp r3, #4
+ bne _08049798
+ bl sub_3ADA0
+ b _080497A0
+_08049798:
+ cmp r3, #5
+ bne _080497A0
+ bl sub_3E5D0
+_080497A0:
+ movs r0, #1
+ bl sub_11F0
+ movs r3, #0x81
+ lsls r3, r3, #2
+ add sp, r3
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+
+ thumb_func_start sub_497BC
+sub_497BC: @ 0x080497BC
+ push {lr}
+ ldr r1, _08049824 @ =gMain
+ ldr r0, _08049828 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r3, _0804982C @ =0x00001106
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ ldrh r3, [r1, #0x38]
+ strh r0, [r1, #0x38]
+ ldr r3, _08049830 @ =0x00001108
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ ldrh r3, [r1, #0x3a]
+ strh r0, [r1, #0x3a]
+ ldr r3, _08049834 @ =0x0000110A
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ ldrh r3, [r1, #0x3c]
+ strh r0, [r1, #0x3c]
+ ldr r3, _08049838 @ =0x0000110C
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ strh r0, [r1, #0x2c]
+ adds r3, #2
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ strh r0, [r1, #0x26]
+ ldr r1, _0804983C @ =0x040000D4
+ adds r3, #0xc
+ adds r0, r2, r3
+ str r0, [r1]
+ ldr r0, _08049840 @ =0x05000200
+ str r0, [r1, #4]
+ ldr r0, _08049844 @ =0x80000100
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r0, _08049848 @ =0x00000F4C
+ adds r2, r2, r0
+ ldr r0, [r2]
+ cmp r0, #0
+ beq _08049814
+ ldr r0, _0804984C @ =0x02032EE0
+ bl m4aMPlayContinue
+_08049814:
+ movs r0, #0xa6
+ bl m4aSongNumStart
+ movs r0, #0
+ bl sub_11F0
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08049824: .4byte gMain
+_08049828: .4byte gUnknown_020314E0
+_0804982C: .4byte 0x00001106
+_08049830: .4byte 0x00001108
+_08049834: .4byte 0x0000110A
+_08049838: .4byte 0x0000110C
+_0804983C: .4byte 0x040000D4
+_08049840: .4byte 0x05000200
+_08049844: .4byte 0x80000100
+_08049848: .4byte 0x00000F4C
+_0804984C: .4byte 0x02032EE0
+
+ thumb_func_start sub_49850
+sub_49850: @ 0x08049850
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ ldr r0, _08049A20 @ =0x0200B3B8
+ mov ip, r0
+ mov r5, ip
+ adds r5, #8
+ ldr r4, _08049A24 @ =gOamBuffer
+ mov r3, ip
+ ldrh r1, [r3, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ movs r0, #2
+ ldrsh r2, [r5, r0]
+ ldr r3, _08049A28 @ =0x000001FF
+ adds r0, r3, #0
+ ands r2, r0
+ ldrh r3, [r1, #2]
+ ldr r6, _08049A2C @ =0xFFFFFE00
+ adds r0, r6, #0
+ ands r0, r3
+ orrs r0, r2
+ strh r0, [r1, #2]
+ mov r1, ip
+ ldrh r0, [r1, #8]
+ lsls r0, r0, #3
+ adds r0, r0, r4
+ ldrh r1, [r5, #4]
+ strb r1, [r0]
+ mov r3, ip
+ ldrh r1, [r3, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r2, [r1, #1]
+ movs r5, #4
+ rsbs r5, r5, #0
+ adds r0, r5, #0
+ ands r0, r2
+ strb r0, [r1, #1]
+ ldrh r1, [r3, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r2, [r1, #3]
+ movs r3, #0xf
+ rsbs r3, r3, #0
+ adds r0, r3, #0
+ ands r0, r2
+ strb r0, [r1, #3]
+ movs r0, #1
+ movs r1, #0xb8
+ add r1, ip
+ mov sl, r1
+ adds r7, r4, #0
+ mov sb, r6
+ mov r8, r5
+ adds r6, r3, #0
+_080498C4:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ mov r3, ip
+ adds r5, r3, r0
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ movs r0, #2
+ ldrsh r2, [r5, r0]
+ ldr r3, _08049A28 @ =0x000001FF
+ adds r0, r3, #0
+ ands r2, r0
+ ldrh r3, [r1, #2]
+ mov r0, sb
+ ands r0, r3
+ orrs r0, r2
+ strh r0, [r1, #2]
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ adds r0, r0, r7
+ ldrh r1, [r5, #4]
+ strb r1, [r0]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r2, [r1, #1]
+ mov r0, r8
+ ands r0, r2
+ strb r0, [r1, #1]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldrb r2, [r1, #3]
+ adds r0, r6, #0
+ ands r0, r2
+ strb r0, [r1, #3]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #4
+ ble _080498C4
+ movs r0, #5
+ ldr r6, _08049A24 @ =gOamBuffer
+ ldr r1, _08049A2C @ =0xFFFFFE00
+ mov sb, r1
+ movs r3, #4
+ rsbs r3, r3, #0
+ mov r8, r3
+ movs r7, #0xf
+ rsbs r7, r7, #0
+_0804992E:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ mov r1, ip
+ adds r5, r1, r0
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ movs r3, #2
+ ldrsh r2, [r5, r3]
+ ldr r3, _08049A28 @ =0x000001FF
+ adds r0, r3, #0
+ ands r2, r0
+ ldrh r3, [r1, #2]
+ mov r0, sb
+ ands r0, r3
+ orrs r0, r2
+ strh r0, [r1, #2]
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ adds r0, r0, r6
+ ldrh r1, [r5, #4]
+ strb r1, [r0]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ ldrb r2, [r1, #1]
+ mov r0, r8
+ ands r0, r2
+ strb r0, [r1, #1]
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ ldrb r2, [r1, #3]
+ adds r0, r7, #0
+ ands r0, r2
+ strb r0, [r1, #3]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0xa
+ ble _0804992E
+ mov ip, sl
+ movs r0, #0
+ ldr r6, _08049A24 @ =gOamBuffer
+ ldr r7, _08049A2C @ =0xFFFFFE00
+_0804998E:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ mov r1, ip
+ adds r5, r1, r0
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ movs r3, #2
+ ldrsh r2, [r5, r3]
+ ldr r3, _08049A28 @ =0x000001FF
+ adds r0, r3, #0
+ ands r2, r0
+ ldrh r3, [r1, #2]
+ adds r0, r7, #0
+ ands r0, r3
+ orrs r0, r2
+ strh r0, [r1, #2]
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ adds r0, r0, r6
+ ldrh r1, [r5, #4]
+ strb r1, [r0]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #1
+ ble _0804998E
+ ldr r0, _08049A30 @ =0x0200B528
+ mov ip, r0
+ movs r0, #0
+ ldr r6, _08049A24 @ =gOamBuffer
+ ldr r7, _08049A2C @ =0xFFFFFE00
+_080499D4:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ mov r1, ip
+ adds r5, r1, r0
+ ldrh r1, [r5]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ movs r3, #2
+ ldrsh r2, [r5, r3]
+ ldr r3, _08049A28 @ =0x000001FF
+ adds r0, r3, #0
+ ands r2, r0
+ ldrh r3, [r1, #2]
+ adds r0, r7, #0
+ ands r0, r3
+ orrs r0, r2
+ strh r0, [r1, #2]
+ ldrh r0, [r5]
+ lsls r0, r0, #3
+ adds r0, r0, r6
+ ldrh r1, [r5, #4]
+ strb r1, [r0]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #2
+ ble _080499D4
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08049A20: .4byte 0x0200B3B8
+_08049A24: .4byte gOamBuffer
+_08049A28: .4byte 0x000001FF
+_08049A2C: .4byte 0xFFFFFE00
+_08049A30: .4byte 0x0200B528
+
+ thumb_func_start sub_49A34
+sub_49A34: @ 0x08049A34
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #0x14
+ movs r0, #8
+ mov r8, r0
+ ldr r1, _08049A94 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r3, _08049A98 @ =0x0000131C
+ adds r0, r0, r3
+ ldr r2, [r0]
+ mov ip, r1
+ cmp r2, #0
+ bne _08049A68
+ ldr r1, _08049A9C @ =gMain
+ ldrh r0, [r1, #0x38]
+ movs r0, #0xcf
+ strh r0, [r1, #0x38]
+ ldrh r0, [r1, #0x3c]
+ movs r0, #0xa
+ strh r0, [r1, #0x3c]
+ strh r2, [r1, #0x2c]
+ movs r0, #0x90
+ strh r0, [r1, #0x26]
+_08049A68:
+ mov r1, ip
+ ldr r0, [r1]
+ adds r0, r0, r3
+ ldr r2, [r0]
+ cmp r2, #0xf
+ bhi _08049AA4
+ lsls r1, r2, #2
+ adds r1, r1, r2
+ lsls r1, r1, #1
+ movs r0, #0xa0
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ str r0, [sp]
+ movs r2, #0x18
+ str r2, [sp, #4]
+ ldr r3, _08049AA0 @ =0x0000FFFF
+ mov sb, r3
+ mov r0, sb
+ movs r5, #0x10
+ mov r8, r5
+ b _08049B48
+ .align 2, 0
+_08049A94: .4byte gUnknown_020314E0
+_08049A98: .4byte 0x0000131C
+_08049A9C: .4byte gMain
+_08049AA0: .4byte 0x0000FFFF
+_08049AA4:
+ cmp r2, #0x17
+ bhi _08049B34
+ movs r0, #0
+ str r0, [sp]
+ adds r0, r2, #0
+ subs r0, #0xf
+ lsls r1, r0, #1
+ adds r1, r1, r0
+ movs r0, #0x18
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ str r0, [sp, #4]
+ cmp r2, #0x11
+ bhi _08049AD0
+ ldr r1, _08049ACC @ =0x0000FFFF
+ mov sb, r1
+ mov r0, sb
+ b _08049B48
+ .align 2, 0
+_08049ACC: .4byte 0x0000FFFF
+_08049AD0:
+ cmp r2, #0x12
+ bne _08049AE4
+ movs r0, #9
+ ldr r2, _08049AE0 @ =0x0000FFF6
+ mov sb, r2
+ movs r3, #0x10
+ mov r8, r3
+ b _08049B48
+ .align 2, 0
+_08049AE0: .4byte 0x0000FFF6
+_08049AE4:
+ cmp r2, #0x13
+ bne _08049AF8
+ movs r0, #9
+ ldr r5, _08049AF4 @ =0x0000FFF7
+ mov sb, r5
+ movs r1, #0x80
+ b _08049B46
+ .align 2, 0
+_08049AF4: .4byte 0x0000FFF7
+_08049AF8:
+ cmp r2, #0x14
+ bne _08049B0C
+ movs r0, #7
+ ldr r2, _08049B08 @ =0x0000FFF8
+ mov sb, r2
+ movs r3, #0xa0
+ mov r8, r3
+ b _08049B48
+ .align 2, 0
+_08049B08: .4byte 0x0000FFF8
+_08049B0C:
+ cmp r2, #0x15
+ bne _08049B20
+ movs r0, #6
+ ldr r5, _08049B1C @ =0x0000FFF9
+ mov sb, r5
+ movs r1, #0xc0
+ b _08049B46
+ .align 2, 0
+_08049B1C: .4byte 0x0000FFF9
+_08049B20:
+ cmp r2, #0x16
+ bne _08049B3C
+ movs r0, #4
+ ldr r2, _08049B30 @ =0x0000FFFB
+ mov sb, r2
+ movs r3, #0xe0
+ mov r8, r3
+ b _08049B48
+ .align 2, 0
+_08049B30: .4byte 0x0000FFFB
+_08049B34:
+ movs r2, #0
+ str r2, [sp]
+ movs r3, #0
+ str r3, [sp, #4]
+_08049B3C:
+ movs r0, #4
+ ldr r5, _08049C18 @ =0x0000FFFC
+ mov sb, r5
+ movs r1, #0x80
+ lsls r1, r1, #1
+_08049B46:
+ mov r8, r1
+_08049B48:
+ ldr r6, _08049C1C @ =0x0200B3B8
+ lsls r0, r0, #0x10
+ asrs r1, r0, #0x10
+ str r0, [sp, #0xc]
+ mov r2, r8
+ lsls r2, r2, #0x10
+ str r2, [sp, #0x10]
+ ldr r3, [sp]
+ lsls r3, r3, #0x10
+ mov sl, r3
+ ldr r5, [sp, #4]
+ lsls r5, r5, #0x10
+ str r5, [sp, #8]
+ cmp r1, #0
+ bge _08049B68
+ b _08049D92
+_08049B68:
+ movs r0, #0x64
+ strh r0, [r6, #2]
+ adds r0, r1, #0
+ adds r0, #0x50
+ strh r0, [r6, #4]
+ adds r7, r6, #0
+ adds r7, #8
+ ldr r4, _08049C20 @ =gOamBuffer
+ ldrh r2, [r6, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ movs r0, #2
+ ldrsh r1, [r7, r0]
+ adds r1, #0x64
+ ldr r3, _08049C24 @ =0x08137D78
+ mov sl, r3
+ movs r5, #0
+ ldrsh r0, [r3, r5]
+ adds r1, r1, r0
+ ldr r3, _08049C28 @ =0x000001FF
+ adds r0, r3, #0
+ ands r1, r0
+ ldrh r3, [r2, #2]
+ ldr r0, _08049C2C @ =0xFFFFFE00
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2, #2]
+ ldrh r3, [r6, #8]
+ lsls r3, r3, #3
+ adds r3, r3, r4
+ ldrb r0, [r6, #4]
+ ldrb r7, [r7, #4]
+ adds r0, r0, r7
+ mov r5, sl
+ ldrb r2, [r5, #2]
+ adds r2, r2, r0
+ mov r1, ip
+ ldr r0, [r1]
+ ldr r5, _08049C30 @ =0x00001104
+ adds r0, r0, r5
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ adds r2, r2, r0
+ strb r2, [r3]
+ ldrh r1, [r6, #8]
+ lsls r1, r1, #3
+ adds r1, r1, r4
+ ldrb r0, [r1, #1]
+ movs r2, #3
+ orrs r0, r2
+ strb r0, [r1, #1]
+ ldrh r2, [r6, #8]
+ lsls r2, r2, #3
+ adds r2, r2, r4
+ ldrb r1, [r2, #3]
+ movs r0, #0xf
+ rsbs r0, r0, #0
+ ands r0, r1
+ movs r1, #0xa
+ orrs r0, r1
+ strb r0, [r2, #3]
+ ldr r5, _08049C34 @ =0x08137DA4
+ ldr r0, _08049C38 @ =0xFFFFFD08
+ adds r4, r6, r0
+ ldr r0, [r4, #0x4c]
+ movs r1, #0x41
+ bl __umodsi3
+ movs r1, #5
+ bl __udivsi3
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ ldrh r1, [r0]
+ ldrb r0, [r4, #4]
+ cmp r0, #1
+ bhi _08049C48
+ ldr r2, _08049C3C @ =0x040000D4
+ lsls r0, r1, #0x10
+ asrs r0, r0, #0xb
+ ldr r1, _08049C40 @ =0x08510CAC
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _08049C44 @ =0x060118C0
+ b _08049C56
+ .align 2, 0
+_08049C18: .4byte 0x0000FFFC
+_08049C1C: .4byte 0x0200B3B8
+_08049C20: .4byte gOamBuffer
+_08049C24: .4byte 0x08137D78
+_08049C28: .4byte 0x000001FF
+_08049C2C: .4byte 0xFFFFFE00
+_08049C30: .4byte 0x00001104
+_08049C34: .4byte 0x08137DA4
+_08049C38: .4byte 0xFFFFFD08
+_08049C3C: .4byte 0x040000D4
+_08049C40: .4byte 0x08510CAC
+_08049C44: .4byte 0x060118C0
+_08049C48:
+ ldr r2, _08049E84 @ =0x040000D4
+ lsls r0, r1, #0x10
+ asrs r0, r0, #0xb
+ ldr r1, _08049E88 @ =0x08510CAC
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _08049E8C @ =0x06010480
+_08049C56:
+ str r0, [r2, #4]
+ ldr r0, _08049E90 @ =0x80000010
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ movs r0, #0x64
+ strh r0, [r6, #2]
+ ldr r1, [sp, #0xc]
+ asrs r0, r1, #0x10
+ adds r0, #0x50
+ strh r0, [r6, #4]
+ movs r0, #1
+ mov r2, sb
+ lsls r2, r2, #0x10
+ mov sb, r2
+ mov r3, r8
+ lsls r3, r3, #0x10
+ str r3, [sp, #0x10]
+ ldr r5, [sp]
+ lsls r5, r5, #0x10
+ mov sl, r5
+ ldr r1, [sp, #4]
+ lsls r1, r1, #0x10
+ str r1, [sp, #8]
+ ldr r2, _08049E94 @ =gOamBuffer
+ mov ip, r2
+ movs r3, #0xf
+ rsbs r3, r3, #0
+ mov r8, r3
+_08049C8E:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r7, r6, r0
+ ldrh r3, [r7]
+ lsls r3, r3, #3
+ add r3, ip
+ movs r5, #2
+ ldrsh r1, [r7, r5]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ lsls r5, r4, #2
+ ldr r0, _08049E98 @ =0x08137D78
+ adds r5, r5, r0
+ movs r2, #0
+ ldrsh r0, [r5, r2]
+ adds r1, r1, r0
+ ldr r2, _08049E9C @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ ldr r0, _08049EA0 @ =0xFFFFFE00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r2, [r7]
+ lsls r2, r2, #3
+ add r2, ip
+ ldrb r1, [r6, #4]
+ ldrb r3, [r7, #4]
+ adds r1, r1, r3
+ ldrb r0, [r5, #2]
+ adds r0, r0, r1
+ strb r0, [r2]
+ ldrh r2, [r7]
+ lsls r2, r2, #3
+ add r2, ip
+ ldrb r0, [r2, #1]
+ movs r1, #3
+ orrs r0, r1
+ strb r0, [r2, #1]
+ ldrh r2, [r7]
+ lsls r2, r2, #3
+ add r2, ip
+ ldrb r1, [r2, #3]
+ mov r0, r8
+ ands r0, r1
+ movs r1, #0xa
+ orrs r0, r1
+ strb r0, [r2, #3]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #4
+ ble _08049C8E
+ movs r0, #0x64
+ strh r0, [r6, #2]
+ mov r5, sb
+ asrs r0, r5, #0x10
+ adds r0, #0x58
+ strh r0, [r6, #4]
+ movs r0, #5
+ ldr r1, _08049E94 @ =gOamBuffer
+ mov ip, r1
+ ldr r2, _08049EA0 @ =0xFFFFFE00
+ mov sb, r2
+ movs r3, #0xf
+ rsbs r3, r3, #0
+ mov r8, r3
+_08049D1E:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r7, r6, r0
+ ldrh r3, [r7]
+ lsls r3, r3, #3
+ add r3, ip
+ movs r5, #2
+ ldrsh r1, [r7, r5]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ lsls r5, r4, #2
+ ldr r0, _08049E98 @ =0x08137D78
+ adds r5, r5, r0
+ movs r2, #0
+ ldrsh r0, [r5, r2]
+ adds r1, r1, r0
+ ldr r2, _08049E9C @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, sb
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r2, [r7]
+ lsls r2, r2, #3
+ add r2, ip
+ ldrb r1, [r6, #4]
+ ldrb r3, [r7, #4]
+ adds r1, r1, r3
+ ldrb r0, [r5, #2]
+ adds r0, r0, r1
+ strb r0, [r2]
+ ldrh r2, [r7]
+ lsls r2, r2, #3
+ add r2, ip
+ ldrb r0, [r2, #1]
+ movs r1, #3
+ orrs r0, r1
+ strb r0, [r2, #1]
+ ldrh r2, [r7]
+ lsls r2, r2, #3
+ add r2, ip
+ ldrb r1, [r2, #3]
+ mov r0, r8
+ ands r0, r1
+ movs r1, #0xa
+ orrs r0, r1
+ strb r0, [r2, #3]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #0xa
+ ble _08049D1E
+_08049D92:
+ movs r0, #0x80
+ lsls r0, r0, #1
+ ldr r5, [sp, #0x10]
+ asrs r1, r5, #0x10
+ movs r2, #5
+ bl SetMatrixScale
+ ldr r6, _08049EA4 @ =0x0200B470
+ movs r0, #0x64
+ mov r2, sl
+ asrs r1, r2, #0x10
+ subs r0, r0, r1
+ strh r0, [r6, #2]
+ ldr r3, [sp, #8]
+ asrs r0, r3, #0x10
+ adds r0, #0x50
+ strh r0, [r6, #4]
+ movs r0, #0
+ ldr r5, _08049E94 @ =gOamBuffer
+ ldr r1, _08049EA0 @ =0xFFFFFE00
+ mov r8, r1
+_08049DBC:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r7, r6, r0
+ ldrh r3, [r7]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ movs r2, #2
+ ldrsh r1, [r7, r2]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08049E9C @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r7]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldrb r0, [r6, #4]
+ ldrb r7, [r7, #4]
+ adds r0, r0, r7
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #1
+ ble _08049DBC
+ ldr r6, _08049EA8 @ =0x0200B528
+ mov r3, sl
+ asrs r0, r3, #0x10
+ adds r0, #0x44
+ strh r0, [r6, #2]
+ movs r0, #0x6c
+ ldr r5, [sp, #8]
+ asrs r1, r5, #0x10
+ subs r0, r0, r1
+ strh r0, [r6, #4]
+ movs r0, #0
+ ldr r1, _08049EAC @ =gUnknown_020314E0
+ mov ip, r1
+ ldr r5, _08049E94 @ =gOamBuffer
+ ldr r2, _08049EA0 @ =0xFFFFFE00
+ mov r8, r2
+_08049E20:
+ lsls r4, r0, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, #8
+ adds r7, r6, r0
+ ldrh r3, [r7]
+ lsls r3, r3, #3
+ adds r3, r3, r5
+ movs r0, #2
+ ldrsh r1, [r7, r0]
+ movs r2, #2
+ ldrsh r0, [r6, r2]
+ adds r1, r1, r0
+ ldr r2, _08049E9C @ =0x000001FF
+ adds r0, r2, #0
+ ands r1, r0
+ ldrh r2, [r3, #2]
+ mov r0, r8
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, #2]
+ ldrh r1, [r7]
+ lsls r1, r1, #3
+ adds r1, r1, r5
+ ldrb r0, [r6, #4]
+ ldrb r7, [r7, #4]
+ adds r0, r0, r7
+ strb r0, [r1]
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r0, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #2
+ ble _08049E20
+ mov r3, ip
+ ldr r1, [r3]
+ ldr r5, _08049EB0 @ =0x0000131C
+ adds r1, r1, r5
+ ldr r0, [r1]
+ adds r0, #1
+ str r0, [r1]
+ add sp, #0x14
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08049E84: .4byte 0x040000D4
+_08049E88: .4byte 0x08510CAC
+_08049E8C: .4byte 0x06010480
+_08049E90: .4byte 0x80000010
+_08049E94: .4byte gOamBuffer
+_08049E98: .4byte 0x08137D78
+_08049E9C: .4byte 0x000001FF
+_08049EA0: .4byte 0xFFFFFE00
+_08049EA4: .4byte 0x0200B470
+_08049EA8: .4byte 0x0200B528
+_08049EAC: .4byte gUnknown_020314E0
+_08049EB0: .4byte 0x0000131C
+
+ thumb_func_start PinballGameMain
+PinballGameMain: @ 0x08049EB4
+ push {lr}
+ ldr r1, _08049ECC @ =0x08137E04
+ ldr r0, _08049ED0 @ =gMain
+ ldrb r0, [r0, #3]
+ lsls r0, r0, #2
+ adds r0, r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08049ECC: .4byte 0x08137E04
+_08049ED0: .4byte gMain
+
+ thumb_func_start sub_49ED4
+sub_49ED4: @ 0x08049ED4
+ push {r4, r5, r6, r7, lr}
+ ldr r0, _08049F18 @ =gMain
+ ldr r1, [r0, #0x4c]
+ movs r0, #0xf
+ movs r5, #0
+ ands r1, r0
+ cmp r5, r1
+ bge _08049EFA
+ adds r4, r1, #0
+_08049EE6:
+ bl Random
+ lsls r0, r5, #0x10
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r0, r1
+ lsrs r5, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, r4
+ blt _08049EE6
+_08049EFA:
+ bl sub_10C0
+ ldr r1, _08049F1C @ =gUnknown_020314E0
+ ldr r0, _08049F20 @ =0x02000000
+ str r0, [r1]
+ bl sub_438
+ ldr r1, _08049F18 @ =gMain
+ movs r0, #0
+ strb r0, [r1, #0xe]
+ ldrb r0, [r1, #0xd]
+ cmp r0, #0
+ beq _08049F24
+ movs r1, #0
+ b _08049F36
+ .align 2, 0
+_08049F18: .4byte gMain
+_08049F1C: .4byte gUnknown_020314E0
+_08049F20: .4byte 0x02000000
+_08049F24:
+ ldrb r0, [r1, #5]
+ ldrb r2, [r1, #4]
+ movs r1, #1
+ cmp r0, r2
+ beq _08049F36
+ movs r1, #3
+ cmp r2, #1
+ bhi _08049F36
+ movs r1, #2
+_08049F36:
+ lsls r0, r1, #0x10
+ asrs r1, r0, #0x10
+ adds r7, r0, #0
+ cmp r1, #1
+ bne _08049F42
+ b _0804A064
+_08049F42:
+ cmp r1, #1
+ bgt _08049F4C
+ cmp r1, #0
+ beq _08049F5A
+ b _0804A19C
+_08049F4C:
+ cmp r1, #2
+ bne _08049F52
+ b _0804A104
+_08049F52:
+ cmp r1, #3
+ bne _08049F58
+ b _0804A158
+_08049F58:
+ b _0804A19C
+_08049F5A:
+ bl sub_4A270
+ bl sub_4A518
+ bl sub_467F4
+ ldr r2, _08049FE4 @ =0x040000D4
+ ldr r0, _08049FE8 @ =gUnknown_02031520
+ ldr r0, [r0, #0x2c]
+ str r0, [r2]
+ ldr r0, _08049FEC @ =0x05000200
+ str r0, [r2, #4]
+ ldr r0, _08049FF0 @ =0x80000100
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, _08049FF4 @ =gMain
+ ldrb r0, [r0, #9]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08049FA4
+ ldr r0, _08049FF8 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r1, _08049FFC @ =0x000005F6
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #5
+ ldr r1, _0804A000 @ =0x08137E14
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _0804A004 @ =0x05000220
+ str r0, [r2, #4]
+ ldr r0, _0804A008 @ =0x80000010
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+_08049FA4:
+ bl sub_4A90C
+ movs r5, #0
+ ldr r6, _0804A00C @ =0x020028D8
+_08049FAC:
+ lsls r4, r5, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, r0, r6
+ ldr r0, [r0]
+ bl _call_via_r0
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r5, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #8
+ ble _08049FAC
+ bl m4aMPlayAllStop
+ bl sub_47110
+ bl sub_4A518
+ ldr r0, _08049FF4 @ =gMain
+ ldrb r0, [r0, #2]
+ cmp r0, #3
+ bne _0804A010
+ movs r0, #2
+ bl sub_4B678
+ b _0804A016
+ .align 2, 0
+_08049FE4: .4byte 0x040000D4
+_08049FE8: .4byte gUnknown_02031520
+_08049FEC: .4byte 0x05000200
+_08049FF0: .4byte 0x80000100
+_08049FF4: .4byte gMain
+_08049FF8: .4byte gUnknown_020314E0
+_08049FFC: .4byte 0x000005F6
+_0804A000: .4byte 0x08137E14
+_0804A004: .4byte 0x05000220
+_0804A008: .4byte 0x80000010
+_0804A00C: .4byte 0x020028D8
+_0804A010:
+ movs r0, #1
+ bl sub_4B678
+_0804A016:
+ bl sub_4A270
+ bl sub_4A90C
+ ldr r1, _0804A03C @ =0x086B085C
+ ldr r4, _0804A040 @ =gMain
+ ldrb r0, [r4, #6]
+ lsls r0, r0, #2
+ adds r0, r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ ldrb r0, [r4, #4]
+ cmp r0, #1
+ bhi _0804A044
+ bl sub_1D4D0
+ b _0804A19C
+ .align 2, 0
+_0804A03C: .4byte 0x086B085C
+_0804A040: .4byte gMain
+_0804A044:
+ cmp r0, #2
+ bne _0804A04E
+ bl sub_356A0
+ b _0804A19C
+_0804A04E:
+ cmp r0, #4
+ bne _0804A058
+ bl sub_3ADA0
+ b _0804A19C
+_0804A058:
+ cmp r0, #5
+ beq _0804A05E
+ b _0804A19C
+_0804A05E:
+ bl sub_3E5D0
+ b _0804A19C
+_0804A064:
+ bl sub_4A270
+ bl sub_4A518
+ bl sub_467F4
+ ldr r2, _0804A0D8 @ =0x040000D4
+ ldr r0, _0804A0DC @ =gUnknown_02031520
+ ldr r0, [r0, #0x2c]
+ str r0, [r2]
+ ldr r0, _0804A0E0 @ =0x05000200
+ str r0, [r2, #4]
+ ldr r0, _0804A0E4 @ =0x80000100
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, _0804A0E8 @ =gMain
+ ldrb r0, [r0, #9]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _0804A0AE
+ ldr r0, _0804A0EC @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r1, _0804A0F0 @ =0x000005F6
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #5
+ ldr r1, _0804A0F4 @ =0x08137E14
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _0804A0F8 @ =0x05000220
+ str r0, [r2, #4]
+ ldr r0, _0804A0FC @ =0x80000010
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+_0804A0AE:
+ bl sub_4A90C
+ movs r5, #0
+ ldr r6, _0804A100 @ =0x020028D8
+_0804A0B6:
+ lsls r4, r5, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, r0, r6
+ ldr r0, [r0]
+ bl _call_via_r0
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r5, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #8
+ ble _0804A0B6
+ bl sub_47110
+ b _0804A19C
+ .align 2, 0
+_0804A0D8: .4byte 0x040000D4
+_0804A0DC: .4byte gUnknown_02031520
+_0804A0E0: .4byte 0x05000200
+_0804A0E4: .4byte 0x80000100
+_0804A0E8: .4byte gMain
+_0804A0EC: .4byte gUnknown_020314E0
+_0804A0F0: .4byte 0x000005F6
+_0804A0F4: .4byte 0x08137E14
+_0804A0F8: .4byte 0x05000220
+_0804A0FC: .4byte 0x80000010
+_0804A100: .4byte 0x020028D8
+_0804A104:
+ bl sub_4A270
+ bl sub_4A6A0
+ movs r0, #0
+ bl sub_4B678
+ bl sub_4A90C
+ ldr r1, _0804A148 @ =0x086B085C
+ ldr r4, _0804A14C @ =gMain
+ ldrb r0, [r4, #6]
+ lsls r0, r0, #2
+ adds r0, r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ ldrb r0, [r4, #4]
+ cmp r0, #0
+ bne _0804A132
+ movs r0, #1
+ bl sub_46FD4
+_0804A132:
+ movs r0, #0
+ movs r1, #0
+ bl sub_1C7F4
+ ldr r0, _0804A150 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r1, _0804A154 @ =0x000006C4
+ adds r0, r0, r1
+ movs r1, #0
+ strb r1, [r0]
+ b _0804A19C
+ .align 2, 0
+_0804A148: .4byte 0x086B085C
+_0804A14C: .4byte gMain
+_0804A150: .4byte gUnknown_020314E0
+_0804A154: .4byte 0x000006C4
+_0804A158:
+ bl sub_4A270
+ bl sub_4A518
+ bl sub_467F4
+ ldr r1, _0804A22C @ =0x040000D4
+ ldr r0, _0804A230 @ =gUnknown_02031520
+ ldr r0, [r0, #0x2c]
+ str r0, [r1]
+ ldr r0, _0804A234 @ =0x05000200
+ str r0, [r1, #4]
+ ldr r0, _0804A238 @ =0x80000100
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ bl sub_4A90C
+ movs r5, #0
+ ldr r6, _0804A23C @ =0x020028D8
+_0804A17E:
+ lsls r4, r5, #0x10
+ asrs r4, r4, #0x10
+ lsls r0, r4, #3
+ adds r0, r0, r6
+ ldr r0, [r0]
+ bl _call_via_r0
+ adds r4, #1
+ lsls r4, r4, #0x10
+ lsrs r5, r4, #0x10
+ asrs r4, r4, #0x10
+ cmp r4, #8
+ ble _0804A17E
+ bl sub_47110
+_0804A19C:
+ ldr r1, _0804A230 @ =gUnknown_02031520
+ movs r0, #0
+ strh r0, [r1, #8]
+ movs r2, #0
+ ldr r3, _0804A240 @ =0x0200B134
+_0804A1A6:
+ lsls r0, r2, #0x10
+ asrs r2, r0, #0x10
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ cmp r0, #3
+ bls _0804A1B8
+ ldrh r0, [r1, #8]
+ adds r0, #1
+ strh r0, [r1, #8]
+_0804A1B8:
+ adds r0, r2, #1
+ lsls r0, r0, #0x10
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xcc
+ ble _0804A1A6
+ bl sub_CBC
+ bl sub_24C
+ ldr r4, _0804A244 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ movs r1, #0x88
+ lsls r1, r1, #5
+ adds r0, r0, r1
+ movs r3, #0
+ strb r3, [r0]
+ ldr r1, _0804A248 @ =gMain
+ adds r2, r1, #0
+ adds r2, #0x36
+ movs r0, #1
+ strb r0, [r2]
+ asrs r0, r7, #0x10
+ cmp r0, #2
+ bgt _0804A25E
+ cmp r0, #1
+ bge _0804A254
+ cmp r0, #0
+ bne _0804A25E
+ ldrb r0, [r1, #2]
+ cmp r0, #3
+ beq _0804A212
+ ldr r0, [r4]
+ ldr r1, _0804A24C @ =0x00000F4C
+ adds r0, r0, r1
+ ldr r1, [r0]
+ cmp r1, #0
+ beq _0804A212
+ ldr r2, _0804A250 @ =0x02032EE0
+ ldr r0, [r2, #4]
+ cmp r0, #0
+ bge _0804A212
+ adds r0, r2, #0
+ bl MPlayStart
+_0804A212:
+ ldr r0, _0804A248 @ =gMain
+ ldrb r0, [r0, #4]
+ cmp r0, #1
+ bhi _0804A25E
+ ldr r0, _0804A244 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ adds r0, #0x6f
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ bl sub_31BE8
+ b _0804A25E
+ .align 2, 0
+_0804A22C: .4byte 0x040000D4
+_0804A230: .4byte gUnknown_02031520
+_0804A234: .4byte 0x05000200
+_0804A238: .4byte 0x80000100
+_0804A23C: .4byte 0x020028D8
+_0804A240: .4byte 0x0200B134
+_0804A244: .4byte gUnknown_020314E0
+_0804A248: .4byte gMain
+_0804A24C: .4byte 0x00000F4C
+_0804A250: .4byte 0x02032EE0
+_0804A254:
+ ldrh r0, [r1, #0x38]
+ movs r0, #0xce
+ strh r0, [r1, #0x38]
+ ldrh r0, [r1, #0x3c]
+ strh r3, [r1, #0x3c]
+_0804A25E:
+ ldr r1, _0804A26C @ =gMain
+ ldrb r0, [r1, #3]
+ adds r0, #1
+ strb r0, [r1, #3]
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804A26C: .4byte gMain
+
+ thumb_func_start sub_4A270
+sub_4A270: @ 0x0804A270
+ push {r4, lr}
+ movs r0, #0x80
+ lsls r0, r0, #0x13
+ movs r2, #0x86
+ lsls r2, r2, #5
+ adds r1, r2, #0
+ strh r1, [r0]
+ ldr r0, _0804A294 @ =gMain
+ ldrb r1, [r0, #4]
+ adds r3, r0, #0
+ cmp r1, #7
+ bls _0804A28A
+ b _0804A4E8
+_0804A28A:
+ lsls r0, r1, #2
+ ldr r1, _0804A298 @ =_0804A29C
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0804A294: .4byte gMain
+_0804A298: .4byte _0804A29C
+_0804A29C: @ jump table
+ .4byte _0804A2BC @ case 0
+ .4byte _0804A308 @ case 1
+ .4byte _0804A354 @ case 2
+ .4byte _0804A39C @ case 3
+ .4byte _0804A3E8 @ case 4
+ .4byte _0804A418 @ case 5
+ .4byte _0804A448 @ case 6
+ .4byte _0804A494 @ case 7
+_0804A2BC:
+ ldr r1, _0804A2F0 @ =0x0400000E
+ ldr r4, _0804A2F4 @ =0x0000804B
+ adds r0, r4, #0
+ strh r0, [r1]
+ movs r2, #0x80
+ lsls r2, r2, #0x13
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #4
+ adds r1, r4, #0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _0804A2F8 @ =0x0400000C
+ ldr r4, _0804A2FC @ =0x00008246
+ adds r0, r4, #0
+ strh r0, [r1]
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #3
+ adds r1, r4, #0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _0804A300 @ =0x0400000A
+ ldr r4, _0804A304 @ =0x00008649
+ b _0804A4C4
+ .align 2, 0
+_0804A2F0: .4byte 0x0400000E
+_0804A2F4: .4byte 0x0000804B
+_0804A2F8: .4byte 0x0400000C
+_0804A2FC: .4byte 0x00008246
+_0804A300: .4byte 0x0400000A
+_0804A304: .4byte 0x00008649
+_0804A308:
+ ldr r1, _0804A33C @ =0x0400000E
+ ldr r2, _0804A340 @ =0x0000804B
+ adds r0, r2, #0
+ strh r0, [r1]
+ movs r2, #0x80
+ lsls r2, r2, #0x13
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #4
+ adds r1, r4, #0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _0804A344 @ =0x0400000C
+ ldr r4, _0804A348 @ =0x00008246
+ adds r0, r4, #0
+ strh r0, [r1]
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #3
+ adds r1, r4, #0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _0804A34C @ =0x0400000A
+ ldr r4, _0804A350 @ =0x00008649
+ b _0804A4C4
+ .align 2, 0
+_0804A33C: .4byte 0x0400000E
+_0804A340: .4byte 0x0000804B
+_0804A344: .4byte 0x0400000C
+_0804A348: .4byte 0x00008246
+_0804A34C: .4byte 0x0400000A
+_0804A350: .4byte 0x00008649
+_0804A354:
+ ldr r1, _0804A390 @ =0x0400000E
+ movs r0, #0xb
+ strh r0, [r1]
+ movs r2, #0x80
+ lsls r2, r2, #0x13
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #4
+ adds r1, r4, #0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _0804A394 @ =0x0400000C
+ movs r4, #0x85
+ lsls r4, r4, #1
+ adds r0, r4, #0
+ strh r0, [r1]
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #3
+ adds r1, r4, #0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _0804A398 @ =0x0400000A
+ movs r4, #0x82
+ lsls r4, r4, #2
+ adds r0, r4, #0
+ strh r0, [r1]
+ ldrh r0, [r2]
+ subs r4, #8
+ b _0804A4CE
+ .align 2, 0
+_0804A390: .4byte 0x0400000E
+_0804A394: .4byte 0x0400000C
+_0804A398: .4byte 0x0400000A
+_0804A39C:
+ ldr r1, _0804A3D8 @ =0x0400000E
+ movs r0, #0xb
+ strh r0, [r1]
+ movs r2, #0x80
+ lsls r2, r2, #0x13
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #4
+ adds r1, r4, #0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _0804A3DC @ =0x0400000C
+ movs r4, #0x85
+ lsls r4, r4, #1
+ adds r0, r4, #0
+ strh r0, [r1]
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #3
+ adds r1, r4, #0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _0804A3E0 @ =0x0400000A
+ ldr r4, _0804A3E4 @ =0x00000209
+ adds r0, r4, #0
+ strh r0, [r1]
+ ldrh r0, [r2]
+ subs r4, #9
+ b _0804A4CE
+ .align 2, 0
+_0804A3D8: .4byte 0x0400000E
+_0804A3DC: .4byte 0x0400000C
+_0804A3E0: .4byte 0x0400000A
+_0804A3E4: .4byte 0x00000209
+_0804A3E8:
+ ldr r1, _0804A410 @ =0x0400000E
+ movs r0, #0xb
+ strh r0, [r1]
+ movs r2, #0x80
+ lsls r2, r2, #0x13
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #4
+ adds r1, r4, #0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _0804A414 @ =0x0400000C
+ movs r4, #0x85
+ lsls r4, r4, #1
+ adds r0, r4, #0
+ strh r0, [r1]
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #3
+ b _0804A4CE
+ .align 2, 0
+_0804A410: .4byte 0x0400000E
+_0804A414: .4byte 0x0400000C
+_0804A418:
+ ldr r1, _0804A440 @ =0x0400000E
+ movs r0, #0xb
+ strh r0, [r1]
+ movs r2, #0x80
+ lsls r2, r2, #0x13
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #4
+ adds r1, r4, #0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _0804A444 @ =0x0400000C
+ movs r4, #0x85
+ lsls r4, r4, #1
+ adds r0, r4, #0
+ strh r0, [r1]
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #3
+ b _0804A4CE
+ .align 2, 0
+_0804A440: .4byte 0x0400000E
+_0804A444: .4byte 0x0400000C
+_0804A448:
+ ldr r1, _0804A47C @ =0x0400000E
+ ldr r2, _0804A480 @ =0x0000800B
+ adds r0, r2, #0
+ strh r0, [r1]
+ movs r2, #0x80
+ lsls r2, r2, #0x13
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #4
+ adds r1, r4, #0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _0804A484 @ =0x0400000C
+ ldr r4, _0804A488 @ =0x0000820A
+ adds r0, r4, #0
+ strh r0, [r1]
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #3
+ adds r1, r4, #0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _0804A48C @ =0x0400000A
+ ldr r4, _0804A490 @ =0x00008609
+ b _0804A4C4
+ .align 2, 0
+_0804A47C: .4byte 0x0400000E
+_0804A480: .4byte 0x0000800B
+_0804A484: .4byte 0x0400000C
+_0804A488: .4byte 0x0000820A
+_0804A48C: .4byte 0x0400000A
+_0804A490: .4byte 0x00008609
+_0804A494:
+ ldr r1, _0804A4FC @ =0x0400000E
+ movs r0, #0xb
+ strh r0, [r1]
+ movs r2, #0x80
+ lsls r2, r2, #0x13
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #4
+ adds r1, r4, #0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _0804A500 @ =0x0400000C
+ movs r4, #0x85
+ lsls r4, r4, #1
+ adds r0, r4, #0
+ strh r0, [r1]
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #3
+ adds r1, r4, #0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _0804A504 @ =0x0400000A
+ ldr r4, _0804A508 @ =0x00008208
+_0804A4C4:
+ adds r0, r4, #0
+ strh r0, [r1]
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #2
+_0804A4CE:
+ adds r1, r4, #0
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r1, _0804A50C @ =0x04000008
+ ldr r4, _0804A510 @ =0x00008404
+ adds r0, r4, #0
+ strh r0, [r1]
+ ldrh r0, [r2]
+ movs r4, #0x80
+ lsls r4, r4, #1
+ adds r1, r4, #0
+ orrs r0, r1
+ strh r0, [r2]
+_0804A4E8:
+ movs r0, #0x80
+ lsls r0, r0, #0x13
+ ldrh r0, [r0]
+ movs r1, #0
+ strh r0, [r3, #0x16]
+ ldr r0, _0804A514 @ =0x0400004C
+ strh r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804A4FC: .4byte 0x0400000E
+_0804A500: .4byte 0x0400000C
+_0804A504: .4byte 0x0400000A
+_0804A508: .4byte 0x00008208
+_0804A50C: .4byte 0x04000008
+_0804A510: .4byte 0x00008404
+_0804A514: .4byte 0x0400004C
+
+ thumb_func_start sub_4A518
+sub_4A518: @ 0x0804A518
+ push {r4, r5, r6, r7, lr}
+ sub sp, #4
+ ldr r0, _0804A60C @ =gMain
+ movs r3, #0
+ strb r3, [r0, #0xf]
+ strb r3, [r0, #0x10]
+ str r3, [r0, #0x50]
+ strb r3, [r0, #0x11]
+ movs r7, #0
+ strh r3, [r0, #0x12]
+ strh r3, [r0, #0x14]
+ movs r1, #0x90
+ strh r1, [r0, #0x26]
+ strh r3, [r0, #0x28]
+ strh r3, [r0, #0x2a]
+ adds r1, r0, #0
+ adds r1, #0x36
+ strb r7, [r1]
+ ldrh r1, [r0, #0x38]
+ strh r3, [r0, #0x38]
+ ldrh r1, [r0, #0x3a]
+ strh r3, [r0, #0x3a]
+ ldrh r1, [r0, #0x3c]
+ strh r3, [r0, #0x3c]
+ ldrb r1, [r0, #5]
+ adds r6, r0, #0
+ ldr r5, _0804A610 @ =gUnknown_020314E0
+ ldrb r0, [r6, #4]
+ cmp r1, r0
+ beq _0804A556
+ b _0804A652
+_0804A556:
+ mov r0, sp
+ strh r3, [r0]
+ ldr r4, _0804A614 @ =0x040000D4
+ str r0, [r4]
+ ldr r0, [r5]
+ str r0, [r4, #4]
+ ldr r0, _0804A618 @ =0x81000A08
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ movs r2, #9
+ ldrsb r2, [r6, r2]
+ cmp r2, #0
+ beq _0804A62C
+ ldr r2, [r5]
+ movs r1, #0xe3
+ lsls r1, r1, #1
+ adds r0, r2, r1
+ movs r1, #0xa8
+ strh r1, [r0]
+ movs r7, #0xe4
+ lsls r7, r7, #1
+ adds r0, r2, r7
+ strh r1, [r0]
+ movs r1, #0xe6
+ lsls r1, r1, #1
+ adds r0, r2, r1
+ movs r1, #0xd
+ strh r1, [r0]
+ adds r7, #2
+ adds r0, r2, r7
+ strh r1, [r0]
+ movs r1, #0xe8
+ lsls r1, r1, #1
+ adds r0, r2, r1
+ strh r3, [r0]
+ adds r7, #0xa
+ adds r0, r2, r7
+ strh r3, [r0]
+ movs r0, #0xeb
+ lsls r0, r0, #1
+ adds r1, r2, r0
+ movs r0, #0x78
+ strh r0, [r1]
+ adds r7, #8
+ adds r1, r2, r7
+ movs r0, #0x3c
+ strh r0, [r1]
+ ldr r0, _0804A61C @ =0x084C0C6C
+ str r0, [r4]
+ ldr r0, _0804A620 @ =0x06010600
+ str r0, [r4, #4]
+ ldr r0, _0804A624 @ =0x800000C0
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, [r5]
+ movs r2, #0xf1
+ lsls r2, r2, #1
+ adds r1, r0, r2
+ movs r0, #2
+ strb r0, [r1]
+ ldr r0, [r6, #0x44]
+ adds r0, #0xa4
+ ldr r0, [r0]
+ strh r3, [r0]
+ ldr r1, [r5]
+ movs r3, #0xe0
+ lsls r3, r3, #1
+ adds r2, r1, r3
+ movs r0, #1
+ strh r0, [r2]
+ ldr r4, _0804A628 @ =0x000005F6
+ adds r1, r1, r4
+ movs r0, #3
+ strb r0, [r1]
+ ldr r1, [r5]
+ movs r7, #0xbf
+ lsls r7, r7, #3
+ adds r2, r1, r7
+ movs r0, #0xe1
+ lsls r0, r0, #4
+ strh r0, [r2]
+ adds r1, #0x30
+ movs r0, #9
+ strb r0, [r1]
+ ldr r0, [r5]
+ movs r2, #0xc9
+ lsls r2, r2, #1
+ adds r1, r0, r2
+ movs r0, #0x63
+ b _0804A650
+ .align 2, 0
+_0804A60C: .4byte gMain
+_0804A610: .4byte gUnknown_020314E0
+_0804A614: .4byte 0x040000D4
+_0804A618: .4byte 0x81000A08
+_0804A61C: .4byte 0x084C0C6C
+_0804A620: .4byte 0x06010600
+_0804A624: .4byte 0x800000C0
+_0804A628: .4byte 0x000005F6
+_0804A62C:
+ ldr r1, [r5]
+ movs r3, #0xea
+ lsls r3, r3, #1
+ adds r0, r1, r3
+ strh r2, [r0]
+ movs r4, #0xeb
+ lsls r4, r4, #1
+ adds r2, r1, r4
+ ldr r0, _0804A690 @ =0x0000FFFC
+ strh r0, [r2]
+ adds r1, #0x30
+ movs r0, #2
+ strb r0, [r1]
+ ldr r0, [r5]
+ movs r7, #0xc9
+ lsls r7, r7, #1
+ adds r1, r0, r7
+ movs r0, #0xa
+_0804A650:
+ strb r0, [r1]
+_0804A652:
+ ldrb r0, [r6, #2]
+ cmp r0, #3
+ beq _0804A666
+ ldr r0, [r5]
+ movs r2, #0xa1
+ lsls r2, r2, #1
+ adds r1, r6, r2
+ ldrb r1, [r1]
+ adds r0, #0x31
+ strb r1, [r0]
+_0804A666:
+ ldr r1, [r5]
+ ldr r0, _0804A694 @ =0x00009C40
+ str r0, [r1, #0x38]
+ movs r3, #0
+ strb r3, [r1, #0x1d]
+ ldr r0, [r5]
+ ldr r4, _0804A698 @ =0x0000132C
+ adds r1, r0, r4
+ ldr r7, _0804A69C @ =0x00001334
+ adds r2, r0, r7
+ str r2, [r1]
+ adds r4, #4
+ adds r1, r0, r4
+ str r2, [r1]
+ adds r0, #0x66
+ strh r3, [r0]
+ add sp, #4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804A690: .4byte 0x0000FFFC
+_0804A694: .4byte 0x00009C40
+_0804A698: .4byte 0x0000132C
+_0804A69C: .4byte 0x00001334
+
+ thumb_func_start sub_4A6A0
+sub_4A6A0: @ 0x0804A6A0
+ push {r4, r5, r6, r7, lr}
+ ldr r1, _0804A6C0 @ =gUnknown_020314E0
+ ldr r2, [r1]
+ ldr r3, _0804A6C4 @ =0x00000282
+ adds r0, r2, r3
+ movs r5, #0
+ ldrsb r5, [r0, r5]
+ adds r6, r1, #0
+ cmp r5, #1
+ beq _0804A760
+ cmp r5, #1
+ bgt _0804A6C8
+ cmp r5, #0
+ beq _0804A6D0
+ b _0804A83C
+ .align 2, 0
+_0804A6C0: .4byte gUnknown_020314E0
+_0804A6C4: .4byte 0x00000282
+_0804A6C8:
+ cmp r5, #2
+ bne _0804A6CE
+ b _0804A7D0
+_0804A6CE:
+ b _0804A83C
+_0804A6D0:
+ ldr r4, _0804A738 @ =0x0000132C
+ adds r1, r2, r4
+ ldr r2, [r1]
+ movs r3, #0
+ movs r0, #0x77
+ strh r0, [r2, #0x10]
+ ldr r2, [r1]
+ adds r0, #0xa0
+ strh r0, [r2, #0x12]
+ ldr r0, [r1]
+ strh r5, [r0, #0x30]
+ ldr r0, [r1]
+ strh r5, [r0, #0x32]
+ ldr r0, [r1]
+ strh r5, [r0, #6]
+ ldr r2, [r1]
+ movs r5, #0x10
+ ldrsh r0, [r2, r5]
+ lsls r0, r0, #8
+ str r0, [r2, #0x34]
+ ldr r2, [r1]
+ movs r7, #0x12
+ ldrsh r0, [r2, r7]
+ lsls r0, r0, #8
+ str r0, [r2, #0x38]
+ ldr r2, [r1]
+ movs r0, #0x80
+ strh r0, [r2, #0xe]
+ ldr r0, [r1]
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r6]
+ strb r1, [r0, #0x1f]
+ ldr r0, [r6]
+ movs r1, #0xe6
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ strb r3, [r0]
+ ldr r0, [r6]
+ movs r1, #0x78
+ strh r1, [r0, #0x28]
+ adds r0, #0x25
+ movs r1, #4
+ strb r1, [r0]
+ ldr r0, _0804A73C @ =gMain
+ ldrb r0, [r0, #4]
+ cmp r0, #0
+ bne _0804A740
+ bl sub_1A9E8
+ b _0804A744
+ .align 2, 0
+_0804A738: .4byte 0x0000132C
+_0804A73C: .4byte gMain
+_0804A740:
+ bl sub_32968
+_0804A744:
+ ldr r3, _0804A75C @ =gUnknown_020314E0
+ ldr r1, [r3]
+ adds r2, r1, #0
+ adds r2, #0x4c
+ movs r0, #0
+ strh r0, [r2]
+ adds r1, #0x4e
+ movs r0, #0xd7
+ strh r0, [r1]
+ adds r6, r3, #0
+ b _0804A83C
+ .align 2, 0
+_0804A75C: .4byte gUnknown_020314E0
+_0804A760:
+ ldr r3, _0804A7C8 @ =0x0000132C
+ adds r1, r2, r3
+ ldr r2, [r1]
+ movs r4, #0
+ movs r3, #0
+ movs r0, #0x8c
+ strh r0, [r2, #0x10]
+ ldr r2, [r1]
+ movs r0, #0xb7
+ strh r0, [r2, #0x12]
+ ldr r0, [r1]
+ strh r3, [r0, #0x30]
+ ldr r0, [r1]
+ strh r3, [r0, #0x32]
+ ldr r0, [r1]
+ strh r3, [r0, #6]
+ ldr r2, [r1]
+ movs r7, #0x10
+ ldrsh r0, [r2, r7]
+ lsls r0, r0, #8
+ str r0, [r2, #0x34]
+ ldr r2, [r1]
+ movs r7, #0x12
+ ldrsh r0, [r2, r7]
+ lsls r0, r0, #8
+ str r0, [r2, #0x38]
+ ldr r2, [r1]
+ movs r0, #0x80
+ strh r0, [r2, #0xe]
+ ldr r0, [r1]
+ strb r5, [r0]
+ ldr r0, [r6]
+ strb r5, [r0, #0x1f]
+ ldr r0, [r6]
+ movs r1, #0xe6
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ strb r4, [r0]
+ ldr r0, [r6]
+ ldr r2, _0804A7CC @ =0x000002A2
+ adds r0, r0, r2
+ movs r1, #5
+ strb r1, [r0]
+ ldr r0, [r6]
+ adds r1, r0, #0
+ adds r1, #0x4c
+ strh r3, [r1]
+ adds r0, #0x4e
+ movs r1, #0x76
+ strh r1, [r0]
+ b _0804A83C
+ .align 2, 0
+_0804A7C8: .4byte 0x0000132C
+_0804A7CC: .4byte 0x000002A2
+_0804A7D0:
+ ldr r3, _0804A8E4 @ =0x0000132C
+ adds r1, r2, r3
+ ldr r2, [r1]
+ movs r4, #0
+ movs r3, #0
+ ldr r0, _0804A8E8 @ =0x0000FFE4
+ strh r0, [r2, #0x10]
+ ldr r2, [r1]
+ adds r0, #0x12
+ strh r0, [r2, #0x12]
+ ldr r0, [r1]
+ strh r3, [r0, #0x30]
+ ldr r0, [r1]
+ strh r3, [r0, #0x32]
+ ldr r0, [r1]
+ strh r3, [r0, #6]
+ ldr r2, [r1]
+ movs r5, #0x10
+ ldrsh r0, [r2, r5]
+ lsls r0, r0, #8
+ str r0, [r2, #0x34]
+ ldr r2, [r1]
+ movs r7, #0x12
+ ldrsh r0, [r2, r7]
+ lsls r0, r0, #8
+ str r0, [r2, #0x38]
+ ldr r2, [r1]
+ movs r0, #0x80
+ strh r0, [r2, #0xe]
+ ldr r0, [r1]
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r6]
+ strb r1, [r0, #0x1f]
+ ldr r0, [r6]
+ movs r1, #0xe6
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ strb r4, [r0]
+ ldr r0, [r6]
+ movs r2, #0xc3
+ lsls r2, r2, #2
+ adds r1, r0, r2
+ strh r3, [r1]
+ ldr r4, _0804A8EC @ =0x00000306
+ adds r0, r0, r4
+ movs r1, #7
+ strb r1, [r0]
+ ldr r0, [r6]
+ adds r1, r0, #0
+ adds r1, #0x4c
+ strh r3, [r1]
+ adds r0, #0x4e
+ strh r3, [r0]
+_0804A83C:
+ ldr r1, [r6]
+ ldr r3, _0804A8F0 @ =0x000005FC
+ adds r0, r1, r3
+ movs r4, #0
+ movs r2, #0
+ strh r2, [r0]
+ ldr r5, _0804A8F4 @ =0x000005FE
+ adds r0, r1, r5
+ strh r2, [r0]
+ ldr r7, _0804A8F8 @ =0x000005FB
+ adds r1, r1, r7
+ strb r4, [r1]
+ ldr r2, [r6]
+ adds r5, r2, #0
+ adds r5, #0x4e
+ movs r1, #0
+ ldrsh r0, [r5, r1]
+ lsls r0, r0, #8
+ str r0, [r2, #0x54]
+ adds r4, r2, #0
+ adds r4, #0x4c
+ ldrh r1, [r4]
+ adds r0, r2, #0
+ adds r0, #0x58
+ strh r1, [r0]
+ adds r3, r2, r3
+ ldrh r0, [r3]
+ ldrh r5, [r5]
+ adds r0, r0, r5
+ adds r1, r2, #0
+ adds r1, #0x5a
+ strh r0, [r1]
+ ldr r2, _0804A8FC @ =gMain
+ ldrh r1, [r4]
+ movs r3, #0xbc
+ lsls r3, r3, #2
+ adds r0, r2, r3
+ strh r1, [r0]
+ ldr r0, [r6]
+ adds r0, #0x4e
+ ldrh r1, [r0]
+ ldr r4, _0804A900 @ =0x000002F2
+ adds r0, r2, r4
+ strh r1, [r0]
+ ldr r0, [r6]
+ adds r0, #0x4c
+ ldrh r1, [r0]
+ movs r5, #0xbd
+ lsls r5, r5, #2
+ adds r0, r2, r5
+ strh r1, [r0]
+ ldr r0, [r6]
+ adds r0, #0x4e
+ ldrh r3, [r0]
+ ldr r7, _0804A904 @ =0x000002F6
+ adds r4, r2, r7
+ strh r3, [r4]
+ ldr r0, [r6]
+ adds r0, #0x4c
+ ldrh r1, [r0]
+ subs r5, #8
+ adds r0, r2, r5
+ strh r1, [r0]
+ ldr r0, [r6]
+ adds r0, #0x4e
+ ldrh r1, [r0]
+ subs r7, #8
+ adds r0, r2, r7
+ strh r1, [r0]
+ ldr r0, _0804A908 @ =0x000002EA
+ adds r2, r2, r0
+ movs r0, #0x50
+ strh r0, [r2]
+ ldr r1, [r6]
+ adds r0, r1, #0
+ adds r0, #0xcc
+ strh r3, [r0]
+ ldrh r0, [r4]
+ lsrs r0, r0, #3
+ adds r1, #0x64
+ strh r0, [r1]
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804A8E4: .4byte 0x0000132C
+_0804A8E8: .4byte 0x0000FFE4
+_0804A8EC: .4byte 0x00000306
+_0804A8F0: .4byte 0x000005FC
+_0804A8F4: .4byte 0x000005FE
+_0804A8F8: .4byte 0x000005FB
+_0804A8FC: .4byte gMain
+_0804A900: .4byte 0x000002F2
+_0804A904: .4byte 0x000002F6
+_0804A908: .4byte 0x000002EA
+
+ thumb_func_start sub_4A90C
+sub_4A90C: @ 0x0804A90C
+ push {r4, lr}
+ ldr r2, _0804A944 @ =0x020028D8
+ ldr r3, _0804A948 @ =0x086B077C
+ ldr r0, [r3]
+ ldr r1, [r3, #4]
+ str r0, [r2, #8]
+ str r1, [r2, #0xc]
+ adds r0, r3, #0
+ adds r0, #0x90
+ ldr r1, [r0, #4]
+ ldr r0, [r0]
+ str r0, [r2, #0x40]
+ str r1, [r2, #0x44]
+ ldr r0, [r3, #0x78]
+ ldr r1, [r3, #0x7c]
+ str r0, [r2, #0x30]
+ str r1, [r2, #0x34]
+ ldr r0, _0804A94C @ =gMain
+ ldrb r1, [r0, #4]
+ adds r4, r0, #0
+ cmp r1, #7
+ bls _0804A93A
+ b _0804AACC
+_0804A93A:
+ lsls r0, r1, #2
+ ldr r1, _0804A950 @ =_0804A954
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0804A944: .4byte 0x020028D8
+_0804A948: .4byte 0x086B077C
+_0804A94C: .4byte gMain
+_0804A950: .4byte _0804A954
+_0804A954: @ jump table
+ .4byte _0804A974 @ case 0
+ .4byte _0804A9BC @ case 1
+ .4byte _0804AA04 @ case 2
+ .4byte _0804AA1E @ case 3
+ .4byte _0804AA38 @ case 4
+ .4byte _0804AA52 @ case 5
+ .4byte _0804AA6C @ case 6
+ .4byte _0804AA86 @ case 7
+_0804A974:
+ ldr r0, [r3, #0x18]
+ ldr r1, [r3, #0x1c]
+ str r0, [r2, #0x18]
+ str r1, [r2, #0x1c]
+ adds r0, r3, #0
+ adds r0, #0x80
+ ldr r1, [r0, #4]
+ ldr r0, [r0]
+ str r0, [r2, #0x38]
+ str r1, [r2, #0x3c]
+ adds r0, r3, #0
+ adds r0, #0x98
+ ldr r1, [r0, #4]
+ ldr r0, [r0]
+ str r0, [r2]
+ str r1, [r2, #4]
+ ldr r0, [r3, #0x58]
+ ldr r1, [r3, #0x5c]
+ str r0, [r2, #0x20]
+ str r1, [r2, #0x24]
+ ldr r0, [r3, #8]
+ ldr r1, [r3, #0xc]
+ str r0, [r2, #0x10]
+ str r1, [r2, #0x14]
+ ldr r0, [r3, #0x68]
+ ldr r1, [r3, #0x6c]
+ str r0, [r2, #0x28]
+ str r1, [r2, #0x2c]
+ ldrb r1, [r4, #4]
+ lsls r0, r1, #4
+ subs r0, r0, r1
+ lsls r0, r0, #4
+ ldr r1, _0804A9B8 @ =0x086B02CC
+ b _0804AAC8
+ .align 2, 0
+_0804A9B8: .4byte 0x086B02CC
+_0804A9BC:
+ ldr r0, [r3, #0x20]
+ ldr r1, [r3, #0x24]
+ str r0, [r2, #0x18]
+ str r1, [r2, #0x1c]
+ adds r0, r3, #0
+ adds r0, #0x80
+ ldr r1, [r0, #4]
+ ldr r0, [r0]
+ str r0, [r2, #0x38]
+ str r1, [r2, #0x3c]
+ adds r0, r3, #0
+ adds r0, #0xa0
+ ldr r1, [r0, #4]
+ ldr r0, [r0]
+ str r0, [r2]
+ str r1, [r2, #4]
+ ldr r0, [r3, #0x58]
+ ldr r1, [r3, #0x5c]
+ str r0, [r2, #0x20]
+ str r1, [r2, #0x24]
+ ldr r0, [r3, #8]
+ ldr r1, [r3, #0xc]
+ str r0, [r2, #0x10]
+ str r1, [r2, #0x14]
+ ldr r0, [r3, #0x68]
+ ldr r1, [r3, #0x6c]
+ str r0, [r2, #0x28]
+ str r1, [r2, #0x2c]
+ ldrb r1, [r4, #4]
+ lsls r0, r1, #4
+ subs r0, r0, r1
+ lsls r0, r0, #4
+ ldr r1, _0804AA00 @ =0x086B02CC
+ b _0804AAC8
+ .align 2, 0
+_0804AA00: .4byte 0x086B02CC
+_0804AA04:
+ ldr r0, [r3, #0x28]
+ ldr r1, [r3, #0x2c]
+ str r0, [r2, #0x18]
+ str r1, [r2, #0x1c]
+ adds r0, r3, #0
+ adds r0, #0x88
+ ldr r1, [r0, #4]
+ ldr r0, [r0]
+ str r0, [r2, #0x38]
+ str r1, [r2, #0x3c]
+ adds r0, r3, #0
+ adds r0, #0xa8
+ b _0804AA9E
+_0804AA1E:
+ ldr r0, [r3, #0x30]
+ ldr r1, [r3, #0x34]
+ str r0, [r2, #0x18]
+ str r1, [r2, #0x1c]
+ adds r0, r3, #0
+ adds r0, #0x88
+ ldr r1, [r0, #4]
+ ldr r0, [r0]
+ str r0, [r2, #0x38]
+ str r1, [r2, #0x3c]
+ adds r0, r3, #0
+ adds r0, #0xb0
+ b _0804AA9E
+_0804AA38:
+ ldr r0, [r3, #0x38]
+ ldr r1, [r3, #0x3c]
+ str r0, [r2, #0x18]
+ str r1, [r2, #0x1c]
+ adds r0, r3, #0
+ adds r0, #0x88
+ ldr r1, [r0, #4]
+ ldr r0, [r0]
+ str r0, [r2, #0x38]
+ str r1, [r2, #0x3c]
+ adds r0, r3, #0
+ adds r0, #0xb8
+ b _0804AA9E
+_0804AA52:
+ ldr r0, [r3, #0x40]
+ ldr r1, [r3, #0x44]
+ str r0, [r2, #0x18]
+ str r1, [r2, #0x1c]
+ adds r0, r3, #0
+ adds r0, #0x88
+ ldr r1, [r0, #4]
+ ldr r0, [r0]
+ str r0, [r2, #0x38]
+ str r1, [r2, #0x3c]
+ adds r0, r3, #0
+ adds r0, #0xc0
+ b _0804AA9E
+_0804AA6C:
+ ldr r0, [r3, #0x48]
+ ldr r1, [r3, #0x4c]
+ str r0, [r2, #0x18]
+ str r1, [r2, #0x1c]
+ adds r0, r3, #0
+ adds r0, #0x88
+ ldr r1, [r0, #4]
+ ldr r0, [r0]
+ str r0, [r2, #0x38]
+ str r1, [r2, #0x3c]
+ adds r0, r3, #0
+ adds r0, #0xc8
+ b _0804AA9E
+_0804AA86:
+ ldr r0, [r3, #0x50]
+ ldr r1, [r3, #0x54]
+ str r0, [r2, #0x18]
+ str r1, [r2, #0x1c]
+ adds r0, r3, #0
+ adds r0, #0x88
+ ldr r1, [r0, #4]
+ ldr r0, [r0]
+ str r0, [r2, #0x38]
+ str r1, [r2, #0x3c]
+ adds r0, r3, #0
+ adds r0, #0xd0
+_0804AA9E:
+ ldr r1, [r0, #4]
+ ldr r0, [r0]
+ str r0, [r2]
+ str r1, [r2, #4]
+ ldr r0, [r3, #0x60]
+ ldr r1, [r3, #0x64]
+ str r0, [r2, #0x20]
+ str r1, [r2, #0x24]
+ ldr r0, [r3, #0x10]
+ ldr r1, [r3, #0x14]
+ str r0, [r2, #0x10]
+ str r1, [r2, #0x14]
+ ldr r0, [r3, #0x70]
+ ldr r1, [r3, #0x74]
+ str r0, [r2, #0x28]
+ str r1, [r2, #0x2c]
+ ldrb r1, [r4, #4]
+ lsls r0, r1, #4
+ subs r0, r0, r1
+ lsls r0, r0, #3
+ ldr r1, _0804AAD4 @ =0x086B03BC
+_0804AAC8:
+ adds r0, r0, r1
+ str r0, [r4, #0x44]
+_0804AACC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804AAD4: .4byte 0x086B03BC
+
+ thumb_func_start sub_4AAD8
+sub_4AAD8: @ 0x0804AAD8
+ push {r4, r5, lr}
+ ldr r0, _0804AAF0 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldrb r4, [r1, #0x1d]
+ cmp r4, #1
+ beq _0804AB08
+ cmp r4, #1
+ bgt _0804AAF4
+ cmp r4, #0
+ beq _0804AAFA
+ b _0804ABB8
+ .align 2, 0
+_0804AAF0: .4byte gUnknown_020314E0
+_0804AAF4:
+ cmp r4, #2
+ beq _0804ABB0
+ b _0804ABB8
+_0804AAFA:
+ movs r0, #1
+ strb r0, [r1, #0x1d]
+ ldr r0, _0804AB04 @ =gMain
+ strb r4, [r0, #0xe]
+ b _0804ABB8
+ .align 2, 0
+_0804AB04: .4byte gMain
+_0804AB08:
+ ldr r1, _0804AB3C @ =0x086B085C
+ ldr r5, _0804AB40 @ =gMain
+ ldrb r0, [r5, #6]
+ lsls r0, r0, #2
+ adds r0, r0, r1
+ ldr r0, [r0]
+ bl _call_via_r0
+ ldrh r1, [r5, #0x1c]
+ movs r0, #0xf
+ ands r0, r1
+ cmp r0, #0xf
+ bne _0804AB24
+ strb r4, [r5, #0xe]
+_0804AB24:
+ ldrb r0, [r5, #0xe]
+ cmp r0, #0
+ beq _0804ABB8
+ ldrb r0, [r5, #4]
+ cmp r0, #1
+ bhi _0804AB44
+ bl sub_1D4D0
+ movs r0, #0
+ bl sub_31BE8
+ b _0804AB60
+ .align 2, 0
+_0804AB3C: .4byte 0x086B085C
+_0804AB40: .4byte gMain
+_0804AB44:
+ cmp r0, #2
+ bne _0804AB4E
+ bl sub_356A0
+ b _0804AB60
+_0804AB4E:
+ cmp r0, #4
+ bne _0804AB58
+ bl sub_3ADA0
+ b _0804AB60
+_0804AB58:
+ cmp r0, #5
+ bne _0804AB60
+ bl sub_3E5D0
+_0804AB60:
+ ldr r4, _0804AB98 @ =gMain
+ ldrb r1, [r4, #0xf]
+ movs r3, #2
+ adds r0, r3, #0
+ ands r0, r1
+ ldr r2, _0804AB9C @ =gUnknown_020314E0
+ cmp r0, #0
+ beq _0804AB84
+ ldr r1, _0804ABA0 @ =0x040000D4
+ ldr r0, [r2]
+ ldr r5, _0804ABA4 @ =0x0000111A
+ adds r0, r0, r5
+ str r0, [r1]
+ ldr r0, _0804ABA8 @ =0x05000200
+ str r0, [r1, #4]
+ ldr r0, _0804ABAC @ =0x80000100
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804AB84:
+ ldr r0, [r2]
+ strb r3, [r0, #0x1d]
+ ldrb r0, [r4, #0xe]
+ cmp r0, #2
+ bne _0804ABB8
+ movs r0, #1
+ bl sub_4B408
+ b _0804ABB8
+ .align 2, 0
+_0804AB98: .4byte gMain
+_0804AB9C: .4byte gUnknown_020314E0
+_0804ABA0: .4byte 0x040000D4
+_0804ABA4: .4byte 0x0000111A
+_0804ABA8: .4byte 0x05000200
+_0804ABAC: .4byte 0x80000100
+_0804ABB0:
+ ldr r1, _0804ABC4 @ =gMain
+ ldrb r0, [r1, #3]
+ adds r0, #1
+ strb r0, [r1, #3]
+_0804ABB8:
+ bl sub_11FC
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804ABC4: .4byte gMain
+
+ thumb_func_start sub_4ABC8
+sub_4ABC8: @ 0x0804ABC8
+ push {lr}
+ bl sub_111C
+ bl sub_1170
+ cmp r0, #0
+ beq _0804ABE2
+ bl sub_1198
+ ldr r1, _0804ABE8 @ =gMain
+ ldrb r0, [r1, #3]
+ adds r0, #1
+ strb r0, [r1, #3]
+_0804ABE2:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804ABE8: .4byte gMain
+
+ thumb_func_start sub_4ABEC
+sub_4ABEC: @ 0x0804ABEC
+ push {r4, r5, lr}
+ bl sub_4B280
+ ldr r5, _0804AC50 @ =0x020028D8
+ ldr r0, [r5, #0xc]
+ bl _call_via_r0
+ ldr r4, _0804AC54 @ =gMain
+ ldrh r1, [r4, #0xe]
+ ldr r0, _0804AC58 @ =0x000002FF
+ ands r0, r1
+ cmp r0, #0
+ bne _0804ACDE
+ ldr r0, [r5, #0x14]
+ bl _call_via_r0
+ ldr r0, [r5, #4]
+ bl _call_via_r0
+ ldr r0, [r5, #0x1c]
+ bl _call_via_r0
+ ldr r0, [r5, #0x24]
+ bl _call_via_r0
+ ldrb r0, [r4, #0xf]
+ cmp r0, #0
+ beq _0804AC60
+ ldr r0, _0804AC5C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldrb r0, [r0, #0x1f]
+ cmp r0, #0
+ bne _0804ACD0
+ movs r4, #0
+_0804AC30:
+ ldr r0, _0804AC5C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ strb r4, [r0, #0x1e]
+ ldr r0, _0804AC50 @ =0x020028D8
+ ldr r0, [r0, #0x34]
+ bl _call_via_r0
+ lsls r0, r4, #0x10
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r0, r1
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0804AC30
+ b _0804ACD0
+ .align 2, 0
+_0804AC50: .4byte 0x020028D8
+_0804AC54: .4byte gMain
+_0804AC58: .4byte 0x000002FF
+_0804AC5C: .4byte gUnknown_020314E0
+_0804AC60:
+ ldr r0, [r4, #0x50]
+ adds r0, #1
+ str r0, [r4, #0x50]
+ ldr r0, _0804ACA4 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ movs r0, #0xa4
+ lsls r0, r0, #2
+ adds r1, r2, r0
+ ldr r0, [r1]
+ adds r0, #1
+ str r0, [r1]
+ ldrb r0, [r2, #0x1f]
+ cmp r0, #0
+ beq _0804ACAC
+ cmp r0, #2
+ beq _0804ACD0
+ movs r4, #0
+_0804AC82:
+ ldr r0, _0804ACA4 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ strb r4, [r0, #0x1e]
+ ldr r0, _0804ACA8 @ =0x020028D8
+ ldr r0, [r0, #0x2c]
+ bl _call_via_r0
+ lsls r0, r4, #0x10
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r0, r1
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0804AC82
+ b _0804ACD0
+ .align 2, 0
+_0804ACA4: .4byte gUnknown_020314E0
+_0804ACA8: .4byte 0x020028D8
+_0804ACAC:
+ movs r4, #0
+_0804ACAE:
+ ldr r0, _0804ACE8 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ strb r4, [r0, #0x1e]
+ ldr r0, [r5, #0x2c]
+ bl _call_via_r0
+ ldr r0, [r5, #0x34]
+ bl _call_via_r0
+ lsls r0, r4, #0x10
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r0, r1
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0804ACAE
+_0804ACD0:
+ ldr r4, _0804ACEC @ =0x020028D8
+ ldr r0, [r4, #0x3c]
+ bl _call_via_r0
+ ldr r0, [r4, #0x44]
+ bl _call_via_r0
+_0804ACDE:
+ bl sub_47030
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804ACE8: .4byte gUnknown_020314E0
+_0804ACEC: .4byte 0x020028D8
+
+ thumb_func_start sub_4ACF0
+sub_4ACF0: @ 0x0804ACF0
+ push {r4, r5, r6, r7, lr}
+ bl sub_4B334
+ ldr r5, _0804AD54 @ =0x020028D8
+ ldr r0, [r5, #0xc]
+ bl _call_via_r0
+ ldr r4, _0804AD58 @ =gMain
+ ldrb r1, [r4, #0xf]
+ movs r0, #2
+ ands r0, r1
+ cmp r0, #0
+ bne _0804ADDE
+ ldr r0, [r5, #0x14]
+ bl _call_via_r0
+ ldr r0, [r5, #4]
+ bl _call_via_r0
+ ldr r0, [r5, #0x1c]
+ bl _call_via_r0
+ ldr r0, [r5, #0x24]
+ bl _call_via_r0
+ ldrb r0, [r4, #0xf]
+ cmp r0, #0
+ beq _0804AD60
+ ldr r0, _0804AD5C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldrb r0, [r0, #0x1f]
+ cmp r0, #0
+ bne _0804ADD0
+ movs r4, #0
+_0804AD34:
+ ldr r0, _0804AD5C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ strb r4, [r0, #0x1e]
+ ldr r0, _0804AD54 @ =0x020028D8
+ ldr r0, [r0, #0x34]
+ bl _call_via_r0
+ lsls r0, r4, #0x10
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r0, r1
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0804AD34
+ b _0804ADD0
+ .align 2, 0
+_0804AD54: .4byte 0x020028D8
+_0804AD58: .4byte gMain
+_0804AD5C: .4byte gUnknown_020314E0
+_0804AD60:
+ ldr r0, [r4, #0x50]
+ adds r0, #1
+ str r0, [r4, #0x50]
+ ldr r0, _0804ADA4 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ movs r0, #0xa4
+ lsls r0, r0, #2
+ adds r1, r2, r0
+ ldr r0, [r1]
+ adds r0, #1
+ str r0, [r1]
+ ldrb r0, [r2, #0x1f]
+ cmp r0, #0
+ beq _0804ADAC
+ cmp r0, #2
+ beq _0804ADD0
+ movs r4, #0
+_0804AD82:
+ ldr r0, _0804ADA4 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ strb r4, [r0, #0x1e]
+ ldr r0, _0804ADA8 @ =0x020028D8
+ ldr r0, [r0, #0x2c]
+ bl _call_via_r0
+ lsls r0, r4, #0x10
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r0, r1
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0804AD82
+ b _0804ADD0
+ .align 2, 0
+_0804ADA4: .4byte gUnknown_020314E0
+_0804ADA8: .4byte 0x020028D8
+_0804ADAC:
+ movs r4, #0
+_0804ADAE:
+ ldr r0, _0804AE1C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ strb r4, [r0, #0x1e]
+ ldr r0, [r5, #0x2c]
+ bl _call_via_r0
+ ldr r0, [r5, #0x34]
+ bl _call_via_r0
+ lsls r0, r4, #0x10
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r0, r1
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0804ADAE
+_0804ADD0:
+ ldr r4, _0804AE20 @ =0x020028D8
+ ldr r0, [r4, #0x3c]
+ bl _call_via_r0
+ ldr r0, [r4, #0x44]
+ bl _call_via_r0
+_0804ADDE:
+ bl sub_47030
+ ldr r0, _0804AE24 @ =gMain
+ ldr r0, [r0, #0x4c]
+ movs r1, #0x1f
+ ands r0, r1
+ lsrs r0, r0, #4
+ cmp r0, #0
+ beq _0804AE38
+ movs r4, #0
+ ldr r7, _0804AE28 @ =0x03006280
+ ldr r0, _0804AE2C @ =0xFFFFF980
+ adds r6, r7, r0
+ ldr r5, _0804AE30 @ =0x0000034A
+ ldr r1, _0804AE34 @ =0xFFFFC156
+ adds r3, r1, #0
+_0804ADFE:
+ lsls r0, r4, #0x10
+ asrs r0, r0, #0x10
+ adds r1, r0, r5
+ lsls r1, r1, #1
+ adds r1, r1, r6
+ adds r2, r0, r3
+ strh r2, [r1]
+ adds r0, #1
+ lsls r0, r0, #0x10
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #9
+ ble _0804ADFE
+ b _0804AE5C
+ .align 2, 0
+_0804AE1C: .4byte gUnknown_020314E0
+_0804AE20: .4byte 0x020028D8
+_0804AE24: .4byte gMain
+_0804AE28: .4byte 0x03006280
+_0804AE2C: .4byte 0xFFFFF980
+_0804AE30: .4byte 0x0000034A
+_0804AE34: .4byte 0xFFFFC156
+_0804AE38:
+ movs r4, #0
+ ldr r7, _0804AE70 @ =0x03006280
+ ldr r0, _0804AE74 @ =0xFFFFF980
+ adds r5, r7, r0
+ ldr r3, _0804AE78 @ =0x0000034A
+ ldr r2, _0804AE7C @ =0x000001FF
+_0804AE44:
+ lsls r1, r4, #0x10
+ asrs r1, r1, #0x10
+ adds r0, r1, r3
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ strh r2, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r4, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #9
+ ble _0804AE44
+_0804AE5C:
+ ldr r1, _0804AE80 @ =0x040000D4
+ str r7, [r1]
+ ldr r0, _0804AE84 @ =0x06002680
+ str r0, [r1, #4]
+ ldr r0, _0804AE88 @ =0x80000020
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804AE70: .4byte 0x03006280
+_0804AE74: .4byte 0xFFFFF980
+_0804AE78: .4byte 0x0000034A
+_0804AE7C: .4byte 0x000001FF
+_0804AE80: .4byte 0x040000D4
+_0804AE84: .4byte 0x06002680
+_0804AE88: .4byte 0x80000020
+
+ thumb_func_start sub_4AE8C
+sub_4AE8C: @ 0x0804AE8C
+ push {r4, r5, r6, lr}
+ bl sub_4B280
+ ldr r6, _0804AF0C @ =0x020028D8
+ ldr r0, [r6, #0xc]
+ bl _call_via_r0
+ ldr r5, _0804AF10 @ =gMain
+ ldrb r1, [r5, #0xf]
+ movs r0, #2
+ ands r0, r1
+ cmp r0, #0
+ beq _0804AEA8
+ b _0804AFEA
+_0804AEA8:
+ ldr r0, [r6, #4]
+ bl _call_via_r0
+ ldr r0, [r6, #0x14]
+ bl _call_via_r0
+ ldr r0, [r6, #0x1c]
+ bl _call_via_r0
+ ldr r0, [r6, #0x24]
+ bl _call_via_r0
+ ldrb r4, [r5, #0xf]
+ movs r0, #0x41
+ rsbs r0, r0, #0
+ ands r4, r0
+ cmp r4, #0
+ beq _0804AF20
+ ldr r0, _0804AF14 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldrb r0, [r0, #0x1f]
+ cmp r0, #0
+ beq _0804AED8
+ b _0804AFDC
+_0804AED8:
+ movs r4, #0
+_0804AEDA:
+ ldr r0, _0804AF14 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ adds r2, r1, #0
+ adds r2, #0x66
+ movs r0, #0
+ strh r0, [r2]
+ ldr r0, _0804AF18 @ =0x0000132C
+ adds r2, r1, r0
+ ldr r3, _0804AF1C @ =0x00001334
+ adds r0, r1, r3
+ str r0, [r2]
+ strb r4, [r1, #0x1e]
+ ldr r0, _0804AF0C @ =0x020028D8
+ ldr r0, [r0, #0x34]
+ bl _call_via_r0
+ lsls r0, r4, #0x10
+ movs r4, #0x80
+ lsls r4, r4, #9
+ adds r0, r0, r4
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0804AEDA
+ b _0804AFDC
+ .align 2, 0
+_0804AF0C: .4byte 0x020028D8
+_0804AF10: .4byte gMain
+_0804AF14: .4byte gUnknown_020314E0
+_0804AF18: .4byte 0x0000132C
+_0804AF1C: .4byte 0x00001334
+_0804AF20:
+ ldr r0, [r5, #0x50]
+ adds r0, #1
+ str r0, [r5, #0x50]
+ ldr r0, _0804AF58 @ =gUnknown_020314E0
+ ldr r3, [r0]
+ movs r0, #0xa4
+ lsls r0, r0, #2
+ adds r1, r3, r0
+ ldr r0, [r1]
+ adds r0, #1
+ str r0, [r1]
+ ldrb r0, [r3, #0x1f]
+ cmp r0, #0
+ beq _0804AFA4
+ cmp r0, #2
+ bne _0804AF60
+ adds r0, r3, #0
+ adds r0, #0x66
+ movs r2, #0
+ strh r4, [r0]
+ ldr r4, _0804AF5C @ =0x0000132C
+ adds r1, r3, r4
+ adds r4, #8
+ adds r0, r3, r4
+ str r0, [r1]
+ strb r2, [r3, #0x1e]
+ b _0804AFDC
+ .align 2, 0
+_0804AF58: .4byte gUnknown_020314E0
+_0804AF5C: .4byte 0x0000132C
+_0804AF60:
+ movs r4, #0
+_0804AF62:
+ ldr r0, _0804AF94 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ adds r2, r1, #0
+ adds r2, #0x66
+ movs r0, #0
+ strh r0, [r2]
+ ldr r0, _0804AF98 @ =0x0000132C
+ adds r2, r1, r0
+ ldr r3, _0804AF9C @ =0x00001334
+ adds r0, r1, r3
+ str r0, [r2]
+ strb r4, [r1, #0x1e]
+ ldr r0, _0804AFA0 @ =0x020028D8
+ ldr r0, [r0, #0x2c]
+ bl _call_via_r0
+ lsls r0, r4, #0x10
+ movs r4, #0x80
+ lsls r4, r4, #9
+ adds r0, r0, r4
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0804AF62
+ b _0804AFDC
+ .align 2, 0
+_0804AF94: .4byte gUnknown_020314E0
+_0804AF98: .4byte 0x0000132C
+_0804AF9C: .4byte 0x00001334
+_0804AFA0: .4byte 0x020028D8
+_0804AFA4:
+ movs r4, #0
+ adds r5, r6, #0
+_0804AFA8:
+ ldr r0, _0804AFF0 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ adds r2, r1, #0
+ adds r2, #0x66
+ movs r0, #0
+ strh r0, [r2]
+ ldr r0, _0804AFF4 @ =0x0000132C
+ adds r2, r1, r0
+ ldr r3, _0804AFF8 @ =0x00001334
+ adds r0, r1, r3
+ str r0, [r2]
+ strb r4, [r1, #0x1e]
+ ldr r0, [r5, #0x2c]
+ bl _call_via_r0
+ ldr r0, [r5, #0x34]
+ bl _call_via_r0
+ lsls r0, r4, #0x10
+ movs r4, #0x80
+ lsls r4, r4, #9
+ adds r0, r0, r4
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0804AFA8
+_0804AFDC:
+ ldr r4, _0804AFFC @ =0x020028D8
+ ldr r0, [r4, #0x3c]
+ bl _call_via_r0
+ ldr r0, [r4, #0x44]
+ bl _call_via_r0
+_0804AFEA:
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804AFF0: .4byte gUnknown_020314E0
+_0804AFF4: .4byte 0x0000132C
+_0804AFF8: .4byte 0x00001334
+_0804AFFC: .4byte 0x020028D8
+
+ thumb_func_start sub_4B000
+sub_4B000: @ 0x0804B000
+ push {r4, r5, r6, r7, lr}
+ bl sub_4B334
+ ldr r5, _0804B07C @ =gMain
+ ldrb r1, [r5, #0xf]
+ movs r0, #2
+ ands r0, r1
+ cmp r0, #0
+ beq _0804B014
+ b _0804B15A
+_0804B014:
+ ldr r6, _0804B080 @ =0x020028D8
+ ldr r0, [r6, #4]
+ bl _call_via_r0
+ ldr r0, [r6, #0x14]
+ bl _call_via_r0
+ ldr r0, [r6, #0x1c]
+ bl _call_via_r0
+ ldr r0, [r6, #0x24]
+ bl _call_via_r0
+ ldrb r4, [r5, #0xf]
+ movs r0, #0x41
+ rsbs r0, r0, #0
+ ands r4, r0
+ cmp r4, #0
+ beq _0804B090
+ ldr r0, _0804B084 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldrb r0, [r0, #0x1f]
+ cmp r0, #0
+ beq _0804B046
+ b _0804B14C
+_0804B046:
+ movs r4, #0
+_0804B048:
+ ldr r0, _0804B084 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ adds r2, r1, #0
+ adds r2, #0x66
+ movs r0, #0
+ strh r0, [r2]
+ ldr r0, _0804B088 @ =0x0000132C
+ adds r2, r1, r0
+ ldr r3, _0804B08C @ =0x00001334
+ adds r0, r1, r3
+ str r0, [r2]
+ strb r4, [r1, #0x1e]
+ ldr r0, _0804B080 @ =0x020028D8
+ ldr r0, [r0, #0x34]
+ bl _call_via_r0
+ lsls r0, r4, #0x10
+ movs r4, #0x80
+ lsls r4, r4, #9
+ adds r0, r0, r4
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0804B048
+ b _0804B14C
+ .align 2, 0
+_0804B07C: .4byte gMain
+_0804B080: .4byte 0x020028D8
+_0804B084: .4byte gUnknown_020314E0
+_0804B088: .4byte 0x0000132C
+_0804B08C: .4byte 0x00001334
+_0804B090:
+ ldr r0, [r5, #0x50]
+ adds r0, #1
+ str r0, [r5, #0x50]
+ ldr r0, _0804B0C8 @ =gUnknown_020314E0
+ ldr r3, [r0]
+ movs r0, #0xa4
+ lsls r0, r0, #2
+ adds r1, r3, r0
+ ldr r0, [r1]
+ adds r0, #1
+ str r0, [r1]
+ ldrb r0, [r3, #0x1f]
+ cmp r0, #0
+ beq _0804B114
+ cmp r0, #2
+ bne _0804B0D0
+ adds r0, r3, #0
+ adds r0, #0x66
+ movs r2, #0
+ strh r4, [r0]
+ ldr r4, _0804B0CC @ =0x0000132C
+ adds r1, r3, r4
+ adds r4, #8
+ adds r0, r3, r4
+ str r0, [r1]
+ strb r2, [r3, #0x1e]
+ b _0804B14C
+ .align 2, 0
+_0804B0C8: .4byte gUnknown_020314E0
+_0804B0CC: .4byte 0x0000132C
+_0804B0D0:
+ movs r4, #0
+_0804B0D2:
+ ldr r0, _0804B104 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ adds r2, r1, #0
+ adds r2, #0x66
+ movs r0, #0
+ strh r0, [r2]
+ ldr r0, _0804B108 @ =0x0000132C
+ adds r2, r1, r0
+ ldr r3, _0804B10C @ =0x00001334
+ adds r0, r1, r3
+ str r0, [r2]
+ strb r4, [r1, #0x1e]
+ ldr r0, _0804B110 @ =0x020028D8
+ ldr r0, [r0, #0x2c]
+ bl _call_via_r0
+ lsls r0, r4, #0x10
+ movs r4, #0x80
+ lsls r4, r4, #9
+ adds r0, r0, r4
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0804B0D2
+ b _0804B14C
+ .align 2, 0
+_0804B104: .4byte gUnknown_020314E0
+_0804B108: .4byte 0x0000132C
+_0804B10C: .4byte 0x00001334
+_0804B110: .4byte 0x020028D8
+_0804B114:
+ movs r4, #0
+ adds r5, r6, #0
+_0804B118:
+ ldr r0, _0804B194 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ adds r2, r1, #0
+ adds r2, #0x66
+ movs r0, #0
+ strh r0, [r2]
+ ldr r0, _0804B198 @ =0x0000132C
+ adds r2, r1, r0
+ ldr r3, _0804B19C @ =0x00001334
+ adds r0, r1, r3
+ str r0, [r2]
+ strb r4, [r1, #0x1e]
+ ldr r0, [r5, #0x2c]
+ bl _call_via_r0
+ ldr r0, [r5, #0x34]
+ bl _call_via_r0
+ lsls r0, r4, #0x10
+ movs r4, #0x80
+ lsls r4, r4, #9
+ adds r0, r0, r4
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0804B118
+_0804B14C:
+ ldr r4, _0804B1A0 @ =0x020028D8
+ ldr r0, [r4, #0x3c]
+ bl _call_via_r0
+ ldr r0, [r4, #0x44]
+ bl _call_via_r0
+_0804B15A:
+ ldr r0, _0804B1A4 @ =gMain
+ ldr r0, [r0, #0x4c]
+ movs r1, #0x1f
+ ands r0, r1
+ lsrs r0, r0, #4
+ cmp r0, #0
+ beq _0804B1B8
+ movs r4, #0
+ ldr r7, _0804B1A8 @ =0x03006240
+ ldr r0, _0804B1AC @ =0xFFFFF9C0
+ adds r6, r7, r0
+ ldr r5, _0804B1B0 @ =0x0000032B
+ ldr r1, _0804B1B4 @ =0xFFFFC156
+ adds r3, r1, #0
+_0804B176:
+ lsls r0, r4, #0x10
+ asrs r0, r0, #0x10
+ adds r1, r0, r5
+ lsls r1, r1, #1
+ adds r1, r1, r6
+ adds r2, r0, r3
+ strh r2, [r1]
+ adds r0, #1
+ lsls r0, r0, #0x10
+ lsrs r4, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #8
+ ble _0804B176
+ b _0804B1DC
+ .align 2, 0
+_0804B194: .4byte gUnknown_020314E0
+_0804B198: .4byte 0x0000132C
+_0804B19C: .4byte 0x00001334
+_0804B1A0: .4byte 0x020028D8
+_0804B1A4: .4byte gMain
+_0804B1A8: .4byte 0x03006240
+_0804B1AC: .4byte 0xFFFFF9C0
+_0804B1B0: .4byte 0x0000032B
+_0804B1B4: .4byte 0xFFFFC156
+_0804B1B8:
+ movs r4, #0
+ ldr r7, _0804B1F0 @ =0x03006240
+ ldr r3, _0804B1F4 @ =0xFFFFF9C0
+ adds r5, r7, r3
+ ldr r3, _0804B1F8 @ =0x0000032B
+ ldr r2, _0804B1FC @ =0x000001FF
+_0804B1C4:
+ lsls r1, r4, #0x10
+ asrs r1, r1, #0x10
+ adds r0, r1, r3
+ lsls r0, r0, #1
+ adds r0, r0, r5
+ strh r2, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r4, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #8
+ ble _0804B1C4
+_0804B1DC:
+ ldr r1, _0804B200 @ =0x040000D4
+ str r7, [r1]
+ ldr r0, _0804B204 @ =0x06002640
+ str r0, [r1, #4]
+ ldr r0, _0804B208 @ =0x80000020
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804B1F0: .4byte 0x03006240
+_0804B1F4: .4byte 0xFFFFF9C0
+_0804B1F8: .4byte 0x0000032B
+_0804B1FC: .4byte 0x000001FF
+_0804B200: .4byte 0x040000D4
+_0804B204: .4byte 0x06002640
+_0804B208: .4byte 0x80000020
+
+ thumb_func_start sub_4B20C
+sub_4B20C: @ 0x0804B20C
+ push {r4, lr}
+ ldr r4, _0804B250 @ =gMain
+ adds r1, r4, #0
+ adds r1, #0x36
+ movs r0, #0
+ strb r0, [r1]
+ bl sub_2B4
+ bl m4aMPlayAllStop
+ bl sub_D10
+ ldr r0, _0804B254 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r0, [r1, #0x44]
+ str r0, [r4, #0x58]
+ ldr r0, [r1, #0x48]
+ str r0, [r4, #0x5c]
+ ldrb r0, [r4, #0xe]
+ cmp r0, #2
+ bne _0804B23A
+ bl sub_4B654
+_0804B23A:
+ ldrb r0, [r4, #0xe]
+ cmp r0, #0
+ bne _0804B262
+ ldrb r0, [r4, #4]
+ cmp r0, #1
+ bls _0804B258
+ movs r0, #0xb
+ bl SetMainGameState
+ b _0804B276
+ .align 2, 0
+_0804B250: .4byte gMain
+_0804B254: .4byte gUnknown_020314E0
+_0804B258:
+ ldr r0, [r4, #8]
+ ldr r1, _0804B26C @ =0x00FFFF00
+ ands r0, r1
+ cmp r0, #0
+ beq _0804B270
+_0804B262:
+ movs r0, #0
+ bl SetMainGameState
+ b _0804B276
+ .align 2, 0
+_0804B26C: .4byte 0x00FFFF00
+_0804B270:
+ movs r0, #8
+ bl SetMainGameState
+_0804B276:
+ pop {r4}
+ pop {r0}
+ bx r0
+
+ thumb_func_start nullsub_19
+nullsub_19: @ 0x0804B27C
+ bx lr
+
+ thumb_func_start sub_4B280
+sub_4B280: @ 0x0804B280
+ push {r4, r5, lr}
+ movs r3, #0
+ ldr r4, _0804B2F8 @ =gUnknown_020314E0
+ ldr r0, _0804B2FC @ =gMain
+ mov ip, r0
+ adds r2, r4, #0
+ movs r1, #0
+_0804B28E:
+ ldr r0, [r2]
+ adds r0, #4
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r0, #9
+ adds r0, r0, r3
+ strb r1, [r0]
+ adds r0, r3, #1
+ lsls r0, r0, #0x10
+ lsrs r3, r0, #0x10
+ cmp r3, #4
+ bls _0804B28E
+ mov r1, ip
+ ldrb r0, [r1, #0xf]
+ cmp r0, #0
+ bne _0804B32E
+ movs r3, #0
+ movs r5, #1
+_0804B2B4:
+ lsls r2, r3, #2
+ mov r1, ip
+ adds r1, #0x60
+ adds r1, r2, r1
+ mov r0, ip
+ adds r0, #0x62
+ adds r2, r2, r0
+ ldrh r1, [r1]
+ ldrh r0, [r2]
+ orrs r1, r0
+ ldr r2, _0804B300 @ =0x000003FF
+ adds r0, r2, #0
+ ands r1, r0
+ mov r2, ip
+ ldrh r0, [r2, #0x1c]
+ ands r0, r1
+ cmp r1, r0
+ bne _0804B304
+ ldr r1, [r4]
+ adds r0, r1, #0
+ adds r0, #0xe
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ cmp r0, #0
+ bne _0804B2EC
+ adds r0, r1, #4
+ adds r0, r0, r3
+ strb r5, [r0]
+_0804B2EC:
+ ldr r0, [r4]
+ adds r0, #0xe
+ adds r0, r0, r3
+ strb r5, [r0]
+ b _0804B324
+ .align 2, 0
+_0804B2F8: .4byte gUnknown_020314E0
+_0804B2FC: .4byte gMain
+_0804B300: .4byte 0x000003FF
+_0804B304:
+ ldr r1, [r4]
+ adds r0, r1, #0
+ adds r0, #0xe
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _0804B31A
+ adds r0, r1, #0
+ adds r0, #9
+ adds r0, r0, r3
+ strb r5, [r0]
+_0804B31A:
+ ldr r0, [r4]
+ adds r0, #0xe
+ adds r0, r0, r3
+ movs r1, #0
+ strb r1, [r0]
+_0804B324:
+ adds r0, r3, #1
+ lsls r0, r0, #0x10
+ lsrs r3, r0, #0x10
+ cmp r3, #4
+ bls _0804B2B4
+_0804B32E:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+
+ thumb_func_start sub_4B334
+sub_4B334: @ 0x0804B334
+ push {r4, r5, r6, r7, lr}
+ mov r7, sb
+ mov r6, r8
+ push {r6, r7}
+ movs r3, #0
+ ldr r0, _0804B3F4 @ =gUnknown_020314E0
+ mov r8, r0
+ ldr r1, _0804B3F8 @ =gMain
+ mov sb, r1
+ mov r2, r8
+ movs r1, #0
+_0804B34A:
+ ldr r0, [r2]
+ adds r0, #4
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r0, #9
+ adds r0, r0, r3
+ strb r1, [r0]
+ adds r0, r3, #1
+ lsls r0, r0, #0x10
+ lsrs r3, r0, #0x10
+ cmp r3, #4
+ bls _0804B34A
+ mov r1, sb
+ ldrb r0, [r1, #0xf]
+ cmp r0, #0
+ bne _0804B3E6
+ ldr r0, _0804B3FC @ =0x02031510
+ ldr r2, [r0]
+ ldr r1, _0804B400 @ =0x00000E0F
+ mov ip, r0
+ cmp r2, r1
+ bhi _0804B3D6
+ movs r3, #0
+ ldr r7, _0804B3F4 @ =gUnknown_020314E0
+ ldr r6, _0804B404 @ =gUnknown_02031520
+ mov r5, ip
+ movs r4, #1
+_0804B382:
+ ldr r2, [r7]
+ adds r2, #4
+ adds r2, r2, r3
+ ldr r0, [r5]
+ ldr r1, [r6, #0x10]
+ lsls r0, r0, #2
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ asrs r0, r3
+ ands r0, r4
+ strb r0, [r2]
+ ldr r2, [r7]
+ adds r2, #9
+ adds r2, r2, r3
+ ldr r0, [r5]
+ ldr r1, [r6, #0x10]
+ lsls r0, r0, #2
+ adds r0, r0, r1
+ ldrb r0, [r0, #1]
+ asrs r0, r3
+ ands r0, r4
+ strb r0, [r2]
+ ldr r2, [r7]
+ adds r2, #0xe
+ adds r2, r2, r3
+ ldr r0, [r5]
+ ldr r1, [r6, #0x10]
+ lsls r0, r0, #2
+ adds r0, r0, r1
+ ldrb r0, [r0, #2]
+ asrs r0, r3
+ ands r0, r4
+ strb r0, [r2]
+ adds r0, r3, #1
+ lsls r0, r0, #0x10
+ lsrs r3, r0, #0x10
+ cmp r3, #4
+ bls _0804B382
+ mov r1, ip
+ ldr r0, [r1]
+ adds r0, #1
+ str r0, [r1]
+_0804B3D6:
+ mov r1, r8
+ ldr r0, [r1]
+ ldrb r0, [r0, #5]
+ cmp r0, #0
+ beq _0804B3E6
+ movs r0, #1
+ mov r1, sb
+ strh r0, [r1, #0x18]
+_0804B3E6:
+ pop {r3, r4}
+ mov r8, r3
+ mov sb, r4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804B3F4: .4byte gUnknown_020314E0
+_0804B3F8: .4byte gMain
+_0804B3FC: .4byte 0x02031510
+_0804B400: .4byte 0x00000E0F
+_0804B404: .4byte gUnknown_02031520
+
+ thumb_func_start sub_4B408
+sub_4B408: @ 0x0804B408
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, r0, #0x10
+ lsrs r4, r0, #0x10
+ ldr r2, _0804B430 @ =0x02032EE0
+ ldr r0, [r2, #4]
+ cmp r0, #0
+ blt _0804B43C
+ ldr r0, _0804B434 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r1, _0804B438 @ =0x00000F4C
+ adds r0, r0, r1
+ ldr r1, [r2]
+ str r1, [r0]
+ adds r0, r2, #0
+ bl m4aMPlayStop
+ b _0804B448
+ .align 2, 0
+_0804B430: .4byte 0x02032EE0
+_0804B434: .4byte gUnknown_020314E0
+_0804B438: .4byte 0x00000F4C
+_0804B43C:
+ ldr r0, _0804B5EC @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r2, _0804B5F0 @ =0x00000F4C
+ adds r0, r0, r2
+ movs r1, #0
+ str r1, [r0]
+_0804B448:
+ movs r3, #0
+ ldr r6, _0804B5EC @ =gUnknown_020314E0
+ ldr r0, _0804B5F4 @ =gMain
+ mov ip, r0
+ lsls r4, r4, #0x10
+ mov r8, r4
+ mov r5, ip
+ adds r7, r6, #0
+_0804B458:
+ ldr r4, [r7]
+ lsls r1, r3, #0x10
+ asrs r1, r1, #0x10
+ lsls r2, r1, #1
+ ldrb r3, [r5, #6]
+ movs r0, #0xc8
+ muls r0, r3, r0
+ adds r2, r2, r0
+ ldr r3, _0804B5F8 @ =0x00000F68
+ adds r4, r4, r3
+ adds r4, r4, r2
+ movs r0, #0xb8
+ muls r0, r1, r0
+ adds r0, r0, r5
+ movs r2, #0xbe
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ strh r0, [r4]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r3, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #0x63
+ ble _0804B458
+ ldr r2, _0804B5FC @ =0x040000D4
+ ldr r0, _0804B600 @ =0x05000200
+ str r0, [r2]
+ mov r3, ip
+ ldrb r1, [r3, #6]
+ lsls r1, r1, #9
+ ldr r0, _0804B604 @ =0x0000074C
+ adds r1, r1, r0
+ ldr r0, [r6]
+ adds r0, r0, r1
+ str r0, [r2, #4]
+ ldr r3, _0804B608 @ =0x80000100
+ str r3, [r2, #8]
+ ldr r0, [r2, #8]
+ movs r0, #0xa0
+ lsls r0, r0, #0x13
+ str r0, [r2]
+ mov r0, ip
+ ldrb r1, [r0, #6]
+ lsls r1, r1, #9
+ ldr r0, _0804B60C @ =0x00000B4C
+ adds r1, r1, r0
+ ldr r0, [r6]
+ adds r0, r0, r1
+ str r0, [r2, #4]
+ str r3, [r2, #8]
+ ldr r0, [r2, #8]
+ mov r1, r8
+ cmp r1, #0
+ bne _0804B4C8
+ b _0804B5E0
+_0804B4C8:
+ ldr r1, [r6]
+ ldr r3, _0804B610 @ =0x00000F58
+ adds r2, r1, r3
+ movs r0, #0xba
+ lsls r0, r0, #2
+ add r0, ip
+ ldr r0, [r0]
+ str r0, [r2]
+ ldr r0, _0804B614 @ =0x00000F5C
+ adds r2, r1, r0
+ movs r0, #0xbb
+ lsls r0, r0, #2
+ add r0, ip
+ ldr r0, [r0]
+ str r0, [r2]
+ adds r3, #8
+ adds r2, r1, r3
+ movs r0, #0xbc
+ lsls r0, r0, #2
+ add r0, ip
+ ldr r0, [r0]
+ str r0, [r2]
+ ldr r0, _0804B618 @ =0x00000F64
+ adds r2, r1, r0
+ movs r0, #0xbd
+ lsls r0, r0, #2
+ add r0, ip
+ ldr r0, [r0]
+ str r0, [r2]
+ mov r2, ip
+ ldrb r0, [r2, #4]
+ ldr r3, _0804B61C @ =0x000010FD
+ adds r1, r1, r3
+ strb r0, [r1]
+ ldr r0, [r6]
+ ldrb r1, [r2, #5]
+ ldr r2, _0804B620 @ =0x000010FE
+ adds r0, r0, r2
+ strb r1, [r0]
+ ldr r0, [r6]
+ mov r3, ip
+ ldrb r1, [r3, #6]
+ adds r2, #1
+ adds r0, r0, r2
+ strb r1, [r0]
+ ldr r0, [r6]
+ ldrb r1, [r3, #0xf]
+ ldr r3, _0804B624 @ =0x00001101
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r6]
+ mov r2, ip
+ ldrb r1, [r2, #0x10]
+ adds r3, #1
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r6]
+ ldrb r1, [r2, #0x11]
+ ldr r2, _0804B628 @ =0x00001103
+ adds r0, r0, r2
+ strb r1, [r0]
+ ldr r1, [r6]
+ mov r3, ip
+ ldrh r2, [r3, #0x12]
+ movs r3, #0x99
+ lsls r3, r3, #5
+ adds r0, r1, r3
+ strh r2, [r0]
+ mov r0, ip
+ ldrh r2, [r0, #0x14]
+ adds r3, #2
+ adds r0, r1, r3
+ strh r2, [r0]
+ mov r0, ip
+ ldrh r2, [r0, #0x28]
+ adds r3, #2
+ adds r0, r1, r3
+ strh r2, [r0]
+ mov r0, ip
+ ldrh r2, [r0, #0x2a]
+ adds r3, #2
+ adds r0, r1, r3
+ strh r2, [r0]
+ ldr r2, _0804B62C @ =0x00001106
+ adds r0, r1, r2
+ ldrh r2, [r0]
+ ldr r3, _0804B630 @ =0x00001110
+ adds r0, r1, r3
+ ldrh r3, [r0]
+ strh r2, [r0]
+ ldr r2, _0804B634 @ =0x00001108
+ adds r0, r1, r2
+ ldrh r2, [r0]
+ ldr r3, _0804B638 @ =0x00001112
+ adds r0, r1, r3
+ ldrh r3, [r0]
+ strh r2, [r0]
+ ldr r2, _0804B63C @ =0x0000110A
+ adds r0, r1, r2
+ ldrh r2, [r0]
+ ldr r3, _0804B640 @ =0x00001114
+ adds r0, r1, r3
+ ldrh r3, [r0]
+ strh r2, [r0]
+ ldr r2, _0804B644 @ =0x0000110C
+ adds r0, r1, r2
+ ldrh r2, [r0]
+ ldr r3, _0804B648 @ =0x00001116
+ adds r0, r1, r3
+ strh r2, [r0]
+ ldr r2, _0804B64C @ =0x0000110E
+ adds r0, r1, r2
+ ldrh r2, [r0]
+ adds r3, #2
+ adds r0, r1, r3
+ strh r2, [r0]
+ movs r0, #0xa1
+ lsls r0, r0, #1
+ add r0, ip
+ ldrb r0, [r0]
+ adds r1, #0x31
+ strb r0, [r1]
+ movs r3, #0
+ ldr r5, _0804B650 @ =0x000010F8
+ mov r4, ip
+ adds r4, #7
+_0804B5C4:
+ ldr r2, [r6]
+ lsls r0, r3, #0x10
+ asrs r0, r0, #0x10
+ adds r2, r2, r5
+ adds r2, r2, r0
+ adds r1, r0, r4
+ ldrb r1, [r1]
+ strb r1, [r2]
+ adds r0, #1
+ lsls r0, r0, #0x10
+ lsrs r3, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #4
+ ble _0804B5C4
+_0804B5E0:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804B5EC: .4byte gUnknown_020314E0
+_0804B5F0: .4byte 0x00000F4C
+_0804B5F4: .4byte gMain
+_0804B5F8: .4byte 0x00000F68
+_0804B5FC: .4byte 0x040000D4
+_0804B600: .4byte 0x05000200
+_0804B604: .4byte 0x0000074C
+_0804B608: .4byte 0x80000100
+_0804B60C: .4byte 0x00000B4C
+_0804B610: .4byte 0x00000F58
+_0804B614: .4byte 0x00000F5C
+_0804B618: .4byte 0x00000F64
+_0804B61C: .4byte 0x000010FD
+_0804B620: .4byte 0x000010FE
+_0804B624: .4byte 0x00001101
+_0804B628: .4byte 0x00001103
+_0804B62C: .4byte 0x00001106
+_0804B630: .4byte 0x00001110
+_0804B634: .4byte 0x00001108
+_0804B638: .4byte 0x00001112
+_0804B63C: .4byte 0x0000110A
+_0804B640: .4byte 0x00001114
+_0804B644: .4byte 0x0000110C
+_0804B648: .4byte 0x00001116
+_0804B64C: .4byte 0x0000110E
+_0804B650: .4byte 0x000010F8
+
+ thumb_func_start sub_4B654
+sub_4B654: @ 0x0804B654
+ push {lr}
+ ldr r0, _0804B66C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r1, #1
+ str r1, [r0]
+ ldr r1, _0804B670 @ =0x0E000544
+ ldr r2, _0804B674 @ =0x00001410
+ bl sub_55654
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804B66C: .4byte gUnknown_020314E0
+_0804B670: .4byte 0x0E000544
+_0804B674: .4byte 0x00001410
+
+ thumb_func_start sub_4B678
+sub_4B678: @ 0x0804B678
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ mov r8, r0
+ cmp r0, #1
+ bne _0804B6B0
+ ldr r3, _0804B6A0 @ =0x02032FF0
+ ldr r0, _0804B6A4 @ =0x0E000544
+ ldr r1, _0804B6A8 @ =gUnknown_020314E0
+ ldr r1, [r1]
+ ldr r2, _0804B6AC @ =0x00001410
+ ldr r3, [r3]
+ bl _call_via_r3
+ b _0804B746
+ .align 2, 0
+_0804B6A0: .4byte 0x02032FF0
+_0804B6A4: .4byte 0x0E000544
+_0804B6A8: .4byte gUnknown_020314E0
+_0804B6AC: .4byte 0x00001410
+_0804B6B0:
+ mov r0, r8
+ cmp r0, #2
+ bne _0804B746
+ ldr r1, _0804B87C @ =0x040000D4
+ ldr r0, _0804B880 @ =gUnknown_02031520
+ ldr r0, [r0, #0xc]
+ str r0, [r1]
+ ldr r4, _0804B884 @ =gUnknown_020314E0
+ ldr r3, [r4]
+ str r3, [r1, #4]
+ ldr r0, _0804B888 @ =0x80000A08
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r1, _0804B88C @ =0x0000132C
+ adds r0, r3, r1
+ ldr r2, _0804B890 @ =0x00001334
+ adds r1, r3, r2
+ str r1, [r0]
+ ldr r5, _0804B894 @ =0x00001330
+ adds r0, r3, r5
+ str r1, [r0]
+ ldr r0, _0804B898 @ =gMain
+ ldrh r0, [r0, #0x30]
+ movs r1, #3
+ ands r0, r1
+ cmp r0, #1
+ bne _0804B746
+ ldr r1, _0804B89C @ =0x00000614
+ adds r0, r3, r1
+ movs r2, #0
+ movs r1, #0
+ strh r1, [r0]
+ movs r5, #0x82
+ lsls r5, r5, #2
+ adds r0, r3, r5
+ strh r1, [r0]
+ adds r5, #2
+ adds r0, r3, r5
+ strb r2, [r0]
+ ldr r3, [r4]
+ movs r2, #0xe3
+ lsls r2, r2, #1
+ adds r0, r3, r2
+ strh r1, [r0]
+ movs r4, #0xe4
+ lsls r4, r4, #1
+ adds r0, r3, r4
+ strh r1, [r0]
+ subs r5, #0x3e
+ adds r0, r3, r5
+ strh r1, [r0]
+ adds r2, #4
+ adds r0, r3, r2
+ strh r1, [r0]
+ adds r4, #0xc
+ adds r0, r3, r4
+ strh r1, [r0]
+ adds r5, #0xa
+ adds r2, r3, r5
+ ldr r0, _0804B8A0 @ =0x0000FFFC
+ strh r0, [r2]
+ movs r2, #0xec
+ lsls r2, r2, #1
+ adds r0, r3, r2
+ subs r2, #0xd8
+ strh r2, [r0]
+ adds r4, #6
+ adds r0, r3, r4
+ strh r2, [r0]
+ subs r5, #8
+ adds r0, r3, r5
+ strh r1, [r0]
+ adds r2, #0xd0
+ adds r0, r3, r2
+ strh r1, [r0]
+_0804B746:
+ mov r3, r8
+ cmp r3, #0
+ bne _0804B74E
+ b _0804B8CC
+_0804B74E:
+ ldr r4, _0804B898 @ =gMain
+ ldr r3, _0804B884 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ ldr r5, _0804B8A4 @ =0x000010FD
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ strb r0, [r4, #4]
+ ldr r2, _0804B8A8 @ =0x000010FE
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ strb r0, [r4, #5]
+ adds r5, #2
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ strb r0, [r4, #6]
+ adds r2, #3
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ strb r0, [r4, #0xf]
+ adds r5, #3
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ strb r0, [r4, #0x10]
+ adds r2, #2
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ strb r0, [r4, #0x11]
+ movs r5, #0x99
+ lsls r5, r5, #5
+ adds r0, r1, r5
+ ldrh r0, [r0]
+ strh r0, [r4, #0x12]
+ ldr r2, _0804B8AC @ =0x00001322
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ strh r0, [r4, #0x14]
+ adds r5, #4
+ adds r0, r1, r5
+ ldrh r0, [r0]
+ strh r0, [r4, #0x28]
+ adds r2, #4
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ strh r0, [r4, #0x2a]
+ ldr r5, _0804B8B0 @ =0x00001110
+ adds r0, r1, r5
+ ldrh r0, [r0]
+ ldrh r2, [r4, #0x38]
+ strh r0, [r4, #0x38]
+ ldr r2, _0804B8B4 @ =0x00001112
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ ldrh r2, [r4, #0x3a]
+ strh r0, [r4, #0x3a]
+ adds r5, #4
+ adds r0, r1, r5
+ ldrh r0, [r0]
+ ldrh r2, [r4, #0x3c]
+ strh r0, [r4, #0x3c]
+ ldr r2, _0804B8B8 @ =0x00001116
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ strh r0, [r4, #0x2c]
+ adds r5, #4
+ adds r0, r1, r5
+ ldrh r0, [r0]
+ strh r0, [r4, #0x26]
+ movs r0, #0xba
+ lsls r0, r0, #2
+ adds r2, r4, r0
+ ldr r5, _0804B8BC @ =0x00000F58
+ adds r0, r1, r5
+ ldr r0, [r0]
+ str r0, [r2]
+ movs r0, #0xbb
+ lsls r0, r0, #2
+ adds r2, r4, r0
+ adds r5, #4
+ adds r0, r1, r5
+ ldr r0, [r0]
+ str r0, [r2]
+ movs r0, #0xbc
+ lsls r0, r0, #2
+ adds r2, r4, r0
+ adds r5, #4
+ adds r0, r1, r5
+ ldr r0, [r0]
+ str r0, [r2]
+ movs r0, #0xbd
+ lsls r0, r0, #2
+ adds r2, r4, r0
+ adds r5, #4
+ adds r1, r1, r5
+ ldr r0, [r1]
+ str r0, [r2]
+ movs r5, #0
+ mov sl, r3
+ adds r7, r4, #0
+ adds r6, r7, #7
+ mov r4, sl
+ ldr r3, _0804B8C0 @ =0x000010F8
+_0804B818:
+ lsls r1, r5, #0x10
+ asrs r1, r1, #0x10
+ adds r2, r1, r6
+ ldr r0, [r4]
+ adds r0, r0, r3
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ strb r0, [r2]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r5, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #4
+ ble _0804B818
+ mov r1, sl
+ ldr r0, [r1]
+ movs r2, #0x88
+ lsls r2, r2, #5
+ adds r0, r0, r2
+ movs r1, #1
+ strb r1, [r0]
+ mov r3, r8
+ cmp r3, #1
+ bne _0804B8DA
+ ldrb r0, [r7, #4]
+ cmp r0, #1
+ bhi _0804B8DA
+ mov r4, sl
+ ldr r3, [r4]
+ adds r2, r3, #0
+ adds r2, #0x4e
+ ldr r5, _0804B8C4 @ =0x00000121
+ adds r0, r3, r5
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ ldrh r2, [r2]
+ adds r1, r1, r2
+ ldr r2, _0804B8C8 @ =0x000005FC
+ adds r0, r3, r2
+ ldrh r0, [r0]
+ adds r2, r3, #0
+ adds r2, #0xe6
+ adds r0, r0, r1
+ ldrh r2, [r2]
+ adds r0, r0, r2
+ adds r1, r3, #0
+ adds r1, #0x68
+ strh r0, [r1]
+ b _0804B8DA
+ .align 2, 0
+_0804B87C: .4byte 0x040000D4
+_0804B880: .4byte gUnknown_02031520
+_0804B884: .4byte gUnknown_020314E0
+_0804B888: .4byte 0x80000A08
+_0804B88C: .4byte 0x0000132C
+_0804B890: .4byte 0x00001334
+_0804B894: .4byte 0x00001330
+_0804B898: .4byte gMain
+_0804B89C: .4byte 0x00000614
+_0804B8A0: .4byte 0x0000FFFC
+_0804B8A4: .4byte 0x000010FD
+_0804B8A8: .4byte 0x000010FE
+_0804B8AC: .4byte 0x00001322
+_0804B8B0: .4byte 0x00001110
+_0804B8B4: .4byte 0x00001112
+_0804B8B8: .4byte 0x00001116
+_0804B8BC: .4byte 0x00000F58
+_0804B8C0: .4byte 0x000010F8
+_0804B8C4: .4byte 0x00000121
+_0804B8C8: .4byte 0x000005FC
+_0804B8CC:
+ ldr r0, _0804B958 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ adds r1, r0, #0
+ adds r1, #0x6a
+ ldrh r1, [r1]
+ adds r0, #0x68
+ strh r1, [r0]
+_0804B8DA:
+ ldr r5, _0804B958 @ =gUnknown_020314E0
+ ldr r0, [r5]
+ movs r1, #0
+ strb r1, [r0, #0x1d]
+ ldr r4, _0804B95C @ =gMain
+ strb r1, [r4, #0xd]
+ bl sub_467F4
+ ldrb r0, [r4, #4]
+ cmp r0, #0
+ bne _0804B902
+ ldr r0, [r5]
+ ldr r3, _0804B960 @ =0x0000029E
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _0804B902
+ movs r0, #1
+ bl sub_46FD4
+_0804B902:
+ ldr r0, _0804B95C @ =gMain
+ ldrb r1, [r0, #4]
+ ldr r4, _0804B958 @ =gUnknown_020314E0
+ mov sl, r4
+ adds r7, r0, #0
+ ldr r5, _0804B964 @ =0x03005C00
+ mov sb, r5
+ cmp r1, #1
+ bhi _0804B9A0
+ movs r5, #0
+ ldr r6, _0804B968 @ =0x040000D4
+_0804B918:
+ mov r0, sl
+ ldr r2, [r0]
+ adds r2, #0x64
+ ldrh r1, [r2]
+ lsls r0, r5, #0x10
+ asrs r0, r0, #0x10
+ adds r1, r0, r1
+ lsls r1, r1, #0x10
+ lsrs r4, r1, #0x10
+ movs r3, #0
+ ldrsh r1, [r2, r3]
+ adds r1, #0xa
+ adds r0, r0, r1
+ movs r1, #0x16
+ bl __modsi3
+ lsls r0, r0, #0x10
+ lsrs r2, r0, #0x10
+ lsls r0, r4, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x1f
+ bgt _0804B974
+ lsls r0, r0, #0xa
+ ldr r1, _0804B96C @ =0x0200FBB0
+ adds r0, r0, r1
+ str r0, [r6]
+ lsls r0, r2, #0x10
+ asrs r0, r0, #6
+ ldr r4, _0804B970 @ =0x06008000
+ adds r0, r0, r4
+ b _0804B988
+ .align 2, 0
+_0804B958: .4byte gUnknown_020314E0
+_0804B95C: .4byte gMain
+_0804B960: .4byte 0x0000029E
+_0804B964: .4byte 0x03005C00
+_0804B968: .4byte 0x040000D4
+_0804B96C: .4byte 0x0200FBB0
+_0804B970: .4byte 0x06008000
+_0804B974:
+ subs r0, #0x20
+ lsls r0, r0, #0x10
+ asrs r0, r0, #6
+ ldr r1, _0804BA38 @ =0x020030A0
+ adds r0, r0, r1
+ str r0, [r6]
+ lsls r0, r2, #0x10
+ asrs r0, r0, #6
+ ldr r1, _0804BA3C @ =0x06008000
+ adds r0, r0, r1
+_0804B988:
+ str r0, [r6, #4]
+ ldr r0, _0804BA40 @ =0x80000200
+ str r0, [r6, #8]
+ ldr r0, [r6, #8]
+ lsls r0, r5, #0x10
+ movs r2, #0x80
+ lsls r2, r2, #9
+ adds r0, r0, r2
+ lsrs r5, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x15
+ ble _0804B918
+_0804B9A0:
+ movs r5, #0
+ ldr r4, _0804BA44 @ =0x03005C00
+ ldr r3, _0804BA48 @ =0x000001FF
+ ldr r2, _0804BA4C @ =0x000007FF
+_0804B9A8:
+ lsls r1, r5, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #1
+ adds r0, r0, r4
+ strh r3, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r5, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, r2
+ ble _0804B9A8
+ ldr r1, _0804BA50 @ =0x040000D4
+ mov r3, sb
+ str r3, [r1]
+ ldr r0, _0804BA54 @ =0x06002000
+ str r0, [r1, #4]
+ ldr r0, _0804BA58 @ =0x80000800
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ movs r4, #0x2c
+ ldrsh r0, [r7, r4]
+ cmp r0, #0
+ beq _0804BABE
+ mov r5, sl
+ ldr r1, [r5]
+ movs r0, #0x13
+ ldrsb r0, [r1, r0]
+ cmp r0, #6
+ bne _0804BA5C
+ movs r2, #0
+ movs r3, #0xa6
+ lsls r3, r3, #2
+ adds r0, r1, r3
+ ldrh r0, [r0]
+ cmp r2, r0
+ bgt _0804BAAE
+ mov r6, sb
+ movs r4, #0xc1
+ lsls r4, r4, #8
+_0804B9F6:
+ movs r5, #2
+ lsls r2, r2, #0x10
+ asrs r3, r2, #0x10
+_0804B9FC:
+ lsls r1, r5, #0x10
+ asrs r1, r1, #0x10
+ adds r0, r1, #0
+ adds r0, #0xf
+ lsls r0, r0, #5
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ adds r0, r0, r6
+ strh r4, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r5, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #0xb
+ ble _0804B9FC
+ movs r5, #0x80
+ lsls r5, r5, #9
+ adds r1, r2, r5
+ lsrs r2, r1, #0x10
+ asrs r1, r1, #0x10
+ mov r3, sl
+ ldr r0, [r3]
+ movs r5, #0xa6
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ ldrh r0, [r0]
+ cmp r1, r0
+ ble _0804B9F6
+ b _0804BAAE
+ .align 2, 0
+_0804BA38: .4byte 0x020030A0
+_0804BA3C: .4byte 0x06008000
+_0804BA40: .4byte 0x80000200
+_0804BA44: .4byte 0x03005C00
+_0804BA48: .4byte 0x000001FF
+_0804BA4C: .4byte 0x000007FF
+_0804BA50: .4byte 0x040000D4
+_0804BA54: .4byte 0x06002000
+_0804BA58: .4byte 0x80000800
+_0804BA5C:
+ movs r2, #0
+ movs r3, #0xa6
+ lsls r3, r3, #2
+ adds r0, r1, r3
+ ldrh r0, [r0]
+ cmp r2, r0
+ bgt _0804BAAE
+ mov r6, sb
+ movs r4, #0xc1
+ lsls r4, r4, #8
+_0804BA70:
+ movs r5, #1
+ lsls r2, r2, #0x10
+ asrs r3, r2, #0x10
+_0804BA76:
+ lsls r1, r5, #0x10
+ asrs r1, r1, #0x10
+ adds r0, r1, #0
+ adds r0, #0xf
+ lsls r0, r0, #5
+ adds r0, r0, r3
+ lsls r0, r0, #1
+ adds r0, r0, r6
+ strh r4, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r5, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #0xa
+ ble _0804BA76
+ movs r5, #0x80
+ lsls r5, r5, #9
+ adds r1, r2, r5
+ lsrs r2, r1, #0x10
+ asrs r1, r1, #0x10
+ mov r3, sl
+ ldr r0, [r3]
+ movs r5, #0xa6
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ ldrh r0, [r0]
+ cmp r1, r0
+ ble _0804BA70
+_0804BAAE:
+ ldr r1, _0804BB20 @ =0x040000D4
+ mov r0, sb
+ str r0, [r1]
+ ldr r0, _0804BB24 @ =0x06002000
+ str r0, [r1, #4]
+ ldr r0, _0804BB28 @ =0x80000400
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804BABE:
+ ldr r1, _0804BB20 @ =0x040000D4
+ ldr r2, _0804BB2C @ =gUnknown_020314E0
+ ldr r4, _0804BB30 @ =gMain
+ ldrb r0, [r4, #6]
+ lsls r0, r0, #9
+ ldr r3, _0804BB34 @ =0x0000074C
+ adds r0, r0, r3
+ ldr r2, [r2]
+ adds r0, r2, r0
+ str r0, [r1]
+ ldr r0, _0804BB38 @ =0x05000200
+ str r0, [r1, #4]
+ ldr r3, _0804BB3C @ =0x80000100
+ str r3, [r1, #8]
+ ldr r0, [r1, #8]
+ ldrb r0, [r4, #6]
+ lsls r0, r0, #9
+ ldr r5, _0804BB40 @ =0x00000B4C
+ adds r0, r0, r5
+ adds r0, r2, r0
+ str r0, [r1]
+ movs r0, #0xa0
+ lsls r0, r0, #0x13
+ str r0, [r1, #4]
+ str r3, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r0, _0804BB44 @ =0x000005F6
+ adds r2, r2, r0
+ movs r0, #0
+ ldrsb r0, [r2, r0]
+ lsls r0, r0, #5
+ ldr r2, _0804BB48 @ =0x08137E14
+ adds r0, r0, r2
+ str r0, [r1]
+ ldr r0, _0804BB4C @ =0x05000220
+ str r0, [r1, #4]
+ ldr r0, _0804BB50 @ =0x80000010
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ bl sub_4BC34
+ ldrb r0, [r4, #4]
+ cmp r0, #7
+ bhi _0804BBC0
+ lsls r0, r0, #2
+ ldr r1, _0804BB54 @ =_0804BB58
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0804BB20: .4byte 0x040000D4
+_0804BB24: .4byte 0x06002000
+_0804BB28: .4byte 0x80000400
+_0804BB2C: .4byte gUnknown_020314E0
+_0804BB30: .4byte gMain
+_0804BB34: .4byte 0x0000074C
+_0804BB38: .4byte 0x05000200
+_0804BB3C: .4byte 0x80000100
+_0804BB40: .4byte 0x00000B4C
+_0804BB44: .4byte 0x000005F6
+_0804BB48: .4byte 0x08137E14
+_0804BB4C: .4byte 0x05000220
+_0804BB50: .4byte 0x80000010
+_0804BB54: .4byte _0804BB58
+_0804BB58: @ jump table
+ .4byte _0804BB78 @ case 0
+ .4byte _0804BB98 @ case 1
+ .4byte _0804BB9E @ case 2
+ .4byte _0804BBA4 @ case 3
+ .4byte _0804BBAA @ case 4
+ .4byte _0804BBB0 @ case 5
+ .4byte _0804BBB6 @ case 6
+ .4byte _0804BBBC @ case 7
+_0804BB78:
+ bl sub_50848
+ ldr r0, _0804BB90 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r3, _0804BB94 @ =0x000001A5
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ bl sub_4E9F0
+ b _0804BBC0
+ .align 2, 0
+_0804BB90: .4byte gUnknown_020314E0
+_0804BB94: .4byte 0x000001A5
+_0804BB98:
+ bl sub_50AD4
+ b _0804BBC0
+_0804BB9E:
+ bl sub_50D48
+ b _0804BBC0
+_0804BBA4:
+ bl sub_50DE0
+ b _0804BBC0
+_0804BBAA:
+ bl sub_50F04
+ b _0804BBC0
+_0804BBB0:
+ bl sub_50FD4
+ b _0804BBC0
+_0804BBB6:
+ bl sub_51090
+ b _0804BBC0
+_0804BBBC:
+ bl sub_51150
+_0804BBC0:
+ movs r5, #0
+ ldr r4, _0804BC24 @ =gUnknown_020314E0
+ mov sl, r4
+ ldr r7, _0804BC28 @ =gMain
+ movs r0, #0xb8
+ mov ip, r0
+_0804BBCC:
+ lsls r1, r5, #0x10
+ asrs r1, r1, #0x10
+ mov r4, ip
+ muls r4, r1, r4
+ adds r4, r4, r7
+ mov r2, sl
+ ldr r6, [r2]
+ lsls r2, r1, #1
+ ldrb r3, [r7, #6]
+ movs r0, #0xc8
+ muls r0, r3, r0
+ adds r2, r2, r0
+ ldr r3, _0804BC2C @ =0x00000F68
+ adds r0, r6, r3
+ adds r0, r0, r2
+ ldrh r0, [r0]
+ movs r5, #0xbe
+ lsls r5, r5, #2
+ adds r4, r4, r5
+ strh r0, [r4]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r5, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #0x63
+ ble _0804BBCC
+ mov r0, r8
+ cmp r0, #1
+ bne _0804BC14
+ movs r0, #0
+ str r0, [r6]
+ ldr r1, _0804BC30 @ =0x0E000544
+ adds r0, r6, #0
+ movs r2, #4
+ bl sub_55654
+_0804BC14:
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804BC24: .4byte gUnknown_020314E0
+_0804BC28: .4byte gMain
+_0804BC2C: .4byte 0x00000F68
+_0804BC30: .4byte 0x0E000544
+
+ thumb_func_start sub_4BC34
+sub_4BC34: @ 0x0804BC34
+ push {r4, r5, r6, r7, lr}
+ mov r7, sb
+ mov r6, r8
+ push {r6, r7}
+ ldr r0, _0804BC50 @ =gMain
+ ldrb r0, [r0, #4]
+ cmp r0, #7
+ bhi _0804BCC6
+ lsls r0, r0, #2
+ ldr r1, _0804BC54 @ =_0804BC58
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0804BC50: .4byte gMain
+_0804BC54: .4byte _0804BC58
+_0804BC58: @ jump table
+ .4byte _0804BC78 @ case 0
+ .4byte _0804BC82 @ case 1
+ .4byte _0804BC8C @ case 2
+ .4byte _0804BC96 @ case 3
+ .4byte _0804BCA0 @ case 4
+ .4byte _0804BCAA @ case 5
+ .4byte _0804BCB4 @ case 6
+ .4byte _0804BCBE @ case 7
+_0804BC78:
+ bl sub_4C290
+ bl sub_4C808
+ b _0804BCC6
+_0804BC82:
+ bl sub_4C290
+ bl sub_4CA18
+ b _0804BCC6
+_0804BC8C:
+ bl nullsub_18
+ bl sub_4CAE8
+ b _0804BCC6
+_0804BC96:
+ bl nullsub_18
+ bl sub_4CB0C
+ b _0804BCC6
+_0804BCA0:
+ bl nullsub_18
+ bl sub_4CB30
+ b _0804BCC6
+_0804BCAA:
+ bl nullsub_18
+ bl sub_4CBB4
+ b _0804BCC6
+_0804BCB4:
+ bl nullsub_18
+ bl sub_4CC58
+ b _0804BCC6
+_0804BCBE:
+ bl nullsub_18
+ bl sub_4CD60
+_0804BCC6:
+ ldr r0, _0804BCE4 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ adds r1, #0xe4
+ ldrb r1, [r1]
+ subs r1, #1
+ adds r3, r0, #0
+ cmp r1, #0x15
+ bls _0804BCD8
+ b _0804C274
+_0804BCD8:
+ lsls r0, r1, #2
+ ldr r1, _0804BCE8 @ =_0804BCEC
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0804BCE4: .4byte gUnknown_020314E0
+_0804BCE8: .4byte _0804BCEC
+_0804BCEC: @ jump table
+ .4byte _0804BD44 @ case 0
+ .4byte _0804BDA4 @ case 1
+ .4byte _0804BDC4 @ case 2
+ .4byte _0804BDE4 @ case 3
+ .4byte _0804BE14 @ case 4
+ .4byte _0804BE34 @ case 5
+ .4byte _0804BE54 @ case 6
+ .4byte _0804BE74 @ case 7
+ .4byte _0804BE94 @ case 8
+ .4byte _0804BEB4 @ case 9
+ .4byte _0804BED4 @ case 10
+ .4byte _0804BEF4 @ case 11
+ .4byte _0804BFB0 @ case 12
+ .4byte _0804BF14 @ case 13
+ .4byte _0804C094 @ case 14
+ .4byte _0804C0C8 @ case 15
+ .4byte _0804C0E8 @ case 16
+ .4byte _0804C108 @ case 17
+ .4byte _0804C1A8 @ case 18
+ .4byte _0804C1C8 @ case 19
+ .4byte _0804C1E8 @ case 20
+ .4byte _0804C264 @ case 21
+_0804BD44:
+ ldr r1, [r3]
+ movs r2, #0xf1
+ lsls r2, r2, #1
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ bne _0804BD84
+ movs r3, #0xe1
+ lsls r3, r3, #1
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ bne _0804BD84
+ ldr r1, _0804BD74 @ =0x040000D4
+ ldr r0, _0804BD78 @ =0x08395A4C
+ str r0, [r1]
+ ldr r0, _0804BD7C @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804BD80 @ =0x80001200
+ b _0804C270
+ .align 2, 0
+_0804BD74: .4byte 0x040000D4
+_0804BD78: .4byte 0x08395A4C
+_0804BD7C: .4byte 0x06015800
+_0804BD80: .4byte 0x80001200
+_0804BD84:
+ ldr r1, _0804BD94 @ =0x040000D4
+ ldr r0, _0804BD98 @ =0x08397E6C
+ str r0, [r1]
+ ldr r0, _0804BD9C @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804BDA0 @ =0x80001200
+ b _0804C270
+ .align 2, 0
+_0804BD94: .4byte 0x040000D4
+_0804BD98: .4byte 0x08397E6C
+_0804BD9C: .4byte 0x06015800
+_0804BDA0: .4byte 0x80001200
+_0804BDA4:
+ ldr r1, _0804BDB4 @ =0x040000D4
+ ldr r0, _0804BDB8 @ =0x083A704C
+ str r0, [r1]
+ ldr r0, _0804BDBC @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804BDC0 @ =0x80000800
+ b _0804C270
+ .align 2, 0
+_0804BDB4: .4byte 0x040000D4
+_0804BDB8: .4byte 0x083A704C
+_0804BDBC: .4byte 0x06015800
+_0804BDC0: .4byte 0x80000800
+_0804BDC4:
+ ldr r1, _0804BDD4 @ =0x040000D4
+ ldr r0, _0804BDD8 @ =0x0848FD8C
+ str r0, [r1]
+ ldr r0, _0804BDDC @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804BDE0 @ =0x80000650
+ b _0804C270
+ .align 2, 0
+_0804BDD4: .4byte 0x040000D4
+_0804BDD8: .4byte 0x0848FD8C
+_0804BDDC: .4byte 0x06015800
+_0804BDE0: .4byte 0x80000650
+_0804BDE4:
+ ldr r1, _0804BE04 @ =0x040000D4
+ ldr r2, _0804BE08 @ =0x086ACEF8
+ ldr r0, [r3]
+ adds r0, #0xf2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #2
+ adds r0, r0, r2
+ ldr r0, [r0]
+ str r0, [r1]
+ ldr r0, _0804BE0C @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804BE10 @ =0x800012F0
+ b _0804C270
+ .align 2, 0
+_0804BE04: .4byte 0x040000D4
+_0804BE08: .4byte 0x086ACEF8
+_0804BE0C: .4byte 0x06015800
+_0804BE10: .4byte 0x800012F0
+_0804BE14:
+ ldr r1, _0804BE24 @ =0x040000D4
+ ldr r0, _0804BE28 @ =0x083A07CC
+ str r0, [r1]
+ ldr r0, _0804BE2C @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804BE30 @ =0x80001000
+ b _0804C270
+ .align 2, 0
+_0804BE24: .4byte 0x040000D4
+_0804BE28: .4byte 0x083A07CC
+_0804BE2C: .4byte 0x06015800
+_0804BE30: .4byte 0x80001000
+_0804BE34:
+ ldr r1, _0804BE44 @ =0x040000D4
+ ldr r0, _0804BE48 @ =0x083A29EC
+ str r0, [r1]
+ ldr r0, _0804BE4C @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804BE50 @ =0x80000400
+ b _0804C270
+ .align 2, 0
+_0804BE44: .4byte 0x040000D4
+_0804BE48: .4byte 0x083A29EC
+_0804BE4C: .4byte 0x06015800
+_0804BE50: .4byte 0x80000400
+_0804BE54:
+ ldr r1, _0804BE64 @ =0x040000D4
+ ldr r0, _0804BE68 @ =0x083A340C
+ str r0, [r1]
+ ldr r0, _0804BE6C @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804BE70 @ =0x80001000
+ b _0804C270
+ .align 2, 0
+_0804BE64: .4byte 0x040000D4
+_0804BE68: .4byte 0x083A340C
+_0804BE6C: .4byte 0x06015800
+_0804BE70: .4byte 0x80001000
+_0804BE74:
+ ldr r1, _0804BE84 @ =0x040000D4
+ ldr r0, _0804BE88 @ =0x083A562C
+ str r0, [r1]
+ ldr r0, _0804BE8C @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804BE90 @ =0x80000C00
+ b _0804C270
+ .align 2, 0
+_0804BE84: .4byte 0x040000D4
+_0804BE88: .4byte 0x083A562C
+_0804BE8C: .4byte 0x06015800
+_0804BE90: .4byte 0x80000C00
+_0804BE94:
+ ldr r1, _0804BEA4 @ =0x040000D4
+ ldr r0, _0804BEA8 @ =0x081428D4
+ str r0, [r1]
+ ldr r0, _0804BEAC @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804BEB0 @ =0x80000E00
+ b _0804C270
+ .align 2, 0
+_0804BEA4: .4byte 0x040000D4
+_0804BEA8: .4byte 0x081428D4
+_0804BEAC: .4byte 0x06015800
+_0804BEB0: .4byte 0x80000E00
+_0804BEB4:
+ ldr r1, _0804BEC4 @ =0x040000D4
+ ldr r0, _0804BEC8 @ =0x0839C78C
+ str r0, [r1]
+ ldr r0, _0804BECC @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804BED0 @ =0x80000A00
+ b _0804C270
+ .align 2, 0
+_0804BEC4: .4byte 0x040000D4
+_0804BEC8: .4byte 0x0839C78C
+_0804BECC: .4byte 0x06015800
+_0804BED0: .4byte 0x80000A00
+_0804BED4:
+ ldr r1, _0804BEE4 @ =0x040000D4
+ ldr r0, _0804BEE8 @ =0x0839DDAC
+ str r0, [r1]
+ ldr r0, _0804BEEC @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804BEF0 @ =0x80001400
+ b _0804C270
+ .align 2, 0
+_0804BEE4: .4byte 0x040000D4
+_0804BEE8: .4byte 0x0839DDAC
+_0804BEEC: .4byte 0x06015800
+_0804BEF0: .4byte 0x80001400
+_0804BEF4:
+ ldr r1, _0804BF04 @ =0x040000D4
+ ldr r0, _0804BF08 @ =0x084FA20C
+ str r0, [r1]
+ ldr r0, _0804BF0C @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804BF10 @ =0x80000140
+ b _0804C270
+ .align 2, 0
+_0804BF04: .4byte 0x040000D4
+_0804BF08: .4byte 0x084FA20C
+_0804BF0C: .4byte 0x06015800
+_0804BF10: .4byte 0x80000140
+_0804BF14:
+ movs r2, #0
+ ldr r7, _0804BF50 @ =0x084F61EC
+ mov r8, r7
+ ldr r0, _0804BF54 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r1, #0xb3
+ lsls r1, r1, #3
+ adds r1, r1, r0
+ mov sb, r1
+ ldr r3, _0804BF58 @ =0x086A3707
+ mov ip, r3
+ ldr r4, _0804BF5C @ =0x040000D4
+ ldr r6, _0804BF60 @ =0x06015800
+ ldr r5, _0804BF64 @ =0x80000020
+_0804BF30:
+ lsls r2, r2, #0x10
+ asrs r3, r2, #0x10
+ mov r7, sb
+ ldrh r1, [r7]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #3
+ adds r0, r3, r0
+ mov r7, ip
+ adds r1, r0, r7
+ ldrb r0, [r1]
+ cmp r0, #0x20
+ bne _0804BF6C
+ ldr r0, _0804BF68 @ =0x083FFD4C
+ b _0804BF76
+ .align 2, 0
+_0804BF50: .4byte 0x084F61EC
+_0804BF54: .4byte gUnknown_020314E0
+_0804BF58: .4byte 0x086A3707
+_0804BF5C: .4byte 0x040000D4
+_0804BF60: .4byte 0x06015800
+_0804BF64: .4byte 0x80000020
+_0804BF68: .4byte 0x083FFD4C
+_0804BF6C:
+ ldrb r0, [r1]
+ subs r0, #0x41
+ lsls r0, r0, #6
+ ldr r1, _0804BFA0 @ =0x083FF04C
+ adds r0, r0, r1
+_0804BF76:
+ str r0, [r4]
+ lsls r0, r3, #6
+ adds r0, r0, r6
+ str r0, [r4, #4]
+ str r5, [r4, #8]
+ ldr r0, [r4, #8]
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r2, r1
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #9
+ ble _0804BF30
+ ldr r1, _0804BFA4 @ =0x040000D4
+ mov r2, r8
+ str r2, [r1]
+ ldr r0, _0804BFA8 @ =0x06015C00
+ str r0, [r1, #4]
+ ldr r0, _0804BFAC @ =0x800004A0
+ b _0804C270
+ .align 2, 0
+_0804BFA0: .4byte 0x083FF04C
+_0804BFA4: .4byte 0x040000D4
+_0804BFA8: .4byte 0x06015C00
+_0804BFAC: .4byte 0x800004A0
+_0804BFB0:
+ movs r2, #0
+ ldr r0, _0804BFE8 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r3, #0xb3
+ lsls r3, r3, #3
+ adds r3, r3, r0
+ mov r8, r3
+ ldr r7, _0804BFEC @ =0x086A3707
+ mov ip, r7
+ ldr r4, _0804BFF0 @ =0x040000D4
+ ldr r6, _0804BFF4 @ =0x06015800
+ ldr r5, _0804BFF8 @ =0x80000020
+_0804BFC8:
+ lsls r0, r2, #0x10
+ asrs r3, r0, #0x10
+ mov r0, r8
+ ldrh r1, [r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #3
+ adds r0, r3, r0
+ mov r7, ip
+ adds r1, r0, r7
+ ldrb r0, [r1]
+ cmp r0, #0x20
+ bne _0804C000
+ ldr r0, _0804BFFC @ =0x083FFD4C
+ b _0804C00A
+ .align 2, 0
+_0804BFE8: .4byte gUnknown_020314E0
+_0804BFEC: .4byte 0x086A3707
+_0804BFF0: .4byte 0x040000D4
+_0804BFF4: .4byte 0x06015800
+_0804BFF8: .4byte 0x80000020
+_0804BFFC: .4byte 0x083FFD4C
+_0804C000:
+ ldrb r0, [r1]
+ subs r0, #0x41
+ lsls r0, r0, #6
+ ldr r1, _0804C04C @ =0x083FF04C
+ adds r0, r0, r1
+_0804C00A:
+ str r0, [r4]
+ lsls r0, r3, #6
+ adds r0, r0, r6
+ str r0, [r4, #4]
+ str r5, [r4, #8]
+ ldr r0, [r4, #8]
+ lsls r0, r2, #0x10
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r0, r1
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #9
+ ble _0804BFC8
+ movs r2, #0
+ ldr r3, _0804C050 @ =0x086ACFE0
+ mov ip, r3
+ ldr r5, _0804C054 @ =0x040000D4
+ ldr r7, _0804C058 @ =0x06015800
+ ldr r6, _0804C05C @ =0x80000020
+_0804C032:
+ lsls r0, r2, #0x10
+ asrs r4, r0, #0x10
+ lsls r1, r4, #1
+ mov r2, ip
+ adds r3, r1, r2
+ movs r2, #0
+ ldrsh r1, [r3, r2]
+ adds r2, r0, #0
+ cmp r1, #0x20
+ bne _0804C064
+ ldr r0, _0804C060 @ =0x083FFD4C
+ b _0804C070
+ .align 2, 0
+_0804C04C: .4byte 0x083FF04C
+_0804C050: .4byte 0x086ACFE0
+_0804C054: .4byte 0x040000D4
+_0804C058: .4byte 0x06015800
+_0804C05C: .4byte 0x80000020
+_0804C060: .4byte 0x083FFD4C
+_0804C064:
+ movs r1, #0
+ ldrsh r0, [r3, r1]
+ subs r0, #0x41
+ lsls r0, r0, #6
+ ldr r1, _0804C090 @ =0x083FF04C
+ adds r0, r0, r1
+_0804C070:
+ str r0, [r5]
+ adds r0, r4, #0
+ adds r0, #0xa
+ lsls r0, r0, #6
+ adds r0, r0, r7
+ str r0, [r5, #4]
+ str r6, [r5, #8]
+ ldr r0, [r5, #8]
+ movs r3, #0x80
+ lsls r3, r3, #9
+ adds r0, r2, r3
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #9
+ ble _0804C032
+ b _0804C274
+ .align 2, 0
+_0804C090: .4byte 0x083FF04C
+_0804C094:
+ ldr r1, _0804C0B4 @ =0x040000D4
+ ldr r2, _0804C0B8 @ =0x086AD474
+ ldr r0, [r3]
+ ldr r7, _0804C0BC @ =0x0000025F
+ adds r0, r0, r7
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #2
+ adds r0, r0, r2
+ ldr r0, [r0]
+ str r0, [r1]
+ ldr r0, _0804C0C0 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804C0C4 @ =0x80000E00
+ b _0804C270
+ .align 2, 0
+_0804C0B4: .4byte 0x040000D4
+_0804C0B8: .4byte 0x086AD474
+_0804C0BC: .4byte 0x0000025F
+_0804C0C0: .4byte 0x06015800
+_0804C0C4: .4byte 0x80000E00
+_0804C0C8:
+ ldr r1, _0804C0D8 @ =0x040000D4
+ ldr r0, _0804C0DC @ =0x08158284
+ str r0, [r1]
+ ldr r0, _0804C0E0 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804C0E4 @ =0x80001200
+ b _0804C270
+ .align 2, 0
+_0804C0D8: .4byte 0x040000D4
+_0804C0DC: .4byte 0x08158284
+_0804C0E0: .4byte 0x06015800
+_0804C0E4: .4byte 0x80001200
+_0804C0E8:
+ ldr r1, _0804C0F8 @ =0x040000D4
+ ldr r0, _0804C0FC @ =0x083A562C
+ str r0, [r1]
+ ldr r0, _0804C100 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804C104 @ =0x80000C00
+ b _0804C270
+ .align 2, 0
+_0804C0F8: .4byte 0x040000D4
+_0804C0FC: .4byte 0x083A562C
+_0804C100: .4byte 0x06015800
+_0804C104: .4byte 0x80000C00
+_0804C108:
+ ldr r7, _0804C17C @ =0x040000D4
+ ldr r0, _0804C180 @ =0x084F61EC
+ str r0, [r7]
+ ldr r0, _0804C184 @ =0x06015C00
+ str r0, [r7, #4]
+ ldr r0, _0804C188 @ =0x800004A0
+ str r0, [r7, #8]
+ ldr r0, [r7, #8]
+ ldr r2, [r3]
+ ldr r1, _0804C18C @ =0x000001A5
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _0804C12A
+ b _0804C274
+_0804C12A:
+ ldr r1, _0804C190 @ =0x086AD2DE
+ movs r3, #0xd3
+ lsls r3, r3, #1
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #1
+ adds r0, r0, r1
+ ldrh r4, [r0]
+ lsls r4, r4, #3
+ ldr r0, _0804C194 @ =0x086AD000
+ adds r4, r4, r0
+ ldrh r0, [r4, #6]
+ movs r1, #0xa
+ bl __udivsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xa
+ ldr r6, _0804C198 @ =0x08480E0C
+ adds r0, r0, r6
+ str r0, [r7]
+ ldr r0, _0804C19C @ =0x06015DA0
+ str r0, [r7, #4]
+ ldr r5, _0804C1A0 @ =0x80000020
+ str r5, [r7, #8]
+ ldr r0, [r7, #8]
+ ldrh r0, [r4, #6]
+ movs r1, #0xa
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0xa
+ adds r0, r0, r6
+ str r0, [r7]
+ ldr r0, _0804C1A4 @ =0x06015E60
+ str r0, [r7, #4]
+ str r5, [r7, #8]
+ ldr r0, [r7, #8]
+ b _0804C274
+ .align 2, 0
+_0804C17C: .4byte 0x040000D4
+_0804C180: .4byte 0x084F61EC
+_0804C184: .4byte 0x06015C00
+_0804C188: .4byte 0x800004A0
+_0804C18C: .4byte 0x000001A5
+_0804C190: .4byte 0x086AD2DE
+_0804C194: .4byte 0x086AD000
+_0804C198: .4byte 0x08480E0C
+_0804C19C: .4byte 0x06015DA0
+_0804C1A0: .4byte 0x80000020
+_0804C1A4: .4byte 0x06015E60
+_0804C1A8:
+ ldr r1, _0804C1B8 @ =0x040000D4
+ ldr r0, _0804C1BC @ =0x0850100C
+ str r0, [r1]
+ ldr r0, _0804C1C0 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804C1C4 @ =0x80001200
+ b _0804C270
+ .align 2, 0
+_0804C1B8: .4byte 0x040000D4
+_0804C1BC: .4byte 0x0850100C
+_0804C1C0: .4byte 0x06015800
+_0804C1C4: .4byte 0x80001200
+_0804C1C8:
+ ldr r1, _0804C1D8 @ =0x040000D4
+ ldr r0, _0804C1DC @ =0x0850398C
+ str r0, [r1]
+ ldr r0, _0804C1E0 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804C1E4 @ =0x80001400
+ b _0804C270
+ .align 2, 0
+_0804C1D8: .4byte 0x040000D4
+_0804C1DC: .4byte 0x0850398C
+_0804C1E0: .4byte 0x06015800
+_0804C1E4: .4byte 0x80001400
+_0804C1E8:
+ ldr r0, _0804C20C @ =gMain
+ ldrb r0, [r0, #4]
+ cmp r0, #0
+ bne _0804C22C
+ ldr r1, _0804C210 @ =0x040000D4
+ ldr r0, _0804C214 @ =0x081BCAA4
+ str r0, [r1]
+ ldr r0, _0804C218 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804C21C @ =0x80000C00
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r0, _0804C220 @ =0x081BE2C4
+ str r0, [r1]
+ ldr r0, _0804C224 @ =0x050003C0
+ str r0, [r1, #4]
+ ldr r0, _0804C228 @ =0x80000010
+ b _0804C270
+ .align 2, 0
+_0804C20C: .4byte gMain
+_0804C210: .4byte 0x040000D4
+_0804C214: .4byte 0x081BCAA4
+_0804C218: .4byte 0x06015800
+_0804C21C: .4byte 0x80000C00
+_0804C220: .4byte 0x081BE2C4
+_0804C224: .4byte 0x050003C0
+_0804C228: .4byte 0x80000010
+_0804C22C:
+ ldr r1, _0804C248 @ =0x040000D4
+ ldr r0, _0804C24C @ =0x081BE4C4
+ str r0, [r1]
+ ldr r0, _0804C250 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804C254 @ =0x80000C00
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r0, _0804C258 @ =0x081BFCE4
+ str r0, [r1]
+ ldr r0, _0804C25C @ =0x050003C0
+ str r0, [r1, #4]
+ ldr r0, _0804C260 @ =0x80000010
+ b _0804C270
+ .align 2, 0
+_0804C248: .4byte 0x040000D4
+_0804C24C: .4byte 0x081BE4C4
+_0804C250: .4byte 0x06015800
+_0804C254: .4byte 0x80000C00
+_0804C258: .4byte 0x081BFCE4
+_0804C25C: .4byte 0x050003C0
+_0804C260: .4byte 0x80000010
+_0804C264:
+ ldr r1, _0804C280 @ =0x040000D4
+ ldr r0, _0804C284 @ =0x08526DCC
+ str r0, [r1]
+ ldr r0, _0804C288 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804C28C @ =0x80000600
+_0804C270:
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804C274:
+ pop {r3, r4}
+ mov r8, r3
+ mov sb, r4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804C280: .4byte 0x040000D4
+_0804C284: .4byte 0x08526DCC
+_0804C288: .4byte 0x06015800
+_0804C28C: .4byte 0x80000600
+
+ thumb_func_start sub_4C290
+sub_4C290: @ 0x0804C290
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #4
+ bl sub_28AE0
+ bl sub_28BFC
+ movs r1, #0
+ ldr r0, _0804C3B8 @ =gUnknown_020314E0
+ ldr r4, [r0]
+ ldr r3, _0804C3BC @ =0x040000D4
+ mov sb, r0
+_0804C2AE:
+ lsls r2, r1, #0x10
+ asrs r2, r2, #0x10
+ lsls r0, r2, #1
+ adds r0, r0, r2
+ lsls r0, r0, #2
+ adds r0, r4, r0
+ ldr r1, _0804C3C0 @ =0x000013BC
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsrs r1, r0, #0x1f
+ adds r0, r0, r1
+ asrs r0, r0, #1
+ lsls r0, r0, #9
+ ldr r1, _0804C3C4 @ =0x083FE44C
+ adds r0, r0, r1
+ str r0, [r3]
+ lsls r0, r2, #9
+ ldr r5, _0804C3C8 @ =0x06010000
+ adds r0, r0, r5
+ str r0, [r3, #4]
+ ldr r0, _0804C3CC @ =0x80000100
+ str r0, [r3, #8]
+ ldr r0, [r3, #8]
+ adds r2, #1
+ lsls r2, r2, #0x10
+ lsrs r1, r2, #0x10
+ asrs r2, r2, #0x10
+ cmp r2, #1
+ ble _0804C2AE
+ mov r1, sb
+ ldr r0, [r1]
+ ldr r2, _0804C3D0 @ =0x0000132C
+ adds r0, r0, r2
+ ldr r0, [r0]
+ ldrh r0, [r0, #0xa]
+ ldr r2, _0804C3BC @ =0x040000D4
+ lsrs r0, r0, #0xc
+ lsls r0, r0, #7
+ ldr r1, _0804C3D4 @ =0x083BB16C
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _0804C3D8 @ =0x06010400
+ str r0, [r2, #4]
+ ldr r0, _0804C3DC @ =0x80000040
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ movs r1, #0
+ ldr r5, _0804C3E0 @ =0x084C07EC
+ ldr r6, _0804C3E4 @ =0x084FA48C
+ ldr r7, _0804C3E8 @ =0x084C00EC
+ adds r3, r2, #0
+ mov r2, sb
+ ldr r0, [r2]
+ ldr r2, _0804C3EC @ =0x00000744
+ adds r4, r0, r2
+_0804C320:
+ lsls r2, r1, #0x10
+ asrs r2, r2, #0x10
+ adds r0, r4, r2
+ ldrb r1, [r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #7
+ adds r0, r0, r5
+ str r0, [r3]
+ lsls r0, r2, #1
+ adds r0, r0, r2
+ lsls r0, r0, #7
+ ldr r1, _0804C3F0 @ =0x06010480
+ adds r0, r0, r1
+ str r0, [r3, #4]
+ ldr r0, _0804C3F4 @ =0x800000C0
+ str r0, [r3, #8]
+ ldr r0, [r3, #8]
+ adds r2, #1
+ lsls r2, r2, #0x10
+ lsrs r1, r2, #0x10
+ asrs r2, r2, #0x10
+ cmp r2, #1
+ ble _0804C320
+ mov r2, sb
+ ldr r0, [r2]
+ ldr r3, _0804C3F8 @ =0x000001E5
+ adds r0, r0, r3
+ ldr r2, _0804C3BC @ =0x040000D4
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #3
+ adds r0, r0, r1
+ lsls r0, r0, #5
+ adds r0, r0, r6
+ str r0, [r2]
+ ldr r0, _0804C3FC @ =0x06010780
+ str r0, [r2, #4]
+ ldr r0, _0804C400 @ =0x80000090
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ mov r5, sb
+ ldr r0, [r5]
+ movs r1, #0xe5
+ lsls r1, r1, #1
+ adds r0, r0, r1
+ ldrh r3, [r0]
+ mov sl, r3
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ lsls r0, r0, #7
+ adds r0, r0, r7
+ str r0, [r2]
+ ldr r0, _0804C404 @ =0x06010AE0
+ str r0, [r2, #4]
+ ldr r0, _0804C3DC @ =0x80000040
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ movs r1, #0
+_0804C396:
+ mov r2, sb
+ ldr r0, [r2]
+ lsls r2, r1, #0x10
+ asrs r1, r2, #0x10
+ ldr r3, _0804C408 @ =0x00000747
+ adds r0, r0, r3
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ adds r7, r2, #0
+ cmp r0, #9
+ bls _0804C3AE
+ b _0804C602
+_0804C3AE:
+ lsls r0, r0, #2
+ ldr r1, _0804C40C @ =_0804C410
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0804C3B8: .4byte gUnknown_020314E0
+_0804C3BC: .4byte 0x040000D4
+_0804C3C0: .4byte 0x000013BC
+_0804C3C4: .4byte 0x083FE44C
+_0804C3C8: .4byte 0x06010000
+_0804C3CC: .4byte 0x80000100
+_0804C3D0: .4byte 0x0000132C
+_0804C3D4: .4byte 0x083BB16C
+_0804C3D8: .4byte 0x06010400
+_0804C3DC: .4byte 0x80000040
+_0804C3E0: .4byte 0x084C07EC
+_0804C3E4: .4byte 0x084FA48C
+_0804C3E8: .4byte 0x084C00EC
+_0804C3EC: .4byte 0x00000744
+_0804C3F0: .4byte 0x06010480
+_0804C3F4: .4byte 0x800000C0
+_0804C3F8: .4byte 0x000001E5
+_0804C3FC: .4byte 0x06010780
+_0804C400: .4byte 0x80000090
+_0804C404: .4byte 0x06010AE0
+_0804C408: .4byte 0x00000747
+_0804C40C: .4byte _0804C410
+_0804C410: @ jump table
+ .4byte _0804C438 @ case 0
+ .4byte _0804C5D4 @ case 1
+ .4byte _0804C5D4 @ case 2
+ .4byte _0804C55E @ case 3
+ .4byte _0804C5D4 @ case 4
+ .4byte _0804C602 @ case 5
+ .4byte _0804C5D4 @ case 6
+ .4byte _0804C5D4 @ case 7
+ .4byte _0804C5D4 @ case 8
+ .4byte _0804C460 @ case 9
+_0804C438:
+ ldr r3, _0804C454 @ =0x040000D4
+ mov r5, sb
+ ldr r0, [r5]
+ asrs r2, r7, #0x10
+ ldr r1, _0804C458 @ =0x00000749
+ adds r0, r0, r1
+ adds r0, r0, r2
+ ldrb r1, [r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #8
+ ldr r1, _0804C45C @ =0x0848D68C
+ b _0804C5EC
+ .align 2, 0
+_0804C454: .4byte 0x040000D4
+_0804C458: .4byte 0x00000749
+_0804C45C: .4byte 0x0848D68C
+_0804C460:
+ mov r5, sb
+ ldr r4, [r5]
+ movs r1, #0x97
+ lsls r1, r1, #2
+ adds r0, r4, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _0804C510
+ ldr r1, _0804C498 @ =0x0200B134
+ ldr r2, _0804C49C @ =0x0000059A
+ adds r0, r4, r2
+ ldrh r3, [r0]
+ adds r1, r3, r1
+ ldrb r0, [r1]
+ cmp r0, #0
+ bne _0804C4AC
+ asrs r3, r7, #0x10
+ ldr r2, _0804C4A0 @ =0x00000749
+ adds r0, r4, r2
+ adds r0, r0, r3
+ movs r1, #0xcd
+ strb r1, [r0]
+ ldr r6, _0804C4A4 @ =0x040000D4
+ ldr r5, _0804C4A8 @ =gMonPortraitGroupPals
+ mov r8, r5
+ b _0804C528
+ .align 2, 0
+_0804C498: .4byte 0x0200B134
+_0804C49C: .4byte 0x0000059A
+_0804C4A0: .4byte 0x00000749
+_0804C4A4: .4byte 0x040000D4
+_0804C4A8: .4byte gMonPortraitGroupPals
+_0804C4AC:
+ cmp r0, #3
+ bhi _0804C4E8
+ asrs r1, r7, #0x10
+ ldr r2, _0804C4D4 @ =0x00000749
+ adds r0, r4, r2
+ adds r0, r0, r1
+ strb r3, [r0]
+ ldr r1, _0804C4D8 @ =0x040000D4
+ ldr r0, _0804C4DC @ =gMonPortraitGroupPals
+ ldr r0, [r0]
+ movs r3, #0xf0
+ lsls r3, r3, #1
+ adds r0, r0, r3
+ str r0, [r1]
+ ldr r0, _0804C4E0 @ =0x050003A0
+ str r0, [r1, #4]
+ ldr r0, _0804C4E4 @ =0x80000010
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ b _0804C55E
+ .align 2, 0
+_0804C4D4: .4byte 0x00000749
+_0804C4D8: .4byte 0x040000D4
+_0804C4DC: .4byte gMonPortraitGroupPals
+_0804C4E0: .4byte 0x050003A0
+_0804C4E4: .4byte 0x80000010
+_0804C4E8:
+ asrs r2, r7, #0x10
+ ldr r1, _0804C504 @ =0x00000749
+ adds r0, r4, r1
+ adds r0, r0, r2
+ strb r3, [r0]
+ ldr r6, _0804C508 @ =0x040000D4
+ ldr r5, _0804C50C @ =gMonPortraitGroupPals
+ mov r8, r5
+ mov r3, sb
+ ldr r0, [r3]
+ adds r0, r0, r1
+ adds r0, r0, r2
+ b _0804C530
+ .align 2, 0
+_0804C504: .4byte 0x00000749
+_0804C508: .4byte 0x040000D4
+_0804C50C: .4byte gMonPortraitGroupPals
+_0804C510:
+ asrs r3, r7, #0x10
+ ldr r2, _0804C5B4 @ =0x00000749
+ adds r1, r4, r2
+ adds r1, r1, r3
+ movs r5, #0xb3
+ lsls r5, r5, #3
+ adds r0, r4, r5
+ ldrh r0, [r0]
+ strb r0, [r1]
+ ldr r6, _0804C5B8 @ =0x040000D4
+ ldr r0, _0804C5BC @ =gMonPortraitGroupPals
+ mov r8, r0
+_0804C528:
+ mov r1, sb
+ ldr r0, [r1]
+ adds r0, r0, r2
+ adds r0, r0, r3
+_0804C530:
+ ldrb r5, [r0]
+ adds r0, r5, #0
+ movs r1, #0xf
+ bl __udivsi3
+ adds r4, r0, #0
+ lsls r4, r4, #0x18
+ lsrs r4, r4, #0x16
+ add r4, r8
+ adds r0, r5, #0
+ movs r1, #0xf
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x13
+ ldr r1, [r4]
+ adds r1, r1, r0
+ str r1, [r6]
+ ldr r0, _0804C5C0 @ =0x050003A0
+ str r0, [r6, #4]
+ ldr r0, _0804C5C4 @ =0x80000010
+ str r0, [r6, #8]
+ ldr r0, [r6, #8]
+_0804C55E:
+ ldr r2, _0804C5B8 @ =0x040000D4
+ ldr r3, _0804C5C8 @ =gMonPortraitGroupGfx
+ mov r8, r3
+ mov r5, sb
+ ldr r0, [r5]
+ asrs r6, r7, #0x10
+ ldr r1, _0804C5B4 @ =0x00000749
+ adds r0, r0, r1
+ adds r0, r0, r6
+ ldrb r5, [r0]
+ adds r0, r5, #0
+ movs r1, #0xf
+ str r2, [sp]
+ bl __udivsi3
+ adds r4, r0, #0
+ lsls r4, r4, #0x18
+ lsrs r4, r4, #0x16
+ add r4, r8
+ adds r0, r5, #0
+ movs r1, #0xf
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ lsls r1, r0, #1
+ adds r1, r1, r0
+ lsls r1, r1, #8
+ ldr r0, [r4]
+ adds r0, r0, r1
+ ldr r2, [sp]
+ str r0, [r2]
+ lsls r0, r6, #1
+ adds r0, r0, r6
+ lsls r0, r0, #3
+ ldr r3, _0804C5CC @ =0x06010CA0
+ adds r0, r0, r3
+ str r0, [r2, #4]
+ ldr r0, _0804C5D0 @ =0x80000180
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ b _0804C602
+ .align 2, 0
+_0804C5B4: .4byte 0x00000749
+_0804C5B8: .4byte 0x040000D4
+_0804C5BC: .4byte gMonPortraitGroupPals
+_0804C5C0: .4byte 0x050003A0
+_0804C5C4: .4byte 0x80000010
+_0804C5C8: .4byte gMonPortraitGroupGfx
+_0804C5CC: .4byte 0x06010CA0
+_0804C5D0: .4byte 0x80000180
+_0804C5D4:
+ ldr r3, _0804C630 @ =0x040000D4
+ mov r5, sb
+ ldr r0, [r5]
+ asrs r2, r7, #0x10
+ ldr r1, _0804C634 @ =0x00000749
+ adds r0, r0, r1
+ adds r0, r0, r2
+ ldrb r1, [r0]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #8
+ ldr r1, _0804C638 @ =0x083A8EEC
+_0804C5EC:
+ adds r0, r0, r1
+ str r0, [r3]
+ lsls r0, r2, #1
+ adds r0, r0, r2
+ lsls r0, r0, #8
+ ldr r2, _0804C63C @ =0x06010CA0
+ adds r0, r0, r2
+ str r0, [r3, #4]
+ ldr r0, _0804C640 @ =0x80000180
+ str r0, [r3, #8]
+ ldr r0, [r3, #8]
+_0804C602:
+ movs r3, #0x80
+ lsls r3, r3, #9
+ adds r0, r7, r3
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #1
+ bgt _0804C612
+ b _0804C396
+_0804C612:
+ mov r5, sb
+ ldr r1, [r5]
+ movs r0, #0x13
+ ldrsb r0, [r1, r0]
+ cmp r0, #4
+ bne _0804C69C
+ movs r0, #0x17
+ ldrsb r0, [r1, r0]
+ cmp r0, #7
+ blt _0804C69C
+ cmp r0, #8
+ ble _0804C644
+ cmp r0, #9
+ beq _0804C660
+ b _0804C69C
+ .align 2, 0
+_0804C630: .4byte 0x040000D4
+_0804C634: .4byte 0x00000749
+_0804C638: .4byte 0x083A8EEC
+_0804C63C: .4byte 0x06010CA0
+_0804C640: .4byte 0x80000180
+_0804C644:
+ ldr r2, _0804C654 @ =0x000005A9
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, #4
+ bls _0804C68C
+ ldr r1, _0804C658 @ =0x040000D4
+ ldr r0, _0804C65C @ =0x02031060
+ b _0804C690
+ .align 2, 0
+_0804C654: .4byte 0x000005A9
+_0804C658: .4byte 0x040000D4
+_0804C65C: .4byte 0x02031060
+_0804C660:
+ movs r3, #0xb5
+ lsls r3, r3, #3
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x1f
+ bgt _0804C69C
+ ldr r5, _0804C680 @ =0x000005A9
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ cmp r0, #4
+ bls _0804C68C
+ ldr r1, _0804C684 @ =0x040000D4
+ ldr r0, _0804C688 @ =0x02031060
+ b _0804C690
+ .align 2, 0
+_0804C680: .4byte 0x000005A9
+_0804C684: .4byte 0x040000D4
+_0804C688: .4byte 0x02031060
+_0804C68C:
+ ldr r1, _0804C6B8 @ =0x040000D4
+ ldr r0, _0804C6BC @ =0x02030760
+_0804C690:
+ str r0, [r1]
+ ldr r0, _0804C6C0 @ =0x06010CA0
+ str r0, [r1, #4]
+ ldr r0, _0804C6C4 @ =0x80000240
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804C69C:
+ mov r0, sb
+ ldr r1, [r0]
+ movs r0, #0x13
+ ldrsb r0, [r1, r0]
+ cmp r0, #8
+ bne _0804C720
+ movs r0, #0x17
+ ldrsb r0, [r1, r0]
+ cmp r0, #2
+ beq _0804C6C8
+ cmp r0, #3
+ beq _0804C6E4
+ b _0804C720
+ .align 2, 0
+_0804C6B8: .4byte 0x040000D4
+_0804C6BC: .4byte 0x02030760
+_0804C6C0: .4byte 0x06010CA0
+_0804C6C4: .4byte 0x80000240
+_0804C6C8:
+ ldr r2, _0804C6D8 @ =0x000005A9
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, #4
+ bls _0804C710
+ ldr r1, _0804C6DC @ =0x040000D4
+ ldr r0, _0804C6E0 @ =0x02031060
+ b _0804C714
+ .align 2, 0
+_0804C6D8: .4byte 0x000005A9
+_0804C6DC: .4byte 0x040000D4
+_0804C6E0: .4byte 0x02031060
+_0804C6E4:
+ movs r3, #0xb5
+ lsls r3, r3, #3
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x1f
+ bgt _0804C720
+ ldr r5, _0804C704 @ =0x000005A9
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ cmp r0, #4
+ bls _0804C710
+ ldr r1, _0804C708 @ =0x040000D4
+ ldr r0, _0804C70C @ =0x02031060
+ b _0804C714
+ .align 2, 0
+_0804C704: .4byte 0x000005A9
+_0804C708: .4byte 0x040000D4
+_0804C70C: .4byte 0x02031060
+_0804C710:
+ ldr r1, _0804C7C4 @ =0x040000D4
+ ldr r0, _0804C7C8 @ =0x02030760
+_0804C714:
+ str r0, [r1]
+ ldr r0, _0804C7CC @ =0x06010CA0
+ str r0, [r1, #4]
+ ldr r0, _0804C7D0 @ =0x80000240
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804C720:
+ ldr r2, _0804C7C4 @ =0x040000D4
+ mov r1, sb
+ ldr r0, [r1]
+ ldr r3, _0804C7D4 @ =0x0000020B
+ adds r0, r0, r3
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #8
+ ldr r5, _0804C7D8 @ =0x0844838C
+ adds r0, r0, r5
+ str r0, [r2]
+ ldr r0, _0804C7DC @ =0x060113C0
+ str r0, [r2, #4]
+ ldr r0, _0804C7E0 @ =0x80000180
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ mov r1, sb
+ ldr r0, [r1]
+ adds r3, #0x54
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #2
+ ldr r5, _0804C7E4 @ =0x086AD49C
+ adds r0, r0, r5
+ mov r3, sl
+ lsls r1, r3, #0x10
+ asrs r1, r1, #7
+ ldr r0, [r0]
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _0804C7E8 @ =0x060116C0
+ str r0, [r2, #4]
+ ldr r3, _0804C7EC @ =0x80000100
+ str r3, [r2, #8]
+ ldr r0, [r2, #8]
+ mov r5, sb
+ ldr r0, [r5]
+ ldr r1, _0804C7F0 @ =0x000001ED
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #3
+ ldr r1, _0804C7F4 @ =0x086AD2EE
+ adds r1, #6
+ adds r0, r0, r1
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ lsls r0, r0, #9
+ ldr r1, _0804C7F8 @ =0x084FD18C
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _0804C7FC @ =0x06011CE0
+ str r0, [r2, #4]
+ str r3, [r2, #8]
+ ldr r0, [r2, #8]
+ mov r5, sb
+ ldr r0, [r5]
+ adds r0, #0x6e
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #9
+ ldr r1, _0804C800 @ =0x083BD36C
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _0804C804 @ =0x06011EE0
+ str r0, [r2, #4]
+ str r3, [r2, #8]
+ ldr r0, [r2, #8]
+ add sp, #4
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804C7C4: .4byte 0x040000D4
+_0804C7C8: .4byte 0x02030760
+_0804C7CC: .4byte 0x06010CA0
+_0804C7D0: .4byte 0x80000240
+_0804C7D4: .4byte 0x0000020B
+_0804C7D8: .4byte 0x0844838C
+_0804C7DC: .4byte 0x060113C0
+_0804C7E0: .4byte 0x80000180
+_0804C7E4: .4byte 0x086AD49C
+_0804C7E8: .4byte 0x060116C0
+_0804C7EC: .4byte 0x80000100
+_0804C7F0: .4byte 0x000001ED
+_0804C7F4: .4byte 0x086AD2EE
+_0804C7F8: .4byte 0x084FD18C
+_0804C7FC: .4byte 0x06011CE0
+_0804C800: .4byte 0x083BD36C
+_0804C804: .4byte 0x06011EE0
+
+ thumb_func_start sub_4C808
+sub_4C808: @ 0x0804C808
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ ldr r1, _0804C90C @ =0x086AD2EE
+ ldr r6, _0804C910 @ =gUnknown_020314E0
+ ldr r5, [r6]
+ ldr r2, _0804C914 @ =0x000001ED
+ adds r0, r5, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #3
+ adds r1, #4
+ adds r0, r0, r1
+ ldr r4, _0804C918 @ =0x040000D4
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ lsls r0, r1, #3
+ adds r0, r0, r1
+ lsls r0, r0, #7
+ ldr r1, _0804C91C @ =0x084FB68C
+ adds r0, r0, r1
+ str r0, [r4]
+ ldr r0, _0804C920 @ =0x060122A0
+ str r0, [r4, #4]
+ ldr r0, _0804C924 @ =0x80000240
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, _0804C928 @ =gMain
+ ldr r0, [r0, #0x4c]
+ movs r1, #0x32
+ bl __umodsi3
+ movs r1, #0x19
+ bl __udivsi3
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ lsls r1, r0, #1
+ adds r1, r1, r0
+ lsls r1, r1, #8
+ ldr r2, _0804C92C @ =0x083C3C2C
+ adds r1, r1, r2
+ str r1, [r4]
+ ldr r1, _0804C930 @ =0x06012720
+ str r1, [r4, #4]
+ ldr r1, _0804C934 @ =0x80000180
+ str r1, [r4, #8]
+ ldr r1, [r4, #8]
+ ldr r1, _0804C938 @ =0x000002F5
+ adds r5, r5, r1
+ movs r2, #0
+ ldrsb r2, [r5, r2]
+ lsls r1, r2, #2
+ adds r1, r1, r2
+ lsls r1, r1, #2
+ subs r1, r1, r2
+ lsls r1, r1, #5
+ ldr r2, _0804C93C @ =0x084F5ACC
+ adds r1, r1, r2
+ str r1, [r4]
+ ldr r1, _0804C940 @ =0x06012C20
+ str r1, [r4, #4]
+ ldr r1, _0804C944 @ =0x80000130
+ str r1, [r4, #8]
+ ldr r1, [r4, #8]
+ movs r2, #0
+ mov ip, r6
+ ldr r1, _0804C948 @ =0x084ED0CC
+ mov r8, r1
+ ldr r1, _0804C94C @ =0x08449D8C
+ mov sb, r1
+ ldr r1, _0804C950 @ =0x086AD456
+ mov sl, r1
+ lsls r0, r0, #8
+ ldr r1, _0804C954 @ =0x083C806C
+ adds r3, r0, r1
+ movs r7, #0xba
+ lsls r7, r7, #1
+ ldr r6, _0804C958 @ =0x06010000
+ ldr r5, _0804C95C @ =0x80000080
+_0804C8AE:
+ str r3, [r4]
+ lsls r0, r2, #0x10
+ asrs r0, r0, #0x10
+ lsls r1, r0, #3
+ adds r1, r1, r7
+ lsls r1, r1, #5
+ adds r1, r1, r6
+ str r1, [r4, #4]
+ str r5, [r4, #8]
+ ldr r1, [r4, #8]
+ adds r0, #1
+ lsls r0, r0, #0x10
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #1
+ ble _0804C8AE
+ mov r2, ip
+ ldr r0, [r2]
+ ldr r1, _0804C960 @ =0x000002F1
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ movs r1, #0xf
+ ldr r2, _0804C918 @ =0x040000D4
+ ands r1, r0
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #7
+ add r0, r8
+ str r0, [r2]
+ ldr r0, _0804C964 @ =0x06013180
+ str r0, [r2, #4]
+ ldr r0, _0804C968 @ =0x800000C0
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ mov r2, ip
+ ldr r1, [r2]
+ ldr r2, _0804C96C @ =0x000002DA
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #2
+ bgt _0804C974
+ ldr r0, _0804C970 @ =0x00000746
+ adds r1, r1, r0
+ movs r0, #0
+ b _0804C97A
+ .align 2, 0
+_0804C90C: .4byte 0x086AD2EE
+_0804C910: .4byte gUnknown_020314E0
+_0804C914: .4byte 0x000001ED
+_0804C918: .4byte 0x040000D4
+_0804C91C: .4byte 0x084FB68C
+_0804C920: .4byte 0x060122A0
+_0804C924: .4byte 0x80000240
+_0804C928: .4byte gMain
+_0804C92C: .4byte 0x083C3C2C
+_0804C930: .4byte 0x06012720
+_0804C934: .4byte 0x80000180
+_0804C938: .4byte 0x000002F5
+_0804C93C: .4byte 0x084F5ACC
+_0804C940: .4byte 0x06012C20
+_0804C944: .4byte 0x80000130
+_0804C948: .4byte 0x084ED0CC
+_0804C94C: .4byte 0x08449D8C
+_0804C950: .4byte 0x086AD456
+_0804C954: .4byte 0x083C806C
+_0804C958: .4byte 0x06010000
+_0804C95C: .4byte 0x80000080
+_0804C960: .4byte 0x000002F1
+_0804C964: .4byte 0x06013180
+_0804C968: .4byte 0x800000C0
+_0804C96C: .4byte 0x000002DA
+_0804C970: .4byte 0x00000746
+_0804C974:
+ ldr r2, _0804C9F8 @ =0x00000746
+ adds r1, r1, r2
+ movs r0, #1
+_0804C97A:
+ strb r0, [r1]
+ ldr r4, _0804C9FC @ =0x040000D4
+ mov r1, ip
+ ldr r0, [r1]
+ ldr r2, _0804C9F8 @ =0x00000746
+ adds r0, r0, r2
+ ldrb r1, [r0]
+ lsls r0, r1, #2
+ adds r0, r0, r1
+ lsls r0, r0, #7
+ add r0, sb
+ str r0, [r4]
+ ldr r0, _0804CA00 @ =0x06013300
+ str r0, [r4, #4]
+ ldr r0, _0804CA04 @ =0x80000140
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ mov r0, ip
+ ldr r5, [r0]
+ movs r1, #0xda
+ lsls r1, r1, #1
+ adds r0, r5, r1
+ ldrh r0, [r0]
+ movs r1, #0x2a
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #6
+ bl __udivsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0xf
+ ldr r2, _0804CA08 @ =0x000001A5
+ adds r1, r5, r2
+ movs r2, #0
+ ldrsb r2, [r1, r2]
+ lsls r1, r2, #3
+ subs r1, r1, r2
+ lsls r1, r1, #1
+ adds r0, r0, r1
+ add r0, sl
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ lsls r0, r1, #2
+ adds r0, r0, r1
+ lsls r0, r0, #8
+ ldr r1, _0804CA0C @ =0x084F6B0C
+ adds r0, r0, r1
+ str r0, [r4]
+ ldr r0, _0804CA10 @ =0x06013D00
+ str r0, [r4, #4]
+ ldr r0, _0804CA14 @ =0x80000280
+ str r0, [r4, #8]
+ ldr r0, [r4, #8]
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804C9F8: .4byte 0x00000746
+_0804C9FC: .4byte 0x040000D4
+_0804CA00: .4byte 0x06013300
+_0804CA04: .4byte 0x80000140
+_0804CA08: .4byte 0x000001A5
+_0804CA0C: .4byte 0x084F6B0C
+_0804CA10: .4byte 0x06013D00
+_0804CA14: .4byte 0x80000280
+
+ thumb_func_start sub_4CA18
+sub_4CA18: @ 0x0804CA18
+ ldr r1, _0804CA38 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r2, _0804CA3C @ =0x00000346
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r2, r1, #0
+ cmp r0, #6
+ bhi _0804CACE
+ lsls r0, r0, #2
+ ldr r1, _0804CA40 @ =_0804CA44
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0804CA38: .4byte gUnknown_020314E0
+_0804CA3C: .4byte 0x00000346
+_0804CA40: .4byte _0804CA44
+_0804CA44: @ jump table
+ .4byte _0804CA60 @ case 0
+ .4byte _0804CA60 @ case 1
+ .4byte _0804CA60 @ case 2
+ .4byte _0804CA78 @ case 3
+ .4byte _0804CA78 @ case 4
+ .4byte _0804CAA0 @ case 5
+ .4byte _0804CACE @ case 6
+_0804CA60:
+ ldr r0, [r2]
+ ldr r3, _0804CA70 @ =0x00000345
+ adds r0, r0, r3
+ ldr r2, _0804CA74 @ =0x040000D4
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ b _0804CAB8
+ .align 2, 0
+_0804CA70: .4byte 0x00000345
+_0804CA74: .4byte 0x040000D4
+_0804CA78:
+ ldr r1, _0804CA90 @ =0x040000D4
+ ldr r0, _0804CA94 @ =0x08490A4C
+ movs r2, #0xff
+ lsls r2, r2, #6
+ adds r0, r0, r2
+ str r0, [r1]
+ ldr r0, _0804CA98 @ =0x0600D900
+ str r0, [r1, #4]
+ ldr r0, _0804CA9C @ =0x80000220
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ b _0804CACE
+ .align 2, 0
+_0804CA90: .4byte 0x040000D4
+_0804CA94: .4byte 0x08490A4C
+_0804CA98: .4byte 0x0600D900
+_0804CA9C: .4byte 0x80000220
+_0804CAA0:
+ ldr r1, _0804CAD0 @ =0x086AE5A0
+ ldr r0, [r2]
+ ldr r3, _0804CAD4 @ =0x00000345
+ adds r0, r0, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #2
+ adds r0, r0, r1
+ ldr r2, _0804CAD8 @ =0x040000D4
+ movs r3, #0
+ ldrsh r1, [r0, r3]
+_0804CAB8:
+ lsls r0, r1, #4
+ adds r0, r0, r1
+ lsls r0, r0, #6
+ ldr r1, _0804CADC @ =0x08490A4C
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _0804CAE0 @ =0x0600D900
+ str r0, [r2, #4]
+ ldr r0, _0804CAE4 @ =0x80000220
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+_0804CACE:
+ bx lr
+ .align 2, 0
+_0804CAD0: .4byte 0x086AE5A0
+_0804CAD4: .4byte 0x00000345
+_0804CAD8: .4byte 0x040000D4
+_0804CADC: .4byte 0x08490A4C
+_0804CAE0: .4byte 0x0600D900
+_0804CAE4: .4byte 0x80000220
+
+ thumb_func_start sub_4CAE8
+sub_4CAE8: @ 0x0804CAE8
+ ldr r1, _0804CAFC @ =0x040000D4
+ ldr r0, _0804CB00 @ =0x08138834
+ str r0, [r1]
+ ldr r0, _0804CB04 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804CB08 @ =0x80001000
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ bx lr
+ .align 2, 0
+_0804CAFC: .4byte 0x040000D4
+_0804CB00: .4byte 0x08138834
+_0804CB04: .4byte 0x06015800
+_0804CB08: .4byte 0x80001000
+
+ thumb_func_start sub_4CB0C
+sub_4CB0C: @ 0x0804CB0C
+ ldr r1, _0804CB20 @ =0x040000D4
+ ldr r0, _0804CB24 @ =0x0813A854
+ str r0, [r1]
+ ldr r0, _0804CB28 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804CB2C @ =0x80001000
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ bx lr
+ .align 2, 0
+_0804CB20: .4byte 0x040000D4
+_0804CB24: .4byte 0x0813A854
+_0804CB28: .4byte 0x06015800
+_0804CB2C: .4byte 0x80001000
+
+ thumb_func_start sub_4CB30
+sub_4CB30: @ 0x0804CB30
+ push {r4, r5, r6, lr}
+ mov r6, r8
+ push {r6}
+ ldr r5, _0804CB90 @ =0x040000D4
+ ldr r0, _0804CB94 @ =0x0813C874
+ str r0, [r5]
+ ldr r0, _0804CB98 @ =0x06015800
+ str r0, [r5, #4]
+ ldr r0, _0804CB9C @ =0x80001000
+ str r0, [r5, #8]
+ ldr r0, [r5, #8]
+ ldr r0, _0804CBA0 @ =gMonPortraitGroupGfx
+ mov r8, r0
+ ldr r0, _0804CBA4 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r1, _0804CBA8 @ =0x00000749
+ adds r0, r0, r1
+ ldrb r6, [r0]
+ adds r0, r6, #0
+ movs r1, #0xf
+ bl __udivsi3
+ adds r4, r0, #0
+ lsls r4, r4, #0x18
+ lsrs r4, r4, #0x16
+ add r4, r8
+ adds r0, r6, #0
+ movs r1, #0xf
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ lsls r1, r0, #1
+ adds r1, r1, r0
+ lsls r1, r1, #8
+ ldr r0, [r4]
+ adds r0, r0, r1
+ str r0, [r5]
+ ldr r0, _0804CBAC @ =0x06010CA0
+ str r0, [r5, #4]
+ ldr r0, _0804CBB0 @ =0x80000180
+ str r0, [r5, #8]
+ ldr r0, [r5, #8]
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804CB90: .4byte 0x040000D4
+_0804CB94: .4byte 0x0813C874
+_0804CB98: .4byte 0x06015800
+_0804CB9C: .4byte 0x80001000
+_0804CBA0: .4byte gMonPortraitGroupGfx
+_0804CBA4: .4byte gUnknown_020314E0
+_0804CBA8: .4byte 0x00000749
+_0804CBAC: .4byte 0x06010CA0
+_0804CBB0: .4byte 0x80000180
+
+ thumb_func_start sub_4CBB4
+sub_4CBB4: @ 0x0804CBB4
+ push {r4, r5, r6, lr}
+ mov r6, r8
+ push {r6}
+ ldr r0, _0804CBD0 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldrb r1, [r1, #0x13]
+ lsls r1, r1, #0x18
+ asrs r1, r1, #0x18
+ adds r2, r0, #0
+ cmp r1, #1
+ bgt _0804CBDC
+ ldr r1, _0804CBD4 @ =0x040000D4
+ ldr r0, _0804CBD8 @ =0x0849F1CC
+ b _0804CBE0
+ .align 2, 0
+_0804CBD0: .4byte gUnknown_020314E0
+_0804CBD4: .4byte 0x040000D4
+_0804CBD8: .4byte 0x0849F1CC
+_0804CBDC:
+ ldr r1, _0804CC38 @ =0x040000D4
+ ldr r0, _0804CC3C @ =0x0813E894
+_0804CBE0:
+ str r0, [r1]
+ ldr r0, _0804CC40 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804CC44 @ =0x80001000
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r6, _0804CC38 @ =0x040000D4
+ ldr r0, _0804CC48 @ =gMonPortraitGroupGfx
+ mov r8, r0
+ ldr r0, [r2]
+ ldr r1, _0804CC4C @ =0x00000749
+ adds r0, r0, r1
+ ldrb r5, [r0]
+ adds r0, r5, #0
+ movs r1, #0xf
+ bl __udivsi3
+ adds r4, r0, #0
+ lsls r4, r4, #0x18
+ lsrs r4, r4, #0x16
+ add r4, r8
+ adds r0, r5, #0
+ movs r1, #0xf
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ lsls r1, r0, #1
+ adds r1, r1, r0
+ lsls r1, r1, #8
+ ldr r0, [r4]
+ adds r0, r0, r1
+ str r0, [r6]
+ ldr r0, _0804CC50 @ =0x06010CA0
+ str r0, [r6, #4]
+ ldr r0, _0804CC54 @ =0x80000180
+ str r0, [r6, #8]
+ ldr r0, [r6, #8]
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804CC38: .4byte 0x040000D4
+_0804CC3C: .4byte 0x0813E894
+_0804CC40: .4byte 0x06015800
+_0804CC44: .4byte 0x80001000
+_0804CC48: .4byte gMonPortraitGroupGfx
+_0804CC4C: .4byte 0x00000749
+_0804CC50: .4byte 0x06010CA0
+_0804CC54: .4byte 0x80000180
+
+ thumb_func_start sub_4CC58
+sub_4CC58: @ 0x0804CC58
+ push {r4, r5, r6, lr}
+ mov r6, r8
+ push {r6}
+ ldr r1, _0804CC7C @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldrb r0, [r0, #0x13]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r2, r1, #0
+ cmp r0, #0
+ bne _0804CC90
+ ldr r1, _0804CC80 @ =0x040000D4
+ ldr r0, _0804CC84 @ =0x083C5A2C
+ str r0, [r1]
+ ldr r0, _0804CC88 @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804CC8C @ =0x80001400
+ b _0804CCC0
+ .align 2, 0
+_0804CC7C: .4byte gUnknown_020314E0
+_0804CC80: .4byte 0x040000D4
+_0804CC84: .4byte 0x083C5A2C
+_0804CC88: .4byte 0x06015800
+_0804CC8C: .4byte 0x80001400
+_0804CC90:
+ cmp r0, #1
+ bne _0804CCB4
+ ldr r1, _0804CCA4 @ =0x040000D4
+ ldr r0, _0804CCA8 @ =0x084A856C
+ str r0, [r1]
+ ldr r0, _0804CCAC @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804CCB0 @ =0x80000E00
+ b _0804CCC0
+ .align 2, 0
+_0804CCA4: .4byte 0x040000D4
+_0804CCA8: .4byte 0x084A856C
+_0804CCAC: .4byte 0x06015800
+_0804CCB0: .4byte 0x80000E00
+_0804CCB4:
+ ldr r1, _0804CD34 @ =0x040000D4
+ ldr r0, _0804CD38 @ =0x081408B4
+ str r0, [r1]
+ ldr r0, _0804CD3C @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804CD40 @ =0x80001000
+_0804CCC0:
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r0, [r2]
+ movs r1, #0xf7
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ subs r0, #2
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ cmp r0, #9
+ bls _0804CCE8
+ ldr r1, _0804CD34 @ =0x040000D4
+ ldr r0, _0804CD44 @ =0x084AA18C
+ str r0, [r1]
+ ldr r0, _0804CD48 @ =0x06011620
+ str r0, [r1, #4]
+ ldr r0, _0804CD4C @ =0x80000430
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804CCE8:
+ ldr r6, _0804CD34 @ =0x040000D4
+ ldr r0, _0804CD50 @ =gMonPortraitGroupGfx
+ mov r8, r0
+ ldr r0, [r2]
+ ldr r1, _0804CD54 @ =0x00000749
+ adds r0, r0, r1
+ ldrb r5, [r0]
+ adds r0, r5, #0
+ movs r1, #0xf
+ bl __udivsi3
+ adds r4, r0, #0
+ lsls r4, r4, #0x18
+ lsrs r4, r4, #0x16
+ add r4, r8
+ adds r0, r5, #0
+ movs r1, #0xf
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ lsls r1, r0, #1
+ adds r1, r1, r0
+ lsls r1, r1, #8
+ ldr r0, [r4]
+ adds r0, r0, r1
+ str r0, [r6]
+ ldr r0, _0804CD58 @ =0x06010CA0
+ str r0, [r6, #4]
+ ldr r0, _0804CD5C @ =0x80000180
+ str r0, [r6, #8]
+ ldr r0, [r6, #8]
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804CD34: .4byte 0x040000D4
+_0804CD38: .4byte 0x081408B4
+_0804CD3C: .4byte 0x06015800
+_0804CD40: .4byte 0x80001000
+_0804CD44: .4byte 0x084AA18C
+_0804CD48: .4byte 0x06011620
+_0804CD4C: .4byte 0x80000430
+_0804CD50: .4byte gMonPortraitGroupGfx
+_0804CD54: .4byte 0x00000749
+_0804CD58: .4byte 0x06010CA0
+_0804CD5C: .4byte 0x80000180
+
+ thumb_func_start sub_4CD60
+sub_4CD60: @ 0x0804CD60
+ push {r4, r5, r6, r7, lr}
+ mov r7, sb
+ mov r6, r8
+ push {r6, r7}
+ movs r2, #0
+ ldr r3, _0804CE5C @ =0x03006400
+ ldr r6, _0804CE60 @ =gMain
+ movs r0, #0x80
+ lsls r0, r0, #4
+ adds r0, r0, r3
+ mov r8, r0
+ ldr r1, _0804CE64 @ =0x084B77EC
+ mov sb, r1
+ ldr r0, _0804CE68 @ =0xFFFFF800
+ adds r0, r0, r3
+ mov ip, r0
+ movs r7, #0x80
+ lsls r7, r7, #3
+ movs r5, #0x80
+ lsls r5, r5, #2
+ ldr r4, _0804CE6C @ =0x000007FF
+_0804CD8A:
+ lsls r1, r2, #0x10
+ asrs r1, r1, #0x10
+ adds r0, r1, r7
+ lsls r0, r0, #1
+ add r0, ip
+ strh r5, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r2, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, r4
+ ble _0804CD8A
+ ldr r1, _0804CE70 @ =0x040000D4
+ str r3, [r1]
+ ldr r0, _0804CE74 @ =0x06001000
+ str r0, [r1, #4]
+ ldr r0, _0804CE78 @ =0x80000800
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldrh r0, [r6, #0x38]
+ ldr r0, _0804CE7C @ =0x00001C42
+ strh r0, [r6, #0x38]
+ ldrh r0, [r6, #0x3a]
+ ldr r0, _0804CE80 @ =0x00000C04
+ strh r0, [r6, #0x3a]
+ movs r2, #0
+ ldr r1, _0804CE68 @ =0xFFFFF800
+ adds r4, r3, r1
+ ldr r3, _0804CE84 @ =0x0000013F
+_0804CDC4:
+ lsls r0, r2, #0x10
+ asrs r2, r0, #0x10
+ adds r0, r2, #0
+ cmp r2, #0
+ bge _0804CDD0
+ adds r0, #0x1f
+_0804CDD0:
+ asrs r0, r0, #5
+ lsls r0, r0, #5
+ subs r0, r2, r0
+ subs r0, #2
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0x1b
+ bhi _0804CDF0
+ movs r1, #0x80
+ lsls r1, r1, #4
+ adds r0, r2, r1
+ lsls r0, r0, #1
+ adds r0, r0, r4
+ movs r1, #0x90
+ lsls r1, r1, #8
+ strh r1, [r0]
+_0804CDF0:
+ adds r0, r2, #1
+ lsls r0, r0, #0x10
+ lsrs r2, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, r3
+ ble _0804CDC4
+ movs r0, #0xbb
+ lsls r0, r0, #2
+ adds r1, r6, r0
+ movs r0, #8
+ strh r0, [r1]
+ ldr r0, _0804CE88 @ =0x000002EE
+ adds r1, r6, r0
+ movs r0, #0x7e
+ strh r0, [r1]
+ ldr r1, _0804CE70 @ =0x040000D4
+ mov r0, r8
+ str r0, [r1]
+ ldr r0, _0804CE8C @ =0x06001140
+ str r0, [r1, #4]
+ ldr r0, _0804CE90 @ =0x80000140
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ movs r2, #0
+ ldr r5, _0804CE94 @ =0xFFFFF000
+ add r5, r8
+ ldr r4, _0804CE98 @ =0x000001FF
+ ldr r3, _0804CE6C @ =0x000007FF
+_0804CE28:
+ lsls r1, r2, #0x10
+ asrs r1, r1, #0x10
+ lsls r0, r1, #1
+ adds r0, r0, r5
+ strh r4, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r2, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, r3
+ ble _0804CE28
+ ldr r1, _0804CE70 @ =0x040000D4
+ mov r0, sb
+ str r0, [r1]
+ ldr r0, _0804CE9C @ =0x06015800
+ str r0, [r1, #4]
+ ldr r0, _0804CEA0 @ =0x80000400
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ pop {r3, r4}
+ mov r8, r3
+ mov sb, r4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804CE5C: .4byte 0x03006400
+_0804CE60: .4byte gMain
+_0804CE64: .4byte 0x084B77EC
+_0804CE68: .4byte 0xFFFFF800
+_0804CE6C: .4byte 0x000007FF
+_0804CE70: .4byte 0x040000D4
+_0804CE74: .4byte 0x06001000
+_0804CE78: .4byte 0x80000800
+_0804CE7C: .4byte 0x00001C42
+_0804CE80: .4byte 0x00000C04
+_0804CE84: .4byte 0x0000013F
+_0804CE88: .4byte 0x000002EE
+_0804CE8C: .4byte 0x06001140
+_0804CE90: .4byte 0x80000140
+_0804CE94: .4byte 0xFFFFF000
+_0804CE98: .4byte 0x000001FF
+_0804CE9C: .4byte 0x06015800
+_0804CEA0: .4byte 0x80000400
+
+ thumb_func_start nullsub_18
+nullsub_18: @ 0x0804CEA4
+ bx lr
+
+ thumb_func_start sub_4CEA8
+sub_4CEA8: @ 0x0804CEA8
+ push {lr}
+ bl sub_4CEB4
+ pop {r0}
+ bx r0
+
+ thumb_func_start sub_4CEB4
+sub_4CEB4: @ 0x0804CEB4
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #0x18
+ bl sub_4D3D0
+ ldr r5, _0804CF34 @ =gUnknown_020314E0
+ ldr r2, [r5]
+ ldr r1, _0804CF38 @ =0x000005F6
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #1
+ ldr r1, [r2, #0x3c]
+ muls r1, r0, r1
+ ldr r0, [r2, #0x40]
+ adds r3, r0, r1
+ str r3, [r2, #0x40]
+ ldrb r1, [r2, #0x1c]
+ cmp r1, #0
+ beq _0804CF56
+ ldrb r0, [r2, #5]
+ ldr r4, _0804CF3C @ =gMain
+ cmp r0, #0
+ bne _0804CEF6
+ ldrh r1, [r4, #0x18]
+ movs r0, #1
+ ands r0, r1
+ cmp r0, #0
+ beq _0804CF08
+_0804CEF6:
+ ldr r0, [r2, #0x44]
+ adds r0, r0, r3
+ str r0, [r2, #0x44]
+ movs r0, #0
+ str r0, [r2, #0x40]
+ strb r0, [r2, #0x1c]
+ ldr r1, [r5]
+ ldr r0, _0804CF40 @ =0x00009C40
+ str r0, [r1, #0x38]
+_0804CF08:
+ ldr r5, [r4, #0x4c]
+ movs r0, #1
+ ands r5, r0
+ cmp r5, #0
+ bne _0804CF5E
+ ldr r1, _0804CF34 @ =gUnknown_020314E0
+ ldr r2, [r1]
+ ldr r4, [r2, #0x40]
+ cmp r4, #0
+ beq _0804CF5E
+ ldr r3, [r2, #0x38]
+ cmp r4, r3
+ bhi _0804CF44
+ ldr r0, [r2, #0x44]
+ adds r0, r0, r4
+ str r0, [r2, #0x44]
+ str r5, [r2, #0x40]
+ strb r5, [r2, #0x1c]
+ ldr r1, [r1]
+ ldr r0, _0804CF40 @ =0x00009C40
+ str r0, [r1, #0x38]
+ b _0804CF5E
+ .align 2, 0
+_0804CF34: .4byte gUnknown_020314E0
+_0804CF38: .4byte 0x000005F6
+_0804CF3C: .4byte gMain
+_0804CF40: .4byte 0x00009C40
+_0804CF44:
+ ldr r0, [r2, #0x44]
+ adds r0, r0, r3
+ str r0, [r2, #0x44]
+ subs r0, r4, r3
+ str r0, [r2, #0x40]
+ movs r0, #0x91
+ bl m4aSongNumStart
+ b _0804CF5E
+_0804CF56:
+ ldr r0, [r2, #0x44]
+ adds r0, r0, r3
+ str r0, [r2, #0x44]
+ str r1, [r2, #0x40]
+_0804CF5E:
+ ldr r4, _0804CF84 @ =gUnknown_020314E0
+ ldr r6, [r4]
+ ldr r7, [r6, #0x44]
+ ldr r1, _0804CF88 @ =0x05F5E100
+ adds r0, r7, #0
+ bl __udivsi3
+ mov sb, r4
+ cmp r0, #0
+ beq _0804CF9C
+ ldr r1, [r6, #0x48]
+ ldr r0, _0804CF8C @ =0x0000270E
+ cmp r1, r0
+ bhi _0804CF94
+ adds r0, r1, #1
+ str r0, [r6, #0x48]
+ ldr r2, _0804CF90 @ =0xFA0A1F00
+ adds r0, r7, r2
+ b _0804CF9A
+ .align 2, 0
+_0804CF84: .4byte gUnknown_020314E0
+_0804CF88: .4byte 0x05F5E100
+_0804CF8C: .4byte 0x0000270E
+_0804CF90: .4byte 0xFA0A1F00
+_0804CF94:
+ ldr r0, _0804D2EC @ =0x0000270F
+ str r0, [r6, #0x48]
+ ldr r0, _0804D2F0 @ =0x05F5E0FF
+_0804CF9A:
+ str r0, [r6, #0x44]
+_0804CF9C:
+ mov r7, sb
+ ldr r5, [r7]
+ movs r0, #0
+ str r0, [r5, #0x3c]
+ ldr r7, [r5, #0x48]
+ mov r4, sp
+ ldr r0, _0804D2F4 @ =0x00002710
+ mov r8, r0
+ adds r0, r7, #0
+ mov r1, r8
+ bl __umodsi3
+ movs r6, #0xfa
+ lsls r6, r6, #2
+ adds r1, r6, #0
+ bl __udivsi3
+ adds r0, #5
+ strh r0, [r4]
+ mov r4, sp
+ adds r0, r7, #0
+ adds r1, r6, #0
+ bl __umodsi3
+ movs r1, #0x64
+ bl __udivsi3
+ adds r0, #5
+ strh r0, [r4, #2]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0x64
+ bl __umodsi3
+ movs r1, #0xa
+ bl __udivsi3
+ adds r0, #0x13
+ strh r0, [r4, #4]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __umodsi3
+ adds r0, #5
+ strh r0, [r4, #6]
+ ldr r7, [r5, #0x44]
+ mov r5, sp
+ ldr r4, _0804D2F8 @ =0x00989680
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __udivsi3
+ adds r0, #5
+ strh r0, [r5, #8]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __umodsi3
+ ldr r4, _0804D2FC @ =0x000F4240
+ adds r1, r4, #0
+ bl __udivsi3
+ adds r0, #0x13
+ strh r0, [r5, #0xa]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __umodsi3
+ ldr r4, _0804D300 @ =0x000186A0
+ adds r1, r4, #0
+ bl __udivsi3
+ adds r0, #5
+ strh r0, [r5, #0xc]
+ mov r5, sp
+ adds r0, r7, #0
+ adds r1, r4, #0
+ bl __umodsi3
+ mov r1, r8
+ bl __udivsi3
+ adds r0, #5
+ strh r0, [r5, #0xe]
+ mov r4, sp
+ adds r0, r7, #0
+ mov r1, r8
+ bl __umodsi3
+ adds r1, r6, #0
+ bl __udivsi3
+ adds r0, #0x13
+ strh r0, [r4, #0x10]
+ mov r4, sp
+ adds r0, r7, #0
+ adds r1, r6, #0
+ bl __umodsi3
+ movs r1, #0x64
+ bl __udivsi3
+ adds r0, #5
+ strh r0, [r4, #0x12]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0x64
+ bl __umodsi3
+ movs r1, #0xa
+ bl __udivsi3
+ adds r0, #5
+ strh r0, [r4, #0x14]
+ mov r4, sp
+ adds r0, r7, #0
+ movs r1, #0xa
+ bl __umodsi3
+ adds r0, #5
+ strh r0, [r4, #0x16]
+ movs r3, #0
+ ldr r1, _0804D304 @ =0x03005C00
+ mov sl, r1
+ movs r4, #0x1e
+_0804D09C:
+ lsls r0, r3, #0x10
+ asrs r2, r0, #0x10
+ lsls r0, r2, #1
+ mov r5, sp
+ adds r1, r5, r0
+ movs r7, #0
+ ldrsh r0, [r1, r7]
+ cmp r0, #5
+ beq _0804D0B2
+ cmp r0, #0x13
+ bne _0804D0C0
+_0804D0B2:
+ strh r4, [r1]
+ adds r0, r2, #1
+ lsls r0, r0, #0x10
+ lsrs r3, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #4
+ ble _0804D09C
+_0804D0C0:
+ lsls r1, r3, #0x10
+ adds r3, r1, #0
+ asrs r0, r3, #0x10
+ cmp r0, #0xb
+ bgt _0804D10A
+ ldr r5, _0804D304 @ =0x03005C00
+ asrs r6, r1, #0x10
+_0804D0CE:
+ asrs r3, r3, #0x10
+ subs r1, r3, r6
+ ldr r0, _0804D308 @ =0x000007C1
+ adds r2, r1, r0
+ lsls r2, r2, #1
+ adds r2, r2, r5
+ lsls r0, r3, #1
+ mov r7, sp
+ adds r4, r7, r0
+ movs r7, #0
+ ldrsh r0, [r4, r7]
+ lsls r0, r0, #1
+ ldr r7, _0804D30C @ =0xFFFFC160
+ adds r0, r0, r7
+ strh r0, [r2]
+ ldr r0, _0804D310 @ =0x000007E1
+ adds r1, r1, r0
+ lsls r1, r1, #1
+ adds r1, r1, r5
+ movs r2, #0
+ ldrsh r0, [r4, r2]
+ lsls r0, r0, #1
+ adds r7, #1
+ adds r0, r0, r7
+ strh r0, [r1]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ asrs r0, r3, #0x10
+ cmp r0, #0xb
+ ble _0804D0CE
+_0804D10A:
+ mov r1, sb
+ ldr r0, [r1]
+ movs r3, #0xbe
+ lsls r3, r3, #3
+ adds r2, r0, r3
+ ldrh r0, [r2]
+ ldr r1, _0804D314 @ =0x000003E7
+ cmp r0, r1
+ bls _0804D11E
+ strh r1, [r2]
+_0804D11E:
+ mov r5, sp
+ mov r2, sb
+ ldr r4, [r2]
+ adds r4, r4, r3
+ ldrh r0, [r4]
+ movs r1, #0x64
+ bl __udivsi3
+ strh r0, [r5, #4]
+ mov r5, sp
+ ldrh r0, [r4]
+ movs r1, #0x64
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #0xa
+ bl __udivsi3
+ strh r0, [r5, #2]
+ mov r5, sp
+ ldrh r0, [r4]
+ movs r1, #0xa
+ bl __umodsi3
+ strh r0, [r5]
+ mov r6, sl
+ ldr r5, _0804D318 @ =0x00000FA2
+ adds r1, r6, r5
+ ldr r0, _0804D31C @ =0x0000C17E
+ strh r0, [r1]
+ ldr r7, _0804D320 @ =0x00000FE2
+ adds r1, r6, r7
+ adds r0, #1
+ strh r0, [r1]
+ mov r0, sp
+ movs r1, #4
+ ldrsh r0, [r0, r1]
+ adds r0, #5
+ lsls r0, r0, #1
+ ldr r2, _0804D30C @ =0xFFFFC160
+ adds r7, r2, #0
+ adds r0, r0, r7
+ adds r5, #2
+ adds r1, r6, r5
+ strh r0, [r1]
+ mov r0, sp
+ movs r1, #4
+ ldrsh r0, [r0, r1]
+ adds r0, #5
+ lsls r0, r0, #1
+ adds r2, #1
+ mov r8, r2
+ add r0, r8
+ adds r5, #0x40
+ adds r1, r6, r5
+ strh r0, [r1]
+ mov r0, sp
+ movs r1, #2
+ ldrsh r0, [r0, r1]
+ adds r0, #5
+ lsls r0, r0, #1
+ adds r0, r0, r7
+ ldr r2, _0804D324 @ =0x00000FA6
+ adds r1, r6, r2
+ strh r0, [r1]
+ mov r0, sp
+ movs r5, #2
+ ldrsh r0, [r0, r5]
+ adds r0, #5
+ lsls r0, r0, #1
+ add r0, r8
+ adds r2, #0x40
+ adds r1, r6, r2
+ strh r0, [r1]
+ mov r0, sp
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ adds r0, #5
+ lsls r0, r0, #1
+ adds r0, r0, r7
+ subs r2, #0x3e
+ adds r1, r6, r2
+ strh r0, [r1]
+ mov r0, sp
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ adds r0, #5
+ lsls r0, r0, #1
+ add r0, r8
+ adds r2, #0x40
+ adds r1, r6, r2
+ strh r0, [r1]
+ mov r5, sb
+ ldr r0, [r5]
+ movs r2, #0xc9
+ lsls r2, r2, #1
+ adds r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, #0x63
+ bls _0804D1EC
+ movs r0, #0x63
+ strb r0, [r1]
+_0804D1EC:
+ mov r5, sp
+ mov r0, sb
+ ldr r4, [r0]
+ adds r4, r4, r2
+ ldrb r0, [r4]
+ movs r1, #0xa
+ bl __udivsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ strh r0, [r5, #2]
+ mov r5, sp
+ ldrb r0, [r4]
+ movs r1, #0xa
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ strh r0, [r5]
+ ldr r2, _0804D328 @ =0x00000FAC
+ adds r1, r6, r2
+ ldr r0, _0804D32C @ =0x0000C19C
+ strh r0, [r1]
+ ldr r5, _0804D330 @ =0x00000FEC
+ adds r1, r6, r5
+ adds r0, #1
+ strh r0, [r1]
+ mov r0, sp
+ movs r1, #2
+ ldrsh r0, [r0, r1]
+ adds r0, #5
+ lsls r0, r0, #1
+ adds r0, r0, r7
+ adds r2, #2
+ adds r1, r6, r2
+ strh r0, [r1]
+ mov r0, sp
+ movs r5, #2
+ ldrsh r0, [r0, r5]
+ adds r0, #5
+ lsls r0, r0, #1
+ add r0, r8
+ adds r2, #0x40
+ adds r1, r6, r2
+ strh r0, [r1]
+ mov r0, sp
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ adds r0, #5
+ lsls r0, r0, #1
+ adds r0, r0, r7
+ subs r2, #0x3e
+ adds r1, r6, r2
+ strh r0, [r1]
+ mov r0, sp
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ adds r0, #5
+ lsls r0, r0, #1
+ add r0, r8
+ adds r2, #0x40
+ adds r1, r6, r2
+ strh r0, [r1]
+ mov r5, sb
+ ldr r0, [r5]
+ adds r1, r0, #0
+ adds r1, #0x30
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #9
+ ble _0804D27E
+ movs r0, #9
+ strb r0, [r1]
+_0804D27E:
+ ldr r0, _0804D334 @ =0x00000FB4
+ adds r1, r6, r0
+ ldr r0, _0804D338 @ =0x0000C180
+ strh r0, [r1]
+ ldr r2, _0804D33C @ =0x00000FF4
+ adds r1, r6, r2
+ adds r0, #1
+ strh r0, [r1]
+ mov r5, sb
+ ldr r0, [r5]
+ adds r0, #0x30
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #5
+ lsls r0, r0, #1
+ adds r0, r0, r7
+ ldr r7, _0804D340 @ =0x00000FB6
+ adds r1, r6, r7
+ strh r0, [r1]
+ ldr r0, [r5]
+ adds r0, #0x30
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r0, #5
+ lsls r0, r0, #1
+ add r0, r8
+ adds r2, #2
+ adds r1, r6, r2
+ strh r0, [r1]
+ ldr r1, [r5]
+ movs r5, #0xe5
+ lsls r5, r5, #1
+ adds r0, r1, r5
+ movs r7, #0
+ ldrsh r0, [r0, r7]
+ cmp r0, #0xd
+ bne _0804D384
+ movs r2, #0xee
+ lsls r2, r2, #1
+ adds r0, r1, r2
+ ldrh r1, [r0]
+ movs r0, #8
+ ands r0, r1
+ cmp r0, #0
+ beq _0804D350
+ ldr r5, _0804D344 @ =0x00000FBA
+ adds r1, r6, r5
+ ldr r0, _0804D348 @ =0x0000C19A
+ strh r0, [r1]
+ ldr r7, _0804D34C @ =0x00000FFA
+ adds r1, r6, r7
+ b _0804D35C
+ .align 2, 0
+_0804D2EC: .4byte 0x0000270F
+_0804D2F0: .4byte 0x05F5E0FF
+_0804D2F4: .4byte 0x00002710
+_0804D2F8: .4byte 0x00989680
+_0804D2FC: .4byte 0x000F4240
+_0804D300: .4byte 0x000186A0
+_0804D304: .4byte 0x03005C00
+_0804D308: .4byte 0x000007C1
+_0804D30C: .4byte 0xFFFFC160
+_0804D310: .4byte 0x000007E1
+_0804D314: .4byte 0x000003E7
+_0804D318: .4byte 0x00000FA2
+_0804D31C: .4byte 0x0000C17E
+_0804D320: .4byte 0x00000FE2
+_0804D324: .4byte 0x00000FA6
+_0804D328: .4byte 0x00000FAC
+_0804D32C: .4byte 0x0000C19C
+_0804D330: .4byte 0x00000FEC
+_0804D334: .4byte 0x00000FB4
+_0804D338: .4byte 0x0000C180
+_0804D33C: .4byte 0x00000FF4
+_0804D340: .4byte 0x00000FB6
+_0804D344: .4byte 0x00000FBA
+_0804D348: .4byte 0x0000C19A
+_0804D34C: .4byte 0x00000FFA
+_0804D350:
+ ldr r0, _0804D378 @ =0x00000FBA
+ adds r1, r6, r0
+ ldr r0, _0804D37C @ =0x0000C182
+ strh r0, [r1]
+ ldr r2, _0804D380 @ =0x00000FFA
+ adds r1, r6, r2
+_0804D35C:
+ adds r0, #1
+ strh r0, [r1]
+ mov r5, sb
+ ldr r0, [r5]
+ movs r7, #0xee
+ lsls r7, r7, #1
+ adds r4, r0, r7
+ ldrh r0, [r4]
+ cmp r0, #0
+ beq _0804D394
+ subs r0, #1
+ strh r0, [r4]
+ b _0804D394
+ .align 2, 0
+_0804D378: .4byte 0x00000FBA
+_0804D37C: .4byte 0x0000C182
+_0804D380: .4byte 0x00000FFA
+_0804D384:
+ ldr r1, _0804D3B4 @ =0x00000FBA
+ add r1, sl
+ ldr r0, _0804D3B8 @ =0x0000C19E
+ strh r0, [r1]
+ ldr r1, _0804D3BC @ =0x00000FFA
+ add r1, sl
+ adds r0, #1
+ strh r0, [r1]
+_0804D394:
+ ldr r1, _0804D3C0 @ =0x040000D4
+ ldr r0, _0804D3C4 @ =0x03006B80
+ str r0, [r1]
+ ldr r0, _0804D3C8 @ =0x06002F80
+ str r0, [r1, #4]
+ ldr r0, _0804D3CC @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ add sp, #0x18
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804D3B4: .4byte 0x00000FBA
+_0804D3B8: .4byte 0x0000C19E
+_0804D3BC: .4byte 0x00000FFA
+_0804D3C0: .4byte 0x040000D4
+_0804D3C4: .4byte 0x03006B80
+_0804D3C8: .4byte 0x06002F80
+_0804D3CC: .4byte 0x80000040
+
+ thumb_func_start sub_4D3D0
+sub_4D3D0: @ 0x0804D3D0
+ push {r4, r5, r6, r7, lr}
+ mov r7, sb
+ mov r6, r8
+ push {r6, r7}
+ sub sp, #8
+ ldr r1, _0804D4C8 @ =gUnknown_020314E0
+ ldr r2, [r1]
+ movs r3, #0xa5
+ lsls r3, r3, #2
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ mov sb, r1
+ cmp r0, #0
+ bne _0804D3F2
+ b _0804D628
+_0804D3F2:
+ ldr r5, _0804D4CC @ =0x00000296
+ adds r1, r2, r5
+ ldrh r2, [r1]
+ cmp r2, #0
+ bne _0804D3FE
+ b _0804D628
+_0804D3FE:
+ cmp r0, #2
+ bne _0804D40E
+ ldr r0, _0804D4D0 @ =gMain
+ ldrb r0, [r0, #0xf]
+ cmp r0, #0
+ bne _0804D40E
+ subs r0, r2, #1
+ strh r0, [r1]
+_0804D40E:
+ mov r5, sp
+ mov r0, sb
+ ldr r6, [r0]
+ ldr r1, _0804D4CC @ =0x00000296
+ adds r7, r6, r1
+ ldrh r0, [r7]
+ movs r4, #0xe1
+ lsls r4, r4, #4
+ adds r1, r4, #0
+ bl __udivsi3
+ strh r0, [r5]
+ ldrh r0, [r7]
+ adds r1, r4, #0
+ bl __umodsi3
+ adds r4, r0, #0
+ mov r1, sp
+ movs r0, #0xa
+ strh r0, [r1, #2]
+ mov r8, sp
+ lsls r4, r4, #0x10
+ asrs r4, r4, #0x10
+ movs r5, #0x96
+ lsls r5, r5, #2
+ adds r0, r4, #0
+ adds r1, r5, #0
+ bl __divsi3
+ mov r2, r8
+ strh r0, [r2, #4]
+ adds r0, r4, #0
+ adds r1, r5, #0
+ bl __modsi3
+ mov r4, sp
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ movs r1, #0x3c
+ bl __divsi3
+ strh r0, [r4, #6]
+ movs r3, #0xa5
+ lsls r3, r3, #2
+ adds r6, r6, r3
+ movs r0, #0
+ ldrsb r0, [r6, r0]
+ cmp r0, #3
+ bne _0804D4F4
+ movs r1, #0
+ ldr r6, _0804D4D4 @ =0x03005EC0
+ ldr r5, _0804D4D8 @ =0xFFFFFD40
+ adds r3, r6, r5
+ ldr r5, _0804D4DC @ =0x00000179
+ ldr r2, _0804D4E0 @ =0x000001FF
+ ldr r4, _0804D4E4 @ =0x00000199
+_0804D47E:
+ lsls r0, r1, #0x10
+ asrs r0, r0, #0x10
+ adds r1, r0, r5
+ lsls r1, r1, #1
+ adds r1, r1, r3
+ strh r2, [r1]
+ adds r1, r0, r4
+ lsls r1, r1, #1
+ adds r1, r1, r3
+ strh r2, [r1]
+ adds r0, #1
+ lsls r0, r0, #0x10
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0804D47E
+ ldr r1, _0804D4E8 @ =0x040000D4
+ str r6, [r1]
+ ldr r0, _0804D4EC @ =0x060022C0
+ str r0, [r1, #4]
+ ldr r0, _0804D4F0 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ mov r1, sb
+ ldr r0, [r1]
+ movs r2, #0xa5
+ lsls r2, r2, #2
+ adds r0, r0, r2
+ movs r1, #0
+ strb r1, [r0]
+ mov r3, sb
+ ldr r0, [r3]
+ ldr r5, _0804D4CC @ =0x00000296
+ adds r0, r0, r5
+ strh r1, [r0]
+ b _0804D556
+ .align 2, 0
+_0804D4C8: .4byte gUnknown_020314E0
+_0804D4CC: .4byte 0x00000296
+_0804D4D0: .4byte gMain
+_0804D4D4: .4byte 0x03005EC0
+_0804D4D8: .4byte 0xFFFFFD40
+_0804D4DC: .4byte 0x00000179
+_0804D4E0: .4byte 0x000001FF
+_0804D4E4: .4byte 0x00000199
+_0804D4E8: .4byte 0x040000D4
+_0804D4EC: .4byte 0x060022C0
+_0804D4F0: .4byte 0x80000040
+_0804D4F4:
+ ldrh r0, [r7]
+ cmp r0, #0
+ bne _0804D500
+ bl sub_4D648
+ b _0804D542
+_0804D500:
+ movs r1, #0
+ ldr r4, _0804D578 @ =0x03005C00
+_0804D504:
+ lsls r2, r1, #0x10
+ asrs r2, r2, #0x10
+ ldr r0, _0804D57C @ =0x00000179
+ adds r1, r2, r0
+ lsls r1, r1, #1
+ adds r1, r1, r4
+ lsls r0, r2, #1
+ mov r5, sp
+ adds r3, r5, r0
+ movs r5, #0
+ ldrsh r0, [r3, r5]
+ lsls r0, r0, #1
+ ldr r5, _0804D580 @ =0xFFFFC140
+ adds r0, r0, r5
+ strh r0, [r1]
+ ldr r0, _0804D584 @ =0x00000199
+ adds r1, r2, r0
+ lsls r1, r1, #1
+ adds r1, r1, r4
+ movs r5, #0
+ ldrsh r0, [r3, r5]
+ lsls r0, r0, #1
+ ldr r3, _0804D588 @ =0xFFFFC141
+ adds r0, r0, r3
+ strh r0, [r1]
+ adds r2, #1
+ lsls r2, r2, #0x10
+ lsrs r1, r2, #0x10
+ asrs r2, r2, #0x10
+ cmp r2, #3
+ ble _0804D504
+_0804D542:
+ ldr r1, _0804D58C @ =0x040000D4
+ ldr r0, _0804D590 @ =0x03005EC0
+ str r0, [r1]
+ ldr r0, _0804D594 @ =0x060022C0
+ str r0, [r1, #4]
+ ldr r0, _0804D598 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r5, _0804D59C @ =gUnknown_020314E0
+ mov sb, r5
+_0804D556:
+ mov r1, sb
+ ldr r0, [r1]
+ ldr r2, _0804D5A0 @ =0x00000296
+ adds r3, r0, r2
+ ldrh r2, [r3]
+ adds r1, r2, #0
+ movs r0, #0xe1
+ lsls r0, r0, #2
+ cmp r1, r0
+ bhi _0804D5E8
+ movs r0, #8
+ ands r0, r2
+ cmp r0, #0
+ beq _0804D5A8
+ ldr r1, _0804D58C @ =0x040000D4
+ ldr r0, _0804D5A4 @ =0x086B0884
+ b _0804D5AC
+ .align 2, 0
+_0804D578: .4byte 0x03005C00
+_0804D57C: .4byte 0x00000179
+_0804D580: .4byte 0xFFFFC140
+_0804D584: .4byte 0x00000199
+_0804D588: .4byte 0xFFFFC141
+_0804D58C: .4byte 0x040000D4
+_0804D590: .4byte 0x03005EC0
+_0804D594: .4byte 0x060022C0
+_0804D598: .4byte 0x80000040
+_0804D59C: .4byte gUnknown_020314E0
+_0804D5A0: .4byte 0x00000296
+_0804D5A4: .4byte 0x086B0884
+_0804D5A8:
+ ldr r1, _0804D5D4 @ =0x040000D4
+ ldr r0, _0804D5D8 @ =0x081C0064
+_0804D5AC:
+ str r0, [r1]
+ ldr r0, _0804D5DC @ =0x05000180
+ str r0, [r1, #4]
+ ldr r0, _0804D5E0 @ =0x80000010
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ mov r3, sb
+ ldr r0, [r3]
+ ldr r5, _0804D5E4 @ =0x00000296
+ adds r0, r0, r5
+ ldrh r1, [r0]
+ movs r0, #0xe1
+ lsls r0, r0, #2
+ cmp r1, r0
+ bne _0804D628
+ movs r0, #0x19
+ bl m4aSongNumStart
+ b _0804D628
+ .align 2, 0
+_0804D5D4: .4byte 0x040000D4
+_0804D5D8: .4byte 0x081C0064
+_0804D5DC: .4byte 0x05000180
+_0804D5E0: .4byte 0x80000010
+_0804D5E4: .4byte 0x00000296
+_0804D5E8:
+ movs r0, #0xe1
+ lsls r0, r0, #3
+ cmp r1, r0
+ bhi _0804D628
+ ldrh r0, [r3]
+ movs r1, #0x16
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #0xb
+ bl __udivsi3
+ lsls r0, r0, #0x10
+ cmp r0, #0
+ beq _0804D618
+ ldr r1, _0804D610 @ =0x040000D4
+ ldr r0, _0804D614 @ =0x086B08A4
+ b _0804D61C
+ .align 2, 0
+_0804D610: .4byte 0x040000D4
+_0804D614: .4byte 0x086B08A4
+_0804D618:
+ ldr r1, _0804D638 @ =0x040000D4
+ ldr r0, _0804D63C @ =0x081C0064
+_0804D61C:
+ str r0, [r1]
+ ldr r0, _0804D640 @ =0x05000180
+ str r0, [r1, #4]
+ ldr r0, _0804D644 @ =0x80000010
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804D628:
+ add sp, #8
+ pop {r3, r4}
+ mov r8, r3
+ mov sb, r4
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804D638: .4byte 0x040000D4
+_0804D63C: .4byte 0x081C0064
+_0804D640: .4byte 0x05000180
+_0804D644: .4byte 0x80000010
+
+ thumb_func_start sub_4D648
+sub_4D648: @ 0x0804D648
+ push {r4, r5, r6, lr}
+ ldr r2, _0804D6A0 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ movs r1, #0xa5
+ lsls r1, r1, #2
+ adds r0, r0, r1
+ movs r1, #0
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r2, _0804D6A4 @ =0x00000296
+ adds r0, r0, r2
+ strh r1, [r0]
+ ldr r6, _0804D6A8 @ =0x03005EC0
+ ldr r0, _0804D6AC @ =0xFFFFFD40
+ adds r3, r6, r0
+ ldr r5, _0804D6B0 @ =0x00000179
+ subs r2, #0x97
+ ldr r4, _0804D6B4 @ =0x00000199
+_0804D66C:
+ lsls r0, r1, #0x10
+ asrs r0, r0, #0x10
+ adds r1, r0, r5
+ lsls r1, r1, #1
+ adds r1, r1, r3
+ strh r2, [r1]
+ adds r1, r0, r4
+ lsls r1, r1, #1
+ adds r1, r1, r3
+ strh r2, [r1]
+ adds r0, #1
+ lsls r0, r0, #0x10
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #3
+ ble _0804D66C
+ ldr r1, _0804D6B8 @ =0x040000D4
+ str r6, [r1]
+ ldr r0, _0804D6BC @ =0x060022C0
+ str r0, [r1, #4]
+ ldr r0, _0804D6C0 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804D6A0: .4byte gUnknown_020314E0
+_0804D6A4: .4byte 0x00000296
+_0804D6A8: .4byte 0x03005EC0
+_0804D6AC: .4byte 0xFFFFFD40
+_0804D6B0: .4byte 0x00000179
+_0804D6B4: .4byte 0x00000199
+_0804D6B8: .4byte 0x040000D4
+_0804D6BC: .4byte 0x060022C0
+_0804D6C0: .4byte 0x80000040
+
+ thumb_func_start sub_4D6C4
+sub_4D6C4: @ 0x0804D6C4
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ movs r0, #0
+ mov ip, r0
+ ldr r0, _0804D7B0 @ =gMain
+ ldrb r2, [r0, #4]
+ movs r3, #0
+ adds r7, r0, #0
+ cmp r2, #0
+ beq _0804D6E6
+ ldr r3, _0804D7B4 @ =0x0000FFE8
+ cmp r2, #1
+ beq _0804D6E6
+ movs r3, #0
+ movs r1, #8
+ mov ip, r1
+_0804D6E6:
+ ldrb r0, [r7, #4]
+ cmp r0, #1
+ bls _0804D6EE
+ b _0804D810
+_0804D6EE:
+ ldr r6, _0804D7B8 @ =gUnknown_020314E0
+ ldr r1, [r6]
+ lsls r0, r3, #0x10
+ asrs r0, r0, #0x10
+ subs r0, #0xf4
+ ldr r4, _0804D7BC @ =0x000005FC
+ adds r2, r1, r4
+ movs r5, #0
+ movs r3, #0
+ strh r0, [r2]
+ ldr r2, _0804D7C0 @ =0x000005FE
+ adds r0, r1, r2
+ strh r3, [r0]
+ ldr r0, _0804D7C4 @ =0x000005FB
+ adds r1, r1, r0
+ strb r5, [r1]
+ ldr r6, [r6]
+ ldr r0, _0804D7C8 @ =gUnknown_02031520
+ ldrh r1, [r0, #0x14]
+ adds r3, r6, #0
+ adds r3, #0x4c
+ strh r1, [r3]
+ ldrh r1, [r0, #0x16]
+ adds r5, r6, #0
+ adds r5, #0x4e
+ strh r1, [r5]
+ movs r1, #0x16
+ ldrsh r0, [r0, r1]
+ lsls r0, r0, #8
+ str r0, [r6, #0x54]
+ ldrh r1, [r3]
+ adds r0, r6, #0
+ adds r0, #0x58
+ strh r1, [r0]
+ adds r4, r6, r4
+ ldrh r0, [r4]
+ ldrh r2, [r5]
+ adds r0, r0, r2
+ adds r1, r6, #0
+ adds r1, #0x5a
+ strh r0, [r1]
+ ldrh r1, [r3]
+ mov r0, ip
+ lsls r2, r0, #0x10
+ asrs r2, r2, #0x10
+ adds r1, r2, r1
+ mov ip, r1
+ movs r1, #0xbc
+ lsls r1, r1, #2
+ adds r0, r7, r1
+ mov r1, ip
+ strh r1, [r0]
+ ldrh r0, [r4]
+ ldrh r1, [r5]
+ adds r0, r0, r1
+ ldr r1, _0804D7CC @ =0x000002F2
+ strh r0, [r1, r7]
+ ldrh r0, [r3]
+ adds r0, r2, r0
+ adds r1, #2
+ strh r0, [r1, r7]
+ ldrh r0, [r4]
+ ldrh r1, [r5]
+ adds r0, r0, r1
+ ldr r1, _0804D7D0 @ =0x000002F6
+ strh r0, [r1, r7]
+ ldrh r0, [r3]
+ adds r2, r2, r0
+ subs r1, #0xa
+ adds r0, r7, r1
+ strh r2, [r0]
+ ldrh r0, [r4]
+ ldrh r5, [r5]
+ adds r0, r0, r5
+ ldr r2, _0804D7D4 @ =0x000002EE
+ adds r1, r7, r2
+ strh r0, [r1]
+ ldrb r0, [r7, #4]
+ cmp r0, #0
+ bne _0804D7E4
+ ldr r5, _0804D7D8 @ =0x00000283
+ adds r0, r6, r5
+ ldrb r0, [r0]
+ movs r1, #5
+ bl __udivsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ movs r1, #1
+ ands r0, r1
+ cmp r0, #0
+ bne _0804D7DC
+ movs r0, #0x1c
+ bl m4aSongNumStart
+ b _0804D90E
+ .align 2, 0
+_0804D7B0: .4byte gMain
+_0804D7B4: .4byte 0x0000FFE8
+_0804D7B8: .4byte gUnknown_020314E0
+_0804D7BC: .4byte 0x000005FC
+_0804D7C0: .4byte 0x000005FE
+_0804D7C4: .4byte 0x000005FB
+_0804D7C8: .4byte gUnknown_02031520
+_0804D7CC: .4byte 0x000002F2
+_0804D7D0: .4byte 0x000002F6
+_0804D7D4: .4byte 0x000002EE
+_0804D7D8: .4byte 0x00000283
+_0804D7DC:
+ movs r0, #0x5b
+ bl m4aSongNumStart
+ b _0804D90E
+_0804D7E4:
+ ldr r7, _0804D804 @ =0x00000283
+ adds r0, r6, r7
+ ldrb r0, [r0]
+ movs r1, #5
+ bl __udivsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ movs r1, #1
+ ands r0, r1
+ cmp r0, #0
+ bne _0804D808
+ movs r0, #0x20
+ bl m4aSongNumStart
+ b _0804D90E
+ .align 2, 0
+_0804D804: .4byte 0x00000283
+_0804D808:
+ movs r0, #0x5c
+ bl m4aSongNumStart
+ b _0804D90E
+_0804D810:
+ ldr r3, _0804D838 @ =gUnknown_020314E0
+ ldr r1, [r3]
+ ldr r2, _0804D83C @ =0x000005FC
+ adds r0, r1, r2
+ movs r4, #0
+ movs r2, #0
+ strh r2, [r0]
+ ldr r5, _0804D840 @ =0x000005FE
+ adds r0, r1, r5
+ strh r2, [r0]
+ ldr r0, _0804D844 @ =0x000005FB
+ adds r1, r1, r0
+ strb r4, [r1]
+ ldrb r0, [r7, #4]
+ cmp r0, #3
+ bhi _0804D84C
+ ldr r0, [r3]
+ adds r0, #0xe6
+ ldr r1, _0804D848 @ =0x0000FFE8
+ b _0804D862
+ .align 2, 0
+_0804D838: .4byte gUnknown_020314E0
+_0804D83C: .4byte 0x000005FC
+_0804D840: .4byte 0x000005FE
+_0804D844: .4byte 0x000005FB
+_0804D848: .4byte 0x0000FFE8
+_0804D84C:
+ cmp r0, #6
+ bne _0804D85C
+ ldr r0, [r3]
+ adds r0, #0xe6
+ ldr r1, _0804D858 @ =0x0000FFA8
+ b _0804D862
+ .align 2, 0
+_0804D858: .4byte 0x0000FFA8
+_0804D85C:
+ ldr r0, [r3]
+ adds r0, #0xe6
+ ldr r1, _0804D93C @ =0x0000FFC0
+_0804D862:
+ strh r1, [r0]
+ ldr r0, _0804D940 @ =gUnknown_020314E0
+ ldr r5, [r0]
+ ldr r1, _0804D944 @ =gUnknown_02031520
+ ldrh r0, [r1, #0x14]
+ adds r4, r5, #0
+ adds r4, #0x4c
+ strh r0, [r4]
+ adds r0, r5, #0
+ adds r0, #0xe6
+ ldrh r0, [r0]
+ ldrh r2, [r1, #0x16]
+ adds r0, r0, r2
+ adds r6, r5, #0
+ adds r6, #0x4e
+ strh r0, [r6]
+ movs r7, #0x16
+ ldrsh r0, [r1, r7]
+ lsls r0, r0, #8
+ str r0, [r5, #0x54]
+ ldrh r1, [r4]
+ adds r0, r5, #0
+ adds r0, #0x58
+ strh r1, [r0]
+ ldr r1, _0804D948 @ =0x000005FC
+ adds r0, r5, r1
+ ldrh r0, [r0]
+ ldrh r2, [r6]
+ adds r0, r0, r2
+ adds r1, r5, #0
+ adds r1, #0x5a
+ strh r0, [r1]
+ ldr r3, _0804D94C @ =gMain
+ ldrh r0, [r4]
+ mov r7, ip
+ lsls r1, r7, #0x10
+ asrs r1, r1, #0x10
+ adds r0, r1, r0
+ mov r8, r0
+ movs r2, #0xbc
+ lsls r2, r2, #2
+ adds r0, r3, r2
+ mov r7, r8
+ strh r7, [r0]
+ ldrh r2, [r6]
+ ldr r7, _0804D950 @ =0x000002F2
+ adds r0, r3, r7
+ strh r2, [r0]
+ ldrh r0, [r4]
+ adds r0, r1, r0
+ movs r2, #0xbd
+ lsls r2, r2, #2
+ adds r2, r2, r3
+ mov ip, r2
+ strh r0, [r2]
+ ldrh r2, [r6]
+ adds r7, #4
+ adds r0, r3, r7
+ strh r2, [r0]
+ ldrh r0, [r4]
+ adds r1, r1, r0
+ movs r2, #0xbb
+ lsls r2, r2, #2
+ adds r0, r3, r2
+ strh r1, [r0]
+ movs r7, #0
+ ldrsh r0, [r6, r7]
+ lsrs r1, r0, #0x1f
+ adds r0, r0, r1
+ asrs r0, r0, #1
+ adds r2, #2
+ adds r1, r3, r2
+ strh r0, [r1]
+ ldrb r0, [r3, #4]
+ cmp r0, #3
+ bne _0804D90E
+ movs r7, #0xa4
+ lsls r7, r7, #2
+ adds r0, r5, r7
+ ldr r0, [r0]
+ ldr r1, _0804D954 @ =0x000007FF
+ ands r0, r1
+ lsrs r0, r0, #3
+ add r0, r8
+ mov r1, ip
+ strh r0, [r1]
+_0804D90E:
+ ldr r1, _0804D94C @ =gMain
+ ldr r5, _0804D958 @ =0x000002EA
+ adds r2, r1, r5
+ movs r0, #0x50
+ strh r0, [r2]
+ ldr r0, _0804D940 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r7, _0804D95C @ =0x000002F6
+ adds r1, r1, r7
+ ldrh r1, [r1]
+ adds r0, r2, #0
+ adds r0, #0xcc
+ strh r1, [r0]
+ subs r0, #2
+ strh r1, [r0]
+ movs r0, #0x80
+ lsls r0, r0, #5
+ str r0, [r2, #0x2c]
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804D93C: .4byte 0x0000FFC0
+_0804D940: .4byte gUnknown_020314E0
+_0804D944: .4byte gUnknown_02031520
+_0804D948: .4byte 0x000005FC
+_0804D94C: .4byte gMain
+_0804D950: .4byte 0x000002F2
+_0804D954: .4byte 0x000007FF
+_0804D958: .4byte 0x000002EA
+_0804D95C: .4byte 0x000002F6
+
+ thumb_func_start sub_4D960
+sub_4D960: @ 0x0804D960
+ push {r4, r5, r6, r7, lr}
+ movs r7, #0x80
+ lsls r7, r7, #5
+ ldr r0, _0804D9A4 @ =gMain
+ ldrb r0, [r0, #0xf]
+ cmp r0, #0
+ bne _0804D972
+ bl sub_4E2F8
+_0804D972:
+ ldr r1, _0804D9A8 @ =gUnknown_020314E0
+ ldr r2, [r1]
+ ldr r0, _0804D9AC @ =0x000005FB
+ adds r4, r2, r0
+ movs r0, #0
+ ldrsb r0, [r4, r0]
+ adds r6, r1, #0
+ cmp r0, #0
+ beq _0804D9C2
+ ldr r3, _0804D9B0 @ =0x000005FC
+ adds r1, r2, r3
+ ldr r5, _0804D9B4 @ =0x000005FE
+ adds r0, r2, r5
+ ldrh r3, [r1]
+ movs r5, #0
+ ldrsh r2, [r1, r5]
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ cmp r2, r0
+ beq _0804D9BE
+ cmp r2, r0
+ ble _0804D9B8
+ subs r0, r3, #1
+ strh r0, [r1]
+ b _0804D9C2
+ .align 2, 0
+_0804D9A4: .4byte gMain
+_0804D9A8: .4byte gUnknown_020314E0
+_0804D9AC: .4byte 0x000005FB
+_0804D9B0: .4byte 0x000005FC
+_0804D9B4: .4byte 0x000005FE
+_0804D9B8:
+ adds r0, r3, #1
+ strh r0, [r1]
+ b _0804D9C2
+_0804D9BE:
+ movs r0, #0
+ strb r0, [r4]
+_0804D9C2:
+ ldr r5, [r6]
+ ldrb r0, [r5, #0x1f]
+ cmp r0, #0
+ bne _0804D9E0
+ ldr r1, _0804DA2C @ =0x00001330
+ adds r0, r5, r1
+ ldr r0, [r0]
+ movs r2, #0x32
+ ldrsh r1, [r0, r2]
+ lsls r0, r1, #2
+ adds r0, r0, r1
+ lsls r0, r0, #3
+ movs r3, #0x80
+ lsls r3, r3, #5
+ adds r7, r0, r3
+_0804D9E0:
+ ldr r4, [r5, #0x2c]
+ subs r0, r7, r4
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, r4, r0
+ str r4, [r5, #0x2c]
+ ldr r1, _0804DA2C @ =0x00001330
+ adds r0, r5, r1
+ ldr r0, [r0]
+ ldr r0, [r0, #0x38]
+ adds r1, r0, r4
+ ldr r2, _0804DA30 @ =gUnknown_02031520
+ movs r3, #0x18
+ ldrsh r0, [r2, r3]
+ lsls r0, r0, #8
+ cmp r1, r0
+ bgt _0804DA0E
+ movs r4, #0x1a
+ ldrsh r0, [r2, r4]
+ lsls r0, r0, #8
+ cmp r1, r0
+ bge _0804DA10
+_0804DA0E:
+ adds r1, r0, #0
+_0804DA10:
+ ldr r5, _0804DA34 @ =0xFFFFB000
+ adds r1, r1, r5
+ ldr r0, [r6]
+ ldr r4, [r0, #0x54]
+ subs r0, r1, r4
+ movs r1, #0xc
+ bl __divsi3
+ adds r1, r0, #0
+ cmp r1, #0
+ ble _0804DA38
+ cmp r1, #0x4f
+ bgt _0804DA42
+ b _0804DA40
+ .align 2, 0
+_0804DA2C: .4byte 0x00001330
+_0804DA30: .4byte gUnknown_02031520
+_0804DA34: .4byte 0xFFFFB000
+_0804DA38:
+ movs r0, #0x50
+ rsbs r0, r0, #0
+ cmp r1, r0
+ ble _0804DA42
+_0804DA40:
+ movs r1, #0
+_0804DA42:
+ adds r4, r4, r1
+ ldr r1, [r6]
+ ldr r2, _0804DA7C @ =0x000005FA
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0804DAAC
+ str r4, [r1, #0x54]
+ adds r0, r4, #0
+ cmp r0, #0
+ bge _0804DA5E
+ adds r0, #0xff
+_0804DA5E:
+ asrs r0, r0, #8
+ adds r2, r1, #0
+ adds r2, #0x4e
+ strh r0, [r2]
+ ldr r3, _0804DA80 @ =0x00001330
+ adds r0, r1, r3
+ ldr r0, [r0]
+ movs r4, #0x10
+ ldrsh r0, [r0, r4]
+ cmp r0, #0xe5
+ ble _0804DA84
+ adds r1, #0x4c
+ ldrh r0, [r1]
+ adds r0, #1
+ b _0804DA8A
+ .align 2, 0
+_0804DA7C: .4byte 0x000005FA
+_0804DA80: .4byte 0x00001330
+_0804DA84:
+ adds r1, #0x4c
+ ldrh r0, [r1]
+ subs r0, #1
+_0804DA8A:
+ strh r0, [r1]
+ ldr r0, _0804DAA0 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ adds r1, r0, #0
+ adds r1, #0x4c
+ movs r5, #0
+ ldrsh r0, [r1, r5]
+ cmp r0, #0x10
+ ble _0804DAA4
+ movs r0, #0x10
+ b _0804DAAA
+ .align 2, 0
+_0804DAA0: .4byte gUnknown_020314E0
+_0804DAA4:
+ cmp r0, #0
+ bge _0804DAAC
+ movs r0, #0
+_0804DAAA:
+ strh r0, [r1]
+_0804DAAC:
+ bl sub_4DFA0
+ ldr r3, _0804DB14 @ =gMain
+ ldr r0, _0804DB18 @ =gUnknown_020314E0
+ ldr r4, [r0]
+ adds r2, r4, #0
+ adds r2, #0x4c
+ movs r1, #0x90
+ lsls r1, r1, #1
+ adds r0, r4, r1
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ ldrh r2, [r2]
+ adds r1, r1, r2
+ ldr r2, _0804DB1C @ =0x000002AA
+ adds r0, r4, r2
+ ldrh r0, [r0]
+ adds r0, r0, r1
+ movs r5, #0xbd
+ lsls r5, r5, #2
+ adds r1, r3, r5
+ strh r0, [r1]
+ adds r1, r4, #0
+ adds r1, #0x4e
+ ldr r2, _0804DB20 @ =0x00000121
+ adds r0, r4, r2
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ ldrh r1, [r1]
+ adds r2, r2, r1
+ ldr r5, _0804DB24 @ =0x000005FC
+ adds r0, r4, r5
+ ldrh r1, [r0]
+ adds r0, r4, #0
+ adds r0, #0xe6
+ adds r1, r1, r2
+ ldrh r0, [r0]
+ adds r1, r1, r0
+ adds r0, r4, #0
+ adds r0, #0xcc
+ strh r1, [r0]
+ ldr r0, _0804DB28 @ =0x000002F6
+ adds r3, r3, r0
+ ldrh r0, [r3]
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r2, r0, #0x10
+ asrs r1, r0, #0x10
+ cmp r1, #8
+ ble _0804DB2C
+ movs r2, #8
+ b _0804DB36
+ .align 2, 0
+_0804DB14: .4byte gMain
+_0804DB18: .4byte gUnknown_020314E0
+_0804DB1C: .4byte 0x000002AA
+_0804DB20: .4byte 0x00000121
+_0804DB24: .4byte 0x000005FC
+_0804DB28: .4byte 0x000002F6
+_0804DB2C:
+ movs r0, #8
+ rsbs r0, r0, #0
+ cmp r1, r0
+ bge _0804DB36
+ ldr r2, _0804DBE0 @ =0x0000FFF8
+_0804DB36:
+ ldr r3, _0804DBE4 @ =gMain
+ cmp r2, #0
+ beq _0804DB46
+ ldr r4, _0804DBE8 @ =0x000002F6
+ adds r1, r3, r4
+ ldrh r0, [r1]
+ subs r0, r0, r2
+ strh r0, [r1]
+_0804DB46:
+ movs r5, #0xbd
+ lsls r5, r5, #2
+ adds r0, r3, r5
+ ldrh r2, [r0]
+ movs r1, #0xbc
+ lsls r1, r1, #2
+ adds r0, r3, r1
+ strh r2, [r0]
+ ldr r4, _0804DBE8 @ =0x000002F6
+ adds r0, r3, r4
+ ldrh r1, [r0]
+ subs r5, #2
+ adds r0, r3, r5
+ strh r1, [r0]
+ subs r4, #0xa
+ adds r0, r3, r4
+ strh r2, [r0]
+ subs r5, #4
+ adds r0, r3, r5
+ strh r1, [r0]
+ ldr r0, _0804DBEC @ =gUnknown_020314E0
+ ldr r4, [r0]
+ adds r2, r4, #0
+ adds r2, #0x4c
+ movs r1, #0x90
+ lsls r1, r1, #1
+ adds r0, r4, r1
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ ldrh r2, [r2]
+ adds r1, r1, r2
+ ldr r2, _0804DBF0 @ =0x000002AA
+ adds r0, r4, r2
+ ldrh r0, [r0]
+ adds r0, r0, r1
+ adds r1, r4, #0
+ adds r1, #0x58
+ strh r0, [r1]
+ adds r6, r4, #0
+ adds r6, #0x4e
+ ldr r3, _0804DBF4 @ =0x00000121
+ adds r3, r3, r4
+ mov ip, r3
+ movs r1, #0
+ ldrsb r1, [r3, r1]
+ ldrh r5, [r6]
+ adds r1, r1, r5
+ ldr r0, _0804DBF8 @ =0x000005FC
+ adds r3, r4, r0
+ ldrh r0, [r3]
+ adds r5, r4, #0
+ adds r5, #0xe6
+ adds r0, r0, r1
+ ldrh r1, [r5]
+ adds r0, r0, r1
+ adds r1, r4, #0
+ adds r1, #0x5a
+ strh r0, [r1]
+ adds r2, r4, #0
+ adds r2, #0x68
+ ldrh r1, [r2]
+ adds r0, r4, #0
+ adds r0, #0x6a
+ strh r1, [r0]
+ mov r4, ip
+ movs r1, #0
+ ldrsb r1, [r4, r1]
+ ldrh r6, [r6]
+ adds r1, r1, r6
+ ldrh r0, [r3]
+ adds r0, r0, r1
+ ldrh r5, [r5]
+ adds r0, r0, r5
+ strh r0, [r2]
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804DBE0: .4byte 0x0000FFF8
+_0804DBE4: .4byte gMain
+_0804DBE8: .4byte 0x000002F6
+_0804DBEC: .4byte gUnknown_020314E0
+_0804DBF0: .4byte 0x000002AA
+_0804DBF4: .4byte 0x00000121
+_0804DBF8: .4byte 0x000005FC
+
+ thumb_func_start sub_4DBFC
+sub_4DBFC: @ 0x0804DBFC
+ push {r4, r5, r6, r7, lr}
+ movs r6, #0x80
+ lsls r6, r6, #5
+ ldr r0, _0804DC48 @ =gMain
+ ldrb r0, [r0, #0xf]
+ movs r1, #0x41
+ rsbs r1, r1, #0
+ ands r0, r1
+ cmp r0, #0
+ bne _0804DC14
+ bl sub_4E468
+_0804DC14:
+ ldr r1, _0804DC4C @ =gUnknown_020314E0
+ ldr r2, [r1]
+ ldr r0, _0804DC50 @ =0x000005FB
+ adds r4, r2, r0
+ movs r0, #0
+ ldrsb r0, [r4, r0]
+ adds r7, r1, #0
+ cmp r0, #0
+ beq _0804DC66
+ ldr r3, _0804DC54 @ =0x000005FC
+ adds r1, r2, r3
+ ldr r5, _0804DC58 @ =0x000005FE
+ adds r0, r2, r5
+ ldrh r3, [r1]
+ movs r5, #0
+ ldrsh r2, [r1, r5]
+ movs r5, #0
+ ldrsh r0, [r0, r5]
+ cmp r2, r0
+ beq _0804DC62
+ cmp r2, r0
+ ble _0804DC5C
+ subs r0, r3, #1
+ strh r0, [r1]
+ b _0804DC66
+ .align 2, 0
+_0804DC48: .4byte gMain
+_0804DC4C: .4byte gUnknown_020314E0
+_0804DC50: .4byte 0x000005FB
+_0804DC54: .4byte 0x000005FC
+_0804DC58: .4byte 0x000005FE
+_0804DC5C:
+ adds r0, r3, #1
+ strh r0, [r1]
+ b _0804DC66
+_0804DC62:
+ movs r0, #0
+ strb r0, [r4]
+_0804DC66:
+ ldr r5, [r7]
+ ldrb r0, [r5, #0x1f]
+ cmp r0, #0
+ bne _0804DC84
+ ldr r6, _0804DCD0 @ =0x00001330
+ adds r0, r5, r6
+ ldr r0, [r0]
+ movs r2, #0x32
+ ldrsh r1, [r0, r2]
+ lsls r0, r1, #2
+ adds r0, r0, r1
+ lsls r0, r0, #3
+ movs r3, #0x80
+ lsls r3, r3, #5
+ adds r6, r0, r3
+_0804DC84:
+ ldr r4, [r5, #0x2c]
+ subs r0, r6, r4
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, r4, r0
+ str r4, [r5, #0x2c]
+ ldr r6, _0804DCD0 @ =0x00001330
+ adds r0, r5, r6
+ ldr r0, [r0]
+ ldr r0, [r0, #0x38]
+ adds r2, r0, r4
+ ldr r1, _0804DCD4 @ =gUnknown_02031520
+ movs r3, #0x18
+ ldrsh r0, [r1, r3]
+ lsls r0, r0, #8
+ cmp r2, r0
+ bgt _0804DCB2
+ movs r4, #0x1a
+ ldrsh r0, [r1, r4]
+ lsls r0, r0, #8
+ cmp r2, r0
+ bge _0804DCB4
+_0804DCB2:
+ adds r2, r0, #0
+_0804DCB4:
+ ldr r5, _0804DCD8 @ =0xFFFFB000
+ adds r2, r2, r5
+ ldr r0, [r7]
+ ldr r4, [r0, #0x54]
+ subs r0, r2, r4
+ movs r1, #0xc
+ bl __divsi3
+ adds r1, r0, #0
+ cmp r1, #0
+ ble _0804DCDC
+ cmp r1, #0x4f
+ bgt _0804DCE6
+ b _0804DCE4
+ .align 2, 0
+_0804DCD0: .4byte 0x00001330
+_0804DCD4: .4byte gUnknown_02031520
+_0804DCD8: .4byte 0xFFFFB000
+_0804DCDC:
+ movs r0, #0x50
+ rsbs r0, r0, #0
+ cmp r1, r0
+ ble _0804DCE6
+_0804DCE4:
+ movs r1, #0
+_0804DCE6:
+ adds r4, r4, r1
+ ldr r0, _0804DD80 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r6, _0804DD84 @ =0x000005FA
+ adds r0, r2, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0804DD0C
+ str r4, [r2, #0x54]
+ adds r0, r4, #0
+ cmp r0, #0
+ bge _0804DD04
+ adds r0, #0xff
+_0804DD04:
+ asrs r1, r0, #8
+ adds r0, r2, #0
+ adds r0, #0x4e
+ strh r1, [r0]
+_0804DD0C:
+ bl sub_4DFA0
+ ldr r2, _0804DD88 @ =gMain
+ ldr r0, _0804DD80 @ =gUnknown_020314E0
+ ldr r3, [r0]
+ adds r1, r3, #0
+ adds r1, #0x4c
+ movs r4, #0x90
+ lsls r4, r4, #1
+ adds r0, r3, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ ldrh r1, [r1]
+ adds r0, r0, r1
+ ldr r5, _0804DD8C @ =0x000002AA
+ adds r1, r3, r5
+ adds r0, #8
+ ldrh r1, [r1]
+ adds r0, r0, r1
+ movs r6, #0xbc
+ lsls r6, r6, #2
+ adds r2, r2, r6
+ strh r0, [r2]
+ adds r2, r3, #0
+ adds r2, #0x4e
+ ldr r1, _0804DD90 @ =0x00000121
+ adds r0, r3, r1
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ ldrh r2, [r2]
+ adds r1, r1, r2
+ ldr r2, _0804DD94 @ =0x000005FC
+ adds r0, r3, r2
+ ldrh r0, [r0]
+ adds r2, r3, #0
+ adds r2, #0xe6
+ adds r0, r0, r1
+ ldrh r2, [r2]
+ adds r0, r0, r2
+ movs r4, #0xab
+ lsls r4, r4, #2
+ adds r1, r3, r4
+ ldrh r1, [r1]
+ adds r1, r1, r0
+ adds r0, r3, #0
+ adds r0, #0xcc
+ strh r1, [r0]
+ subs r0, #2
+ ldrh r0, [r0]
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r2, r0, #0x10
+ asrs r1, r0, #0x10
+ cmp r1, #8
+ ble _0804DD98
+ movs r2, #8
+ b _0804DDA2
+ .align 2, 0
+_0804DD80: .4byte gUnknown_020314E0
+_0804DD84: .4byte 0x000005FA
+_0804DD88: .4byte gMain
+_0804DD8C: .4byte 0x000002AA
+_0804DD90: .4byte 0x00000121
+_0804DD94: .4byte 0x000005FC
+_0804DD98:
+ movs r0, #8
+ rsbs r0, r0, #0
+ cmp r1, r0
+ bge _0804DDA2
+ ldr r2, _0804DDDC @ =0x0000FFF8
+_0804DDA2:
+ lsls r0, r2, #0x10
+ asrs r2, r0, #0x10
+ ldr r7, _0804DDE0 @ =gUnknown_020314E0
+ cmp r2, #0
+ beq _0804DDB6
+ ldr r1, [r7]
+ adds r1, #0xca
+ ldrh r0, [r1]
+ subs r0, r0, r2
+ strh r0, [r1]
+_0804DDB6:
+ ldr r1, _0804DDE4 @ =gMain
+ ldr r0, [r7]
+ adds r0, #0xca
+ ldrh r2, [r0]
+ ldr r5, _0804DDE8 @ =0x000002F2
+ adds r0, r1, r5
+ strh r2, [r0]
+ ldrb r0, [r1, #4]
+ subs r0, #2
+ adds r4, r1, #0
+ cmp r0, #5
+ bls _0804DDD0
+ b _0804DF18
+_0804DDD0:
+ lsls r0, r0, #2
+ ldr r1, _0804DDEC @ =_0804DDF0
+ adds r0, r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0804DDDC: .4byte 0x0000FFF8
+_0804DDE0: .4byte gUnknown_020314E0
+_0804DDE4: .4byte gMain
+_0804DDE8: .4byte 0x000002F2
+_0804DDEC: .4byte _0804DDF0
+_0804DDF0: @ jump table
+ .4byte _0804DE08 @ case 0
+ .4byte _0804DE4C @ case 1
+ .4byte _0804DE98 @ case 2
+ .4byte _0804DE98 @ case 3
+ .4byte _0804DEC8 @ case 4
+ .4byte _0804DEFC @ case 5
+_0804DE08:
+ movs r6, #0xbc
+ lsls r6, r6, #2
+ adds r0, r4, r6
+ ldrh r2, [r0]
+ movs r1, #0xbd
+ lsls r1, r1, #2
+ adds r0, r4, r1
+ strh r2, [r0]
+ ldr r3, _0804DE40 @ =0x000002F2
+ adds r0, r4, r3
+ ldrh r1, [r0]
+ ldr r5, _0804DE44 @ =0x000002F6
+ adds r0, r4, r5
+ strh r1, [r0]
+ subs r6, #4
+ adds r0, r4, r6
+ strh r2, [r0]
+ ldr r0, [r7]
+ adds r0, #0xca
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ lsrs r1, r0, #0x1f
+ adds r0, r0, r1
+ asrs r0, r0, #1
+ ldr r2, _0804DE48 @ =0x000002EE
+ adds r1, r4, r2
+ strh r0, [r1]
+ b _0804DF18
+ .align 2, 0
+_0804DE40: .4byte 0x000002F2
+_0804DE44: .4byte 0x000002F6
+_0804DE48: .4byte 0x000002EE
+_0804DE4C:
+ movs r3, #0xbc
+ lsls r3, r3, #2
+ adds r2, r4, r3
+ ldr r0, [r7]
+ movs r5, #0xa4
+ lsls r5, r5, #2
+ adds r0, r0, r5
+ ldr r0, [r0]
+ ldr r1, _0804DE8C @ =0x000007FF
+ ands r0, r1
+ lsrs r0, r0, #3
+ ldrh r2, [r2]
+ adds r0, r2, r0
+ movs r6, #0xbd
+ lsls r6, r6, #2
+ adds r1, r4, r6
+ movs r3, #0
+ strh r0, [r1]
+ ldr r1, _0804DE90 @ =0x000002F2
+ adds r0, r4, r1
+ ldrh r1, [r0]
+ adds r5, #0x66
+ adds r0, r4, r5
+ strh r1, [r0]
+ subs r6, #8
+ adds r0, r4, r6
+ strh r2, [r0]
+ ldr r1, _0804DE94 @ =0x000002EE
+ adds r0, r4, r1
+ strh r3, [r0]
+ b _0804DF18
+ .align 2, 0
+_0804DE8C: .4byte 0x000007FF
+_0804DE90: .4byte 0x000002F2
+_0804DE94: .4byte 0x000002EE
+_0804DE98:
+ movs r2, #0xbc
+ lsls r2, r2, #2
+ adds r0, r4, r2
+ ldrh r2, [r0]
+ movs r3, #0xbd
+ lsls r3, r3, #2
+ adds r0, r4, r3
+ strh r2, [r0]
+ ldr r5, _0804DEC0 @ =0x000002F2
+ adds r0, r4, r5
+ ldrh r1, [r0]
+ ldr r6, _0804DEC4 @ =0x000002F6
+ adds r0, r4, r6
+ strh r1, [r0]
+ subs r3, #8
+ adds r0, r4, r3
+ strh r2, [r0]
+ subs r5, #4
+ adds r0, r4, r5
+ b _0804DF16
+ .align 2, 0
+_0804DEC0: .4byte 0x000002F2
+_0804DEC4: .4byte 0x000002F6
+_0804DEC8:
+ movs r6, #0xbc
+ lsls r6, r6, #2
+ adds r0, r4, r6
+ ldrh r3, [r0]
+ movs r1, #0xbd
+ lsls r1, r1, #2
+ adds r0, r4, r1
+ strh r3, [r0]
+ ldr r5, _0804DEF4 @ =0x000002F2
+ adds r2, r4, r5
+ ldrh r0, [r2]
+ lsrs r0, r0, #2
+ adds r6, #6
+ adds r1, r4, r6
+ strh r0, [r1]
+ movs r1, #0xbb
+ lsls r1, r1, #2
+ adds r0, r4, r1
+ strh r3, [r0]
+ ldrh r1, [r2]
+ ldr r2, _0804DEF8 @ =0x000002EE
+ b _0804DF14
+ .align 2, 0
+_0804DEF4: .4byte 0x000002F2
+_0804DEF8: .4byte 0x000002EE
+_0804DEFC:
+ movs r3, #0xbc
+ lsls r3, r3, #2
+ adds r0, r4, r3
+ ldrh r1, [r0]
+ movs r5, #0xbd
+ lsls r5, r5, #2
+ adds r0, r4, r5
+ strh r1, [r0]
+ ldr r6, _0804DF8C @ =0x000002F2
+ adds r0, r4, r6
+ ldrh r1, [r0]
+ ldr r2, _0804DF90 @ =0x000002F6
+_0804DF14:
+ adds r0, r4, r2
+_0804DF16:
+ strh r1, [r0]
+_0804DF18:
+ ldr r3, [r7]
+ adds r2, r3, #0
+ adds r2, #0x4c
+ movs r4, #0x90
+ lsls r4, r4, #1
+ adds r0, r3, r4
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ ldrh r2, [r2]
+ adds r1, r1, r2
+ ldr r5, _0804DF94 @ =0x000002AA
+ adds r0, r3, r5
+ ldrh r0, [r0]
+ adds r0, r0, r1
+ adds r1, r3, #0
+ adds r1, #0x58
+ strh r0, [r1]
+ movs r6, #0x4e
+ adds r6, r6, r3
+ mov ip, r6
+ ldr r0, _0804DF98 @ =0x00000121
+ adds r5, r3, r0
+ movs r0, #0
+ ldrsb r0, [r5, r0]
+ ldrh r1, [r6]
+ adds r0, r0, r1
+ ldr r4, _0804DF9C @ =0x000005FC
+ adds r2, r3, r4
+ ldrh r1, [r2]
+ adds r4, r3, #0
+ adds r4, #0xe6
+ adds r1, r1, r0
+ ldrh r6, [r4]
+ adds r1, r1, r6
+ movs r6, #0xab
+ lsls r6, r6, #2
+ adds r0, r3, r6
+ ldrh r0, [r0]
+ adds r0, r0, r1
+ adds r1, r3, #0
+ adds r1, #0x5a
+ strh r0, [r1]
+ movs r1, #0
+ ldrsb r1, [r5, r1]
+ mov r0, ip
+ ldrh r0, [r0]
+ adds r1, r1, r0
+ ldrh r0, [r2]
+ adds r0, r0, r1
+ ldrh r4, [r4]
+ adds r0, r0, r4
+ adds r1, r3, #0
+ adds r1, #0x68
+ strh r0, [r1]
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804DF8C: .4byte 0x000002F2
+_0804DF90: .4byte 0x000002F6
+_0804DF94: .4byte 0x000002AA
+_0804DF98: .4byte 0x00000121
+_0804DF9C: .4byte 0x000005FC
+
+ thumb_func_start sub_4DFA0
+sub_4DFA0: @ 0x0804DFA0
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ sub sp, #8
+ ldr r3, _0804E0C8 @ =gUnknown_020314E0
+ ldr r2, [r3]
+ adds r0, r2, #0
+ adds r0, #0x25
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0804E084
+ ldr r1, _0804E0CC @ =0x000005A4
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ cmp r0, #2
+ beq _0804E084
+ ldr r4, _0804E0D0 @ =0x0000061C
+ adds r0, r2, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0804E084
+ ldrb r0, [r2, #6]
+ cmp r0, #0
+ beq _0804E008
+ movs r1, #0x95
+ lsls r1, r1, #1
+ adds r0, r2, r1
+ ldrb r1, [r0]
+ cmp r1, #0
+ bne _0804E008
+ ldr r4, _0804E0D4 @ =0x00000129
+ adds r0, r2, r4
+ strb r1, [r0]
+ ldr r0, [r3]
+ movs r2, #0x94
+ lsls r2, r2, #1
+ adds r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, #0
+ bne _0804E008
+ movs r0, #4
+ strb r0, [r1]
+ movs r0, #0x78
+ bl m4aSongNumStart
+ movs r0, #8
+ bl sub_11B0
+_0804E008:
+ ldr r2, _0804E0C8 @ =gUnknown_020314E0
+ ldr r1, [r2]
+ ldrb r0, [r1, #7]
+ cmp r0, #0
+ beq _0804E044
+ movs r3, #0x95
+ lsls r3, r3, #1
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ cmp r0, #0
+ bne _0804E044
+ ldr r4, _0804E0D4 @ =0x00000129
+ adds r1, r1, r4
+ movs r0, #1
+ strb r0, [r1]
+ ldr r0, [r2]
+ movs r2, #0x94
+ lsls r2, r2, #1
+ adds r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, #0
+ bne _0804E044
+ movs r0, #4
+ strb r0, [r1]
+ movs r0, #0x78
+ bl m4aSongNumStart
+ movs r0, #8
+ bl sub_11B0
+_0804E044:
+ ldr r0, _0804E0C8 @ =gUnknown_020314E0
+ ldr r3, [r0]
+ ldrb r1, [r3, #8]
+ mov r8, r0
+ cmp r1, #0
+ beq _0804E084
+ movs r4, #0x95
+ lsls r4, r4, #1
+ adds r0, r3, r4
+ ldrb r0, [r0]
+ cmp r0, #0
+ bne _0804E084
+ ldr r0, _0804E0D4 @ =0x00000129
+ adds r1, r3, r0
+ movs r0, #2
+ strb r0, [r1]
+ mov r1, r8
+ ldr r0, [r1]
+ movs r2, #0x94
+ lsls r2, r2, #1
+ adds r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, #0
+ bne _0804E096
+ movs r0, #4
+ strb r0, [r1]
+ movs r0, #0x78
+ bl m4aSongNumStart
+ movs r0, #8
+ bl sub_11B0
+_0804E084:
+ ldr r0, _0804E0C8 @ =gUnknown_020314E0
+ ldr r1, [r0]
+ movs r3, #0x94
+ lsls r3, r3, #1
+ adds r1, r1, r3
+ ldrb r1, [r1]
+ mov r8, r0
+ cmp r1, #0
+ beq _0804E174
+_0804E096:
+ mov r4, r8
+ ldr r0, [r4]
+ movs r2, #0x94
+ lsls r2, r2, #1
+ adds r0, r0, r2
+ ldrb r1, [r0]
+ subs r1, #1
+ strb r1, [r0]
+ ldr r1, [r4]
+ adds r2, r1, r2
+ ldrb r3, [r2]
+ cmp r3, #0
+ bne _0804E174
+ ldr r2, _0804E0D4 @ =0x00000129
+ adds r0, r1, r2
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ cmp r2, #1
+ beq _0804E10C
+ cmp r2, #1
+ bgt _0804E0D8
+ cmp r2, #0
+ beq _0804E0DE
+ b _0804E166
+ .align 2, 0
+_0804E0C8: .4byte gUnknown_020314E0
+_0804E0CC: .4byte 0x000005A4
+_0804E0D0: .4byte 0x0000061C
+_0804E0D4: .4byte 0x00000129
+_0804E0D8:
+ cmp r2, #2
+ beq _0804E13C
+ b _0804E166
+_0804E0DE:
+ movs r3, #0x8c
+ lsls r3, r3, #1
+ adds r0, r1, r3
+ movs r2, #6
+ strb r2, [r0]
+ mov r4, r8
+ ldr r0, [r4]
+ movs r1, #0x8e
+ lsls r1, r1, #1
+ adds r0, r0, r1
+ movs r1, #0xff
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r3, #2
+ adds r0, r0, r3
+ strb r2, [r0]
+ ldr r0, [r4]
+ movs r4, #0x8f
+ lsls r4, r4, #1
+ adds r1, r0, r4
+ movs r0, #1
+ strb r0, [r1]
+ b _0804E166
+_0804E10C:
+ ldr r3, _0804E134 @ =0x00000119
+ adds r0, r1, r3
+ movs r1, #6
+ strb r1, [r0]
+ mov r4, r8
+ ldr r0, [r4]
+ adds r3, #4
+ adds r0, r0, r3
+ strb r2, [r0]
+ ldr r0, [r4]
+ ldr r4, _0804E138 @ =0x0000011B
+ adds r0, r0, r4
+ strb r1, [r0]
+ mov r1, r8
+ ldr r0, [r1]
+ adds r3, #2
+ adds r0, r0, r3
+ strb r2, [r0]
+ b _0804E166
+ .align 2, 0
+_0804E134: .4byte 0x00000119
+_0804E138: .4byte 0x0000011B
+_0804E13C:
+ movs r4, #0x8d
+ lsls r4, r4, #1
+ adds r1, r1, r4
+ movs r0, #6
+ strb r0, [r1]
+ mov r1, r8
+ ldr r0, [r1]
+ movs r2, #0x8f
+ lsls r2, r2, #1
+ adds r0, r0, r2
+ movs r1, #1
+ strb r1, [r0]
+ mov r4, r8
+ ldr r0, [r4]
+ subs r2, #3
+ adds r0, r0, r2
+ strb r3, [r0]
+ ldr r0, [r4]
+ ldr r3, _0804E1CC @ =0x0000011F
+ adds r0, r0, r3
+ strb r1, [r0]
+_0804E166:
+ mov r4, r8
+ ldr r0, [r4]
+ movs r2, #0x95
+ lsls r2, r2, #1
+ adds r1, r0, r2
+ movs r0, #0x18
+ strb r0, [r1]
+_0804E174:
+ mov r3, r8
+ ldr r0, [r3]
+ movs r4, #0x95
+ lsls r4, r4, #1
+ adds r1, r0, r4
+ ldrb r0, [r1]
+ cmp r0, #0
+ beq _0804E188
+ subs r0, #1
+ strb r0, [r1]
+_0804E188:
+ movs r5, #0
+ mov ip, r8
+ movs r7, #0x8c
+ lsls r7, r7, #1
+ movs r6, #0x8e
+ lsls r6, r6, #1
+ mov r4, sp
+_0804E196:
+ mov r1, ip
+ ldr r0, [r1]
+ adds r0, r0, r7
+ adds r1, r0, r5
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0
+ ble _0804E1AC
+ subs r0, r2, #1
+ strb r0, [r1]
+_0804E1AC:
+ mov r2, ip
+ ldr r1, [r2]
+ adds r0, r1, r7
+ adds r3, r0, r5
+ movs r0, #0
+ ldrsb r0, [r3, r0]
+ cmp r0, #2
+ bgt _0804E1D0
+ adds r0, r1, r6
+ adds r0, r0, r5
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ movs r0, #0
+ ldrsb r0, [r3, r0]
+ muls r0, r1, r0
+ b _0804E1E2
+ .align 2, 0
+_0804E1CC: .4byte 0x0000011F
+_0804E1D0:
+ adds r0, r1, r6
+ adds r0, r0, r5
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ movs r1, #0
+ ldrsb r1, [r3, r1]
+ movs r0, #6
+ subs r0, r0, r1
+ muls r0, r2, r0
+_0804E1E2:
+ strh r0, [r4]
+ adds r4, #2
+ adds r5, #1
+ cmp r5, #3
+ ble _0804E196
+ mov r3, r8
+ ldr r1, [r3]
+ mov r2, sp
+ mov r0, sp
+ ldrh r0, [r0, #2]
+ ldrb r2, [r2]
+ adds r0, r0, r2
+ movs r3, #0x90
+ lsls r3, r3, #1
+ adds r1, r1, r3
+ strb r0, [r1]
+ mov r4, r8
+ ldr r2, [r4]
+ mov r1, sp
+ mov r0, sp
+ ldrb r0, [r0, #6]
+ ldrb r1, [r1, #4]
+ adds r0, r0, r1
+ ldr r4, _0804E254 @ =0x00000121
+ adds r1, r2, r4
+ strb r0, [r1]
+ mov r0, r8
+ ldr r2, [r0]
+ adds r0, r2, r3
+ ldrh r1, [r0]
+ cmp r1, #0
+ bne _0804E232
+ adds r4, #5
+ adds r0, r2, r4
+ strb r1, [r0]
+ mov r2, r8
+ ldr r0, [r2]
+ adds r4, #1
+ adds r0, r0, r4
+ strb r1, [r0]
+_0804E232:
+ mov r0, r8
+ ldr r1, [r0]
+ adds r0, r1, r3
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ cmp r2, #0
+ ble _0804E258
+ movs r3, #0x91
+ lsls r3, r3, #1
+ adds r1, r1, r3
+ ldrb r3, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r2, r0
+ bge _0804E270
+ subs r0, r3, #1
+ b _0804E26E
+ .align 2, 0
+_0804E254: .4byte 0x00000121
+_0804E258:
+ cmp r2, #0
+ bge _0804E270
+ movs r4, #0x91
+ lsls r4, r4, #1
+ adds r1, r1, r4
+ ldrb r3, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r2, r0
+ ble _0804E270
+ adds r0, r3, #1
+_0804E26E:
+ strb r0, [r1]
+_0804E270:
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r2, _0804E294 @ =0x00000121
+ adds r0, r1, r2
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ cmp r2, #0
+ ble _0804E29C
+ ldr r3, _0804E298 @ =0x00000123
+ adds r1, r1, r3
+ ldrb r3, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r2, r0
+ bge _0804E2B2
+ subs r0, r3, #1
+ b _0804E2B0
+ .align 2, 0
+_0804E294: .4byte 0x00000121
+_0804E298: .4byte 0x00000123
+_0804E29C:
+ cmp r2, #0
+ bge _0804E2B2
+ ldr r4, _0804E2F4 @ =0x00000123
+ adds r1, r1, r4
+ ldrb r3, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r2, r0
+ ble _0804E2B2
+ adds r0, r3, #1
+_0804E2B0:
+ strb r0, [r1]
+_0804E2B2:
+ mov r0, r8
+ ldr r1, [r0]
+ movs r2, #0x93
+ lsls r2, r2, #1
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0804E2E6
+ movs r3, #0x90
+ lsls r3, r3, #1
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ movs r4, #0x91
+ lsls r4, r4, #1
+ adds r1, r1, r4
+ strb r0, [r1]
+ mov r0, r8
+ ldr r1, [r0]
+ subs r2, #5
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ adds r3, #3
+ adds r1, r1, r3
+ strb r0, [r1]
+_0804E2E6:
+ add sp, #8
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804E2F4: .4byte 0x00000123
+
+ thumb_func_start sub_4E2F8
+sub_4E2F8: @ 0x0804E2F8
+ push {r4, r5, r6, r7, lr}
+ ldr r0, _0804E3E4 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ movs r1, #0x13
+ ldrsb r1, [r2, r1]
+ adds r5, r0, #0
+ cmp r1, #0
+ beq _0804E328
+ ldrb r0, [r2, #5]
+ cmp r0, #0
+ beq _0804E328
+ adds r0, r2, #0
+ adds r0, #0x20
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _0804E328
+ adds r0, r2, #0
+ adds r0, #0x21
+ movs r1, #1
+ strb r1, [r0]
+ ldr r0, [r5]
+ ldr r2, _0804E3E8 @ =0x00000163
+ adds r0, r0, r2
+ strb r1, [r0]
+_0804E328:
+ adds r4, r5, #0
+ ldr r1, [r4]
+ adds r0, r1, #0
+ adds r0, #0x21
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _0804E372
+ ldrb r0, [r1, #0xa]
+ cmp r0, #0
+ beq _0804E372
+ ldr r0, _0804E3E8 @ =0x00000163
+ adds r1, r1, r0
+ movs r6, #0
+ movs r0, #3
+ strb r0, [r1]
+ ldr r0, [r4]
+ adds r0, #0x20
+ ldrb r0, [r0]
+ cmp r0, #0
+ beq _0804E36C
+ movs r0, #7
+ bl sub_11B0
+ ldr r0, [r4]
+ ldr r1, _0804E3EC @ =0x0000132C
+ adds r0, r0, r1
+ ldr r2, [r0]
+ ldr r1, _0804E3F0 @ =0x0000FDB2
+ strh r1, [r2, #0x32]
+ ldr r0, [r0]
+ strh r6, [r0, #0x30]
+ movs r0, #0xcd
+ bl m4aSongNumStart
+_0804E36C:
+ ldr r0, [r5]
+ adds r0, #0x21
+ strb r6, [r0]
+_0804E372:
+ ldr r7, _0804E3E4 @ =gUnknown_020314E0
+ ldr r6, [r7]
+ ldr r2, _0804E3EC @ =0x0000132C
+ adds r3, r6, r2
+ ldr r0, _0804E3F4 @ =0x00001334
+ adds r4, r6, r0
+ str r4, [r3]
+ ldr r0, _0804E3F8 @ =gUnknown_02031520
+ movs r2, #0x12
+ ldrsh r1, [r4, r2]
+ ldrh r5, [r0, #0x2a]
+ movs r2, #0x2a
+ ldrsh r0, [r0, r2]
+ cmp r1, r0
+ blt _0804E452
+ movs r2, #0
+ strh r5, [r4, #0x12]
+ ldr r1, [r3]
+ movs r4, #0x10
+ ldrsh r0, [r1, r4]
+ lsls r0, r0, #1
+ strh r0, [r1, #0x28]
+ ldr r1, [r3]
+ movs r4, #0x12
+ ldrsh r0, [r1, r4]
+ lsls r0, r0, #1
+ strh r0, [r1, #0x2a]
+ ldr r1, [r3]
+ movs r4, #0x10
+ ldrsh r0, [r1, r4]
+ lsls r0, r0, #8
+ str r0, [r1, #0x34]
+ ldr r1, [r3]
+ movs r4, #0x12
+ ldrsh r0, [r1, r4]
+ lsls r0, r0, #8
+ str r0, [r1, #0x38]
+ ldr r0, [r3]
+ strh r2, [r0, #0x30]
+ ldr r0, [r3]
+ strh r2, [r0, #0x32]
+ ldr r4, _0804E3FC @ =gMain
+ ldrh r0, [r4, #0x14]
+ cmp r0, #0
+ bne _0804E452
+ ldr r1, _0804E400 @ =0x00000724
+ adds r0, r6, r1
+ ldrh r0, [r0]
+ cmp r0, #0
+ beq _0804E404
+ movs r0, #4
+ strh r0, [r4, #0x14]
+ movs r0, #8
+ strb r0, [r4, #0x11]
+ movs r0, #0xcc
+ strh r0, [r4, #0x12]
+ b _0804E452
+ .align 2, 0
+_0804E3E4: .4byte gUnknown_020314E0
+_0804E3E8: .4byte 0x00000163
+_0804E3EC: .4byte 0x0000132C
+_0804E3F0: .4byte 0x0000FDB2
+_0804E3F4: .4byte 0x00001334
+_0804E3F8: .4byte gUnknown_02031520
+_0804E3FC: .4byte gMain
+_0804E400: .4byte 0x00000724
+_0804E404:
+ movs r0, #0x50
+ strh r0, [r4, #0x14]
+ movs r0, #0x10
+ strb r0, [r4, #0x11]
+ movs r0, #0xc8
+ strh r0, [r4, #0x12]
+ bl m4aMPlayAllStop
+ movs r0, #0xd
+ bl m4aSongNumStart
+ bl sub_4E598
+ ldr r2, [r7]
+ movs r3, #0xf1
+ lsls r3, r3, #1
+ adds r0, r2, r3
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ cmp r1, #2
+ bne _0804E452
+ movs r0, #9
+ ldrsb r0, [r4, r0]
+ cmp r0, #0
+ bne _0804E452
+ movs r4, #0xdf
+ lsls r4, r4, #1
+ adds r0, r2, r4
+ strb r1, [r0]
+ ldr r1, [r7]
+ movs r0, #0xe0
+ lsls r0, r0, #1
+ adds r2, r1, r0
+ movs r0, #0xc8
+ lsls r0, r0, #2
+ strh r0, [r2]
+ adds r1, r1, r3
+ movs r0, #0
+ strb r0, [r1]
+_0804E452:
+ ldr r0, _0804E464 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ adds r0, #0x20
+ movs r1, #0
+ strb r1, [r0]
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804E464: .4byte gUnknown_020314E0
+
+ thumb_func_start sub_4E468
+sub_4E468: @ 0x0804E468
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ ldr r2, _0804E4C4 @ =gUnknown_020314E0
+ ldr r5, [r2]
+ ldr r0, _0804E4C8 @ =0x0000132C
+ mov r8, r0
+ adds r4, r5, r0
+ ldr r1, _0804E4CC @ =0x00001334
+ adds r3, r5, r1
+ str r3, [r4]
+ ldr r6, _0804E4D0 @ =gUnknown_02031520
+ movs r7, #0x12
+ ldrsh r1, [r3, r7]
+ movs r7, #0x2a
+ ldrsh r0, [r6, r7]
+ mov ip, r2
+ cmp r1, r0
+ blt _0804E572
+ movs r1, #0
+ strh r1, [r3, #0x30]
+ ldr r0, [r4]
+ strh r1, [r0, #0x32]
+ ldr r3, _0804E4D4 @ =gMain
+ ldrb r1, [r3, #0xf]
+ movs r0, #0x40
+ ands r0, r1
+ lsls r0, r0, #0x18
+ lsrs r2, r0, #0x18
+ cmp r2, #0
+ beq _0804E4DC
+ ldr r0, _0804E4D8 @ =0x00000386
+ adds r1, r5, r0
+ movs r0, #1
+ strb r0, [r1]
+ movs r0, #0x80
+ strb r0, [r3, #0xf]
+ mov r1, ip
+ ldr r0, [r1]
+ add r0, r8
+ ldr r1, [r0]
+ ldrh r0, [r6, #0x2a]
+ subs r0, #0xa
+ strh r0, [r1, #0x12]
+ b _0804E542
+ .align 2, 0
+_0804E4C4: .4byte gUnknown_020314E0
+_0804E4C8: .4byte 0x0000132C
+_0804E4CC: .4byte 0x00001334
+_0804E4D0: .4byte gUnknown_02031520
+_0804E4D4: .4byte gMain
+_0804E4D8: .4byte 0x00000386
+_0804E4DC:
+ ldr r0, [r4]
+ movs r1, #1
+ strb r1, [r0]
+ mov r3, ip
+ ldr r0, [r3]
+ movs r7, #0xe2
+ lsls r7, r7, #2
+ adds r0, r0, r7
+ strb r1, [r0]
+ ldr r3, [r3]
+ ldr r1, _0804E57C @ =0x00000392
+ adds r0, r3, r1
+ strh r2, [r0]
+ mov r7, r8
+ adds r2, r3, r7
+ ldr r1, [r2]
+ ldrh r0, [r6, #0x26]
+ strh r0, [r1, #0x10]
+ ldr r1, [r2]
+ ldrh r0, [r6, #0x28]
+ strh r0, [r1, #0x12]
+ ldr r4, _0804E580 @ =0x000005F6
+ adds r3, r3, r4
+ ldrb r1, [r3]
+ movs r0, #0
+ ldrsb r0, [r3, r0]
+ cmp r0, #0
+ ble _0804E518
+ subs r0, r1, #1
+ strb r0, [r3]
+_0804E518:
+ mov r0, ip
+ ldr r1, [r0]
+ movs r3, #0xbf
+ lsls r3, r3, #3
+ adds r2, r1, r3
+ movs r0, #0xe1
+ lsls r0, r0, #4
+ strh r0, [r2]
+ ldr r2, _0804E584 @ =0x040000D4
+ adds r1, r1, r4
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ lsls r0, r0, #5
+ ldr r1, _0804E588 @ =0x08137E14
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _0804E58C @ =0x05000220
+ str r0, [r2, #4]
+ ldr r0, _0804E590 @ =0x80000010
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+_0804E542:
+ mov r7, ip
+ ldr r1, [r7]
+ ldr r0, _0804E594 @ =0x0000132C
+ adds r1, r1, r0
+ ldr r2, [r1]
+ movs r3, #0x10
+ ldrsh r0, [r2, r3]
+ lsls r0, r0, #1
+ strh r0, [r2, #0x28]
+ ldr r2, [r1]
+ movs r7, #0x12
+ ldrsh r0, [r2, r7]
+ lsls r0, r0, #1
+ strh r0, [r2, #0x2a]
+ ldr r2, [r1]
+ movs r3, #0x10
+ ldrsh r0, [r2, r3]
+ lsls r0, r0, #8
+ str r0, [r2, #0x34]
+ ldr r1, [r1]
+ movs r7, #0x12
+ ldrsh r0, [r1, r7]
+ lsls r0, r0, #8
+ str r0, [r1, #0x38]
+_0804E572:
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804E57C: .4byte 0x00000392
+_0804E580: .4byte 0x000005F6
+_0804E584: .4byte 0x040000D4
+_0804E588: .4byte 0x08137E14
+_0804E58C: .4byte 0x05000220
+_0804E590: .4byte 0x80000010
+_0804E594: .4byte 0x0000132C
+
+ thumb_func_start sub_4E598
+sub_4E598: @ 0x0804E598
+ push {r4, r5, r6, r7, lr}
+ ldr r0, _0804E708 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ movs r5, #0
+ movs r3, #0
+ ldr r1, _0804E70C @ =0x000027D7
+ strh r1, [r2, #0x18]
+ movs r1, #0x13
+ ldrsb r1, [r2, r1]
+ adds r4, r0, #0
+ cmp r1, #2
+ bne _0804E5B4
+ movs r0, #5
+ strb r0, [r2, #0x17]
+_0804E5B4:
+ ldr r1, [r4]
+ movs r0, #0x13
+ ldrsb r0, [r1, r0]
+ cmp r0, #7
+ bne _0804E5C2
+ movs r0, #6
+ strb r0, [r1, #0x17]
+_0804E5C2:
+ ldr r1, [r4]
+ movs r0, #0x13
+ ldrsb r0, [r1, r0]
+ cmp r0, #4
+ bne _0804E5D0
+ movs r0, #0xa
+ strb r0, [r1, #0x17]
+_0804E5D0:
+ ldr r1, [r4]
+ movs r0, #0x13
+ ldrsb r0, [r1, r0]
+ cmp r0, #5
+ bne _0804E5DE
+ movs r0, #6
+ strb r0, [r1, #0x17]
+_0804E5DE:
+ ldr r1, [r4]
+ movs r0, #0x13
+ ldrsb r0, [r1, r0]
+ cmp r0, #6
+ bne _0804E5EC
+ movs r0, #8
+ strb r0, [r1, #0x17]
+_0804E5EC:
+ ldr r0, [r4]
+ ldr r1, _0804E710 @ =0x00000714
+ adds r0, r0, r1
+ strb r5, [r0]
+ ldr r0, [r4]
+ movs r2, #0xe2
+ lsls r2, r2, #3
+ adds r0, r0, r2
+ strb r5, [r0]
+ ldr r0, [r4]
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ ldr r6, _0804E714 @ =0x00000711
+ adds r0, r0, r6
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ ldr r7, _0804E718 @ =0x00000712
+ adds r0, r0, r7
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r2, r0, r2
+ ldrb r1, [r2]
+ ldr r2, _0804E71C @ =0x00000713
+ adds r0, r0, r2
+ strb r1, [r0]
+ ldr r0, [r4]
+ subs r6, #0xfd
+ adds r1, r0, r6
+ strh r3, [r1]
+ movs r7, #0x82
+ lsls r7, r7, #2
+ adds r1, r0, r7
+ strh r3, [r1]
+ ldr r1, _0804E720 @ =0x0000020A
+ adds r0, r0, r1
+ strb r5, [r0]
+ ldr r2, [r4]
+ movs r6, #0xf1
+ lsls r6, r6, #1
+ adds r0, r2, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ ldr r6, _0804E724 @ =gMain
+ cmp r0, #2
+ bne _0804E654
+ movs r0, #9
+ ldrsb r0, [r6, r0]
+ cmp r0, #0
+ bne _0804E69C
+_0804E654:
+ movs r7, #0xe3
+ lsls r7, r7, #1
+ adds r0, r2, r7
+ strh r3, [r0]
+ movs r1, #0xe4
+ lsls r1, r1, #1
+ adds r0, r2, r1
+ strh r3, [r0]
+ movs r5, #0xe6
+ lsls r5, r5, #1
+ adds r0, r2, r5
+ strh r3, [r0]
+ adds r7, #4
+ adds r0, r2, r7
+ strh r3, [r0]
+ adds r1, #0xc
+ adds r0, r2, r1
+ strh r3, [r0]
+ adds r5, #0xa
+ adds r1, r2, r5
+ ldr r0, _0804E728 @ =0x0000FFFC
+ strh r0, [r1]
+ adds r7, #0xe
+ adds r0, r2, r7
+ movs r1, #0x80
+ lsls r1, r1, #1
+ strh r1, [r0]
+ adds r5, #4
+ adds r0, r2, r5
+ strh r1, [r0]
+ subs r7, #0xa
+ adds r0, r2, r7
+ strh r3, [r0]
+ adds r1, #0xd0
+ adds r0, r2, r1
+ strh r3, [r0]
+_0804E69C:
+ ldr r0, [r4]
+ movs r2, #0xe3
+ lsls r2, r2, #3
+ adds r0, r0, r2
+ movs r3, #0
+ strb r3, [r0]
+ ldr r0, [r4]
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ ldr r5, _0804E72C @ =0x00000719
+ adds r0, r0, r5
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r2, r0, r2
+ ldrb r1, [r2]
+ ldr r7, _0804E730 @ =0x0000071A
+ adds r0, r0, r7
+ strb r1, [r0]
+ ldr r1, [r4]
+ movs r2, #0xc2
+ lsls r2, r2, #2
+ adds r0, r1, r2
+ strh r3, [r0]
+ movs r2, #9
+ ldrsb r2, [r6, r2]
+ cmp r2, #0
+ beq _0804E748
+ ldr r3, _0804E734 @ =0x000005F6
+ adds r1, r1, r3
+ movs r0, #3
+ strb r0, [r1]
+ ldr r1, [r4]
+ movs r5, #0xbf
+ lsls r5, r5, #3
+ adds r2, r1, r5
+ movs r0, #0xe1
+ lsls r0, r0, #4
+ strh r0, [r2]
+ ldr r2, _0804E738 @ =0x040000D4
+ adds r1, r1, r3
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ lsls r0, r0, #5
+ ldr r1, _0804E73C @ =0x08137E14
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _0804E740 @ =0x05000220
+ str r0, [r2, #4]
+ ldr r0, _0804E744 @ =0x80000010
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ adds r6, r1, #0
+ b _0804E75C
+ .align 2, 0
+_0804E708: .4byte gUnknown_020314E0
+_0804E70C: .4byte 0x000027D7
+_0804E710: .4byte 0x00000714
+_0804E714: .4byte 0x00000711
+_0804E718: .4byte 0x00000712
+_0804E71C: .4byte 0x00000713
+_0804E720: .4byte 0x0000020A
+_0804E724: .4byte gMain
+_0804E728: .4byte 0x0000FFFC
+_0804E72C: .4byte 0x00000719
+_0804E730: .4byte 0x0000071A
+_0804E734: .4byte 0x000005F6
+_0804E738: .4byte 0x040000D4
+_0804E73C: .4byte 0x08137E14
+_0804E740: .4byte 0x05000220
+_0804E744: .4byte 0x80000010
+_0804E748:
+ ldr r6, _0804E7E8 @ =0x000005F6
+ adds r1, r1, r6
+ movs r0, #0
+ strb r0, [r1]
+ ldr r0, [r4]
+ movs r7, #0xbf
+ lsls r7, r7, #3
+ adds r0, r0, r7
+ strh r2, [r0]
+ ldr r6, _0804E7EC @ =0x08137E14
+_0804E75C:
+ adds r3, r4, #0
+ ldr r0, [r3]
+ ldr r1, _0804E7F0 @ =0x000005F7
+ adds r0, r0, r1
+ movs r5, #0
+ strb r5, [r0]
+ ldr r1, _0804E7F4 @ =0x040000D4
+ ldr r2, [r3]
+ ldr r7, _0804E7E8 @ =0x000005F6
+ adds r0, r2, r7
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #5
+ adds r0, r0, r6
+ str r0, [r1]
+ ldr r0, _0804E7F8 @ =0x05000220
+ str r0, [r1, #4]
+ ldr r0, _0804E7FC @ =0x80000010
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r1, _0804E800 @ =0x0000070E
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ ldr r6, _0804E804 @ =0x0000062F
+ adds r2, r2, r6
+ strb r0, [r2]
+ ldr r0, [r3]
+ adds r0, r0, r1
+ movs r2, #1
+ strb r2, [r0]
+ ldr r1, [r3]
+ ldr r7, _0804E808 @ =0x000002A5
+ adds r0, r1, r7
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0x2d
+ bne _0804E7D8
+ movs r6, #0xa9
+ lsls r6, r6, #2
+ adds r0, r1, r6
+ strb r5, [r0]
+ ldr r0, [r3]
+ adds r0, r0, r7
+ strb r5, [r0]
+ ldr r1, [r3]
+ adds r6, #2
+ adds r0, r1, r6
+ strh r5, [r0]
+ ldr r7, _0804E80C @ =0x0000016F
+ adds r0, r1, r7
+ strb r2, [r0]
+ ldr r0, [r3]
+ movs r1, #0xba
+ lsls r1, r1, #1
+ adds r2, r0, r1
+ movs r1, #0x40
+ strh r1, [r2]
+ ldr r2, _0804E810 @ =0x000002AA
+ adds r0, r0, r2
+ strh r5, [r0]
+_0804E7D8:
+ ldr r0, [r4]
+ movs r6, #0xc0
+ lsls r6, r6, #2
+ adds r0, r0, r6
+ strb r5, [r0]
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804E7E8: .4byte 0x000005F6
+_0804E7EC: .4byte 0x08137E14
+_0804E7F0: .4byte 0x000005F7
+_0804E7F4: .4byte 0x040000D4
+_0804E7F8: .4byte 0x05000220
+_0804E7FC: .4byte 0x80000010
+_0804E800: .4byte 0x0000070E
+_0804E804: .4byte 0x0000062F
+_0804E808: .4byte 0x000002A5
+_0804E80C: .4byte 0x0000016F
+_0804E810: .4byte 0x000002AA
+
+ thumb_func_start sub_4E814
+sub_4E814: @ 0x0804E814
+ push {r4, r5, r6, lr}
+ ldr r6, _0804E910 @ =gUnknown_020314E0
+ ldr r4, [r6]
+ ldr r0, _0804E914 @ =0x0000070C
+ adds r5, r4, r0
+ ldrh r0, [r5]
+ movs r1, #0x28
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #0x14
+ bl __udivsi3
+ ldr r1, _0804E918 @ =0x00000734
+ adds r4, r4, r1
+ strh r0, [r4]
+ ldrh r0, [r5]
+ adds r0, #1
+ strh r0, [r5]
+ bl sub_4EA44
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xe7
+ bgt _0804E854
+ bl sub_4EDC0
+ bl sub_4EE74
+_0804E854:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ ldrh r0, [r0]
+ subs r0, #0x51
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0xa6
+ bhi _0804E868
+ bl sub_4EF38
+_0804E868:
+ bl sub_4F0F0
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x6f
+ bgt _0804E87C
+ bl sub_4F258
+_0804E87C:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x70
+ ble _0804E88C
+ bl sub_4F028
+_0804E88C:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x68
+ ble _0804E8A0
+ bl sub_4F4B4
+ bl sub_4F660
+_0804E8A0:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xff
+ bgt _0804E8B0
+ bl sub_4F30C
+_0804E8B0:
+ bl sub_4F2B8
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x6e
+ ble _0804E8C4
+ bl sub_4EAB0
+_0804E8C4:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xb2
+ ble _0804E8DC
+ bl sub_4EAF8
+ bl sub_4EBD0
+ bl sub_4E920
+_0804E8DC:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xca
+ ble _0804E8EC
+ bl sub_4ECDC
+_0804E8EC:
+ ldr r0, [r6]
+ ldr r1, _0804E91C @ =0x00000724
+ adds r2, r0, r1
+ ldrh r1, [r2]
+ cmp r1, #0
+ beq _0804E908
+ adds r0, #0x25
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0804E908
+ subs r0, r1, #1
+ strh r0, [r2]
+_0804E908:
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804E910: .4byte gUnknown_020314E0
+_0804E914: .4byte 0x0000070C
+_0804E918: .4byte 0x00000734
+_0804E91C: .4byte 0x00000724
+
+ thumb_func_start sub_4E920
+sub_4E920: @ 0x0804E920
+ push {r4, r5, lr}
+ ldr r1, _0804E9CC @ =0x086B08CA
+ ldr r4, _0804E9D0 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r2, _0804E9D4 @ =0x00000716
+ adds r3, r0, r2
+ ldrb r2, [r3]
+ lsls r0, r2, #1
+ adds r0, r0, r1
+ ldrh r5, [r0]
+ cmp r2, #0
+ beq _0804E95C
+ subs r0, r2, #1
+ strb r0, [r3]
+ ldr r0, [r4]
+ ldr r1, _0804E9D4 @ =0x00000716
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ cmp r0, #3
+ bne _0804E95C
+ movs r0, #0x73
+ bl m4aSongNumStart
+ ldr r1, [r4]
+ movs r0, #0xfa
+ lsls r0, r0, #1
+ str r0, [r1, #0x3c]
+ movs r0, #7
+ bl sub_11B0
+_0804E95C:
+ ldr r0, _0804E9D0 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r2, _0804E9D8 @ =0x00000717
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r3, r0, #4
+ subs r3, r3, r0
+ lsls r3, r3, #2
+ lsls r0, r5, #0x10
+ asrs r0, r0, #0x10
+ lsls r2, r0, #2
+ adds r2, r2, r0
+ lsls r2, r2, #2
+ ldr r0, _0804E9DC @ =0x086B08D4
+ adds r2, r2, r0
+ adds r2, r3, r2
+ adds r0, #0x28
+ adds r3, r3, r0
+ ldr r0, _0804E9E0 @ =0x040000D4
+ ldr r1, [r2]
+ str r1, [r0]
+ ldr r1, [r3]
+ str r1, [r0, #4]
+ ldr r1, _0804E9E4 @ =0x80000010
+ str r1, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, [r2, #4]
+ str r1, [r0]
+ ldr r1, [r3, #4]
+ str r1, [r0, #4]
+ ldr r5, _0804E9E8 @ =0x80000020
+ str r5, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, [r2, #8]
+ str r1, [r0]
+ ldr r1, [r3, #8]
+ str r1, [r0, #4]
+ ldr r4, _0804E9EC @ =0x80000030
+ str r4, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, [r2, #0xc]
+ str r1, [r0]
+ ldr r1, [r3, #0xc]
+ str r1, [r0, #4]
+ str r4, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, [r2, #0x10]
+ str r1, [r0]
+ ldr r1, [r3, #0x10]
+ str r1, [r0, #4]
+ str r5, [r0, #8]
+ ldr r0, [r0, #8]
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804E9CC: .4byte 0x086B08CA
+_0804E9D0: .4byte gUnknown_020314E0
+_0804E9D4: .4byte 0x00000716
+_0804E9D8: .4byte 0x00000717
+_0804E9DC: .4byte 0x086B08D4
+_0804E9E0: .4byte 0x040000D4
+_0804E9E4: .4byte 0x80000010
+_0804E9E8: .4byte 0x80000020
+_0804E9EC: .4byte 0x80000030
+
+ thumb_func_start sub_4E9F0
+sub_4E9F0: @ 0x0804E9F0
+ push {r4, lr}
+ lsls r0, r0, #0x10
+ asrs r0, r0, #0x10
+ lsls r2, r0, #1
+ adds r2, r2, r0
+ lsls r2, r2, #2
+ ldr r3, _0804EA34 @ =0x086B094C
+ adds r2, r2, r3
+ adds r4, r3, #0
+ adds r4, #0x18
+ ldr r1, _0804EA38 @ =0x040000D4
+ ldr r0, [r2]
+ str r0, [r1]
+ ldr r0, [r3, #0x18]
+ str r0, [r1, #4]
+ ldr r3, _0804EA3C @ =0x80000060
+ str r3, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r0, [r2, #4]
+ str r0, [r1]
+ ldr r0, [r4, #4]
+ str r0, [r1, #4]
+ str r3, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r0, [r2, #8]
+ str r0, [r1]
+ ldr r0, [r4, #8]
+ str r0, [r1, #4]
+ ldr r0, _0804EA40 @ =0x80000010
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804EA34: .4byte 0x086B094C
+_0804EA38: .4byte 0x040000D4
+_0804EA3C: .4byte 0x80000060
+_0804EA40: .4byte 0x80000010
+
+ thumb_func_start sub_4EA44
+sub_4EA44: @ 0x0804EA44
+ push {r4, r5, lr}
+ ldr r0, _0804EA9C @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r1, _0804EAA0 @ =0x0000070E
+ adds r0, r0, r1
+ movs r5, #0
+ ldrsb r5, [r0, r5]
+ adds r0, r5, #0
+ movs r1, #0xa
+ bl __divsi3
+ adds r4, r0, #0
+ lsls r4, r4, #0x18
+ asrs r4, r4, #8
+ lsrs r4, r4, #0x10
+ adds r0, r5, #0
+ movs r1, #0xa
+ bl __modsi3
+ lsls r0, r0, #0x18
+ lsls r4, r4, #0x10
+ asrs r4, r4, #0xd
+ ldr r3, _0804EAA4 @ =0x086B0970
+ adds r4, r4, r3
+ ldr r2, _0804EAA8 @ =0x040000D4
+ ldr r1, [r4]
+ str r1, [r2]
+ ldr r1, [r3, #0x50]
+ str r1, [r2, #4]
+ ldr r1, _0804EAAC @ =0x80000010
+ str r1, [r2, #8]
+ ldr r4, [r2, #8]
+ asrs r0, r0, #0x15
+ adds r4, r0, r3
+ ldr r0, [r4, #4]
+ str r0, [r2]
+ ldr r0, [r3, #0x54]
+ str r0, [r2, #4]
+ str r1, [r2, #8]
+ ldr r0, [r2, #8]
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804EA9C: .4byte gUnknown_020314E0
+_0804EAA0: .4byte 0x0000070E
+_0804EAA4: .4byte 0x086B0970
+_0804EAA8: .4byte 0x040000D4
+_0804EAAC: .4byte 0x80000010
+
+ thumb_func_start sub_4EAB0
+sub_4EAB0: @ 0x0804EAB0
+ push {r4, lr}
+ ldr r0, _0804EAE8 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r1, #0xe6
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ lsls r2, r2, #3
+ ldr r3, _0804EAEC @ =0x086B09C8
+ adds r2, r2, r3
+ ldr r0, _0804EAF0 @ =0x040000D4
+ ldr r1, [r2]
+ str r1, [r0]
+ ldr r1, [r3, #0x18]
+ str r1, [r0, #4]
+ ldr r4, _0804EAF4 @ =0x80000020
+ str r4, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, [r2, #4]
+ str r1, [r0]
+ ldr r1, [r3, #0x1c]
+ str r1, [r0, #4]
+ str r4, [r0, #8]
+ ldr r0, [r0, #8]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804EAE8: .4byte gUnknown_020314E0
+_0804EAEC: .4byte 0x086B09C8
+_0804EAF0: .4byte 0x040000D4
+_0804EAF4: .4byte 0x80000020
+
+ thumb_func_start sub_4EAF8
+sub_4EAF8: @ 0x0804EAF8
+ push {r4, r5, r6, r7, lr}
+ ldr r7, _0804EBB4 @ =gUnknown_020314E0
+ ldr r5, [r7]
+ movs r0, #0xe4
+ lsls r0, r0, #3
+ adds r1, r5, r0
+ ldrb r0, [r1]
+ cmp r0, #0
+ beq _0804EB5E
+ ldr r6, _0804EBB8 @ =0x00000721
+ adds r0, r5, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ ldr r4, _0804EBBC @ =0x0000071D
+ adds r5, r5, r4
+ adds r5, r5, r0
+ ldrb r0, [r1]
+ movs r1, #0x24
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ movs r1, #0x12
+ bl __udivsi3
+ movs r1, #1
+ subs r1, r1, r0
+ strb r1, [r5]
+ ldr r0, [r7]
+ ldr r2, _0804EBC0 @ =0x00000722
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ lsls r1, r1, #0x18
+ asrs r1, r1, #0x18
+ adds r4, r0, r4
+ adds r1, r4, r1
+ adds r0, r0, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r4, r4, r0
+ ldrb r0, [r4]
+ strb r0, [r1]
+ ldr r1, [r7]
+ movs r0, #0xe4
+ lsls r0, r0, #3
+ adds r1, r1, r0
+ ldrb r0, [r1]
+ subs r0, #1
+ strb r0, [r1]
+_0804EB5E:
+ movs r1, #0
+ ldr r0, [r7]
+ ldr r2, _0804EBBC @ =0x0000071D
+ adds r7, r0, r2
+ ldr r6, _0804EBC4 @ =0x086B09E8
+ movs r0, #0x30
+ adds r0, r0, r6
+ mov ip, r0
+ ldr r4, _0804EBC8 @ =0x040000D4
+ ldr r5, _0804EBCC @ =0x80000020
+_0804EB72:
+ lsls r3, r1, #0x10
+ asrs r3, r3, #0x10
+ lsls r2, r3, #3
+ subs r2, r2, r3
+ lsls r2, r2, #3
+ adds r0, r7, r3
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ adds r1, r2, r1
+ add r2, ip
+ ldr r0, [r1]
+ str r0, [r4]
+ ldr r0, [r2]
+ str r0, [r4, #4]
+ str r5, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, [r1, #4]
+ str r0, [r4]
+ ldr r0, [r2, #4]
+ str r0, [r4, #4]
+ str r5, [r4, #8]
+ ldr r0, [r4, #8]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r1, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #2
+ ble _0804EB72
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804EBB4: .4byte gUnknown_020314E0
+_0804EBB8: .4byte 0x00000721
+_0804EBBC: .4byte 0x0000071D
+_0804EBC0: .4byte 0x00000722
+_0804EBC4: .4byte 0x086B09E8
+_0804EBC8: .4byte 0x040000D4
+_0804EBCC: .4byte 0x80000020
+
+ thumb_func_start sub_4EBD0
+sub_4EBD0: @ 0x0804EBD0
+ push {r4, r5, r6, r7, lr}
+ ldr r5, _0804EC38 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ ldr r1, _0804EC3C @ =0x00000714
+ adds r0, r4, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _0804EC7A
+ ldr r2, _0804EC40 @ =0x00000715
+ adds r1, r4, r2
+ ldrb r0, [r1]
+ cmp r0, #0
+ beq _0804EC4C
+ movs r1, #0x24
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ movs r1, #0x12
+ bl __udivsi3
+ movs r2, #0xe2
+ lsls r2, r2, #3
+ adds r1, r4, r2
+ strb r0, [r1]
+ ldr r0, [r5]
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ ldr r3, _0804EC44 @ =0x00000711
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ adds r3, #1
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r2, r0, r2
+ ldrb r1, [r2]
+ ldr r2, _0804EC48 @ =0x00000713
+ adds r0, r0, r2
+ strb r1, [r0]
+ ldr r1, [r5]
+ adds r3, #3
+ adds r1, r1, r3
+ ldrb r0, [r1]
+ subs r0, #1
+ strb r0, [r1]
+ b _0804EC7A
+ .align 2, 0
+_0804EC38: .4byte gUnknown_020314E0
+_0804EC3C: .4byte 0x00000714
+_0804EC40: .4byte 0x00000715
+_0804EC44: .4byte 0x00000711
+_0804EC48: .4byte 0x00000713
+_0804EC4C:
+ movs r2, #0xe2
+ lsls r2, r2, #3
+ adds r1, r4, r2
+ movs r0, #1
+ strb r0, [r1]
+ ldr r0, [r5]
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ ldr r3, _0804ECC4 @ =0x00000711
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ adds r3, #1
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r2, r0, r2
+ ldrb r1, [r2]
+ ldr r2, _0804ECC8 @ =0x00000713
+ adds r0, r0, r2
+ strb r1, [r0]
+_0804EC7A:
+ movs r2, #0
+ ldr r0, _0804ECCC @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r3, #0xe2
+ lsls r3, r3, #3
+ adds r5, r0, r3
+ ldr r4, _0804ECD0 @ =0x086B0BC4
+ adds r7, r4, #0
+ adds r7, #8
+ ldr r3, _0804ECD4 @ =0x040000D4
+ ldr r6, _0804ECD8 @ =0x80000020
+_0804EC90:
+ lsls r1, r2, #0x10
+ asrs r1, r1, #0x10
+ lsls r2, r1, #4
+ adds r0, r5, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #2
+ adds r0, r0, r4
+ adds r0, r2, r0
+ adds r2, r2, r7
+ ldr r0, [r0]
+ str r0, [r3]
+ ldr r0, [r2]
+ str r0, [r3, #4]
+ str r6, [r3, #8]
+ ldr r0, [r3, #8]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r2, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #3
+ ble _0804EC90
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804ECC4: .4byte 0x00000711
+_0804ECC8: .4byte 0x00000713
+_0804ECCC: .4byte gUnknown_020314E0
+_0804ECD0: .4byte 0x086B0BC4
+_0804ECD4: .4byte 0x040000D4
+_0804ECD8: .4byte 0x80000020
+
+ thumb_func_start sub_4ECDC
+sub_4ECDC: @ 0x0804ECDC
+ push {r4, r5, lr}
+ ldr r0, _0804ECF8 @ =gUnknown_020314E0
+ ldr r3, [r0]
+ ldr r2, _0804ECFC @ =0x00000724
+ adds r1, r3, r2
+ ldrh r2, [r1]
+ movs r1, #0x96
+ lsls r1, r1, #1
+ adds r5, r0, #0
+ cmp r2, r1
+ bls _0804ED04
+ ldr r0, _0804ED00 @ =0x00000726
+ adds r1, r3, r0
+ b _0804ED1A
+ .align 2, 0
+_0804ECF8: .4byte gUnknown_020314E0
+_0804ECFC: .4byte 0x00000724
+_0804ED00: .4byte 0x00000726
+_0804ED04:
+ cmp r2, #0
+ beq _0804ED40
+ adds r0, r3, #0
+ adds r0, #0x25
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _0804ED24
+ ldr r2, _0804ED20 @ =0x00000726
+ adds r1, r3, r2
+_0804ED1A:
+ movs r0, #1
+ strb r0, [r1]
+ b _0804ED46
+ .align 2, 0
+_0804ED20: .4byte 0x00000726
+_0804ED24:
+ ldr r0, _0804ED38 @ =gMain
+ ldr r0, [r0, #0x50]
+ movs r1, #0xf
+ ands r0, r1
+ lsrs r0, r0, #3
+ ldr r2, _0804ED3C @ =0x00000726
+ adds r1, r3, r2
+ strb r0, [r1]
+ b _0804ED46
+ .align 2, 0
+_0804ED38: .4byte gMain
+_0804ED3C: .4byte 0x00000726
+_0804ED40:
+ ldr r1, _0804EDA8 @ =0x00000726
+ adds r0, r3, r1
+ strb r2, [r0]
+_0804ED46:
+ ldr r0, [r5]
+ ldr r2, _0804EDA8 @ =0x00000726
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #4
+ ldr r1, _0804EDAC @ =0x086B0A90
+ adds r3, r0, r1
+ adds r4, r1, #0
+ adds r4, #0x20
+ ldr r2, _0804EDB0 @ =0x040000D4
+ ldr r0, [r3]
+ str r0, [r2]
+ ldr r0, [r1, #0x20]
+ str r0, [r2, #4]
+ ldr r1, _0804EDB4 @ =0x80000060
+ str r1, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #4]
+ str r0, [r2]
+ ldr r0, [r4, #4]
+ str r0, [r2, #4]
+ str r1, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r5]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xd7
+ ble _0804EDA0
+ ldr r0, [r3, #8]
+ str r0, [r2]
+ ldr r0, [r4, #8]
+ str r0, [r2, #4]
+ ldr r0, _0804EDB8 @ =0x80000050
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #0xc]
+ str r0, [r2]
+ ldr r0, [r4, #0xc]
+ str r0, [r2, #4]
+ ldr r0, _0804EDBC @ =0x80000020
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+_0804EDA0:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804EDA8: .4byte 0x00000726
+_0804EDAC: .4byte 0x086B0A90
+_0804EDB0: .4byte 0x040000D4
+_0804EDB4: .4byte 0x80000060
+_0804EDB8: .4byte 0x80000050
+_0804EDBC: .4byte 0x80000020
+
+ thumb_func_start sub_4EDC0
+sub_4EDC0: @ 0x0804EDC0
+ push {r4, r5, r6, lr}
+ movs r3, #0
+ ldr r0, _0804EE60 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ movs r4, #0xe5
+ lsls r4, r4, #3
+ adds r1, r2, r4
+ ldrb r1, [r1]
+ lsls r1, r1, #0x18
+ asrs r1, r1, #0x18
+ adds r6, r0, #0
+ cmp r1, #0
+ ble _0804EDE8
+ ldr r1, _0804EE64 @ =0x00000734
+ adds r0, r2, r1
+ ldrh r1, [r0]
+ movs r0, #1
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r3, r0, #0x10
+_0804EDE8:
+ lsls r0, r3, #0x10
+ asrs r0, r0, #0xc
+ ldr r3, _0804EE68 @ =0x086B0AC0
+ adds r4, r0, r3
+ adds r5, r3, #0
+ adds r5, #0x20
+ adds r0, r2, #0
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x30
+ ble _0804EE30
+ cmp r0, #0xd7
+ bgt _0804EE14
+ ldr r1, _0804EE6C @ =0x040000D4
+ ldr r0, [r4]
+ str r0, [r1]
+ ldr r0, [r3, #0x20]
+ str r0, [r1, #4]
+ ldr r0, _0804EE70 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804EE14:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xdf
+ bgt _0804EE30
+ ldr r1, _0804EE6C @ =0x040000D4
+ ldr r0, [r4, #4]
+ str r0, [r1]
+ ldr r0, [r5, #4]
+ str r0, [r1, #4]
+ ldr r0, _0804EE70 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804EE30:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x40
+ ble _0804EE58
+ ldr r0, _0804EE6C @ =0x040000D4
+ ldr r1, [r4, #8]
+ str r1, [r0]
+ ldr r1, [r5, #8]
+ str r1, [r0, #4]
+ ldr r2, _0804EE70 @ =0x80000040
+ str r2, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, [r4, #0xc]
+ str r1, [r0]
+ ldr r1, [r5, #0xc]
+ str r1, [r0, #4]
+ str r2, [r0, #8]
+ ldr r0, [r0, #8]
+_0804EE58:
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804EE60: .4byte gUnknown_020314E0
+_0804EE64: .4byte 0x00000734
+_0804EE68: .4byte 0x086B0AC0
+_0804EE6C: .4byte 0x040000D4
+_0804EE70: .4byte 0x80000040
+
+ thumb_func_start sub_4EE74
+sub_4EE74: @ 0x0804EE74
+ push {r4, r5, r6, lr}
+ movs r3, #0
+ ldr r0, _0804EF18 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r4, _0804EF1C @ =0x00000729
+ adds r1, r2, r4
+ ldrb r1, [r1]
+ lsls r1, r1, #0x18
+ asrs r1, r1, #0x18
+ adds r6, r0, #0
+ cmp r1, #0
+ ble _0804EE9A
+ ldr r1, _0804EF20 @ =0x00000734
+ adds r0, r2, r1
+ ldrh r1, [r0]
+ movs r0, #1
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r3, r0, #0x10
+_0804EE9A:
+ lsls r0, r3, #0x10
+ asrs r0, r0, #0xc
+ ldr r3, _0804EF24 @ =0x086B0AF0
+ adds r4, r0, r3
+ adds r5, r3, #0
+ adds r5, #0x20
+ adds r0, r2, #0
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x28
+ ble _0804EEE2
+ cmp r0, #0xcf
+ bgt _0804EEC6
+ ldr r1, _0804EF28 @ =0x040000D4
+ ldr r0, [r4]
+ str r0, [r1]
+ ldr r0, [r3, #0x20]
+ str r0, [r1, #4]
+ ldr r0, _0804EF2C @ =0x80000020
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804EEC6:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xd7
+ bgt _0804EEE2
+ ldr r1, _0804EF28 @ =0x040000D4
+ ldr r0, [r4, #4]
+ str r0, [r1]
+ ldr r0, [r5, #4]
+ str r0, [r1, #4]
+ ldr r0, _0804EF30 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804EEE2:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x38
+ ble _0804EF12
+ cmp r0, #0xdf
+ bgt _0804EF02
+ ldr r1, _0804EF28 @ =0x040000D4
+ ldr r0, [r4, #8]
+ str r0, [r1]
+ ldr r0, [r5, #8]
+ str r0, [r1, #4]
+ ldr r0, _0804EF30 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804EF02:
+ ldr r1, _0804EF28 @ =0x040000D4
+ ldr r0, [r4, #0xc]
+ str r0, [r1]
+ ldr r0, [r5, #0xc]
+ str r0, [r1, #4]
+ ldr r0, _0804EF34 @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804EF12:
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804EF18: .4byte gUnknown_020314E0
+_0804EF1C: .4byte 0x00000729
+_0804EF20: .4byte 0x00000734
+_0804EF24: .4byte 0x086B0AF0
+_0804EF28: .4byte 0x040000D4
+_0804EF2C: .4byte 0x80000020
+_0804EF30: .4byte 0x80000040
+_0804EF34: .4byte 0x80000030
+
+ thumb_func_start sub_4EF38
+sub_4EF38: @ 0x0804EF38
+ push {r4, r5, lr}
+ movs r3, #0
+ ldr r0, _0804EF58 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ movs r4, #0xbc
+ lsls r4, r4, #2
+ adds r1, r2, r4
+ ldrb r1, [r1]
+ adds r5, r0, #0
+ cmp r1, #2
+ bls _0804EF60
+ ldr r0, _0804EF5C @ =0x0000072A
+ adds r1, r2, r0
+ movs r0, #1
+ strb r0, [r1]
+ b _0804EF6E
+ .align 2, 0
+_0804EF58: .4byte gUnknown_020314E0
+_0804EF5C: .4byte 0x0000072A
+_0804EF60:
+ movs r0, #0x13
+ ldrsb r0, [r2, r0]
+ cmp r0, #0
+ beq _0804EF6E
+ ldr r1, _0804EF98 @ =0x0000072A
+ adds r0, r2, r1
+ strb r3, [r0]
+_0804EF6E:
+ ldr r1, [r5]
+ ldr r2, _0804EF98 @ =0x0000072A
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _0804EFA0
+ ldr r4, _0804EF9C @ =0x000001A5
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #1
+ adds r2, #0xa
+ adds r1, r1, r2
+ ldrh r1, [r1]
+ subs r1, #1
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ b _0804EFAC
+ .align 2, 0
+_0804EF98: .4byte 0x0000072A
+_0804EF9C: .4byte 0x000001A5
+_0804EFA0:
+ ldr r4, _0804F014 @ =0x000001A5
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #0x11
+_0804EFAC:
+ lsrs r3, r0, #0x10
+ lsls r0, r3, #0x10
+ asrs r0, r0, #0xc
+ ldr r2, _0804F018 @ =0x086B0B20
+ adds r3, r0, r2
+ adds r4, r2, #0
+ adds r4, #0x40
+ ldr r0, [r5]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xef
+ bgt _0804EFD6
+ ldr r1, _0804F01C @ =0x040000D4
+ ldr r0, [r3]
+ str r0, [r1]
+ ldr r0, [r2, #0x40]
+ str r0, [r1, #4]
+ ldr r0, _0804F020 @ =0x80000050
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804EFD6:
+ ldr r2, _0804F01C @ =0x040000D4
+ ldr r0, [r3, #4]
+ str r0, [r2]
+ ldr r0, [r4, #4]
+ str r0, [r2, #4]
+ ldr r1, _0804F020 @ =0x80000050
+ str r1, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #8]
+ str r0, [r2]
+ ldr r0, [r4, #8]
+ str r0, [r2, #4]
+ str r1, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r5]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x58
+ ble _0804F00C
+ ldr r0, [r3, #0xc]
+ str r0, [r2]
+ ldr r0, [r4, #0xc]
+ str r0, [r2, #4]
+ ldr r0, _0804F024 @ =0x80000030
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+_0804F00C:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804F014: .4byte 0x000001A5
+_0804F018: .4byte 0x086B0B20
+_0804F01C: .4byte 0x040000D4
+_0804F020: .4byte 0x80000050
+_0804F024: .4byte 0x80000030
+
+ thumb_func_start sub_4F028
+sub_4F028: @ 0x0804F028
+ push {r4, r5, lr}
+ movs r3, #0
+ ldr r1, _0804F0CC @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r4, _0804F0D0 @ =0x00000731
+ adds r0, r0, r4
+ strb r3, [r0]
+ ldr r2, [r1]
+ ldr r5, _0804F0D4 @ =0x0000072F
+ adds r0, r2, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r5, r1, #0
+ cmp r0, #1
+ ble _0804F056
+ movs r0, #0x13
+ ldrsb r0, [r2, r0]
+ cmp r0, #2
+ bgt _0804F056
+ adds r1, r2, r4
+ movs r0, #1
+ strb r0, [r1]
+_0804F056:
+ ldr r2, [r5]
+ ldr r1, _0804F0D0 @ =0x00000731
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _0804F074
+ ldr r5, _0804F0D8 @ =0x00000734
+ adds r0, r2, r5
+ ldrh r1, [r0]
+ movs r0, #1
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r3, r0, #0x10
+_0804F074:
+ lsls r0, r3, #0x10
+ asrs r0, r0, #0xc
+ ldr r4, _0804F0DC @ =0x086B0B94
+ adds r3, r0, r4
+ adds r5, r4, #0
+ adds r5, #0x20
+ adds r0, r2, #0
+ adds r0, #0x6a
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ ldr r0, _0804F0E0 @ =0x00000107
+ cmp r1, r0
+ bgt _0804F09E
+ ldr r1, _0804F0E4 @ =0x040000D4
+ ldr r0, [r3]
+ str r0, [r1]
+ ldr r0, [r4, #0x20]
+ str r0, [r1, #4]
+ ldr r0, _0804F0E8 @ =0x80000020
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804F09E:
+ ldr r0, _0804F0E4 @ =0x040000D4
+ ldr r1, [r3, #4]
+ str r1, [r0]
+ ldr r1, [r5, #4]
+ str r1, [r0, #4]
+ ldr r2, _0804F0EC @ =0x80000040
+ str r2, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, [r3, #8]
+ str r1, [r0]
+ ldr r1, [r5, #8]
+ str r1, [r0, #4]
+ str r2, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, [r3, #0xc]
+ str r1, [r0]
+ ldr r1, [r5, #0xc]
+ str r1, [r0, #4]
+ str r2, [r0, #8]
+ ldr r0, [r0, #8]
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804F0CC: .4byte gUnknown_020314E0
+_0804F0D0: .4byte 0x00000731
+_0804F0D4: .4byte 0x0000072F
+_0804F0D8: .4byte 0x00000734
+_0804F0DC: .4byte 0x086B0B94
+_0804F0E0: .4byte 0x00000107
+_0804F0E4: .4byte 0x040000D4
+_0804F0E8: .4byte 0x80000020
+_0804F0EC: .4byte 0x80000040
+
+ thumb_func_start sub_4F0F0
+sub_4F0F0: @ 0x0804F0F0
+ push {r4, r5, r6, r7, lr}
+ ldr r5, _0804F1E8 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ ldr r0, _0804F1EC @ =0x0000071B
+ adds r1, r4, r0
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ adds r7, r5, #0
+ cmp r0, #0
+ bne _0804F106
+ b _0804F24C
+_0804F106:
+ ldr r6, _0804F1F0 @ =0x0000071C
+ adds r0, r4, r6
+ ldrb r3, [r0]
+ cmp r3, #0
+ bne _0804F112
+ b _0804F220
+_0804F112:
+ movs r1, #0xbe
+ lsls r1, r1, #2
+ adds r0, r4, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0804F152
+ ldr r0, _0804F1F4 @ =gMain
+ ldr r0, [r0, #0x50]
+ movs r1, #0x14
+ bl __umodsi3
+ movs r1, #0xa
+ bl __udivsi3
+ movs r2, #0xe3
+ lsls r2, r2, #3
+ adds r1, r4, r2
+ strb r0, [r1]
+ ldr r0, [r5]
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ ldr r3, _0804F1F8 @ =0x00000719
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r2, r0, r2
+ ldrb r1, [r2]
+ ldr r4, _0804F1FC @ =0x0000071A
+ adds r0, r0, r4
+ strb r1, [r0]
+_0804F152:
+ ldr r1, [r5]
+ adds r0, r1, r6
+ ldrb r0, [r0]
+ cmp r0, #0x1c
+ bne _0804F196
+ ldr r3, _0804F200 @ =0x000005F6
+ adds r1, r1, r3
+ ldrb r2, [r1]
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ cmp r0, #2
+ bgt _0804F16E
+ adds r0, r2, #1
+ strb r0, [r1]
+_0804F16E:
+ ldr r1, [r5]
+ movs r0, #0xbf
+ lsls r0, r0, #3
+ adds r2, r1, r0
+ movs r0, #0xe1
+ lsls r0, r0, #4
+ strh r0, [r2]
+ ldr r2, _0804F204 @ =0x040000D4
+ adds r1, r1, r3
+ movs r0, #0
+ ldrsb r0, [r1, r0]
+ lsls r0, r0, #5
+ ldr r1, _0804F208 @ =0x08137E14
+ adds r0, r0, r1
+ str r0, [r2]
+ ldr r0, _0804F20C @ =0x05000220
+ str r0, [r2, #4]
+ ldr r0, _0804F210 @ =0x80000010
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+_0804F196:
+ adds r5, r7, #0
+ ldr r0, [r5]
+ ldr r4, _0804F1F0 @ =0x0000071C
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ cmp r0, #0x28
+ bne _0804F1AC
+ ldr r0, _0804F214 @ =0x02032F20
+ ldr r1, _0804F218 @ =0x0869F664
+ bl MPlayStart
+_0804F1AC:
+ ldr r0, [r5]
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ cmp r0, #0x3c
+ bne _0804F1C2
+ ldr r0, _0804F1F4 @ =gMain
+ ldr r0, [r0, #0x44]
+ adds r0, #0xac
+ ldr r1, [r0]
+ movs r0, #1
+ strh r0, [r1]
+_0804F1C2:
+ ldr r2, [r7]
+ ldr r3, _0804F21C @ =0x086B0E20
+ adds r0, r2, r4
+ ldrb r1, [r0]
+ lsrs r1, r1, #1
+ movs r0, #0x1e
+ subs r0, r0, r1
+ lsls r0, r0, #1
+ adds r0, r0, r3
+ ldrh r0, [r0]
+ adds r2, #0x6e
+ strb r0, [r2]
+ ldr r1, [r7]
+ adds r1, r1, r4
+ ldrb r0, [r1]
+ subs r0, #1
+ strb r0, [r1]
+ b _0804F24C
+ .align 2, 0
+_0804F1E8: .4byte gUnknown_020314E0
+_0804F1EC: .4byte 0x0000071B
+_0804F1F0: .4byte 0x0000071C
+_0804F1F4: .4byte gMain
+_0804F1F8: .4byte 0x00000719
+_0804F1FC: .4byte 0x0000071A
+_0804F200: .4byte 0x000005F6
+_0804F204: .4byte 0x040000D4
+_0804F208: .4byte 0x08137E14
+_0804F20C: .4byte 0x05000220
+_0804F210: .4byte 0x80000010
+_0804F214: .4byte 0x02032F20
+_0804F218: .4byte 0x0869F664
+_0804F21C: .4byte 0x086B0E20
+_0804F220:
+ strb r3, [r1]
+ ldr r2, [r5]
+ movs r1, #0xbe
+ lsls r1, r1, #2
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0804F246
+ ldr r4, _0804F254 @ =0x0000071A
+ adds r0, r2, r4
+ strb r3, [r0]
+ subs r4, #1
+ adds r0, r2, r4
+ strb r3, [r0]
+ subs r4, #1
+ adds r0, r2, r4
+ strb r3, [r0]
+_0804F246:
+ ldr r0, [r5]
+ adds r0, r0, r1
+ strb r3, [r0]
+_0804F24C:
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804F254: .4byte 0x0000071A
+
+ thumb_func_start sub_4F258
+sub_4F258: @ 0x0804F258
+ push {r4, r5, r6, r7, lr}
+ movs r1, #0
+ ldr r0, _0804F2A8 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r2, #0xe3
+ lsls r2, r2, #3
+ adds r5, r0, r2
+ ldr r4, _0804F2AC @ =0x086B0B70
+ adds r7, r4, #0
+ adds r7, #8
+ ldr r3, _0804F2B0 @ =0x040000D4
+ ldr r6, _0804F2B4 @ =0x80000020
+_0804F270:
+ lsls r2, r1, #0x10
+ asrs r2, r2, #0x10
+ lsls r1, r2, #1
+ adds r1, r1, r2
+ lsls r1, r1, #2
+ adds r0, r5, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #2
+ adds r0, r0, r4
+ adds r0, r1, r0
+ adds r1, r1, r7
+ ldr r0, [r0]
+ str r0, [r3]
+ ldr r0, [r1]
+ str r0, [r3, #4]
+ str r6, [r3, #8]
+ ldr r0, [r3, #8]
+ adds r2, #1
+ lsls r2, r2, #0x10
+ lsrs r1, r2, #0x10
+ asrs r2, r2, #0x10
+ cmp r2, #2
+ ble _0804F270
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804F2A8: .4byte gUnknown_020314E0
+_0804F2AC: .4byte 0x086B0B70
+_0804F2B0: .4byte 0x040000D4
+_0804F2B4: .4byte 0x80000020
+
+ thumb_func_start sub_4F2B8
+sub_4F2B8: @ 0x0804F2B8
+ push {r4, r5, lr}
+ ldr r0, _0804F2EC @ =gUnknown_020314E0
+ ldr r1, [r0]
+ ldr r0, _0804F2F0 @ =0x0000072B
+ adds r3, r1, r0
+ movs r0, #0
+ ldrsb r0, [r3, r0]
+ cmp r0, #0
+ ble _0804F306
+ ldr r5, _0804F2F4 @ =0x0000072C
+ adds r2, r1, r5
+ ldrh r4, [r2]
+ ldr r0, _0804F2F8 @ =0x086B08C4
+ movs r1, #0
+ ldrsb r1, [r3, r1]
+ subs r1, #1
+ lsls r1, r1, #1
+ adds r1, r1, r0
+ movs r5, #0
+ ldrsh r0, [r1, r5]
+ cmp r4, r0
+ bge _0804F2FC
+ adds r0, r4, #1
+ strh r0, [r2]
+ b _0804F306
+ .align 2, 0
+_0804F2EC: .4byte gUnknown_020314E0
+_0804F2F0: .4byte 0x0000072B
+_0804F2F4: .4byte 0x0000072C
+_0804F2F8: .4byte 0x086B08C4
+_0804F2FC:
+ movs r0, #0
+ strh r0, [r2]
+ ldrb r0, [r3]
+ subs r0, #1
+ strb r0, [r3]
+_0804F306:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+
+ thumb_func_start sub_4F30C
+sub_4F30C: @ 0x0804F30C
+ push {r4, r5, lr}
+ sub sp, #8
+ ldr r1, _0804F33C @ =gUnknown_020314E0
+ ldr r2, [r1]
+ ldr r3, _0804F340 @ =0x0000072B
+ adds r0, r2, r3
+ movs r3, #0
+ ldrsb r3, [r0, r3]
+ adds r4, r1, #0
+ cmp r3, #0
+ bne _0804F348
+ mov r1, sp
+ ldr r5, _0804F344 @ =0x00000734
+ adds r2, r2, r5
+ movs r5, #0
+ ldrsh r0, [r2, r5]
+ lsls r0, r0, #1
+ strh r0, [r1]
+ ldrh r0, [r2]
+ strh r0, [r1, #2]
+ mov r0, sp
+ strh r3, [r0, #4]
+ b _0804F396
+ .align 2, 0
+_0804F33C: .4byte gUnknown_020314E0
+_0804F340: .4byte 0x0000072B
+_0804F344: .4byte 0x00000734
+_0804F348:
+ cmp r3, #1
+ bne _0804F36C
+ mov r1, sp
+ movs r0, #3
+ strh r0, [r1]
+ ldr r0, _0804F368 @ =0x00000734
+ adds r2, r2, r0
+ ldrh r0, [r2]
+ adds r0, #1
+ strh r0, [r1, #2]
+ movs r3, #0
+ ldrsh r0, [r2, r3]
+ lsls r0, r0, #1
+ strh r0, [r1, #4]
+ b _0804F396
+ .align 2, 0
+_0804F368: .4byte 0x00000734
+_0804F36C:
+ cmp r3, #2
+ bne _0804F38C
+ mov r0, sp
+ movs r1, #3
+ strh r1, [r0]
+ strh r1, [r0, #2]
+ mov r1, sp
+ ldr r5, _0804F388 @ =0x00000734
+ adds r0, r2, r5
+ ldrh r0, [r0]
+ adds r0, #2
+ strh r0, [r1, #4]
+ b _0804F396
+ .align 2, 0
+_0804F388: .4byte 0x00000734
+_0804F38C:
+ mov r0, sp
+ movs r1, #3
+ strh r1, [r0]
+ strh r1, [r0, #2]
+ strh r1, [r0, #4]
+_0804F396:
+ mov r0, sp
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ ldr r2, _0804F4A8 @ =0x086B0CB8
+ adds r3, r0, r2
+ adds r5, r2, #0
+ adds r5, #0x30
+ ldr r0, [r4]
+ adds r0, #0x6a
+ ldrh r0, [r0]
+ subs r0, #0x2a
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0xa5
+ bhi _0804F3CA
+ ldr r1, _0804F4AC @ =0x040000D4
+ ldr r0, [r3]
+ str r0, [r1]
+ ldr r0, [r2, #0x30]
+ str r0, [r1, #4]
+ ldr r0, _0804F4B0 @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804F3CA:
+ ldr r0, [r4]
+ adds r4, r0, #0
+ adds r4, #0x6a
+ ldrh r0, [r4]
+ subs r0, #0x32
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0xa5
+ bhi _0804F3EC
+ ldr r1, _0804F4AC @ =0x040000D4
+ ldr r0, [r3, #4]
+ str r0, [r1]
+ ldr r0, [r5, #4]
+ str r0, [r1, #4]
+ ldr r0, _0804F4B0 @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804F3EC:
+ mov r0, sp
+ movs r3, #2
+ ldrsh r1, [r0, r3]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ adds r1, r2, #0
+ adds r1, #0x3c
+ adds r3, r0, r1
+ adds r5, r2, #0
+ adds r5, #0x6c
+ ldrh r0, [r4]
+ subs r0, #0x3a
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0xa5
+ bhi _0804F41E
+ ldr r1, _0804F4AC @ =0x040000D4
+ ldr r0, [r3]
+ str r0, [r1]
+ ldr r0, [r2, #0x6c]
+ str r0, [r1, #4]
+ ldr r0, _0804F4B0 @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804F41E:
+ ldrh r0, [r4]
+ subs r0, #0x42
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0xa5
+ bhi _0804F43A
+ ldr r1, _0804F4AC @ =0x040000D4
+ ldr r0, [r3, #4]
+ str r0, [r1]
+ ldr r0, [r5, #4]
+ str r0, [r1, #4]
+ ldr r0, _0804F4B0 @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804F43A:
+ mov r0, sp
+ movs r5, #4
+ ldrsh r1, [r0, r5]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ adds r1, r2, #0
+ adds r1, #0x78
+ adds r3, r0, r1
+ adds r5, r2, #0
+ adds r5, #0xa8
+ ldrh r0, [r4]
+ subs r0, #0x4a
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0xa5
+ bhi _0804F46C
+ ldr r1, _0804F4AC @ =0x040000D4
+ ldr r0, [r3]
+ str r0, [r1]
+ ldr r0, [r5]
+ str r0, [r1, #4]
+ ldr r0, _0804F4B0 @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804F46C:
+ ldrh r0, [r4]
+ subs r0, #0x52
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0xa5
+ bhi _0804F488
+ ldr r1, _0804F4AC @ =0x040000D4
+ ldr r0, [r3, #4]
+ str r0, [r1]
+ ldr r0, [r5, #4]
+ str r0, [r1, #4]
+ ldr r0, _0804F4B0 @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804F488:
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ cmp r0, #0x59
+ ble _0804F4A0
+ ldr r1, _0804F4AC @ =0x040000D4
+ ldr r0, [r3, #8]
+ str r0, [r1]
+ ldr r0, [r5, #8]
+ str r0, [r1, #4]
+ ldr r0, _0804F4B0 @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804F4A0:
+ add sp, #8
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804F4A8: .4byte 0x086B0CB8
+_0804F4AC: .4byte 0x040000D4
+_0804F4B0: .4byte 0x80000030
+
+ thumb_func_start sub_4F4B4
+sub_4F4B4: @ 0x0804F4B4
+ push {r4, r5, r6, lr}
+ sub sp, #8
+ ldr r0, _0804F4E8 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ movs r1, #0x13
+ ldrsb r1, [r2, r1]
+ adds r6, r0, #0
+ cmp r1, #2
+ bgt _0804F53C
+ ldr r1, _0804F4EC @ =0x0000072E
+ adds r0, r2, r1
+ movs r3, #0
+ ldrsb r3, [r0, r3]
+ cmp r3, #0
+ bne _0804F4F4
+ mov r1, sp
+ ldr r4, _0804F4F0 @ =0x00000734
+ adds r0, r2, r4
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #1
+ strh r0, [r1]
+ mov r0, sp
+ strh r3, [r0, #2]
+ strh r3, [r0, #4]
+ b _0804F562
+ .align 2, 0
+_0804F4E8: .4byte gUnknown_020314E0
+_0804F4EC: .4byte 0x0000072E
+_0804F4F0: .4byte 0x00000734
+_0804F4F4:
+ cmp r3, #1
+ bne _0804F514
+ mov r1, sp
+ movs r0, #3
+ strh r0, [r1]
+ ldr r3, _0804F510 @ =0x00000734
+ adds r2, r2, r3
+ ldrh r0, [r2]
+ adds r0, #1
+ strh r0, [r1, #2]
+ movs r4, #0
+ ldrsh r0, [r2, r4]
+ lsls r0, r0, #1
+ b _0804F560
+ .align 2, 0
+_0804F510: .4byte 0x00000734
+_0804F514:
+ cmp r3, #2
+ bne _0804F530
+ mov r0, sp
+ movs r1, #3
+ strh r1, [r0]
+ strh r1, [r0, #2]
+ mov r1, sp
+ ldr r3, _0804F52C @ =0x00000734
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ adds r0, #2
+ b _0804F560
+ .align 2, 0
+_0804F52C: .4byte 0x00000734
+_0804F530:
+ mov r0, sp
+ movs r1, #3
+ strh r1, [r0]
+ strh r1, [r0, #2]
+ strh r1, [r0, #4]
+ b _0804F562
+_0804F53C:
+ mov r1, sp
+ ldr r4, _0804F648 @ =0x00000739
+ adds r0, r2, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ strh r0, [r1]
+ ldr r3, _0804F64C @ =0x0000073A
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ strh r0, [r1, #2]
+ adds r4, #2
+ adds r0, r2, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+_0804F560:
+ strh r0, [r1, #4]
+_0804F562:
+ mov r0, sp
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ ldr r3, _0804F650 @ =0x086B0C04
+ mov ip, r3
+ adds r3, r0, r3
+ mov r4, ip
+ adds r4, #0x30
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ ldr r0, _0804F654 @ =0x00000107
+ cmp r1, r0
+ bgt _0804F598
+ ldr r1, _0804F658 @ =0x040000D4
+ ldr r0, [r3]
+ str r0, [r1]
+ mov r2, ip
+ ldr r0, [r2, #0x30]
+ str r0, [r1, #4]
+ ldr r0, _0804F65C @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804F598:
+ ldr r2, _0804F658 @ =0x040000D4
+ ldr r0, [r3, #4]
+ str r0, [r2]
+ ldr r0, [r4, #4]
+ str r0, [r2, #4]
+ ldr r5, _0804F65C @ =0x80000030
+ str r5, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #8]
+ str r0, [r2]
+ ldr r0, [r4, #8]
+ str r0, [r2, #4]
+ str r5, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r6]
+ adds r6, r0, #0
+ adds r6, #0x6a
+ movs r3, #0
+ ldrsh r0, [r6, r3]
+ cmp r0, #0x78
+ ble _0804F5FE
+ mov r0, sp
+ movs r4, #2
+ ldrsh r1, [r0, r4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ mov r1, ip
+ adds r1, #0x3c
+ adds r3, r0, r1
+ mov r4, ip
+ adds r4, #0x6c
+ ldr r0, [r3]
+ str r0, [r2]
+ mov r1, ip
+ ldr r0, [r1, #0x6c]
+ str r0, [r2, #4]
+ str r5, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #4]
+ str r0, [r2]
+ ldr r0, [r4, #4]
+ str r0, [r2, #4]
+ str r5, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #8]
+ str r0, [r2]
+ ldr r0, [r4, #8]
+ str r0, [r2, #4]
+ str r5, [r2, #8]
+ ldr r0, [r2, #8]
+_0804F5FE:
+ movs r3, #0
+ ldrsh r0, [r6, r3]
+ cmp r0, #0x88
+ ble _0804F640
+ mov r0, sp
+ movs r4, #4
+ ldrsh r1, [r0, r4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ mov r1, ip
+ adds r1, #0x78
+ adds r3, r0, r1
+ mov r4, ip
+ adds r4, #0xa8
+ ldr r0, [r3]
+ str r0, [r2]
+ ldr r0, [r4]
+ str r0, [r2, #4]
+ str r5, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #4]
+ str r0, [r2]
+ ldr r0, [r4, #4]
+ str r0, [r2, #4]
+ str r5, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #8]
+ str r0, [r2]
+ ldr r0, [r4, #8]
+ str r0, [r2, #4]
+ str r5, [r2, #8]
+ ldr r0, [r2, #8]
+_0804F640:
+ add sp, #8
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804F648: .4byte 0x00000739
+_0804F64C: .4byte 0x0000073A
+_0804F650: .4byte 0x086B0C04
+_0804F654: .4byte 0x00000107
+_0804F658: .4byte 0x040000D4
+_0804F65C: .4byte 0x80000030
+
+ thumb_func_start sub_4F660
+sub_4F660: @ 0x0804F660
+ push {r4, r5, r6, lr}
+ sub sp, #8
+ ldr r0, _0804F694 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ movs r1, #0x13
+ ldrsb r1, [r2, r1]
+ adds r5, r0, #0
+ cmp r1, #2
+ bgt _0804F6E8
+ ldr r1, _0804F698 @ =0x0000072F
+ adds r0, r2, r1
+ movs r3, #0
+ ldrsb r3, [r0, r3]
+ cmp r3, #0
+ bne _0804F6A0
+ mov r1, sp
+ ldr r4, _0804F69C @ =0x00000734
+ adds r0, r2, r4
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #1
+ strh r0, [r1]
+ mov r0, sp
+ strh r3, [r0, #2]
+ strh r3, [r0, #4]
+ b _0804F70E
+ .align 2, 0
+_0804F694: .4byte gUnknown_020314E0
+_0804F698: .4byte 0x0000072F
+_0804F69C: .4byte 0x00000734
+_0804F6A0:
+ cmp r3, #1
+ bne _0804F6C0
+ mov r1, sp
+ movs r0, #3
+ strh r0, [r1]
+ ldr r3, _0804F6BC @ =0x00000734
+ adds r2, r2, r3
+ ldrh r0, [r2]
+ adds r0, #1
+ strh r0, [r1, #2]
+ movs r4, #0
+ ldrsh r0, [r2, r4]
+ lsls r0, r0, #1
+ b _0804F70C
+ .align 2, 0
+_0804F6BC: .4byte 0x00000734
+_0804F6C0:
+ cmp r3, #2
+ bne _0804F6DC
+ mov r0, sp
+ movs r1, #3
+ strh r1, [r0]
+ strh r1, [r0, #2]
+ mov r1, sp
+ ldr r3, _0804F6D8 @ =0x00000734
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ adds r0, #2
+ b _0804F70C
+ .align 2, 0
+_0804F6D8: .4byte 0x00000734
+_0804F6DC:
+ mov r0, sp
+ movs r1, #3
+ strh r1, [r0]
+ strh r1, [r0, #2]
+ strh r1, [r0, #4]
+ b _0804F70E
+_0804F6E8:
+ mov r1, sp
+ ldr r4, _0804F7F8 @ =0x00000736
+ adds r0, r2, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ strh r0, [r1]
+ ldr r3, _0804F7FC @ =0x00000737
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ strh r0, [r1, #2]
+ adds r4, #2
+ adds r0, r2, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+_0804F70C:
+ strh r0, [r1, #4]
+_0804F70E:
+ mov r0, sp
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ ldr r3, _0804F800 @ =0x086B0D6C
+ mov ip, r3
+ adds r3, r0, r3
+ mov r4, ip
+ adds r4, #0x30
+ ldr r0, [r5]
+ adds r0, #0x6a
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ ldr r0, _0804F804 @ =0x00000107
+ cmp r1, r0
+ bgt _0804F744
+ ldr r1, _0804F808 @ =0x040000D4
+ ldr r0, [r3]
+ str r0, [r1]
+ mov r2, ip
+ ldr r0, [r2, #0x30]
+ str r0, [r1, #4]
+ ldr r0, _0804F80C @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804F744:
+ ldr r2, _0804F808 @ =0x040000D4
+ ldr r0, [r3, #4]
+ str r0, [r2]
+ ldr r0, [r4, #4]
+ str r0, [r2, #4]
+ ldr r6, _0804F80C @ =0x80000030
+ str r6, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #8]
+ str r0, [r2]
+ ldr r0, [r4, #8]
+ str r0, [r2, #4]
+ str r6, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r5]
+ adds r5, r0, #0
+ adds r5, #0x6a
+ movs r3, #0
+ ldrsh r0, [r5, r3]
+ cmp r0, #0x78
+ ble _0804F7AC
+ mov r0, sp
+ movs r4, #2
+ ldrsh r1, [r0, r4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ mov r1, ip
+ adds r1, #0x3c
+ adds r3, r0, r1
+ mov r4, ip
+ adds r4, #0x6c
+ ldr r0, [r3]
+ str r0, [r2]
+ mov r1, ip
+ ldr r0, [r1, #0x6c]
+ str r0, [r2, #4]
+ ldr r1, _0804F810 @ =0x80000020
+ str r1, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #4]
+ str r0, [r2]
+ ldr r0, [r4, #4]
+ str r0, [r2, #4]
+ str r1, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #8]
+ str r0, [r2]
+ ldr r0, [r4, #8]
+ str r0, [r2, #4]
+ str r6, [r2, #8]
+ ldr r0, [r2, #8]
+_0804F7AC:
+ movs r3, #0
+ ldrsh r0, [r5, r3]
+ cmp r0, #0x88
+ ble _0804F7F0
+ mov r0, sp
+ movs r4, #4
+ ldrsh r1, [r0, r4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ mov r1, ip
+ adds r1, #0x78
+ adds r3, r0, r1
+ mov r4, ip
+ adds r4, #0xa8
+ ldr r0, [r3]
+ str r0, [r2]
+ ldr r0, [r4]
+ str r0, [r2, #4]
+ ldr r0, _0804F810 @ =0x80000020
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #4]
+ str r0, [r2]
+ ldr r0, [r4, #4]
+ str r0, [r2, #4]
+ str r6, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #8]
+ str r0, [r2]
+ ldr r0, [r4, #8]
+ str r0, [r2, #4]
+ str r6, [r2, #8]
+ ldr r0, [r2, #8]
+_0804F7F0:
+ add sp, #8
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804F7F8: .4byte 0x00000736
+_0804F7FC: .4byte 0x00000737
+_0804F800: .4byte 0x086B0D6C
+_0804F804: .4byte 0x00000107
+_0804F808: .4byte 0x040000D4
+_0804F80C: .4byte 0x80000030
+_0804F810: .4byte 0x80000020
+
+ thumb_func_start sub_4F814
+sub_4F814: @ 0x0804F814
+ push {r4, r5, r6, lr}
+ ldr r6, _0804F94C @ =gUnknown_020314E0
+ ldr r4, [r6]
+ ldr r0, _0804F950 @ =0x0000070C
+ adds r5, r4, r0
+ ldrh r0, [r5]
+ movs r1, #0x28
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ movs r1, #0x14
+ bl __udivsi3
+ ldr r1, _0804F954 @ =0x00000734
+ adds r4, r4, r1
+ strh r0, [r4]
+ ldrh r0, [r5]
+ adds r0, #1
+ strh r0, [r5]
+ bl sub_50710
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x53
+ ble _0804F850
+ bl sub_50000
+_0804F850:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x12
+ ble _0804F860
+ bl sub_500B4
+_0804F860:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ ldrh r0, [r0]
+ subs r0, #0x38
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0xba
+ bhi _0804F874
+ bl sub_505A4
+_0804F874:
+ bl sub_4F0F0
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x6f
+ bgt _0804F888
+ bl sub_506B0
+_0804F888:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ ldrh r0, [r0]
+ subs r0, #0x40
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0xbd
+ bhi _0804F89C
+ bl sub_504C0
+_0804F89C:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ ldrh r0, [r0]
+ subs r0, #0x1b
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0xb7
+ bhi _0804F8B4
+ bl sub_4FB08
+ bl sub_4F95C
+_0804F8B4:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x68
+ ble _0804F8C8
+ bl sub_50154
+ bl sub_5030C
+_0804F8C8:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x48
+ ble _0804F8D8
+ bl sub_4FE6C
+_0804F8D8:
+ bl sub_4F2B8
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x6e
+ ble _0804F8EC
+ bl sub_4FAC0
+_0804F8EC:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xb2
+ ble _0804F904
+ bl sub_4FBA4
+ bl sub_4FC7C
+ bl sub_4F9F0
+_0804F904:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xca
+ ble _0804F914
+ bl sub_4FD88
+_0804F914:
+ ldr r0, [r6]
+ adds r0, #0x6a
+ ldrh r0, [r0]
+ subs r0, #8
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0xad
+ bhi _0804F928
+ bl sub_507D4
+_0804F928:
+ ldr r0, [r6]
+ ldr r1, _0804F958 @ =0x00000724
+ adds r2, r0, r1
+ ldrh r1, [r2]
+ cmp r1, #0
+ beq _0804F944
+ adds r0, #0x25
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ bne _0804F944
+ subs r0, r1, #1
+ strh r0, [r2]
+_0804F944:
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804F94C: .4byte gUnknown_020314E0
+_0804F950: .4byte 0x0000070C
+_0804F954: .4byte 0x00000734
+_0804F958: .4byte 0x00000724
+
+ thumb_func_start sub_4F95C
+sub_4F95C: @ 0x0804F95C
+ push {r4, r5, r6, r7, lr}
+ ldr r0, _0804F9DC @ =gUnknown_020314E0
+ ldr r4, [r0]
+ ldr r1, _0804F9E0 @ =0x0000070E
+ adds r0, r4, r1
+ movs r5, #0
+ ldrsb r5, [r0, r5]
+ adds r0, r5, #0
+ movs r1, #0xa
+ bl __divsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #8
+ lsrs r6, r0, #0x10
+ adds r0, r5, #0
+ movs r1, #0xa
+ bl __modsi3
+ lsls r0, r0, #0x18
+ asrs r0, r0, #8
+ lsrs r7, r0, #0x10
+ adds r4, #0x6a
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ cmp r0, #0x24
+ ble _0804F9D6
+ lsls r0, r6, #0x10
+ asrs r0, r0, #0xc
+ ldr r3, _0804F9E4 @ =0x086B0E9C
+ adds r5, r0, r3
+ adds r4, r3, #0
+ adds r4, #0xa0
+ ldr r1, _0804F9E8 @ =0x040000D4
+ ldr r0, [r5]
+ str r0, [r1]
+ ldr r0, [r4]
+ str r0, [r1, #4]
+ ldr r2, _0804F9EC @ =0x80000010
+ str r2, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r0, [r5, #4]
+ str r0, [r1]
+ ldr r0, [r4, #4]
+ str r0, [r1, #4]
+ str r2, [r1, #8]
+ ldr r0, [r1, #8]
+ lsls r0, r7, #0x10
+ asrs r0, r0, #0xc
+ adds r5, r0, r3
+ ldr r0, [r5, #8]
+ str r0, [r1]
+ ldr r0, [r4, #8]
+ str r0, [r1, #4]
+ str r2, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r0, [r5, #0xc]
+ str r0, [r1]
+ ldr r0, [r4, #0xc]
+ str r0, [r1, #4]
+ str r2, [r1, #8]
+ ldr r0, [r1, #8]
+_0804F9D6:
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804F9DC: .4byte gUnknown_020314E0
+_0804F9E0: .4byte 0x0000070E
+_0804F9E4: .4byte 0x086B0E9C
+_0804F9E8: .4byte 0x040000D4
+_0804F9EC: .4byte 0x80000010
+
+ thumb_func_start sub_4F9F0
+sub_4F9F0: @ 0x0804F9F0
+ push {r4, r5, lr}
+ ldr r1, _0804FA9C @ =0x086B0E60
+ ldr r4, _0804FAA0 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ ldr r2, _0804FAA4 @ =0x00000716
+ adds r3, r0, r2
+ ldrb r2, [r3]
+ lsls r0, r2, #1
+ adds r0, r0, r1
+ ldrh r5, [r0]
+ cmp r2, #0
+ beq _0804FA2C
+ subs r0, r2, #1
+ strb r0, [r3]
+ ldr r0, [r4]
+ ldr r1, _0804FAA4 @ =0x00000716
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ cmp r0, #3
+ bne _0804FA2C
+ movs r0, #0x73
+ bl m4aSongNumStart
+ ldr r1, [r4]
+ movs r0, #0xfa
+ lsls r0, r0, #1
+ str r0, [r1, #0x3c]
+ movs r0, #7
+ bl sub_11B0
+_0804FA2C:
+ ldr r0, _0804FAA0 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ ldr r2, _0804FAA8 @ =0x00000717
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r3, r0, #4
+ subs r3, r3, r0
+ lsls r3, r3, #2
+ lsls r0, r5, #0x10
+ asrs r0, r0, #0x10
+ lsls r2, r0, #2
+ adds r2, r2, r0
+ lsls r2, r2, #2
+ ldr r0, _0804FAAC @ =0x086B108C
+ adds r2, r2, r0
+ adds r2, r3, r2
+ adds r0, #0x28
+ adds r3, r3, r0
+ ldr r0, _0804FAB0 @ =0x040000D4
+ ldr r1, [r2]
+ str r1, [r0]
+ ldr r1, [r3]
+ str r1, [r0, #4]
+ ldr r1, _0804FAB4 @ =0x80000010
+ str r1, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, [r2, #4]
+ str r1, [r0]
+ ldr r1, [r3, #4]
+ str r1, [r0, #4]
+ ldr r5, _0804FAB8 @ =0x80000020
+ str r5, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, [r2, #8]
+ str r1, [r0]
+ ldr r1, [r3, #8]
+ str r1, [r0, #4]
+ ldr r4, _0804FABC @ =0x80000030
+ str r4, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, [r2, #0xc]
+ str r1, [r0]
+ ldr r1, [r3, #0xc]
+ str r1, [r0, #4]
+ str r4, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, [r2, #0x10]
+ str r1, [r0]
+ ldr r1, [r3, #0x10]
+ str r1, [r0, #4]
+ str r5, [r0, #8]
+ ldr r0, [r0, #8]
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804FA9C: .4byte 0x086B0E60
+_0804FAA0: .4byte gUnknown_020314E0
+_0804FAA4: .4byte 0x00000716
+_0804FAA8: .4byte 0x00000717
+_0804FAAC: .4byte 0x086B108C
+_0804FAB0: .4byte 0x040000D4
+_0804FAB4: .4byte 0x80000010
+_0804FAB8: .4byte 0x80000020
+_0804FABC: .4byte 0x80000030
+
+ thumb_func_start sub_4FAC0
+sub_4FAC0: @ 0x0804FAC0
+ push {r4, lr}
+ ldr r0, _0804FAF8 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r1, #0xe6
+ lsls r1, r1, #3
+ adds r0, r0, r1
+ movs r2, #0
+ ldrsb r2, [r0, r2]
+ lsls r2, r2, #3
+ ldr r3, _0804FAFC @ =0x086B1104
+ adds r2, r2, r3
+ ldr r0, _0804FB00 @ =0x040000D4
+ ldr r1, [r2]
+ str r1, [r0]
+ ldr r1, [r3, #0x18]
+ str r1, [r0, #4]
+ ldr r4, _0804FB04 @ =0x80000020
+ str r4, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, [r2, #4]
+ str r1, [r0]
+ ldr r1, [r3, #0x1c]
+ str r1, [r0, #4]
+ str r4, [r0, #8]
+ ldr r0, [r0, #8]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804FAF8: .4byte gUnknown_020314E0
+_0804FAFC: .4byte 0x086B1104
+_0804FB00: .4byte 0x040000D4
+_0804FB04: .4byte 0x80000020
+
+ thumb_func_start sub_4FB08
+sub_4FB08: @ 0x0804FB08
+ push {r4, r5, lr}
+ ldr r0, _0804FB88 @ =gMain
+ ldr r0, [r0, #0x4c]
+ movs r1, #0x3f
+ ands r0, r1
+ lsrs r0, r0, #4
+ lsls r0, r0, #4
+ ldr r2, _0804FB8C @ =0x086B0F4C
+ adds r3, r0, r2
+ adds r5, r2, #0
+ adds r5, #0x40
+ ldr r4, _0804FB90 @ =gUnknown_020314E0
+ ldr r0, [r4]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xbf
+ bgt _0804FB3C
+ ldr r1, _0804FB94 @ =0x040000D4
+ ldr r0, [r3]
+ str r0, [r1]
+ ldr r0, [r2, #0x40]
+ str r0, [r1, #4]
+ ldr r0, _0804FB98 @ =0x80000020
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804FB3C:
+ ldr r0, [r4]
+ adds r2, r0, #0
+ adds r2, #0x6a
+ movs r1, #0
+ ldrsh r0, [r2, r1]
+ cmp r0, #0xc7
+ bgt _0804FB5A
+ ldr r1, _0804FB94 @ =0x040000D4
+ ldr r0, [r3, #4]
+ str r0, [r1]
+ ldr r0, [r5, #4]
+ str r0, [r1, #4]
+ ldr r0, _0804FB9C @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804FB5A:
+ movs r1, #0
+ ldrsh r0, [r2, r1]
+ cmp r0, #0xcf
+ bgt _0804FB72
+ ldr r1, _0804FB94 @ =0x040000D4
+ ldr r0, [r3, #8]
+ str r0, [r1]
+ ldr r0, [r5, #8]
+ str r0, [r1, #4]
+ ldr r0, _0804FBA0 @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804FB72:
+ ldr r1, _0804FB94 @ =0x040000D4
+ ldr r0, [r3, #0xc]
+ str r0, [r1]
+ ldr r0, [r5, #0xc]
+ str r0, [r1, #4]
+ ldr r0, _0804FBA0 @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804FB88: .4byte gMain
+_0804FB8C: .4byte 0x086B0F4C
+_0804FB90: .4byte gUnknown_020314E0
+_0804FB94: .4byte 0x040000D4
+_0804FB98: .4byte 0x80000020
+_0804FB9C: .4byte 0x80000040
+_0804FBA0: .4byte 0x80000030
+
+ thumb_func_start sub_4FBA4
+sub_4FBA4: @ 0x0804FBA4
+ push {r4, r5, r6, r7, lr}
+ ldr r7, _0804FC60 @ =gUnknown_020314E0
+ ldr r5, [r7]
+ movs r0, #0xe4
+ lsls r0, r0, #3
+ adds r1, r5, r0
+ ldrb r0, [r1]
+ cmp r0, #0
+ beq _0804FC0A
+ ldr r6, _0804FC64 @ =0x00000721
+ adds r0, r5, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ ldr r4, _0804FC68 @ =0x0000071D
+ adds r5, r5, r4
+ adds r5, r5, r0
+ ldrb r0, [r1]
+ movs r1, #0x24
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ movs r1, #0x12
+ bl __udivsi3
+ movs r1, #1
+ subs r1, r1, r0
+ strb r1, [r5]
+ ldr r0, [r7]
+ ldr r2, _0804FC6C @ =0x00000722
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ lsls r1, r1, #0x18
+ asrs r1, r1, #0x18
+ adds r4, r0, r4
+ adds r1, r4, r1
+ adds r0, r0, r6
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r4, r4, r0
+ ldrb r0, [r4]
+ strb r0, [r1]
+ ldr r1, [r7]
+ movs r0, #0xe4
+ lsls r0, r0, #3
+ adds r1, r1, r0
+ ldrb r0, [r1]
+ subs r0, #1
+ strb r0, [r1]
+_0804FC0A:
+ movs r1, #0
+ ldr r0, [r7]
+ ldr r2, _0804FC68 @ =0x0000071D
+ adds r7, r0, r2
+ ldr r6, _0804FC70 @ =0x086B1124
+ movs r0, #0x30
+ adds r0, r0, r6
+ mov ip, r0
+ ldr r4, _0804FC74 @ =0x040000D4
+ ldr r5, _0804FC78 @ =0x80000020
+_0804FC1E:
+ lsls r3, r1, #0x10
+ asrs r3, r3, #0x10
+ lsls r2, r3, #3
+ subs r2, r2, r3
+ lsls r2, r2, #3
+ adds r0, r7, r3
+ movs r1, #0
+ ldrsb r1, [r0, r1]
+ lsls r1, r1, #3
+ adds r1, r1, r6
+ adds r1, r2, r1
+ add r2, ip
+ ldr r0, [r1]
+ str r0, [r4]
+ ldr r0, [r2]
+ str r0, [r4, #4]
+ str r5, [r4, #8]
+ ldr r0, [r4, #8]
+ ldr r0, [r1, #4]
+ str r0, [r4]
+ ldr r0, [r2, #4]
+ str r0, [r4, #4]
+ str r5, [r4, #8]
+ ldr r0, [r4, #8]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r1, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #2
+ ble _0804FC1E
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804FC60: .4byte gUnknown_020314E0
+_0804FC64: .4byte 0x00000721
+_0804FC68: .4byte 0x0000071D
+_0804FC6C: .4byte 0x00000722
+_0804FC70: .4byte 0x086B1124
+_0804FC74: .4byte 0x040000D4
+_0804FC78: .4byte 0x80000020
+
+ thumb_func_start sub_4FC7C
+sub_4FC7C: @ 0x0804FC7C
+ push {r4, r5, r6, r7, lr}
+ ldr r5, _0804FCE4 @ =gUnknown_020314E0
+ ldr r4, [r5]
+ ldr r1, _0804FCE8 @ =0x00000714
+ adds r0, r4, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _0804FD26
+ ldr r2, _0804FCEC @ =0x00000715
+ adds r1, r4, r2
+ ldrb r0, [r1]
+ cmp r0, #0
+ beq _0804FCF8
+ movs r1, #0x24
+ bl __umodsi3
+ lsls r0, r0, #0x18
+ lsrs r0, r0, #0x18
+ movs r1, #0x12
+ bl __udivsi3
+ movs r2, #0xe2
+ lsls r2, r2, #3
+ adds r1, r4, r2
+ strb r0, [r1]
+ ldr r0, [r5]
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ ldr r3, _0804FCF0 @ =0x00000711
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ adds r3, #1
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r2, r0, r2
+ ldrb r1, [r2]
+ ldr r2, _0804FCF4 @ =0x00000713
+ adds r0, r0, r2
+ strb r1, [r0]
+ ldr r1, [r5]
+ adds r3, #3
+ adds r1, r1, r3
+ ldrb r0, [r1]
+ subs r0, #1
+ strb r0, [r1]
+ b _0804FD26
+ .align 2, 0
+_0804FCE4: .4byte gUnknown_020314E0
+_0804FCE8: .4byte 0x00000714
+_0804FCEC: .4byte 0x00000715
+_0804FCF0: .4byte 0x00000711
+_0804FCF4: .4byte 0x00000713
+_0804FCF8:
+ movs r2, #0xe2
+ lsls r2, r2, #3
+ adds r1, r4, r2
+ movs r0, #1
+ strb r0, [r1]
+ ldr r0, [r5]
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ ldr r3, _0804FD70 @ =0x00000711
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ adds r3, #1
+ adds r0, r0, r3
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r2, r0, r2
+ ldrb r1, [r2]
+ ldr r2, _0804FD74 @ =0x00000713
+ adds r0, r0, r2
+ strb r1, [r0]
+_0804FD26:
+ movs r2, #0
+ ldr r0, _0804FD78 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r3, #0xe2
+ lsls r3, r3, #3
+ adds r5, r0, r3
+ ldr r4, _0804FD7C @ =0x086B1300
+ adds r7, r4, #0
+ adds r7, #8
+ ldr r3, _0804FD80 @ =0x040000D4
+ ldr r6, _0804FD84 @ =0x80000020
+_0804FD3C:
+ lsls r1, r2, #0x10
+ asrs r1, r1, #0x10
+ lsls r2, r1, #4
+ adds r0, r5, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #2
+ adds r0, r0, r4
+ adds r0, r2, r0
+ adds r2, r2, r7
+ ldr r0, [r0]
+ str r0, [r3]
+ ldr r0, [r2]
+ str r0, [r3, #4]
+ str r6, [r3, #8]
+ ldr r0, [r3, #8]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r2, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #3
+ ble _0804FD3C
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804FD70: .4byte 0x00000711
+_0804FD74: .4byte 0x00000713
+_0804FD78: .4byte gUnknown_020314E0
+_0804FD7C: .4byte 0x086B1300
+_0804FD80: .4byte 0x040000D4
+_0804FD84: .4byte 0x80000020
+
+ thumb_func_start sub_4FD88
+sub_4FD88: @ 0x0804FD88
+ push {r4, r5, lr}
+ ldr r0, _0804FDA4 @ =gUnknown_020314E0
+ ldr r3, [r0]
+ ldr r2, _0804FDA8 @ =0x00000724
+ adds r1, r3, r2
+ ldrh r2, [r1]
+ movs r1, #0x96
+ lsls r1, r1, #1
+ adds r5, r0, #0
+ cmp r2, r1
+ bls _0804FDB0
+ ldr r0, _0804FDAC @ =0x00000726
+ adds r1, r3, r0
+ b _0804FDC6
+ .align 2, 0
+_0804FDA4: .4byte gUnknown_020314E0
+_0804FDA8: .4byte 0x00000724
+_0804FDAC: .4byte 0x00000726
+_0804FDB0:
+ cmp r2, #0
+ beq _0804FDEC
+ adds r0, r3, #0
+ adds r0, #0x25
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _0804FDD0
+ ldr r2, _0804FDCC @ =0x00000726
+ adds r1, r3, r2
+_0804FDC6:
+ movs r0, #1
+ strb r0, [r1]
+ b _0804FDF2
+ .align 2, 0
+_0804FDCC: .4byte 0x00000726
+_0804FDD0:
+ ldr r0, _0804FDE4 @ =gMain
+ ldr r0, [r0, #0x50]
+ movs r1, #0xf
+ ands r0, r1
+ lsrs r0, r0, #3
+ ldr r2, _0804FDE8 @ =0x00000726
+ adds r1, r3, r2
+ strb r0, [r1]
+ b _0804FDF2
+ .align 2, 0
+_0804FDE4: .4byte gMain
+_0804FDE8: .4byte 0x00000726
+_0804FDEC:
+ ldr r1, _0804FE54 @ =0x00000726
+ adds r0, r3, r1
+ strb r2, [r0]
+_0804FDF2:
+ ldr r0, [r5]
+ ldr r2, _0804FE54 @ =0x00000726
+ adds r0, r0, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #4
+ ldr r1, _0804FE58 @ =0x086B11CC
+ adds r3, r0, r1
+ adds r4, r1, #0
+ adds r4, #0x20
+ ldr r2, _0804FE5C @ =0x040000D4
+ ldr r0, [r3]
+ str r0, [r2]
+ ldr r0, [r1, #0x20]
+ str r0, [r2, #4]
+ ldr r1, _0804FE60 @ =0x80000070
+ str r1, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #4]
+ str r0, [r2]
+ ldr r0, [r4, #4]
+ str r0, [r2, #4]
+ str r1, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r5]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xd7
+ ble _0804FE4C
+ ldr r0, [r3, #8]
+ str r0, [r2]
+ ldr r0, [r4, #8]
+ str r0, [r2, #4]
+ ldr r0, _0804FE64 @ =0x80000060
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #0xc]
+ str r0, [r2]
+ ldr r0, [r4, #0xc]
+ str r0, [r2, #4]
+ ldr r0, _0804FE68 @ =0x80000020
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+_0804FE4C:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804FE54: .4byte 0x00000726
+_0804FE58: .4byte 0x086B11CC
+_0804FE5C: .4byte 0x040000D4
+_0804FE60: .4byte 0x80000070
+_0804FE64: .4byte 0x80000060
+_0804FE68: .4byte 0x80000020
+
+ thumb_func_start sub_4FE6C
+sub_4FE6C: @ 0x0804FE6C
+ push {r4, r5, r6, r7, lr}
+ sub sp, #8
+ ldr r1, _0804FE94 @ =gUnknown_020314E0
+ ldr r2, [r1]
+ ldr r3, _0804FE98 @ =0x0000072B
+ adds r0, r2, r3
+ movs r3, #0
+ ldrsb r3, [r0, r3]
+ adds r7, r1, #0
+ cmp r3, #0
+ bne _0804FEA0
+ mov r1, sp
+ ldr r4, _0804FE9C @ =0x00000734
+ adds r0, r2, r4
+ ldrh r0, [r0]
+ strh r0, [r1]
+ mov r0, sp
+ strh r3, [r0, #2]
+ strh r3, [r0, #4]
+ b _0804FEE2
+ .align 2, 0
+_0804FE94: .4byte gUnknown_020314E0
+_0804FE98: .4byte 0x0000072B
+_0804FE9C: .4byte 0x00000734
+_0804FEA0:
+ cmp r3, #1
+ bne _0804FEBC
+ mov r0, sp
+ strh r3, [r0]
+ mov r1, sp
+ ldr r0, _0804FEB8 @ =0x00000734
+ adds r2, r2, r0
+ ldrh r0, [r2]
+ strh r0, [r1, #2]
+ ldrh r0, [r2]
+ strh r0, [r1, #4]
+ b _0804FEE2
+ .align 2, 0
+_0804FEB8: .4byte 0x00000734
+_0804FEBC:
+ cmp r3, #2
+ bne _0804FED8
+ mov r0, sp
+ strh r3, [r0]
+ strh r3, [r0, #2]
+ mov r1, sp
+ ldr r3, _0804FED4 @ =0x00000734
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ adds r0, #1
+ strh r0, [r1, #4]
+ b _0804FEE2
+ .align 2, 0
+_0804FED4: .4byte 0x00000734
+_0804FED8:
+ mov r0, sp
+ movs r1, #2
+ strh r1, [r0]
+ strh r1, [r0, #2]
+ strh r1, [r0, #4]
+_0804FEE2:
+ mov r0, sp
+ movs r4, #0
+ ldrsh r1, [r0, r4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ ldr r3, _0804FFE4 @ =0x086B13F4
+ adds r2, r0, r3
+ adds r6, r3, #0
+ adds r6, #0x24
+ ldr r0, [r7]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xef
+ bgt _0804FF12
+ ldr r1, _0804FFE8 @ =0x040000D4
+ ldr r0, [r2]
+ str r0, [r1]
+ ldr r0, [r3, #0x24]
+ str r0, [r1, #4]
+ ldr r0, _0804FFEC @ =0x80000020
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804FF12:
+ ldr r0, [r7]
+ adds r5, r0, #0
+ adds r5, #0x6a
+ movs r4, #0
+ ldrsh r0, [r5, r4]
+ cmp r0, #0xf7
+ bgt _0804FF30
+ ldr r1, _0804FFE8 @ =0x040000D4
+ ldr r0, [r2, #4]
+ str r0, [r1]
+ ldr r0, [r6, #4]
+ str r0, [r1, #4]
+ ldr r0, _0804FFF0 @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804FF30:
+ movs r0, #0
+ ldrsh r4, [r5, r0]
+ cmp r4, #0x58
+ ble _0804FF7C
+ mov r0, sp
+ movs r2, #2
+ ldrsh r1, [r0, r2]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ adds r1, r3, #0
+ adds r1, #0x3c
+ adds r2, r0, r1
+ adds r6, r3, #0
+ adds r6, #0x60
+ cmp r4, #0xfd
+ bgt _0804FF62
+ ldr r1, _0804FFE8 @ =0x040000D4
+ ldr r0, [r2]
+ str r0, [r1]
+ ldr r0, [r3, #0x60]
+ str r0, [r1, #4]
+ ldr r0, _0804FFEC @ =0x80000020
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804FF62:
+ movs r3, #0
+ ldrsh r1, [r5, r3]
+ ldr r0, _0804FFF4 @ =0x00000105
+ cmp r1, r0
+ bgt _0804FF7C
+ ldr r1, _0804FFE8 @ =0x040000D4
+ ldr r0, [r2, #4]
+ str r0, [r1]
+ ldr r0, [r6, #4]
+ str r0, [r1, #4]
+ ldr r0, _0804FFEC @ =0x80000020
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804FF7C:
+ ldr r0, [r7]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r4, [r0, r1]
+ cmp r4, #0x60
+ ble _0804FFDA
+ mov r0, sp
+ movs r2, #4
+ ldrsh r1, [r0, r2]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ ldr r3, _0804FFF8 @ =0x086B146C
+ adds r2, r0, r3
+ adds r6, r3, #0
+ adds r6, #0x24
+ ldr r0, _0804FFFC @ =0x00000107
+ cmp r4, r0
+ bgt _0804FFB2
+ ldr r1, _0804FFE8 @ =0x040000D4
+ ldr r0, [r2]
+ str r0, [r1]
+ ldr r0, [r3, #0x24]
+ str r0, [r1, #4]
+ ldr r0, _0804FFEC @ =0x80000020
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0804FFB2:
+ ldr r1, _0804FFE8 @ =0x040000D4
+ ldr r0, [r2, #4]
+ str r0, [r1]
+ ldr r0, [r6, #4]
+ str r0, [r1, #4]
+ ldr r3, _0804FFEC @ =0x80000020
+ str r3, [r1, #8]
+ ldr r0, [r1, #8]
+ ldr r0, [r7]
+ adds r0, #0x6a
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ cmp r0, #0x68
+ ble _0804FFDA
+ ldr r0, [r2, #8]
+ str r0, [r1]
+ ldr r0, [r6, #8]
+ str r0, [r1, #4]
+ str r3, [r1, #8]
+ ldr r0, [r1, #8]
+_0804FFDA:
+ add sp, #8
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0804FFE4: .4byte 0x086B13F4
+_0804FFE8: .4byte 0x040000D4
+_0804FFEC: .4byte 0x80000020
+_0804FFF0: .4byte 0x80000030
+_0804FFF4: .4byte 0x00000105
+_0804FFF8: .4byte 0x086B146C
+_0804FFFC: .4byte 0x00000107
+
+ thumb_func_start sub_50000
+sub_50000: @ 0x08050000
+ push {r4, r5, r6, lr}
+ movs r1, #0
+ ldr r6, _0805009C @ =gUnknown_020314E0
+ ldr r2, [r6]
+ movs r3, #0xe5
+ lsls r3, r3, #3
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _08050026
+ ldr r1, _080500A0 @ =0x00000734
+ adds r0, r2, r1
+ ldrh r1, [r0]
+ movs r0, #1
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r1, r0, #0x10
+_08050026:
+ lsls r0, r1, #0x10
+ asrs r0, r0, #0xc
+ ldr r3, _080500A4 @ =0x086B11FC
+ adds r4, r0, r3
+ adds r5, r3, #0
+ adds r5, #0x20
+ adds r0, r2, #0
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xff
+ bgt _0805004E
+ ldr r1, _080500A8 @ =0x040000D4
+ ldr r0, [r4]
+ str r0, [r1]
+ ldr r0, [r3, #0x20]
+ str r0, [r1, #4]
+ ldr r0, _080500AC @ =0x80000020
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0805004E:
+ ldr r0, [r6]
+ adds r2, r0, #0
+ adds r2, #0x6a
+ ldrh r0, [r2]
+ subs r0, #0x61
+ lsls r0, r0, #0x10
+ lsrs r0, r0, #0x10
+ cmp r0, #0xa6
+ bhi _08050070
+ ldr r1, _080500A8 @ =0x040000D4
+ ldr r0, [r4, #4]
+ str r0, [r1]
+ ldr r0, [r5, #4]
+ str r0, [r1, #4]
+ ldr r0, _080500B0 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_08050070:
+ movs r3, #0
+ ldrsh r0, [r2, r3]
+ cmp r0, #0x67
+ ble _08050094
+ ldr r0, _080500A8 @ =0x040000D4
+ ldr r1, [r4, #8]
+ str r1, [r0]
+ ldr r1, [r5, #8]
+ str r1, [r0, #4]
+ ldr r2, _080500B0 @ =0x80000040
+ str r2, [r0, #8]
+ ldr r1, [r0, #8]
+ ldr r1, [r4, #0xc]
+ str r1, [r0]
+ ldr r1, [r5, #0xc]
+ str r1, [r0, #4]
+ str r2, [r0, #8]
+ ldr r0, [r0, #8]
+_08050094:
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0805009C: .4byte gUnknown_020314E0
+_080500A0: .4byte 0x00000734
+_080500A4: .4byte 0x086B11FC
+_080500A8: .4byte 0x040000D4
+_080500AC: .4byte 0x80000020
+_080500B0: .4byte 0x80000040
+
+ thumb_func_start sub_500B4
+sub_500B4: @ 0x080500B4
+ push {r4, r5, lr}
+ movs r1, #0
+ ldr r5, _0805013C @ =gUnknown_020314E0
+ ldr r2, [r5]
+ ldr r3, _08050140 @ =0x00000729
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _080500D8
+ ldr r1, _08050144 @ =0x00000734
+ adds r0, r2, r1
+ ldrh r1, [r0]
+ movs r0, #1
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r1, r0, #0x10
+_080500D8:
+ lsls r0, r1, #0x10
+ asrs r0, r0, #0xc
+ ldr r1, _08050148 @ =0x086B122C
+ adds r3, r0, r1
+ adds r4, r1, #0
+ adds r4, #0x20
+ adds r0, r2, #0
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xc2
+ bgt _08050100
+ ldr r1, _0805014C @ =0x040000D4
+ ldr r0, [r3, #4]
+ str r0, [r1]
+ ldr r0, [r4, #4]
+ str r0, [r1, #4]
+ ldr r0, _08050150 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_08050100:
+ ldr r0, [r5]
+ adds r2, r0, #0
+ adds r2, #0x6a
+ movs r1, #0
+ ldrsh r0, [r2, r1]
+ cmp r0, #0x1e
+ ble _0805011E
+ ldr r1, _0805014C @ =0x040000D4
+ ldr r0, [r3, #8]
+ str r0, [r1]
+ ldr r0, [r4, #8]
+ str r0, [r1, #4]
+ ldr r0, _08050150 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0805011E:
+ movs r1, #0
+ ldrsh r0, [r2, r1]
+ cmp r0, #0x26
+ ble _08050136
+ ldr r1, _0805014C @ =0x040000D4
+ ldr r0, [r3, #0xc]
+ str r0, [r1]
+ ldr r0, [r4, #0xc]
+ str r0, [r1, #4]
+ ldr r0, _08050150 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_08050136:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0805013C: .4byte gUnknown_020314E0
+_08050140: .4byte 0x00000729
+_08050144: .4byte 0x00000734
+_08050148: .4byte 0x086B122C
+_0805014C: .4byte 0x040000D4
+_08050150: .4byte 0x80000040
+
+ thumb_func_start sub_50154
+sub_50154: @ 0x08050154
+ push {r4, r5, r6, lr}
+ sub sp, #8
+ ldr r0, _0805018C @ =gUnknown_020314E0
+ ldr r2, [r0]
+ movs r1, #0x13
+ ldrsb r1, [r2, r1]
+ adds r6, r0, #0
+ cmp r1, #2
+ bgt _080501E0
+ ldr r1, _08050190 @ =0x0000072E
+ adds r0, r2, r1
+ movs r3, #0
+ ldrsb r3, [r0, r3]
+ cmp r3, #0
+ bne _08050198
+ mov r1, sp
+ ldr r4, _08050194 @ =0x00000734
+ adds r2, r2, r4
+ movs r4, #0
+ ldrsh r0, [r2, r4]
+ lsls r0, r0, #1
+ strh r0, [r1]
+ ldrh r0, [r2]
+ strh r0, [r1, #2]
+ mov r0, sp
+ strh r3, [r0, #4]
+ b _08050206
+ .align 2, 0
+_0805018C: .4byte gUnknown_020314E0
+_08050190: .4byte 0x0000072E
+_08050194: .4byte 0x00000734
+_08050198:
+ cmp r3, #1
+ bne _080501B8
+ mov r1, sp
+ movs r0, #3
+ strh r0, [r1]
+ ldr r0, _080501B4 @ =0x00000734
+ adds r2, r2, r0
+ ldrh r0, [r2]
+ adds r0, #1
+ strh r0, [r1, #2]
+ movs r3, #0
+ ldrsh r0, [r2, r3]
+ lsls r0, r0, #1
+ b _08050204
+ .align 2, 0
+_080501B4: .4byte 0x00000734
+_080501B8:
+ cmp r3, #2
+ bne _080501D4
+ mov r0, sp
+ movs r1, #3
+ strh r1, [r0]
+ strh r1, [r0, #2]
+ mov r1, sp
+ ldr r4, _080501D0 @ =0x00000734
+ adds r0, r2, r4
+ ldrh r0, [r0]
+ adds r0, #2
+ b _08050204
+ .align 2, 0
+_080501D0: .4byte 0x00000734
+_080501D4:
+ mov r0, sp
+ movs r1, #3
+ strh r1, [r0]
+ strh r1, [r0, #2]
+ strh r1, [r0, #4]
+ b _08050206
+_080501E0:
+ mov r1, sp
+ ldr r3, _080502F0 @ =0x00000739
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ strh r0, [r1]
+ ldr r4, _080502F4 @ =0x0000073A
+ adds r0, r2, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ strh r0, [r1, #2]
+ adds r3, #2
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+_08050204:
+ strh r0, [r1, #4]
+_08050206:
+ mov r0, sp
+ movs r4, #0
+ ldrsh r1, [r0, r4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ ldr r1, _080502F8 @ =0x086B1340
+ mov ip, r1
+ adds r3, r0, r1
+ mov r4, ip
+ adds r4, #0x30
+ ldr r0, [r6]
+ adds r0, #0x6a
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ ldr r0, _080502FC @ =0x00000107
+ cmp r1, r0
+ bgt _0805023C
+ ldr r1, _08050300 @ =0x040000D4
+ ldr r0, [r3]
+ str r0, [r1]
+ mov r2, ip
+ ldr r0, [r2, #0x30]
+ str r0, [r1, #4]
+ ldr r0, _08050304 @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0805023C:
+ ldr r2, _08050300 @ =0x040000D4
+ ldr r0, [r3, #4]
+ str r0, [r2]
+ ldr r0, [r4, #4]
+ str r0, [r2, #4]
+ ldr r5, _08050304 @ =0x80000030
+ str r5, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #8]
+ str r0, [r2]
+ ldr r0, [r4, #8]
+ str r0, [r2, #4]
+ str r5, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r6]
+ adds r6, r0, #0
+ adds r6, #0x6a
+ movs r3, #0
+ ldrsh r0, [r6, r3]
+ cmp r0, #0x78
+ ble _080502A2
+ mov r0, sp
+ movs r4, #2
+ ldrsh r1, [r0, r4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ mov r1, ip
+ adds r1, #0x3c
+ adds r3, r0, r1
+ mov r4, ip
+ adds r4, #0x6c
+ ldr r0, [r3]
+ str r0, [r2]
+ mov r1, ip
+ ldr r0, [r1, #0x6c]
+ str r0, [r2, #4]
+ str r5, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #4]
+ str r0, [r2]
+ ldr r0, [r4, #4]
+ str r0, [r2, #4]
+ str r5, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #8]
+ str r0, [r2]
+ ldr r0, [r4, #8]
+ str r0, [r2, #4]
+ str r5, [r2, #8]
+ ldr r0, [r2, #8]
+_080502A2:
+ movs r3, #0
+ ldrsh r0, [r6, r3]
+ cmp r0, #0x88
+ ble _080502E6
+ mov r0, sp
+ movs r4, #4
+ ldrsh r1, [r0, r4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ mov r1, ip
+ adds r1, #0x78
+ adds r3, r0, r1
+ mov r4, ip
+ adds r4, #0xa8
+ ldr r0, [r3]
+ str r0, [r2]
+ ldr r0, [r4]
+ str r0, [r2, #4]
+ str r5, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #4]
+ str r0, [r2]
+ ldr r0, [r4, #4]
+ str r0, [r2, #4]
+ str r5, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #8]
+ str r0, [r2]
+ ldr r0, [r4, #8]
+ str r0, [r2, #4]
+ ldr r0, _08050308 @ =0x80000020
+ str r0, [r2, #8]
+ ldr r0, [r2, #8]
+_080502E6:
+ add sp, #8
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080502F0: .4byte 0x00000739
+_080502F4: .4byte 0x0000073A
+_080502F8: .4byte 0x086B1340
+_080502FC: .4byte 0x00000107
+_08050300: .4byte 0x040000D4
+_08050304: .4byte 0x80000030
+_08050308: .4byte 0x80000020
+
+ thumb_func_start sub_5030C
+sub_5030C: @ 0x0805030C
+ push {r4, r5, r6, lr}
+ sub sp, #8
+ ldr r0, _08050340 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ movs r1, #0x13
+ ldrsb r1, [r2, r1]
+ adds r5, r0, #0
+ cmp r1, #2
+ bgt _08050394
+ ldr r1, _08050344 @ =0x0000072F
+ adds r0, r2, r1
+ movs r3, #0
+ ldrsb r3, [r0, r3]
+ cmp r3, #0
+ bne _0805034C
+ mov r1, sp
+ ldr r4, _08050348 @ =0x00000734
+ adds r0, r2, r4
+ movs r2, #0
+ ldrsh r0, [r0, r2]
+ lsls r0, r0, #1
+ strh r0, [r1]
+ mov r0, sp
+ strh r3, [r0, #2]
+ strh r3, [r0, #4]
+ b _080503BA
+ .align 2, 0
+_08050340: .4byte gUnknown_020314E0
+_08050344: .4byte 0x0000072F
+_08050348: .4byte 0x00000734
+_0805034C:
+ cmp r3, #1
+ bne _0805036C
+ mov r1, sp
+ movs r0, #3
+ strh r0, [r1]
+ ldr r3, _08050368 @ =0x00000734
+ adds r2, r2, r3
+ ldrh r0, [r2]
+ adds r0, #1
+ strh r0, [r1, #2]
+ movs r4, #0
+ ldrsh r0, [r2, r4]
+ lsls r0, r0, #1
+ b _080503B8
+ .align 2, 0
+_08050368: .4byte 0x00000734
+_0805036C:
+ cmp r3, #2
+ bne _08050388
+ mov r0, sp
+ movs r1, #3
+ strh r1, [r0]
+ strh r1, [r0, #2]
+ mov r1, sp
+ ldr r3, _08050384 @ =0x00000734
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ adds r0, #2
+ b _080503B8
+ .align 2, 0
+_08050384: .4byte 0x00000734
+_08050388:
+ mov r0, sp
+ movs r1, #3
+ strh r1, [r0]
+ strh r1, [r0, #2]
+ strh r1, [r0, #4]
+ b _080503BA
+_08050394:
+ mov r1, sp
+ ldr r4, _080504A4 @ =0x00000736
+ adds r0, r2, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ strh r0, [r1]
+ ldr r3, _080504A8 @ =0x00000737
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ strh r0, [r1, #2]
+ adds r4, #2
+ adds r0, r2, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+_080503B8:
+ strh r0, [r1, #4]
+_080503BA:
+ mov r0, sp
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ ldr r3, _080504AC @ =0x086B14A8
+ mov ip, r3
+ adds r3, r0, r3
+ mov r4, ip
+ adds r4, #0x30
+ ldr r0, [r5]
+ adds r0, #0x6a
+ movs r2, #0
+ ldrsh r1, [r0, r2]
+ ldr r0, _080504B0 @ =0x00000107
+ cmp r1, r0
+ bgt _080503F0
+ ldr r1, _080504B4 @ =0x040000D4
+ ldr r0, [r3]
+ str r0, [r1]
+ mov r2, ip
+ ldr r0, [r2, #0x30]
+ str r0, [r1, #4]
+ ldr r0, _080504B8 @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_080503F0:
+ ldr r2, _080504B4 @ =0x040000D4
+ ldr r0, [r3, #4]
+ str r0, [r2]
+ ldr r0, [r4, #4]
+ str r0, [r2, #4]
+ ldr r6, _080504B8 @ =0x80000030
+ str r6, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #8]
+ str r0, [r2]
+ ldr r0, [r4, #8]
+ str r0, [r2, #4]
+ str r6, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r5]
+ adds r5, r0, #0
+ adds r5, #0x6a
+ movs r3, #0
+ ldrsh r0, [r5, r3]
+ cmp r0, #0x78
+ ble _08050458
+ mov r0, sp
+ movs r4, #2
+ ldrsh r1, [r0, r4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ mov r1, ip
+ adds r1, #0x3c
+ adds r3, r0, r1
+ mov r4, ip
+ adds r4, #0x6c
+ ldr r0, [r3]
+ str r0, [r2]
+ mov r1, ip
+ ldr r0, [r1, #0x6c]
+ str r0, [r2, #4]
+ ldr r1, _080504BC @ =0x80000020
+ str r1, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #4]
+ str r0, [r2]
+ ldr r0, [r4, #4]
+ str r0, [r2, #4]
+ str r1, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #8]
+ str r0, [r2]
+ ldr r0, [r4, #8]
+ str r0, [r2, #4]
+ str r6, [r2, #8]
+ ldr r0, [r2, #8]
+_08050458:
+ movs r3, #0
+ ldrsh r0, [r5, r3]
+ cmp r0, #0x88
+ ble _0805049C
+ mov r0, sp
+ movs r4, #4
+ ldrsh r1, [r0, r4]
+ lsls r0, r1, #1
+ adds r0, r0, r1
+ lsls r0, r0, #2
+ mov r1, ip
+ adds r1, #0x78
+ adds r3, r0, r1
+ mov r4, ip
+ adds r4, #0xa8
+ ldr r0, [r3]
+ str r0, [r2]
+ ldr r0, [r4]
+ str r0, [r2, #4]
+ ldr r1, _080504BC @ =0x80000020
+ str r1, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #4]
+ str r0, [r2]
+ ldr r0, [r4, #4]
+ str r0, [r2, #4]
+ str r6, [r2, #8]
+ ldr r0, [r2, #8]
+ ldr r0, [r3, #8]
+ str r0, [r2]
+ ldr r0, [r4, #8]
+ str r0, [r2, #4]
+ str r1, [r2, #8]
+ ldr r0, [r2, #8]
+_0805049C:
+ add sp, #8
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080504A4: .4byte 0x00000736
+_080504A8: .4byte 0x00000737
+_080504AC: .4byte 0x086B14A8
+_080504B0: .4byte 0x00000107
+_080504B4: .4byte 0x040000D4
+_080504B8: .4byte 0x80000030
+_080504BC: .4byte 0x80000020
+
+ thumb_func_start sub_504C0
+sub_504C0: @ 0x080504C0
+ push {r4, r5, r6, lr}
+ movs r3, #0
+ ldr r1, _08050584 @ =gUnknown_020314E0
+ ldr r0, [r1]
+ ldr r4, _08050588 @ =0x00000731
+ adds r0, r0, r4
+ strb r3, [r0]
+ ldr r2, [r1]
+ ldr r5, _0805058C @ =0x0000072F
+ adds r0, r2, r5
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r6, r1, #0
+ cmp r0, #1
+ ble _080504EE
+ movs r0, #0x13
+ ldrsb r0, [r2, r0]
+ cmp r0, #2
+ bgt _080504EE
+ adds r1, r2, r4
+ movs r0, #1
+ strb r0, [r1]
+_080504EE:
+ ldr r2, [r6]
+ ldr r1, _08050588 @ =0x00000731
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _0805050C
+ ldr r5, _08050590 @ =0x00000734
+ adds r0, r2, r5
+ ldrh r1, [r0]
+ movs r0, #1
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ lsrs r3, r0, #0x10
+_0805050C:
+ lsls r0, r3, #0x10
+ asrs r0, r0, #0xc
+ ldr r3, _08050594 @ =0x086B12D0
+ adds r4, r0, r3
+ adds r5, r3, #0
+ adds r5, #0x20
+ adds r0, r2, #0
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xe7
+ bgt _08050534
+ ldr r1, _08050598 @ =0x040000D4
+ ldr r0, [r4]
+ str r0, [r1]
+ ldr r0, [r3, #0x20]
+ str r0, [r1, #4]
+ ldr r0, _0805059C @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_08050534:
+ ldr r0, [r6]
+ adds r2, r0, #0
+ adds r2, #0x6a
+ movs r1, #0
+ ldrsh r0, [r2, r1]
+ cmp r0, #0xef
+ bgt _08050552
+ ldr r1, _08050598 @ =0x040000D4
+ ldr r0, [r4, #4]
+ str r0, [r1]
+ ldr r0, [r5, #4]
+ str r0, [r1, #4]
+ ldr r0, _080505A0 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_08050552:
+ movs r1, #0
+ ldrsh r0, [r2, r1]
+ cmp r0, #0x4f
+ ble _0805057E
+ cmp r0, #0xf7
+ bgt _0805056E
+ ldr r1, _08050598 @ =0x040000D4
+ ldr r0, [r4, #8]
+ str r0, [r1]
+ ldr r0, [r5, #8]
+ str r0, [r1, #4]
+ ldr r0, _080505A0 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0805056E:
+ ldr r1, _08050598 @ =0x040000D4
+ ldr r0, [r4, #0xc]
+ str r0, [r1]
+ ldr r0, [r5, #0xc]
+ str r0, [r1, #4]
+ ldr r0, _0805059C @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0805057E:
+ pop {r4, r5, r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08050584: .4byte gUnknown_020314E0
+_08050588: .4byte 0x00000731
+_0805058C: .4byte 0x0000072F
+_08050590: .4byte 0x00000734
+_08050594: .4byte 0x086B12D0
+_08050598: .4byte 0x040000D4
+_0805059C: .4byte 0x80000030
+_080505A0: .4byte 0x80000040
+
+ thumb_func_start sub_505A4
+sub_505A4: @ 0x080505A4
+ push {r4, r5, lr}
+ movs r3, #0
+ ldr r0, _080505C8 @ =gUnknown_020314E0
+ ldr r2, [r0]
+ ldr r4, _080505CC @ =0x00000366
+ adds r1, r2, r4
+ ldrb r1, [r1]
+ lsls r1, r1, #0x18
+ asrs r1, r1, #0x18
+ adds r5, r0, #0
+ cmp r1, #3
+ bne _080505D4
+ ldr r0, _080505D0 @ =0x0000072A
+ adds r1, r2, r0
+ movs r0, #1
+ strb r0, [r1]
+ b _080505E2
+ .align 2, 0
+_080505C8: .4byte gUnknown_020314E0
+_080505CC: .4byte 0x00000366
+_080505D0: .4byte 0x0000072A
+_080505D4:
+ movs r0, #0x13
+ ldrsb r0, [r2, r0]
+ cmp r0, #0
+ beq _080505E2
+ ldr r1, _0805060C @ =0x0000072A
+ adds r0, r2, r1
+ strb r3, [r0]
+_080505E2:
+ ldr r1, [r5]
+ ldr r2, _0805060C @ =0x0000072A
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ ble _08050614
+ ldr r4, _08050610 @ =0x000001A5
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #1
+ adds r2, #0xa
+ adds r1, r1, r2
+ ldrh r1, [r1]
+ subs r1, #1
+ subs r0, r0, r1
+ lsls r0, r0, #0x10
+ b _08050620
+ .align 2, 0
+_0805060C: .4byte 0x0000072A
+_08050610: .4byte 0x000001A5
+_08050614:
+ ldr r4, _0805069C @ =0x000001A5
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #0x11
+_08050620:
+ lsrs r3, r0, #0x10
+ lsls r0, r3, #0x10
+ asrs r0, r0, #0xc
+ ldr r2, _080506A0 @ =0x086B125C
+ adds r3, r0, r2
+ adds r4, r2, #0
+ adds r4, #0x40
+ ldr r0, [r5]
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xdf
+ bgt _0805064A
+ ldr r1, _080506A4 @ =0x040000D4
+ ldr r0, [r3]
+ str r0, [r1]
+ ldr r0, [r2, #0x40]
+ str r0, [r1, #4]
+ ldr r0, _080506A8 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0805064A:
+ ldr r0, [r5]
+ adds r2, r0, #0
+ adds r2, #0x6a
+ movs r1, #0
+ ldrsh r0, [r2, r1]
+ cmp r0, #0xe7
+ bgt _08050668
+ ldr r1, _080506A4 @ =0x040000D4
+ ldr r0, [r3, #4]
+ str r0, [r1]
+ ldr r0, [r4, #4]
+ str r0, [r1, #4]
+ ldr r0, _080506A8 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_08050668:
+ movs r1, #0
+ ldrsh r0, [r2, r1]
+ cmp r0, #0x47
+ ble _08050694
+ cmp r0, #0xef
+ bgt _08050684
+ ldr r1, _080506A4 @ =0x040000D4
+ ldr r0, [r3, #8]
+ str r0, [r1]
+ ldr r0, [r4, #8]
+ str r0, [r1, #4]
+ ldr r0, _080506A8 @ =0x80000040
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_08050684:
+ ldr r1, _080506A4 @ =0x040000D4
+ ldr r0, [r3, #0xc]
+ str r0, [r1]
+ ldr r0, [r4, #0xc]
+ str r0, [r1, #4]
+ ldr r0, _080506AC @ =0x80000030
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_08050694:
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0805069C: .4byte 0x000001A5
+_080506A0: .4byte 0x086B125C
+_080506A4: .4byte 0x040000D4
+_080506A8: .4byte 0x80000040
+_080506AC: .4byte 0x80000030
+
+ thumb_func_start sub_506B0
+sub_506B0: @ 0x080506B0
+ push {r4, r5, r6, r7, lr}
+ movs r1, #0
+ ldr r0, _08050700 @ =gUnknown_020314E0
+ ldr r0, [r0]
+ movs r2, #0xe3
+ lsls r2, r2, #3
+ adds r5, r0, r2
+ ldr r4, _08050704 @ =0x086B12AC
+ adds r7, r4, #0
+ adds r7, #8
+ ldr r3, _08050708 @ =0x040000D4
+ ldr r6, _0805070C @ =0x80000020
+_080506C8:
+ lsls r2, r1, #0x10
+ asrs r2, r2, #0x10
+ lsls r1, r2, #1
+ adds r1, r1, r2
+ lsls r1, r1, #2
+ adds r0, r5, r2
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ lsls r0, r0, #2
+ adds r0, r0, r4
+ adds r0, r1, r0
+ adds r1, r1, r7
+ ldr r0, [r0]
+ str r0, [r3]
+ ldr r0, [r1]
+ str r0, [r3, #4]
+ str r6, [r3, #8]
+ ldr r0, [r3, #8]
+ adds r2, #1
+ lsls r2, r2, #0x10
+ lsrs r1, r2, #0x10
+ asrs r2, r2, #0x10
+ cmp r2, #2
+ ble _080506C8
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08050700: .4byte gUnknown_020314E0
+_08050704: .4byte 0x086B12AC
+_08050708: .4byte 0x040000D4
+_0805070C: .4byte 0x80000020
+
+ thumb_func_start sub_50710
+sub_50710: @ 0x08050710
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ ldr r2, _08050770 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ ldr r1, _08050774 @ =0x00000346
+ adds r0, r0, r1
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #3
+ beq _080507C0
+ movs r1, #0
+ mov sb, r2
+ ldr r2, _08050778 @ =0x0000034B
+ mov r8, r2
+ ldr r5, _0805077C @ =0x040000D4
+ ldr r0, _08050780 @ =0x086B0F9C
+ mov sl, r0
+ ldr r7, _08050784 @ =0x80000020
+_0805073C:
+ mov r2, sb
+ ldr r0, [r2]
+ lsls r1, r1, #0x10
+ asrs r4, r1, #0x10
+ add r0, r8
+ adds r0, r0, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ adds r6, r1, #0
+ cmp r0, #0
+ ble _08050788
+ cmp r0, #0xa
+ bne _0805075E
+ movs r0, #0xdc
+ bl m4aSongNumStart
+_0805075E:
+ mov r0, sb
+ ldr r1, [r0]
+ add r1, r8
+ adds r1, r1, r4
+ ldrb r0, [r1]
+ subs r0, #1
+ strb r0, [r1]
+ movs r2, #1
+ b _0805078A
+ .align 2, 0
+_08050770: .4byte gUnknown_020314E0
+_08050774: .4byte 0x00000346
+_08050778: .4byte 0x0000034B
+_0805077C: .4byte 0x040000D4
+_08050780: .4byte 0x086B0F9C
+_08050784: .4byte 0x80000020
+_08050788:
+ movs r2, #0
+_0805078A:
+ asrs r3, r6, #0x10
+ lsls r1, r3, #1
+ adds r1, r1, r3
+ lsls r1, r1, #3
+ lsls r2, r2, #3
+ add r2, sl
+ adds r2, r1, r2
+ ldr r0, _080507D0 @ =0x086B0FAC
+ adds r1, r1, r0
+ ldr r0, [r2]
+ str r0, [r5]
+ ldr r0, [r1]
+ str r0, [r5, #4]
+ str r7, [r5, #8]
+ ldr r0, [r5, #8]
+ ldr r0, [r2, #4]
+ str r0, [r5]
+ ldr r0, [r1, #4]
+ str r0, [r5, #4]
+ str r7, [r5, #8]
+ ldr r0, [r5, #8]
+ adds r3, #1
+ lsls r3, r3, #0x10
+ lsrs r1, r3, #0x10
+ asrs r3, r3, #0x10
+ cmp r3, #9
+ ble _0805073C
+_080507C0:
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080507D0: .4byte 0x086B0FAC
+
+ thumb_func_start sub_507D4
+sub_507D4: @ 0x080507D4
+ push {r4, r5, lr}
+ movs r1, #0
+ ldr r0, _08050834 @ =gUnknown_020314E0
+ ldr r4, [r0]
+ movs r2, #0xc2
+ lsls r2, r2, #2
+ adds r0, r4, r2
+ ldrh r0, [r0]
+ cmp r0, #0x63
+ bls _080507F8
+ ldr r1, _08050838 @ =0x0000070C
+ adds r0, r4, r1
+ ldrh r0, [r0]
+ movs r1, #0x14
+ bl __umodsi3
+ lsls r0, r0, #0x10
+ lsrs r1, r0, #0x12
+_080507F8:
+ lsls r0, r1, #3
+ ldr r2, _0805083C @ =0x086B0E6C
+ adds r3, r0, r2
+ adds r5, r2, #0
+ adds r5, #0x28
+ adds r0, r4, #0
+ adds r0, #0x6a
+ movs r1, #0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xaf
+ bgt _0805081E
+ ldr r1, _08050840 @ =0x040000D4
+ ldr r0, [r3]
+ str r0, [r1]
+ ldr r0, [r2, #0x28]
+ str r0, [r1, #4]
+ ldr r0, _08050844 @ =0x80000020
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+_0805081E:
+ ldr r1, _08050840 @ =0x040000D4
+ ldr r0, [r3, #4]
+ str r0, [r1]
+ ldr r0, [r5, #4]
+ str r0, [r1, #4]
+ ldr r0, _08050844 @ =0x80000020
+ str r0, [r1, #8]
+ ldr r0, [r1, #8]
+ pop {r4, r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08050834: .4byte gUnknown_020314E0
+_08050838: .4byte 0x0000070C
+_0805083C: .4byte 0x086B0E6C
+_08050840: .4byte 0x040000D4
+_08050844: .4byte 0x80000020
+
+ thumb_func_start sub_50848
+sub_50848: @ 0x08050848
+ push {r4, r5, r6, r7, lr}
+ movs r0, #0
+ ldr r4, _080508E8 @ =gMain
+ ldr r7, _080508EC @ =0x086B155C
+ adds r6, r4, #0
+ movs r5, #0xb8
+ movs r3, #0xbe
+ lsls r3, r3, #2
+ movs r2, #0
+_0805085A:
+ lsls r1, r0, #0x10
+ asrs r1, r1, #0x10
+ adds r0, r1, #0
+ muls r0, r5, r0
+ adds r0, r0, r6
+ adds r0, r0, r3
+ strh r2, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r0, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #0x53
+ ble _0805085A
+ ldr r0, _080508F0 @ =0x000030F8
+ adds r1, r4, r0
+ movs r0, #1
+ strh r0, [r1]
+ ldr r1, _080508F4 @ =0x00002578
+ adds r3, r4, r1
+ ldr r2, _080508F8 @ =0x00003548
+ adds r1, r4, r2
+ strh r0, [r1]
+ movs r5, #0xbe
+ lsls r5, r5, #2
+ adds r2, r4, r5
+ strh r0, [r2]
+ adds r5, #0xb8
+ adds r1, r4, r5
+ strh r0, [r1]
+ adds r5, #0xb8
+ adds r1, r4, r5
+ strh r0, [r1]
+ ldr r5, _080508FC @ =0x00001718
+ adds r1, r4, r5
+ strh r0, [r1]
+ ldr r5, _08050900 @ =0x00003D30
+ adds r1, r4, r5
+ strh r0, [r1]
+ ldr r5, _08050904 @ =0x000031B0
+ adds r1, r4, r5
+ strh r0, [r1]
+ movs r5, #0xd8
+ lsls r5, r5, #6
+ adds r1, r4, r5
+ strh r0, [r1]
+ ldr r5, _08050908 @ =0x00003268
+ adds r1, r4, r5
+ strh r0, [r1]
+ ldr r5, _0805090C @ =0x000027A0
+ adds r1, r4, r5
+ strh r0, [r1]
+ ldr r5, _08050910 @ =0x00002ED0
+ adds r1, r4, r5
+ strh r0, [r1]
+ strh r0, [r3]
+ ldr r3, _08050914 @ =0x00002858
+ adds r1, r4, r3
+ strh r0, [r1]
+ adds r5, #0xb8
+ adds r1, r4, r5
+ strh r0, [r1]
+ ldrb r1, [r4, #4]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldr r0, [r1]
+ ldrh r1, [r1, #4]
+ bl LoadSpriteSets
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080508E8: .4byte gMain
+_080508EC: .4byte 0x086B155C
+_080508F0: .4byte 0x000030F8
+_080508F4: .4byte 0x00002578
+_080508F8: .4byte 0x00003548
+_080508FC: .4byte 0x00001718
+_08050900: .4byte 0x00003D30
+_08050904: .4byte 0x000031B0
+_08050908: .4byte 0x00003268
+_0805090C: .4byte 0x000027A0
+_08050910: .4byte 0x00002ED0
+_08050914: .4byte 0x00002858
+
+ thumb_func_start sub_50918
+sub_50918: @ 0x08050918
+ push {r4, r5, r6, r7, lr}
+ mov r7, r8
+ push {r7}
+ ldr r2, _080509EC @ =gMain
+ ldr r1, _080509F0 @ =0x00000A28
+ adds r0, r2, r1
+ movs r1, #0
+ strh r1, [r0]
+ movs r3, #0xae
+ lsls r3, r3, #4
+ adds r0, r2, r3
+ strh r1, [r0]
+ ldr r4, _080509F4 @ =0x00002578
+ adds r0, r2, r4
+ strh r1, [r0]
+ movs r3, #0xd8
+ lsls r3, r3, #6
+ adds r0, r2, r3
+ strh r1, [r0]
+ movs r0, #0x33
+ adds r5, r2, #0
+ ldr r7, _080509F8 @ =gUnknown_020314E0
+ ldr r4, _080509FC @ =0x086B155C
+ mov r8, r4
+ adds r6, r5, #0
+ movs r4, #0xb8
+ movs r3, #0xbe
+ lsls r3, r3, #2
+ movs r2, #0
+_08050952:
+ lsls r1, r0, #0x10
+ asrs r1, r1, #0x10
+ adds r0, r1, #0
+ muls r0, r4, r0
+ adds r0, r0, r6
+ adds r0, r0, r3
+ strh r2, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r0, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #0x42
+ ble _08050952
+ ldr r4, [r7]
+ ldr r0, [r5, #0x4c]
+ movs r1, #0x19
+ bl __umodsi3
+ movs r2, #0xde
+ lsls r2, r2, #1
+ adds r1, r4, r2
+ strh r0, [r1]
+ adds r4, #0x68
+ movs r3, #0
+ ldrsh r0, [r4, r3]
+ cmp r0, #0x6d
+ bgt _0805099E
+ ldr r4, _08050A00 @ =0x000031B0
+ adds r0, r5, r4
+ movs r1, #1
+ strh r1, [r0]
+ movs r2, #0xd8
+ lsls r2, r2, #6
+ adds r0, r5, r2
+ strh r1, [r0]
+ ldr r3, _08050A04 @ =0x00003268
+ adds r0, r5, r3
+ strh r1, [r0]
+_0805099E:
+ ldr r3, [r7]
+ adds r2, r3, #0
+ adds r2, #0x68
+ movs r4, #0
+ ldrsh r0, [r2, r4]
+ cmp r0, #0xa7
+ bgt _080509BA
+ ldr r1, _080509F4 @ =0x00002578
+ adds r0, r5, r1
+ movs r1, #1
+ strh r1, [r0]
+ ldr r4, _08050A08 @ =0x00002858
+ adds r0, r5, r4
+ strh r1, [r0]
+_080509BA:
+ movs r1, #0
+ ldrsh r0, [r2, r1]
+ cmp r0, #0xdb
+ bgt _08050A1E
+ ldr r2, _08050A0C @ =0x000027A0
+ adds r0, r5, r2
+ movs r1, #1
+ strh r1, [r0]
+ ldr r4, _08050A10 @ =0x00002ED0
+ adds r0, r5, r4
+ strh r1, [r0]
+ ldr r2, _08050A14 @ =0x000030F8
+ adds r0, r5, r2
+ strh r1, [r0]
+ movs r4, #0xa9
+ lsls r4, r4, #2
+ adds r0, r3, r4
+ ldrb r0, [r0]
+ lsls r0, r0, #0x18
+ asrs r0, r0, #0x18
+ cmp r0, #0
+ beq _08050A18
+ subs r2, #0xb8
+ adds r0, r5, r2
+ b _08050A1C
+ .align 2, 0
+_080509EC: .4byte gMain
+_080509F0: .4byte 0x00000A28
+_080509F4: .4byte 0x00002578
+_080509F8: .4byte gUnknown_020314E0
+_080509FC: .4byte 0x086B155C
+_08050A00: .4byte 0x000031B0
+_08050A04: .4byte 0x00003268
+_08050A08: .4byte 0x00002858
+_08050A0C: .4byte 0x000027A0
+_08050A10: .4byte 0x00002ED0
+_08050A14: .4byte 0x000030F8
+_08050A18:
+ ldr r3, _08050AB0 @ =0x00002F88
+ adds r0, r5, r3
+_08050A1C:
+ strh r1, [r0]
+_08050A1E:
+ ldr r0, [r7]
+ adds r0, #0x68
+ movs r4, #0
+ ldrsh r0, [r0, r4]
+ cmp r0, #0x3f
+ ble _08050A38
+ ldr r1, _08050AB4 @ =0x00002910
+ adds r0, r5, r1
+ movs r1, #1
+ strh r1, [r0]
+ ldr r2, _08050AB8 @ =0x00002BF0
+ adds r0, r5, r2
+ strh r1, [r0]
+_08050A38:
+ ldr r0, [r7]
+ adds r4, r0, #0
+ adds r4, #0x68
+ movs r3, #0
+ ldrsh r0, [r4, r3]
+ cmp r0, #0x73
+ ble _08050A4E
+ ldr r0, _08050ABC @ =0x00002CA8
+ adds r1, r5, r0
+ movs r0, #1
+ strh r0, [r1]
+_08050A4E:
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ cmp r0, #0x82
+ ble _08050A64
+ ldr r2, _08050AC0 @ =0x00002D60
+ adds r0, r5, r2
+ movs r1, #1
+ strh r1, [r0]
+ ldr r3, _08050AC4 @ =0x00002E18
+ adds r0, r5, r3
+ strh r1, [r0]
+_08050A64:
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ cmp r0, #0xd8
+ ble _08050A90
+ ldr r2, _08050AC8 @ =0x00002B38
+ adds r0, r5, r2
+ movs r1, #1
+ strh r1, [r0]
+ ldr r3, _08050ACC @ =0x000029C8
+ adds r0, r5, r3
+ strh r1, [r0]
+ movs r4, #0xaa
+ lsls r4, r4, #6
+ adds r0, r5, r4
+ strh r1, [r0]
+ ldr r2, _08050AD0 @ =0x00000A28
+ adds r0, r5, r2
+ strh r1, [r0]
+ movs r3, #0xae
+ lsls r3, r3, #4
+ adds r0, r5, r3
+ strh r1, [r0]
+_08050A90:
+ ldrb r1, [r5, #4]
+ lsls r1, r1, #3
+ add r1, r8
+ ldr r0, [r1]
+ ldrh r1, [r1, #4]
+ movs r4, #0xbe
+ lsls r4, r4, #2
+ adds r2, r5, r4
+ bl LoadSpriteSets
+ pop {r3}
+ mov r8, r3
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08050AB0: .4byte 0x00002F88
+_08050AB4: .4byte 0x00002910
+_08050AB8: .4byte 0x00002BF0
+_08050ABC: .4byte 0x00002CA8
+_08050AC0: .4byte 0x00002D60
+_08050AC4: .4byte 0x00002E18
+_08050AC8: .4byte 0x00002B38
+_08050ACC: .4byte 0x000029C8
+_08050AD0: .4byte 0x00000A28
+
+ thumb_func_start sub_50AD4
+sub_50AD4: @ 0x08050AD4
+ push {r4, r5, r6, r7, lr}
+ movs r0, #0
+ ldr r3, _08050B5C @ =gMain
+ ldr r7, _08050B60 @ =0x086B155C
+ adds r6, r3, #0
+ movs r5, #0xb8
+ movs r4, #0xbe
+ lsls r4, r4, #2
+ movs r2, #0
+_08050AE6:
+ lsls r1, r0, #0x10
+ asrs r1, r1, #0x10
+ adds r0, r1, #0
+ muls r0, r5, r0
+ adds r0, r0, r6
+ adds r0, r0, r4
+ strh r2, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r0, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #0x56
+ ble _08050AE6
+ ldr r1, _08050B64 @ =0x000036B8
+ adds r0, r3, r1
+ movs r1, #1
+ strh r1, [r0]
+ movs r2, #0xc1
+ lsls r2, r2, #6
+ adds r0, r3, r2
+ strh r1, [r0]
+ ldr r4, _08050B68 @ =0x00002E18
+ adds r0, r3, r4
+ strh r1, [r0]
+ ldr r2, _08050B6C @ =0x00003490
+ adds r0, r3, r2
+ strh r1, [r0]
+ ldr r4, _08050B70 @ =0x00002858
+ adds r0, r3, r4
+ strh r1, [r0]
+ ldr r2, _08050B74 @ =0x00003828
+ adds r0, r3, r2
+ strh r1, [r0]
+ movs r4, #0xbe
+ lsls r4, r4, #2
+ adds r2, r3, r4
+ strh r1, [r2]
+ adds r4, #0xb8
+ adds r0, r3, r4
+ strh r1, [r0]
+ adds r4, #0xb8
+ adds r0, r3, r4
+ strh r1, [r0]
+ ldr r4, _08050B78 @ =0x000014F0
+ adds r0, r3, r4
+ strh r1, [r0]
+ ldr r4, _08050B7C @ =0x00004010
+ adds r0, r3, r4
+ strh r1, [r0]
+ ldrb r1, [r3, #4]
+ lsls r1, r1, #3
+ adds r1, r1, r7
+ ldr r0, [r1]
+ ldrh r1, [r1, #4]
+ bl LoadSpriteSets
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08050B5C: .4byte gMain
+_08050B60: .4byte 0x086B155C
+_08050B64: .4byte 0x000036B8
+_08050B68: .4byte 0x00002E18
+_08050B6C: .4byte 0x00003490
+_08050B70: .4byte 0x00002858
+_08050B74: .4byte 0x00003828
+_08050B78: .4byte 0x000014F0
+_08050B7C: .4byte 0x00004010
+
+ thumb_func_start sub_50B80
+sub_50B80: @ 0x08050B80
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ movs r0, #0x37
+ ldr r1, _08050CF0 @ =gMain
+ mov sb, r1
+ mov r5, sb
+ movs r4, #0xb8
+ movs r3, #0xbe
+ lsls r3, r3, #2
+ movs r2, #0
+_08050B9A:
+ lsls r1, r0, #0x10
+ asrs r1, r1, #0x10
+ adds r0, r1, #0
+ muls r0, r4, r0
+ adds r0, r0, r5
+ adds r0, r0, r3
+ strh r2, [r0]
+ adds r1, #1
+ lsls r1, r1, #0x10
+ lsrs r0, r1, #0x10
+ asrs r1, r1, #0x10
+ cmp r1, #0x46
+ ble _08050B9A
+ mov r5, sb
+ ldr r2, _08050CF4 @ =0x00002858
+ adds r7, r5, r2
+ movs r0, #0
+ strh r0, [r7]
+ ldr r1, _08050CF8 @ =0x000036B8
+ adds r1, r1, r5
+ mov r8, r1
+ strh r0, [r1]
+ ldr r2, _08050CFC @ =0x0200C668
+ strh r0, [r2]
+ ldr r1, _08050D00 @ =0x000027A0
+ adds r6, r5, r1
+ strh r0, [r6]
+ ldr r2, _08050D04 @ =0x0200EA58
+ strh r0, [r2]
+ ldr r1, _08050D08 @ =0x000038E0
+ adds r1, r1, r5
+ mov sl, r1
+ strh r0, [r1]
+ ldr r2, _08050D0C @ =0x0200BAE8
+ strh r0, [r2]
+ ldr r1, _08050D10 @ =0x0200BBA0
+ strh r0, [r1]
+ ldr r2, _08050D14 @ =gUnknown_020314E0
+ ldr r4, [r2]
+ ldr r0, [r5, #0x4c]
+ movs r1, #0x19
+ bl __umodsi3
+ movs r2, #0xde
+ lsls r2, r2, #1
+ adds r1, r4, r2
+ strh r0, [r1]
+ adds r4, #0x68
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ cmp r0, #0x59
+ bgt _08050C08
+ movs r0, #1
+ strh r0, [r7]
+ strh r0, [r6]
+_08050C08:
+ ldr r2, _08050D14 @ =gUnknown_020314E0
+ ldr r0, [r2]
+ adds r4, r0, #0
+ adds r4, #0x68
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ cmp r0, #0xdb
+ bgt _08050C1E
+ movs r0, #1
+ mov r2, r8
+ strh r0, [r2]
+_08050C1E:
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ cmp r0, #0x95
+ bgt _08050C34
+ ldr r2, _08050D18 @ =0x00002E18
+ adds r0, r5, r2
+ movs r1, #1
+ strh r1, [r0]
+ ldr r2, _08050D1C @ =0x00003490
+ adds r0, r5, r2
+ strh r1, [r0]
+_08050C34:
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ cmp r0, #0xc3
+ bgt _08050C4A
+ movs r2, #0xc1
+ lsls r2, r2, #6
+ adds r1, r5, r2
+ movs r0, #1
+ strh r0, [r1]
+ mov r1, sl
+ strh r0, [r1]
+_08050C4A:
+ movs r2, #0
+ ldrsh r0, [r4, r2]
+ cmp r0, #0xc9
+ bgt _08050C70
+ ldr r1, _08050D20 @ =0x00002ED0
+ adds r0, r5, r1
+ movs r1, #1
+ strh r1, [r0]
+ ldr r2, _08050D24 @ =0x00002CA8
+ adds r0, r5, r2
+ strh r1, [r0]
+ ldr r2, _08050D28 @ =0x00002F88
+ adds r0, r5, r2
+ strh r1, [r0]
+ ldr r2, _08050D2C @ =0x00002D60
+ adds r0, r5, r2
+ strh r1, [r0]
+ ldr r0, _08050D04 @ =0x0200EA58
+ strh r1, [r0]
+_08050C70:
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ cmp r0, #0x76
+ ble _08050CA2
+ ldr r2, _08050D30 @ =0x00003548
+ adds r1, r5, r2
+ movs r0, #1
+ strh r0, [r1]
+ ldr r1, _08050CFC @ =0x0200C668
+ strh r0, [r1]
+ ldr r2, _08050D34 @ =0x000030F8
+ adds r1, r5, r2
+ strh r0, [r1]
+ ldr r2, _08050D38 @ =0x000033D8
+ adds r1, r5, r2
+ strh r0, [r1]
+ ldr r2, _08050D3C @ =0x000031B0
+ adds r1, r5, r2
+ strh r0, [r1]
+ adds r2, #0xb8
+ adds r1, r5, r2
+ strh r0, [r1]
+ adds r2, #0xb8
+ adds r1, r5, r2
+ strh r0, [r1]
+_08050CA2:
+ movs r1, #0
+ ldrsh r0, [r4, r1]
+ cmp r0, #0xd8
+ ble _08050CC8
+ ldr r2, _08050D40 @ =0x00002BF0
+ adds r0, r5, r2
+ movs r1, #1
+ strh r1, [r0]
+ movs r2, #0xaa
+ lsls r2, r2, #6
+ adds r0, r5, r2
+ strh r1, [r0]
+ adds r2, #0xb8
+ adds r0, r5, r2
+ strh r1, [r0]
+ ldr r0, _08050D0C @ =0x0200BAE8
+ strh r1, [r0]
+ ldr r2, _08050D10 @ =0x0200BBA0
+ strh r1, [r2]
+_08050CC8:
+ mov r0, sb
+ ldrb r1, [r0, #4]
+ lsls r1, r1, #3
+ ldr r2, _08050D44 @ =0x086B155C
+ adds r1, r1, r2
+ ldr r0, [r1]
+ ldrh r1, [r1, #4]
+ movs r2, #0xbe
+ lsls r2, r2, #2
+ add r2, sb
+ bl LoadSpriteSets
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08050CF0: .4byte gMain
+_08050CF4: .4byte 0x00002858
+_08050CF8: .4byte 0x000036B8
+_08050CFC: .4byte 0x0200C668
+_08050D00: .4byte 0x000027A0
+_08050D04: .4byte 0x0200EA58
+_08050D08: .4byte 0x000038E0
+_08050D0C: .4byte 0x0200BAE8
+_08050D10: .4byte 0x0200BBA0
+_08050D14: .4byte gUnknown_020314E0
+_08050D18: .4byte 0x00002E18
+_08050D1C: .4byte 0x00003490
+_08050D20: .4byte 0x00002ED0
+_08050D24: .4byte 0x00002CA8
+_08050D28: .4byte 0x00002F88
+_08050D2C: .4byte 0x00002D60
+_08050D30: .4byte 0x00003548
+_08050D34: .4byte 0x000030F8
+_08050D38: .4byte 0x000033D8
+_08050D3C: .4byte 0x000031B0
+_08050D40: .4byte 0x00002BF0
+_08050D44: .4byte 0x086B155C
+
+ thumb_func_start sub_50D48
+sub_50D48: @ 0x08050D48
+ push {r4, r5, r6, r7, lr}
+ movs r1, #0
+ ldr r6, _08050D74 @ =gMain
+ ldr r0, _08050D78 @ =0x086B155C
+ mov ip, r0
+ adds r5, r6, #0
+ movs r4, #0xb8
+ movs r2, #0xbe
+ lsls r2, r2, #2
+ movs r7, #1
+_08050D5C:
+ lsls r0, r1, #0x10
+ asrs r1, r0, #0x10
+ adds r3, r0, #0
+ cmp r1, #4
+ bgt _08050D7C
+ adds r0, r1, #0
+ muls r0, r4, r0
+ adds r0, r0, r5
+ adds r0, r0, r2
+ strh r7, [r0]
+ b _08050D88
+ .align 2, 0
+_08050D74: .4byte gMain
+_08050D78: .4byte 0x086B155C
+_08050D7C:
+ adds r0, r1, #0
+ muls r0, r4, r0
+ adds r0, r0, r5
+ adds r0, r0, r2
+ movs r1, #0
+ strh r1, [r0]
+_08050D88:
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r3, r1
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0xe
+ ble _08050D5C
+ ldr r0, [r6, #0x44]
+ ldr r1, [r0]
+ movs r0, #1
+ strh r0, [r1]
+ ldrb r1, [r6, #4]
+ lsls r1, r1, #3
+ add r1, ip
+ ldr r0, [r1]
+ ldrh r1, [r1, #4]
+ movs r3, #0xbe
+ lsls r3, r3, #2
+ adds r2, r6, r3
+ bl LoadSpriteSets
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+
+ thumb_func_start sub_50DB8
+sub_50DB8: @ 0x08050DB8
+ push {lr}
+ ldr r0, _08050DD8 @ =0x086B155C
+ ldr r2, _08050DDC @ =gMain
+ ldrb r1, [r2, #4]
+ lsls r1, r1, #3
+ adds r1, r1, r0
+ ldr r0, [r1]
+ ldrh r1, [r1, #4]
+ movs r3, #0xbe
+ lsls r3, r3, #2
+ adds r2, r2, r3
+ bl LoadSpriteSets
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08050DD8: .4byte 0x086B155C
+_08050DDC: .4byte gMain
+
+ thumb_func_start sub_50DE0
+sub_50DE0: @ 0x08050DE0
+ push {r4, r5, r6, r7, lr}
+ movs r1, #0
+ ldr r2, _08050E0C @ =gMain
+ ldr r0, _08050E10 @ =0x086B155C
+ mov ip, r0
+ adds r6, r2, #0
+ movs r5, #0xb8
+ movs r4, #0xbe
+ lsls r4, r4, #2
+ movs r7, #1
+_08050DF4:
+ lsls r0, r1, #0x10
+ asrs r1, r0, #0x10
+ adds r3, r0, #0
+ cmp r1, #4
+ bgt _08050E14
+ adds r0, r1, #0
+ muls r0, r5, r0
+ adds r0, r0, r6
+ adds r0, r0, r4
+ strh r7, [r0]
+ b _08050E20
+ .align 2, 0
+_08050E0C: .4byte gMain
+_08050E10: .4byte 0x086B155C
+_08050E14:
+ adds r0, r1, #0
+ muls r0, r5, r0
+ adds r0, r0, r6
+ adds r0, r0, r4
+ movs r1, #0
+ strh r1, [r0]
+_08050E20:
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r3, r1
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x20
+ ble _08050DF4
+ ldr r0, [r2, #0x44]
+ ldr r1, [r0]
+ movs r0, #1
+ strh r0, [r1]
+ movs r3, #0x9c
+ lsls r3, r3, #5
+ adds r1, r2, r3
+ strh r0, [r1]
+ movs r3, #0x97
+ lsls r3, r3, #4
+ adds r1, r2, r3
+ strh r0, [r1]
+ ldr r3, _08050EE8 @ =0x00001438
+ adds r1, r2, r3
+ strh r0, [r1]
+ ldr r3, _08050EEC @ =0x00000E78
+ adds r1, r2, r3
+ strh r0, [r1]
+ adds r3, #0xb8
+ adds r1, r2, r3
+ strh r0, [r1]
+ movs r3, #0x80
+ lsls r3, r3, #4
+ adds r1, r2, r3
+ strh r0, [r1]
+ ldr r3, _08050EF0 @ =0x00000A28
+ adds r1, r2, r3
+ strh r0, [r1]
+ adds r3, #0xb8
+ adds r1, r2, r3
+ strh r0, [r1]
+ adds r3, #0xb8
+ adds r1, r2, r3
+ strh r0, [r1]
+ adds r3, #0xb8
+ adds r1, r2, r3
+ strh r0, [r1]
+ adds r3, #0xb8
+ adds r1, r2, r3
+ strh r0, [r1]
+ adds r3, #0xb8
+ adds r1, r2, r3
+ strh r0, [r1]
+ ldr r3, _08050EF4 @ =0x00000FE8
+ adds r1, r2, r3
+ strh r0, [r1]
+ adds r3, #0xb8
+ adds r1, r2, r3
+ strh r0, [r1]
+ adds r3, #0xb8
+ adds r1, r2, r3
+ strh r0, [r1]
+ adds r3, #0xb8
+ adds r1, r2, r3
+ strh r0, [r1]
+ ldr r3, _08050EF8 @ =0x000014F0
+ adds r1, r2, r3
+ strh r0, [r1]
+ adds r3, #0xb8
+ adds r1, r2, r3
+ strh r0, [r1]
+ adds r3, #0xb8
+ adds r1, r2, r3
+ strh r0, [r1]
+ adds r3, #0xb8
+ adds r1, r2, r3
+ strh r0, [r1]
+ movs r3, #0xca
+ lsls r3, r3, #5
+ adds r1, r2, r3
+ strh r0, [r1]
+ adds r3, #0xb8
+ adds r1, r2, r3
+ strh r0, [r1]
+ ldr r3, _08050EFC @ =0x000017D0
+ adds r1, r2, r3
+ strh r0, [r1]
+ adds r3, #0xb8
+ adds r1, r2, r3
+ strh r0, [r1]
+ ldrb r1, [r2, #4]
+ lsls r1, r1, #3
+ add r1, ip
+ ldr r0, [r1]
+ ldrh r1, [r1, #4]
+ movs r3, #0xbe
+ lsls r3, r3, #2
+ adds r2, r2, r3
+ bl LoadSpriteSets
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08050EE8: .4byte 0x00001438
+_08050EEC: .4byte 0x00000E78
+_08050EF0: .4byte 0x00000A28
+_08050EF4: .4byte 0x00000FE8
+_08050EF8: .4byte 0x000014F0
+_08050EFC: .4byte 0x000017D0
+
+ thumb_func_start nullsub_20
+nullsub_20: @ 0x08050F00
+ bx lr
+
+ thumb_func_start sub_50F04
+sub_50F04: @ 0x08050F04
+ push {r4, r5, r6, r7, lr}
+ movs r1, #0
+ ldr r2, _08050F30 @ =gMain
+ ldr r0, _08050F34 @ =0x086B155C
+ mov ip, r0
+ adds r6, r2, #0
+ movs r5, #0xb8
+ movs r4, #0xbe
+ lsls r4, r4, #2
+ movs r7, #1
+_08050F18:
+ lsls r0, r1, #0x10
+ asrs r1, r0, #0x10
+ adds r3, r0, #0
+ cmp r1, #4
+ bgt _08050F38
+ adds r0, r1, #0
+ muls r0, r5, r0
+ adds r0, r0, r6
+ adds r0, r0, r4
+ strh r7, [r0]
+ b _08050F44
+ .align 2, 0
+_08050F30: .4byte gMain
+_08050F34: .4byte 0x086B155C
+_08050F38:
+ adds r0, r1, #0
+ muls r0, r5, r0
+ adds r0, r0, r6
+ adds r0, r0, r4
+ movs r1, #0
+ strh r1, [r0]
+_08050F44:
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r3, r1
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x1a
+ ble _08050F18
+ ldr r0, [r2, #0x44]
+ ldr r0, [r0]
+ movs r1, #1
+ strh r1, [r0]
+ movs r3, #0xae
+ lsls r3, r3, #4
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ ldr r3, _08050FA8 @ =0x00001210
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ movs r3, #0xdc
+ lsls r3, r3, #4
+ adds r0, r2, r3
+ strh r1, [r0]
+ ldrb r1, [r2, #4]
+ lsls r1, r1, #3
+ add r1, ip
+ ldr r0, [r1]
+ ldrh r1, [r1, #4]
+ movs r3, #0xbe
+ lsls r3, r3, #2
+ adds r2, r2, r3
+ bl LoadSpriteSets
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08050FA8: .4byte 0x00001210
+
+ thumb_func_start sub_50FAC
+sub_50FAC: @ 0x08050FAC
+ push {lr}
+ ldr r0, _08050FCC @ =0x086B155C
+ ldr r2, _08050FD0 @ =gMain
+ ldrb r1, [r2, #4]
+ lsls r1, r1, #3
+ adds r1, r1, r0
+ ldr r0, [r1]
+ ldrh r1, [r1, #4]
+ movs r3, #0xbe
+ lsls r3, r3, #2
+ adds r2, r2, r3
+ bl LoadSpriteSets
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08050FCC: .4byte 0x086B155C
+_08050FD0: .4byte gMain
+
+ thumb_func_start sub_50FD4
+sub_50FD4: @ 0x08050FD4
+ push {r4, r5, r6, r7, lr}
+ movs r1, #0
+ ldr r2, _08051000 @ =gMain
+ ldr r0, _08051004 @ =0x086B155C
+ mov ip, r0
+ adds r6, r2, #0
+ movs r5, #0xb8
+ movs r4, #0xbe
+ lsls r4, r4, #2
+ movs r7, #1
+_08050FE8:
+ lsls r0, r1, #0x10
+ asrs r1, r0, #0x10
+ adds r3, r0, #0
+ cmp r1, #4
+ bgt _08051008
+ adds r0, r1, #0
+ muls r0, r5, r0
+ adds r0, r0, r6
+ adds r0, r0, r4
+ strh r7, [r0]
+ b _08051014
+ .align 2, 0
+_08051000: .4byte gMain
+_08051004: .4byte 0x086B155C
+_08051008:
+ adds r0, r1, #0
+ muls r0, r5, r0
+ adds r0, r0, r6
+ adds r0, r0, r4
+ movs r1, #0
+ strh r1, [r0]
+_08051014:
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r3, r1
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x1f
+ ble _08050FE8
+ ldr r0, [r2, #0x44]
+ ldr r0, [r0]
+ movs r1, #1
+ strh r1, [r0]
+ movs r3, #0xae
+ lsls r3, r3, #4
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ ldr r3, _08051064 @ =0x000017D0
+ adds r0, r2, r3
+ strh r1, [r0]
+ ldrb r1, [r2, #4]
+ lsls r1, r1, #3
+ add r1, ip
+ ldr r0, [r1]
+ ldrh r1, [r1, #4]
+ movs r3, #0xbe
+ lsls r3, r3, #2
+ adds r2, r2, r3
+ bl LoadSpriteSets
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08051064: .4byte 0x000017D0
+
+ thumb_func_start sub_51068
+sub_51068: @ 0x08051068
+ push {lr}
+ ldr r0, _08051088 @ =0x086B155C
+ ldr r2, _0805108C @ =gMain
+ ldrb r1, [r2, #4]
+ lsls r1, r1, #3
+ adds r1, r1, r0
+ ldr r0, [r1]
+ ldrh r1, [r1, #4]
+ movs r3, #0xbe
+ lsls r3, r3, #2
+ adds r2, r2, r3
+ bl LoadSpriteSets
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08051088: .4byte 0x086B155C
+_0805108C: .4byte gMain
+
+ thumb_func_start sub_51090
+sub_51090: @ 0x08051090
+ push {r4, r5, r6, r7, lr}
+ movs r1, #0
+ ldr r2, _080510BC @ =gMain
+ ldr r0, _080510C0 @ =0x086B155C
+ mov ip, r0
+ adds r6, r2, #0
+ movs r5, #0xb8
+ movs r4, #0xbe
+ lsls r4, r4, #2
+ movs r7, #1
+_080510A4:
+ lsls r0, r1, #0x10
+ asrs r1, r0, #0x10
+ adds r3, r0, #0
+ cmp r1, #4
+ bgt _080510C4
+ adds r0, r1, #0
+ muls r0, r5, r0
+ adds r0, r0, r6
+ adds r0, r0, r4
+ strh r7, [r0]
+ b _080510D0
+ .align 2, 0
+_080510BC: .4byte gMain
+_080510C0: .4byte 0x086B155C
+_080510C4:
+ adds r0, r1, #0
+ muls r0, r5, r0
+ adds r0, r0, r6
+ adds r0, r0, r4
+ movs r1, #0
+ strh r1, [r0]
+_080510D0:
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r3, r1
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x2d
+ ble _080510A4
+ ldr r0, [r2, #0x44]
+ ldr r0, [r0]
+ movs r1, #1
+ strh r1, [r0]
+ ldr r3, _08051120 @ =0x00002128
+ adds r0, r2, r3
+ strh r1, [r0]
+ movs r3, #0xae
+ lsls r3, r3, #4
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ ldr r3, _08051124 @ =0x00001210
+ adds r0, r2, r3
+ strh r1, [r0]
+ ldrb r1, [r2, #4]
+ lsls r1, r1, #3
+ add r1, ip
+ ldr r0, [r1]
+ ldrh r1, [r1, #4]
+ movs r3, #0xbe
+ lsls r3, r3, #2
+ adds r2, r2, r3
+ bl LoadSpriteSets
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08051120: .4byte 0x00002128
+_08051124: .4byte 0x00001210
+
+ thumb_func_start sub_51128
+sub_51128: @ 0x08051128
+ push {lr}
+ ldr r0, _08051148 @ =0x086B155C
+ ldr r2, _0805114C @ =gMain
+ ldrb r1, [r2, #4]
+ lsls r1, r1, #3
+ adds r1, r1, r0
+ ldr r0, [r1]
+ ldrh r1, [r1, #4]
+ movs r3, #0xbe
+ lsls r3, r3, #2
+ adds r2, r2, r3
+ bl LoadSpriteSets
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08051148: .4byte 0x086B155C
+_0805114C: .4byte gMain
+
+ thumb_func_start sub_51150
+sub_51150: @ 0x08051150
+ push {r4, r5, r6, r7, lr}
+ movs r1, #0
+ ldr r2, _0805117C @ =gMain
+ ldr r0, _08051180 @ =0x086B155C
+ mov ip, r0
+ adds r6, r2, #0
+ movs r5, #0xb8
+ movs r4, #0xbe
+ lsls r4, r4, #2
+ movs r7, #1
+_08051164:
+ lsls r0, r1, #0x10
+ asrs r1, r0, #0x10
+ adds r3, r0, #0
+ cmp r1, #4
+ bgt _08051184
+ adds r0, r1, #0
+ muls r0, r5, r0
+ adds r0, r0, r6
+ adds r0, r0, r4
+ strh r7, [r0]
+ b _08051190
+ .align 2, 0
+_0805117C: .4byte gMain
+_08051180: .4byte 0x086B155C
+_08051184:
+ adds r0, r1, #0
+ muls r0, r5, r0
+ adds r0, r0, r6
+ adds r0, r0, r4
+ movs r1, #0
+ strh r1, [r0]
+_08051190:
+ movs r1, #0x80
+ lsls r1, r1, #9
+ adds r0, r3, r1
+ lsrs r1, r0, #0x10
+ asrs r0, r0, #0x10
+ cmp r0, #0x16
+ ble _08051164
+ ldr r0, [r2, #0x44]
+ ldr r0, [r0]
+ movs r1, #1
+ strh r1, [r0]
+ ldr r3, _080511EC @ =0x00000FE8
+ adds r0, r2, r3
+ strh r1, [r0]
+ ldr r3, _080511F0 @ =0x00001210
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ ldr r3, _080511F4 @ =0x00000D08
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ adds r3, #0xb8
+ adds r0, r2, r3
+ strh r1, [r0]
+ ldrb r1, [r2, #4]
+ lsls r1, r1, #3
+ add r1, ip
+ ldr r0, [r1]
+ ldrh r1, [r1, #4]
+ movs r3, #0xbe
+ lsls r3, r3, #2
+ adds r2, r2, r3
+ bl LoadSpriteSets
+ pop {r4, r5, r6, r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080511EC: .4byte 0x00000FE8
+_080511F0: .4byte 0x00001210
+_080511F4: .4byte 0x00000D08
+
+ thumb_func_start sub_511F8
+sub_511F8: @ 0x080511F8
+ push {lr}
+ ldr r0, _08051218 @ =0x086B155C
+ ldr r2, _0805121C @ =gMain
+ ldrb r1, [r2, #4]
+ lsls r1, r1, #3
+ adds r1, r1, r0
+ ldr r0, [r1]
+ ldrh r1, [r1, #4]
+ movs r3, #0xbe
+ lsls r3, r3, #2
+ adds r2, r2, r3
+ bl LoadSpriteSets
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08051218: .4byte 0x086B155C
+_0805121C: .4byte gMain
diff --git a/include/constants/species.h b/include/constants/species.h
index 59f9ff2..7fc56bf 100755
--- a/include/constants/species.h
+++ b/include/constants/species.h
@@ -208,4 +208,6 @@
#define SPECIES_AERODACTYL 0xCC
#define SPECIES_NONE 0xCD
+#define BONUS_SPECIES_START SPECIES_CHIKORITA
+
#endif // GUARD_CONSTANTS_SPECIES_H
diff --git a/include/global.h b/include/global.h
index e7132a4..16b8e51 100755
--- a/include/global.h
+++ b/include/global.h
@@ -56,4 +56,32 @@
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) >= (b) ? (a) : (b))
+struct PinballGame
+{
+ /*0x000*/ u8 filler0[0x35];
+ /*0x035*/ s8 area;
+ /*0x036*/ u8 filler36[0xF5];
+ /*0x12B*/ s8 unk12B;
+ /*0x12C*/ u8 filler12C[0x2];
+ /*0x12E*/ s16 unk12E;
+ /*0x130*/ s16 unk130[8];
+ /*0x140*/ u8 filler140[0x458];
+ /*0x598*/ u16 catchModeSpecies;
+ /*0x59A*/ u8 filler59A[0x2];
+ /*0x59C*/ u16 unk59C;
+ /*0x59E*/ u8 filler59E[0x52];
+ /*0x5F0*/ u16 unk5F0;
+ /*0x5F2*/ u8 filler5F2[0x14B];
+ /*0x73D*/ s8 unk73D;
+};
+
+struct Unk02031520
+{
+ /*0x0*/ u8 filler0[0x8];
+ /*0x8*/ s16 unk8;
+};
+
+extern struct PinballGame *gUnknown_020314E0;
+extern struct Unk02031520 gUnknown_02031520;
+
#endif // GUARD_GLOBAL_H
diff --git a/include/main.h b/include/main.h
index e27249d..df03d5d 100755
--- a/include/main.h
+++ b/include/main.h
@@ -42,7 +42,11 @@ struct Main
/*0x00*/ u8 filler0[0x2];
/*0x02*/ u8 mainState;
/*0x03*/ u8 subState;
- /*0x04*/ u8 filler4[0x9];
+ /*0x04*/ u8 unk4;
+ /*0x05*/ u8 filler5[0x2];
+ /*0x07*/ s8 unk7;
+ /*0x08*/ s8 unk8;
+ /*0x09*/ u8 filler9[0x4];
/*0x0D*/ u8 unkD;
/*0x0E*/ u8 fillerE[0x1];
/*0x0F*/ u8 unkF;
@@ -73,19 +77,16 @@ struct Main
/*0x48*/ int rngValue;
/*0x4C*/ int unk4C;
/*0x50*/ int unk50;
- /*0x54*/ u8 filler54[0x294];
+ /*0x54*/ u8 filler54[0x20];
+ /*0x74*/ u8 pokedexFlags[204];
+ /*0x140*/ u8 filler140[0x1A8];
/*0x2E8*/ struct MainUnk2E8 unk2E8[4];
/*0x2F8*/ struct SpriteGroup spriteGroups[NUM_SPRITE_GROUPS];
};
-struct Unk0200B134
-{
- /*0x00*/ u8 filler0[0xCD];
- /*0xCD*/ u8 unkCD;
-};
extern struct Main gMain;
-extern struct Unk0200B134 gUnknown_0200B134;
+extern u8 gUnknown_0200B134[];
extern struct SpriteGroup gUnknown_0200B3B8[];
extern u32 IntrMain_Buffer[0x200];
extern u32 IntrMain[];
@@ -120,6 +121,7 @@ void sub_2B4(void);
void sub_490(void);
void sub_518(void);
void sub_578(void);
+u32 Random(void);
void sub_CBC(void);
void sub_D10(void);
void sub_D74(void);
diff --git a/ld_script.txt b/ld_script.txt
index 04c2f6a..f939164 100755
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -42,6 +42,8 @@ SECTIONS
src/titlescreen.o(.text);
asm/titlescreen.o(.text);
asm/rom_11B9C.o(.text);
+ src/rom_3219C.o(.text);
+ asm/rom_3219C.o(.text);
asm/options.o(.text);
asm/rom_528AC.o(.text);
asm/m4a_1.o(.text);
diff --git a/src/gbplayer.c b/src/gbplayer.c
index 3b74f5b..5e4ad19 100755
--- a/src/gbplayer.c
+++ b/src/gbplayer.c
@@ -303,7 +303,7 @@ void sub_1198(void)
void sub_11B0(int arg0)
{
- if (gUnknown_0200B134.unkCD)
+ if (gUnknown_0200B134[0xCD])
{
gUnknown_02019BF8 = arg0;
gUnknown_02019BFC = 0;
diff --git a/src/main.c b/src/main.c
index fb287b2..62b6b14 100755
--- a/src/main.c
+++ b/src/main.c
@@ -187,7 +187,7 @@ static void InitIntrHandlers(void)
// The number 1103515245 comes from the example implementation of rand and srand
// in the ISO C standard.
-int Random(void)
+u32 Random(void)
{
gMain.rngValue = 1103515245 * gMain.rngValue + 12345;
return gMain.rngValue & 0xFFFF;
diff --git a/src/rom_3219C.c b/src/rom_3219C.c
new file mode 100755
index 0000000..6954fbe
--- /dev/null
+++ b/src/rom_3219C.c
@@ -0,0 +1,492 @@
+#include "global.h"
+#include "main.h"
+#include "constants/species.h"
+
+extern const u16 gWildMonLocations[][2][8];
+
+#ifdef NONMATCHING // can't get the loop in the first if condition
+void sub_3219C(void)
+{
+ s16 i;
+ u32 rand;
+ u16 specialMons[6];
+
+ if (gMain.unk7)
+ {
+
+ gMain.unk7 = 0;
+ rand = gMain.unk4C + gMain.unk50 + Random();
+ rand %= 4;
+ i = 0;
+ while (i < 4)
+ {
+ if (gMain.pokedexFlags[BONUS_SPECIES_START + ((i + rand) % 4)] < 4)
+ i++;
+ else
+ break;
+ }
+
+ gUnknown_020314E0->catchModeSpecies = BONUS_SPECIES_START + ((i + rand) % 4);
+ }
+ else
+ {
+ rand = gMain.unk4C + gMain.unk50 + Random();
+ if (gMain.unk8)
+ rand %= 50;
+ else
+ rand %= 100;
+
+ if (gUnknown_02031520.unk8 < 100)
+ rand = 1;
+
+ if ((rand == 0 && gUnknown_020314E0->unk5F0 > 4) || gUnknown_020314E0->unk12B)
+ {
+ s16 numSpecialMons = 0;
+ gUnknown_020314E0->catchModeSpecies = 0;
+ if (gUnknown_0200B134[SPECIES_AERODACTYL])
+ {
+ specialMons[numSpecialMons++] = SPECIES_AERODACTYL;
+ if (gUnknown_0200B134[SPECIES_AERODACTYL] < 4)
+ gUnknown_020314E0->catchModeSpecies = SPECIES_AERODACTYL;
+ }
+
+ if (gUnknown_0200B134[SPECIES_CHIKORITA])
+ {
+ specialMons[numSpecialMons++] = SPECIES_CHIKORITA;
+ if (gUnknown_0200B134[SPECIES_CHIKORITA] < 4)
+ gUnknown_020314E0->catchModeSpecies = SPECIES_CHIKORITA;
+ }
+
+ if (gUnknown_0200B134[SPECIES_TOTODILE])
+ {
+ specialMons[numSpecialMons++] = SPECIES_TOTODILE;
+ if (gUnknown_0200B134[SPECIES_TOTODILE] < 4)
+ gUnknown_020314E0->catchModeSpecies = SPECIES_TOTODILE;
+ }
+
+ if (gUnknown_0200B134[SPECIES_CYNDAQUIL])
+ {
+ specialMons[numSpecialMons++] = SPECIES_CYNDAQUIL;
+ if (gUnknown_0200B134[SPECIES_CYNDAQUIL] < 4)
+ gUnknown_020314E0->catchModeSpecies = SPECIES_CYNDAQUIL;
+ }
+
+ if (gMain.unk4 == 0)
+ {
+ specialMons[numSpecialMons++] = SPECIES_LATIOS;
+ if (gMain.pokedexFlags[SPECIES_LATIOS] < 4)
+ gUnknown_020314E0->catchModeSpecies = SPECIES_LATIOS;
+ }
+ else
+ {
+ specialMons[numSpecialMons++] = SPECIES_LATIAS;
+ if (gMain.pokedexFlags[SPECIES_LATIAS] < 4)
+ gUnknown_020314E0->catchModeSpecies = SPECIES_LATIAS;
+ }
+
+ if (!gUnknown_020314E0->catchModeSpecies)
+ {
+ rand = gMain.unk4C + gMain.unk50 + Random();
+ rand %= numSpecialMons;
+ gUnknown_020314E0->catchModeSpecies = specialMons[rand];
+ }
+ }
+ else
+ {
+ s16 rareMons;
+ if (gUnknown_020314E0->unk73D == 3)
+ rareMons = 1;
+ else
+ rareMons = 0;
+
+ rand = gMain.unk4C + gMain.unk50 + Random();
+ rand %= gUnknown_020314E0->unk12E;
+ for (i = 0; i < 8 && gUnknown_020314E0->unk130[i] <= rand; i++) {}
+
+ gUnknown_020314E0->catchModeSpecies = gWildMonLocations[gUnknown_020314E0->area][rareMons][i];
+ }
+ }
+
+ gUnknown_020314E0->unk59C = gUnknown_020314E0->catchModeSpecies;
+}
+#else
+NAKED
+void sub_3219C(void)
+{
+ asm_unified("\n\
+ push {r4, r5, r6, r7, lr}\n\
+ sub sp, #0xc\n\
+ ldr r4, _080321C8 @ =gMain\n\
+ movs r0, #7\n\
+ ldrsb r0, [r4, r0]\n\
+ cmp r0, #0\n\
+ beq _08032208\n\
+ movs r0, #0\n\
+ strb r0, [r4, #7]\n\
+ bl Random\n\
+ ldr r1, [r4, #0x4c]\n\
+ ldr r2, [r4, #0x50]\n\
+ adds r1, r1, r2\n\
+ adds r3, r0, r1\n\
+ movs r1, #3\n\
+ ands r3, r1\n\
+ movs r5, #0\n\
+ adds r2, r4, #0\n\
+ adds r2, #0x74\n\
+ adds r0, r3, #0\n\
+ b _080321DE\n\
+ .align 2, 0\n\
+_080321C8: .4byte gMain\n\
+_080321CC:\n\
+ lsls r0, r5, #0x10\n\
+ movs r4, #0x80\n\
+ lsls r4, r4, #9\n\
+ adds r0, r0, r4\n\
+ lsrs r5, r0, #0x10\n\
+ asrs r0, r0, #0x10\n\
+ cmp r0, #3\n\
+ bgt _080321EA\n\
+ adds r0, r0, r3\n\
+_080321DE:\n\
+ ands r0, r1\n\
+ adds r0, #0xc9\n\
+ adds r0, r0, r2\n\
+ ldrb r0, [r0]\n\
+ cmp r0, #3\n\
+ bhi _080321CC\n\
+_080321EA:\n\
+ ldr r0, _08032204 @ =gUnknown_020314E0\n\
+ ldr r2, [r0]\n\
+ lsls r0, r5, #0x10\n\
+ asrs r0, r0, #0x10\n\
+ adds r0, r0, r3\n\
+ movs r1, #3\n\
+ ands r0, r1\n\
+ adds r0, #0xc9\n\
+ movs r1, #0xb3\n\
+ lsls r1, r1, #3\n\
+ adds r2, r2, r1\n\
+ b _08032452\n\
+ .align 2, 0\n\
+_08032204: .4byte gUnknown_020314E0\n\
+_08032208:\n\
+ bl Random\n\
+ ldr r1, [r4, #0x4c]\n\
+ ldr r2, [r4, #0x50]\n\
+ adds r1, r1, r2\n\
+ adds r3, r0, r1\n\
+ movs r0, #8\n\
+ ldrsb r0, [r4, r0]\n\
+ cmp r0, #0\n\
+ beq _08032222\n\
+ adds r0, r3, #0\n\
+ movs r1, #0x32\n\
+ b _08032226\n\
+_08032222:\n\
+ adds r0, r3, #0\n\
+ movs r1, #0x64\n\
+_08032226:\n\
+ bl __umodsi3\n\
+ adds r3, r0, #0\n\
+ ldr r0, _08032338 @ =gUnknown_02031520\n\
+ movs r2, #8\n\
+ ldrsh r0, [r0, r2]\n\
+ cmp r0, #0x63\n\
+ bgt _08032238\n\
+ movs r3, #1\n\
+_08032238:\n\
+ ldr r7, _0803233C @ =gUnknown_020314E0\n\
+ cmp r3, #0\n\
+ bne _0803224C\n\
+ ldr r0, [r7]\n\
+ movs r3, #0xbe\n\
+ lsls r3, r3, #3\n\
+ adds r0, r0, r3\n\
+ ldrh r0, [r0]\n\
+ cmp r0, #4\n\
+ bhi _0803225E\n\
+_0803224C:\n\
+ ldr r1, [r7]\n\
+ ldr r4, _08032340 @ =0x0000012B\n\
+ adds r0, r1, r4\n\
+ ldrb r0, [r0]\n\
+ lsls r0, r0, #0x18\n\
+ asrs r0, r0, #0x18\n\
+ cmp r0, #0\n\
+ bne _0803225E\n\
+ b _080323C0\n\
+_0803225E:\n\
+ movs r4, #0\n\
+ ldr r0, [r7]\n\
+ movs r1, #0xb3\n\
+ lsls r1, r1, #3\n\
+ adds r3, r0, r1\n\
+ strh r4, [r3]\n\
+ ldr r1, _08032344 @ =0x0200B134\n\
+ adds r0, r1, #0\n\
+ adds r0, #0xcc\n\
+ ldrb r2, [r0]\n\
+ adds r5, r1, #0\n\
+ cmp r2, #0\n\
+ beq _08032286\n\
+ movs r4, #1\n\
+ mov r0, sp\n\
+ movs r1, #0xcc\n\
+ strh r1, [r0]\n\
+ cmp r2, #3\n\
+ bhi _08032286\n\
+ strh r1, [r3]\n\
+_08032286:\n\
+ adds r0, r5, #0\n\
+ adds r0, #0xc9\n\
+ ldrb r2, [r0]\n\
+ cmp r2, #0\n\
+ beq _080322B4\n\
+ adds r0, r4, #0\n\
+ lsls r1, r0, #0x10\n\
+ movs r3, #0x80\n\
+ lsls r3, r3, #9\n\
+ adds r1, r1, r3\n\
+ lsrs r4, r1, #0x10\n\
+ lsls r0, r0, #0x10\n\
+ asrs r0, r0, #0xf\n\
+ add r0, sp\n\
+ movs r1, #0xc9\n\
+ strh r1, [r0]\n\
+ cmp r2, #3\n\
+ bhi _080322B4\n\
+ ldr r0, [r7]\n\
+ movs r2, #0xb3\n\
+ lsls r2, r2, #3\n\
+ adds r0, r0, r2\n\
+ strh r1, [r0]\n\
+_080322B4:\n\
+ adds r0, r5, #0\n\
+ adds r0, #0xcb\n\
+ ldrb r2, [r0]\n\
+ cmp r2, #0\n\
+ beq _080322E2\n\
+ adds r0, r4, #0\n\
+ lsls r1, r0, #0x10\n\
+ movs r3, #0x80\n\
+ lsls r3, r3, #9\n\
+ adds r1, r1, r3\n\
+ lsrs r4, r1, #0x10\n\
+ lsls r0, r0, #0x10\n\
+ asrs r0, r0, #0xf\n\
+ add r0, sp\n\
+ movs r1, #0xcb\n\
+ strh r1, [r0]\n\
+ cmp r2, #3\n\
+ bhi _080322E2\n\
+ ldr r0, [r7]\n\
+ movs r2, #0xb3\n\
+ lsls r2, r2, #3\n\
+ adds r0, r0, r2\n\
+ strh r1, [r0]\n\
+_080322E2:\n\
+ adds r0, r5, #0\n\
+ adds r0, #0xca\n\
+ ldrb r2, [r0]\n\
+ cmp r2, #0\n\
+ beq _08032310\n\
+ adds r0, r4, #0\n\
+ lsls r1, r0, #0x10\n\
+ movs r3, #0x80\n\
+ lsls r3, r3, #9\n\
+ adds r1, r1, r3\n\
+ lsrs r4, r1, #0x10\n\
+ lsls r0, r0, #0x10\n\
+ asrs r0, r0, #0xf\n\
+ add r0, sp\n\
+ movs r1, #0xca\n\
+ strh r1, [r0]\n\
+ cmp r2, #3\n\
+ bhi _08032310\n\
+ ldr r0, [r7]\n\
+ movs r2, #0xb3\n\
+ lsls r2, r2, #3\n\
+ adds r0, r0, r2\n\
+ strh r1, [r0]\n\
+_08032310:\n\
+ ldr r2, _08032348 @ =gMain\n\
+ ldrb r0, [r2, #4]\n\
+ cmp r0, #0\n\
+ bne _0803234C\n\
+ adds r1, r4, #0\n\
+ lsls r0, r1, #0x10\n\
+ movs r3, #0x80\n\
+ lsls r3, r3, #9\n\
+ adds r0, r0, r3\n\
+ lsrs r4, r0, #0x10\n\
+ lsls r1, r1, #0x10\n\
+ asrs r1, r1, #0xf\n\
+ mov r3, sp\n\
+ adds r0, r3, r1\n\
+ movs r1, #0xc4\n\
+ strh r1, [r0]\n\
+ movs r3, #0x9c\n\
+ lsls r3, r3, #1\n\
+ b _08032366\n\
+ .align 2, 0\n\
+_08032338: .4byte gUnknown_02031520\n\
+_0803233C: .4byte gUnknown_020314E0\n\
+_08032340: .4byte 0x0000012B\n\
+_08032344: .4byte 0x0200B134\n\
+_08032348: .4byte gMain\n\
+_0803234C:\n\
+ adds r1, r4, #0\n\
+ lsls r0, r1, #0x10\n\
+ movs r3, #0x80\n\
+ lsls r3, r3, #9\n\
+ adds r0, r0, r3\n\
+ lsrs r4, r0, #0x10\n\
+ lsls r1, r1, #0x10\n\
+ asrs r1, r1, #0xf\n\
+ mov r3, sp\n\
+ adds r0, r3, r1\n\
+ movs r1, #0xc3\n\
+ strh r1, [r0]\n\
+ ldr r3, _080323B4 @ =0x00000137\n\
+_08032366:\n\
+ adds r0, r2, r3\n\
+ ldrb r0, [r0]\n\
+ cmp r0, #3\n\
+ bhi _08032378\n\
+ ldr r0, [r7]\n\
+ movs r2, #0xb3\n\
+ lsls r2, r2, #3\n\
+ adds r0, r0, r2\n\
+ strh r1, [r0]\n\
+_08032378:\n\
+ ldr r5, _080323B8 @ =gUnknown_020314E0\n\
+ ldr r0, [r5]\n\
+ movs r3, #0xb3\n\
+ lsls r3, r3, #3\n\
+ adds r0, r0, r3\n\
+ ldrh r0, [r0]\n\
+ cmp r0, #0\n\
+ bne _08032454\n\
+ bl Random\n\
+ ldr r2, _080323BC @ =gMain\n\
+ ldr r1, [r2, #0x4c]\n\
+ ldr r2, [r2, #0x50]\n\
+ adds r1, r1, r2\n\
+ adds r3, r0, r1\n\
+ lsls r1, r4, #0x10\n\
+ asrs r1, r1, #0x10\n\
+ adds r0, r3, #0\n\
+ bl __umodsi3\n\
+ adds r3, r0, #0\n\
+ ldr r1, [r5]\n\
+ lsls r0, r3, #1\n\
+ add r0, sp\n\
+ ldrh r0, [r0]\n\
+ movs r4, #0xb3\n\
+ lsls r4, r4, #3\n\
+ adds r1, r1, r4\n\
+ strh r0, [r1]\n\
+ b _08032454\n\
+ .align 2, 0\n\
+_080323B4: .4byte 0x00000137\n\
+_080323B8: .4byte gUnknown_020314E0\n\
+_080323BC: .4byte gMain\n\
+_080323C0:\n\
+ ldr r2, _08032470 @ =0x0000073D\n\
+ adds r0, r1, r2\n\
+ ldrb r0, [r0]\n\
+ lsls r0, r0, #0x18\n\
+ asrs r0, r0, #0x18\n\
+ movs r6, #0\n\
+ cmp r0, #3\n\
+ bne _080323D2\n\
+ movs r6, #1\n\
+_080323D2:\n\
+ bl Random\n\
+ ldr r2, _08032474 @ =gMain\n\
+ ldr r1, [r2, #0x4c]\n\
+ ldr r2, [r2, #0x50]\n\
+ adds r1, r1, r2\n\
+ adds r3, r0, r1\n\
+ ldr r4, [r7]\n\
+ movs r1, #0x97\n\
+ lsls r1, r1, #1\n\
+ adds r0, r4, r1\n\
+ movs r2, #0\n\
+ ldrsh r1, [r0, r2]\n\
+ adds r0, r3, #0\n\
+ bl __umodsi3\n\
+ adds r3, r0, #0\n\
+ movs r5, #0\n\
+ movs r1, #0x98\n\
+ lsls r1, r1, #1\n\
+ adds r0, r4, r1\n\
+ movs r2, #0\n\
+ ldrsh r0, [r0, r2]\n\
+ lsls r6, r6, #0x10\n\
+ cmp r0, r3\n\
+ bhi _0803242A\n\
+ adds r4, r7, #0\n\
+ adds r2, r1, #0\n\
+_0803240A:\n\
+ lsls r0, r5, #0x10\n\
+ movs r1, #0x80\n\
+ lsls r1, r1, #9\n\
+ adds r0, r0, r1\n\
+ lsrs r5, r0, #0x10\n\
+ asrs r1, r0, #0x10\n\
+ cmp r1, #7\n\
+ bgt _0803242A\n\
+ ldr r0, [r4]\n\
+ lsls r1, r1, #1\n\
+ adds r0, r0, r2\n\
+ adds r0, r0, r1\n\
+ movs r1, #0\n\
+ ldrsh r0, [r0, r1]\n\
+ cmp r0, r3\n\
+ bls _0803240A\n\
+_0803242A:\n\
+ ldr r0, _08032478 @ =gUnknown_020314E0\n\
+ ldr r2, [r0]\n\
+ ldr r3, _0803247C @ =gWildMonLocations\n\
+ lsls r1, r5, #0x10\n\
+ asrs r1, r1, #0xf @ r1 = i * 2\n\
+ asrs r0, r6, #0x10\n\
+ lsls r0, r0, #4 @ r0 = rareMons * 16\n\
+ adds r1, r1, r0 @ r1 = [rareMons][i]\n\
+ adds r0, r2, #0\n\
+ adds r0, #0x35\n\
+ ldrb r0, [r0]\n\
+ lsls r0, r0, #0x18\n\
+ asrs r0, r0, #0x18\n\
+ lsls r0, r0, #5\n\
+ adds r1, r1, r0\n\
+ adds r1, r1, r3\n\
+ ldrh r0, [r1]\n\
+ movs r3, #0xb3\n\
+ lsls r3, r3, #3\n\
+ adds r2, r2, r3\n\
+_08032452:\n\
+ strh r0, [r2]\n\
+_08032454:\n\
+ ldr r0, _08032478 @ =gUnknown_020314E0\n\
+ ldr r0, [r0]\n\
+ movs r4, #0xb3\n\
+ lsls r4, r4, #3\n\
+ adds r1, r0, r4\n\
+ ldrh r1, [r1]\n\
+ ldr r2, _08032480 @ =0x0000059C\n\
+ adds r0, r0, r2\n\
+ strh r1, [r0]\n\
+ add sp, #0xc\n\
+ pop {r4, r5, r6, r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_08032470: .4byte 0x0000073D\n\
+_08032474: .4byte gMain\n\
+_08032478: .4byte gUnknown_020314E0\n\
+_0803247C: .4byte gWildMonLocations\n\
+_08032480: .4byte 0x0000059C");
+}
+#endif // NONMATCHING
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 3cfe8b9..e3060f6 100755
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -149,7 +149,16 @@ gUnknown_202BE24: @ 0x202BE24
gUnknown_0202C588: @ 0x202C588
- .space 0x55A8
+ .space 0x4F58
+
+gUnknown_020314E0: @ 0x20314E0
+ .space 0x4
+
+ .space 0x3C
+
+gUnknown_02031520: @ 0x2031520
+
+ .space 0x610
gSoundInfo: @ 0x2031B30