diff options
author | Marcus Huderle <huderlem@gmail.com> | 2018-10-24 18:16:57 -0500 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2018-10-24 18:16:57 -0500 |
commit | c427a4af00fa46f33f7167977ea834218c37cfa8 (patch) | |
tree | 1e9d010ba004d4296935618cf4d915bb66dedc7f | |
parent | 41baa271c3fff795ee7ffa16d756ae427e5b792c (diff) |
Attempt to decompile sub_3219C
-rwxr-xr-x | asm/rom_11B9C.s | 63570 | ||||
-rwxr-xr-x | asm/rom_3219C.s | 60373 | ||||
-rwxr-xr-x | include/constants/species.h | 2 | ||||
-rwxr-xr-x | include/global.h | 28 | ||||
-rwxr-xr-x | include/main.h | 18 | ||||
-rwxr-xr-x | ld_script.txt | 2 | ||||
-rwxr-xr-x | src/gbplayer.c | 2 | ||||
-rwxr-xr-x | src/main.c | 2 | ||||
-rwxr-xr-x | src/rom_3219C.c | 492 | ||||
-rwxr-xr-x | sym_ewram.txt | 11 |
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; @@ -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 |